profile-viewer 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/dist/AssemblyView-codemirror-D6IBMDRW.js +3 -0
- data/dist/AssemblyView-codemirror-D6IBMDRW.js.map +7 -0
- data/dist/SourceView-codemirror-NF5HZACX.js +14 -0
- data/dist/SourceView-codemirror-NF5HZACX.js.map +7 -0
- data/dist/_headers +1 -4
- data/dist/chunk-46YDEKKM.js +2 -0
- data/dist/chunk-46YDEKKM.js.map +7 -0
- data/dist/chunk-6K4OT4SN.js +11 -0
- data/dist/chunk-6K4OT4SN.js.map +7 -0
- data/dist/chunk-FQFFJJVU.js +2 -0
- data/dist/chunk-FQFFJJVU.js.map +7 -0
- data/dist/chunk-JZQU3SPI.js +2 -0
- data/dist/chunk-JZQU3SPI.js.map +7 -0
- data/dist/chunk-RMHNU7HN.js +2 -0
- data/dist/chunk-RMHNU7HN.js.map +7 -0
- data/dist/contribute.json +1 -1
- data/dist/docs/css/vue_v4.13.1.min.css +1 -0
- data/dist/docs/guide-filtering-call-trees.md +12 -0
- data/dist/docs/guide-ui-tour-panels.md +16 -1
- data/dist/docs/index.html +5 -6
- data/dist/docs/js/docsify_v4.13.1+.min.js +1 -0
- data/dist/docs/js/init.js +11 -1
- data/dist/docs/js/search_v4.13.1+.min.js +1 -0
- data/dist/gecko-profiler-demangle-3UYO3F2Y.js +2 -0
- data/dist/gecko-profiler-demangle-3UYO3F2Y.js.map +7 -0
- data/dist/gz.worker-C7QSA26N.js +38 -0
- data/dist/index-CZ7T6DL2.css +2 -0
- data/dist/index-CZ7T6DL2.css.map +7 -0
- data/dist/index-P5VLDZC7.js +381 -0
- data/dist/index-P5VLDZC7.js.map +7 -0
- data/dist/index.html +38 -1
- data/dist/index_bg-FTIMKZRG.wasm +0 -0
- data/dist/jszip.min-JBI6ADTT.js +18 -0
- data/dist/jszip.min-JBI6ADTT.js.map +7 -0
- data/dist/locales/be/app.ftl +50 -11
- data/dist/locales/de/app.ftl +114 -16
- data/dist/locales/el/app.ftl +135 -42
- data/dist/locales/en-CA/app.ftl +97 -11
- data/dist/locales/en-GB/app.ftl +114 -16
- data/dist/locales/en-US/app.ftl +116 -1
- data/dist/locales/es-CL/app.ftl +105 -15
- data/dist/locales/fr/app.ftl +82 -16
- data/dist/locales/fur/app.ftl +35 -11
- data/dist/locales/fy-NL/app.ftl +114 -16
- data/dist/locales/ia/app.ftl +118 -19
- data/dist/locales/it/app.ftl +108 -16
- data/dist/locales/kab/app.ftl +6 -80
- data/dist/locales/nl/app.ftl +114 -16
- data/dist/locales/pt-BR/app.ftl +104 -16
- data/dist/locales/ru/app.ftl +116 -23
- data/dist/locales/sv-SE/app.ftl +114 -16
- data/dist/locales/tr/app.ftl +149 -13
- data/dist/locales/uk/app.ftl +27 -19
- data/dist/locales/zh-CN/app.ftl +75 -13
- data/dist/locales/zh-TW/app.ftl +100 -14
- data/dist/photon/index.css +2 -0
- data/dist/photon/index.css.map +7 -0
- data/dist/photon/index.html +856 -26
- data/dist/photon/index.js +1 -0
- data/dist/photon/index.js.map +7 -0
- data/dist/service-worker-compat.js +51 -1
- data/dist/simpleperf-UUIE7C7E.js +25 -0
- data/dist/simpleperf-UUIE7C7E.js.map +7 -0
- data/dist/sw.js +1 -1
- data/dist/sw.js.map +1 -1
- data/dist/{workbox-e3490c72.js → workbox-1ef09536.js} +2 -2
- data/dist/workbox-1ef09536.js.map +1 -0
- data/ruby-bin/profile-viewer +48 -40
- data/ruby-bin/profile-viewer-version.rb +1 -1
- metadata +56 -103
- data/dist/022efb839d22fa54a716.svg +0 -28
- data/dist/029b9e4fd0218d7b09c6.svg +0 -8
- data/dist/0c510afd6169a0a83f97.svg +0 -14
- data/dist/0d5cf282780cd1a5ec64.svg +0 -8
- data/dist/118632062f4755918dac.svg +0 -4
- data/dist/11c5dca6d97c9e10e5b7.svg +0 -9
- data/dist/136.ad4176dc2a8e5cf33ef3.bundle.js +0 -2
- data/dist/136.ad4176dc2a8e5cf33ef3.bundle.js.map +0 -1
- data/dist/171.37d1e1824587d8df0ae2.bundle.js +0 -2
- data/dist/171.37d1e1824587d8df0ae2.bundle.js.map +0 -1
- data/dist/18e7fdd45099134897d2.svg +0 -8
- data/dist/1ddbc3ce40af8c7a648b.svg +0 -6
- data/dist/234ed61ab185caff67e3.svg +0 -8
- data/dist/280.4edd20bd6228986bbf2e.bundle.js +0 -2
- data/dist/280.4edd20bd6228986bbf2e.bundle.js.map +0 -1
- data/dist/2d4b477bc424d35a0245.svg +0 -25
- data/dist/2e43ad991eb141fc017f.svg +0 -9
- data/dist/2ea5b50b7361e6de561c.svg +0 -11
- data/dist/2f37d1addc2d2f5b699e.module.wasm +0 -0
- data/dist/31fe933f3a12be1aa7f3.svg +0 -4
- data/dist/390aa266f451c1005f61.svg +0 -10
- data/dist/3a829bf1fcf02598aa4b.svg +0 -6
- data/dist/3c3fda7c08bcc9544c64.svg +0 -6
- data/dist/4260d5db8309a6f83637.svg +0 -10
- data/dist/4536fd0738f36c3463bc.svg +0 -1
- data/dist/490065792b7e903c9f3e.svg +0 -6
- data/dist/49da6a2153f62ef73d17.svg +0 -7
- data/dist/4ecb077d8715f89c0f87.svg +0 -13
- data/dist/524e896f487119a0b832.svg +0 -13
- data/dist/556.b8d3d4d402ced081615a.bundle.js +0 -2
- data/dist/556.b8d3d4d402ced081615a.bundle.js.map +0 -1
- data/dist/6bd0589a27236471fdab.svg +0 -4
- data/dist/6c6b49af3a86dfdd44e6.svg +0 -4
- data/dist/6c8063be3afa1d95c902.svg +0 -3
- data/dist/71730566d6c47ffdc965.svg +0 -12
- data/dist/7273fadce89da05535e5.svg +0 -4
- data/dist/731673c749e57bf6f544.svg +0 -13
- data/dist/76e5b29823c9fd62d90d.svg +0 -3
- data/dist/7853c71223701f30d495.svg +0 -19
- data/dist/79856ce399cb305fafb8.svg +0 -19
- data/dist/7c7ac3c7df370340cfd2.svg +0 -7
- data/dist/7e3ac9afb25cfe809520.svg +0 -1
- data/dist/81762b0b1aacd3686a6b.svg +0 -12
- data/dist/86e81402ef76d28ff55f.svg +0 -15
- data/dist/874.7cb94ee0732c5a2ca826.bundle.js +0 -2
- data/dist/874.7cb94ee0732c5a2ca826.bundle.js.map +0 -1
- data/dist/8846b19a497771fe0e9d.svg +0 -4
- data/dist/8aae7b979b04407f71a4.svg +0 -3
- data/dist/8b8b909e42722172d494.svg +0 -7
- data/dist/8dab2a6ba757bcc6e9a5.svg +0 -3
- data/dist/9103e94f1d34c15d44be.svg +0 -6
- data/dist/957.2f40be4cef3037bc352b.bundle.js +0 -3
- data/dist/957.2f40be4cef3037bc352b.bundle.js.LICENSE.txt +0 -19
- data/dist/957.2f40be4cef3037bc352b.bundle.js.map +0 -1
- data/dist/999.a1119c25d77e1883c1e1.bundle.js +0 -2
- data/dist/999.a1119c25d77e1883c1e1.bundle.js.map +0 -1
- data/dist/9a7bd6ec36312a2baa7e.svg +0 -1
- data/dist/9d858d1a3ab57f8ee2e1.svg +0 -4
- data/dist/9eb1fab2684d1e1f0e26.svg +0 -13
- data/dist/a3196e840709b18a3119.svg +0 -1
- data/dist/aa867391c311267af5a9.svg +0 -4
- data/dist/acb8393f3fb9c59b15c9.svg +0 -20
- data/dist/b5698a02eef37ce29146.svg +0 -10
- data/dist/c3432220f657733ed05f.svg +0 -10
- data/dist/ca2af827049e9039ef9c.svg +0 -8
- data/dist/d09537c705fb0878eb63.svg +0 -4
- data/dist/d6df0017c0241dfe86ff.svg +0 -6
- data/dist/d9c199b3e3e469cc5713.svg +0 -10
- data/dist/da1f21c60c7217745dd8.svg +0 -1
- data/dist/docs/gitpod.md +0 -34
- data/dist/docs/js/docsify_v4.12.2+.min.js +0 -1
- data/dist/docs/js/ga_v4.12.2.min.js +0 -1
- data/dist/docs/js/search_v4.12.2.min.js +0 -1
- data/dist/e4ed50222911c5af9a32.svg +0 -12
- data/dist/e70722c0fe0ac3d4227b.svg +0 -10
- data/dist/f8e25c2ebeb0a0725a9e.svg +0 -12
- data/dist/fcb532a05dd4b09c2d08.svg +0 -10
- data/dist/fd040fb5f4e7a515bb3c.svg +0 -15
- data/dist/main.6cdc9308b67c00785584.bundle.js +0 -198
- data/dist/main.6cdc9308b67c00785584.bundle.js.LICENSE.txt +0 -63
- data/dist/main.6cdc9308b67c00785584.bundle.js.map +0 -1
- data/dist/photon/118632062f4755918dac.svg +0 -4
- data/dist/photon/31fe933f3a12be1aa7f3.svg +0 -4
- data/dist/photon/49da6a2153f62ef73d17.svg +0 -7
- data/dist/photon/6bd0589a27236471fdab.svg +0 -4
- data/dist/photon/6c8063be3afa1d95c902.svg +0 -3
- data/dist/photon/76e5b29823c9fd62d90d.svg +0 -3
- data/dist/photon/8aae7b979b04407f71a4.svg +0 -3
- data/dist/photon/8dab2a6ba757bcc6e9a5.svg +0 -3
- data/dist/photon/9103e94f1d34c15d44be.svg +0 -6
- data/dist/photon/aa867391c311267af5a9.svg +0 -4
- data/dist/photon/main.e1d25e5ea6d5812b127b.bundle.js +0 -2
- data/dist/photon/main.e1d25e5ea6d5812b127b.bundle.js.map +0 -1
- data/dist/workbox-e3490c72.js.map +0 -1
- data/dist/zee-worker.js +0 -1
- /data/dist/{4d26f0e38c22eedde178.jpg → firefox-profiler-button-2021-05-06-ZEMGS6NI.jpg} +0 -0
- /data/dist/{18a5d1d99f1c65c33b71.png → perf-screenshot-2024-02-29-4YCKHIPD.png} +0 -0
- /data/dist/{favicon.png → res/img/favicon.png} +0 -0
- /data/dist/{58c5415e952fb6dddd6b.png → spinner-DC3JCQB7.png} +0 -0
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
import{A as Pc,B as Ec,C as sa,D as nD,E as Dh,F as Ah,G as pt,H as Oh,I as oD,J as _c,K as Nc,L as Ui,M as aD,N as tt,O as lD,P as cD,a as Y,b as ZL,c as Ih,d as QL,e as Ch,f as Ph,g as Eh,h as eD,i as $,j as ro,k as _h,l as Nh,m as Rh,n as Mh,o as tD,p as xc,q as tp,r as rp,t as ia,u as wc,v as kc,w as Lh,x as Ic,y as Cc,z as rD}from"/chunk-RMHNU7HN.js";import{a as Ae,b as iD,c as sD,d as np}from"/chunk-46YDEKKM.js";import{a as dD,c as uD,d as pD,e as sx}from"/chunk-FQFFJJVU.js";import{b as Ze,c as ve,d as T}from"/chunk-JZQU3SPI.js";var kD=Ze(Le=>{"use strict";var op=Symbol.for("react.element"),k7=Symbol.for("react.portal"),I7=Symbol.for("react.fragment"),C7=Symbol.for("react.strict_mode"),P7=Symbol.for("react.profiler"),E7=Symbol.for("react.provider"),_7=Symbol.for("react.context"),N7=Symbol.for("react.forward_ref"),R7=Symbol.for("react.suspense"),M7=Symbol.for("react.memo"),L7=Symbol.for("react.lazy"),mD=Symbol.iterator;function D7(t){return t===null||typeof t!="object"?null:(t=mD&&t[mD]||t["@@iterator"],typeof t=="function"?t:null)}var gD={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},yD=Object.assign,bD={};function Rc(t,e,r){this.props=t,this.context=e,this.refs=bD,this.updater=r||gD}Rc.prototype.isReactComponent={};Rc.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};Rc.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function vD(){}vD.prototype=Rc.prototype;function cx(t,e,r){this.props=t,this.context=e,this.refs=bD,this.updater=r||gD}var dx=cx.prototype=new vD;dx.constructor=cx;yD(dx,Rc.prototype);dx.isPureReactComponent=!0;var fD=Array.isArray,TD=Object.prototype.hasOwnProperty,ux={current:null},SD={key:!0,ref:!0,__self:!0,__source:!0};function xD(t,e,r){var n,o={},a=null,i=null;if(e!=null)for(n in e.ref!==void 0&&(i=e.ref),e.key!==void 0&&(a=""+e.key),e)TD.call(e,n)&&!SD.hasOwnProperty(n)&&(o[n]=e[n]);var s=arguments.length-2;if(s===1)o.children=r;else if(1<s){for(var l=Array(s),c=0;c<s;c++)l[c]=arguments[c+2];o.children=l}if(t&&t.defaultProps)for(n in s=t.defaultProps,s)o[n]===void 0&&(o[n]=s[n]);return{$$typeof:op,type:t,key:a,ref:i,props:o,_owner:ux.current}}function A7(t,e){return{$$typeof:op,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function px(t){return typeof t=="object"&&t!==null&&t.$$typeof===op}function O7(t){var e={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(r){return e[r]})}var hD=/\/+/g;function lx(t,e){return typeof t=="object"&&t!==null&&t.key!=null?O7(""+t.key):e.toString(36)}function Bh(t,e,r,n,o){var a=typeof t;(a==="undefined"||a==="boolean")&&(t=null);var i=!1;if(t===null)i=!0;else switch(a){case"string":case"number":i=!0;break;case"object":switch(t.$$typeof){case op:case k7:i=!0}}if(i)return i=t,o=o(i),t=n===""?"."+lx(i,0):n,fD(o)?(r="",t!=null&&(r=t.replace(hD,"$&/")+"/"),Bh(o,e,r,"",function(c){return c})):o!=null&&(px(o)&&(o=A7(o,r+(!o.key||i&&i.key===o.key?"":(""+o.key).replace(hD,"$&/")+"/")+t)),e.push(o)),1;if(i=0,n=n===""?".":n+":",fD(t))for(var s=0;s<t.length;s++){a=t[s];var l=n+lx(a,s);i+=Bh(a,e,r,l,o)}else if(l=D7(t),typeof l=="function")for(t=l.call(t),s=0;!(a=t.next()).done;)a=a.value,l=n+lx(a,s++),i+=Bh(a,e,r,l,o);else if(a==="object")throw e=String(t),Error("Objects are not valid as a React child (found: "+(e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)+"). If you meant to render a collection of children, use an array instead.");return i}function Fh(t,e,r){if(t==null)return t;var n=[],o=0;return Bh(t,n,"","",function(a){return e.call(r,a,o++)}),n}function F7(t){if(t._status===-1){var e=t._result;e=e(),e.then(function(r){(t._status===0||t._status===-1)&&(t._status=1,t._result=r)},function(r){(t._status===0||t._status===-1)&&(t._status=2,t._result=r)}),t._status===-1&&(t._status=0,t._result=e)}if(t._status===1)return t._result.default;throw t._result}var Yr={current:null},Hh={transition:null},B7={ReactCurrentDispatcher:Yr,ReactCurrentBatchConfig:Hh,ReactCurrentOwner:ux};function wD(){throw Error("act(...) is not supported in production builds of React.")}Le.Children={map:Fh,forEach:function(t,e,r){Fh(t,function(){e.apply(this,arguments)},r)},count:function(t){var e=0;return Fh(t,function(){e++}),e},toArray:function(t){return Fh(t,function(e){return e})||[]},only:function(t){if(!px(t))throw Error("React.Children.only expected to receive a single React element child.");return t}};Le.Component=Rc;Le.Fragment=I7;Le.Profiler=P7;Le.PureComponent=cx;Le.StrictMode=C7;Le.Suspense=R7;Le.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=B7;Le.act=wD;Le.cloneElement=function(t,e,r){if(t==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var n=yD({},t.props),o=t.key,a=t.ref,i=t._owner;if(e!=null){if(e.ref!==void 0&&(a=e.ref,i=ux.current),e.key!==void 0&&(o=""+e.key),t.type&&t.type.defaultProps)var s=t.type.defaultProps;for(l in e)TD.call(e,l)&&!SD.hasOwnProperty(l)&&(n[l]=e[l]===void 0&&s!==void 0?s[l]:e[l])}var l=arguments.length-2;if(l===1)n.children=r;else if(1<l){s=Array(l);for(var c=0;c<l;c++)s[c]=arguments[c+2];n.children=s}return{$$typeof:op,type:t.type,key:o,ref:a,props:n,_owner:i}};Le.createContext=function(t){return t={$$typeof:_7,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},t.Provider={$$typeof:E7,_context:t},t.Consumer=t};Le.createElement=xD;Le.createFactory=function(t){var e=xD.bind(null,t);return e.type=t,e};Le.createRef=function(){return{current:null}};Le.forwardRef=function(t){return{$$typeof:N7,render:t}};Le.isValidElement=px;Le.lazy=function(t){return{$$typeof:L7,_payload:{_status:-1,_result:t},_init:F7}};Le.memo=function(t,e){return{$$typeof:M7,type:t,compare:e===void 0?null:e}};Le.startTransition=function(t){var e=Hh.transition;Hh.transition={};try{t()}finally{Hh.transition=e}};Le.unstable_act=wD;Le.useCallback=function(t,e){return Yr.current.useCallback(t,e)};Le.useContext=function(t){return Yr.current.useContext(t)};Le.useDebugValue=function(){};Le.useDeferredValue=function(t){return Yr.current.useDeferredValue(t)};Le.useEffect=function(t,e){return Yr.current.useEffect(t,e)};Le.useId=function(){return Yr.current.useId()};Le.useImperativeHandle=function(t,e,r){return Yr.current.useImperativeHandle(t,e,r)};Le.useInsertionEffect=function(t,e){return Yr.current.useInsertionEffect(t,e)};Le.useLayoutEffect=function(t,e){return Yr.current.useLayoutEffect(t,e)};Le.useMemo=function(t,e){return Yr.current.useMemo(t,e)};Le.useReducer=function(t,e,r){return Yr.current.useReducer(t,e,r)};Le.useRef=function(t){return Yr.current.useRef(t)};Le.useState=function(t){return Yr.current.useState(t)};Le.useSyncExternalStore=function(t,e,r){return Yr.current.useSyncExternalStore(t,e,r)};Le.useTransition=function(){return Yr.current.useTransition()};Le.version="18.3.1"});var U=Ze((gde,ID)=>{"use strict";ID.exports=kD()});var AD=Ze(yt=>{"use strict";function gx(t,e){var r=t.length;t.push(e);e:for(;0<r;){var n=r-1>>>1,o=t[n];if(0<Uh(o,e))t[n]=e,t[r]=o,r=n;else break e}}function Eo(t){return t.length===0?null:t[0]}function $h(t){if(t.length===0)return null;var e=t[0],r=t.pop();if(r!==e){t[0]=r;e:for(var n=0,o=t.length,a=o>>>1;n<a;){var i=2*(n+1)-1,s=t[i],l=i+1,c=t[l];if(0>Uh(s,r))l<o&&0>Uh(c,s)?(t[n]=c,t[l]=r,n=l):(t[n]=s,t[i]=r,n=i);else if(l<o&&0>Uh(c,r))t[n]=c,t[l]=r,n=l;else break e}}return e}function Uh(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}typeof performance=="object"&&typeof performance.now=="function"?(CD=performance,yt.unstable_now=function(){return CD.now()}):(mx=Date,PD=mx.now(),yt.unstable_now=function(){return mx.now()-PD});var CD,mx,PD,la=[],Gi=[],H7=1,no=null,Br=3,zh=!1,rl=!1,ip=!1,ND=typeof setTimeout=="function"?setTimeout:null,RD=typeof clearTimeout=="function"?clearTimeout:null,ED=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function yx(t){for(var e=Eo(Gi);e!==null;){if(e.callback===null)$h(Gi);else if(e.startTime<=t)$h(Gi),e.sortIndex=e.expirationTime,gx(la,e);else break;e=Eo(Gi)}}function bx(t){if(ip=!1,yx(t),!rl)if(Eo(la)!==null)rl=!0,Tx(vx);else{var e=Eo(Gi);e!==null&&Sx(bx,e.startTime-t)}}function vx(t,e){rl=!1,ip&&(ip=!1,RD(sp),sp=-1),zh=!0;var r=Br;try{for(yx(e),no=Eo(la);no!==null&&(!(no.expirationTime>e)||t&&!DD());){var n=no.callback;if(typeof n=="function"){no.callback=null,Br=no.priorityLevel;var o=n(no.expirationTime<=e);e=yt.unstable_now(),typeof o=="function"?no.callback=o:no===Eo(la)&&$h(la),yx(e)}else $h(la);no=Eo(la)}if(no!==null)var a=!0;else{var i=Eo(Gi);i!==null&&Sx(bx,i.startTime-e),a=!1}return a}finally{no=null,Br=r,zh=!1}}var Vh=!1,Gh=null,sp=-1,MD=5,LD=-1;function DD(){return!(yt.unstable_now()-LD<MD)}function fx(){if(Gh!==null){var t=yt.unstable_now();LD=t;var e=!0;try{e=Gh(!0,t)}finally{e?ap():(Vh=!1,Gh=null)}}else Vh=!1}var ap;typeof ED=="function"?ap=function(){ED(fx)}:typeof MessageChannel<"u"?(hx=new MessageChannel,_D=hx.port2,hx.port1.onmessage=fx,ap=function(){_D.postMessage(null)}):ap=function(){ND(fx,0)};var hx,_D;function Tx(t){Gh=t,Vh||(Vh=!0,ap())}function Sx(t,e){sp=ND(function(){t(yt.unstable_now())},e)}yt.unstable_IdlePriority=5;yt.unstable_ImmediatePriority=1;yt.unstable_LowPriority=4;yt.unstable_NormalPriority=3;yt.unstable_Profiling=null;yt.unstable_UserBlockingPriority=2;yt.unstable_cancelCallback=function(t){t.callback=null};yt.unstable_continueExecution=function(){rl||zh||(rl=!0,Tx(vx))};yt.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):MD=0<t?Math.floor(1e3/t):5};yt.unstable_getCurrentPriorityLevel=function(){return Br};yt.unstable_getFirstCallbackNode=function(){return Eo(la)};yt.unstable_next=function(t){switch(Br){case 1:case 2:case 3:var e=3;break;default:e=Br}var r=Br;Br=e;try{return t()}finally{Br=r}};yt.unstable_pauseExecution=function(){};yt.unstable_requestPaint=function(){};yt.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var r=Br;Br=t;try{return e()}finally{Br=r}};yt.unstable_scheduleCallback=function(t,e,r){var n=yt.unstable_now();switch(typeof r=="object"&&r!==null?(r=r.delay,r=typeof r=="number"&&0<r?n+r:n):r=n,t){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=r+o,t={id:H7++,callback:e,priorityLevel:t,startTime:r,expirationTime:o,sortIndex:-1},r>n?(t.sortIndex=r,gx(Gi,t),Eo(la)===null&&t===Eo(Gi)&&(ip?(RD(sp),sp=-1):ip=!0,Sx(bx,r-n))):(t.sortIndex=o,gx(la,t),rl||zh||(rl=!0,Tx(vx))),t};yt.unstable_shouldYield=DD;yt.unstable_wrapCallback=function(t){var e=Br;return function(){var r=Br;Br=e;try{return t.apply(this,arguments)}finally{Br=r}}}});var FD=Ze((bde,OD)=>{"use strict";OD.exports=AD()});var GF=Ze($n=>{"use strict";var U7=U(),Un=FD();function J(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r<arguments.length;r++)e+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var VA=new Set,_p={};function hl(t,e){Zc(t,e),Zc(t+"Capture",e)}function Zc(t,e){for(_p[t]=e,t=0;t<e.length;t++)VA.add(e[t])}var $a=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Vx=Object.prototype.hasOwnProperty,G7=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,BD={},HD={};function $7(t){return Vx.call(HD,t)?!0:Vx.call(BD,t)?!1:G7.test(t)?HD[t]=!0:(BD[t]=!0,!1)}function z7(t,e,r,n){if(r!==null&&r.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function V7(t,e,r,n){if(e===null||typeof e>"u"||z7(t,e,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function Jr(t,e,r,n,o,a,i){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=n,this.attributeNamespace=o,this.mustUseProperty=r,this.propertyName=t,this.type=e,this.sanitizeURL=a,this.removeEmptyString=i}var _r={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){_r[t]=new Jr(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];_r[e]=new Jr(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){_r[t]=new Jr(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){_r[t]=new Jr(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){_r[t]=new Jr(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){_r[t]=new Jr(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){_r[t]=new Jr(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){_r[t]=new Jr(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){_r[t]=new Jr(t,5,!1,t.toLowerCase(),null,!1,!1)});var Ow=/[\-:]([a-z])/g;function Fw(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Ow,Fw);_r[e]=new Jr(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Ow,Fw);_r[e]=new Jr(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Ow,Fw);_r[e]=new Jr(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){_r[t]=new Jr(t,1,!1,t.toLowerCase(),null,!1,!1)});_r.xlinkHref=new Jr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){_r[t]=new Jr(t,1,!1,t.toLowerCase(),null,!0,!0)});function Bw(t,e,r,n){var o=_r.hasOwnProperty(e)?_r[e]:null;(o!==null?o.type!==0:n||!(2<e.length)||e[0]!=="o"&&e[0]!=="O"||e[1]!=="n"&&e[1]!=="N")&&(V7(e,r,o,n)&&(r=null),n||o===null?$7(e)&&(r===null?t.removeAttribute(e):t.setAttribute(e,""+r)):o.mustUseProperty?t[o.propertyName]=r===null?o.type===3?!1:"":r:(e=o.attributeName,n=o.attributeNamespace,r===null?t.removeAttribute(e):(o=o.type,r=o===3||o===4&&r===!0?"":""+r,n?t.setAttributeNS(n,e,r):t.setAttribute(e,r))))}var ja=U7.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Wh=Symbol.for("react.element"),Dc=Symbol.for("react.portal"),Ac=Symbol.for("react.fragment"),Hw=Symbol.for("react.strict_mode"),Wx=Symbol.for("react.profiler"),WA=Symbol.for("react.provider"),jA=Symbol.for("react.context"),Uw=Symbol.for("react.forward_ref"),jx=Symbol.for("react.suspense"),Kx=Symbol.for("react.suspense_list"),Gw=Symbol.for("react.memo"),zi=Symbol.for("react.lazy"),KA=Symbol.for("react.offscreen"),UD=Symbol.iterator;function lp(t){return t===null||typeof t!="object"?null:(t=UD&&t[UD]||t["@@iterator"],typeof t=="function"?t:null)}var At=Object.assign,xx;function gp(t){if(xx===void 0)try{throw Error()}catch(r){var e=r.stack.trim().match(/\n( *(at )?)/);xx=e&&e[1]||""}return`
|
|
2
|
+
`+xx+t}var wx=!1;function kx(t,e){if(!t||wx)return"";wx=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(e)if(e=function(){throw Error()},Object.defineProperty(e.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(e,[])}catch(c){var n=c}Reflect.construct(t,[],e)}else{try{e.call()}catch(c){n=c}t.call(e.prototype)}else{try{throw Error()}catch(c){n=c}t()}}catch(c){if(c&&n&&typeof c.stack=="string"){for(var o=c.stack.split(`
|
|
3
|
+
`),a=n.stack.split(`
|
|
4
|
+
`),i=o.length-1,s=a.length-1;1<=i&&0<=s&&o[i]!==a[s];)s--;for(;1<=i&&0<=s;i--,s--)if(o[i]!==a[s]){if(i!==1||s!==1)do if(i--,s--,0>s||o[i]!==a[s]){var l=`
|
|
5
|
+
`+o[i].replace(" at new "," at ");return t.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",t.displayName)),l}while(1<=i&&0<=s);break}}}finally{wx=!1,Error.prepareStackTrace=r}return(t=t?t.displayName||t.name:"")?gp(t):""}function W7(t){switch(t.tag){case 5:return gp(t.type);case 16:return gp("Lazy");case 13:return gp("Suspense");case 19:return gp("SuspenseList");case 0:case 2:case 15:return t=kx(t.type,!1),t;case 11:return t=kx(t.type.render,!1),t;case 1:return t=kx(t.type,!0),t;default:return""}}function Yx(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Ac:return"Fragment";case Dc:return"Portal";case Wx:return"Profiler";case Hw:return"StrictMode";case jx:return"Suspense";case Kx:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case jA:return(t.displayName||"Context")+".Consumer";case WA:return(t._context.displayName||"Context")+".Provider";case Uw:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Gw:return e=t.displayName||null,e!==null?e:Yx(t.type)||"Memo";case zi:e=t._payload,t=t._init;try{return Yx(t(e))}catch{}}return null}function j7(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Yx(e);case 8:return e===Hw?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function ns(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function YA(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function K7(t){var e=YA(t)?"checked":"value",r=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),n=""+t[e];if(!t.hasOwnProperty(e)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,a=r.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return o.call(this)},set:function(i){n=""+i,a.call(this,i)}}),Object.defineProperty(t,e,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function jh(t){t._valueTracker||(t._valueTracker=K7(t))}function qA(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var r=e.getValue(),n="";return t&&(n=YA(t)?t.checked?"true":"false":t.value),t=n,t!==r?(e.setValue(t),!0):!1}function Tg(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function qx(t,e){var r=e.checked;return At({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??t._wrapperState.initialChecked})}function GD(t,e){var r=e.defaultValue==null?"":e.defaultValue,n=e.checked!=null?e.checked:e.defaultChecked;r=ns(e.value!=null?e.value:r),t._wrapperState={initialChecked:n,initialValue:r,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function XA(t,e){e=e.checked,e!=null&&Bw(t,"checked",e,!1)}function Xx(t,e){XA(t,e);var r=ns(e.value),n=e.type;if(r!=null)n==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+r):t.value!==""+r&&(t.value=""+r);else if(n==="submit"||n==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Jx(t,e.type,r):e.hasOwnProperty("defaultValue")&&Jx(t,e.type,ns(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function $D(t,e,r){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var n=e.type;if(!(n!=="submit"&&n!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,r||e===t.value||(t.value=e),t.defaultValue=e}r=t.name,r!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,r!==""&&(t.name=r)}function Jx(t,e,r){(e!=="number"||Tg(t.ownerDocument)!==t)&&(r==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+r&&(t.defaultValue=""+r))}var yp=Array.isArray;function jc(t,e,r,n){if(t=t.options,e){e={};for(var o=0;o<r.length;o++)e["$"+r[o]]=!0;for(r=0;r<t.length;r++)o=e.hasOwnProperty("$"+t[r].value),t[r].selected!==o&&(t[r].selected=o),o&&n&&(t[r].defaultSelected=!0)}else{for(r=""+ns(r),e=null,o=0;o<t.length;o++){if(t[o].value===r){t[o].selected=!0,n&&(t[o].defaultSelected=!0);return}e!==null||t[o].disabled||(e=t[o])}e!==null&&(e.selected=!0)}}function Zx(t,e){if(e.dangerouslySetInnerHTML!=null)throw Error(J(91));return At({},e,{value:void 0,defaultValue:void 0,children:""+t._wrapperState.initialValue})}function zD(t,e){var r=e.value;if(r==null){if(r=e.children,e=e.defaultValue,r!=null){if(e!=null)throw Error(J(92));if(yp(r)){if(1<r.length)throw Error(J(93));r=r[0]}e=r}e==null&&(e=""),r=e}t._wrapperState={initialValue:ns(r)}}function JA(t,e){var r=ns(e.value),n=ns(e.defaultValue);r!=null&&(r=""+r,r!==t.value&&(t.value=r),e.defaultValue==null&&t.defaultValue!==r&&(t.defaultValue=r)),n!=null&&(t.defaultValue=""+n)}function VD(t){var e=t.textContent;e===t._wrapperState.initialValue&&e!==""&&e!==null&&(t.value=e)}function ZA(t){switch(t){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Qx(t,e){return t==null||t==="http://www.w3.org/1999/xhtml"?ZA(e):t==="http://www.w3.org/2000/svg"&&e==="foreignObject"?"http://www.w3.org/1999/xhtml":t}var Kh,QA=(function(t){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(e,r,n,o){MSApp.execUnsafeLocalFunction(function(){return t(e,r,n,o)})}:t})(function(t,e){if(t.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in t)t.innerHTML=e;else{for(Kh=Kh||document.createElement("div"),Kh.innerHTML="<svg>"+e.valueOf().toString()+"</svg>",e=Kh.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function Np(t,e){if(e){var r=t.firstChild;if(r&&r===t.lastChild&&r.nodeType===3){r.nodeValue=e;return}}t.textContent=e}var Tp={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Y7=["Webkit","ms","Moz","O"];Object.keys(Tp).forEach(function(t){Y7.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Tp[e]=Tp[t]})});function eO(t,e,r){return e==null||typeof e=="boolean"||e===""?"":r||typeof e!="number"||e===0||Tp.hasOwnProperty(t)&&Tp[t]?(""+e).trim():e+"px"}function tO(t,e){t=t.style;for(var r in e)if(e.hasOwnProperty(r)){var n=r.indexOf("--")===0,o=eO(r,e[r],n);r==="float"&&(r="cssFloat"),n?t.setProperty(r,o):t[r]=o}}var q7=At({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ew(t,e){if(e){if(q7[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(J(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(J(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(J(61))}if(e.style!=null&&typeof e.style!="object")throw Error(J(62))}}function tw(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var rw=null;function $w(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var nw=null,Kc=null,Yc=null;function WD(t){if(t=Yp(t)){if(typeof nw!="function")throw Error(J(280));var e=t.stateNode;e&&(e=Yg(e),nw(t.stateNode,t.type,e))}}function rO(t){Kc?Yc?Yc.push(t):Yc=[t]:Kc=t}function nO(){if(Kc){var t=Kc,e=Yc;if(Yc=Kc=null,WD(t),e)for(t=0;t<e.length;t++)WD(e[t])}}function oO(t,e){return t(e)}function aO(){}var Ix=!1;function iO(t,e,r){if(Ix)return t(e,r);Ix=!0;try{return oO(t,e,r)}finally{Ix=!1,(Kc!==null||Yc!==null)&&(aO(),nO())}}function Rp(t,e){var r=t.stateNode;if(r===null)return null;var n=Yg(r);if(n===null)return null;r=n[e];e:switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(t=t.type,n=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!n;break e;default:t=!1}if(t)return null;if(r&&typeof r!="function")throw Error(J(231,e,typeof r));return r}var ow=!1;if($a)try{Mc={},Object.defineProperty(Mc,"passive",{get:function(){ow=!0}}),window.addEventListener("test",Mc,Mc),window.removeEventListener("test",Mc,Mc)}catch{ow=!1}var Mc;function X7(t,e,r,n,o,a,i,s,l){var c=Array.prototype.slice.call(arguments,3);try{e.apply(r,c)}catch(d){this.onError(d)}}var Sp=!1,Sg=null,xg=!1,aw=null,J7={onError:function(t){Sp=!0,Sg=t}};function Z7(t,e,r,n,o,a,i,s,l){Sp=!1,Sg=null,X7.apply(J7,arguments)}function Q7(t,e,r,n,o,a,i,s,l){if(Z7.apply(this,arguments),Sp){if(Sp){var c=Sg;Sp=!1,Sg=null}else throw Error(J(198));xg||(xg=!0,aw=c)}}function gl(t){var e=t,r=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,(e.flags&4098)!==0&&(r=e.return),t=e.return;while(t)}return e.tag===3?r:null}function sO(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function jD(t){if(gl(t)!==t)throw Error(J(188))}function eK(t){var e=t.alternate;if(!e){if(e=gl(t),e===null)throw Error(J(188));return e!==t?null:t}for(var r=t,n=e;;){var o=r.return;if(o===null)break;var a=o.alternate;if(a===null){if(n=o.return,n!==null){r=n;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===r)return jD(o),t;if(a===n)return jD(o),e;a=a.sibling}throw Error(J(188))}if(r.return!==n.return)r=o,n=a;else{for(var i=!1,s=o.child;s;){if(s===r){i=!0,r=o,n=a;break}if(s===n){i=!0,n=o,r=a;break}s=s.sibling}if(!i){for(s=a.child;s;){if(s===r){i=!0,r=a,n=o;break}if(s===n){i=!0,n=a,r=o;break}s=s.sibling}if(!i)throw Error(J(189))}}if(r.alternate!==n)throw Error(J(190))}if(r.tag!==3)throw Error(J(188));return r.stateNode.current===r?t:e}function lO(t){return t=eK(t),t!==null?cO(t):null}function cO(t){if(t.tag===5||t.tag===6)return t;for(t=t.child;t!==null;){var e=cO(t);if(e!==null)return e;t=t.sibling}return null}var dO=Un.unstable_scheduleCallback,KD=Un.unstable_cancelCallback,tK=Un.unstable_shouldYield,rK=Un.unstable_requestPaint,jt=Un.unstable_now,nK=Un.unstable_getCurrentPriorityLevel,zw=Un.unstable_ImmediatePriority,uO=Un.unstable_UserBlockingPriority,wg=Un.unstable_NormalPriority,oK=Un.unstable_LowPriority,pO=Un.unstable_IdlePriority,Vg=null,pa=null;function aK(t){if(pa&&typeof pa.onCommitFiberRoot=="function")try{pa.onCommitFiberRoot(Vg,t,void 0,(t.current.flags&128)===128)}catch{}}var Lo=Math.clz32?Math.clz32:lK,iK=Math.log,sK=Math.LN2;function lK(t){return t>>>=0,t===0?32:31-(iK(t)/sK|0)|0}var Yh=64,qh=4194304;function bp(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function kg(t,e){var r=t.pendingLanes;if(r===0)return 0;var n=0,o=t.suspendedLanes,a=t.pingedLanes,i=r&268435455;if(i!==0){var s=i&~o;s!==0?n=bp(s):(a&=i,a!==0&&(n=bp(a)))}else i=r&~o,i!==0?n=bp(i):a!==0&&(n=bp(a));if(n===0)return 0;if(e!==0&&e!==n&&(e&o)===0&&(o=n&-n,a=e&-e,o>=a||o===16&&(a&4194240)!==0))return e;if((n&4)!==0&&(n|=r&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=n;0<e;)r=31-Lo(e),o=1<<r,n|=t[r],e&=~o;return n}function cK(t,e){switch(t){case 1:case 2:case 4:return e+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function dK(t,e){for(var r=t.suspendedLanes,n=t.pingedLanes,o=t.expirationTimes,a=t.pendingLanes;0<a;){var i=31-Lo(a),s=1<<i,l=o[i];l===-1?((s&r)===0||(s&n)!==0)&&(o[i]=cK(s,e)):l<=e&&(t.expiredLanes|=s),a&=~s}}function iw(t){return t=t.pendingLanes&-1073741825,t!==0?t:t&1073741824?1073741824:0}function mO(){var t=Yh;return Yh<<=1,(Yh&4194240)===0&&(Yh=64),t}function Cx(t){for(var e=[],r=0;31>r;r++)e.push(t);return e}function jp(t,e,r){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-Lo(e),t[e]=r}function uK(t,e){var r=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var n=t.eventTimes;for(t=t.expirationTimes;0<r;){var o=31-Lo(r),a=1<<o;e[o]=0,n[o]=-1,t[o]=-1,r&=~a}}function Vw(t,e){var r=t.entangledLanes|=e;for(t=t.entanglements;r;){var n=31-Lo(r),o=1<<n;o&e|t[n]&e&&(t[n]|=e),r&=~o}}var lt=0;function fO(t){return t&=-t,1<t?4<t?(t&268435455)!==0?16:536870912:4:1}var hO,Ww,gO,yO,bO,sw=!1,Xh=[],qi=null,Xi=null,Ji=null,Mp=new Map,Lp=new Map,Wi=[],pK="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function YD(t,e){switch(t){case"focusin":case"focusout":qi=null;break;case"dragenter":case"dragleave":Xi=null;break;case"mouseover":case"mouseout":Ji=null;break;case"pointerover":case"pointerout":Mp.delete(e.pointerId);break;case"gotpointercapture":case"lostpointercapture":Lp.delete(e.pointerId)}}function cp(t,e,r,n,o,a){return t===null||t.nativeEvent!==a?(t={blockedOn:e,domEventName:r,eventSystemFlags:n,nativeEvent:a,targetContainers:[o]},e!==null&&(e=Yp(e),e!==null&&Ww(e)),t):(t.eventSystemFlags|=n,e=t.targetContainers,o!==null&&e.indexOf(o)===-1&&e.push(o),t)}function mK(t,e,r,n,o){switch(e){case"focusin":return qi=cp(qi,t,e,r,n,o),!0;case"dragenter":return Xi=cp(Xi,t,e,r,n,o),!0;case"mouseover":return Ji=cp(Ji,t,e,r,n,o),!0;case"pointerover":var a=o.pointerId;return Mp.set(a,cp(Mp.get(a)||null,t,e,r,n,o)),!0;case"gotpointercapture":return a=o.pointerId,Lp.set(a,cp(Lp.get(a)||null,t,e,r,n,o)),!0}return!1}function vO(t){var e=al(t.target);if(e!==null){var r=gl(e);if(r!==null){if(e=r.tag,e===13){if(e=sO(r),e!==null){t.blockedOn=e,bO(t.priority,function(){gO(r)});return}}else if(e===3&&r.stateNode.current.memoizedState.isDehydrated){t.blockedOn=r.tag===3?r.stateNode.containerInfo:null;return}}}t.blockedOn=null}function dg(t){if(t.blockedOn!==null)return!1;for(var e=t.targetContainers;0<e.length;){var r=lw(t.domEventName,t.eventSystemFlags,e[0],t.nativeEvent);if(r===null){r=t.nativeEvent;var n=new r.constructor(r.type,r);rw=n,r.target.dispatchEvent(n),rw=null}else return e=Yp(r),e!==null&&Ww(e),t.blockedOn=r,!1;e.shift()}return!0}function qD(t,e,r){dg(t)&&r.delete(e)}function fK(){sw=!1,qi!==null&&dg(qi)&&(qi=null),Xi!==null&&dg(Xi)&&(Xi=null),Ji!==null&&dg(Ji)&&(Ji=null),Mp.forEach(qD),Lp.forEach(qD)}function dp(t,e){t.blockedOn===e&&(t.blockedOn=null,sw||(sw=!0,Un.unstable_scheduleCallback(Un.unstable_NormalPriority,fK)))}function Dp(t){function e(o){return dp(o,t)}if(0<Xh.length){dp(Xh[0],t);for(var r=1;r<Xh.length;r++){var n=Xh[r];n.blockedOn===t&&(n.blockedOn=null)}}for(qi!==null&&dp(qi,t),Xi!==null&&dp(Xi,t),Ji!==null&&dp(Ji,t),Mp.forEach(e),Lp.forEach(e),r=0;r<Wi.length;r++)n=Wi[r],n.blockedOn===t&&(n.blockedOn=null);for(;0<Wi.length&&(r=Wi[0],r.blockedOn===null);)vO(r),r.blockedOn===null&&Wi.shift()}var qc=ja.ReactCurrentBatchConfig,Ig=!0;function hK(t,e,r,n){var o=lt,a=qc.transition;qc.transition=null;try{lt=1,jw(t,e,r,n)}finally{lt=o,qc.transition=a}}function gK(t,e,r,n){var o=lt,a=qc.transition;qc.transition=null;try{lt=4,jw(t,e,r,n)}finally{lt=o,qc.transition=a}}function jw(t,e,r,n){if(Ig){var o=lw(t,e,r,n);if(o===null)Lx(t,e,n,Cg,r),YD(t,n);else if(mK(o,t,e,r,n))n.stopPropagation();else if(YD(t,n),e&4&&-1<pK.indexOf(t)){for(;o!==null;){var a=Yp(o);if(a!==null&&hO(a),a=lw(t,e,r,n),a===null&&Lx(t,e,n,Cg,r),a===o)break;o=a}o!==null&&n.stopPropagation()}else Lx(t,e,n,null,r)}}var Cg=null;function lw(t,e,r,n){if(Cg=null,t=$w(n),t=al(t),t!==null)if(e=gl(t),e===null)t=null;else if(r=e.tag,r===13){if(t=sO(e),t!==null)return t;t=null}else if(r===3){if(e.stateNode.current.memoizedState.isDehydrated)return e.tag===3?e.stateNode.containerInfo:null;t=null}else e!==t&&(t=null);return Cg=t,null}function TO(t){switch(t){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(nK()){case zw:return 1;case uO:return 4;case wg:case oK:return 16;case pO:return 536870912;default:return 16}default:return 16}}var Ki=null,Kw=null,ug=null;function SO(){if(ug)return ug;var t,e=Kw,r=e.length,n,o="value"in Ki?Ki.value:Ki.textContent,a=o.length;for(t=0;t<r&&e[t]===o[t];t++);var i=r-t;for(n=1;n<=i&&e[r-n]===o[a-n];n++);return ug=o.slice(t,1<n?1-n:void 0)}function pg(t){var e=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&e===13&&(t=13)):t=e,t===10&&(t=13),32<=t||t===13?t:0}function Jh(){return!0}function XD(){return!1}function Gn(t){function e(r,n,o,a,i){this._reactName=r,this._targetInst=o,this.type=n,this.nativeEvent=a,this.target=i,this.currentTarget=null;for(var s in t)t.hasOwnProperty(s)&&(r=t[s],this[s]=r?r(a):a[s]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Jh:XD,this.isPropagationStopped=XD,this}return At(e.prototype,{preventDefault:function(){this.defaultPrevented=!0;var r=this.nativeEvent;r&&(r.preventDefault?r.preventDefault():typeof r.returnValue!="unknown"&&(r.returnValue=!1),this.isDefaultPrevented=Jh)},stopPropagation:function(){var r=this.nativeEvent;r&&(r.stopPropagation?r.stopPropagation():typeof r.cancelBubble!="unknown"&&(r.cancelBubble=!0),this.isPropagationStopped=Jh)},persist:function(){},isPersistent:Jh}),e}var ad={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Yw=Gn(ad),Kp=At({},ad,{view:0,detail:0}),yK=Gn(Kp),Px,Ex,up,Wg=At({},Kp,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:qw,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==up&&(up&&t.type==="mousemove"?(Px=t.screenX-up.screenX,Ex=t.screenY-up.screenY):Ex=Px=0,up=t),Px)},movementY:function(t){return"movementY"in t?t.movementY:Ex}}),JD=Gn(Wg),bK=At({},Wg,{dataTransfer:0}),vK=Gn(bK),TK=At({},Kp,{relatedTarget:0}),_x=Gn(TK),SK=At({},ad,{animationName:0,elapsedTime:0,pseudoElement:0}),xK=Gn(SK),wK=At({},ad,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),kK=Gn(wK),IK=At({},ad,{data:0}),ZD=Gn(IK),CK={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},PK={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},EK={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function _K(t){var e=this.nativeEvent;return e.getModifierState?e.getModifierState(t):(t=EK[t])?!!e[t]:!1}function qw(){return _K}var NK=At({},Kp,{key:function(t){if(t.key){var e=CK[t.key]||t.key;if(e!=="Unidentified")return e}return t.type==="keypress"?(t=pg(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?PK[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:qw,charCode:function(t){return t.type==="keypress"?pg(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?pg(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),RK=Gn(NK),MK=At({},Wg,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),QD=Gn(MK),LK=At({},Kp,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:qw}),DK=Gn(LK),AK=At({},ad,{propertyName:0,elapsedTime:0,pseudoElement:0}),OK=Gn(AK),FK=At({},Wg,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),BK=Gn(FK),HK=[9,13,27,32],Xw=$a&&"CompositionEvent"in window,xp=null;$a&&"documentMode"in document&&(xp=document.documentMode);var UK=$a&&"TextEvent"in window&&!xp,xO=$a&&(!Xw||xp&&8<xp&&11>=xp),eA=" ",tA=!1;function wO(t,e){switch(t){case"keyup":return HK.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function kO(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Oc=!1;function GK(t,e){switch(t){case"compositionend":return kO(e);case"keypress":return e.which!==32?null:(tA=!0,eA);case"textInput":return t=e.data,t===eA&&tA?null:t;default:return null}}function $K(t,e){if(Oc)return t==="compositionend"||!Xw&&wO(t,e)?(t=SO(),ug=Kw=Ki=null,Oc=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1<e.char.length)return e.char;if(e.which)return String.fromCharCode(e.which)}return null;case"compositionend":return xO&&e.locale!=="ko"?null:e.data;default:return null}}var zK={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function rA(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e==="input"?!!zK[t.type]:e==="textarea"}function IO(t,e,r,n){rO(n),e=Pg(e,"onChange"),0<e.length&&(r=new Yw("onChange","change",null,r,n),t.push({event:r,listeners:e}))}var wp=null,Ap=null;function VK(t){OO(t,0)}function jg(t){var e=Hc(t);if(qA(e))return t}function WK(t,e){if(t==="change")return e}var CO=!1;$a&&($a?(Qh="oninput"in document,Qh||(Nx=document.createElement("div"),Nx.setAttribute("oninput","return;"),Qh=typeof Nx.oninput=="function"),Zh=Qh):Zh=!1,CO=Zh&&(!document.documentMode||9<document.documentMode));var Zh,Qh,Nx;function nA(){wp&&(wp.detachEvent("onpropertychange",PO),Ap=wp=null)}function PO(t){if(t.propertyName==="value"&&jg(Ap)){var e=[];IO(e,Ap,t,$w(t)),iO(VK,e)}}function jK(t,e,r){t==="focusin"?(nA(),wp=e,Ap=r,wp.attachEvent("onpropertychange",PO)):t==="focusout"&&nA()}function KK(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return jg(Ap)}function YK(t,e){if(t==="click")return jg(e)}function qK(t,e){if(t==="input"||t==="change")return jg(e)}function XK(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var Ao=typeof Object.is=="function"?Object.is:XK;function Op(t,e){if(Ao(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;var r=Object.keys(t),n=Object.keys(e);if(r.length!==n.length)return!1;for(n=0;n<r.length;n++){var o=r[n];if(!Vx.call(e,o)||!Ao(t[o],e[o]))return!1}return!0}function oA(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function aA(t,e){var r=oA(t);t=0;for(var n;r;){if(r.nodeType===3){if(n=t+r.textContent.length,t<=e&&n>=e)return{node:r,offset:e-t};t=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=oA(r)}}function EO(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?EO(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function _O(){for(var t=window,e=Tg();e instanceof t.HTMLIFrameElement;){try{var r=typeof e.contentWindow.location.href=="string"}catch{r=!1}if(r)t=e.contentWindow;else break;e=Tg(t.document)}return e}function Jw(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function JK(t){var e=_O(),r=t.focusedElem,n=t.selectionRange;if(e!==r&&r&&r.ownerDocument&&EO(r.ownerDocument.documentElement,r)){if(n!==null&&Jw(r)){if(e=n.start,t=n.end,t===void 0&&(t=e),"selectionStart"in r)r.selectionStart=e,r.selectionEnd=Math.min(t,r.value.length);else if(t=(e=r.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var o=r.textContent.length,a=Math.min(n.start,o);n=n.end===void 0?a:Math.min(n.end,o),!t.extend&&a>n&&(o=n,n=a,a=o),o=aA(r,a);var i=aA(r,n);o&&i&&(t.rangeCount!==1||t.anchorNode!==o.node||t.anchorOffset!==o.offset||t.focusNode!==i.node||t.focusOffset!==i.offset)&&(e=e.createRange(),e.setStart(o.node,o.offset),t.removeAllRanges(),a>n?(t.addRange(e),t.extend(i.node,i.offset)):(e.setEnd(i.node,i.offset),t.addRange(e)))}}for(e=[],t=r;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r<e.length;r++)t=e[r],t.element.scrollLeft=t.left,t.element.scrollTop=t.top}}var ZK=$a&&"documentMode"in document&&11>=document.documentMode,Fc=null,cw=null,kp=null,dw=!1;function iA(t,e,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;dw||Fc==null||Fc!==Tg(n)||(n=Fc,"selectionStart"in n&&Jw(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),kp&&Op(kp,n)||(kp=n,n=Pg(cw,"onSelect"),0<n.length&&(e=new Yw("onSelect","select",null,e,r),t.push({event:e,listeners:n}),e.target=Fc)))}function eg(t,e){var r={};return r[t.toLowerCase()]=e.toLowerCase(),r["Webkit"+t]="webkit"+e,r["Moz"+t]="moz"+e,r}var Bc={animationend:eg("Animation","AnimationEnd"),animationiteration:eg("Animation","AnimationIteration"),animationstart:eg("Animation","AnimationStart"),transitionend:eg("Transition","TransitionEnd")},Rx={},NO={};$a&&(NO=document.createElement("div").style,"AnimationEvent"in window||(delete Bc.animationend.animation,delete Bc.animationiteration.animation,delete Bc.animationstart.animation),"TransitionEvent"in window||delete Bc.transitionend.transition);function Kg(t){if(Rx[t])return Rx[t];if(!Bc[t])return t;var e=Bc[t],r;for(r in e)if(e.hasOwnProperty(r)&&r in NO)return Rx[t]=e[r];return t}var RO=Kg("animationend"),MO=Kg("animationiteration"),LO=Kg("animationstart"),DO=Kg("transitionend"),AO=new Map,sA="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function as(t,e){AO.set(t,e),hl(e,[t])}for(tg=0;tg<sA.length;tg++)rg=sA[tg],lA=rg.toLowerCase(),cA=rg[0].toUpperCase()+rg.slice(1),as(lA,"on"+cA);var rg,lA,cA,tg;as(RO,"onAnimationEnd");as(MO,"onAnimationIteration");as(LO,"onAnimationStart");as("dblclick","onDoubleClick");as("focusin","onFocus");as("focusout","onBlur");as(DO,"onTransitionEnd");Zc("onMouseEnter",["mouseout","mouseover"]);Zc("onMouseLeave",["mouseout","mouseover"]);Zc("onPointerEnter",["pointerout","pointerover"]);Zc("onPointerLeave",["pointerout","pointerover"]);hl("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));hl("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));hl("onBeforeInput",["compositionend","keypress","textInput","paste"]);hl("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));hl("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));hl("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var vp="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),QK=new Set("cancel close invalid load scroll toggle".split(" ").concat(vp));function dA(t,e,r){var n=t.type||"unknown-event";t.currentTarget=r,Q7(n,e,void 0,t),t.currentTarget=null}function OO(t,e){e=(e&4)!==0;for(var r=0;r<t.length;r++){var n=t[r],o=n.event;n=n.listeners;e:{var a=void 0;if(e)for(var i=n.length-1;0<=i;i--){var s=n[i],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==a&&o.isPropagationStopped())break e;dA(o,s,c),a=l}else for(i=0;i<n.length;i++){if(s=n[i],l=s.instance,c=s.currentTarget,s=s.listener,l!==a&&o.isPropagationStopped())break e;dA(o,s,c),a=l}}}if(xg)throw t=aw,xg=!1,aw=null,t}function xt(t,e){var r=e[hw];r===void 0&&(r=e[hw]=new Set);var n=t+"__bubble";r.has(n)||(FO(e,t,2,!1),r.add(n))}function Mx(t,e,r){var n=0;e&&(n|=4),FO(r,t,n,e)}var ng="_reactListening"+Math.random().toString(36).slice(2);function Fp(t){if(!t[ng]){t[ng]=!0,VA.forEach(function(r){r!=="selectionchange"&&(QK.has(r)||Mx(r,!1,t),Mx(r,!0,t))});var e=t.nodeType===9?t:t.ownerDocument;e===null||e[ng]||(e[ng]=!0,Mx("selectionchange",!1,e))}}function FO(t,e,r,n){switch(TO(e)){case 1:var o=hK;break;case 4:o=gK;break;default:o=jw}r=o.bind(null,e,r,t),o=void 0,!ow||e!=="touchstart"&&e!=="touchmove"&&e!=="wheel"||(o=!0),n?o!==void 0?t.addEventListener(e,r,{capture:!0,passive:o}):t.addEventListener(e,r,!0):o!==void 0?t.addEventListener(e,r,{passive:o}):t.addEventListener(e,r,!1)}function Lx(t,e,r,n,o){var a=n;if((e&1)===0&&(e&2)===0&&n!==null)e:for(;;){if(n===null)return;var i=n.tag;if(i===3||i===4){var s=n.stateNode.containerInfo;if(s===o||s.nodeType===8&&s.parentNode===o)break;if(i===4)for(i=n.return;i!==null;){var l=i.tag;if((l===3||l===4)&&(l=i.stateNode.containerInfo,l===o||l.nodeType===8&&l.parentNode===o))return;i=i.return}for(;s!==null;){if(i=al(s),i===null)return;if(l=i.tag,l===5||l===6){n=a=i;continue e}s=s.parentNode}}n=n.return}iO(function(){var c=a,d=$w(r),u=[];e:{var p=AO.get(t);if(p!==void 0){var m=Yw,f=t;switch(t){case"keypress":if(pg(r)===0)break e;case"keydown":case"keyup":m=RK;break;case"focusin":f="focus",m=_x;break;case"focusout":f="blur",m=_x;break;case"beforeblur":case"afterblur":m=_x;break;case"click":if(r.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=JD;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=vK;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=DK;break;case RO:case MO:case LO:m=xK;break;case DO:m=OK;break;case"scroll":m=yK;break;case"wheel":m=BK;break;case"copy":case"cut":case"paste":m=kK;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=QD}var h=(e&4)!==0,b=!h&&t==="scroll",g=h?p!==null?p+"Capture":null:p;h=[];for(var y=c,v;y!==null;){v=y;var S=v.stateNode;if(v.tag===5&&S!==null&&(v=S,g!==null&&(S=Rp(y,g),S!=null&&h.push(Bp(y,S,v)))),b)break;y=y.return}0<h.length&&(p=new m(p,f,null,r,d),u.push({event:p,listeners:h}))}}if((e&7)===0){e:{if(p=t==="mouseover"||t==="pointerover",m=t==="mouseout"||t==="pointerout",p&&r!==rw&&(f=r.relatedTarget||r.fromElement)&&(al(f)||f[za]))break e;if((m||p)&&(p=d.window===d?d:(p=d.ownerDocument)?p.defaultView||p.parentWindow:window,m?(f=r.relatedTarget||r.toElement,m=c,f=f?al(f):null,f!==null&&(b=gl(f),f!==b||f.tag!==5&&f.tag!==6)&&(f=null)):(m=null,f=c),m!==f)){if(h=JD,S="onMouseLeave",g="onMouseEnter",y="mouse",(t==="pointerout"||t==="pointerover")&&(h=QD,S="onPointerLeave",g="onPointerEnter",y="pointer"),b=m==null?p:Hc(m),v=f==null?p:Hc(f),p=new h(S,y+"leave",m,r,d),p.target=b,p.relatedTarget=v,S=null,al(d)===c&&(h=new h(g,y+"enter",f,r,d),h.target=v,h.relatedTarget=b,S=h),b=S,m&&f)t:{for(h=m,g=f,y=0,v=h;v;v=Lc(v))y++;for(v=0,S=g;S;S=Lc(S))v++;for(;0<y-v;)h=Lc(h),y--;for(;0<v-y;)g=Lc(g),v--;for(;y--;){if(h===g||g!==null&&h===g.alternate)break t;h=Lc(h),g=Lc(g)}h=null}else h=null;m!==null&&uA(u,p,m,h,!1),f!==null&&b!==null&&uA(u,b,f,h,!0)}}e:{if(p=c?Hc(c):window,m=p.nodeName&&p.nodeName.toLowerCase(),m==="select"||m==="input"&&p.type==="file")var x=WK;else if(rA(p))if(CO)x=qK;else{x=KK;var w=jK}else(m=p.nodeName)&&m.toLowerCase()==="input"&&(p.type==="checkbox"||p.type==="radio")&&(x=YK);if(x&&(x=x(t,c))){IO(u,x,r,d);break e}w&&w(t,p,c),t==="focusout"&&(w=p._wrapperState)&&w.controlled&&p.type==="number"&&Jx(p,"number",p.value)}switch(w=c?Hc(c):window,t){case"focusin":(rA(w)||w.contentEditable==="true")&&(Fc=w,cw=c,kp=null);break;case"focusout":kp=cw=Fc=null;break;case"mousedown":dw=!0;break;case"contextmenu":case"mouseup":case"dragend":dw=!1,iA(u,r,d);break;case"selectionchange":if(ZK)break;case"keydown":case"keyup":iA(u,r,d)}var I;if(Xw)e:{switch(t){case"compositionstart":var C="onCompositionStart";break e;case"compositionend":C="onCompositionEnd";break e;case"compositionupdate":C="onCompositionUpdate";break e}C=void 0}else Oc?wO(t,r)&&(C="onCompositionEnd"):t==="keydown"&&r.keyCode===229&&(C="onCompositionStart");C&&(xO&&r.locale!=="ko"&&(Oc||C!=="onCompositionStart"?C==="onCompositionEnd"&&Oc&&(I=SO()):(Ki=d,Kw="value"in Ki?Ki.value:Ki.textContent,Oc=!0)),w=Pg(c,C),0<w.length&&(C=new ZD(C,t,null,r,d),u.push({event:C,listeners:w}),I?C.data=I:(I=kO(r),I!==null&&(C.data=I)))),(I=UK?GK(t,r):$K(t,r))&&(c=Pg(c,"onBeforeInput"),0<c.length&&(d=new ZD("onBeforeInput","beforeinput",null,r,d),u.push({event:d,listeners:c}),d.data=I))}OO(u,e)})}function Bp(t,e,r){return{instance:t,listener:e,currentTarget:r}}function Pg(t,e){for(var r=e+"Capture",n=[];t!==null;){var o=t,a=o.stateNode;o.tag===5&&a!==null&&(o=a,a=Rp(t,r),a!=null&&n.unshift(Bp(t,a,o)),a=Rp(t,e),a!=null&&n.push(Bp(t,a,o))),t=t.return}return n}function Lc(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5);return t||null}function uA(t,e,r,n,o){for(var a=e._reactName,i=[];r!==null&&r!==n;){var s=r,l=s.alternate,c=s.stateNode;if(l!==null&&l===n)break;s.tag===5&&c!==null&&(s=c,o?(l=Rp(r,a),l!=null&&i.unshift(Bp(r,l,s))):o||(l=Rp(r,a),l!=null&&i.push(Bp(r,l,s)))),r=r.return}i.length!==0&&t.push({event:e,listeners:i})}var e8=/\r\n?/g,t8=/\u0000|\uFFFD/g;function pA(t){return(typeof t=="string"?t:""+t).replace(e8,`
|
|
6
|
+
`).replace(t8,"")}function og(t,e,r){if(e=pA(e),pA(t)!==e&&r)throw Error(J(425))}function Eg(){}var uw=null,pw=null;function mw(t,e){return t==="textarea"||t==="noscript"||typeof e.children=="string"||typeof e.children=="number"||typeof e.dangerouslySetInnerHTML=="object"&&e.dangerouslySetInnerHTML!==null&&e.dangerouslySetInnerHTML.__html!=null}var fw=typeof setTimeout=="function"?setTimeout:void 0,r8=typeof clearTimeout=="function"?clearTimeout:void 0,mA=typeof Promise=="function"?Promise:void 0,n8=typeof queueMicrotask=="function"?queueMicrotask:typeof mA<"u"?function(t){return mA.resolve(null).then(t).catch(o8)}:fw;function o8(t){setTimeout(function(){throw t})}function Dx(t,e){var r=e,n=0;do{var o=r.nextSibling;if(t.removeChild(r),o&&o.nodeType===8)if(r=o.data,r==="/$"){if(n===0){t.removeChild(o),Dp(e);return}n--}else r!=="$"&&r!=="$?"&&r!=="$!"||n++;r=o}while(r);Dp(e)}function Zi(t){for(;t!=null;t=t.nextSibling){var e=t.nodeType;if(e===1||e===3)break;if(e===8){if(e=t.data,e==="$"||e==="$!"||e==="$?")break;if(e==="/$")return null}}return t}function fA(t){t=t.previousSibling;for(var e=0;t;){if(t.nodeType===8){var r=t.data;if(r==="$"||r==="$!"||r==="$?"){if(e===0)return t;e--}else r==="/$"&&e++}t=t.previousSibling}return null}var id=Math.random().toString(36).slice(2),ua="__reactFiber$"+id,Hp="__reactProps$"+id,za="__reactContainer$"+id,hw="__reactEvents$"+id,a8="__reactListeners$"+id,i8="__reactHandles$"+id;function al(t){var e=t[ua];if(e)return e;for(var r=t.parentNode;r;){if(e=r[za]||r[ua]){if(r=e.alternate,e.child!==null||r!==null&&r.child!==null)for(t=fA(t);t!==null;){if(r=t[ua])return r;t=fA(t)}return e}t=r,r=t.parentNode}return null}function Yp(t){return t=t[ua]||t[za],!t||t.tag!==5&&t.tag!==6&&t.tag!==13&&t.tag!==3?null:t}function Hc(t){if(t.tag===5||t.tag===6)return t.stateNode;throw Error(J(33))}function Yg(t){return t[Hp]||null}var gw=[],Uc=-1;function is(t){return{current:t}}function wt(t){0>Uc||(t.current=gw[Uc],gw[Uc]=null,Uc--)}function bt(t,e){Uc++,gw[Uc]=t.current,t.current=e}var os={},$r=is(os),mn=is(!1),dl=os;function Qc(t,e){var r=t.type.contextTypes;if(!r)return os;var n=t.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===e)return n.__reactInternalMemoizedMaskedChildContext;var o={},a;for(a in r)o[a]=e[a];return n&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=o),o}function fn(t){return t=t.childContextTypes,t!=null}function _g(){wt(mn),wt($r)}function hA(t,e,r){if($r.current!==os)throw Error(J(168));bt($r,e),bt(mn,r)}function BO(t,e,r){var n=t.stateNode;if(e=e.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var o in n)if(!(o in e))throw Error(J(108,j7(t)||"Unknown",o));return At({},r,n)}function Ng(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||os,dl=$r.current,bt($r,t),bt(mn,mn.current),!0}function gA(t,e,r){var n=t.stateNode;if(!n)throw Error(J(169));r?(t=BO(t,e,dl),n.__reactInternalMemoizedMergedChildContext=t,wt(mn),wt($r),bt($r,t)):wt(mn),bt(mn,r)}var Ba=null,qg=!1,Ax=!1;function HO(t){Ba===null?Ba=[t]:Ba.push(t)}function s8(t){qg=!0,HO(t)}function ss(){if(!Ax&&Ba!==null){Ax=!0;var t=0,e=lt;try{var r=Ba;for(lt=1;t<r.length;t++){var n=r[t];do n=n(!0);while(n!==null)}Ba=null,qg=!1}catch(o){throw Ba!==null&&(Ba=Ba.slice(t+1)),dO(zw,ss),o}finally{lt=e,Ax=!1}}return null}var Gc=[],$c=0,Rg=null,Mg=0,oo=[],ao=0,ul=null,Ha=1,Ua="";function nl(t,e){Gc[$c++]=Mg,Gc[$c++]=Rg,Rg=t,Mg=e}function UO(t,e,r){oo[ao++]=Ha,oo[ao++]=Ua,oo[ao++]=ul,ul=t;var n=Ha;t=Ua;var o=32-Lo(n)-1;n&=~(1<<o),r+=1;var a=32-Lo(e)+o;if(30<a){var i=o-o%5;a=(n&(1<<i)-1).toString(32),n>>=i,o-=i,Ha=1<<32-Lo(e)+o|r<<o|n,Ua=a+t}else Ha=1<<a|r<<o|n,Ua=t}function Zw(t){t.return!==null&&(nl(t,1),UO(t,1,0))}function Qw(t){for(;t===Rg;)Rg=Gc[--$c],Gc[$c]=null,Mg=Gc[--$c],Gc[$c]=null;for(;t===ul;)ul=oo[--ao],oo[ao]=null,Ua=oo[--ao],oo[ao]=null,Ha=oo[--ao],oo[ao]=null}var Hn=null,Bn=null,Pt=!1,Mo=null;function GO(t,e){var r=io(5,null,null,0);r.elementType="DELETED",r.stateNode=e,r.return=t,e=t.deletions,e===null?(t.deletions=[r],t.flags|=16):e.push(r)}function yA(t,e){switch(t.tag){case 5:var r=t.type;return e=e.nodeType!==1||r.toLowerCase()!==e.nodeName.toLowerCase()?null:e,e!==null?(t.stateNode=e,Hn=t,Bn=Zi(e.firstChild),!0):!1;case 6:return e=t.pendingProps===""||e.nodeType!==3?null:e,e!==null?(t.stateNode=e,Hn=t,Bn=null,!0):!1;case 13:return e=e.nodeType!==8?null:e,e!==null?(r=ul!==null?{id:Ha,overflow:Ua}:null,t.memoizedState={dehydrated:e,treeContext:r,retryLane:1073741824},r=io(18,null,null,0),r.stateNode=e,r.return=t,t.child=r,Hn=t,Bn=null,!0):!1;default:return!1}}function yw(t){return(t.mode&1)!==0&&(t.flags&128)===0}function bw(t){if(Pt){var e=Bn;if(e){var r=e;if(!yA(t,e)){if(yw(t))throw Error(J(418));e=Zi(r.nextSibling);var n=Hn;e&&yA(t,e)?GO(n,r):(t.flags=t.flags&-4097|2,Pt=!1,Hn=t)}}else{if(yw(t))throw Error(J(418));t.flags=t.flags&-4097|2,Pt=!1,Hn=t}}}function bA(t){for(t=t.return;t!==null&&t.tag!==5&&t.tag!==3&&t.tag!==13;)t=t.return;Hn=t}function ag(t){if(t!==Hn)return!1;if(!Pt)return bA(t),Pt=!0,!1;var e;if((e=t.tag!==3)&&!(e=t.tag!==5)&&(e=t.type,e=e!=="head"&&e!=="body"&&!mw(t.type,t.memoizedProps)),e&&(e=Bn)){if(yw(t))throw $O(),Error(J(418));for(;e;)GO(t,e),e=Zi(e.nextSibling)}if(bA(t),t.tag===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(J(317));e:{for(t=t.nextSibling,e=0;t;){if(t.nodeType===8){var r=t.data;if(r==="/$"){if(e===0){Bn=Zi(t.nextSibling);break e}e--}else r!=="$"&&r!=="$!"&&r!=="$?"||e++}t=t.nextSibling}Bn=null}}else Bn=Hn?Zi(t.stateNode.nextSibling):null;return!0}function $O(){for(var t=Bn;t;)t=Zi(t.nextSibling)}function ed(){Bn=Hn=null,Pt=!1}function ek(t){Mo===null?Mo=[t]:Mo.push(t)}var l8=ja.ReactCurrentBatchConfig;function pp(t,e,r){if(t=r.ref,t!==null&&typeof t!="function"&&typeof t!="object"){if(r._owner){if(r=r._owner,r){if(r.tag!==1)throw Error(J(309));var n=r.stateNode}if(!n)throw Error(J(147,t));var o=n,a=""+t;return e!==null&&e.ref!==null&&typeof e.ref=="function"&&e.ref._stringRef===a?e.ref:(e=function(i){var s=o.refs;i===null?delete s[a]:s[a]=i},e._stringRef=a,e)}if(typeof t!="string")throw Error(J(284));if(!r._owner)throw Error(J(290,t))}return t}function ig(t,e){throw t=Object.prototype.toString.call(e),Error(J(31,t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t))}function vA(t){var e=t._init;return e(t._payload)}function zO(t){function e(g,y){if(t){var v=g.deletions;v===null?(g.deletions=[y],g.flags|=16):v.push(y)}}function r(g,y){if(!t)return null;for(;y!==null;)e(g,y),y=y.sibling;return null}function n(g,y){for(g=new Map;y!==null;)y.key!==null?g.set(y.key,y):g.set(y.index,y),y=y.sibling;return g}function o(g,y){return g=rs(g,y),g.index=0,g.sibling=null,g}function a(g,y,v){return g.index=v,t?(v=g.alternate,v!==null?(v=v.index,v<y?(g.flags|=2,y):v):(g.flags|=2,y)):(g.flags|=1048576,y)}function i(g){return t&&g.alternate===null&&(g.flags|=2),g}function s(g,y,v,S){return y===null||y.tag!==6?(y=$x(v,g.mode,S),y.return=g,y):(y=o(y,v),y.return=g,y)}function l(g,y,v,S){var x=v.type;return x===Ac?d(g,y,v.props.children,S,v.key):y!==null&&(y.elementType===x||typeof x=="object"&&x!==null&&x.$$typeof===zi&&vA(x)===y.type)?(S=o(y,v.props),S.ref=pp(g,y,v),S.return=g,S):(S=vg(v.type,v.key,v.props,null,g.mode,S),S.ref=pp(g,y,v),S.return=g,S)}function c(g,y,v,S){return y===null||y.tag!==4||y.stateNode.containerInfo!==v.containerInfo||y.stateNode.implementation!==v.implementation?(y=zx(v,g.mode,S),y.return=g,y):(y=o(y,v.children||[]),y.return=g,y)}function d(g,y,v,S,x){return y===null||y.tag!==7?(y=cl(v,g.mode,S,x),y.return=g,y):(y=o(y,v),y.return=g,y)}function u(g,y,v){if(typeof y=="string"&&y!==""||typeof y=="number")return y=$x(""+y,g.mode,v),y.return=g,y;if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Wh:return v=vg(y.type,y.key,y.props,null,g.mode,v),v.ref=pp(g,null,y),v.return=g,v;case Dc:return y=zx(y,g.mode,v),y.return=g,y;case zi:var S=y._init;return u(g,S(y._payload),v)}if(yp(y)||lp(y))return y=cl(y,g.mode,v,null),y.return=g,y;ig(g,y)}return null}function p(g,y,v,S){var x=y!==null?y.key:null;if(typeof v=="string"&&v!==""||typeof v=="number")return x!==null?null:s(g,y,""+v,S);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case Wh:return v.key===x?l(g,y,v,S):null;case Dc:return v.key===x?c(g,y,v,S):null;case zi:return x=v._init,p(g,y,x(v._payload),S)}if(yp(v)||lp(v))return x!==null?null:d(g,y,v,S,null);ig(g,v)}return null}function m(g,y,v,S,x){if(typeof S=="string"&&S!==""||typeof S=="number")return g=g.get(v)||null,s(y,g,""+S,x);if(typeof S=="object"&&S!==null){switch(S.$$typeof){case Wh:return g=g.get(S.key===null?v:S.key)||null,l(y,g,S,x);case Dc:return g=g.get(S.key===null?v:S.key)||null,c(y,g,S,x);case zi:var w=S._init;return m(g,y,v,w(S._payload),x)}if(yp(S)||lp(S))return g=g.get(v)||null,d(y,g,S,x,null);ig(y,S)}return null}function f(g,y,v,S){for(var x=null,w=null,I=y,C=y=0,k=null;I!==null&&C<v.length;C++){I.index>C?(k=I,I=null):k=I.sibling;var N=p(g,I,v[C],S);if(N===null){I===null&&(I=k);break}t&&I&&N.alternate===null&&e(g,I),y=a(N,y,C),w===null?x=N:w.sibling=N,w=N,I=k}if(C===v.length)return r(g,I),Pt&&nl(g,C),x;if(I===null){for(;C<v.length;C++)I=u(g,v[C],S),I!==null&&(y=a(I,y,C),w===null?x=I:w.sibling=I,w=I);return Pt&&nl(g,C),x}for(I=n(g,I);C<v.length;C++)k=m(I,g,C,v[C],S),k!==null&&(t&&k.alternate!==null&&I.delete(k.key===null?C:k.key),y=a(k,y,C),w===null?x=k:w.sibling=k,w=k);return t&&I.forEach(function(O){return e(g,O)}),Pt&&nl(g,C),x}function h(g,y,v,S){var x=lp(v);if(typeof x!="function")throw Error(J(150));if(v=x.call(v),v==null)throw Error(J(151));for(var w=x=null,I=y,C=y=0,k=null,N=v.next();I!==null&&!N.done;C++,N=v.next()){I.index>C?(k=I,I=null):k=I.sibling;var O=p(g,I,N.value,S);if(O===null){I===null&&(I=k);break}t&&I&&O.alternate===null&&e(g,I),y=a(O,y,C),w===null?x=O:w.sibling=O,w=O,I=k}if(N.done)return r(g,I),Pt&&nl(g,C),x;if(I===null){for(;!N.done;C++,N=v.next())N=u(g,N.value,S),N!==null&&(y=a(N,y,C),w===null?x=N:w.sibling=N,w=N);return Pt&&nl(g,C),x}for(I=n(g,I);!N.done;C++,N=v.next())N=m(I,g,C,N.value,S),N!==null&&(t&&N.alternate!==null&&I.delete(N.key===null?C:N.key),y=a(N,y,C),w===null?x=N:w.sibling=N,w=N);return t&&I.forEach(function(L){return e(g,L)}),Pt&&nl(g,C),x}function b(g,y,v,S){if(typeof v=="object"&&v!==null&&v.type===Ac&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Wh:e:{for(var x=v.key,w=y;w!==null;){if(w.key===x){if(x=v.type,x===Ac){if(w.tag===7){r(g,w.sibling),y=o(w,v.props.children),y.return=g,g=y;break e}}else if(w.elementType===x||typeof x=="object"&&x!==null&&x.$$typeof===zi&&vA(x)===w.type){r(g,w.sibling),y=o(w,v.props),y.ref=pp(g,w,v),y.return=g,g=y;break e}r(g,w);break}else e(g,w);w=w.sibling}v.type===Ac?(y=cl(v.props.children,g.mode,S,v.key),y.return=g,g=y):(S=vg(v.type,v.key,v.props,null,g.mode,S),S.ref=pp(g,y,v),S.return=g,g=S)}return i(g);case Dc:e:{for(w=v.key;y!==null;){if(y.key===w)if(y.tag===4&&y.stateNode.containerInfo===v.containerInfo&&y.stateNode.implementation===v.implementation){r(g,y.sibling),y=o(y,v.children||[]),y.return=g,g=y;break e}else{r(g,y);break}else e(g,y);y=y.sibling}y=zx(v,g.mode,S),y.return=g,g=y}return i(g);case zi:return w=v._init,b(g,y,w(v._payload),S)}if(yp(v))return f(g,y,v,S);if(lp(v))return h(g,y,v,S);ig(g,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,y!==null&&y.tag===6?(r(g,y.sibling),y=o(y,v),y.return=g,g=y):(r(g,y),y=$x(v,g.mode,S),y.return=g,g=y),i(g)):r(g,y)}return b}var td=zO(!0),VO=zO(!1),Lg=is(null),Dg=null,zc=null,tk=null;function rk(){tk=zc=Dg=null}function nk(t){var e=Lg.current;wt(Lg),t._currentValue=e}function vw(t,e,r){for(;t!==null;){var n=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,n!==null&&(n.childLanes|=e)):n!==null&&(n.childLanes&e)!==e&&(n.childLanes|=e),t===r)break;t=t.return}}function Xc(t,e){Dg=t,tk=zc=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&e)!==0&&(pn=!0),t.firstContext=null)}function lo(t){var e=t._currentValue;if(tk!==t)if(t={context:t,memoizedValue:e,next:null},zc===null){if(Dg===null)throw Error(J(308));zc=t,Dg.dependencies={lanes:0,firstContext:t}}else zc=zc.next=t;return e}var il=null;function ok(t){il===null?il=[t]:il.push(t)}function WO(t,e,r,n){var o=e.interleaved;return o===null?(r.next=r,ok(e)):(r.next=o.next,o.next=r),e.interleaved=r,Va(t,n)}function Va(t,e){t.lanes|=e;var r=t.alternate;for(r!==null&&(r.lanes|=e),r=t,t=t.return;t!==null;)t.childLanes|=e,r=t.alternate,r!==null&&(r.childLanes|=e),r=t,t=t.return;return r.tag===3?r.stateNode:null}var Vi=!1;function ak(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function jO(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function Ga(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function Qi(t,e,r){var n=t.updateQueue;if(n===null)return null;if(n=n.shared,(We&2)!==0){var o=n.pending;return o===null?e.next=e:(e.next=o.next,o.next=e),n.pending=e,Va(t,r)}return o=n.interleaved,o===null?(e.next=e,ok(n)):(e.next=o.next,o.next=e),n.interleaved=e,Va(t,r)}function mg(t,e,r){if(e=e.updateQueue,e!==null&&(e=e.shared,(r&4194240)!==0)){var n=e.lanes;n&=t.pendingLanes,r|=n,e.lanes=r,Vw(t,r)}}function TA(t,e){var r=t.updateQueue,n=t.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var o=null,a=null;if(r=r.firstBaseUpdate,r!==null){do{var i={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};a===null?o=a=i:a=a.next=i,r=r.next}while(r!==null);a===null?o=a=e:a=a.next=e}else o=a=e;r={baseState:n.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:n.shared,effects:n.effects},t.updateQueue=r;return}t=r.lastBaseUpdate,t===null?r.firstBaseUpdate=e:t.next=e,r.lastBaseUpdate=e}function Ag(t,e,r,n){var o=t.updateQueue;Vi=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var l=s,c=l.next;l.next=null,i===null?a=c:i.next=c,i=l;var d=t.alternate;d!==null&&(d=d.updateQueue,s=d.lastBaseUpdate,s!==i&&(s===null?d.firstBaseUpdate=c:s.next=c,d.lastBaseUpdate=l))}if(a!==null){var u=o.baseState;i=0,d=c=l=null,s=a;do{var p=s.lane,m=s.eventTime;if((n&p)===p){d!==null&&(d=d.next={eventTime:m,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var f=t,h=s;switch(p=e,m=r,h.tag){case 1:if(f=h.payload,typeof f=="function"){u=f.call(m,u,p);break e}u=f;break e;case 3:f.flags=f.flags&-65537|128;case 0:if(f=h.payload,p=typeof f=="function"?f.call(m,u,p):f,p==null)break e;u=At({},u,p);break e;case 2:Vi=!0}}s.callback!==null&&s.lane!==0&&(t.flags|=64,p=o.effects,p===null?o.effects=[s]:p.push(s))}else m={eventTime:m,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},d===null?(c=d=m,l=u):d=d.next=m,i|=p;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;p=s,s=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);if(d===null&&(l=u),o.baseState=l,o.firstBaseUpdate=c,o.lastBaseUpdate=d,e=o.shared.interleaved,e!==null){o=e;do i|=o.lane,o=o.next;while(o!==e)}else a===null&&(o.shared.lanes=0);ml|=i,t.lanes=i,t.memoizedState=u}}function SA(t,e,r){if(t=e.effects,e.effects=null,t!==null)for(e=0;e<t.length;e++){var n=t[e],o=n.callback;if(o!==null){if(n.callback=null,n=r,typeof o!="function")throw Error(J(191,o));o.call(n)}}}var qp={},ma=is(qp),Up=is(qp),Gp=is(qp);function sl(t){if(t===qp)throw Error(J(174));return t}function ik(t,e){switch(bt(Gp,e),bt(Up,t),bt(ma,qp),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:Qx(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=Qx(e,t)}wt(ma),bt(ma,e)}function rd(){wt(ma),wt(Up),wt(Gp)}function KO(t){sl(Gp.current);var e=sl(ma.current),r=Qx(e,t.type);e!==r&&(bt(Up,t),bt(ma,r))}function sk(t){Up.current===t&&(wt(ma),wt(Up))}var Lt=is(0);function Og(t){for(var e=t;e!==null;){if(e.tag===13){var r=e.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if((e.flags&128)!==0)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Ox=[];function lk(){for(var t=0;t<Ox.length;t++)Ox[t]._workInProgressVersionPrimary=null;Ox.length=0}var fg=ja.ReactCurrentDispatcher,Fx=ja.ReactCurrentBatchConfig,pl=0,Dt=null,or=null,vr=null,Fg=!1,Ip=!1,$p=0,c8=0;function Hr(){throw Error(J(321))}function ck(t,e){if(e===null)return!1;for(var r=0;r<e.length&&r<t.length;r++)if(!Ao(t[r],e[r]))return!1;return!0}function dk(t,e,r,n,o,a){if(pl=a,Dt=e,e.memoizedState=null,e.updateQueue=null,e.lanes=0,fg.current=t===null||t.memoizedState===null?m8:f8,t=r(n,o),Ip){a=0;do{if(Ip=!1,$p=0,25<=a)throw Error(J(301));a+=1,vr=or=null,e.updateQueue=null,fg.current=h8,t=r(n,o)}while(Ip)}if(fg.current=Bg,e=or!==null&&or.next!==null,pl=0,vr=or=Dt=null,Fg=!1,e)throw Error(J(300));return t}function uk(){var t=$p!==0;return $p=0,t}function da(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return vr===null?Dt.memoizedState=vr=t:vr=vr.next=t,vr}function co(){if(or===null){var t=Dt.alternate;t=t!==null?t.memoizedState:null}else t=or.next;var e=vr===null?Dt.memoizedState:vr.next;if(e!==null)vr=e,or=t;else{if(t===null)throw Error(J(310));or=t,t={memoizedState:or.memoizedState,baseState:or.baseState,baseQueue:or.baseQueue,queue:or.queue,next:null},vr===null?Dt.memoizedState=vr=t:vr=vr.next=t}return vr}function zp(t,e){return typeof e=="function"?e(t):e}function Bx(t){var e=co(),r=e.queue;if(r===null)throw Error(J(311));r.lastRenderedReducer=t;var n=or,o=n.baseQueue,a=r.pending;if(a!==null){if(o!==null){var i=o.next;o.next=a.next,a.next=i}n.baseQueue=o=a,r.pending=null}if(o!==null){a=o.next,n=n.baseState;var s=i=null,l=null,c=a;do{var d=c.lane;if((pl&d)===d)l!==null&&(l=l.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),n=c.hasEagerState?c.eagerState:t(n,c.action);else{var u={lane:d,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};l===null?(s=l=u,i=n):l=l.next=u,Dt.lanes|=d,ml|=d}c=c.next}while(c!==null&&c!==a);l===null?i=n:l.next=s,Ao(n,e.memoizedState)||(pn=!0),e.memoizedState=n,e.baseState=i,e.baseQueue=l,r.lastRenderedState=n}if(t=r.interleaved,t!==null){o=t;do a=o.lane,Dt.lanes|=a,ml|=a,o=o.next;while(o!==t)}else o===null&&(r.lanes=0);return[e.memoizedState,r.dispatch]}function Hx(t){var e=co(),r=e.queue;if(r===null)throw Error(J(311));r.lastRenderedReducer=t;var n=r.dispatch,o=r.pending,a=e.memoizedState;if(o!==null){r.pending=null;var i=o=o.next;do a=t(a,i.action),i=i.next;while(i!==o);Ao(a,e.memoizedState)||(pn=!0),e.memoizedState=a,e.baseQueue===null&&(e.baseState=a),r.lastRenderedState=a}return[a,n]}function YO(){}function qO(t,e){var r=Dt,n=co(),o=e(),a=!Ao(n.memoizedState,o);if(a&&(n.memoizedState=o,pn=!0),n=n.queue,pk(ZO.bind(null,r,n,t),[t]),n.getSnapshot!==e||a||vr!==null&&vr.memoizedState.tag&1){if(r.flags|=2048,Vp(9,JO.bind(null,r,n,o,e),void 0,null),Tr===null)throw Error(J(349));(pl&30)!==0||XO(r,e,o)}return o}function XO(t,e,r){t.flags|=16384,t={getSnapshot:e,value:r},e=Dt.updateQueue,e===null?(e={lastEffect:null,stores:null},Dt.updateQueue=e,e.stores=[t]):(r=e.stores,r===null?e.stores=[t]:r.push(t))}function JO(t,e,r,n){e.value=r,e.getSnapshot=n,QO(e)&&eF(t)}function ZO(t,e,r){return r(function(){QO(e)&&eF(t)})}function QO(t){var e=t.getSnapshot;t=t.value;try{var r=e();return!Ao(t,r)}catch{return!0}}function eF(t){var e=Va(t,1);e!==null&&Do(e,t,1,-1)}function xA(t){var e=da();return typeof t=="function"&&(t=t()),e.memoizedState=e.baseState=t,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:zp,lastRenderedState:t},e.queue=t,t=t.dispatch=p8.bind(null,Dt,t),[e.memoizedState,t]}function Vp(t,e,r,n){return t={tag:t,create:e,destroy:r,deps:n,next:null},e=Dt.updateQueue,e===null?(e={lastEffect:null,stores:null},Dt.updateQueue=e,e.lastEffect=t.next=t):(r=e.lastEffect,r===null?e.lastEffect=t.next=t:(n=r.next,r.next=t,t.next=n,e.lastEffect=t)),t}function tF(){return co().memoizedState}function hg(t,e,r,n){var o=da();Dt.flags|=t,o.memoizedState=Vp(1|e,r,void 0,n===void 0?null:n)}function Xg(t,e,r,n){var o=co();n=n===void 0?null:n;var a=void 0;if(or!==null){var i=or.memoizedState;if(a=i.destroy,n!==null&&ck(n,i.deps)){o.memoizedState=Vp(e,r,a,n);return}}Dt.flags|=t,o.memoizedState=Vp(1|e,r,a,n)}function wA(t,e){return hg(8390656,8,t,e)}function pk(t,e){return Xg(2048,8,t,e)}function rF(t,e){return Xg(4,2,t,e)}function nF(t,e){return Xg(4,4,t,e)}function oF(t,e){if(typeof e=="function")return t=t(),e(t),function(){e(null)};if(e!=null)return t=t(),e.current=t,function(){e.current=null}}function aF(t,e,r){return r=r!=null?r.concat([t]):null,Xg(4,4,oF.bind(null,e,t),r)}function mk(){}function iF(t,e){var r=co();e=e===void 0?null:e;var n=r.memoizedState;return n!==null&&e!==null&&ck(e,n[1])?n[0]:(r.memoizedState=[t,e],t)}function sF(t,e){var r=co();e=e===void 0?null:e;var n=r.memoizedState;return n!==null&&e!==null&&ck(e,n[1])?n[0]:(t=t(),r.memoizedState=[t,e],t)}function lF(t,e,r){return(pl&21)===0?(t.baseState&&(t.baseState=!1,pn=!0),t.memoizedState=r):(Ao(r,e)||(r=mO(),Dt.lanes|=r,ml|=r,t.baseState=!0),e)}function d8(t,e){var r=lt;lt=r!==0&&4>r?r:4,t(!0);var n=Fx.transition;Fx.transition={};try{t(!1),e()}finally{lt=r,Fx.transition=n}}function cF(){return co().memoizedState}function u8(t,e,r){var n=ts(t);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},dF(t))uF(e,r);else if(r=WO(t,e,r,n),r!==null){var o=Xr();Do(r,t,n,o),pF(r,e,n)}}function p8(t,e,r){var n=ts(t),o={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(dF(t))uF(e,o);else{var a=t.alternate;if(t.lanes===0&&(a===null||a.lanes===0)&&(a=e.lastRenderedReducer,a!==null))try{var i=e.lastRenderedState,s=a(i,r);if(o.hasEagerState=!0,o.eagerState=s,Ao(s,i)){var l=e.interleaved;l===null?(o.next=o,ok(e)):(o.next=l.next,l.next=o),e.interleaved=o;return}}catch{}r=WO(t,e,o,n),r!==null&&(o=Xr(),Do(r,t,n,o),pF(r,e,n))}}function dF(t){var e=t.alternate;return t===Dt||e!==null&&e===Dt}function uF(t,e){Ip=Fg=!0;var r=t.pending;r===null?e.next=e:(e.next=r.next,r.next=e),t.pending=e}function pF(t,e,r){if((r&4194240)!==0){var n=e.lanes;n&=t.pendingLanes,r|=n,e.lanes=r,Vw(t,r)}}var Bg={readContext:lo,useCallback:Hr,useContext:Hr,useEffect:Hr,useImperativeHandle:Hr,useInsertionEffect:Hr,useLayoutEffect:Hr,useMemo:Hr,useReducer:Hr,useRef:Hr,useState:Hr,useDebugValue:Hr,useDeferredValue:Hr,useTransition:Hr,useMutableSource:Hr,useSyncExternalStore:Hr,useId:Hr,unstable_isNewReconciler:!1},m8={readContext:lo,useCallback:function(t,e){return da().memoizedState=[t,e===void 0?null:e],t},useContext:lo,useEffect:wA,useImperativeHandle:function(t,e,r){return r=r!=null?r.concat([t]):null,hg(4194308,4,oF.bind(null,e,t),r)},useLayoutEffect:function(t,e){return hg(4194308,4,t,e)},useInsertionEffect:function(t,e){return hg(4,2,t,e)},useMemo:function(t,e){var r=da();return e=e===void 0?null:e,t=t(),r.memoizedState=[t,e],t},useReducer:function(t,e,r){var n=da();return e=r!==void 0?r(e):e,n.memoizedState=n.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},n.queue=t,t=t.dispatch=u8.bind(null,Dt,t),[n.memoizedState,t]},useRef:function(t){var e=da();return t={current:t},e.memoizedState=t},useState:xA,useDebugValue:mk,useDeferredValue:function(t){return da().memoizedState=t},useTransition:function(){var t=xA(!1),e=t[0];return t=d8.bind(null,t[1]),da().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,r){var n=Dt,o=da();if(Pt){if(r===void 0)throw Error(J(407));r=r()}else{if(r=e(),Tr===null)throw Error(J(349));(pl&30)!==0||XO(n,e,r)}o.memoizedState=r;var a={value:r,getSnapshot:e};return o.queue=a,wA(ZO.bind(null,n,a,t),[t]),n.flags|=2048,Vp(9,JO.bind(null,n,a,r,e),void 0,null),r},useId:function(){var t=da(),e=Tr.identifierPrefix;if(Pt){var r=Ua,n=Ha;r=(n&~(1<<32-Lo(n)-1)).toString(32)+r,e=":"+e+"R"+r,r=$p++,0<r&&(e+="H"+r.toString(32)),e+=":"}else r=c8++,e=":"+e+"r"+r.toString(32)+":";return t.memoizedState=e},unstable_isNewReconciler:!1},f8={readContext:lo,useCallback:iF,useContext:lo,useEffect:pk,useImperativeHandle:aF,useInsertionEffect:rF,useLayoutEffect:nF,useMemo:sF,useReducer:Bx,useRef:tF,useState:function(){return Bx(zp)},useDebugValue:mk,useDeferredValue:function(t){var e=co();return lF(e,or.memoizedState,t)},useTransition:function(){var t=Bx(zp)[0],e=co().memoizedState;return[t,e]},useMutableSource:YO,useSyncExternalStore:qO,useId:cF,unstable_isNewReconciler:!1},h8={readContext:lo,useCallback:iF,useContext:lo,useEffect:pk,useImperativeHandle:aF,useInsertionEffect:rF,useLayoutEffect:nF,useMemo:sF,useReducer:Hx,useRef:tF,useState:function(){return Hx(zp)},useDebugValue:mk,useDeferredValue:function(t){var e=co();return or===null?e.memoizedState=t:lF(e,or.memoizedState,t)},useTransition:function(){var t=Hx(zp)[0],e=co().memoizedState;return[t,e]},useMutableSource:YO,useSyncExternalStore:qO,useId:cF,unstable_isNewReconciler:!1};function No(t,e){if(t&&t.defaultProps){e=At({},e),t=t.defaultProps;for(var r in t)e[r]===void 0&&(e[r]=t[r]);return e}return e}function Tw(t,e,r,n){e=t.memoizedState,r=r(n,e),r=r==null?e:At({},e,r),t.memoizedState=r,t.lanes===0&&(t.updateQueue.baseState=r)}var Jg={isMounted:function(t){return(t=t._reactInternals)?gl(t)===t:!1},enqueueSetState:function(t,e,r){t=t._reactInternals;var n=Xr(),o=ts(t),a=Ga(n,o);a.payload=e,r!=null&&(a.callback=r),e=Qi(t,a,o),e!==null&&(Do(e,t,o,n),mg(e,t,o))},enqueueReplaceState:function(t,e,r){t=t._reactInternals;var n=Xr(),o=ts(t),a=Ga(n,o);a.tag=1,a.payload=e,r!=null&&(a.callback=r),e=Qi(t,a,o),e!==null&&(Do(e,t,o,n),mg(e,t,o))},enqueueForceUpdate:function(t,e){t=t._reactInternals;var r=Xr(),n=ts(t),o=Ga(r,n);o.tag=2,e!=null&&(o.callback=e),e=Qi(t,o,n),e!==null&&(Do(e,t,n,r),mg(e,t,n))}};function kA(t,e,r,n,o,a,i){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(n,a,i):e.prototype&&e.prototype.isPureReactComponent?!Op(r,n)||!Op(o,a):!0}function mF(t,e,r){var n=!1,o=os,a=e.contextType;return typeof a=="object"&&a!==null?a=lo(a):(o=fn(e)?dl:$r.current,n=e.contextTypes,a=(n=n!=null)?Qc(t,o):os),e=new e(r,a),t.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,e.updater=Jg,t.stateNode=e,e._reactInternals=t,n&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=o,t.__reactInternalMemoizedMaskedChildContext=a),e}function IA(t,e,r,n){t=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(r,n),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(r,n),e.state!==t&&Jg.enqueueReplaceState(e,e.state,null)}function Sw(t,e,r,n){var o=t.stateNode;o.props=r,o.state=t.memoizedState,o.refs={},ak(t);var a=e.contextType;typeof a=="object"&&a!==null?o.context=lo(a):(a=fn(e)?dl:$r.current,o.context=Qc(t,a)),o.state=t.memoizedState,a=e.getDerivedStateFromProps,typeof a=="function"&&(Tw(t,e,a,r),o.state=t.memoizedState),typeof e.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(e=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),e!==o.state&&Jg.enqueueReplaceState(o,o.state,null),Ag(t,r,o,n),o.state=t.memoizedState),typeof o.componentDidMount=="function"&&(t.flags|=4194308)}function nd(t,e){try{var r="",n=e;do r+=W7(n),n=n.return;while(n);var o=r}catch(a){o=`
|
|
7
|
+
Error generating stack: `+a.message+`
|
|
8
|
+
`+a.stack}return{value:t,source:e,stack:o,digest:null}}function Ux(t,e,r){return{value:t,source:null,stack:r??null,digest:e??null}}function xw(t,e){try{console.error(e.value)}catch(r){setTimeout(function(){throw r})}}var g8=typeof WeakMap=="function"?WeakMap:Map;function fF(t,e,r){r=Ga(-1,r),r.tag=3,r.payload={element:null};var n=e.value;return r.callback=function(){Ug||(Ug=!0,Mw=n),xw(t,e)},r}function hF(t,e,r){r=Ga(-1,r),r.tag=3;var n=t.type.getDerivedStateFromError;if(typeof n=="function"){var o=e.value;r.payload=function(){return n(o)},r.callback=function(){xw(t,e)}}var a=t.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(r.callback=function(){xw(t,e),typeof n!="function"&&(es===null?es=new Set([this]):es.add(this));var i=e.stack;this.componentDidCatch(e.value,{componentStack:i!==null?i:""})}),r}function CA(t,e,r){var n=t.pingCache;if(n===null){n=t.pingCache=new g8;var o=new Set;n.set(e,o)}else o=n.get(e),o===void 0&&(o=new Set,n.set(e,o));o.has(r)||(o.add(r),t=N8.bind(null,t,e,r),e.then(t,t))}function PA(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function EA(t,e,r,n,o){return(t.mode&1)===0?(t===e?t.flags|=65536:(t.flags|=128,r.flags|=131072,r.flags&=-52805,r.tag===1&&(r.alternate===null?r.tag=17:(e=Ga(-1,1),e.tag=2,Qi(r,e,1))),r.lanes|=1),t):(t.flags|=65536,t.lanes=o,t)}var y8=ja.ReactCurrentOwner,pn=!1;function qr(t,e,r,n){e.child=t===null?VO(e,null,r,n):td(e,t.child,r,n)}function _A(t,e,r,n,o){r=r.render;var a=e.ref;return Xc(e,o),n=dk(t,e,r,n,a,o),r=uk(),t!==null&&!pn?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~o,Wa(t,e,o)):(Pt&&r&&Zw(e),e.flags|=1,qr(t,e,n,o),e.child)}function NA(t,e,r,n,o){if(t===null){var a=r.type;return typeof a=="function"&&!Sk(a)&&a.defaultProps===void 0&&r.compare===null&&r.defaultProps===void 0?(e.tag=15,e.type=a,gF(t,e,a,n,o)):(t=vg(r.type,null,n,e,e.mode,o),t.ref=e.ref,t.return=e,e.child=t)}if(a=t.child,(t.lanes&o)===0){var i=a.memoizedProps;if(r=r.compare,r=r!==null?r:Op,r(i,n)&&t.ref===e.ref)return Wa(t,e,o)}return e.flags|=1,t=rs(a,n),t.ref=e.ref,t.return=e,e.child=t}function gF(t,e,r,n,o){if(t!==null){var a=t.memoizedProps;if(Op(a,n)&&t.ref===e.ref)if(pn=!1,e.pendingProps=n=a,(t.lanes&o)!==0)(t.flags&131072)!==0&&(pn=!0);else return e.lanes=t.lanes,Wa(t,e,o)}return ww(t,e,r,n,o)}function yF(t,e,r){var n=e.pendingProps,o=n.children,a=t!==null?t.memoizedState:null;if(n.mode==="hidden")if((e.mode&1)===0)e.memoizedState={baseLanes:0,cachePool:null,transitions:null},bt(Wc,Fn),Fn|=r;else{if((r&1073741824)===0)return t=a!==null?a.baseLanes|r:r,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,bt(Wc,Fn),Fn|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},n=a!==null?a.baseLanes:r,bt(Wc,Fn),Fn|=n}else a!==null?(n=a.baseLanes|r,e.memoizedState=null):n=r,bt(Wc,Fn),Fn|=n;return qr(t,e,o,r),e.child}function bF(t,e){var r=e.ref;(t===null&&r!==null||t!==null&&t.ref!==r)&&(e.flags|=512,e.flags|=2097152)}function ww(t,e,r,n,o){var a=fn(r)?dl:$r.current;return a=Qc(e,a),Xc(e,o),r=dk(t,e,r,n,a,o),n=uk(),t!==null&&!pn?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~o,Wa(t,e,o)):(Pt&&n&&Zw(e),e.flags|=1,qr(t,e,r,o),e.child)}function RA(t,e,r,n,o){if(fn(r)){var a=!0;Ng(e)}else a=!1;if(Xc(e,o),e.stateNode===null)gg(t,e),mF(e,r,n),Sw(e,r,n,o),n=!0;else if(t===null){var i=e.stateNode,s=e.memoizedProps;i.props=s;var l=i.context,c=r.contextType;typeof c=="object"&&c!==null?c=lo(c):(c=fn(r)?dl:$r.current,c=Qc(e,c));var d=r.getDerivedStateFromProps,u=typeof d=="function"||typeof i.getSnapshotBeforeUpdate=="function";u||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(s!==n||l!==c)&&IA(e,i,n,c),Vi=!1;var p=e.memoizedState;i.state=p,Ag(e,n,i,o),l=e.memoizedState,s!==n||p!==l||mn.current||Vi?(typeof d=="function"&&(Tw(e,r,d,n),l=e.memoizedState),(s=Vi||kA(e,r,s,n,p,l,c))?(u||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(e.flags|=4194308)):(typeof i.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=n,e.memoizedState=l),i.props=n,i.state=l,i.context=c,n=s):(typeof i.componentDidMount=="function"&&(e.flags|=4194308),n=!1)}else{i=e.stateNode,jO(t,e),s=e.memoizedProps,c=e.type===e.elementType?s:No(e.type,s),i.props=c,u=e.pendingProps,p=i.context,l=r.contextType,typeof l=="object"&&l!==null?l=lo(l):(l=fn(r)?dl:$r.current,l=Qc(e,l));var m=r.getDerivedStateFromProps;(d=typeof m=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(s!==u||p!==l)&&IA(e,i,n,l),Vi=!1,p=e.memoizedState,i.state=p,Ag(e,n,i,o);var f=e.memoizedState;s!==u||p!==f||mn.current||Vi?(typeof m=="function"&&(Tw(e,r,m,n),f=e.memoizedState),(c=Vi||kA(e,r,c,n,p,f,l)||!1)?(d||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(n,f,l),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(n,f,l)),typeof i.componentDidUpdate=="function"&&(e.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof i.componentDidUpdate!="function"||s===t.memoizedProps&&p===t.memoizedState||(e.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||s===t.memoizedProps&&p===t.memoizedState||(e.flags|=1024),e.memoizedProps=n,e.memoizedState=f),i.props=n,i.state=f,i.context=l,n=c):(typeof i.componentDidUpdate!="function"||s===t.memoizedProps&&p===t.memoizedState||(e.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||s===t.memoizedProps&&p===t.memoizedState||(e.flags|=1024),n=!1)}return kw(t,e,r,n,a,o)}function kw(t,e,r,n,o,a){bF(t,e);var i=(e.flags&128)!==0;if(!n&&!i)return o&&gA(e,r,!1),Wa(t,e,a);n=e.stateNode,y8.current=e;var s=i&&typeof r.getDerivedStateFromError!="function"?null:n.render();return e.flags|=1,t!==null&&i?(e.child=td(e,t.child,null,a),e.child=td(e,null,s,a)):qr(t,e,s,a),e.memoizedState=n.state,o&&gA(e,r,!0),e.child}function vF(t){var e=t.stateNode;e.pendingContext?hA(t,e.pendingContext,e.pendingContext!==e.context):e.context&&hA(t,e.context,!1),ik(t,e.containerInfo)}function MA(t,e,r,n,o){return ed(),ek(o),e.flags|=256,qr(t,e,r,n),e.child}var Iw={dehydrated:null,treeContext:null,retryLane:0};function Cw(t){return{baseLanes:t,cachePool:null,transitions:null}}function TF(t,e,r){var n=e.pendingProps,o=Lt.current,a=!1,i=(e.flags&128)!==0,s;if((s=i)||(s=t!==null&&t.memoizedState===null?!1:(o&2)!==0),s?(a=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(o|=1),bt(Lt,o&1),t===null)return bw(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?((e.mode&1)===0?e.lanes=1:t.data==="$!"?e.lanes=8:e.lanes=1073741824,null):(i=n.children,t=n.fallback,a?(n=e.mode,a=e.child,i={mode:"hidden",children:i},(n&1)===0&&a!==null?(a.childLanes=0,a.pendingProps=i):a=ey(i,n,0,null),t=cl(t,n,r,null),a.return=e,t.return=e,a.sibling=t,e.child=a,e.child.memoizedState=Cw(r),e.memoizedState=Iw,t):fk(e,i));if(o=t.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return b8(t,e,i,n,s,o,r);if(a){a=n.fallback,i=e.mode,o=t.child,s=o.sibling;var l={mode:"hidden",children:n.children};return(i&1)===0&&e.child!==o?(n=e.child,n.childLanes=0,n.pendingProps=l,e.deletions=null):(n=rs(o,l),n.subtreeFlags=o.subtreeFlags&14680064),s!==null?a=rs(s,a):(a=cl(a,i,r,null),a.flags|=2),a.return=e,n.return=e,n.sibling=a,e.child=n,n=a,a=e.child,i=t.child.memoizedState,i=i===null?Cw(r):{baseLanes:i.baseLanes|r,cachePool:null,transitions:i.transitions},a.memoizedState=i,a.childLanes=t.childLanes&~r,e.memoizedState=Iw,n}return a=t.child,t=a.sibling,n=rs(a,{mode:"visible",children:n.children}),(e.mode&1)===0&&(n.lanes=r),n.return=e,n.sibling=null,t!==null&&(r=e.deletions,r===null?(e.deletions=[t],e.flags|=16):r.push(t)),e.child=n,e.memoizedState=null,n}function fk(t,e){return e=ey({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function sg(t,e,r,n){return n!==null&&ek(n),td(e,t.child,null,r),t=fk(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function b8(t,e,r,n,o,a,i){if(r)return e.flags&256?(e.flags&=-257,n=Ux(Error(J(422))),sg(t,e,i,n)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(a=n.fallback,o=e.mode,n=ey({mode:"visible",children:n.children},o,0,null),a=cl(a,o,i,null),a.flags|=2,n.return=e,a.return=e,n.sibling=a,e.child=n,(e.mode&1)!==0&&td(e,t.child,null,i),e.child.memoizedState=Cw(i),e.memoizedState=Iw,a);if((e.mode&1)===0)return sg(t,e,i,null);if(o.data==="$!"){if(n=o.nextSibling&&o.nextSibling.dataset,n)var s=n.dgst;return n=s,a=Error(J(419)),n=Ux(a,n,void 0),sg(t,e,i,n)}if(s=(i&t.childLanes)!==0,pn||s){if(n=Tr,n!==null){switch(i&-i){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=(o&(n.suspendedLanes|i))!==0?0:o,o!==0&&o!==a.retryLane&&(a.retryLane=o,Va(t,o),Do(n,t,o,-1))}return Tk(),n=Ux(Error(J(421))),sg(t,e,i,n)}return o.data==="$?"?(e.flags|=128,e.child=t.child,e=R8.bind(null,t),o._reactRetry=e,null):(t=a.treeContext,Bn=Zi(o.nextSibling),Hn=e,Pt=!0,Mo=null,t!==null&&(oo[ao++]=Ha,oo[ao++]=Ua,oo[ao++]=ul,Ha=t.id,Ua=t.overflow,ul=e),e=fk(e,n.children),e.flags|=4096,e)}function LA(t,e,r){t.lanes|=e;var n=t.alternate;n!==null&&(n.lanes|=e),vw(t.return,e,r)}function Gx(t,e,r,n,o){var a=t.memoizedState;a===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:n,tail:r,tailMode:o}:(a.isBackwards=e,a.rendering=null,a.renderingStartTime=0,a.last=n,a.tail=r,a.tailMode=o)}function SF(t,e,r){var n=e.pendingProps,o=n.revealOrder,a=n.tail;if(qr(t,e,n.children,r),n=Lt.current,(n&2)!==0)n=n&1|2,e.flags|=128;else{if(t!==null&&(t.flags&128)!==0)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&LA(t,r,e);else if(t.tag===19)LA(t,r,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}n&=1}if(bt(Lt,n),(e.mode&1)===0)e.memoizedState=null;else switch(o){case"forwards":for(r=e.child,o=null;r!==null;)t=r.alternate,t!==null&&Og(t)===null&&(o=r),r=r.sibling;r=o,r===null?(o=e.child,e.child=null):(o=r.sibling,r.sibling=null),Gx(e,!1,o,r,a);break;case"backwards":for(r=null,o=e.child,e.child=null;o!==null;){if(t=o.alternate,t!==null&&Og(t)===null){e.child=o;break}t=o.sibling,o.sibling=r,r=o,o=t}Gx(e,!0,r,null,a);break;case"together":Gx(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function gg(t,e){(e.mode&1)===0&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function Wa(t,e,r){if(t!==null&&(e.dependencies=t.dependencies),ml|=e.lanes,(r&e.childLanes)===0)return null;if(t!==null&&e.child!==t.child)throw Error(J(153));if(e.child!==null){for(t=e.child,r=rs(t,t.pendingProps),e.child=r,r.return=e;t.sibling!==null;)t=t.sibling,r=r.sibling=rs(t,t.pendingProps),r.return=e;r.sibling=null}return e.child}function v8(t,e,r){switch(e.tag){case 3:vF(e),ed();break;case 5:KO(e);break;case 1:fn(e.type)&&Ng(e);break;case 4:ik(e,e.stateNode.containerInfo);break;case 10:var n=e.type._context,o=e.memoizedProps.value;bt(Lg,n._currentValue),n._currentValue=o;break;case 13:if(n=e.memoizedState,n!==null)return n.dehydrated!==null?(bt(Lt,Lt.current&1),e.flags|=128,null):(r&e.child.childLanes)!==0?TF(t,e,r):(bt(Lt,Lt.current&1),t=Wa(t,e,r),t!==null?t.sibling:null);bt(Lt,Lt.current&1);break;case 19:if(n=(r&e.childLanes)!==0,(t.flags&128)!==0){if(n)return SF(t,e,r);e.flags|=128}if(o=e.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),bt(Lt,Lt.current),n)break;return null;case 22:case 23:return e.lanes=0,yF(t,e,r)}return Wa(t,e,r)}var xF,Pw,wF,kF;xF=function(t,e){for(var r=e.child;r!==null;){if(r.tag===5||r.tag===6)t.appendChild(r.stateNode);else if(r.tag!==4&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===e)break;for(;r.sibling===null;){if(r.return===null||r.return===e)return;r=r.return}r.sibling.return=r.return,r=r.sibling}};Pw=function(){};wF=function(t,e,r,n){var o=t.memoizedProps;if(o!==n){t=e.stateNode,sl(ma.current);var a=null;switch(r){case"input":o=qx(t,o),n=qx(t,n),a=[];break;case"select":o=At({},o,{value:void 0}),n=At({},n,{value:void 0}),a=[];break;case"textarea":o=Zx(t,o),n=Zx(t,n),a=[];break;default:typeof o.onClick!="function"&&typeof n.onClick=="function"&&(t.onclick=Eg)}ew(r,n);var i;r=null;for(c in o)if(!n.hasOwnProperty(c)&&o.hasOwnProperty(c)&&o[c]!=null)if(c==="style"){var s=o[c];for(i in s)s.hasOwnProperty(i)&&(r||(r={}),r[i]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(_p.hasOwnProperty(c)?a||(a=[]):(a=a||[]).push(c,null));for(c in n){var l=n[c];if(s=o?.[c],n.hasOwnProperty(c)&&l!==s&&(l!=null||s!=null))if(c==="style")if(s){for(i in s)!s.hasOwnProperty(i)||l&&l.hasOwnProperty(i)||(r||(r={}),r[i]="");for(i in l)l.hasOwnProperty(i)&&s[i]!==l[i]&&(r||(r={}),r[i]=l[i])}else r||(a||(a=[]),a.push(c,r)),r=l;else c==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,s=s?s.__html:void 0,l!=null&&s!==l&&(a=a||[]).push(c,l)):c==="children"?typeof l!="string"&&typeof l!="number"||(a=a||[]).push(c,""+l):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(_p.hasOwnProperty(c)?(l!=null&&c==="onScroll"&&xt("scroll",t),a||s===l||(a=[])):(a=a||[]).push(c,l))}r&&(a=a||[]).push("style",r);var c=a;(e.updateQueue=c)&&(e.flags|=4)}};kF=function(t,e,r,n){r!==n&&(e.flags|=4)};function mp(t,e){if(!Pt)switch(t.tailMode){case"hidden":e=t.tail;for(var r=null;e!==null;)e.alternate!==null&&(r=e),e=e.sibling;r===null?t.tail=null:r.sibling=null;break;case"collapsed":r=t.tail;for(var n=null;r!==null;)r.alternate!==null&&(n=r),r=r.sibling;n===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:n.sibling=null}}function Ur(t){var e=t.alternate!==null&&t.alternate.child===t.child,r=0,n=0;if(e)for(var o=t.child;o!==null;)r|=o.lanes|o.childLanes,n|=o.subtreeFlags&14680064,n|=o.flags&14680064,o.return=t,o=o.sibling;else for(o=t.child;o!==null;)r|=o.lanes|o.childLanes,n|=o.subtreeFlags,n|=o.flags,o.return=t,o=o.sibling;return t.subtreeFlags|=n,t.childLanes=r,e}function T8(t,e,r){var n=e.pendingProps;switch(Qw(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ur(e),null;case 1:return fn(e.type)&&_g(),Ur(e),null;case 3:return n=e.stateNode,rd(),wt(mn),wt($r),lk(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(t===null||t.child===null)&&(ag(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&(e.flags&256)===0||(e.flags|=1024,Mo!==null&&(Aw(Mo),Mo=null))),Pw(t,e),Ur(e),null;case 5:sk(e);var o=sl(Gp.current);if(r=e.type,t!==null&&e.stateNode!=null)wF(t,e,r,n,o),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!n){if(e.stateNode===null)throw Error(J(166));return Ur(e),null}if(t=sl(ma.current),ag(e)){n=e.stateNode,r=e.type;var a=e.memoizedProps;switch(n[ua]=e,n[Hp]=a,t=(e.mode&1)!==0,r){case"dialog":xt("cancel",n),xt("close",n);break;case"iframe":case"object":case"embed":xt("load",n);break;case"video":case"audio":for(o=0;o<vp.length;o++)xt(vp[o],n);break;case"source":xt("error",n);break;case"img":case"image":case"link":xt("error",n),xt("load",n);break;case"details":xt("toggle",n);break;case"input":GD(n,a),xt("invalid",n);break;case"select":n._wrapperState={wasMultiple:!!a.multiple},xt("invalid",n);break;case"textarea":zD(n,a),xt("invalid",n)}ew(r,a),o=null;for(var i in a)if(a.hasOwnProperty(i)){var s=a[i];i==="children"?typeof s=="string"?n.textContent!==s&&(a.suppressHydrationWarning!==!0&&og(n.textContent,s,t),o=["children",s]):typeof s=="number"&&n.textContent!==""+s&&(a.suppressHydrationWarning!==!0&&og(n.textContent,s,t),o=["children",""+s]):_p.hasOwnProperty(i)&&s!=null&&i==="onScroll"&&xt("scroll",n)}switch(r){case"input":jh(n),$D(n,a,!0);break;case"textarea":jh(n),VD(n);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(n.onclick=Eg)}n=o,e.updateQueue=n,n!==null&&(e.flags|=4)}else{i=o.nodeType===9?o:o.ownerDocument,t==="http://www.w3.org/1999/xhtml"&&(t=ZA(r)),t==="http://www.w3.org/1999/xhtml"?r==="script"?(t=i.createElement("div"),t.innerHTML="<script><\/script>",t=t.removeChild(t.firstChild)):typeof n.is=="string"?t=i.createElement(r,{is:n.is}):(t=i.createElement(r),r==="select"&&(i=t,n.multiple?i.multiple=!0:n.size&&(i.size=n.size))):t=i.createElementNS(t,r),t[ua]=e,t[Hp]=n,xF(t,e,!1,!1),e.stateNode=t;e:{switch(i=tw(r,n),r){case"dialog":xt("cancel",t),xt("close",t),o=n;break;case"iframe":case"object":case"embed":xt("load",t),o=n;break;case"video":case"audio":for(o=0;o<vp.length;o++)xt(vp[o],t);o=n;break;case"source":xt("error",t),o=n;break;case"img":case"image":case"link":xt("error",t),xt("load",t),o=n;break;case"details":xt("toggle",t),o=n;break;case"input":GD(t,n),o=qx(t,n),xt("invalid",t);break;case"option":o=n;break;case"select":t._wrapperState={wasMultiple:!!n.multiple},o=At({},n,{value:void 0}),xt("invalid",t);break;case"textarea":zD(t,n),o=Zx(t,n),xt("invalid",t);break;default:o=n}ew(r,o),s=o;for(a in s)if(s.hasOwnProperty(a)){var l=s[a];a==="style"?tO(t,l):a==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&QA(t,l)):a==="children"?typeof l=="string"?(r!=="textarea"||l!=="")&&Np(t,l):typeof l=="number"&&Np(t,""+l):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(_p.hasOwnProperty(a)?l!=null&&a==="onScroll"&&xt("scroll",t):l!=null&&Bw(t,a,l,i))}switch(r){case"input":jh(t),$D(t,n,!1);break;case"textarea":jh(t),VD(t);break;case"option":n.value!=null&&t.setAttribute("value",""+ns(n.value));break;case"select":t.multiple=!!n.multiple,a=n.value,a!=null?jc(t,!!n.multiple,a,!1):n.defaultValue!=null&&jc(t,!!n.multiple,n.defaultValue,!0);break;default:typeof o.onClick=="function"&&(t.onclick=Eg)}switch(r){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}}n&&(e.flags|=4)}e.ref!==null&&(e.flags|=512,e.flags|=2097152)}return Ur(e),null;case 6:if(t&&e.stateNode!=null)kF(t,e,t.memoizedProps,n);else{if(typeof n!="string"&&e.stateNode===null)throw Error(J(166));if(r=sl(Gp.current),sl(ma.current),ag(e)){if(n=e.stateNode,r=e.memoizedProps,n[ua]=e,(a=n.nodeValue!==r)&&(t=Hn,t!==null))switch(t.tag){case 3:og(n.nodeValue,r,(t.mode&1)!==0);break;case 5:t.memoizedProps.suppressHydrationWarning!==!0&&og(n.nodeValue,r,(t.mode&1)!==0)}a&&(e.flags|=4)}else n=(r.nodeType===9?r:r.ownerDocument).createTextNode(n),n[ua]=e,e.stateNode=n}return Ur(e),null;case 13:if(wt(Lt),n=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(Pt&&Bn!==null&&(e.mode&1)!==0&&(e.flags&128)===0)$O(),ed(),e.flags|=98560,a=!1;else if(a=ag(e),n!==null&&n.dehydrated!==null){if(t===null){if(!a)throw Error(J(318));if(a=e.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(J(317));a[ua]=e}else ed(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;Ur(e),a=!1}else Mo!==null&&(Aw(Mo),Mo=null),a=!0;if(!a)return e.flags&65536?e:null}return(e.flags&128)!==0?(e.lanes=r,e):(n=n!==null,n!==(t!==null&&t.memoizedState!==null)&&n&&(e.child.flags|=8192,(e.mode&1)!==0&&(t===null||(Lt.current&1)!==0?ar===0&&(ar=3):Tk())),e.updateQueue!==null&&(e.flags|=4),Ur(e),null);case 4:return rd(),Pw(t,e),t===null&&Fp(e.stateNode.containerInfo),Ur(e),null;case 10:return nk(e.type._context),Ur(e),null;case 17:return fn(e.type)&&_g(),Ur(e),null;case 19:if(wt(Lt),a=e.memoizedState,a===null)return Ur(e),null;if(n=(e.flags&128)!==0,i=a.rendering,i===null)if(n)mp(a,!1);else{if(ar!==0||t!==null&&(t.flags&128)!==0)for(t=e.child;t!==null;){if(i=Og(t),i!==null){for(e.flags|=128,mp(a,!1),n=i.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),e.subtreeFlags=0,n=r,r=e.child;r!==null;)a=r,t=n,a.flags&=14680066,i=a.alternate,i===null?(a.childLanes=0,a.lanes=t,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=i.childLanes,a.lanes=i.lanes,a.child=i.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=i.memoizedProps,a.memoizedState=i.memoizedState,a.updateQueue=i.updateQueue,a.type=i.type,t=i.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),r=r.sibling;return bt(Lt,Lt.current&1|2),e.child}t=t.sibling}a.tail!==null&&jt()>od&&(e.flags|=128,n=!0,mp(a,!1),e.lanes=4194304)}else{if(!n)if(t=Og(i),t!==null){if(e.flags|=128,n=!0,r=t.updateQueue,r!==null&&(e.updateQueue=r,e.flags|=4),mp(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!Pt)return Ur(e),null}else 2*jt()-a.renderingStartTime>od&&r!==1073741824&&(e.flags|=128,n=!0,mp(a,!1),e.lanes=4194304);a.isBackwards?(i.sibling=e.child,e.child=i):(r=a.last,r!==null?r.sibling=i:e.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=jt(),e.sibling=null,r=Lt.current,bt(Lt,n?r&1|2:r&1),e):(Ur(e),null);case 22:case 23:return vk(),n=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==n&&(e.flags|=8192),n&&(e.mode&1)!==0?(Fn&1073741824)!==0&&(Ur(e),e.subtreeFlags&6&&(e.flags|=8192)):Ur(e),null;case 24:return null;case 25:return null}throw Error(J(156,e.tag))}function S8(t,e){switch(Qw(e),e.tag){case 1:return fn(e.type)&&_g(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return rd(),wt(mn),wt($r),lk(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 5:return sk(e),null;case 13:if(wt(Lt),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(J(340));ed()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return wt(Lt),null;case 4:return rd(),null;case 10:return nk(e.type._context),null;case 22:case 23:return vk(),null;case 24:return null;default:return null}}var lg=!1,Gr=!1,x8=typeof WeakSet=="function"?WeakSet:Set,ce=null;function Vc(t,e){var r=t.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){Bt(t,e,n)}else r.current=null}function Ew(t,e,r){try{r()}catch(n){Bt(t,e,n)}}var DA=!1;function w8(t,e){if(uw=Ig,t=_O(),Jw(t)){if("selectionStart"in t)var r={start:t.selectionStart,end:t.selectionEnd};else e:{r=(r=t.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var o=n.anchorOffset,a=n.focusNode;n=n.focusOffset;try{r.nodeType,a.nodeType}catch{r=null;break e}var i=0,s=-1,l=-1,c=0,d=0,u=t,p=null;t:for(;;){for(var m;u!==r||o!==0&&u.nodeType!==3||(s=i+o),u!==a||n!==0&&u.nodeType!==3||(l=i+n),u.nodeType===3&&(i+=u.nodeValue.length),(m=u.firstChild)!==null;)p=u,u=m;for(;;){if(u===t)break t;if(p===r&&++c===o&&(s=i),p===a&&++d===n&&(l=i),(m=u.nextSibling)!==null)break;u=p,p=u.parentNode}u=m}r=s===-1||l===-1?null:{start:s,end:l}}else r=null}r=r||{start:0,end:0}}else r=null;for(pw={focusedElem:t,selectionRange:r},Ig=!1,ce=e;ce!==null;)if(e=ce,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,ce=t;else for(;ce!==null;){e=ce;try{var f=e.alternate;if((e.flags&1024)!==0)switch(e.tag){case 0:case 11:case 15:break;case 1:if(f!==null){var h=f.memoizedProps,b=f.memoizedState,g=e.stateNode,y=g.getSnapshotBeforeUpdate(e.elementType===e.type?h:No(e.type,h),b);g.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var v=e.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(J(163))}}catch(S){Bt(e,e.return,S)}if(t=e.sibling,t!==null){t.return=e.return,ce=t;break}ce=e.return}return f=DA,DA=!1,f}function Cp(t,e,r){var n=e.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var o=n=n.next;do{if((o.tag&t)===t){var a=o.destroy;o.destroy=void 0,a!==void 0&&Ew(e,r,a)}o=o.next}while(o!==n)}}function Zg(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var r=e=e.next;do{if((r.tag&t)===t){var n=r.create;r.destroy=n()}r=r.next}while(r!==e)}}function _w(t){var e=t.ref;if(e!==null){var r=t.stateNode;t.tag,t=r,typeof e=="function"?e(t):e.current=t}}function IF(t){var e=t.alternate;e!==null&&(t.alternate=null,IF(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[ua],delete e[Hp],delete e[hw],delete e[a8],delete e[i8])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function CF(t){return t.tag===5||t.tag===3||t.tag===4}function AA(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||CF(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Nw(t,e,r){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?r.nodeType===8?r.parentNode.insertBefore(t,e):r.insertBefore(t,e):(r.nodeType===8?(e=r.parentNode,e.insertBefore(t,r)):(e=r,e.appendChild(t)),r=r._reactRootContainer,r!=null||e.onclick!==null||(e.onclick=Eg));else if(n!==4&&(t=t.child,t!==null))for(Nw(t,e,r),t=t.sibling;t!==null;)Nw(t,e,r),t=t.sibling}function Rw(t,e,r){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?r.insertBefore(t,e):r.appendChild(t);else if(n!==4&&(t=t.child,t!==null))for(Rw(t,e,r),t=t.sibling;t!==null;)Rw(t,e,r),t=t.sibling}var Pr=null,Ro=!1;function $i(t,e,r){for(r=r.child;r!==null;)PF(t,e,r),r=r.sibling}function PF(t,e,r){if(pa&&typeof pa.onCommitFiberUnmount=="function")try{pa.onCommitFiberUnmount(Vg,r)}catch{}switch(r.tag){case 5:Gr||Vc(r,e);case 6:var n=Pr,o=Ro;Pr=null,$i(t,e,r),Pr=n,Ro=o,Pr!==null&&(Ro?(t=Pr,r=r.stateNode,t.nodeType===8?t.parentNode.removeChild(r):t.removeChild(r)):Pr.removeChild(r.stateNode));break;case 18:Pr!==null&&(Ro?(t=Pr,r=r.stateNode,t.nodeType===8?Dx(t.parentNode,r):t.nodeType===1&&Dx(t,r),Dp(t)):Dx(Pr,r.stateNode));break;case 4:n=Pr,o=Ro,Pr=r.stateNode.containerInfo,Ro=!0,$i(t,e,r),Pr=n,Ro=o;break;case 0:case 11:case 14:case 15:if(!Gr&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){o=n=n.next;do{var a=o,i=a.destroy;a=a.tag,i!==void 0&&((a&2)!==0||(a&4)!==0)&&Ew(r,e,i),o=o.next}while(o!==n)}$i(t,e,r);break;case 1:if(!Gr&&(Vc(r,e),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(s){Bt(r,e,s)}$i(t,e,r);break;case 21:$i(t,e,r);break;case 22:r.mode&1?(Gr=(n=Gr)||r.memoizedState!==null,$i(t,e,r),Gr=n):$i(t,e,r);break;default:$i(t,e,r)}}function OA(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var r=t.stateNode;r===null&&(r=t.stateNode=new x8),e.forEach(function(n){var o=M8.bind(null,t,n);r.has(n)||(r.add(n),n.then(o,o))})}}function _o(t,e){var r=e.deletions;if(r!==null)for(var n=0;n<r.length;n++){var o=r[n];try{var a=t,i=e,s=i;e:for(;s!==null;){switch(s.tag){case 5:Pr=s.stateNode,Ro=!1;break e;case 3:Pr=s.stateNode.containerInfo,Ro=!0;break e;case 4:Pr=s.stateNode.containerInfo,Ro=!0;break e}s=s.return}if(Pr===null)throw Error(J(160));PF(a,i,o),Pr=null,Ro=!1;var l=o.alternate;l!==null&&(l.return=null),o.return=null}catch(c){Bt(o,e,c)}}if(e.subtreeFlags&12854)for(e=e.child;e!==null;)EF(e,t),e=e.sibling}function EF(t,e){var r=t.alternate,n=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:if(_o(e,t),ca(t),n&4){try{Cp(3,t,t.return),Zg(3,t)}catch(h){Bt(t,t.return,h)}try{Cp(5,t,t.return)}catch(h){Bt(t,t.return,h)}}break;case 1:_o(e,t),ca(t),n&512&&r!==null&&Vc(r,r.return);break;case 5:if(_o(e,t),ca(t),n&512&&r!==null&&Vc(r,r.return),t.flags&32){var o=t.stateNode;try{Np(o,"")}catch(h){Bt(t,t.return,h)}}if(n&4&&(o=t.stateNode,o!=null)){var a=t.memoizedProps,i=r!==null?r.memoizedProps:a,s=t.type,l=t.updateQueue;if(t.updateQueue=null,l!==null)try{s==="input"&&a.type==="radio"&&a.name!=null&&XA(o,a),tw(s,i);var c=tw(s,a);for(i=0;i<l.length;i+=2){var d=l[i],u=l[i+1];d==="style"?tO(o,u):d==="dangerouslySetInnerHTML"?QA(o,u):d==="children"?Np(o,u):Bw(o,d,u,c)}switch(s){case"input":Xx(o,a);break;case"textarea":JA(o,a);break;case"select":var p=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!a.multiple;var m=a.value;m!=null?jc(o,!!a.multiple,m,!1):p!==!!a.multiple&&(a.defaultValue!=null?jc(o,!!a.multiple,a.defaultValue,!0):jc(o,!!a.multiple,a.multiple?[]:"",!1))}o[Hp]=a}catch(h){Bt(t,t.return,h)}}break;case 6:if(_o(e,t),ca(t),n&4){if(t.stateNode===null)throw Error(J(162));o=t.stateNode,a=t.memoizedProps;try{o.nodeValue=a}catch(h){Bt(t,t.return,h)}}break;case 3:if(_o(e,t),ca(t),n&4&&r!==null&&r.memoizedState.isDehydrated)try{Dp(e.containerInfo)}catch(h){Bt(t,t.return,h)}break;case 4:_o(e,t),ca(t);break;case 13:_o(e,t),ca(t),o=t.child,o.flags&8192&&(a=o.memoizedState!==null,o.stateNode.isHidden=a,!a||o.alternate!==null&&o.alternate.memoizedState!==null||(yk=jt())),n&4&&OA(t);break;case 22:if(d=r!==null&&r.memoizedState!==null,t.mode&1?(Gr=(c=Gr)||d,_o(e,t),Gr=c):_o(e,t),ca(t),n&8192){if(c=t.memoizedState!==null,(t.stateNode.isHidden=c)&&!d&&(t.mode&1)!==0)for(ce=t,d=t.child;d!==null;){for(u=ce=d;ce!==null;){switch(p=ce,m=p.child,p.tag){case 0:case 11:case 14:case 15:Cp(4,p,p.return);break;case 1:Vc(p,p.return);var f=p.stateNode;if(typeof f.componentWillUnmount=="function"){n=p,r=p.return;try{e=n,f.props=e.memoizedProps,f.state=e.memoizedState,f.componentWillUnmount()}catch(h){Bt(n,r,h)}}break;case 5:Vc(p,p.return);break;case 22:if(p.memoizedState!==null){BA(u);continue}}m!==null?(m.return=p,ce=m):BA(u)}d=d.sibling}e:for(d=null,u=t;;){if(u.tag===5){if(d===null){d=u;try{o=u.stateNode,c?(a=o.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(s=u.stateNode,l=u.memoizedProps.style,i=l!=null&&l.hasOwnProperty("display")?l.display:null,s.style.display=eO("display",i))}catch(h){Bt(t,t.return,h)}}}else if(u.tag===6){if(d===null)try{u.stateNode.nodeValue=c?"":u.memoizedProps}catch(h){Bt(t,t.return,h)}}else if((u.tag!==22&&u.tag!==23||u.memoizedState===null||u===t)&&u.child!==null){u.child.return=u,u=u.child;continue}if(u===t)break e;for(;u.sibling===null;){if(u.return===null||u.return===t)break e;d===u&&(d=null),u=u.return}d===u&&(d=null),u.sibling.return=u.return,u=u.sibling}}break;case 19:_o(e,t),ca(t),n&4&&OA(t);break;case 21:break;default:_o(e,t),ca(t)}}function ca(t){var e=t.flags;if(e&2){try{e:{for(var r=t.return;r!==null;){if(CF(r)){var n=r;break e}r=r.return}throw Error(J(160))}switch(n.tag){case 5:var o=n.stateNode;n.flags&32&&(Np(o,""),n.flags&=-33);var a=AA(t);Rw(t,a,o);break;case 3:case 4:var i=n.stateNode.containerInfo,s=AA(t);Nw(t,s,i);break;default:throw Error(J(161))}}catch(l){Bt(t,t.return,l)}t.flags&=-3}e&4096&&(t.flags&=-4097)}function k8(t,e,r){ce=t,_F(t,e,r)}function _F(t,e,r){for(var n=(t.mode&1)!==0;ce!==null;){var o=ce,a=o.child;if(o.tag===22&&n){var i=o.memoizedState!==null||lg;if(!i){var s=o.alternate,l=s!==null&&s.memoizedState!==null||Gr;s=lg;var c=Gr;if(lg=i,(Gr=l)&&!c)for(ce=o;ce!==null;)i=ce,l=i.child,i.tag===22&&i.memoizedState!==null?HA(o):l!==null?(l.return=i,ce=l):HA(o);for(;a!==null;)ce=a,_F(a,e,r),a=a.sibling;ce=o,lg=s,Gr=c}FA(t,e,r)}else(o.subtreeFlags&8772)!==0&&a!==null?(a.return=o,ce=a):FA(t,e,r)}}function FA(t){for(;ce!==null;){var e=ce;if((e.flags&8772)!==0){var r=e.alternate;try{if((e.flags&8772)!==0)switch(e.tag){case 0:case 11:case 15:Gr||Zg(5,e);break;case 1:var n=e.stateNode;if(e.flags&4&&!Gr)if(r===null)n.componentDidMount();else{var o=e.elementType===e.type?r.memoizedProps:No(e.type,r.memoizedProps);n.componentDidUpdate(o,r.memoizedState,n.__reactInternalSnapshotBeforeUpdate)}var a=e.updateQueue;a!==null&&SA(e,a,n);break;case 3:var i=e.updateQueue;if(i!==null){if(r=null,e.child!==null)switch(e.child.tag){case 5:r=e.child.stateNode;break;case 1:r=e.child.stateNode}SA(e,i,r)}break;case 5:var s=e.stateNode;if(r===null&&e.flags&4){r=s;var l=e.memoizedProps;switch(e.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&r.focus();break;case"img":l.src&&(r.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(e.memoizedState===null){var c=e.alternate;if(c!==null){var d=c.memoizedState;if(d!==null){var u=d.dehydrated;u!==null&&Dp(u)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(J(163))}Gr||e.flags&512&&_w(e)}catch(p){Bt(e,e.return,p)}}if(e===t){ce=null;break}if(r=e.sibling,r!==null){r.return=e.return,ce=r;break}ce=e.return}}function BA(t){for(;ce!==null;){var e=ce;if(e===t){ce=null;break}var r=e.sibling;if(r!==null){r.return=e.return,ce=r;break}ce=e.return}}function HA(t){for(;ce!==null;){var e=ce;try{switch(e.tag){case 0:case 11:case 15:var r=e.return;try{Zg(4,e)}catch(l){Bt(e,r,l)}break;case 1:var n=e.stateNode;if(typeof n.componentDidMount=="function"){var o=e.return;try{n.componentDidMount()}catch(l){Bt(e,o,l)}}var a=e.return;try{_w(e)}catch(l){Bt(e,a,l)}break;case 5:var i=e.return;try{_w(e)}catch(l){Bt(e,i,l)}}}catch(l){Bt(e,e.return,l)}if(e===t){ce=null;break}var s=e.sibling;if(s!==null){s.return=e.return,ce=s;break}ce=e.return}}var I8=Math.ceil,Hg=ja.ReactCurrentDispatcher,hk=ja.ReactCurrentOwner,so=ja.ReactCurrentBatchConfig,We=0,Tr=null,Qt=null,Er=0,Fn=0,Wc=is(0),ar=0,Wp=null,ml=0,Qg=0,gk=0,Pp=null,un=null,yk=0,od=1/0,Fa=null,Ug=!1,Mw=null,es=null,cg=!1,Yi=null,Gg=0,Ep=0,Lw=null,yg=-1,bg=0;function Xr(){return(We&6)!==0?jt():yg!==-1?yg:yg=jt()}function ts(t){return(t.mode&1)===0?1:(We&2)!==0&&Er!==0?Er&-Er:l8.transition!==null?(bg===0&&(bg=mO()),bg):(t=lt,t!==0||(t=window.event,t=t===void 0?16:TO(t.type)),t)}function Do(t,e,r,n){if(50<Ep)throw Ep=0,Lw=null,Error(J(185));jp(t,r,n),((We&2)===0||t!==Tr)&&(t===Tr&&((We&2)===0&&(Qg|=r),ar===4&&ji(t,Er)),hn(t,n),r===1&&We===0&&(e.mode&1)===0&&(od=jt()+500,qg&&ss()))}function hn(t,e){var r=t.callbackNode;dK(t,e);var n=kg(t,t===Tr?Er:0);if(n===0)r!==null&&KD(r),t.callbackNode=null,t.callbackPriority=0;else if(e=n&-n,t.callbackPriority!==e){if(r!=null&&KD(r),e===1)t.tag===0?s8(UA.bind(null,t)):HO(UA.bind(null,t)),n8(function(){(We&6)===0&&ss()}),r=null;else{switch(fO(n)){case 1:r=zw;break;case 4:r=uO;break;case 16:r=wg;break;case 536870912:r=pO;break;default:r=wg}r=FF(r,NF.bind(null,t))}t.callbackPriority=e,t.callbackNode=r}}function NF(t,e){if(yg=-1,bg=0,(We&6)!==0)throw Error(J(327));var r=t.callbackNode;if(Jc()&&t.callbackNode!==r)return null;var n=kg(t,t===Tr?Er:0);if(n===0)return null;if((n&30)!==0||(n&t.expiredLanes)!==0||e)e=$g(t,n);else{e=n;var o=We;We|=2;var a=MF();(Tr!==t||Er!==e)&&(Fa=null,od=jt()+500,ll(t,e));do try{E8();break}catch(s){RF(t,s)}while(!0);rk(),Hg.current=a,We=o,Qt!==null?e=0:(Tr=null,Er=0,e=ar)}if(e!==0){if(e===2&&(o=iw(t),o!==0&&(n=o,e=Dw(t,o))),e===1)throw r=Wp,ll(t,0),ji(t,n),hn(t,jt()),r;if(e===6)ji(t,n);else{if(o=t.current.alternate,(n&30)===0&&!C8(o)&&(e=$g(t,n),e===2&&(a=iw(t),a!==0&&(n=a,e=Dw(t,a))),e===1))throw r=Wp,ll(t,0),ji(t,n),hn(t,jt()),r;switch(t.finishedWork=o,t.finishedLanes=n,e){case 0:case 1:throw Error(J(345));case 2:ol(t,un,Fa);break;case 3:if(ji(t,n),(n&130023424)===n&&(e=yk+500-jt(),10<e)){if(kg(t,0)!==0)break;if(o=t.suspendedLanes,(o&n)!==n){Xr(),t.pingedLanes|=t.suspendedLanes&o;break}t.timeoutHandle=fw(ol.bind(null,t,un,Fa),e);break}ol(t,un,Fa);break;case 4:if(ji(t,n),(n&4194240)===n)break;for(e=t.eventTimes,o=-1;0<n;){var i=31-Lo(n);a=1<<i,i=e[i],i>o&&(o=i),n&=~a}if(n=o,n=jt()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*I8(n/1960))-n,10<n){t.timeoutHandle=fw(ol.bind(null,t,un,Fa),n);break}ol(t,un,Fa);break;case 5:ol(t,un,Fa);break;default:throw Error(J(329))}}}return hn(t,jt()),t.callbackNode===r?NF.bind(null,t):null}function Dw(t,e){var r=Pp;return t.current.memoizedState.isDehydrated&&(ll(t,e).flags|=256),t=$g(t,e),t!==2&&(e=un,un=r,e!==null&&Aw(e)),t}function Aw(t){un===null?un=t:un.push.apply(un,t)}function C8(t){for(var e=t;;){if(e.flags&16384){var r=e.updateQueue;if(r!==null&&(r=r.stores,r!==null))for(var n=0;n<r.length;n++){var o=r[n],a=o.getSnapshot;o=o.value;try{if(!Ao(a(),o))return!1}catch{return!1}}}if(r=e.child,e.subtreeFlags&16384&&r!==null)r.return=e,e=r;else{if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return!0;e=e.return}e.sibling.return=e.return,e=e.sibling}}return!0}function ji(t,e){for(e&=~gk,e&=~Qg,t.suspendedLanes|=e,t.pingedLanes&=~e,t=t.expirationTimes;0<e;){var r=31-Lo(e),n=1<<r;t[r]=-1,e&=~n}}function UA(t){if((We&6)!==0)throw Error(J(327));Jc();var e=kg(t,0);if((e&1)===0)return hn(t,jt()),null;var r=$g(t,e);if(t.tag!==0&&r===2){var n=iw(t);n!==0&&(e=n,r=Dw(t,n))}if(r===1)throw r=Wp,ll(t,0),ji(t,e),hn(t,jt()),r;if(r===6)throw Error(J(345));return t.finishedWork=t.current.alternate,t.finishedLanes=e,ol(t,un,Fa),hn(t,jt()),null}function bk(t,e){var r=We;We|=1;try{return t(e)}finally{We=r,We===0&&(od=jt()+500,qg&&ss())}}function fl(t){Yi!==null&&Yi.tag===0&&(We&6)===0&&Jc();var e=We;We|=1;var r=so.transition,n=lt;try{if(so.transition=null,lt=1,t)return t()}finally{lt=n,so.transition=r,We=e,(We&6)===0&&ss()}}function vk(){Fn=Wc.current,wt(Wc)}function ll(t,e){t.finishedWork=null,t.finishedLanes=0;var r=t.timeoutHandle;if(r!==-1&&(t.timeoutHandle=-1,r8(r)),Qt!==null)for(r=Qt.return;r!==null;){var n=r;switch(Qw(n),n.tag){case 1:n=n.type.childContextTypes,n!=null&&_g();break;case 3:rd(),wt(mn),wt($r),lk();break;case 5:sk(n);break;case 4:rd();break;case 13:wt(Lt);break;case 19:wt(Lt);break;case 10:nk(n.type._context);break;case 22:case 23:vk()}r=r.return}if(Tr=t,Qt=t=rs(t.current,null),Er=Fn=e,ar=0,Wp=null,gk=Qg=ml=0,un=Pp=null,il!==null){for(e=0;e<il.length;e++)if(r=il[e],n=r.interleaved,n!==null){r.interleaved=null;var o=n.next,a=r.pending;if(a!==null){var i=a.next;a.next=o,n.next=i}r.pending=n}il=null}return t}function RF(t,e){do{var r=Qt;try{if(rk(),fg.current=Bg,Fg){for(var n=Dt.memoizedState;n!==null;){var o=n.queue;o!==null&&(o.pending=null),n=n.next}Fg=!1}if(pl=0,vr=or=Dt=null,Ip=!1,$p=0,hk.current=null,r===null||r.return===null){ar=1,Wp=e,Qt=null;break}e:{var a=t,i=r.return,s=r,l=e;if(e=Er,s.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){var c=l,d=s,u=d.tag;if((d.mode&1)===0&&(u===0||u===11||u===15)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=PA(i);if(m!==null){m.flags&=-257,EA(m,i,s,a,e),m.mode&1&&CA(a,c,e),e=m,l=c;var f=e.updateQueue;if(f===null){var h=new Set;h.add(l),e.updateQueue=h}else f.add(l);break e}else{if((e&1)===0){CA(a,c,e),Tk();break e}l=Error(J(426))}}else if(Pt&&s.mode&1){var b=PA(i);if(b!==null){(b.flags&65536)===0&&(b.flags|=256),EA(b,i,s,a,e),ek(nd(l,s));break e}}a=l=nd(l,s),ar!==4&&(ar=2),Pp===null?Pp=[a]:Pp.push(a),a=i;do{switch(a.tag){case 3:a.flags|=65536,e&=-e,a.lanes|=e;var g=fF(a,l,e);TA(a,g);break e;case 1:s=l;var y=a.type,v=a.stateNode;if((a.flags&128)===0&&(typeof y.getDerivedStateFromError=="function"||v!==null&&typeof v.componentDidCatch=="function"&&(es===null||!es.has(v)))){a.flags|=65536,e&=-e,a.lanes|=e;var S=hF(a,s,e);TA(a,S);break e}}a=a.return}while(a!==null)}DF(r)}catch(x){e=x,Qt===r&&r!==null&&(Qt=r=r.return);continue}break}while(!0)}function MF(){var t=Hg.current;return Hg.current=Bg,t===null?Bg:t}function Tk(){(ar===0||ar===3||ar===2)&&(ar=4),Tr===null||(ml&268435455)===0&&(Qg&268435455)===0||ji(Tr,Er)}function $g(t,e){var r=We;We|=2;var n=MF();(Tr!==t||Er!==e)&&(Fa=null,ll(t,e));do try{P8();break}catch(o){RF(t,o)}while(!0);if(rk(),We=r,Hg.current=n,Qt!==null)throw Error(J(261));return Tr=null,Er=0,ar}function P8(){for(;Qt!==null;)LF(Qt)}function E8(){for(;Qt!==null&&!tK();)LF(Qt)}function LF(t){var e=OF(t.alternate,t,Fn);t.memoizedProps=t.pendingProps,e===null?DF(t):Qt=e,hk.current=null}function DF(t){var e=t;do{var r=e.alternate;if(t=e.return,(e.flags&32768)===0){if(r=T8(r,e,Fn),r!==null){Qt=r;return}}else{if(r=S8(r,e),r!==null){r.flags&=32767,Qt=r;return}if(t!==null)t.flags|=32768,t.subtreeFlags=0,t.deletions=null;else{ar=6,Qt=null;return}}if(e=e.sibling,e!==null){Qt=e;return}Qt=e=t}while(e!==null);ar===0&&(ar=5)}function ol(t,e,r){var n=lt,o=so.transition;try{so.transition=null,lt=1,_8(t,e,r,n)}finally{so.transition=o,lt=n}return null}function _8(t,e,r,n){do Jc();while(Yi!==null);if((We&6)!==0)throw Error(J(327));r=t.finishedWork;var o=t.finishedLanes;if(r===null)return null;if(t.finishedWork=null,t.finishedLanes=0,r===t.current)throw Error(J(177));t.callbackNode=null,t.callbackPriority=0;var a=r.lanes|r.childLanes;if(uK(t,a),t===Tr&&(Qt=Tr=null,Er=0),(r.subtreeFlags&2064)===0&&(r.flags&2064)===0||cg||(cg=!0,FF(wg,function(){return Jc(),null})),a=(r.flags&15990)!==0,(r.subtreeFlags&15990)!==0||a){a=so.transition,so.transition=null;var i=lt;lt=1;var s=We;We|=4,hk.current=null,w8(t,r),EF(r,t),JK(pw),Ig=!!uw,pw=uw=null,t.current=r,k8(r,t,o),rK(),We=s,lt=i,so.transition=a}else t.current=r;if(cg&&(cg=!1,Yi=t,Gg=o),a=t.pendingLanes,a===0&&(es=null),aK(r.stateNode,n),hn(t,jt()),e!==null)for(n=t.onRecoverableError,r=0;r<e.length;r++)o=e[r],n(o.value,{componentStack:o.stack,digest:o.digest});if(Ug)throw Ug=!1,t=Mw,Mw=null,t;return(Gg&1)!==0&&t.tag!==0&&Jc(),a=t.pendingLanes,(a&1)!==0?t===Lw?Ep++:(Ep=0,Lw=t):Ep=0,ss(),null}function Jc(){if(Yi!==null){var t=fO(Gg),e=so.transition,r=lt;try{if(so.transition=null,lt=16>t?16:t,Yi===null)var n=!1;else{if(t=Yi,Yi=null,Gg=0,(We&6)!==0)throw Error(J(331));var o=We;for(We|=4,ce=t.current;ce!==null;){var a=ce,i=a.child;if((ce.flags&16)!==0){var s=a.deletions;if(s!==null){for(var l=0;l<s.length;l++){var c=s[l];for(ce=c;ce!==null;){var d=ce;switch(d.tag){case 0:case 11:case 15:Cp(8,d,a)}var u=d.child;if(u!==null)u.return=d,ce=u;else for(;ce!==null;){d=ce;var p=d.sibling,m=d.return;if(IF(d),d===c){ce=null;break}if(p!==null){p.return=m,ce=p;break}ce=m}}}var f=a.alternate;if(f!==null){var h=f.child;if(h!==null){f.child=null;do{var b=h.sibling;h.sibling=null,h=b}while(h!==null)}}ce=a}}if((a.subtreeFlags&2064)!==0&&i!==null)i.return=a,ce=i;else e:for(;ce!==null;){if(a=ce,(a.flags&2048)!==0)switch(a.tag){case 0:case 11:case 15:Cp(9,a,a.return)}var g=a.sibling;if(g!==null){g.return=a.return,ce=g;break e}ce=a.return}}var y=t.current;for(ce=y;ce!==null;){i=ce;var v=i.child;if((i.subtreeFlags&2064)!==0&&v!==null)v.return=i,ce=v;else e:for(i=y;ce!==null;){if(s=ce,(s.flags&2048)!==0)try{switch(s.tag){case 0:case 11:case 15:Zg(9,s)}}catch(x){Bt(s,s.return,x)}if(s===i){ce=null;break e}var S=s.sibling;if(S!==null){S.return=s.return,ce=S;break e}ce=s.return}}if(We=o,ss(),pa&&typeof pa.onPostCommitFiberRoot=="function")try{pa.onPostCommitFiberRoot(Vg,t)}catch{}n=!0}return n}finally{lt=r,so.transition=e}}return!1}function GA(t,e,r){e=nd(r,e),e=fF(t,e,1),t=Qi(t,e,1),e=Xr(),t!==null&&(jp(t,1,e),hn(t,e))}function Bt(t,e,r){if(t.tag===3)GA(t,t,r);else for(;e!==null;){if(e.tag===3){GA(e,t,r);break}else if(e.tag===1){var n=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(es===null||!es.has(n))){t=nd(r,t),t=hF(e,t,1),e=Qi(e,t,1),t=Xr(),e!==null&&(jp(e,1,t),hn(e,t));break}}e=e.return}}function N8(t,e,r){var n=t.pingCache;n!==null&&n.delete(e),e=Xr(),t.pingedLanes|=t.suspendedLanes&r,Tr===t&&(Er&r)===r&&(ar===4||ar===3&&(Er&130023424)===Er&&500>jt()-yk?ll(t,0):gk|=r),hn(t,e)}function AF(t,e){e===0&&((t.mode&1)===0?e=1:(e=qh,qh<<=1,(qh&130023424)===0&&(qh=4194304)));var r=Xr();t=Va(t,e),t!==null&&(jp(t,e,r),hn(t,r))}function R8(t){var e=t.memoizedState,r=0;e!==null&&(r=e.retryLane),AF(t,r)}function M8(t,e){var r=0;switch(t.tag){case 13:var n=t.stateNode,o=t.memoizedState;o!==null&&(r=o.retryLane);break;case 19:n=t.stateNode;break;default:throw Error(J(314))}n!==null&&n.delete(e),AF(t,r)}var OF;OF=function(t,e,r){if(t!==null)if(t.memoizedProps!==e.pendingProps||mn.current)pn=!0;else{if((t.lanes&r)===0&&(e.flags&128)===0)return pn=!1,v8(t,e,r);pn=(t.flags&131072)!==0}else pn=!1,Pt&&(e.flags&1048576)!==0&&UO(e,Mg,e.index);switch(e.lanes=0,e.tag){case 2:var n=e.type;gg(t,e),t=e.pendingProps;var o=Qc(e,$r.current);Xc(e,r),o=dk(null,e,n,t,o,r);var a=uk();return e.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,fn(n)?(a=!0,Ng(e)):a=!1,e.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,ak(e),o.updater=Jg,e.stateNode=o,o._reactInternals=e,Sw(e,n,t,r),e=kw(null,e,n,!0,a,r)):(e.tag=0,Pt&&a&&Zw(e),qr(null,e,o,r),e=e.child),e;case 16:n=e.elementType;e:{switch(gg(t,e),t=e.pendingProps,o=n._init,n=o(n._payload),e.type=n,o=e.tag=D8(n),t=No(n,t),o){case 0:e=ww(null,e,n,t,r);break e;case 1:e=RA(null,e,n,t,r);break e;case 11:e=_A(null,e,n,t,r);break e;case 14:e=NA(null,e,n,No(n.type,t),r);break e}throw Error(J(306,n,""))}return e;case 0:return n=e.type,o=e.pendingProps,o=e.elementType===n?o:No(n,o),ww(t,e,n,o,r);case 1:return n=e.type,o=e.pendingProps,o=e.elementType===n?o:No(n,o),RA(t,e,n,o,r);case 3:e:{if(vF(e),t===null)throw Error(J(387));n=e.pendingProps,a=e.memoizedState,o=a.element,jO(t,e),Ag(e,n,null,r);var i=e.memoizedState;if(n=i.element,a.isDehydrated)if(a={element:n,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},e.updateQueue.baseState=a,e.memoizedState=a,e.flags&256){o=nd(Error(J(423)),e),e=MA(t,e,n,r,o);break e}else if(n!==o){o=nd(Error(J(424)),e),e=MA(t,e,n,r,o);break e}else for(Bn=Zi(e.stateNode.containerInfo.firstChild),Hn=e,Pt=!0,Mo=null,r=VO(e,null,n,r),e.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(ed(),n===o){e=Wa(t,e,r);break e}qr(t,e,n,r)}e=e.child}return e;case 5:return KO(e),t===null&&bw(e),n=e.type,o=e.pendingProps,a=t!==null?t.memoizedProps:null,i=o.children,mw(n,o)?i=null:a!==null&&mw(n,a)&&(e.flags|=32),bF(t,e),qr(t,e,i,r),e.child;case 6:return t===null&&bw(e),null;case 13:return TF(t,e,r);case 4:return ik(e,e.stateNode.containerInfo),n=e.pendingProps,t===null?e.child=td(e,null,n,r):qr(t,e,n,r),e.child;case 11:return n=e.type,o=e.pendingProps,o=e.elementType===n?o:No(n,o),_A(t,e,n,o,r);case 7:return qr(t,e,e.pendingProps,r),e.child;case 8:return qr(t,e,e.pendingProps.children,r),e.child;case 12:return qr(t,e,e.pendingProps.children,r),e.child;case 10:e:{if(n=e.type._context,o=e.pendingProps,a=e.memoizedProps,i=o.value,bt(Lg,n._currentValue),n._currentValue=i,a!==null)if(Ao(a.value,i)){if(a.children===o.children&&!mn.current){e=Wa(t,e,r);break e}}else for(a=e.child,a!==null&&(a.return=e);a!==null;){var s=a.dependencies;if(s!==null){i=a.child;for(var l=s.firstContext;l!==null;){if(l.context===n){if(a.tag===1){l=Ga(-1,r&-r),l.tag=2;var c=a.updateQueue;if(c!==null){c=c.shared;var d=c.pending;d===null?l.next=l:(l.next=d.next,d.next=l),c.pending=l}}a.lanes|=r,l=a.alternate,l!==null&&(l.lanes|=r),vw(a.return,r,e),s.lanes|=r;break}l=l.next}}else if(a.tag===10)i=a.type===e.type?null:a.child;else if(a.tag===18){if(i=a.return,i===null)throw Error(J(341));i.lanes|=r,s=i.alternate,s!==null&&(s.lanes|=r),vw(i,r,e),i=a.sibling}else i=a.child;if(i!==null)i.return=a;else for(i=a;i!==null;){if(i===e){i=null;break}if(a=i.sibling,a!==null){a.return=i.return,i=a;break}i=i.return}a=i}qr(t,e,o.children,r),e=e.child}return e;case 9:return o=e.type,n=e.pendingProps.children,Xc(e,r),o=lo(o),n=n(o),e.flags|=1,qr(t,e,n,r),e.child;case 14:return n=e.type,o=No(n,e.pendingProps),o=No(n.type,o),NA(t,e,n,o,r);case 15:return gF(t,e,e.type,e.pendingProps,r);case 17:return n=e.type,o=e.pendingProps,o=e.elementType===n?o:No(n,o),gg(t,e),e.tag=1,fn(n)?(t=!0,Ng(e)):t=!1,Xc(e,r),mF(e,n,o),Sw(e,n,o,r),kw(null,e,n,!0,t,r);case 19:return SF(t,e,r);case 22:return yF(t,e,r)}throw Error(J(156,e.tag))};function FF(t,e){return dO(t,e)}function L8(t,e,r,n){this.tag=t,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function io(t,e,r,n){return new L8(t,e,r,n)}function Sk(t){return t=t.prototype,!(!t||!t.isReactComponent)}function D8(t){if(typeof t=="function")return Sk(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Uw)return 11;if(t===Gw)return 14}return 2}function rs(t,e){var r=t.alternate;return r===null?(r=io(t.tag,e,t.key,t.mode),r.elementType=t.elementType,r.type=t.type,r.stateNode=t.stateNode,r.alternate=t,t.alternate=r):(r.pendingProps=e,r.type=t.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=t.flags&14680064,r.childLanes=t.childLanes,r.lanes=t.lanes,r.child=t.child,r.memoizedProps=t.memoizedProps,r.memoizedState=t.memoizedState,r.updateQueue=t.updateQueue,e=t.dependencies,r.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},r.sibling=t.sibling,r.index=t.index,r.ref=t.ref,r}function vg(t,e,r,n,o,a){var i=2;if(n=t,typeof t=="function")Sk(t)&&(i=1);else if(typeof t=="string")i=5;else e:switch(t){case Ac:return cl(r.children,o,a,e);case Hw:i=8,o|=8;break;case Wx:return t=io(12,r,e,o|2),t.elementType=Wx,t.lanes=a,t;case jx:return t=io(13,r,e,o),t.elementType=jx,t.lanes=a,t;case Kx:return t=io(19,r,e,o),t.elementType=Kx,t.lanes=a,t;case KA:return ey(r,o,a,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case WA:i=10;break e;case jA:i=9;break e;case Uw:i=11;break e;case Gw:i=14;break e;case zi:i=16,n=null;break e}throw Error(J(130,t==null?t:typeof t,""))}return e=io(i,r,e,o),e.elementType=t,e.type=n,e.lanes=a,e}function cl(t,e,r,n){return t=io(7,t,n,e),t.lanes=r,t}function ey(t,e,r,n){return t=io(22,t,n,e),t.elementType=KA,t.lanes=r,t.stateNode={isHidden:!1},t}function $x(t,e,r){return t=io(6,t,null,e),t.lanes=r,t}function zx(t,e,r){return e=io(4,t.children!==null?t.children:[],t.key,e),e.lanes=r,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function A8(t,e,r,n,o){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cx(0),this.expirationTimes=Cx(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cx(0),this.identifierPrefix=n,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function xk(t,e,r,n,o,a,i,s,l){return t=new A8(t,e,r,s,l),e===1?(e=1,a===!0&&(e|=8)):e=0,a=io(3,null,null,e),t.current=a,a.stateNode=t,a.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},ak(a),t}function O8(t,e,r){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Dc,key:n==null?null:""+n,children:t,containerInfo:e,implementation:r}}function BF(t){if(!t)return os;t=t._reactInternals;e:{if(gl(t)!==t||t.tag!==1)throw Error(J(170));var e=t;do{switch(e.tag){case 3:e=e.stateNode.context;break e;case 1:if(fn(e.type)){e=e.stateNode.__reactInternalMemoizedMergedChildContext;break e}}e=e.return}while(e!==null);throw Error(J(171))}if(t.tag===1){var r=t.type;if(fn(r))return BO(t,r,e)}return e}function HF(t,e,r,n,o,a,i,s,l){return t=xk(r,n,!0,t,o,a,i,s,l),t.context=BF(null),r=t.current,n=Xr(),o=ts(r),a=Ga(n,o),a.callback=e??null,Qi(r,a,o),t.current.lanes=o,jp(t,o,n),hn(t,n),t}function ty(t,e,r,n){var o=e.current,a=Xr(),i=ts(o);return r=BF(r),e.context===null?e.context=r:e.pendingContext=r,e=Ga(a,i),e.payload={element:t},n=n===void 0?null:n,n!==null&&(e.callback=n),t=Qi(o,e,i),t!==null&&(Do(t,o,i,a),mg(t,o,i)),i}function zg(t){return t=t.current,t.child?(t.child.tag===5,t.child.stateNode):null}function $A(t,e){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var r=t.retryLane;t.retryLane=r!==0&&r<e?r:e}}function wk(t,e){$A(t,e),(t=t.alternate)&&$A(t,e)}function F8(){return null}var UF=typeof reportError=="function"?reportError:function(t){console.error(t)};function kk(t){this._internalRoot=t}ry.prototype.render=kk.prototype.render=function(t){var e=this._internalRoot;if(e===null)throw Error(J(409));ty(t,e,null,null)};ry.prototype.unmount=kk.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var e=t.containerInfo;fl(function(){ty(null,t,null,null)}),e[za]=null}};function ry(t){this._internalRoot=t}ry.prototype.unstable_scheduleHydration=function(t){if(t){var e=yO();t={blockedOn:null,target:t,priority:e};for(var r=0;r<Wi.length&&e!==0&&e<Wi[r].priority;r++);Wi.splice(r,0,t),r===0&&vO(t)}};function Ik(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function ny(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11&&(t.nodeType!==8||t.nodeValue!==" react-mount-point-unstable "))}function zA(){}function B8(t,e,r,n,o){if(o){if(typeof n=="function"){var a=n;n=function(){var c=zg(i);a.call(c)}}var i=HF(e,n,t,0,null,!1,!1,"",zA);return t._reactRootContainer=i,t[za]=i.current,Fp(t.nodeType===8?t.parentNode:t),fl(),i}for(;o=t.lastChild;)t.removeChild(o);if(typeof n=="function"){var s=n;n=function(){var c=zg(l);s.call(c)}}var l=xk(t,0,!1,null,null,!1,!1,"",zA);return t._reactRootContainer=l,t[za]=l.current,Fp(t.nodeType===8?t.parentNode:t),fl(function(){ty(e,l,r,n)}),l}function oy(t,e,r,n,o){var a=r._reactRootContainer;if(a){var i=a;if(typeof o=="function"){var s=o;o=function(){var l=zg(i);s.call(l)}}ty(e,i,t,o)}else i=B8(r,e,t,o,n);return zg(i)}hO=function(t){switch(t.tag){case 3:var e=t.stateNode;if(e.current.memoizedState.isDehydrated){var r=bp(e.pendingLanes);r!==0&&(Vw(e,r|1),hn(e,jt()),(We&6)===0&&(od=jt()+500,ss()))}break;case 13:fl(function(){var n=Va(t,1);if(n!==null){var o=Xr();Do(n,t,1,o)}}),wk(t,1)}};Ww=function(t){if(t.tag===13){var e=Va(t,134217728);if(e!==null){var r=Xr();Do(e,t,134217728,r)}wk(t,134217728)}};gO=function(t){if(t.tag===13){var e=ts(t),r=Va(t,e);if(r!==null){var n=Xr();Do(r,t,e,n)}wk(t,e)}};yO=function(){return lt};bO=function(t,e){var r=lt;try{return lt=t,e()}finally{lt=r}};nw=function(t,e,r){switch(e){case"input":if(Xx(t,r),e=r.name,r.type==="radio"&&e!=null){for(r=t;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+e)+'][type="radio"]'),e=0;e<r.length;e++){var n=r[e];if(n!==t&&n.form===t.form){var o=Yg(n);if(!o)throw Error(J(90));qA(n),Xx(n,o)}}}break;case"textarea":JA(t,r);break;case"select":e=r.value,e!=null&&jc(t,!!r.multiple,e,!1)}};oO=bk;aO=fl;var H8={usingClientEntryPoint:!1,Events:[Yp,Hc,Yg,rO,nO,bk]},fp={findFiberByHostInstance:al,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},U8={bundleType:fp.bundleType,version:fp.version,rendererPackageName:fp.rendererPackageName,rendererConfig:fp.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ja.ReactCurrentDispatcher,findHostInstanceByFiber:function(t){return t=lO(t),t===null?null:t.stateNode},findFiberByHostInstance:fp.findFiberByHostInstance||F8,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(hp=__REACT_DEVTOOLS_GLOBAL_HOOK__,!hp.isDisabled&&hp.supportsFiber))try{Vg=hp.inject(U8),pa=hp}catch{}var hp;$n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=H8;$n.createPortal=function(t,e){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Ik(e))throw Error(J(200));return O8(t,e,null,r)};$n.createRoot=function(t,e){if(!Ik(t))throw Error(J(299));var r=!1,n="",o=UF;return e!=null&&(e.unstable_strictMode===!0&&(r=!0),e.identifierPrefix!==void 0&&(n=e.identifierPrefix),e.onRecoverableError!==void 0&&(o=e.onRecoverableError)),e=xk(t,1,!1,null,null,r,!1,n,o),t[za]=e.current,Fp(t.nodeType===8?t.parentNode:t),new kk(e)};$n.findDOMNode=function(t){if(t==null)return null;if(t.nodeType===1)return t;var e=t._reactInternals;if(e===void 0)throw typeof t.render=="function"?Error(J(188)):(t=Object.keys(t).join(","),Error(J(268,t)));return t=lO(e),t=t===null?null:t.stateNode,t};$n.flushSync=function(t){return fl(t)};$n.hydrate=function(t,e,r){if(!ny(e))throw Error(J(200));return oy(null,t,e,!0,r)};$n.hydrateRoot=function(t,e,r){if(!Ik(t))throw Error(J(405));var n=r!=null&&r.hydratedSources||null,o=!1,a="",i=UF;if(r!=null&&(r.unstable_strictMode===!0&&(o=!0),r.identifierPrefix!==void 0&&(a=r.identifierPrefix),r.onRecoverableError!==void 0&&(i=r.onRecoverableError)),e=HF(e,null,t,1,r??null,o,!1,a,i),t[za]=e.current,Fp(t),n)for(t=0;t<n.length;t++)r=n[t],o=r._getVersion,o=o(r._source),e.mutableSourceEagerHydrationData==null?e.mutableSourceEagerHydrationData=[r,o]:e.mutableSourceEagerHydrationData.push(r,o);return new ry(e)};$n.render=function(t,e,r){if(!ny(e))throw Error(J(200));return oy(null,t,e,!1,r)};$n.unmountComponentAtNode=function(t){if(!ny(t))throw Error(J(40));return t._reactRootContainer?(fl(function(){oy(null,null,t,!1,function(){t._reactRootContainer=null,t[za]=null})}),!0):!1};$n.unstable_batchedUpdates=bk;$n.unstable_renderSubtreeIntoContainer=function(t,e,r,n){if(!ny(r))throw Error(J(200));if(t==null||t._reactInternals===void 0)throw Error(J(38));return oy(t,e,r,!1,n)};$n.version="18.3.1-next-f1338f8080-20240426"});var ls=Ze((Tde,zF)=>{"use strict";function $F(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE($F)}catch(t){console.error(t)}}$F(),zF.exports=GF()});var WF=Ze(Ck=>{"use strict";var VF=ls();Ck.createRoot=VF.createRoot,Ck.hydrateRoot=VF.hydrateRoot;var Sde});var QF=Ze(ZF=>{"use strict";var Xp=U();function j8(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var K8=typeof Object.is=="function"?Object.is:j8,Y8=Xp.useSyncExternalStore,q8=Xp.useRef,X8=Xp.useEffect,J8=Xp.useMemo,Z8=Xp.useDebugValue;ZF.useSyncExternalStoreWithSelector=function(t,e,r,n,o){var a=q8(null);if(a.current===null){var i={hasValue:!1,value:null};a.current=i}else i=a.current;a=J8(function(){function l(m){if(!c){if(c=!0,d=m,m=n(m),o!==void 0&&i.hasValue){var f=i.value;if(o(f,m))return u=f}return u=m}if(f=u,K8(d,m))return f;var h=n(m);return o!==void 0&&o(f,h)?(d=m,f):(d=m,u=h)}var c=!1,d,u,p=r===void 0?null:r;return[function(){return l(e())},p===null?void 0:function(){return l(p())}]},[e,r,n,o]);var s=Y8(t,a[0],a[1]);return X8(function(){i.hasValue=!0,i.value=s},[s]),Z8(s),s}});var t1=Ze((uue,e1)=>{"use strict";e1.exports=QF()});var _1=Ze((dy,E1)=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});var iq=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function P1(t){t&&"limit"in t&&(this._limit=t.limit),this.clear()}P1.prototype={toString:function(){return"[object TupleMap]"},_hash:function(e){if(e===this._lastTuple)return this._lastHash;for(var r=e.length,n=[],o=0;o<r;o++){var a=e[o],i=typeof a>"u"?"undefined":iq(a);if(a!==null&&(i==="object"||i==="function"))if(this._idMap.has(a))n.push(this._idMap.get(a));else{var s="#"+this._id++;this._idMap.set(a,s),n.push(s)}else n.push(i==="string"?'"'+a+'"':""+a)}return this._lastTuple=e,this._lastHash=n.join("/<[MI_SEP]>/"),this._lastHash},has:function(e){var r=this._hash(e);return this._cache.has(r)},set:function(e,r){var n=this._hash(e);return this._limit!==void 0&&this._cache.delete(n),this._cache.set(n,r),this._limit!==void 0&&this._cache.size>this._limit&&this._cache.delete(this._cache.keys().next().value),this},get:function(e){var r=this._hash(e);if(this._limit!==void 0&&this._cache.has(r)){var n=this._cache.get(r);return this._cache.delete(r),this._cache.set(r,n),n}return this._cache.get(r)},clear:function(){this._cache=new Map,this._idMap=new WeakMap,this._id=0,delete this._lastTuple,delete this._lastHash}};dy.default=P1;E1.exports=dy.default});var Zr=Ze((uy,N1)=>{"use strict";Object.defineProperty(uy,"__esModule",{value:!0});var sq=_1(),lq=cq(sq);function cq(t){return t&&t.__esModule?t:{default:t}}if(typeof WeakMap>"u"||typeof Map>"u")throw new Error("This lib requires an implementation of WeakMap and Map");function dq(t,e){var r=e&&e.cache||new lq.default(e),n=void 0;return/^\[object (Weak|LRU|NamedTuple)?Map\]$/.test(r.toString())?n=function(a){if(!r.has(a)){var i=t.call(this,a);return r.set(a,i),i}return r.get(a)}:n=function(){if(!r.has(arguments)){var a=t.apply(this,arguments);return r.set(arguments,a),a}return r.get(arguments)},t.name&&(n.displayName=t.name+"Memoized"),n}uy.default=dq;N1.exports=uy.default});var L1=Ze((py,M1)=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});var uq=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function R1(t){t&&"limit"in t&&(this._limit=t.limit),this.clear()}R1.prototype={toString:function(){return"[object NamedTupleMap]"},_hash:function(e){if(e===this._lastTuple)return this._lastHash;for(var r=Object.keys(e),n=r.length,o=[],a=0;a<n;a++){var i=r[a],s=e[i],l=typeof s>"u"?"undefined":uq(s);if(s!==null&&(l==="object"||l==="function"))if(this._idMap.has(s))o.push(this._idMap.get(s));else{var c="#"+this._id++;this._idMap.set(s,c),o.push(c)}else o.push(l==="string"?'"'+s+'"':""+s)}return o.push('{"'+r.join('","')+'"}'),this._lastTuple=e,this._lastHash=o.join("/<[MI_SEP]>/"),this._lastHash},has:function(e){var r=this._hash(e);return this._cache.has(r)},set:function(e,r){var n=this._hash(e);return this._limit!==void 0&&this._cache.delete(n),this._cache.set(n,r),this._limit!==void 0&&this._cache.size>this._limit&&this._cache.delete(this._cache.keys().next().value),this},get:function(e){var r=this._hash(e);if(this._limit!==void 0&&this._cache.has(r)){var n=this._cache.get(r);return this._cache.delete(r),this._cache.set(r,n),n}return this._cache.get(r)},clear:function(){this._cache=new Map,this._idMap=new WeakMap,this._id=0,delete this._lastTuple,delete this._lastHash}};py.default=R1;M1.exports=py.default});var hy=Ze((fy,J1)=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});var vq=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function X1(){this.clear()}X1.prototype={toString:function(){return"[object MixedTupleMap]"},_hash:function(e){if(e===this._lastTuple)return this._lastHash;for(var r=e.length,n=[],o=[],a=[],i=0;i<r;i++){var s=e[i],l=typeof s>"u"?"undefined":vq(s);l!==null&&(l==="object"||l==="function")?a.push(i):(n.push(l==="string"?'"'+s+'"':""+s),o.push(i))}if(a.length===0)throw new Error("Tuple must have at least one non-primitive part");return n.push("["+a.concat(o).join()+"]"),this._lastTuple=e,this._lastHash={nonPrimOrder:a,primHash:n.join("/<[MI_SEP]>/")},this._lastHash},has:function(e){for(var r=this._cache,n=this._hash(e),o=n.nonPrimOrder.length,a=0;a<o;a++){var i=e[n.nonPrimOrder[a]];if(r.has&&r.has(i))r=r.get(i);else return!1}return(r.has||!1)&&r.has(n.primHash)},set:function(e,r){for(var n=this._cache,o=this._hash(e),a=o.nonPrimOrder.length,i=!1,s=0;s<a;s++){var l=e[o.nonPrimOrder[s]];!i&&n.has(l)?n=n.get(l):(i=!0,n.set(l,n=s<a-1?new WeakMap:new Map))}return n.set(o.primHash,r),this},get:function(e){for(var r=this._cache,n=this._hash(e),o=n.nonPrimOrder.length,a=0;a<o;a++){var i=e[n.nonPrimOrder[a]],s=r.get&&r.get(i);if(s===void 0)return s;r=s}return r.get&&r.get(n.primHash)},clear:function(){this._cache=new WeakMap,delete this._lastTuple,delete this._lastHash}};fy.default=X1;J1.exports=fy.default});var ZB=Ze((lhe,JB)=>{"use strict";JB.exports=t=>{if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}});var PU=Ze(wb=>{"use strict";var Tee=U(),See=Symbol.for("react.element"),xee=Symbol.for("react.fragment"),wee=Object.prototype.hasOwnProperty,kee=Tee.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Iee={key:!0,ref:!0,__self:!0,__source:!0};function CU(t,e,r){var n,o={},a=null,i=null;r!==void 0&&(a=""+r),e.key!==void 0&&(a=""+e.key),e.ref!==void 0&&(i=e.ref);for(n in e)wee.call(e,n)&&!Iee.hasOwnProperty(n)&&(o[n]=e[n]);if(t&&t.defaultProps)for(n in e=t.defaultProps,e)o[n]===void 0&&(o[n]=e[n]);return{$$typeof:See,type:t,key:a,ref:i,props:o,_owner:kee.current}}wb.Fragment=xee;wb.jsx=CU;wb.jsxs=CU});var E=Ze((Mbe,EU)=>{"use strict";EU.exports=PU()});var S$=Ze((uxe,T$)=>{"use strict";var kre="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";T$.exports=kre});var I$=Ze((pxe,k$)=>{"use strict";var Ire=S$();function x$(){}function w$(){}w$.resetWarningCache=x$;k$.exports=function(){function t(n,o,a,i,s,l){if(l!==Ire){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}t.isRequired=t;function e(){return t}var r={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:w$,resetWarningCache:x$};return r.PropTypes=r,r}});var Ce=Ze((hxe,C$)=>{C$.exports=I$()();var mxe,fxe});var cv=Ze((lv,iE)=>{(function(t,e){typeof lv=="object"&&typeof iE=="object"?iE.exports=e(Ce(),U()):typeof define=="function"&&define.amd?define(["prop-types","react"],e):typeof lv=="object"?lv["react-splitter-layout"]=e(Ce(),U()):t["react-splitter-layout"]=e(t["prop-types"],t.react)})(window,function(t,e){return(function(r){var n={};function o(a){if(n[a])return n[a].exports;var i=n[a]={i:a,l:!1,exports:{}};return r[a].call(i.exports,i,i.exports,o),i.l=!0,i.exports}return o.m=r,o.c=n,o.d=function(a,i,s){o.o(a,i)||Object.defineProperty(a,i,{enumerable:!0,get:s})},o.r=function(a){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},o.t=function(a,i){if(1&i&&(a=o(a)),8&i||4&i&&typeof a=="object"&&a&&a.__esModule)return a;var s=Object.create(null);if(o.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:a}),2&i&&typeof a!="string")for(var l in a)o.d(s,l,function(c){return a[c]}.bind(null,l));return s},o.n=function(a){var i=a&&a.__esModule?function(){return a.default}:function(){return a};return o.d(i,"a",i),i},o.o=function(a,i){return Object.prototype.hasOwnProperty.call(a,i)},o.p="",o(o.s=2)})([function(r,n){r.exports=t},function(r,n){r.exports=e},function(r,n,o){r.exports=o(3)},function(r,n,o){"use strict";o.r(n);var a=o(1),i=o.n(a),s=o(0),l=o.n(s);function c(v){var S=v.size||0,x=v.percentage?"%":"px",w="layout-pane",I={};return v.primary?w+=" layout-pane-primary":v.vertical?I.height="".concat(S).concat(x):I.width="".concat(S).concat(x),i.a.createElement("div",{className:w,style:I},v.children)}c.propTypes={vertical:l.a.bool,primary:l.a.bool,size:l.a.number,percentage:l.a.bool,children:l.a.oneOfType([l.a.arrayOf(l.a.node),l.a.node])},c.defaultProps={vertical:!1,primary:!1,size:0,percentage:!1,children:[]};var d=c;function u(v){return(u=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(S){return typeof S}:function(S){return S&&typeof Symbol=="function"&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S})(v)}function p(v,S){for(var x=0;x<S.length;x++){var w=S[x];w.enumerable=w.enumerable||!1,w.configurable=!0,"value"in w&&(w.writable=!0),Object.defineProperty(v,w.key,w)}}function m(v){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(S){return S.__proto__||Object.getPrototypeOf(S)})(v)}function f(v,S){return(f=Object.setPrototypeOf||function(x,w){return x.__proto__=w,x})(v,S)}function h(v){if(v===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return v}function b(){if(document.body.createTextRange){var v=document.body.createTextRange();v.collapse(),v.select()}else window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&&document.selection.empty()}var g=(function(v){function S(C){var k,N,O;return(function(L,F){if(!(L instanceof F))throw new TypeError("Cannot call a class as a function")})(this,S),N=this,(k=!(O=m(S).call(this,C))||u(O)!=="object"&&typeof O!="function"?h(N):O).handleResize=k.handleResize.bind(h(h(k))),k.handleMouseMove=k.handleMouseMove.bind(h(h(k))),k.handleMouseUp=k.handleMouseUp.bind(h(h(k))),k.handleTouchMove=k.handleTouchMove.bind(h(h(k))),k.handleSplitterMouseDown=k.handleSplitterMouseDown.bind(h(h(k))),k.state={secondaryPaneSize:0,resizing:!1},k}var x,w,I;return(function(C,k){if(typeof k!="function"&&k!==null)throw new TypeError("Super expression must either be null or a function");C.prototype=Object.create(k&&k.prototype,{constructor:{value:C,writable:!0,configurable:!0}}),k&&f(C,k)})(S,i.a.Component),x=S,(w=[{key:"componentDidMount",value:function(){var C;if(window.addEventListener("resize",this.handleResize),document.addEventListener("mouseup",this.handleMouseUp),document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("touchend",this.handleMouseUp),document.addEventListener("touchmove",this.handleTouchMove),this.props.secondaryInitialSize!==void 0)C=this.props.secondaryInitialSize;else{var k,N=this.container.getBoundingClientRect();k=this.splitter?this.splitter.getBoundingClientRect():{width:4,height:4},C=this.getSecondaryPaneSize(N,k,{left:N.left+(N.width-k.width)/2,top:N.top+(N.height-k.height)/2},!1)}this.setState({secondaryPaneSize:C})}},{key:"componentDidUpdate",value:function(C,k){k.secondaryPaneSize!==this.state.secondaryPaneSize&&this.props.onSecondaryPaneSizeChange&&this.props.onSecondaryPaneSizeChange(this.state.secondaryPaneSize),k.resizing!==this.state.resizing&&(this.state.resizing?this.props.onDragStart&&this.props.onDragStart():this.props.onDragEnd&&this.props.onDragEnd())}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.handleResize),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("touchend",this.handleMouseUp),document.removeEventListener("touchmove",this.handleTouchMove)}},{key:"getSecondaryPaneSize",value:function(C,k,N,O){var L,F,R,z;this.props.vertical?(L=C.height,F=k.height,R=N.top-C.top):(L=C.width,F=k.width,R=N.left-C.left),O&&(R-=F/2),R<0?R=0:R>L-F&&(R=L-F);var Q=L-F-(z=this.props.primaryIndex===1?R:L-F-R);return this.props.percentage&&(z=100*z/L,Q=100*Q/L,F=100*F/L,L=100),Q<this.props.primaryMinSize?z=Math.max(z-(this.props.primaryMinSize-Q),0):z<this.props.secondaryMinSize&&(z=Math.min(L-F-this.props.primaryMinSize,this.props.secondaryMinSize)),z}},{key:"handleResize",value:function(){if(this.splitter&&!this.props.percentage){var C=this.container.getBoundingClientRect(),k=this.splitter.getBoundingClientRect(),N=this.getSecondaryPaneSize(C,k,{left:k.left,top:k.top},!1);this.setState({secondaryPaneSize:N})}}},{key:"handleMouseMove",value:function(C){if(this.state.resizing){var k=this.container.getBoundingClientRect(),N=this.splitter.getBoundingClientRect(),O=this.getSecondaryPaneSize(k,N,{left:C.clientX,top:C.clientY},!0);b(),this.setState({secondaryPaneSize:O})}}},{key:"handleTouchMove",value:function(C){this.handleMouseMove(C.changedTouches[0])}},{key:"handleSplitterMouseDown",value:function(){b(),this.setState({resizing:!0})}},{key:"handleMouseUp",value:function(){this.setState(function(C){return C.resizing?{resizing:!1}:null})}},{key:"render",value:function(){var C=this,k="splitter-layout";this.props.customClassName&&(k+=" ".concat(this.props.customClassName)),this.props.vertical&&(k+=" splitter-layout-vertical"),this.state.resizing&&(k+=" layout-changing");var N=i.a.Children.toArray(this.props.children).slice(0,2);N.length===0&&N.push(i.a.createElement("div",null));for(var O=[],L=this.props.primaryIndex!==0&&this.props.primaryIndex!==1?0:this.props.primaryIndex,F=0;F<N.length;++F){var R=!0,z=null;N.length>1&&F!==L&&(R=!1,z=this.state.secondaryPaneSize),O.push(i.a.createElement(d,{vertical:this.props.vertical,percentage:this.props.percentage,primary:R,size:z},N[F]))}return i.a.createElement("div",{className:k,ref:function(Q){C.container=Q}},O[0],O.length>1&&i.a.createElement("div",{role:"separator",className:"layout-splitter",ref:function(Q){C.splitter=Q},onMouseDown:this.handleSplitterMouseDown,onTouchStart:this.handleSplitterMouseDown}),O.length>1&&O[1])}}])&&p(x.prototype,w),I&&p(x,I),S})();g.propTypes={customClassName:l.a.string,vertical:l.a.bool,percentage:l.a.bool,primaryIndex:l.a.number,primaryMinSize:l.a.number,secondaryInitialSize:l.a.number,secondaryMinSize:l.a.number,onDragStart:l.a.func,onDragEnd:l.a.func,onSecondaryPaneSizeChange:l.a.func,children:l.a.arrayOf(l.a.node)},g.defaultProps={customClassName:"",vertical:!1,percentage:!1,primaryIndex:0,primaryMinSize:0,secondaryInitialSize:void 0,secondaryMinSize:0,onDragStart:null,onDragEnd:null,onSecondaryPaneSizeChange:null,children:[]};var y=g;n.default=y}])})});var xe=Ze((gxe,dv)=>{(function(){"use strict";var t={}.hasOwnProperty;function e(){for(var o="",a=0;a<arguments.length;a++){var i=arguments[a];i&&(o=n(o,r(i)))}return o}function r(o){if(typeof o=="string"||typeof o=="number")return o;if(typeof o!="object")return"";if(Array.isArray(o))return e.apply(null,o);if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]"))return o.toString();var a="";for(var i in o)t.call(o,i)&&o[i]&&(a=n(a,i));return a}function n(o,a){return a?o?o+" "+a:o+a:o}typeof dv<"u"&&dv.exports?(e.default=e,dv.exports=e):typeof define=="function"&&typeof define.amd=="object"&&define.amd?define("classnames",[],function(){return e}):window.classNames=e})()});var N$=Ze((wxe,_$)=>{_$.exports=function(e,r){var n=typeof e=="number",o=typeof r=="number";n&&!o?(r=e,e=0):!n&&!o&&(e=0,r=0),e=e|0,r=r|0;var a=r-e;if(a<0)throw new Error("array length must be positive");for(var i=new Array(a),s=0,l=e;s<a;s++,l++)i[s]=l;return i}});var jl=Ze((Pxe,L$)=>{"use strict";var M$=Object.getOwnPropertySymbols,Pre=Object.prototype.hasOwnProperty,Ere=Object.prototype.propertyIsEnumerable;function _re(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function Nre(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(e).map(function(a){return e[a]});if(n.join("")!=="0123456789")return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(a){o[a]=a}),Object.keys(Object.assign({},o)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}L$.exports=Nre()?Object.assign:function(t,e){for(var r,n=_re(t),o,a=1;a<arguments.length;a++){r=Object(arguments[a]);for(var i in r)Pre.call(r,i)&&(n[i]=r[i]);if(M$){o=M$(r);for(var s=0;s<o.length;s++)Ere.call(r,o[s])&&(n[o[s]]=r[o[s]])}}return n}});var Tz=Ze((FIe,vz)=>{vz.exports=function(){var t=document.getSelection();if(!t.rangeCount)return function(){};for(var e=document.activeElement,r=[],n=0;n<t.rangeCount;n++)r.push(t.getRangeAt(n));switch(e.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":e.blur();break;default:e=null;break}return t.removeAllRanges(),function(){t.type==="Caret"&&t.removeAllRanges(),t.rangeCount||r.forEach(function(o){t.addRange(o)}),e&&e.focus()}}});var Iv=Ze((BIe,xz)=>{"use strict";var Mre=Tz(),Sz={"text/plain":"Text","text/html":"Url",default:"Text"},Lre="Copy to clipboard: #{key}, Enter";function Dre(t){var e=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return t.replace(/#{\s*key\s*}/g,e)}function Are(t,e){var r,n,o,a,i,s,l=!1;e||(e={}),r=e.debug||!1;try{o=Mre(),a=document.createRange(),i=document.getSelection(),s=document.createElement("span"),s.textContent=t,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",function(d){if(d.stopPropagation(),e.format)if(d.preventDefault(),typeof d.clipboardData>"u"){r&&console.warn("unable to use e.clipboardData"),r&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var u=Sz[e.format]||Sz.default;window.clipboardData.setData(u,t)}else d.clipboardData.clearData(),d.clipboardData.setData(e.format,t);e.onCopy&&(d.preventDefault(),e.onCopy(d.clipboardData))}),document.body.appendChild(s),a.selectNodeContents(s),i.addRange(a);var c=document.execCommand("copy");if(!c)throw new Error("copy command was unsuccessful");l=!0}catch(d){r&&console.error("unable to copy using execCommand: ",d),r&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",t),e.onCopy&&e.onCopy(window.clipboardData),l=!0}catch(u){r&&console.error("unable to copy using clipboardData: ",u),r&&console.error("falling back to prompt"),n=Dre("message"in e?e.message:Lre),window.prompt(n,t)}}finally{i&&(typeof i.removeRange=="function"?i.removeRange(a):i.removeAllRanges()),s&&document.body.removeChild(s),o()}return l}xz.exports=Are});var Qo=Ze(te=>{te.MAGENTA_50="#ff1ad9";te.MAGENTA_60="#ed00b5";te.MAGENTA_70="#b5007f";te.MAGENTA_80="#7d004f";te.MAGENTA_90="#440027";te.PURPLE_30="#c069ff";te.PURPLE_40="#ad3bff";te.PURPLE_50="#9400ff";te.PURPLE_60="#8000d7";te.PURPLE_70="#6200a4";te.PURPLE_80="#440071";te.PURPLE_90="#25003e";te.BLUE_40="#45a1ff";te.BLUE_50="#0a84ff";te.BLUE_50_A30="#0a84ff4c";te.BLUE_60="#0060df";te.BLUE_70="#003eaa";te.BLUE_80="#002275";te.BLUE_90="#000f40";te.TEAL_50="#00feff";te.TEAL_60="#00c8d7";te.TEAL_70="#008ea4";te.TEAL_80="#005a71";te.TEAL_90="#002d3e";te.GREEN_50="#30e60b";te.GREEN_60="#12bc00";te.GREEN_70="#058b00";te.GREEN_80="#006504";te.GREEN_90="#003706";te.YELLOW_50="#ffe900";te.YELLOW_60="#d7b600";te.YELLOW_60_A30="#d7b6004c";te.YELLOW_70="#a47f00";te.YELLOW_80="#715100";te.YELLOW_90="#3e2800";te.RED_50="#ff0039";te.RED_60="#d70022";te.RED_60_A30="#d700224c";te.RED_70="#a4000f";te.RED_80="#5a0002";te.RED_90="#3e0200";te.ORANGE_50="#ff9400";te.ORANGE_60="#d76e00";te.ORANGE_70="#a44900";te.ORANGE_80="#712b00";te.ORANGE_90="#3e1300";te.GREY_10="#f9f9fa";te.GREY_10_A10="#f9f9fa19";te.GREY_10_A20="#f9f9fa33";te.GREY_10_A40="#f9f9fa66";te.GREY_10_A60="#f9f9fa99";te.GREY_10_A80="#f9f9facc";te.GREY_20="#ededf0";te.GREY_30="#d7d7db";te.GREY_40="#b1b1b3";te.GREY_50="#737373";te.GREY_60="#4a4a4f";te.GREY_70="#38383d";te.GREY_80="#2a2a2e";te.GREY_90="#0c0c0d";te.GREY_90_A05="#0c0c0d0c";te.GREY_90_A10="#0c0c0d19";te.GREY_90_A20="#0c0c0d33";te.GREY_90_A30="#0c0c0d4c";te.GREY_90_A40="#0c0c0d66";te.GREY_90_A50="#0c0c0d7f";te.GREY_90_A60="#0c0c0d99";te.GREY_90_A70="#0c0c0db2";te.GREY_90_A80="#0c0c0dcc";te.GREY_90_A90="#0c0c0de5";te.INK_40="#7175A8";te.INK_50="#595E91";te.INK_60="#464B76";te.INK_70="#363959";te.INK_80="#202340";te.INK_90="#0f1126";te.WHITE_100="#ffffff"});var Fe=Ze((Hz,XE)=>{"use strict";(function(t){if(typeof Hz=="object"&&typeof XE<"u")XE.exports=t(U());else if(typeof define=="function"&&define.amd)define(["react"],t);else{var e;if(typeof window<"u"?e=window:typeof global<"u"?e=global:typeof self<"u"?e=self:e=this,typeof e.React>"u")throw Error("React module should be required before ReactDOMFactories");e.ReactDOMFactories=t(e.React)}})(function(t){function e(n){var o=t.createElement.bind(null,n);return o.type=n,o}var r={a:e("a"),abbr:e("abbr"),address:e("address"),area:e("area"),article:e("article"),aside:e("aside"),audio:e("audio"),b:e("b"),base:e("base"),bdi:e("bdi"),bdo:e("bdo"),big:e("big"),blockquote:e("blockquote"),body:e("body"),br:e("br"),button:e("button"),canvas:e("canvas"),caption:e("caption"),cite:e("cite"),code:e("code"),col:e("col"),colgroup:e("colgroup"),data:e("data"),datalist:e("datalist"),dd:e("dd"),del:e("del"),details:e("details"),dfn:e("dfn"),dialog:e("dialog"),div:e("div"),dl:e("dl"),dt:e("dt"),em:e("em"),embed:e("embed"),fieldset:e("fieldset"),figcaption:e("figcaption"),figure:e("figure"),footer:e("footer"),form:e("form"),h1:e("h1"),h2:e("h2"),h3:e("h3"),h4:e("h4"),h5:e("h5"),h6:e("h6"),head:e("head"),header:e("header"),hgroup:e("hgroup"),hr:e("hr"),html:e("html"),i:e("i"),iframe:e("iframe"),img:e("img"),input:e("input"),ins:e("ins"),kbd:e("kbd"),keygen:e("keygen"),label:e("label"),legend:e("legend"),li:e("li"),link:e("link"),main:e("main"),map:e("map"),mark:e("mark"),menu:e("menu"),menuitem:e("menuitem"),meta:e("meta"),meter:e("meter"),nav:e("nav"),noscript:e("noscript"),object:e("object"),ol:e("ol"),optgroup:e("optgroup"),option:e("option"),output:e("output"),p:e("p"),param:e("param"),picture:e("picture"),pre:e("pre"),progress:e("progress"),q:e("q"),rp:e("rp"),rt:e("rt"),ruby:e("ruby"),s:e("s"),samp:e("samp"),script:e("script"),section:e("section"),select:e("select"),small:e("small"),source:e("source"),span:e("span"),strong:e("strong"),style:e("style"),sub:e("sub"),summary:e("summary"),sup:e("sup"),table:e("table"),tbody:e("tbody"),td:e("td"),textarea:e("textarea"),tfoot:e("tfoot"),th:e("th"),thead:e("thead"),time:e("time"),title:e("title"),tr:e("tr"),track:e("track"),u:e("u"),ul:e("ul"),var:e("var"),video:e("video"),wbr:e("wbr"),circle:e("circle"),clipPath:e("clipPath"),defs:e("defs"),ellipse:e("ellipse"),g:e("g"),image:e("image"),line:e("line"),linearGradient:e("linearGradient"),mask:e("mask"),path:e("path"),pattern:e("pattern"),polygon:e("polygon"),polyline:e("polyline"),radialGradient:e("radialGradient"),rect:e("rect"),stop:e("stop"),svg:e("svg"),text:e("text"),tspan:e("tspan")};return r})});var vW=Ze(ut=>{"use strict";var __=jl(),ra=typeof Symbol=="function"&&Symbol.for,Rf=ra?Symbol.for("react.element"):60103,Lae=ra?Symbol.for("react.portal"):60106,Dae=ra?Symbol.for("react.fragment"):60107,Aae=ra?Symbol.for("react.strict_mode"):60108,Oae=ra?Symbol.for("react.profiler"):60114,Fae=ra?Symbol.for("react.provider"):60109,Bae=ra?Symbol.for("react.context"):60110,Hae=ra?Symbol.for("react.forward_ref"):60112,Uae=ra?Symbol.for("react.suspense"):60113,Gae=ra?Symbol.for("react.memo"):60115,$ae=ra?Symbol.for("react.lazy"):60116,lW=typeof Symbol=="function"&&Symbol.iterator;function Mf(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r<arguments.length;r++)e+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var cW={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},dW={};function uu(t,e,r){this.props=t,this.context=e,this.refs=dW,this.updater=r||cW}uu.prototype.isReactComponent={};uu.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error(Mf(85));this.updater.enqueueSetState(this,t,e,"setState")};uu.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function uW(){}uW.prototype=uu.prototype;function N_(t,e,r){this.props=t,this.context=e,this.refs=dW,this.updater=r||cW}var R_=N_.prototype=new uW;R_.constructor=N_;__(R_,uu.prototype);R_.isPureReactComponent=!0;var M_={current:null},pW=Object.prototype.hasOwnProperty,mW={key:!0,ref:!0,__self:!0,__source:!0};function fW(t,e,r){var n,o={},a=null,i=null;if(e!=null)for(n in e.ref!==void 0&&(i=e.ref),e.key!==void 0&&(a=""+e.key),e)pW.call(e,n)&&!mW.hasOwnProperty(n)&&(o[n]=e[n]);var s=arguments.length-2;if(s===1)o.children=r;else if(1<s){for(var l=Array(s),c=0;c<s;c++)l[c]=arguments[c+2];o.children=l}if(t&&t.defaultProps)for(n in s=t.defaultProps,s)o[n]===void 0&&(o[n]=s[n]);return{$$typeof:Rf,type:t,key:a,ref:i,props:o,_owner:M_.current}}function zae(t,e){return{$$typeof:Rf,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function L_(t){return typeof t=="object"&&t!==null&&t.$$typeof===Rf}function Vae(t){var e={"=":"=0",":":"=2"};return"$"+(""+t).replace(/[=:]/g,function(r){return e[r]})}var hW=/\/+/g,hT=[];function gW(t,e,r,n){if(hT.length){var o=hT.pop();return o.result=t,o.keyPrefix=e,o.func=r,o.context=n,o.count=0,o}return{result:t,keyPrefix:e,func:r,context:n,count:0}}function yW(t){t.result=null,t.keyPrefix=null,t.func=null,t.context=null,t.count=0,10>hT.length&&hT.push(t)}function C_(t,e,r,n){var o=typeof t;(o==="undefined"||o==="boolean")&&(t=null);var a=!1;if(t===null)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){case Rf:case Lae:a=!0}}if(a)return r(n,t,e===""?"."+I_(t,0):e),1;if(a=0,e=e===""?".":e+":",Array.isArray(t))for(var i=0;i<t.length;i++){o=t[i];var s=e+I_(o,i);a+=C_(o,s,r,n)}else if(t===null||typeof t!="object"?s=null:(s=lW&&t[lW]||t["@@iterator"],s=typeof s=="function"?s:null),typeof s=="function")for(t=s.call(t),i=0;!(o=t.next()).done;)o=o.value,s=e+I_(o,i++),a+=C_(o,s,r,n);else if(o==="object")throw r=""+t,Error(Mf(31,r==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":r,""));return a}function P_(t,e,r){return t==null?0:C_(t,"",e,r)}function I_(t,e){return typeof t=="object"&&t!==null&&t.key!=null?Vae(t.key):e.toString(36)}function Wae(t,e){t.func.call(t.context,e,t.count++)}function jae(t,e,r){var n=t.result,o=t.keyPrefix;t=t.func.call(t.context,e,t.count++),Array.isArray(t)?E_(t,n,r,function(a){return a}):t!=null&&(L_(t)&&(t=zae(t,o+(!t.key||e&&e.key===t.key?"":(""+t.key).replace(hW,"$&/")+"/")+r)),n.push(t))}function E_(t,e,r,n,o){var a="";r!=null&&(a=(""+r).replace(hW,"$&/")+"/"),e=gW(e,a,n,o),P_(t,jae,e),yW(e)}var bW={current:null};function Si(){var t=bW.current;if(t===null)throw Error(Mf(321));return t}var Kae={ReactCurrentDispatcher:bW,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:M_,IsSomeRendererActing:{current:!1},assign:__};ut.Children={map:function(t,e,r){if(t==null)return t;var n=[];return E_(t,n,null,e,r),n},forEach:function(t,e,r){if(t==null)return t;e=gW(null,null,e,r),P_(t,Wae,e),yW(e)},count:function(t){return P_(t,function(){return null},null)},toArray:function(t){var e=[];return E_(t,e,null,function(r){return r}),e},only:function(t){if(!L_(t))throw Error(Mf(143));return t}};ut.Component=uu;ut.Fragment=Dae;ut.Profiler=Oae;ut.PureComponent=N_;ut.StrictMode=Aae;ut.Suspense=Uae;ut.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Kae;ut.cloneElement=function(t,e,r){if(t==null)throw Error(Mf(267,t));var n=__({},t.props),o=t.key,a=t.ref,i=t._owner;if(e!=null){if(e.ref!==void 0&&(a=e.ref,i=M_.current),e.key!==void 0&&(o=""+e.key),t.type&&t.type.defaultProps)var s=t.type.defaultProps;for(l in e)pW.call(e,l)&&!mW.hasOwnProperty(l)&&(n[l]=e[l]===void 0&&s!==void 0?s[l]:e[l])}var l=arguments.length-2;if(l===1)n.children=r;else if(1<l){s=Array(l);for(var c=0;c<l;c++)s[c]=arguments[c+2];n.children=s}return{$$typeof:Rf,type:t.type,key:o,ref:a,props:n,_owner:i}};ut.createContext=function(t,e){return e===void 0&&(e=null),t={$$typeof:Bae,_calculateChangedBits:e,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider={$$typeof:Fae,_context:t},t.Consumer=t};ut.createElement=fW;ut.createFactory=function(t){var e=fW.bind(null,t);return e.type=t,e};ut.createRef=function(){return{current:null}};ut.forwardRef=function(t){return{$$typeof:Hae,render:t}};ut.isValidElement=L_;ut.lazy=function(t){return{$$typeof:$ae,_ctor:t,_status:-1,_result:null}};ut.memo=function(t,e){return{$$typeof:Gae,type:t,compare:e===void 0?null:e}};ut.useCallback=function(t,e){return Si().useCallback(t,e)};ut.useContext=function(t,e){return Si().useContext(t,e)};ut.useDebugValue=function(){};ut.useEffect=function(t,e){return Si().useEffect(t,e)};ut.useImperativeHandle=function(t,e,r){return Si().useImperativeHandle(t,e,r)};ut.useLayoutEffect=function(t,e){return Si().useLayoutEffect(t,e)};ut.useMemo=function(t,e){return Si().useMemo(t,e)};ut.useReducer=function(t,e,r){return Si().useReducer(t,e,r)};ut.useRef=function(t){return Si().useRef(t)};ut.useState=function(t){return Si().useState(t)};ut.version="16.14.0"});var SW=Ze((WPe,TW)=>{"use strict";TW.exports=vW()});var i6=Ze((L$e,JM)=>{"use strict";var a6=(t,e,r)=>{let n=e<0?t.length+e:e;if(n>=0&&n<t.length){let o=r<0?t.length+r:r,[a]=t.splice(e,1);t.splice(o,0,a)}},Rle=(t,e,r)=>(t=[...t],a6(t,e,r),t);JM.exports=Rle;JM.exports.mutate=a6});var l7=Ze((ix,s7)=>{(function(t,e){typeof ix=="object"&&typeof s7<"u"?e(ix):typeof define=="function"&&define.amd?define(["exports"],e):e(t.reduxLogger=t.reduxLogger||{})})(ix,function(t){"use strict";function e(M,G){M.super_=G,M.prototype=Object.create(G.prototype,{constructor:{value:M,enumerable:!1,writable:!0,configurable:!0}})}function r(M,G){Object.defineProperty(this,"kind",{value:M,enumerable:!0}),G&&G.length&&Object.defineProperty(this,"path",{value:G,enumerable:!0})}function n(M,G,B){n.super_.call(this,"E",M),Object.defineProperty(this,"lhs",{value:G,enumerable:!0}),Object.defineProperty(this,"rhs",{value:B,enumerable:!0})}function o(M,G){o.super_.call(this,"N",M),Object.defineProperty(this,"rhs",{value:G,enumerable:!0})}function a(M,G){a.super_.call(this,"D",M),Object.defineProperty(this,"lhs",{value:G,enumerable:!0})}function i(M,G,B){i.super_.call(this,"A",M),Object.defineProperty(this,"index",{value:G,enumerable:!0}),Object.defineProperty(this,"item",{value:B,enumerable:!0})}function s(M,G,B){var A=M.slice((B||G)+1||M.length);return M.length=G<0?M.length+G:G,M.push.apply(M,A),M}function l(M){var G=typeof M>"u"?"undefined":F(M);return G!=="object"?G:M===Math?"math":M===null?"null":Array.isArray(M)?"array":Object.prototype.toString.call(M)==="[object Date]"?"date":typeof M.toString=="function"&&/^\/.*\//.test(M.toString())?"regexp":"object"}function c(M,G,B,A,K,Z,ne){K=K||[],ne=ne||[];var ue=K.slice(0);if(typeof Z<"u"){if(A){if(typeof A=="function"&&A(ue,Z))return;if((typeof A>"u"?"undefined":F(A))==="object"){if(A.prefilter&&A.prefilter(ue,Z))return;if(A.normalize){var Xe=A.normalize(ue,Z,M,G);Xe&&(M=Xe[0],G=Xe[1])}}}ue.push(Z)}l(M)==="regexp"&&l(G)==="regexp"&&(M=M.toString(),G=G.toString());var st=typeof M>"u"?"undefined":F(M),Me=typeof G>"u"?"undefined":F(G),Ve=st!=="undefined"||ne&&ne[ne.length-1].lhs&&ne[ne.length-1].lhs.hasOwnProperty(Z),Ct=Me!=="undefined"||ne&&ne[ne.length-1].rhs&&ne[ne.length-1].rhs.hasOwnProperty(Z);if(!Ve&&Ct)B(new o(ue,G));else if(!Ct&&Ve)B(new a(ue,M));else if(l(M)!==l(G))B(new n(ue,M,G));else if(l(M)==="date"&&M-G!==0)B(new n(ue,M,G));else if(st==="object"&&M!==null&&G!==null)if(ne.filter(function(pe){return pe.lhs===M}).length)M!==G&&B(new n(ue,M,G));else{if(ne.push({lhs:M,rhs:G}),Array.isArray(M)){var q;for(M.length,q=0;q<M.length;q++)q>=G.length?B(new i(ue,q,new a(void 0,M[q]))):c(M[q],G[q],B,A,ue,q,ne);for(;q<G.length;)B(new i(ue,q,new o(void 0,G[q++])))}else{var ee=Object.keys(M),le=Object.keys(G);ee.forEach(function(pe,he){var Rt=le.indexOf(pe);Rt>=0?(c(M[pe],G[pe],B,A,ue,pe,ne),le=s(le,Rt)):c(M[pe],void 0,B,A,ue,pe,ne)}),le.forEach(function(pe){c(void 0,G[pe],B,A,ue,pe,ne)})}ne.length=ne.length-1}else M!==G&&(st==="number"&&isNaN(M)&&isNaN(G)||B(new n(ue,M,G)))}function d(M,G,B,A){return A=A||[],c(M,G,function(K){K&&A.push(K)},B),A.length?A:void 0}function u(M,G,B){if(B.path&&B.path.length){var A,K=M[G],Z=B.path.length-1;for(A=0;A<Z;A++)K=K[B.path[A]];switch(B.kind){case"A":u(K[B.path[A]],B.index,B.item);break;case"D":delete K[B.path[A]];break;case"E":case"N":K[B.path[A]]=B.rhs}}else switch(B.kind){case"A":u(M[G],B.index,B.item);break;case"D":M=s(M,G);break;case"E":case"N":M[G]=B.rhs}return M}function p(M,G,B){if(M&&G&&B&&B.kind){for(var A=M,K=-1,Z=B.path?B.path.length-1:0;++K<Z;)typeof A[B.path[K]]>"u"&&(A[B.path[K]]=typeof B.path[K]=="number"?[]:{}),A=A[B.path[K]];switch(B.kind){case"A":u(B.path?A[B.path[K]]:A,B.index,B.item);break;case"D":delete A[B.path[K]];break;case"E":case"N":A[B.path[K]]=B.rhs}}}function m(M,G,B){if(B.path&&B.path.length){var A,K=M[G],Z=B.path.length-1;for(A=0;A<Z;A++)K=K[B.path[A]];switch(B.kind){case"A":m(K[B.path[A]],B.index,B.item);break;case"D":K[B.path[A]]=B.lhs;break;case"E":K[B.path[A]]=B.lhs;break;case"N":delete K[B.path[A]]}}else switch(B.kind){case"A":m(M[G],B.index,B.item);break;case"D":M[G]=B.lhs;break;case"E":M[G]=B.lhs;break;case"N":M=s(M,G)}return M}function f(M,G,B){if(M&&G&&B&&B.kind){var A,K,Z=M;for(K=B.path.length-1,A=0;A<K;A++)typeof Z[B.path[A]]>"u"&&(Z[B.path[A]]={}),Z=Z[B.path[A]];switch(B.kind){case"A":m(Z[B.path[A]],B.index,B.item);break;case"D":Z[B.path[A]]=B.lhs;break;case"E":Z[B.path[A]]=B.lhs;break;case"N":delete Z[B.path[A]]}}}function h(M,G,B){if(M&&G){var A=function(K){B&&!B(M,G,K)||p(M,G,K)};c(M,G,A)}}function b(M){return"color: "+Q[M].color+"; font-weight: bold"}function g(M){var G=M.kind,B=M.path,A=M.lhs,K=M.rhs,Z=M.index,ne=M.item;switch(G){case"E":return[B.join("."),A,"\u2192",K];case"N":return[B.join("."),K];case"D":return[B.join(".")];case"A":return[B.join(".")+"["+Z+"]",ne];default:return[]}}function y(M,G,B,A){var K=d(M,G);try{A?B.groupCollapsed("diff"):B.group("diff")}catch{B.log("diff")}K?K.forEach(function(Z){var ne=Z.kind,ue=g(Z);B.log.apply(B,["%c "+Q[ne].text,b(ne)].concat(R(ue)))}):B.log("\u2014\u2014 no diff \u2014\u2014");try{B.groupEnd()}catch{B.log("\u2014\u2014 diff end \u2014\u2014 ")}}function v(M,G,B,A){switch(typeof M>"u"?"undefined":F(M)){case"object":return typeof M[A]=="function"?M[A].apply(M,R(B)):M[A];case"function":return M(G);default:return M}}function S(M){var G=M.timestamp,B=M.duration;return function(A,K,Z){var ne=["action"];return ne.push("%c"+String(A.type)),G&&ne.push("%c@ "+K),B&&ne.push("%c(in "+Z.toFixed(2)+" ms)"),ne.join(" ")}}function x(M,G){var B=G.logger,A=G.actionTransformer,K=G.titleFormatter,Z=K===void 0?S(G):K,ne=G.collapsed,ue=G.colors,Xe=G.level,st=G.diff,Me=typeof G.titleFormatter>"u";M.forEach(function(Ve,Ct){var q=Ve.started,ee=Ve.startedTime,le=Ve.action,pe=Ve.prevState,he=Ve.error,Rt=Ve.took,Je=Ve.nextState,ln=M[Ct+1];ln&&(Je=ln.prevState,Rt=ln.started-q);var Mt=A(le),yr=typeof ne=="function"?ne(function(){return Je},le,Ve):ne,cn=O(ee),eo=ue.title?"color: "+ue.title(Mt)+";":"",dn=["color: gray; font-weight: lighter;"];dn.push(eo),G.timestamp&&dn.push("color: gray; font-weight: lighter;"),G.duration&&dn.push("color: gray; font-weight: lighter;");var br=Z(Mt,cn,Rt);try{yr?ue.title&&Me?B.groupCollapsed.apply(B,["%c "+br].concat(dn)):B.groupCollapsed(br):ue.title&&Me?B.group.apply(B,["%c "+br].concat(dn)):B.group(br)}catch{B.log(br)}var An=v(Xe,Mt,[pe],"prevState"),Po=v(Xe,Mt,[Mt],"action"),On=v(Xe,Mt,[he,pe],"error"),el=v(Xe,Mt,[Je],"nextState");if(An)if(ue.prevState){var Tc="color: "+ue.prevState(pe)+"; font-weight: bold";B[An]("%c prev state",Tc,pe)}else B[An]("prev state",pe);if(Po)if(ue.action){var Sc="color: "+ue.action(Mt)+"; font-weight: bold";B[Po]("%c action ",Sc,Mt)}else B[Po]("action ",Mt);if(he&&On)if(ue.error){var tl="color: "+ue.error(he,pe)+"; font-weight: bold;";B[On]("%c error ",tl,he)}else B[On]("error ",he);if(el)if(ue.nextState){var wh="color: "+ue.nextState(Je)+"; font-weight: bold";B[el]("%c next state",wh,Je)}else B[el]("next state",Je);st&&y(pe,Je,B,yr);try{B.groupEnd()}catch{B.log("\u2014\u2014 log end \u2014\u2014")}})}function w(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},G=Object.assign({},ie,M),B=G.logger,A=G.stateTransformer,K=G.errorTransformer,Z=G.predicate,ne=G.logErrors,ue=G.diffPredicate;if(typeof B>"u")return function(){return function(st){return function(Me){return st(Me)}}};if(M.getState&&M.dispatch)return console.error(`[redux-logger] redux-logger not installed. Make sure to pass logger instance as middleware:
|
|
9
|
+
// Logger with default options
|
|
10
|
+
import { logger } from 'redux-logger'
|
|
11
|
+
const store = createStore(
|
|
12
|
+
reducer,
|
|
13
|
+
applyMiddleware(logger)
|
|
14
|
+
)
|
|
15
|
+
// Or you can create your own logger with custom options http://bit.ly/redux-logger-options
|
|
16
|
+
import createLogger from 'redux-logger'
|
|
17
|
+
const logger = createLogger({
|
|
18
|
+
// ...options
|
|
19
|
+
});
|
|
20
|
+
const store = createStore(
|
|
21
|
+
reducer,
|
|
22
|
+
applyMiddleware(logger)
|
|
23
|
+
)
|
|
24
|
+
`),function(){return function(st){return function(Me){return st(Me)}}};var Xe=[];return function(st){var Me=st.getState;return function(Ve){return function(Ct){if(typeof Z=="function"&&!Z(Me,Ct))return Ve(Ct);var q={};Xe.push(q),q.started=L.now(),q.startedTime=new Date,q.prevState=A(Me()),q.action=Ct;var ee=void 0;if(ne)try{ee=Ve(Ct)}catch(pe){q.error=K(pe)}else ee=Ve(Ct);q.took=L.now()-q.started,q.nextState=A(Me());var le=G.diff&&typeof ue=="function"?ue(Me,Ct):G.diff;if(x(Xe,Object.assign({},G,{diff:le})),Xe.length=0,q.error)throw q.error;return ee}}}}var I,C,k=function(M,G){return new Array(G+1).join(M)},N=function(M,G){return k("0",G-M.toString().length)+M},O=function(M){return N(M.getHours(),2)+":"+N(M.getMinutes(),2)+":"+N(M.getSeconds(),2)+"."+N(M.getMilliseconds(),3)},L=typeof performance<"u"&&performance!==null&&typeof performance.now=="function"?performance:Date,F=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(M){return typeof M}:function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},R=function(M){if(Array.isArray(M)){for(var G=0,B=Array(M.length);G<M.length;G++)B[G]=M[G];return B}return Array.from(M)},z=[];I=(typeof global>"u"?"undefined":F(global))==="object"&&global?global:typeof window<"u"?window:{},C=I.DeepDiff,C&&z.push(function(){typeof C<"u"&&I.DeepDiff===d&&(I.DeepDiff=C,C=void 0)}),e(n,r),e(o,r),e(a,r),e(i,r),Object.defineProperties(d,{diff:{value:d,enumerable:!0},observableDiff:{value:c,enumerable:!0},applyDiff:{value:h,enumerable:!0},applyChange:{value:p,enumerable:!0},revertChange:{value:f,enumerable:!0},isConflict:{value:function(){return typeof C<"u"},enumerable:!0},noConflict:{value:function(){return z&&(z.forEach(function(M){M()}),z=null),d},enumerable:!0}});var Q={E:{color:"#2196F3",text:"CHANGED:"},N:{color:"#4CAF50",text:"ADDED:"},D:{color:"#F44336",text:"DELETED:"},A:{color:"#2196F3",text:"ARRAY:"}},ie={level:"log",logger:console,logErrors:!0,collapsed:void 0,predicate:void 0,duration:!1,timestamp:!0,stateTransformer:function(M){return M},actionTransformer:function(M){return M},errorTransformer:function(M){return M},colors:{title:function(){return"inherit"},prevState:function(){return"#9E9E9E"},action:function(){return"#03A9F4"},nextState:function(){return"#4CAF50"},error:function(){return"#F20404"}},diff:!1,diffPredicate:void 0,transformer:void 0},me=function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},G=M.dispatch,B=M.getState;return typeof G=="function"||typeof B=="function"?w()({dispatch:G,getState:B}):void console.error(`
|
|
25
|
+
[redux-logger v3] BREAKING CHANGE
|
|
26
|
+
[redux-logger v3] Since 3.0.0 redux-logger exports by default logger with default settings.
|
|
27
|
+
[redux-logger v3] Change
|
|
28
|
+
[redux-logger v3] import createLogger from 'redux-logger'
|
|
29
|
+
[redux-logger v3] to
|
|
30
|
+
[redux-logger v3] import { createLogger } from 'redux-logger'
|
|
31
|
+
`)};t.defaults=ie,t.createLogger=w,t.logger=me,t.default=me,Object.defineProperty(t,"__esModule",{value:!0})})});var T7=T(WF());var a7=T(U());function Pk(t,e){return Array.isArray(e)?e.map(r=>jF(t,r)):jF(t,e)}function jF(t,e){for(let r of t)if(r.hasMessage(e))return r;return null}var uo=T(U(),1);var sd=class extends Array{static from(e){return e instanceof this?e:new this(e)}};var ld=class extends sd{constructor(e){if(super(),Symbol.iterator in Object(e))this.iterator=e[Symbol.iterator]();else throw new TypeError("Argument must implement the iteration protocol.")}[Symbol.iterator](){let e=this,r=0;return{next(){return e.length<=r&&e.push(e.iterator.next()),e[r++]}}}touchNext(e=1){let r=0;for(;r++<e;){let n=this[this.length-1];if(n&&n.done)break;this.push(this.iterator.next())}return this[this.length-1]}};var Ek;function KF(){if(typeof document>"u")throw new Error("`document` is undefined. Without it, translations cannot be safely sanitized. Consult the documentation at https://github.com/projectfluent/fluent.js/wiki/React-Overlays.");if(!Ek){let t=document.createElement("template");Ek=function(r){return t.innerHTML=r,Array.from(t.content.childNodes)}}return Ek}var G8={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},YF=G8;var $8={menuitem:!0,...YF},_k=$8;var z8=/<|&#?\w+;/,V8=t=>{console.warn(`[@fluent/react] ${t.name}: ${t.message}`)},cd=class{constructor(e,r=KF(),n){this.bundles=ld.from(e),this.parseMarkup=r,this.reportError=n||V8}getBundle(e){return Pk(this.bundles,e)}areBundlesEmpty(){return!!this.bundles[Symbol.iterator]().next().done}getString(e,r,n){let o=this.getBundle(e);if(o){let a=o.getMessage(e);if(a&&a.value){let i=[],s=o.formatPattern(a.value,r,i);for(let l of i)this.reportError(l);return s}}else this.areBundlesEmpty()?this.reportError(new Error("Attempting to get a string when no localization bundles are present.")):this.reportError(new Error(`The id "${e}" did not match any messages in the localization bundles.`));return n||e}getElement(e,r,n={}){let o=this.getBundle(r);if(o===null)return r?this.areBundlesEmpty()?this.reportError(new Error("Attempting to get a localized element when no localization bundles are present.")):this.reportError(new Error(`The id "${r}" did not match any messages in the localization bundles.`)):this.reportError(new Error("No string id was provided when localizing a component.")),(0,uo.createElement)(uo.Fragment,null,e);let a=o.getMessage(r),i=[],s;if(n.attrs&&a.attributes){s={},i=[];for(let[p,m]of Object.entries(n.attrs))m&&p in a.attributes&&(s[p]=o.formatPattern(a.attributes[p],n.vars,i));for(let p of i)this.reportError(p)}if(typeof e.type=="string"&&e.type in _k)return(0,uo.cloneElement)(e,s);if(a.value===null)return(0,uo.cloneElement)(e,s);i=[];let l=o.formatPattern(a.value,n.vars,i);for(let p of i)this.reportError(p);if(!z8.test(l)||this.parseMarkup===null)return(0,uo.cloneElement)(e,s,l);let c;if(n.elems){c=new Map;for(let[p,m]of Object.entries(n.elems))(0,uo.isValidElement)(m)&&c.set(p.toLowerCase(),m)}let u=this.parseMarkup(l).map(({nodeName:p,textContent:m})=>{if(p==="#text")return m;let f=p.toLowerCase(),h=c?.get(f);return h?typeof h.type=="string"&&h.type in _k?h:(0,uo.cloneElement)(h,void 0,m):m});return(0,uo.cloneElement)(e,s,...u)}};var XF=T(U(),1);var qF=T(U(),1),dd=(0,qF.createContext)(null);function Nk(t){return(0,XF.createElement)(dd.Provider,{value:t.l10n},t.children)}var JF=T(U(),1);var yl=T(U(),1);function P(t){let{id:e,attrs:r,vars:n,elems:o,children:a}=t,i=(0,yl.useContext)(dd);if(!i)throw new Error("The <Localized /> component was not properly wrapped in a <LocalizationProvider />.");let s;if(Array.isArray(a)){if(a.length>1)throw new Error("Expected to receive a single React element to localize.");s=a[0]}else s=a??null;if(!(0,yl.isValidElement)(s)){let l=typeof s=="string"?s:void 0,c=i.getString(e,n,l);return yl.default.createElement(yl.default.Fragment,null,c)}return i.getElement(s,e,{attrs:r,vars:n,elems:o})}var W8=T(U(),1);var Ie=T(U(),1),KY=T(t1(),1),Q8=Ie.version.startsWith("19"),eY=Symbol.for(Q8?"react.transitional.element":"react.element"),tY=Symbol.for("react.portal"),rY=Symbol.for("react.fragment"),nY=Symbol.for("react.strict_mode"),oY=Symbol.for("react.profiler"),aY=Symbol.for("react.consumer"),iY=Symbol.for("react.context"),l1=Symbol.for("react.forward_ref"),sY=Symbol.for("react.suspense"),lY=Symbol.for("react.suspense_list"),Dk=Symbol.for("react.memo"),cY=Symbol.for("react.lazy");var dY=l1,uY=Dk;function pY(t){if(typeof t=="object"&&t!==null){let{$$typeof:e}=t;switch(e){case eY:switch(t=t.type,t){case rY:case oY:case nY:case sY:case lY:return t;default:switch(t=t&&t.$$typeof,t){case iY:case l1:case cY:case Dk:return t;case aY:return t;default:return e}}case tY:return e}}}function mY(t){return pY(t)===Dk}function fY(t,e,r,n,{areStatesEqual:o,areOwnPropsEqual:a,areStatePropsEqual:i}){let s=!1,l,c,d,u,p;function m(y,v){return l=y,c=v,d=t(l,c),u=e(n,c),p=r(d,u,c),s=!0,p}function f(){return d=t(l,c),e.dependsOnOwnProps&&(u=e(n,c)),p=r(d,u,c),p}function h(){return t.dependsOnOwnProps&&(d=t(l,c)),e.dependsOnOwnProps&&(u=e(n,c)),p=r(d,u,c),p}function b(){let y=t(l,c),v=!i(y,d);return d=y,v&&(p=r(d,u,c)),p}function g(y,v){let S=!a(v,c),x=!o(y,l,v,c);return l=y,c=v,S&&x?f():S?h():x?b():p}return function(v,S){return s?g(v,S):m(v,S)}}function hY(t,{initMapStateToProps:e,initMapDispatchToProps:r,initMergeProps:n,...o}){let a=e(t,o),i=r(t,o),s=n(t,o);return fY(a,i,s,t,o)}function gY(t,e){let r={};for(let n in t){let o=t[n];typeof o=="function"&&(r[n]=(...a)=>e(o(...a)))}return r}function Mk(t){return function(r){let n=t(r);function o(){return n}return o.dependsOnOwnProps=!1,o}}function r1(t){return t.dependsOnOwnProps?!!t.dependsOnOwnProps:t.length!==1}function c1(t,e){return function(n,{displayName:o}){let a=function(s,l){return a.dependsOnOwnProps?a.mapToProps(s,l):a.mapToProps(s,void 0)};return a.dependsOnOwnProps=!0,a.mapToProps=function(s,l){a.mapToProps=t,a.dependsOnOwnProps=r1(t);let c=a(s,l);return typeof c=="function"&&(a.mapToProps=c,a.dependsOnOwnProps=r1(c),c=a(s,l)),c},a}}function Ak(t,e){return(r,n)=>{throw new Error(`Invalid value of type ${typeof t} for ${e} argument when connecting component ${n.wrappedComponentName}.`)}}function yY(t){return t&&typeof t=="object"?Mk(e=>gY(t,e)):t?typeof t=="function"?c1(t,"mapDispatchToProps"):Ak(t,"mapDispatchToProps"):Mk(e=>({dispatch:e}))}function bY(t){return t?typeof t=="function"?c1(t,"mapStateToProps"):Ak(t,"mapStateToProps"):Mk(()=>({}))}function vY(t,e,r){return{...r,...t,...e}}function TY(t){return function(r,{displayName:n,areMergedPropsEqual:o}){let a=!1,i;return function(l,c,d){let u=t(l,c,d);return a?o(u,i)||(i=u):(a=!0,i=u),i}}}function SY(t){return t?typeof t=="function"?TY(t):Ak(t,"mergeProps"):()=>vY}function xY(t){t()}function wY(){let t=null,e=null;return{clear(){t=null,e=null},notify(){xY(()=>{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],n=t;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0,o=e={callback:r,next:null,prev:e};return o.prev?o.prev.next=o:t=o,function(){!n||t===null||(n=!1,o.next?o.next.prev=o.prev:e=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}var n1={notify(){},get:()=>[]};function d1(t,e){let r,n=n1,o=0,a=!1;function i(h){d();let b=n.subscribe(h),g=!1;return()=>{g||(g=!0,b(),u())}}function s(){n.notify()}function l(){f.onStateChange&&f.onStateChange()}function c(){return a}function d(){o++,r||(r=e?e.addNestedSub(l):t.subscribe(l),n=wY())}function u(){o--,r&&o===0&&(r(),r=void 0,n.clear(),n=n1)}function p(){a||(a=!0,d())}function m(){a&&(a=!1,u())}let f={addNestedSub:i,notifyNestedSubs:s,handleChangeWrapper:l,isSubscribed:c,trySubscribe:p,tryUnsubscribe:m,getListeners:()=>n};return f}var kY=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",IY=kY(),CY=()=>typeof navigator<"u"&&navigator.product==="ReactNative",PY=CY(),EY=()=>IY||PY?Ie.useLayoutEffect:Ie.useEffect,ay=EY();function o1(t,e){return t===e?t!==0||e!==0||1/t===1/e:t!==t&&e!==e}function Rk(t,e){if(o1(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;let r=Object.keys(t),n=Object.keys(e);if(r.length!==n.length)return!1;for(let o=0;o<r.length;o++)if(!Object.prototype.hasOwnProperty.call(e,r[o])||!o1(t[r[o]],e[r[o]]))return!1;return!0}var _Y={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},NY={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},RY={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},u1={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},MY={[dY]:RY,[uY]:u1};function a1(t){return mY(t)?u1:MY[t.$$typeof]||_Y}var LY=Object.defineProperty,DY=Object.getOwnPropertyNames,i1=Object.getOwnPropertySymbols,AY=Object.getOwnPropertyDescriptor,OY=Object.getPrototypeOf,s1=Object.prototype;function Lk(t,e){if(typeof e!="string"){if(s1){let a=OY(e);a&&a!==s1&&Lk(t,a)}let r=DY(e);i1&&(r=r.concat(i1(e)));let n=a1(t),o=a1(e);for(let a=0;a<r.length;++a){let i=r[a];if(!NY[i]&&!(o&&o[i])&&!(n&&n[i])){let s=AY(e,i);try{LY(t,i,s)}catch{}}}}return t}var FY=Symbol.for("react-redux-context"),BY=typeof globalThis<"u"?globalThis:{};function HY(){if(!Ie.createContext)return{};let t=BY[FY]??=new Map,e=t.get(Ie.createContext);return e||(e=Ie.createContext(null),t.set(Ie.createContext,e)),e}var p1=HY(),UY=[null,null];function GY(t,e,r){ay(()=>t(...e),r)}function $Y(t,e,r,n,o,a){t.current=n,r.current=!1,o.current&&(o.current=null,a())}function zY(t,e,r,n,o,a,i,s,l,c,d){if(!t)return()=>{};let u=!1,p=null,m=()=>{if(u||!s.current)return;let h=e.getState(),b,g;try{b=n(h,o.current)}catch(y){g=y,p=y}g||(p=null),b===a.current?i.current||c():(a.current=b,l.current=b,i.current=!0,d())};return r.onStateChange=m,r.trySubscribe(),m(),()=>{if(u=!0,r.tryUnsubscribe(),r.onStateChange=null,p)throw p}}function VY(t,e){return t===e}function WY(t,e,r,{pure:n,areStatesEqual:o=VY,areOwnPropsEqual:a=Rk,areStatePropsEqual:i=Rk,areMergedPropsEqual:s=Rk,forwardRef:l=!1,context:c=p1}={}){let d=c,u=bY(t),p=yY(e),m=SY(r),f=!!t;return b=>{let g=b.displayName||b.name||"Component",y=`Connect(${g})`,v={shouldHandleStateChanges:f,displayName:y,wrappedComponentName:g,WrappedComponent:b,initMapStateToProps:u,initMapDispatchToProps:p,initMergeProps:m,areStatesEqual:o,areStatePropsEqual:i,areOwnPropsEqual:a,areMergedPropsEqual:s};function S(I){let[C,k,N]=Ie.useMemo(()=>{let{reactReduxForwardedRef:q,...ee}=I;return[I.context,q,ee]},[I]),O=Ie.useMemo(()=>{let q=d;return C?.Consumer,q},[C,d]),L=Ie.useContext(O),F=!!I.store&&!!I.store.getState&&!!I.store.dispatch,R=!!L&&!!L.store,z=F?I.store:L.store,Q=R?L.getServerState:z.getState,ie=Ie.useMemo(()=>hY(z.dispatch,v),[z]),[me,M]=Ie.useMemo(()=>{if(!f)return UY;let q=d1(z,F?void 0:L.subscription),ee=q.notifyNestedSubs.bind(q);return[q,ee]},[z,F,L]),G=Ie.useMemo(()=>F?L:{...L,subscription:me},[F,L,me]),B=Ie.useRef(void 0),A=Ie.useRef(N),K=Ie.useRef(void 0),Z=Ie.useRef(!1),ne=Ie.useRef(!1),ue=Ie.useRef(void 0);ay(()=>(ne.current=!0,()=>{ne.current=!1}),[]);let Xe=Ie.useMemo(()=>()=>K.current&&N===A.current?K.current:ie(z.getState(),N),[z,N]),st=Ie.useMemo(()=>ee=>me?zY(f,z,me,ie,A,B,Z,ne,K,M,ee):()=>{},[me]);GY($Y,[A,B,Z,N,K,M]);let Me;try{Me=Ie.useSyncExternalStore(st,Xe,Q?()=>ie(Q(),N):Xe)}catch(q){throw ue.current&&(q.message+=`
|
|
32
|
+
The error may be correlated with this previous error:
|
|
33
|
+
${ue.current.stack}
|
|
34
|
+
|
|
35
|
+
`),q}ay(()=>{ue.current=void 0,K.current=void 0,B.current=Me});let Ve=Ie.useMemo(()=>Ie.createElement(b,{...Me,ref:k}),[k,b,Me]);return Ie.useMemo(()=>f?Ie.createElement(O.Provider,{value:G},Ve):Ve,[O,Ve,G])}let w=Ie.memo(S);if(w.WrappedComponent=b,w.displayName=S.displayName=y,l){let C=Ie.forwardRef(function(N,O){return Ie.createElement(w,{...N,reactReduxForwardedRef:O})});return C.displayName=y,C.WrappedComponent=b,Lk(C,b)}return Lk(w,b)}}var Ok=WY;function jY(t){let{children:e,context:r,serverState:n,store:o}=t,a=Ie.useMemo(()=>{let l=d1(o);return{store:o,subscription:l,getServerState:n?()=>n:void 0}},[o,n]),i=Ie.useMemo(()=>o.getState(),[o]);return ay(()=>{let{subscription:l}=a;return l.onStateChange=l.notifyNestedSubs,l.trySubscribe(),i!==o.getState()&&l.notifyNestedSubs(),()=>{l.tryUnsubscribe(),l.onStateChange=void 0}},[a,i]),Ie.createElement((r||p1).Provider,{value:a},e)}var m1=jY;var zG=T(U());function H(t){let{mapStateToProps:e,mapDispatchToProps:r,mergeProps:n,options:o,component:a}=t;return Ok(e,r,n,o)(a)}function iy(t){let{mapStateToProps:e,mapDispatchToProps:r,mergeProps:n,options:o,component:a}=t;return Ok(e,r,n,o)(a)}var GC={};ve(GC,{getApp:()=>en,getBrowserConnection:()=>Ko,getBrowserConnectionStatus:()=>Pd,getCurrentProfileUploadedInformation:()=>BC,getExperimental:()=>fb,getHasZoomedViaMousewheel:()=>MC,getIsDragAndDropDragging:()=>OC,getIsDragAndDropOverlayRegistered:()=>FC,getIsEventDelayTracksEnabled:()=>DC,getIsExperimentalCPUGraphsEnabled:()=>Rm,getIsExperimentalProcessCPUTracksEnabled:()=>AC,getIsNewProfileLoadAllowed:()=>hb,getIsNewlyPublished:()=>LC,getIsSidebarOpen:()=>_m,getLastVisibleThreadTabSlug:()=>pb,getPanelLayoutGeneration:()=>Nm,getSidebarOpenCategories:()=>UC,getTimelineHeight:()=>HC,getTrackThreadHeights:()=>mb,getUrlSetupPhase:()=>RC,getView:()=>ho});var sy="NOT_FOUND";function YY(t){var e;return{get:function(n){return e&&t(e.key,n)?e.value:sy},put:function(n,o){e={key:n,value:o}},getEntries:function(){return e?[e]:[]},clear:function(){e=void 0}}}function qY(t,e){var r=[];function n(s){var l=r.findIndex(function(d){return e(s,d.key)});if(l>-1){var c=r[l];return l>0&&(r.splice(l,1),r.unshift(c)),c.value}return sy}function o(s,l){n(s)===sy&&(r.unshift({key:s,value:l}),r.length>t&&r.pop())}function a(){return r}function i(){r=[]}return{get:n,put:o,getEntries:a,clear:i}}var f1=function(e,r){return e===r};function XY(t){return function(r,n){if(r===null||n===null||r.length!==n.length)return!1;for(var o=r.length,a=0;a<o;a++)if(!t(r[a],n[a]))return!1;return!0}}function ly(t,e){var r=typeof e=="object"?e:{equalityCheck:e},n=r.equalityCheck,o=n===void 0?f1:n,a=r.maxSize,i=a===void 0?1:a,s=r.resultEqualityCheck,l=XY(o),c=i===1?YY(l):qY(i,l);function d(){var u=c.get(arguments);if(u===sy){if(u=t.apply(null,arguments),s){var p=c.getEntries(),m=p.find(function(f){return s(f.value,u)});m&&(u=m.value)}c.put(arguments,u)}return u}return d.clearCache=function(){return c.clear()},d}function JY(t){var e=Array.isArray(t[0])?t[0]:t;if(!e.every(function(n){return typeof n=="function"})){var r=e.map(function(n){return typeof n=="function"?"function "+(n.name||"unnamed")+"()":typeof n}).join(", ");throw new Error("createSelector expects all input-selectors to be functions, but received the following types: ["+r+"]")}return e}function Fk(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];var o=function(){for(var i=arguments.length,s=new Array(i),l=0;l<i;l++)s[l]=arguments[l];var c=0,d,u={memoizeOptions:void 0},p=s.pop();if(typeof p=="object"&&(u=p,p=s.pop()),typeof p!="function")throw new Error("createSelector expects an output function after the inputs, but received: ["+typeof p+"]");var m=u,f=m.memoizeOptions,h=f===void 0?r:f,b=Array.isArray(h)?h:[h],g=JY(s),y=t.apply(void 0,[function(){return c++,p.apply(null,arguments)}].concat(b)),v=t(function(){for(var x=[],w=g.length,I=0;I<w;I++)x.push(g[I].apply(null,arguments));return d=y.apply(null,x),d});return Object.assign(v,{resultFunc:p,memoizedResultFunc:y,dependencies:g,lastResult:function(){return d},recomputations:function(){return c},resetRecomputations:function(){return c=0}}),v};return o}var D=Fk(ly);var bs={};ve(bs,{getAllCommittedRanges:()=>yd,getAssemblyViewCurrentNativeSymbolEntryIndex:()=>II,getAssemblyViewHighlightedInstruction:()=>_I,getAssemblyViewIsOpen:()=>Pl,getAssemblyViewNativeSymbol:()=>zo,getAssemblyViewNativeSymbolEntryCount:()=>CI,getAssemblyViewScrollGeneration:()=>PI,getAssemblyViewScrollToInstructionAddress:()=>EI,getCurrentSearchString:()=>jy,getDataSource:()=>ir,getFileNameInZipFilePath:()=>fm,getFirstSelectedThreadIndex:()=>bJ,getFormattedMetaInfoString:()=>Qy,getGlobalTrackOrder:()=>bn,getHash:()=>Cl,getHiddenGlobalTracks:()=>lr,getHiddenLocalTracks:()=>gs,getHiddenLocalTracksByPid:()=>mo,getImplementationFilter:()=>kr,getInvertCallstack:()=>sr,getIsBottomBoxOpen:()=>OI,getLastSelectedCallTreeSummaryStrategy:()=>SI,getLegacyHiddenThreads:()=>Xy,getLegacyThreadOrder:()=>qy,getLocalTrackOrder:()=>li,getLocalTrackOrderByPid:()=>si,getMarkersSearchString:()=>bd,getMarkersSearchStrings:()=>AH,getMarkersSearchStringsAsRegExp:()=>MI,getNetworkSearchString:()=>Ky,getNetworkSearchStrings:()=>OH,getNetworkSearchStringsAsRegExp:()=>LI,getPathInZipFileFromUrl:()=>Zy,getProfileNameForStorage:()=>eb,getProfileNameFromUrl:()=>dm,getProfileNameWithDefault:()=>BI,getProfileSpecificState:()=>ze,getProfileUrl:()=>ii,getProfilesToCompare:()=>cm,getSearchStrings:()=>Jy,getSearchStringsAsRegExp:()=>RI,getSelectedMarker:()=>AI,getSelectedTab:()=>Oe,getSelectedThreadIndexes:()=>kt,getSelectedThreadIndexesOrNull:()=>Yy,getSelectedThreadsKey:()=>vt,getShowJsTracerSummary:()=>mm,getShowUserTimings:()=>um,getSourceViewHighlightedLine:()=>kI,getSourceViewScrollGeneration:()=>xI,getSourceViewScrollToLineNumber:()=>wI,getSourceViewSourceIndex:()=>ya,getStackChartSameWidths:()=>pm,getSymbolServerUrl:()=>ys,getTabFilter:()=>hs,getTimelineType:()=>NI,getTransformStack:()=>DI,getUrlPredictor:()=>FI,getUrlState:()=>$o,hasTabFilter:()=>vJ});var zk={};ve(zk,{exclude:()=>aq,extract:()=>Gk,parse:()=>$k,parseUrl:()=>k1,pick:()=>C1,stringify:()=>w1,stringifyUrl:()=>I1});var y1="%[a-f0-9]{2}",h1=new RegExp("("+y1+")|([^%]+?)","gi"),g1=new RegExp("("+y1+")+","gi");function Bk(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(t.length===1)return t;e=e||1;let r=t.slice(0,e),n=t.slice(e);return Array.prototype.concat.call([],Bk(r),Bk(n))}function ZY(t){try{return decodeURIComponent(t)}catch{let e=t.match(h1)||[];for(let r=1;r<e.length;r++)t=Bk(e,r).join(""),e=t.match(h1)||[];return t}}function QY(t){let e={"%FE%FF":"\uFFFD\uFFFD","%FF%FE":"\uFFFD\uFFFD"},r=g1.exec(t);for(;r;){try{e[r[0]]=decodeURIComponent(r[0])}catch{let o=ZY(r[0]);o!==r[0]&&(e[r[0]]=o)}r=g1.exec(t)}e["%C2"]="\uFFFD";let n=Object.keys(e);for(let o of n)t=t.replace(new RegExp(o,"g"),e[o]);return t}function Hk(t){if(typeof t!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof t+"`");try{return decodeURIComponent(t)}catch{return QY(t)}}function b1(t,e){let r={};if(Array.isArray(e))for(let n of e){let o=Object.getOwnPropertyDescriptor(t,n);o?.enumerable&&Object.defineProperty(r,n,o)}else for(let n of Reflect.ownKeys(t)){let o=Object.getOwnPropertyDescriptor(t,n);if(o.enumerable){let a=t[n];e(n,a,t)&&Object.defineProperty(r,n,o)}}return r}function cy(t,e){if(!(typeof t=="string"&&typeof e=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(t===""||e==="")return[];let r=t.indexOf(e);return r===-1?[]:[t.slice(0,r),t.slice(r+e.length)]}var eq=t=>t==null,tq=t=>encodeURIComponent(t).replaceAll(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),Uk=Symbol("encodeFragmentIdentifier");function rq(t){switch(t.arrayFormat){case"index":return e=>(r,n)=>{let o=r.length;return n===void 0||t.skipNull&&n===null||t.skipEmptyString&&n===""?r:n===null?[...r,[er(e,t),"[",o,"]"].join("")]:[...r,[er(e,t),"[",er(o,t),"]=",er(n,t)].join("")]};case"bracket":return e=>(r,n)=>n===void 0||t.skipNull&&n===null||t.skipEmptyString&&n===""?r:n===null?[...r,[er(e,t),"[]"].join("")]:[...r,[er(e,t),"[]=",er(n,t)].join("")];case"colon-list-separator":return e=>(r,n)=>n===void 0||t.skipNull&&n===null||t.skipEmptyString&&n===""?r:n===null?[...r,[er(e,t),":list="].join("")]:[...r,[er(e,t),":list=",er(n,t)].join("")];case"comma":case"separator":case"bracket-separator":{let e=t.arrayFormat==="bracket-separator"?"[]=":"=";return r=>(n,o)=>o===void 0||t.skipNull&&o===null||t.skipEmptyString&&o===""?n:(o=o===null?"":o,n.length===0?[[er(r,t),e,er(o,t)].join("")]:[[n,er(o,t)].join(t.arrayFormatSeparator)])}default:return e=>(r,n)=>n===void 0||t.skipNull&&n===null||t.skipEmptyString&&n===""?r:n===null?[...r,er(e,t)]:[...r,[er(e,t),"=",er(n,t)].join("")]}}function nq(t){let e;switch(t.arrayFormat){case"index":return(r,n,o)=>{if(e=/\[(\d*)]$/.exec(r),r=r.replace(/\[\d*]$/,""),!e){o[r]=n;return}o[r]===void 0&&(o[r]={}),o[r][e[1]]=n};case"bracket":return(r,n,o)=>{if(e=/(\[])$/.exec(r),r=r.replace(/\[]$/,""),!e){o[r]=n;return}if(o[r]===void 0){o[r]=[n];return}o[r]=[...o[r],n]};case"colon-list-separator":return(r,n,o)=>{if(e=/(:list)$/.exec(r),r=r.replace(/:list$/,""),!e){o[r]=n;return}if(o[r]===void 0){o[r]=[n];return}o[r]=[...o[r],n]};case"comma":case"separator":return(r,n,o)=>{let i=typeof n=="string"&&n.includes(t.arrayFormatSeparator)?n.split(t.arrayFormatSeparator).map(s=>bl(s,t)):n===null?n:bl(n,t);o[r]=i};case"bracket-separator":return(r,n,o)=>{let a=/(\[])$/.test(r);if(r=r.replace(/\[]$/,""),!a){o[r]=n&&bl(n,t);return}let i=n===null?[]:bl(n,t).split(t.arrayFormatSeparator);if(o[r]===void 0){o[r]=i;return}o[r]=[...o[r],...i]};default:return(r,n,o)=>{if(o[r]===void 0){o[r]=n;return}o[r]=[...[o[r]].flat(),n]}}}function T1(t){if(typeof t!="string"||t.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function er(t,e){return e.encode?e.strict?tq(t):encodeURIComponent(t):t}function bl(t,e){return e.decode?Hk(t):t}function S1(t){return Array.isArray(t)?t.sort():typeof t=="object"?S1(Object.keys(t)).sort((e,r)=>Number(e)-Number(r)).map(e=>t[e]):t}function x1(t){let e=t.indexOf("#");return e!==-1&&(t=t.slice(0,e)),t}function oq(t){let e="",r=t.indexOf("#");return r!==-1&&(e=t.slice(r)),e}function v1(t,e,r){return r==="string"&&typeof t=="string"?t:typeof r=="function"&&typeof t=="string"?r(t):r==="boolean"&&t===null?!0:r==="boolean"&&t!==null&&(t.toLowerCase()==="true"||t.toLowerCase()==="false")?t.toLowerCase()==="true":r==="boolean"&&t!==null&&(t.toLowerCase()==="1"||t.toLowerCase()==="0")?t.toLowerCase()==="1":r==="string[]"&&e.arrayFormat!=="none"&&typeof t=="string"?[t]:r==="number[]"&&e.arrayFormat!=="none"&&!Number.isNaN(Number(t))&&typeof t=="string"&&t.trim()!==""?[Number(t)]:r==="number"&&!Number.isNaN(Number(t))&&typeof t=="string"&&t.trim()!==""?Number(t):e.parseBooleans&&t!==null&&(t.toLowerCase()==="true"||t.toLowerCase()==="false")?t.toLowerCase()==="true":e.parseNumbers&&!Number.isNaN(Number(t))&&typeof t=="string"&&t.trim()!==""?Number(t):t}function Gk(t){t=x1(t);let e=t.indexOf("?");return e===-1?"":t.slice(e+1)}function $k(t,e){e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,types:Object.create(null),...e},T1(e.arrayFormatSeparator);let r=nq(e),n=Object.create(null);if(typeof t!="string"||(t=t.trim().replace(/^[?#&]/,""),!t))return n;for(let o of t.split("&")){if(o==="")continue;let a=e.decode?o.replaceAll("+"," "):o,[i,s]=cy(a,"=");i===void 0&&(i=a),s=s===void 0?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?s:bl(s,e),r(bl(i,e),s,n)}for(let[o,a]of Object.entries(n))if(typeof a=="object"&&a!==null&&e.types[o]!=="string")for(let[i,s]of Object.entries(a)){let l=e.types[o],c=typeof l=="function"?l:l?l.replace("[]",""):void 0;a[i]=v1(s,e,c)}else typeof a=="object"&&a!==null&&e.types[o]==="string"?n[o]=Object.values(a).join(e.arrayFormatSeparator):n[o]=v1(a,e,e.types[o]);return e.sort===!1?n:(e.sort===!0?Object.keys(n).sort():Object.keys(n).sort(e.sort)).reduce((o,a)=>{let i=n[a];return o[a]=i&&typeof i=="object"&&!Array.isArray(i)?S1(i):i,o},Object.create(null))}function w1(t,e){if(!t)return"";e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e},T1(e.arrayFormatSeparator);let r=i=>e.skipNull&&eq(t[i])||e.skipEmptyString&&t[i]==="",n=rq(e),o={};for(let[i,s]of Object.entries(t))r(i)||(o[i]=s);let a=Object.keys(o);return e.sort!==!1&&a.sort(e.sort),a.map(i=>{let s=t[i];if(e.replacer&&(s=e.replacer(i,s),s===void 0)||s===void 0)return"";if(s===null)return er(i,e);if(Array.isArray(s)){if(s.length===0&&e.arrayFormat==="bracket-separator")return er(i,e)+"[]";let l=s;return e.replacer&&(l=s.map((c,d)=>e.replacer(`${i}[${d}]`,c)).filter(c=>c!==void 0)),l.reduce(n(i),[]).join("&")}return er(i,e)+"="+er(s,e)}).filter(i=>i.length>0).join("&")}function k1(t,e){e={decode:!0,...e};let[r,n]=cy(t,"#");return r===void 0&&(r=t),{url:r?.split("?")?.[0]??"",query:$k(Gk(t),e),...e&&e.parseFragmentIdentifier&&n?{fragmentIdentifier:bl(n,e)}:{}}}function I1(t,e){e={encode:!0,strict:!0,[Uk]:!0,...e};let r=x1(t.url).split("?")[0]||"",n=Gk(t.url),o={...$k(n,{sort:!1,...e}),...t.query},a=w1(o,e);a&&=`?${a}`;let i=oq(t.url);if(typeof t.fragmentIdentifier=="string"){let s=new URL(r);s.hash=t.fragmentIdentifier,i=e[Uk]?s.hash:`#${t.fragmentIdentifier}`}return`${r}${a}${i}`}function C1(t,e,r){r={parseFragmentIdentifier:!0,[Uk]:!1,...r};let{url:n,query:o,fragmentIdentifier:a}=k1(t,r);return I1({url:n,query:b1(o,e),fragmentIdentifier:a},r)}function aq(t,e,r){let n=Array.isArray(e)?o=>!e.includes(o):(o,a)=>!e(o,a);return C1(t,n,r)}var ud=zk;var A1=T(Zr()),O1=T(L1());function pq({places:t,style:e}){return new Intl.NumberFormat(void 0,{minimumFractionDigits:t,maximumFractionDigits:t,style:e})}var D1=(0,A1.default)(pq,{cache:new O1.default});function Se(t,e=2,r=3,n="decimal"){if(t===0)return D1({places:0,style:n}).format(t);if(isNaN(t))return"<invalid>";let o=Math.floor(Math.log10(Math.abs(t)))+1;n==="percent"&&(o+=2);let a=e-o;return a<0?a=0:a>r&&(a=r),D1({places:a,style:n}).format(t)}function Vk(t,e,r){let n;switch(t){case"tracing-ms":n=1;break;case"samples":case"bytes":n=0;break;default:throw Y(t,"Unhandled WeightType.")}return e&&(n=3),Se(r,3,n)}function vl(t,e,r){switch(t){case"tracing-ms":return Se(r,3,e?3:1)+"ms";case"samples":{let n=r===1?" sample":" samples";return Se(r,3,0)+n}case"bytes":{let n=r===1?" byte":" bytes";return Se(r,3,0)+n}default:throw Y(t,"Unhandled WeightType.")}}function Kt(t){return Se(t,2,1,"percent")}function F1(t){return(t*100).toFixed(4)+"%"}function mq(t,e=3,r=2,n=1/0){if(n===1/0)return Se(t/1e9,e,r)+"GB";n>=1e9&&(t=Math.round(t/1e9)*1e9);let a=t%1e9;return Se((t-a)/1e9,e,0)+"GB"+(a>0&&r>0||n<1e9?" "+B1(a,e,0,n):"")}function B1(t,e=3,r=2,n=1/0){if(n===1/0)return Se(t/1e6,e,r)+"MB";n>=1e6&&(t=Math.round(t/1e6)*1e6);let a=t%1e6;return Se((t-a)/1e6,e,0)+"MB"+(a>0&&r>0||n<1e6?" "+H1(a,e,0,n):"")}function H1(t,e=3,r=2,n=1/0){if(n===1/0)return Se(t/1e3,e,r)+"KB";n>=1e3&&(t=Math.round(t/1e3)*1e3);let a=t%1e3;return Se((t-a)/1e3,e,0)+"KB"+(a>0&&r>0||n<1e3?" "+Ue(a,e,0,n):"")}function Ue(t,e=3,r=2,n=1/0){return t<1e4?Se(t,0)+"B":t<1e3**2?H1(t,e,r,n):t<1e3**3?B1(t,e,r,n):mq(t,e,r,n)}function my(t){return t<1e4?Se(t):t<1e3*1e3?Se(t/1e3,3,2)+"K":t<1e3*1e3*1e3?Se(t/(1e3*1e3),3,2)+"M":Se(t/(1e3*1e3*1e3),3,2)+"G"}function Wk(t,e=3,r=4){return Se(t,e,r)+"ns"}function Oo(t,e=2,r=3){return Se(t,e,r)+"\u03BCs"}function Ot(t,e=2,r=3){return Se(t,e,r)+"ms"}function fa(t,e=5,r=3,n=1/0){let a=t/1e3,i="";if(n<1e3){let s=Math.floor(Math.log10(n/1e3)),l=Math.max(0,-s);i=a.toFixed(l)}else i=Se(a,e,r);return i+"s"}function U1(t,e=5,r=2,n=1/0){n>=1e3&&(t=Math.round(t/1e3)*1e3);let i=t%6e4;return Se((t-i)/6e4,e,0)+"m"+(i>0&&r>0||n<6e4?fa(i,e,0,n):"")}function G1(t,e=5,r=1,n=1/0){n>=6e4&&(t=Math.round(t/6e4)*6e4);let a=60*6e4,i=t%a;return Se((t-i)/a,e,0)+"h"+(i>0&&r>0||n<a?U1(i,e,0,n):"")}function fq(t,e=5,r=1,n=1/0){n>=36e5&&(t=Math.round(t/36e5)*36e5);let a=24*36e5,i=t%a;return Se((t-i)/a,e,0)+"d"+(i>0&&r>0||n<a?G1(i,e,0,n):"")}function Yt(t,e=5,r=3,n=1/0){return n!==1/0&&(n<1e4&&(n=10**Math.floor(Math.log10(n))),t>n&&(t=Math.round(t/n)*n)),t>=60*1e3-(n===1/0?500:0)?t>=3600*1e3-(n===1/0?500:0)?t>=1440*60*1e3-(n===1/0?30*1e3:0)?fq(t,e,r,n):G1(t,e,r,n):U1(t,e,r,n):t>=1e3?fa(t,e,Number.isInteger(t/1e3)?0:r,n):t>=1?Ot(t,e,Number.isInteger(t)?0:r):t*1e3>=1?Oo(t*1e3,e,Number.isInteger(t*1e3)?0:r):t===0?"0s":Wk(t*1e3*1e3,e,Number.isInteger(t*1e3*1e3)?0:r)}function cs(t,e,r=String,n=!0){let o=r(t)+" / "+r(e),a="";return n&&(a=" ("+Kt(t/e)+")"),o+a}function $1(t){let e=Math.floor(Math.log10(t));return t<=2*Math.pow(10,e)?2*Math.pow(10,e):t<=5*Math.pow(10,e)?5*Math.pow(10,e):Math.pow(10,e+1)}function z1(t){if(t>1e3&&t<=1e3**4)for(let e of[1,2,3])for(let r of[1,2,4,8,16,32,64,128,256,512]){let n=r*1e3**e;if(t<=n)return n}return $1(t)}function V1(t){if(t>1e4&&t<=48*3600*1e3){for(let e of[15,20,30]){let r=e*1e3;if(t<=r)return r}for(let e of[1,2,5,10,15,20,30]){let r=e*60*1e3;if(t<=r)return r}for(let e of[1,2,3,4,6,8,12,24,48]){let r=e*3600*1e3;if(t<=r)return r}}return $1(t)}function W1(t=""){return t?t.split("~").map(e=>{let r=e.match(/^(-?[0-9]+)?([mun])([0-9]+)$/);if(!r)return console.error(`The range "${e}" couldn't be parsed, ignoring.`),null;let n=r[1]?Number(r[1]):0,o=r[2],a=Number(r[3]);if(isNaN(n)||isNaN(a))return console.error(`The range "${e}" couldn't be parsed, ignoring. This shouldn't happen.`),null;let i,s;switch(o){case"m":i=n,s=n+a;break;case"u":i=n/1e3,s=(n+a)/1e3;break;case"n":i=n/1e6,s=(n+a)/1e6;break;default:throw new Error(`We couldn't recognize the unit ${o}, which can't happen because the regexp wouldn't match.`)}return i===s&&(s+=1e-4),{start:i,end:s}}).filter(e=>e!==null):[]}function jk({start:t,end:e}){let r=Math.floor(t*1e6),o=Math.ceil(e*1e6)-r,a=String(o),i;if(o>9e6){let s=String(r).slice(0,-6),l=a.slice(0,-6);a.endsWith("000000")||(l=(+l+1).toString()),i=`${s}m${l}`}else if(o>9e3){let s=String(r).slice(0,-3),l=a.slice(0,-3);a.endsWith("000")||(l=(+l+1).toString()),i=`${s}u${l}`}else o===0?i=`${r}n1`:i=`${r}n${a}`;return i}function j1(t=[]){return t.map(jk).join("~")}function Fo(t,e,r=1/0){return e==="bytes"?Ue(t,2,2,r):Yt(t,2,2,r)}function K1(t,e){return t.map(n=>Fo(n.end-n.start,e))}var Kk="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._",gq=Kk[32];function Tl(t){let e=Array.from(t);return e.sort((r,n)=>r-n),Ka(e)}function Ka(t){let e="";for(let r=0;r<t.length;r++){let n=yq(t,r);if(n===0){e+=Y1(t[r]);continue}r+=n,e+=gq,e+=Y1(t[r])}return e}function Bo(t){let e=[],r=0;for(;r<t.length;){let{value:n,hasLeadingZero:o,nextI:a}=bq(t,r);if(o&&e.length>=1){let i=e[e.length-1],s=n;if(s>i)for(let l=i+1;l<s;l++)e.push(l);else for(let l=i-1;l>s;l--)e.push(l)}e.push(n),r=a}return e}function yq(t,e){if(e<1||e+1>=t.length)return 0;let r=t[e-1],n=t[e],o=t[e+1],a=0;if(n===r+1&&o===n+1)for(a=1;e+a+1<t.length&&t[e+a+1]===n+a+1;)a++;else if(n===r-1&&o===n-1)for(a=1;e+a+1<t.length&&t[e+a+1]===n-a-1;)a++;return a}function Y1(t){let e=t,r=Kk[e&31];for(e>>=5;e!==0;)r=Kk[32+(e&31)]+r,e>>=5;return r}function q1(t){switch(t){case"0":return 0;case"1":return 1;case"2":return 2;case"3":return 3;case"4":return 4;case"5":return 5;case"6":return 6;case"7":return 7;case"8":return 8;case"9":return 9;case"a":return 10;case"b":return 11;case"c":return 12;case"d":return 13;case"e":return 14;case"f":return 15;case"g":return 16;case"h":return 17;case"i":return 18;case"j":return 19;case"k":return 20;case"l":return 21;case"m":return 22;case"n":return 23;case"o":return 24;case"p":return 25;case"q":return 26;case"r":return 27;case"s":return 28;case"t":return 29;case"u":return 30;case"v":return 31;case"w":return 32;case"x":return 33;case"y":return 34;case"z":return 35;case"A":return 36;case"B":return 37;case"C":return 38;case"D":return 39;case"E":return 40;case"F":return 41;case"G":return 42;case"H":return 43;case"I":return 44;case"J":return 45;case"K":return 46;case"L":return 47;case"M":return 48;case"N":return 49;case"O":return 50;case"P":return 51;case"Q":return 52;case"R":return 53;case"S":return 54;case"T":return 55;case"U":return 56;case"V":return 57;case"W":return 58;case"X":return 59;case"Y":return 60;case"Z":return 61;case".":return 62;case"_":return 63;default:return 0}}function bq(t,e){let r=e,n=q1(t[r]),o=n&32,a=n&31,i=o!==0&&a===0,s=a;for(r++;o&&r<t.length;)n=q1(t[r]),o=n&32,a=n&31,s=s<<5|a,r++;return{value:s,hasLeadingZero:i,nextI:r}}var uB=T(Zr()),pB=T(hy());var Tq=(function(){function t(e,r){for(var n=0;n<r.length;n++){var o=r[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}})(),Sq=xq(["",""],["",""]);function xq(t,e){return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function wq(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var kq=(function(){function t(){for(var e=this,r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];return wq(this,t),this.tag=function(a){for(var i=arguments.length,s=Array(i>1?i-1:0),l=1;l<i;l++)s[l-1]=arguments[l];return typeof a=="function"?e.interimTag.bind(e,a):typeof a=="string"?e.transformEndResult(a):(a=a.map(e.transformString.bind(e)),e.transformEndResult(a.reduce(e.processSubstitutions.bind(e,s))))},n.length>0&&Array.isArray(n[0])&&(n=n[0]),this.transformers=n.map(function(a){return typeof a=="function"?a():a}),this.tag}return Tq(t,[{key:"interimTag",value:function(r,n){for(var o=arguments.length,a=Array(o>2?o-2:0),i=2;i<o;i++)a[i-2]=arguments[i];return this.tag(Sq,r.apply(void 0,[n].concat(a)))}},{key:"processSubstitutions",value:function(r,n,o){var a=this.transformSubstitution(r.shift(),n);return"".concat(n,a,o)}},{key:"transformString",value:function(r){var n=function(a,i){return i.onString?i.onString(a):a};return this.transformers.reduce(n,r)}},{key:"transformSubstitution",value:function(r,n){var o=function(i,s){return s.onSubstitution?s.onSubstitution(i,n):i};return this.transformers.reduce(o,r)}},{key:"transformEndResult",value:function(r){var n=function(a,i){return i.onEndResult?i.onEndResult(a):a};return this.transformers.reduce(n,r)}}]),t})(),rt=kq;var Iq=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return{onEndResult:function(n){if(e==="")return n.trim();if(e=e.toLowerCase(),e==="start"||e==="left")return n.replace(/^\s*/,"");if(e==="end"||e==="right")return n.replace(/\s*$/,"");throw new Error("Side not supported: "+e)}}},nt=Iq;function Cq(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}else return Array.from(t)}var Pq=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"initial";return{onEndResult:function(n){if(e==="initial"){var o=n.match(/^[^\S\n]*(?=\S)/gm),a=o&&Math.min.apply(Math,Cq(o.map(function(s){return s.length})));if(a){var i=new RegExp("^.{"+a+"}","gm");return n.replace(i,"")}return n}if(e==="all")return n.replace(/^[^\S\n]+/gm,"");throw new Error("Unknown type: "+e)}}},Sr=Pq;var Eq=function(e,r){return{onEndResult:function(o){if(e==null||r==null)throw new Error("replaceResultTransformer requires at least 2 arguments.");return o.replace(e,r)}}},gn=Eq;var _q=function(e,r){return{onSubstitution:function(o,a){if(e==null||r==null)throw new Error("replaceSubstitutionTransformer requires at least 2 arguments.");return o==null?o:o.toString().replace(e,r)}}},Ya=_q;var Rq={separator:"",conjunction:"",serial:!1},Mq=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Rq;return{onSubstitution:function(n,o){if(Array.isArray(n)){var a=n.length,i=e.separator,s=e.conjunction,l=e.serial,c=o.match(/(\n?[^\S\n]+)$/);if(c?n=n.join(i+c[1]):n=n.join(i+" "),s&&a>1){var d=n.lastIndexOf(i);n=n.slice(0,d)+(l?i:"")+" "+s+n.slice(d+1)}}return n}}},Ht=Mq;var Lq=function(e){return{onSubstitution:function(n,o){if(e!=null&&typeof e=="string")typeof n=="string"&&n.includes(e)&&(n=n.split(e));else throw new Error("You need to specify a string character to split by.");return n}}},pd=Lq;var Z1=function(e){return e!=null&&!Number.isNaN(e)&&typeof e!="boolean"},Dq=function(){return{onSubstitution:function(r){return Array.isArray(r)?r.filter(Z1):Z1(r)?r:""}}},gy=Dq;var ipe=new rt(Ht({separator:","}),Sr,nt);var fpe=new rt(Ht({separator:",",conjunction:"and"}),Sr,nt);var xpe=new rt(Ht({separator:",",conjunction:"or"}),Sr,nt);var Mpe=new rt(pd(`
|
|
36
|
+
`),gy,Ht,Sr,nt);var jpe=new rt(pd(`
|
|
37
|
+
`),Ht,Sr,nt,Ya(/&/g,"&"),Ya(/</g,"<"),Ya(/>/g,">"),Ya(/"/g,"""),Ya(/'/g,"'"),Ya(/`/g,"`"));var Hq=new rt(gn(/(?:\n(?:\s*))+/g," "),nt),we=Hq;var ame=new rt(gn(/(?:\n\s*)/g,""),nt);var mme=new rt(Ht({separator:","}),gn(/(?:\s+)/g," "),nt);var Sme=new rt(Ht({separator:",",conjunction:"or"}),gn(/(?:\s+)/g," "),nt);var _me=new rt(Ht({separator:",",conjunction:"and"}),gn(/(?:\s+)/g," "),nt);var Fme=new rt(Ht,Sr,nt);var Wme=new rt(Ht,gn(/(?:\s+)/g," "),nt);var jq=new rt(Sr,nt),xr=jq;var ofe=new rt(Sr("all"),nt);function Q1(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let r=t.length-1;r>=0;r--)if(t[r]!==e[r])return!1;return!0}function qa(t){return t.join("-")}function eB(t,e){return t+"-"+e}function tB(t){return""+t}var zr=class t{_table;constructor(e){if(e instanceof t){this._table=new Map(e._table);return}if(this._table=new Map,!!e)for(let r of e)this._table.set(qa(r),r)}add(e){return this._table.set(qa(e),e),this}clear(){this._table.clear()}delete(e){return this._table.delete(qa(e))}*values(){yield*this._table.values()}*entries(){for(let e of this)yield[e,e]}forEach(e,r){for(let n of this)e.call(r,n,n,this)}has(e){return this._table.has(qa(e))}get size(){return this._table.size}*[Symbol.iterator](){yield*this._table.values()}};var yy=class{_callNodeTable;_stackIndexToNonInvertedCallNodeIndex;_cache=new Map;constructor(e,r){this._callNodeTable=e,this._stackIndexToNonInvertedCallNodeIndex=r}isInverted(){return!1}asInverted(){return null}getCallNodeTable(){return this._callNodeTable}getStackIndexToNonInvertedCallNodeIndex(){return this._stackIndexToNonInvertedCallNodeIndex}getCallNodePathFromIndex(e){if(e===null||e===-1)return[];let r=[],n=e;for(;n!==-1;)r.push(this._callNodeTable.func[n]),n=this._callNodeTable.prefix[n];return r.reverse(),r}getCallNodeIndexFromPath(e){let r=this._cache,n=qa(e),o=r.get(n);if(o!==void 0)return o;let a=[n],i=e.length,s;for(;--i>0;){let l=e.slice(0,i),c=qa(l);if(s=r.get(c),s!==void 0)break;a.push(c)}for(s===void 0&&(s=-1);i<e.length;){let l=e[i],c=this.getCallNodeIndexFromParentAndFunc(s,l);if(c===null)return null;let d=a.pop();r.set(d,c),s=c,i++}return s<0?null:s}getCallNodeIndexFromParentAndFunc(e,r){let n=this._callNodeTable;if(e===-1){if(n.length===0)return null}else if(n.subtreeRangeEnd[e]===e+1)return null;let o=e+1;for(let a=o;a!==-1;a=n.nextSibling[a])if(n.func[a]===r)return a;return null}prefixForNode(e){return this._callNodeTable.prefix[e]}funcForNode(e){return this._callNodeTable.func[e]}categoryForNode(e){return this._callNodeTable.category[e]}subcategoryForNode(e){return this._callNodeTable.subcategory[e]}innerWindowIDForNode(e){return this._callNodeTable.innerWindowID[e]}depthForNode(e){return this._callNodeTable.depth[e]}sourceFramesInlinedIntoSymbolForNode(e){return this._callNodeTable.sourceFramesInlinedIntoSymbol[e]}};function Yq(t,e,r,n){let o=e.length,a=new Int32Array(o),i=new Int32Array(o),s=new Float64Array(o),l=new Int32Array(o),c=0;for(let d=0;d<o;d++){let u=c,p=e[d];if(c=p,u===p){l[d]=-2;continue}let m=r[u],f=t.category[m],h=t.subcategory[m],b=t.innerWindowID[m],g=t.sourceFramesInlinedIntoSymbol[m];for(let y=u+1;y<p;y++){let v=r[y];f!==t.category[v]?(f=n,h=0):h!==t.subcategory[v]&&(h=0),g!==t.sourceFramesInlinedIntoSymbol[v]&&(g=-1)}a[d]=f,i[d]=h,s[d]=b,l[d]=g}return{category:a,subcategory:i,innerWindowID:s,sourceFramesInlinedIntoSymbol:l,suffixOrderIndexRangeEnd:e,length:o}}function qq(){return{prefix:[],func:[],pathHash:[],category:[],subcategory:[],innerWindowID:[],sourceFramesInlinedIntoSymbol:[],suffixOrderIndexRangeStart:[],suffixOrderIndexRangeEnd:[],deepNodes:[],depth:[],length:0}}function Xq(t,e){let r=new Uint32Array(e),n=t.length,o=t.func;for(let u=0;u<n;u++){let p=o[u];r[p]++}let a=r,i=0;for(let u=0;u<a.length;u++){let p=r[u];a[u]=i,i+=p}let s=a,l=new Uint32Array(n),c=new Uint32Array(n);for(let u=0;u<n;u++){let p=o[u],m=s[p]++;l[m]=u,c[u]=m}return{suffixOrderedCallNodes:l,suffixOrderIndexes:c,rootSuffixOrderIndexRangeEndCol:a}}var by=class{_callNodeTable;_invertedRootCallNodeTable;_invertedNonRootCallNodeTable;_stackIndexToNonInvertedCallNodeIndex;_rootCount;_suffixOrderedCallNodes;_suffixOrderIndexes;_defaultCategory;_cache=new Map;_children=new Map;constructor(e,r,n,o){this._callNodeTable=e,this._stackIndexToNonInvertedCallNodeIndex=r;let{suffixOrderedCallNodes:a,suffixOrderIndexes:i,rootSuffixOrderIndexRangeEndCol:s}=Xq(e,o);this._suffixOrderedCallNodes=a,this._suffixOrderIndexes=i,this._defaultCategory=n,this._rootCount=o;let l=Yq(e,s,a,n);this._invertedRootCallNodeTable=l,this._invertedNonRootCallNodeTable=qq()}isInverted(){return!0}asInverted(){return this}getCallNodeTable(){return this._callNodeTable}getStackIndexToNonInvertedCallNodeIndex(){return this._stackIndexToNonInvertedCallNodeIndex}getSuffixOrderedCallNodes(){return this._suffixOrderedCallNodes}getSuffixOrderIndexes(){return this._suffixOrderIndexes}getFuncCount(){return this._rootCount}isRoot(e){return e<this._rootCount}getSuffixOrderIndexRangeForCallNode(e){if(e<this._rootCount){let a=e,i=a===0?0:this._invertedRootCallNodeTable.suffixOrderIndexRangeEnd[a-1],s=this._invertedRootCallNodeTable.suffixOrderIndexRangeEnd[a];return[i,s]}let r=e-this._rootCount,n=this._invertedNonRootCallNodeTable.suffixOrderIndexRangeStart[r],o=this._invertedNonRootCallNodeTable.suffixOrderIndexRangeEnd[r];return[n,o]}_createChildren(e){let r=this._takeDeepNodesForInvertedNode(e),n=this._computeChildrenInfo(e,r);return n===null?[]:(this._applyRefinedSuffixOrderForNode(e,n.selfNodesWhichEndAtParent,n.childrenSelfNodes),this._createChildrenForInfo(n,e))}_computeChildrenInfo(e,r){let n=r.length,[o,a]=this.getSuffixOrderIndexRangeForCallNode(e),i=this._suffixOrderedCallNodes.subarray(o,a);if(i.length!==r.length)throw new Error("indexes out of sync");let s=[],l=[],c=[],d=[],u=new Map,p=this._callNodeTable;for(let k=0;k<n;k++){let N=i[k],O=r[k],L=p.prefix[O];if(L!==-1){let F=p.func[L],R=u.get(F);R===void 0?u.set(F,1):u.set(F,R+1),s.push(N),l.push(L),c.push(F)}else d.push(N)}let m=d.length,f=l.length;if(m+f!==n)throw new Error("indexes out of sync");if(m===n)return null;let h=new Uint32Array(u.keys());h.sort();let b=h.length,g=new Uint32Array(b),y=new Uint32Array(b),v=new Map,S=0;for(let k=0;k<b;k++){let N=h[k];v.set(N,k);let O=$(u.get(N));y[k]=O,g[k]=S,S+=O}let x=g,w=new Uint32Array(f),I=new Uint32Array(f);for(let k=0;k<f;k++){let N=c[k],O=$(v.get(N)),L=s[k],F=l[k],R=x[O]++;w[R]=F,I[R]=L}let C=o+m;return{funcPerChild:h,deepNodeCountPerChild:y,childrenSuffixOrderIndexRangeStart:C,selfNodesWhichEndAtParent:d,childrenSelfNodes:I,childrenDeepNodes:w}}_applyRefinedSuffixOrderForNode(e,r,n){let[o,a]=this.getSuffixOrderIndexRangeForCallNode(e),i=this._suffixOrderIndexes,s=this._suffixOrderedCallNodes,l=o;for(let c=0;c<r.length;c++){let d=r[c],u=l++;i[d]=u,s[u]=d}for(let c=0;c<n.length;c++){let d=n[c],u=l++;i[d]=u,s[u]=d}if(l!==a)throw new Error("Indexes out of sync")}_createChildrenForInfo(e,r){let n=this._pathHashForNode(r),o=this.depthForNode(r)+1,{funcPerChild:a,deepNodeCountPerChild:i,childrenSuffixOrderIndexRangeStart:s,childrenDeepNodes:l}=e,c=a.length,d=[],u=0,p=s;for(let m=0;m<c;m++){let f=a[m],h=i[m],b=p,g=l.subarray(u,u+h);p+=h,u+=h;let y=this._createNonRootNode(f,g,b,o,r,n);d.push(y)}return d}_createNonRootNode(e,r,n,o,a,i){let s=r.length,l=this._callNodeTable,c=r[0],d=l.category[c],u=l.subcategory[c],p=l.innerWindowID[c],m=l.sourceFramesInlinedIntoSymbol[c],f=this._invertedNonRootCallNodeTable;for(let y=1;y<s;y++){let v=r[y];d!==l.category[v]?(d=this._defaultCategory,u=0):u!==l.subcategory[v]&&(u=0),m!==l.sourceFramesInlinedIntoSymbol[v]&&(m=-1)}let h=f.length++,b=this._rootCount+h,g=eB(i,e);return f.prefix[h]=a,f.func[h]=e,f.pathHash[h]=g,f.category[h]=d,f.subcategory[h]=u,f.innerWindowID[h]=p,f.sourceFramesInlinedIntoSymbol[h]=m,f.deepNodes[h]=r,f.suffixOrderIndexRangeStart[h]=n,f.suffixOrderIndexRangeEnd[h]=n+s,f.depth[h]=o,this._cache.set(g,b),b}getChildren(e){let r=this._children.get(e);return r===void 0&&(r=this._createChildren(e),this._children.set(e,r)),r}_takeDeepNodesForInvertedNode(e){if(e<this._rootCount){let[o,a]=this.getSuffixOrderIndexRangeForCallNode(e);return this._suffixOrderedCallNodes.subarray(o,a)}let r=e-this._rootCount,n=$(this._invertedNonRootCallNodeTable.deepNodes[r],"_takeDeepNodesForInvertedNode should only be called once for each node, and only after its parent created its children.");return this._invertedNonRootCallNodeTable.deepNodes[r]=null,n}getCallNodePathFromIndex(e){if(e===null||e===-1)return[];let r=this._rootCount,n=[],o=e;for(;o>=r;){let i=o-r;n.push(this._invertedNonRootCallNodeTable.func[i]),o=this._invertedNonRootCallNodeTable.prefix[i]}let a=o;return n.push(a),n.reverse(),n}getCallNodeIndexFromPath(e){if(e.length===0)return null;if(e.length===1)return e[0];let r=e.length-1,n=this._findDeepestExistingInvertedAncestorNode(e),o=this.depthForNode(n);for(;o<r;){let a=e[o+1],i=this.getChildren(n),s=this._getChildWithFunc(i,a);if(s===null)return null;n=s,o++}return n}_findDeepestExistingInvertedAncestorNode(e){let r=this._cache.get(qa(e));if(r!==void 0)return r;let n=e[0],o=1,a=e.length-1;for(;o<a;){let i=o+a>>1,s=e.slice(0,i+1),l=this._cache.get(qa(s));l!==void 0?(n=l,o=i+1):a=i}return n}_getChildWithFunc(e,r){let n=iD(e,r,a=>this.funcForNode(a));if(n===0)return null;let o=e[n-1];return this.funcForNode(o)!==r?null:o}getCallNodeIndexFromParentAndFunc(e,r){if(e===-1)return r;let n=this.getChildren(e);return this._getChildWithFunc(n,r)}_pathHashForNode(e){if(e<this._rootCount)return tB(e);let r=e-this._rootCount;return this._invertedNonRootCallNodeTable.pathHash[r]}prefixForNode(e){if(e<this._rootCount)return-1;let r=e-this._rootCount;return this._invertedNonRootCallNodeTable.prefix[r]}funcForNode(e){if(e<this._rootCount)return e;let r=e-this._rootCount;return this._invertedNonRootCallNodeTable.func[r]}categoryForNode(e){if(e<this._rootCount){let n=e;return this._invertedRootCallNodeTable.category[n]}let r=e-this._rootCount;return this._invertedNonRootCallNodeTable.category[r]}subcategoryForNode(e){if(e<this._rootCount){let n=e;return this._invertedRootCallNodeTable.subcategory[n]}let r=e-this._rootCount;return this._invertedNonRootCallNodeTable.subcategory[r]}innerWindowIDForNode(e){if(e<this._rootCount){let n=e;return this._invertedRootCallNodeTable.innerWindowID[n]}let r=e-this._rootCount;return this._invertedNonRootCallNodeTable.innerWindowID[r]}depthForNode(e){if(e<this._rootCount)return 0;let r=e-this._rootCount;return this._invertedNonRootCallNodeTable.depth[r]}sourceFramesInlinedIntoSymbolForNode(e){if(e<this._rootCount){let n=e;return this._invertedRootCallNodeTable.sourceFramesInlinedIntoSymbol[n]}let r=e-this._rootCount;return this._invertedNonRootCallNodeTable.sourceFramesInlinedIntoSymbol[r]}};function rB(t){let e=new Array(t.length),r=0;for(let n=0;n<t.length;n++){let o=r+t[n];e[n]=o,r=o}return e}function vy(t){let e=new Array(t.length),r=0;for(let n=0;n<t.length;n++){let o=t[n];e[n]=o-r,r=o}return e}function Jq(t){let e=0;for(let r=0;r<t.length;r++){let{samples:n}=t[r],{threadCPUDelta:o}=n;if(!o)continue;let a=n.time!==void 0?vy(n.time):$(n.timeDeltas);for(let i=1;i<n.length;i++){let s=a[i];if(s!==0){let l=(o[i]||0)/s;e=Math.max(e,l)}}}return e}function nB(t){let e=t.meta.sampleUnits;if(!e)return 1;let r=e.threadCPUDelta;switch(r){case"\xB5s":return 1e3;case"ns":return 1e6;case"variable CPU cycles":return Jq(t.threads);default:throw Y(r,"Unhandled threadCPUDelta unit in computeReferenceCPUDeltaPerMs.")}}function oB(t,e,r){let{threadCPUDelta:n}=t;if(!n)return;let o=new Float64Array(n.length);o[0]=0;for(let a=1;a<n.length;a++){let i=r*e[a],s=n[a];if(s===null||i===0){o[a]=1;continue}o[a]=s<=i?s/i:1}return o}function Ge(t){let e=self.ga;e&&e("send",t)}function aB(t){let e=self.ga;e&&e("send","exception",t)}var Qq=3,iB={};function ct(t,e){if(typeof performance<"u"){let r,n=performance.now(),o=e(),a=Math.round(performance.now()-n),i=iB[t]||0;return i<Qq&&(iB[t]=1+i,Ge({hitType:"timing",timingCategory:"timeCode",timingVar:t,timingValue:a})),o}return e()}function Sy(t){let n=(t-1>>5)+1;return new Int32Array(n)}function xy(t,e){let r=e>>5,n=e&31;if(r>=t.length)throw new Ty(e);t[r]|=1<<n}function md(t,e){let r=e>>5,n=e&31;if(r>=t.length)throw new Ty(e);return(t[r]&1<<n)!==0}function sB(t,e){let r=t.length,n=new Int32Array(r);for(let o=0;o<r;o++)n[o]=t[o]&e[o];return n}var Ty=class extends Error{name="BitSetOutOfBoundsError";bitIndex;constructor(e){super(`Bit index ${e} is out of bounds`),this.bitIndex=e}};async function lB(){try{let t=await import("./ruby-custom-hooks.js");return t?{rubyGemDownloadRecipe:t.rubyGemDownloadRecipe,normalPathCatchall:t.normalPathCatchall}:null}catch{}return null}var eX=/^(?<vcs>hg|git):(?<repo>[^:]*):(?<path>[^:]*):(?<rev>.*)$/,tX=/^s3:(?<bucket>[^:]*):(?<digest>[0-9a-f]*)\/(?<path>[^:]*):$/,rX=/^cargo:(?<registry>[^:]*):(?<crate>[^/]+)-(?<version>[0-9]+\.[0-9]+\.[0-9]+):(?<path>[^:]*)$/,nX=/^(?<host>http:\/\/localhost:\d+)\/source(?<path>.*)$/,oX=/^gem:(?<gem>[A-Za-z0-9\-_\.]+):(?<path>[^:]*)$/,aX=/^rubylib:(?<version>[0-9\.]+):(?<ext>bigdecimal|cgi|continuation|coverage|date|digest|erb|etc|fcntl|fiddle|io|json|monitor|nkf|objspace|openssl|pathname|psych|pty|racc|rbconfig|readline|ripper|rubyvm|socket|stringio|strscan|syslog|win32|win32ole|zlib)\/(?<path>[^:]*)$/,iX=/^rubylib:(?<version>[0-9\.]+):(?<path>[^:]*)$/;function ha(t){let e=eX.exec(t);if(e!==null&&e.groups){let{vcs:l,repo:c,path:d,rev:u}=e.groups;if(l!=="hg"&&l!=="git")throw new Error('The regexp ensures that "vcs" is "hg" or "git", so this cannot happen.');return{type:l,repo:c,path:d,rev:u}}let r=tX.exec(t);if(r!==null&&r.groups){let{bucket:l,digest:c,path:d}=r.groups;return{type:"s3",bucket:l,digest:c,path:d}}let n=rX.exec(t);if(n!==null&&n.groups){let{registry:l,crate:c,version:d,path:u}=n.groups;return{type:"cargo",registry:l,crate:c,version:d,path:`${c}-${d}/${u}`}}let o=oX.exec(t);if(o!==null&&o.groups){let{gem:l,path:c}=o.groups;return{type:"gem",gem:l,path:c}}let a=aX.exec(t);if(a!==null&&a.groups){let{version:l,ext:c,path:d}=a.groups,u=`ext/${c}/lib/${c}/${d}`;return{type:"git",repo:"github.com/ruby/ruby",rev:`v${l.replaceAll(".","_")}`,path:u}}let i=iX.exec(t);if(i!==null&&i.groups){let{version:l,path:c}=i.groups,d=`lib/${c}`;return{type:"git",repo:"github.com/ruby/ruby",rev:`v${l.replaceAll(".","_")}`,path:d}}let s=nX.exec(t);if(s!==null&&s.groups){let{host:l,path:c}=s.groups;return{type:"localhost",host:location.host+"/source",path:c}}return{type:"normal",path:t}}function cB(t){switch(t.type){case"hg":{let{repo:e,rev:r,path:n}=t;return{type:"CORS_ENABLED_SINGLE_FILE",url:`https://${e}/raw-file/${r}/${n}`}}case"localhost":{let{host:e,path:r}=t;return{type:"CORS_ENABLED_SINGLE_FILE",url:`${e}${r}`}}case"git":{let{repo:e,rev:r,path:n}=t,o=e.indexOf("/");if(o===-1)return{type:"NO_KNOWN_CORS_URL"};let a=e.slice(0,o),i=e.slice(o+1);return a==="github.com"?{type:"CORS_ENABLED_SINGLE_FILE",url:`https://raw.githubusercontent.com/${i}/${r}/${n}`}:a.endsWith(".googlesource.com")?{type:"CORS_ENABLED_SINGLE_FILE",url:`https://googlesource-proxy.mstange.workers.dev/${a.slice(0,a.length-17)}/${i}.git/+/${r}/${n}`}:{type:"NO_KNOWN_CORS_URL"}}case"s3":{let{bucket:e,digest:r,path:n}=t;return{type:"CORS_ENABLED_SINGLE_FILE",url:`https://${e}.s3.amazonaws.com/${r}/${n}`}}case"cargo":{let{crate:e,version:r,path:n}=t;return{type:"CORS_ENABLED_ARCHIVE",archiveUrl:`https://crates.io/api/v1/crates/${e}/${r}/download`,pathInArchive:n}}case"gem":{if(typeof Yk=="function")return Yk(t);let{gem:e,path:r}=t;return{type:"CORS_ENABLED_SINGLE_FILE",url:`https://gems.vernier.prof/${e}/${r}`}}case"normal":return typeof qk=="function"?qk(t):{type:"NO_KNOWN_CORS_URL"};default:throw Y(t,"unhandled ParsedFile type")}}var Yk,qk;(async()=>{let t=await lB();t&&(Yk=t.rubyGemDownloadRecipe,qk=t.normalPathCatchall)})();function mB(t,e,r){let{callNodeTable:n,stackIndexToCallNodeIndex:o}=lX(t,e,r);return new yy(n,o)}function sX(t){let e=t.length,r=t.inlineDepth,n=t.nativeSymbol,o=new Int32Array(e);for(let a=0;a<e;a++){let i=-2;if(r[a]>0){let s=n[a];s!==null&&(i=s)}o[a]=i}return o}function lX(t,e,r){if(t.length===0)return{callNodeTable:aD(),stackIndexToCallNodeIndex:new Int32Array(0)};let n=cX(t,e),o=dX(n),{stackIndexToCallNodeIndex:a}=o,i=sX(e),s=uX(t,e,a,i,n.length,r);return{callNodeTable:{prefix:o.prefixSorted,nextSibling:o.nextSiblingSorted,subtreeRangeEnd:o.subtreeRangeEndSorted,func:s.funcCol,category:s.categoryCol,subcategory:s.subcategoryCol,innerWindowID:s.innerWindowIDCol,sourceFramesInlinedIntoSymbol:s.inlinedIntoCol,depth:o.depthSorted,maxDepth:o.maxDepth,length:n.length},stackIndexToCallNodeIndex:a}}function cX(t,e){let r=new Int32Array(t.length),n=[],o=[],a=[],i=[],s=0,l=[],c=-1;for(let d=0;d<t.length;d++){let u=t.prefix[d],p=u===null?-1:r[u],m=t.frame[d],f=e.func[m],h=-1;if(d!==0){let b=p===-1?0:o[p];for(let g=b;g!==-1;g=a[g])if(i[g]===f){h=g;break}}if(h!==-1){r[d]=h;continue}if(h=s++,r[d]=h,n[h]=p,i[h]=f,o[h]=-1,a[h]=-1,l[h]=-1,p===-1)c!==-1&&(a[c]=h),c=h;else{let b=l[p];b===-1?o[p]=h:a[b]=h,l[p]=h}}return{prefix:n,firstChild:o,nextSibling:a,length:s,stackIndexToCallNodeIndex:r}}function dX(t){let{prefix:e,firstChild:r,nextSibling:n,length:o,stackIndexToCallNodeIndex:a}=t,i=new Int32Array(o),s=new Int32Array(o),l=new Uint32Array(o),c=new Int32Array(o),d=0;if(o===0)return{prefixSorted:i,subtreeRangeEndSorted:l,nextSiblingSorted:s,depthSorted:c,maxDepth:d,length:o,stackIndexToCallNodeIndex:a};let u=new Uint32Array(o),p=0,m=0,f=0,h=-1,b=-1;for(;p!==-1;){let g=p,y=m;u[g]=y,m++,i[y]=b,c[y]=f;let v=r[g];if(v!==-1){h=g,b=y,p=v,f++,f>d&&(d=f);continue}for(l[y]=m,p=n[g],s[y]=p===-1?-1:m;p===-1&&h!==-1;){l[b]=m;let S=n[h];s[b]=S===-1?-1:m,p=S,h=e[h],b=i[b],f--}}for(let g=0;g<a.length;g++)a[g]=u[a[g]];return{prefixSorted:i,subtreeRangeEndSorted:l,nextSiblingSorted:s,depthSorted:c,maxDepth:d,length:o,stackIndexToCallNodeIndex:a}}function uX(t,e,r,n,o,a){let i=t.length,s=t.category,l=t.frame,c=t.subcategory,d=e.innerWindowID,u=e.func,p=new Int32Array(o),m=new Int32Array(o),f=new Int32Array(o),h=new Float64Array(o),b=new Int32Array(o),g=new Uint8Array(o);for(let y=0;y<i;y++){let v=s[y],S=c[y],x=l[y],w=n[x],I=r[y];if(g[I]===0){p[I]=u[x],m[I]=v,f[I]=S,b[I]=w;let C=d[x];C!==null&&C!==0&&(h[I]=C),g[I]=1}else m[I]!==v?(m[I]=a,f[I]=0):f[I]!==S&&(f[I]=0),b[I]!==w&&(b[I]=-1)}return{funcCol:p,categoryCol:m,subcategoryCol:f,innerWindowIDCol:h,inlinedIntoCol:b}}function fB(t,e,r){return new by(t.getCallNodeTable(),t.getStackIndexToNonInvertedCallNodeIndex(),e,r)}function pX(t,e,r){for(;;){let n=r.func[t],o=r.func[e];if(n!==o)return n-o;if(t=r.prefix[t],e=r.prefix[e],t===e)break;if(t===-1)return-1;if(e===-1)return 1}return 0}function mX(t,e,r){let n=t;for(let o=0;o<e&&n!==null;o++)n=r[n];return n}function hB(t,e,r){let n=e.asInverted();return n!==null?hX(t,n,r):fX(t,e,r)}function fX(t,e,r){let n=e.getStackIndexToNonInvertedCallNodeIndex(),{frame:o,prefix:a,length:i}=r,s=new Int32Array(i);for(let l=0;l<i;l++){let c=-1;if(n[l]===t)c=o[l];else{let u=a[l];u!==null&&(c=s[u])}s[l]=c}return s}function hX(t,e,r){let n=e.depthForNode(t),[o,a]=e.getSuffixOrderIndexRangeForCallNode(t),i=e.getStackIndexToNonInvertedCallNodeIndex(),s=r.prefix,l=e.getSuffixOrderIndexes(),c=new Int32Array(r.length);for(let d=0;d<r.length;d++){let u=-1,p=i[d],m=l[p];if(m>=o&&m<a){let f=mX(d,n,s);f!==null&&(u=r.frame[f])}c[d]=u}return c}function wy(t,e){return t.map(r=>r===null?null:e[r])}function gX(t){let e=new Array(t.length);for(let r=0;r<t.length;r++){let n="SELECTED";t[r]===null&&(n="FILTERED_OUT_BY_TRANSFORM"),e[r]=n}return e}function yX(t,e,r){let o=r.getCallNodeTable().subtreeRangeEnd[e],a=t.length,i=new Array(a);for(let s=0;s<a;s++){let l="SELECTED",c=t[s];c!==null?c<e?l="UNSELECTED_ORDERED_BEFORE_SELECTED":c<o?l="SELECTED":l="UNSELECTED_ORDERED_AFTER_SELECTED":l="FILTERED_OUT_BY_TRANSFORM",i[s]=l}return i}function bX(t,e,r){let n=r.getSuffixOrderIndexes(),[o,a]=r.getSuffixOrderIndexRangeForCallNode(e),i=t.length,s=new Array(i);for(let l=0;l<i;l++){let c="SELECTED",d=t[l];if(d!==null){let u=n[d];u<o?c="UNSELECTED_ORDERED_BEFORE_SELECTED":u>=a&&(c="UNSELECTED_ORDERED_AFTER_SELECTED")}else c="FILTERED_OUT_BY_TRANSFORM";s[l]=c}return s}function gB(t,e,r){if(r===null||r===-1)return gX(e);let n=t.asInverted();return n!==null?bX(e,r,n):yX(e,r,t)}function ky(t){if(t.length===0)throw new Error("getLeafFuncIndex assumes that the path isn't empty.");return t[t.length-1]}function yB(t,e,r,n,o,a,i){return Xk(e.getCallNodeIndexFromPath(t),e,r,n,o,a,i)}function Xk(t,e,r,n,o,a,i){let{stackTable:s}=r,l={selfTime:{value:0,breakdownByCategory:null},totalTime:{value:0,breakdownByCategory:null}},c=0;function d(f,h,b){f.value+=b;let g=i.stack[h+n];if(g!==null){let y=s.category[g],v=s.subcategory[g];f.breakdownByCategory===null&&(f.breakdownByCategory=o.map(S=>({entireCategoryValue:0,subcategoryBreakdown:Array(S.subcategories.length).fill(0)}))),f.breakdownByCategory[y].entireCategoryValue+=b,f.breakdownByCategory[y].subcategoryBreakdown[v]+=b}}if(t===null)return{forPath:l,rootTime:c};let u=e.getCallNodeTable(),p=e.getStackIndexToNonInvertedCallNodeIndex(),m=e.asInverted();if(m!==null){let f=m.isRoot(t),h=m.getSuffixOrderIndexes(),[b,g]=m.getSuffixOrderIndexRangeForCallNode(t);for(let y=0;y<a.length;y++){let v=a.stack[y];if(v===null)continue;let S=p[v],x=h[S],w=a.weight?a.weight[y]:1;c+=Math.abs(w),x>=b&&x<g&&(d(l.totalTime,y,w),f&&(l.selfTime.value+=w))}}else{let f=u.subtreeRangeEnd[t];for(let h=0;h<a.length;h++){let b=a.stack[h];if(b===null)continue;let g=p[b],y=a.weight?a.weight[h]:1;c+=Math.abs(y),g===t&&d(l.selfTime,h,y),g>=t&&g<f&&d(l.totalTime,h,y)}}return{forPath:l,rootTime:c}}function bB(t){let e=t.length,r=t.maxDepth,n=t.depth,o=t.func,a=Sy(e),i=new Int32Array(r+1),s=new Int32Array(r+1);e:for(let l=0;l<e;l++){let c=n[l],d=o[l];if(c===0){i[0]=d;continue}let u=s[c-1];for(let m=u;m>=0;m--)if(i[m]===d){s[c]=u;let f=l>>5,h=l&31;a[f]|=1<<h;continue e}let p=u+1;i[p]=d,s[c]=p}return a}function vX({samples:t,markers:e,jsAllocations:r,nativeAllocations:n},o){let a={start:1/0,end:-1/0};if(t.length){let{time:i,timeDeltas:s}=t;if(i!==void 0){let l=t.length-1;a.start=i[0],a.end=i[l]+o}else{let l=$(s);a.start=l[0];let c=0;for(let d=0;d<t.length;d++)c+=l[d];a.end=c+o}}else if(e.length)for(let i=0;i<e.length;i++){let s=e.startTime[i],l=e.endTime[i];switch(e.phase[i]){case 0:case 2:{let d=$(s);a.start=Math.min(a.start,d),a.end=Math.max(a.end,d+o);break}case 3:{let d=$(l);a.start=Math.min(a.start,d),a.end=Math.max(a.end,d+o);break}case 1:{let d=$(s),u=$(l);a.start=Math.min(a.start,d,u),a.end=Math.max(a.end,d+o,u+o);break}default:throw new Error("Unhandled marker phase type.")}}if(r){let i=r.length-1;a.start=Math.min(a.start,r.time[0]),a.end=Math.max(a.end,r.time[i]+o)}if(n){let i=n.length-1;a.start=Math.min(a.start,n.time[0]),a.end=Math.max(a.end,n.time[i]+o)}return a}var Sl=(0,uB.default)(vX,{cache:new pB.default});function Iy(t){let e={start:1/0,end:-1/0};return t.meta.profilingStartTime!==void 0&&t.meta.profilingEndTime?{start:t.meta.profilingStartTime,end:t.meta.profilingEndTime}:(t.threads.forEach(r=>{let n=Sl(r,t.meta.interval);e.start=Math.min(e.start,n.start),e.end=Math.max(e.end,n.end)}),e)}function xl(t){switch(t){case"cpp":case"js":return t;default:return"combined"}}function Cy(t){switch(t){case"timing":case"js-allocations":case"native-retained-allocations":case"native-allocations":case"native-deallocations-sites":case"native-deallocations-memory":return t;default:return"timing"}}function vB(t,e,r,n,o){switch(o){case"cpp":return dB(t,e,a=>{if(r.isJS[a])return!1;let i=n.getString(r.name[a]);return!(r.resource[a]===-1&&i.startsWith("0x"))});case"js":return dB(t,e,a=>r.isJS[a]||r.relevantForJS[a]);default:return{newStackTable:t,effectOnThreadData:{}}}}function dB(t,e,r){return ct("_computeTransformOutputForMergingFuncs",()=>{let n={length:0,frame:[],prefix:[],category:[],subcategory:[]},o=new Int32Array(t.length);for(let a=0;a<t.length;a++){let i=t.prefix[a],s=t.frame[a],l=e.func[s],c=i===null?-1:o[i];if(r(l)){let d=n.length++;n.frame[d]=s,n.prefix[d]=c!==-1?c:null,n.category[d]=t.category[a],n.subcategory[d]=t.subcategory[a],o[a]=d}else o[a]=c}return{newStackTable:n,effectOnThreadData:{oldStackToNewStack:o}}})}function Jk(t,e){let{newStackTable:r,effectOnThreadData:n}=t;return Ho(e,r,o=>{if(o===null)return null;let{oldStackToNewStack:a,dropIfOldStackIsNot:i}=n;if(i!==void 0&&!md(i,o))return null;if(a!==void 0){let s=a[o];return s!==-1?s:null}return o})}function TB(t,e,r,n,o,a,i){return ct("computeTransformOutputForSearchStringFilter",()=>{if(!i)return{newStackTable:t,effectOnThreadData:{}};let s=i.filter(l=>l).reduce((l,c)=>{let d=TX(t,e,r,n,o,a,c);return l!==void 0?sB(d,l):d},void 0);return{newStackTable:t,effectOnThreadData:{dropIfOldStackIsNot:s}}})}function TX(t,e,r,n,o,a,i){let s=i.toLowerCase();function l(u){let p=r.name[u];if(a.getString(p).toLowerCase().includes(s))return!0;let f=r.source[u];if(f!==null){let b=o.filename[f];if(a.getString(b).toLowerCase().includes(s))return!0}let h=r.resource[u];if(h!==-1){let b=n.name[h];if(a.getString(b).toLowerCase().includes(s))return!0}return!1}let c=Sy(r.length);for(let u=0;u<r.length;u++)l(u)&&xy(c,u);let d=Sy(t.length);for(let u=0;u<t.length;u++){let p=t.prefix[u];if(p!==null&&md(d,p))xy(d,u);else{let m=e.func[t.frame[u]];md(c,m)&&xy(d,u)}}return d}function us(t){let{time:e,timeDeltas:r}=t;return e??rB($(r))}function Za(t,e){let{stackTable:r,frameTable:n,funcTable:o,stringArray:a}=e;if(t===void 0||t.length===0||r.length===0)return!1;let i=t.find(s=>s!==null);if(i==null)return!1;if(r.prefix[i]===null){let s=r.frame[i],l=n.func[s],c=o.name[l];if(a[c]==="(root)")return t.some(d=>d!==null&&d!==i)}return!0}function zn(t,e,r){return Zk(t.time,e,r)}function Zk(t,e,r){let n=np(t,e),o=np(t,r,n);return[n,o]}function Py(t,e,r){return SB(t.time,e,r)}function SB(t,e,r){let[n,o]=Zk(t,e,r);return n>0&&n--,o<t.length&&o++,[n,o]}function Qk(t,e,r){let{samples:n,jsAllocations:o,nativeAllocations:a}=t,[i,s]=zn(n,e,r),l={length:s-i,time:n.time.slice(i,s),weight:n.weight?n.weight.slice(i,s):null,weightType:n.weightType,stack:n.stack.slice(i,s)};n.eventDelay?l.eventDelay=n.eventDelay.slice(i,s):n.responsiveness&&(l.responsiveness=n.responsiveness.slice(i,s)),n.threadCPURatio&&(l.threadCPURatio=n.threadCPURatio.slice(i,s)),n.argumentValues&&(l.argumentValues=n.argumentValues.slice(i,s)),n.threadId&&(l.threadId=n.threadId.slice(i,s));let c={...t,samples:l};if(o){let[d,u]=zn(o,e,r);c.jsAllocations={time:o.time.slice(d,u),className:o.className.slice(d,u),typeName:o.typeName.slice(d,u),coarseType:o.coarseType.slice(d,u),weight:o.weight.slice(d,u),weightType:o.weightType,inNursery:o.inNursery.slice(d,u),stack:o.stack.slice(d,u),length:u-d}}if(a){let[d,u]=zn(a,e,r),p=a.time.slice(d,u),m=a.weight.slice(d,u),f=a.stack.slice(d,u),h=u-d;"memoryAddress"in a?c.nativeAllocations={time:p,weight:m,weightType:a.weightType,stack:f,memoryAddress:a.memoryAddress.slice(d,u),threadId:a.threadId.slice(d,u),length:h}:c.nativeAllocations={time:p,weight:m,weightType:a.weightType,stack:f,length:h}}return c}function Ey(t,e,r){let{samples:n,jsAllocations:o,nativeAllocations:a}=t,i=us(n),[s,l]=Zk(i,e,r),c={length:l-s,time:i.slice(s,l),weight:n.weight?n.weight.slice(s,l):null,weightType:n.weightType,stack:n.stack.slice(s,l)};n.eventDelay?c.eventDelay=n.eventDelay.slice(s,l):n.responsiveness&&(c.responsiveness=n.responsiveness.slice(s,l)),n.threadCPUDelta&&(c.threadCPUDelta=n.threadCPUDelta.slice(s,l)),n.argumentValues&&(c.argumentValues=n.argumentValues.slice(s,l)),n.threadId&&(c.threadId=n.threadId.slice(s,l));let d={...t,samples:c};if(o){let[u,p]=zn(o,e,r);d.jsAllocations={time:o.time.slice(u,p),className:o.className.slice(u,p),typeName:o.typeName.slice(u,p),coarseType:o.coarseType.slice(u,p),weight:o.weight.slice(u,p),weightType:o.weightType,inNursery:o.inNursery.slice(u,p),stack:o.stack.slice(u,p),length:p-u}}if(a){let[u,p]=zn(a,e,r),m=a.time.slice(u,p),f=a.weight.slice(u,p),h=a.stack.slice(u,p),b=p-u;"memoryAddress"in a?d.nativeAllocations={time:m,weight:f,weightType:a.weightType,stack:h,memoryAddress:a.memoryAddress.slice(u,p),threadId:a.threadId.slice(u,p),length:b}:d.nativeAllocations={time:m,weight:f,weightType:a.weightType,stack:h,length:b}}return d}function xB(t,e,r){let n={...t},{samples:o}=n,a=us(o),[i,s]=SB(a,e,r);return n.samples={length:s-i,time:a.slice(i,s),count:o.count.slice(i,s),number:o.number?o.number.slice(i,s):void 0,argumentValues:o.argumentValues?o.argumentValues.slice(i,s):void 0},n}function wB(t){let{samples:e}=t,r=e.count.slice(),n=e.number!==void 0?e.number.slice():void 0;r[0]=0,n!==void 0&&(n[0]=0);let o={time:us(e),number:n,count:r,length:e.length};return{name:t.name,category:t.category,description:t.description,color:t.color,pid:t.pid,mainThreadIndex:t.mainThreadIndex,samples:o}}function kB(t,e){let r=0,n=0,o=0,a=Array(t.length).fill(0),i=e?e[0]:0,s=e?e[1]:t.length;for(let c=i;c<s;c++)o+=t.count[c],r=Math.min(o,r),n=Math.max(o,n),a[c]=o;let l=n-r;return{minCount:r,maxCount:n,countRange:l,accumulatedCounts:a}}function eI(t,e,r){let n=0,o=r?r[0]:0,a=r?r[1]:t.length;for(let i=o;i<a;i++){let s=t.count[i],l=i===0?e:t.time[i]-t.time[i-1],c=s/l;n=Math.max(c,n)}return n}function IB(t,e){if(!t.eventDelay)throw new Error("processEventDelays step should not be called for older profiles");let r=new Float32Array(t.length),n=$(t.eventDelay,"eventDelays field is not present in this profile"),o=t.time[0],a=0;for(let c=1;c<t.length;c++){let d=n[c],u=n[c+1]||0,p=t.time[c];if(d==null||d<u)continue;let m=Math.trunc(d/e),f=p-d,h=c-m;if(h<0){o=p,a=c;continue}if(a===h){o=f,a=h;continue}let b=p-o;for(let g=a+1;g<=h;g++)r[g]+=b,b-=t.time[g+1]-t.time[g];o=f,a=h}let i=Number.MAX_SAFE_INTEGER,s=0;for(let c of r)c&&(i=Math.min(c,i),s=Math.max(c,s));let l=s-i;return{eventDelays:r,minDelay:i,maxDelay:s,delayRange:l}}function CB(t,e){let r=-1,n=e.getCallNodeTable(),o=e.getStackIndexToNonInvertedCallNodeIndex();for(let a=0;a<t.length;a++){let i=t.stack[a];if(i===null)continue;let s=o[i],l=n.depth[s];l>r&&(r=l)}return r+1}function PB(t,e,r){let{responsiveness:n,eventDelay:o,argumentValues:a,stack:i,weight:s,weightType:l,threadId:c,length:d}=t,u=t.time!==void 0?vy(t.time):$(t.timeDeltas),p=e!==void 0?oB(t,u,r):void 0,m=us(t);return{responsiveness:n,eventDelay:o,argumentValues:a,stack:i,weight:s,weightType:l,threadId:c,length:d,time:m,threadCPURatio:p}}function EB(t,e,r,n,o,a,i,s,l,c){let{processType:d,processStartupTime:u,processShutdownTime:p,registerTime:m,unregisterTime:f,pausedRanges:h,showMarkersInTimeline:b,name:g,isMainThread:y,"eTLD+1":v,processName:S,isJsTracer:x,pid:w,tid:I,jsAllocations:C,nativeAllocations:k,markers:N,jsTracer:O,isPrivateBrowsing:L,userContextId:F,tracedObjectShapes:R}=t;return{processType:d,processStartupTime:u,processShutdownTime:p,registerTime:m,unregisterTime:f,pausedRanges:h,showMarkersInTimeline:b,name:g,isMainThread:y,"eTLD+1":v,processName:S,isJsTracer:x,pid:w,tid:I,jsAllocations:C,nativeAllocations:k,markers:N,jsTracer:O,isPrivateBrowsing:L,userContextId:F,tracedObjectShapes:R,samples:e,stackTable:r,frameTable:n,funcTable:o,resourceTable:i,nativeSymbols:a,stringTable:s,sources:l,tracedValuesBuffer:c}}function tI(t,e,r,n,o){let{jsAllocations:a,nativeAllocations:i,samples:s,markers:l}=t,c={...s,stack:r(s.stack,s.time)},d={...l,data:o(l.data)},u={...t,samples:c,markers:d,stackTable:e};return a&&(u.jsAllocations={...a,stack:n(a.stack,a.time)}),i&&(u.nativeAllocations={...i,stack:n(i.stack,i.time)}),u}function Ho(t,e,r){function n(o){return o&&"cause"in o&&o.cause?{...o,cause:{...o.cause,stack:r(o.cause.stack)}}:o}return tI(t,e,(o,a)=>o.map(i=>r(i)),(o,a)=>o.map(i=>r(i)),o=>o.map(n))}function _y(t,e){return _B(t,e,e)}function _B(t,e,r){return t.map(n=>SX(n,e,r))}function SX(t,e,r){function n(u){return u&&"cause"in u&&u.cause?{...u,cause:{...u.cause,stack:r(u.cause.stack)}}:u}let{jsAllocations:o,nativeAllocations:a,samples:i,markers:s}=t,l={...i,stack:i.stack.map(e)},c={...s,data:s.data.map(n)},d={...t,samples:l,markers:c};return o&&(d.jsAllocations={...o,stack:o.stack.map(r)}),a&&(d.nativeAllocations={...a,stack:a.stack.map(r)}),d}function Zp(t){return e=>{if(e===null)return null;let r=t.get(e);if(r===void 0)throw new Error("Could not find a stack when converting from an old stack to new stack.");return r}}function NB(t,e,r){let n=Ae(t.time,e);if(n===0)return 0;if(n===t.length)return t.length-1;let o=n-1,a=r,i=r;if(t.weight){let c=t.weight;a=Math.abs(c[n]),i=Math.abs(c[o])}let s=t.time[n]+a/2-e,l=e-(t.time[o]+i/2);return s<l?n:n-1}function RB(t,e,r){let n=s=>t.weight?t.time[s]+Math.abs(t.weight[s])/2:t.time[s],o=Ae(t.time,e);if(o===0)return r>=Math.abs(n(0)-e)?0:null;if(o===t.time.length){let s=t.time.length-1;return r>=Math.abs(n(s)-e)?s:null}let a=Math.abs(n(o)-e),i=Math.abs(n(o-1)-e);return a<=i?a<=r?o:null:i<=r?o-1:null}function yn(t,e){let r,n;switch(e.name){case"GeckoMain":{if(e["eTLD+1"])r=e["eTLD+1"],n=t.filter(o=>o.name==="GeckoMain"&&o["eTLD+1"]===r);else if(e.processName)r=e.processName,n=t.filter(o=>o.name==="GeckoMain"&&o.processName===r);else switch(e.processType){case"default":r="Parent Process";break;case"gpu":r="GPU Process";break;case"rdd":r="Remote Data Decoder";break;case"tab":{r="Content Process",n=t.filter(o=>o.name==="GeckoMain"&&o.processType==="tab");break}case"plugin":r="Plugin Process";break;case"socket":r="Socket Process";break;default:}break}default:}if(r||(r=e.name),n&&n.length>1){let o=1+n.indexOf(e);r+=` (${o}/${n.length})`}return r}function MB(t,e){let r=`${e}
|
|
38
|
+
`;return r+=`Thread: "${t.name}"`,t.tid!==void 0&&(r+=` (${t.tid})`),t.processType&&(r+=`
|
|
39
|
+
Process: "${t.processType}"`,t.pid!==void 0&&(r+=` (${t.pid})`)),t.isPrivateBrowsing&&(r+=`
|
|
40
|
+
Private Browsing: Yes`),t.userContextId&&(r+=`
|
|
41
|
+
Container Id: ${t.userContextId}`),r}function xX(t,e,r){return!(t.startsWith(e)||r===pt.library)}function ps(t,e,r,n,o,a=null,i=null){let s=null,l=null,c=e.resource[t];if(c!==-1){s=r.type[c];let p=r.name[c];l=n.getString(p)}let d=e.source[t],u;if(d!==null){let p=o.filename[d];u=n.getString(p)}if(u)if(u=ha(u).path,a!==null)u+=":"+a,i!==null&&(u+=":"+i);else{let p=e.lineNumber[t];if(p!==null){u+=":"+p;let m=e.columnNumber[t];m!==null&&(u+=":"+m)}}return u?l&&xX(u,l,s)?`${l}: ${u}`:u:l||""}function LB(t,e){let r=Cc(t),n=new Map,o=[pt.addon,pt.url,pt.webhost,pt.otherhost];for(let a=0;a<e.length;a++){let i=e.type[a],s=e.name[a],l=o.includes(i),c=r.length;r.isJS.push(l),r.relevantForJS.push(l),r.name.push(s),r.resource.push(a),r.source.push(null),r.lineNumber.push(null),r.columnNumber.push(null),r.length++,n.set(a,c)}return{funcTable:r,reservedFunctionsForResources:n}}function DB(t,e){let{samples:r,stackTable:n,frameTable:o,funcTable:a,stringTable:i}=e,s=r.stack[t];if(s===null)return!1;if(n.prefix[s]!==null)return!0;let l=n.frame[s],c=o.func[l],d=a.name[c];return i.getString(d)!=="(root)"}function AB(t,e){let r=e.asInverted();return r!==null?kX(t,r):wX(t)}function wX(t){return function(r,n){let o=t[r],a=t[n];return o===null?a===null?0:1:a===null?-1:o-a}}function kX(t,e){let r=e.getCallNodeTable();return function(o,a){let i=t[o],s=t[a];return i===s?0:i===null?1:s===null?-1:pX(i,s,r)}}function OB(t){return t.subcategories.length>1}function wl(t,e,r){let n=t[e];return r!==0?`${n.name}: ${n.subcategories[r]}`:`${n.name}`}function FB(t){let e=t.stack.slice();for(let r=0;r<t.length;r++)t.weight[r]<=0&&(e[r]=null);return{...t,stack:e}}function BB(t){let e=t.stack.slice();for(let r=0;r<t.length;r++)t.weight[r]>=0&&(e[r]=null);return{...t,stack:e}}function HB(t){let e=[],r=t.stack.slice();for(let n=0;n<t.length;n++){let o=t.weight[n],a=t.memoryAddress[n];if(o>=0)a in e&&console.error(we`
|
|
42
|
+
The address ${a} was already present when we wanted to add it.
|
|
43
|
+
This probably means the deallocation wasn't collected, which may sometimes
|
|
44
|
+
happen. We will overwrite the previous entry.
|
|
45
|
+
`),e[a]=t.stack[n],r[n]=null;else{let i=e[a];i===void 0?r[n]=null:(r[n]=i,delete e[a])}}return{...t,stack:r}}function UB(t){let e=new Map,r=t.stack.slice();for(let n=0;n<t.length;n++){let o=t.weight[n],a=t.memoryAddress[n];if(o>=0)e.set(a,n);else{r[n]=null;let i=e.get(a);i!==void 0&&(r[i]=null,e.delete(a))}}return{...t,stack:r}}function GB(t,e){if(t===null)return new Map;let r=new Map;for(let[n,o]of t){let a=o.filter(d=>d.embedderInnerWindowID===0);if(a.length>1&&(a=a.filter(d=>!d.url.startsWith("about:"))),a.length===0){console.error(`Expected at least one topmost page for tabID ${n} but couldn't find it.`);continue}let i=a[a.length-1],s=i.url;if(s.startsWith("about:")){r.set(n,{origin:s,hostname:s,favicon:null});continue}let l=s.startsWith("moz-extension://"),c={origin:s,hostname:s,favicon:i.favicon??null};try{let d=new URL(s);c.hostname=e&&l?e.get("moz-extension://"+(d.hostname?d.hostname:s.split("/")[2])+"/")??"":d.hostname,c.origin=d.origin}catch{}r.set(n,c)}return r}function Uo(t){return t.size===1?$(ro(t)):[...t].sort((e,r)=>r-e).join(",")}function $B(t,e){let r=new Set((""+t).split(",").map(o=>+o)),n=new Set;for(let o of r){let a=e.get(o);a!==void 0&&n.add(a)}return n.size===0?null:Uo(n)}function zB(t,e){let r=(""+e).split(",").map(n=>+n);for(let n of r)if(!t.has(n))return!1;return!0}function IX(t){let e=new Set,r=new Set;for(let n of t)CX(n,e,r);return{samplingSelfStacks:e,syncBacktraceSelfStacks:r}}function CX(t,e,r){let{samples:n,markers:o,jsAllocations:a,nativeAllocations:i}=t;for(let s=0;s<n.length;s++){let l=n.stack[s];l!==null&&e.add(l)}for(let s=0;s<o.length;s++){let l=o.data[s];if(l&&"cause"in l&&l.cause){let c=l.cause.stack;c!==null&&r.add(c)}}if(a!==void 0)for(let s=0;s<a.length;s++){let l=a.stack[s];l!==null&&r.add(l)}if(i!==void 0)for(let s=0;s<i.length;s++){let l=i.stack[s];l!==null&&r.add(l)}}function VB(t){let{samplingSelfStacks:e,syncBacktraceSelfStacks:r}=IX(t.threads),{stackTable:n,frameTable:o}=t.shared,a=new Uint32Array(o.length),i=new Set;for(let g of e){let y=n.frame[g];a[y]=y,o.address[y]!==-1&&i.add(y)}let s=new Map,l=new Set;for(let g of r){let y=n.frame[g],v=o.address[y];v!==-1&&s.set(y,v)}for(let g=0;g<n.length;g++){let y=n.prefix[g];if(y===null||l.has(y))continue;l.add(y);let v=n.frame[y],S=o.address[v];S!==-1&&s.set(v,S)}if(i.size===0&&s.size===0)return t;let c=Lh(o);for(let[g,y]of s){if(i.has(g)){let v=c.length;c.address.push(y),c.inlineDepth.push(o.inlineDepth[g]),c.category.push(o.category[g]),c.subcategory.push(o.subcategory[g]),c.func.push(o.func[g]),c.nativeSymbol.push(o.nativeSymbol[g]),c.innerWindowID.push(o.innerWindowID[g]),c.line.push(o.line[g]),c.column.push(o.column[g]),c.length++,a[g]=v}c.address[g]=y-1}let d=ia(),u=new Map,p=new Map,m=new Uint32Array(n.length);for(let g=0;g<n.length;g++){let y=n.frame[g],v=n.prefix[g],S=v===null?null:m[v];if(l.has(g)||r.has(g)){let x=d.length;d.frame.push(y),d.prefix.push(S),d.length++,m[g]=x,p.set(g,x)}if(e.has(g)){let x=a[y],w=d.length;d.frame.push(x),d.prefix.push(S),d.length++,u.set(g,w)}}let f={...t.shared,frameTable:c,stackTable:d},h=_B(t.threads,Zp(u),Zp(p));return{...t,shared:f,threads:h}}function WB(t,e){let{libs:r}=t,{frameTable:n,funcTable:o,resourceTable:a}=t.shared,i=o.source.indexOf(e);if(i===-1)return null;let s=n.func.indexOf(i);if(s===-1)return null;let l=n.address[s];if(l===null)return null;let c=o.resource[i];if(a.type[c]!==pt.library)return null;let d=a.lib[c];if(d===null)return null;let u=r[d],{debugName:p,breakpadId:m}=u;return{debugName:p,breakpadId:m,address:l}}function PX(t,e,r){let n=e;for(let o=0;o<t.length;o++)if(t.nativeSymbol[o]===r){let a=t.address[o];a>n&&(n=a)}return n+1-e}function jB(t,e){let r=new Set;for(let n=0;n<t.length;n++){let o=t[n];if(o!==-1){let a=e.nativeSymbol[o];a!==null&&r.add(a)}}return r}function KB(t,e,r){let n=new Map;for(let o=0;o<t.length;o++){let a=t.stack[o];if(a===null)continue;let i=e[a];if(i===-1)continue;let s=r.nativeSymbol[i];if(s===null)continue;let l=t.weight!==null?t.weight[o]:1;n.set(s,(n.get(s)??0)+l)}return n}function rI(t,e,r,n){let o=e.functionSize[t],a=o??PX(r,e.address[t],t);return{libIndex:e.libIndex[t],address:e.address[t],name:n.getString(e.name[t]),functionSize:a,functionSizeIsKnown:o!==null}}function YB(t){return t.meta.categories?!t.meta.sampleUnits||!t.threads.some(e=>e.samples.threadCPUDelta)?"category":"cpu-category":"stack"}function qB(t,e){let r=new Map;if(!e)return r;for(let n=0;n<t.length;n++){let o=t[n],{usedInnerWindowIDs:a}=o;if(a)for(let i of a){if(i===0)continue;let s=e.get(i);if(s===void 0)continue;let l=r.get(s);l||(l=new Set,r.set(s,l)),l.add(n)}}return r}function Ny(t,e,r){let n=new Array(t.length),o=new Array(t.length);for(let a=0;a<t.length;a++){let i=t.frame[a],s=e.category[i],l=e.subcategory[i],c,d;if(s!==null)c=s,d=l||0;else{let u=t.prefix[a];u!==null?(c=n[u],d=o[u]):(c=r,d=0)}n[a]=c,o[a]=d}return{frame:t.frame,category:n,subcategory:o,prefix:t.prefix,length:t.length}}function XB(t){if(t.length===0)return[];let e=t.slice().sort((o,a)=>o.start-a.start),r={...e[0]},n=[r];for(let o=1;o<e.length;o++){let a=e[o];if(!(a.start>=a.end)&&!(a.end<=r.end)){if(a.start<=r.end){r.end=a.end;continue}r={...a},n.push(r)}}return n}var QB=T(ZB()),EX=(function(){let e=`\\b((?:${["http","https","ftp","file","moz-extension","moz-page-thumb"].join("|")})://)/?[^\\s/$.?#][^\\s)]*`,r="\\b(about:[^?#\\s]+)([?#])[^\\s)]*";return new RegExp(`${e}|${r}`,"gi")})();function fd(t,e="<URL>",r="<sanitized>"){return t.replace(EX,(n,o,a,i)=>o?o+e:a?a+i+r:n)}function eH(t,e="<PATH>"){let r=null,n=t.lastIndexOf("/");return n!==-1?r="/":(n=t.lastIndexOf("\\"),n!==-1&&(r="\\")),r===null?t:e+r+t.slice(n+1)}var Qa=t=>{if(!t)return null;let e=t.split(",").map(r=>r.trim()).filter(r=>r);return e.length?e:null},ei=t=>{if(!t||!t.length)return null;let e=t.map(QB.default).join("|");return new RegExp(e,"gi")};var nI=[{name:"Jank",display:["marker-table","marker-chart"],tooltipLabel:"Jank \u2013 event processing delay",tableLabel:"Event processing delay",fields:[],description:we`
|
|
46
|
+
Jank markers show when the main event loop of a thread has been busy. It is
|
|
47
|
+
a good indicator that there may be some kind of performance problem that
|
|
48
|
+
is worth investigating.
|
|
49
|
+
`},{name:"IPC",tooltipLabel:"IPC \u2014\xA0{marker.data.niceDirection}",tableLabel:"{marker.data.messageType} \u2014 {marker.data.niceDirection}",chartLabel:"{marker.data.messageType}",display:["marker-chart","marker-table","timeline-ipc"],fields:[{key:"messageType",label:"Type",format:"string"},{key:"sync",label:"Sync",format:"string"},{key:"sendThreadName",label:"From",format:"string"},{key:"recvThreadName",label:"To",format:"string"},{key:"otherPid",label:"Other Pid",format:"pid"}]},{name:"Network",display:["marker-table","marker-chart"],chartLabel:"{marker.data.URI}",fields:[{format:"string",key:"contentType",label:"Content Type",hidden:!0},{format:"integer",key:"responseStatus",label:"Response Status",hidden:!0}]}];function ti(t,e){let r=e?e.type:null;return r?t[r]??null:null}function _X(t,e,r,n){let o=n.split(/{([^}]+)}/);if(o.length===1)return()=>n;function a(s,l){return console.error(we`
|
|
50
|
+
Error processing the label "${s}" because of the ${l}.
|
|
51
|
+
Currently the labels in the marker schema take the form of
|
|
52
|
+
"marker.data.keyName" or "marker.startTime". No other type
|
|
53
|
+
of access is currently supported.
|
|
54
|
+
`),()=>""}let i=o.map((s,l)=>{if(l%2===0)return()=>s;let c=s.trim().split(".");if(c.length!==2&&c.length!==3)return a(n,s);let[d,u,p]=c;if(d!=="marker")return a(n,s);if(c.length===2)switch(u){case"start":return m=>Yt(m.start);case"end":return m=>m.end===null?"unknown":Yt(m.end);case"duration":return m=>m.end===null?"unknown":Yt(m.end-m.start);case"name":return m=>m.name;case"category":return m=>e[m.category].name;default:return a(n,s)}if(u==="data"){let m=null;for(let f of t.fields)if(f.key===p){m=f.format;break}return f=>{if(!f.data)return"";let h=f.data[p];return h==null?"":m?ms(t.name,m,h,r):h}}return a(n,s)});return s=>{let l="";for(let c of i)l+=c(s);return l}}var NX={tooltipLabel:t=>t.name,chartLabel:t=>"",tableLabel:t=>{let e="";if(t.data){let r=t.data;r.type==="FileIO"&&(r.source&&(e=`(${r.source}) `),e+=r.operation,r.filename&&(e=r.operation?`${e} \u2014 ${r.filename}`:r.filename))}return e},copyLabel:t=>t.name};function tm(t,e,r,n,o,a){let i=new Map,s=/^{marker.name}\s[-—]\s/;for(let d of e){let u;a==="copyLabel"?(u=d.tableLabel,u&&!s.test(u)&&(u="{marker.name} \u2014 "+u)):(u=d[a],u&&a==="tableLabel"&&(u=u.replace(s,""))),u&&i.set(d.name,_X(d,n,o,u))}let l=$(NX[a],"Unable to find a fallback label function."),c=new Map;return d=>{let u=c.get(d);if(u===void 0){let p=t(d),m=p.data?p.data.type:null,f=m?i.get(m):null;u=f?f(p):l(p),c.set(d,u)}return u}}function tH(t,e,r){let n=new Map;return o=>{let a=n.get(o);if(a===void 0){let i=t(o),s=i.data?i.data.type:null;if(s){let l=e[s];l?.tooltipLabel&&(a=RX(i,l,r,l.tooltipLabel))}a||(a=i.name),n.set(o,a)}return a}}function RX(t,e,r,n){let o=n.split(/{([^}]+)}/);if(o.length<2)return null;let i=o[1].trim().split(".");if(i.length!==3)return null;let[s,l,c]=i;if(s!=="marker"||l!=="data"||!c)return null;let d=e.fields?.find(m=>m.key===c);if(!d)return null;let u=t.data;if(!u)return null;let p=u[c];return p==null?null:ms(u.type,d.format,p,r)}function ms(t,e,r,n,o,a){if(r==null)return console.warn(`Formatting ${r} for ${t} with format ${JSON.stringify(e)}`),"(empty)";if(typeof e=="object")switch(e.type){case"table":{let{columns:i}=e;if(!(r instanceof Array))throw new Error("Expected an array for table type");let l=i.some(d=>d.label)?[i.map(d=>d.label||"(empty)")]:[],c=r.map((d,u)=>{if(!(d instanceof Array))throw new Error("Expected an array for table row");if(d.length!==i.length)throw new Error(`Row ${u} length doesn't match column count (row: ${d.length}, cols: ${i.length})`);return d.map((p,m)=>{let{type:f}=i[m];return ms(t,f||"string",p,n,o,a)})});return l.push(...c),l.map(d=>`(${d.join(", ")})`).join(",")}default:throw new Error(`Unknown format type ${JSON.stringify(e.type)}`)}switch(e){case"url":case"file-path":case"sanitized-string":case"string":return String(r)||"(empty)";case"unique-string":case"flow-id":case"terminating-flow-id":return n.getString(r,"(empty)");case"duration":case"time":return Yt(r);case"seconds":return fa(r);case"milliseconds":return Ot(r);case"microseconds":return Oo(r);case"nanoseconds":return Wk(r);case"bytes":return Ue(r);case"integer":return Se(r,0,0);case"decimal":return Se(r);case"percentage":return Kt(r);case"pid":return a&&a.has(r)?`${$(a.get(r))} (${r})`:`PID: ${r}`;case"tid":return o&&o.has(r)?`${$(o.get(r))} (${r})`:`TID: ${r}`;case"list":if(!(r instanceof Array))throw new Error("Expected an array for list format");return r.map(i=>ms(t,"string",i,n)).join(", ");default:return console.warn(`A marker schema of type "${t}" had an unknown format ${JSON.stringify(e)}`),r}}function oI(t,e,r,n){let{data:o}=e;if(!o)return!1;for(let a of t.fields){let i=o[a.key];if(i!=null){if(a.format==="unique-string"||a.format==="flow-id"||a.format==="terminating-flow-id"){if(typeof i!="number"){console.warn(`In marker ${e.name}, the key ${a.key} has an invalid value "${i}" as a unique string, it isn't a number.`);continue}if(!r.hasIndex(i)){console.warn(`In marker ${e.name}, the key ${a.key} has an invalid index "${i}" as a unique string, as it's missing from the string table.`);continue}i=r.getString(i)}if(i!==""&&n(i,a.key))return!0}}return!1}function hd(t){let e=new Map;e.set("CompositorScreenshot",["url"]);for(let r of t){let{name:n,fields:o}=r,a=[];for(let i of o)(i.format==="unique-string"||i.format==="flow-id"||i.format==="terminating-flow-id")&&i.key&&a.push(i.key);a.length!==0&&e.set(n,a)}return e}function rH(t,e,r){let n=()=>i.push({start:a-o,end:a,name:"Jank",category:r,threadId:null,data:{type:"Jank"}}),o=0,a=0,i=[];for(let s=0;s<t.length;s++){let l;t.eventDelay?l=t.eventDelay[s]:t.responsiveness&&(l=t.responsiveness[s]),l!=null&&(l<o&&o>=e&&n(),o=l,a=t.time[s])}return o>=e&&n(),i}function rm(t,e,r,n,o,a){if(!n)return e;let i=!!n.generic,s=!1;for(let c of n.fieldMap.values())i=i||c.positive!==null,s=s||c.negative!==null;let l=[];for(let c of e){let d=t(c),u=!0;i&&(u=MX(d,r,n,o,a)),u&&s&&(u=LX(d,r,n,o,a)),u&&l.push(c)}return l}function MX(t,e,r,n,o){let a=r;function i(d,u){u=u.toLowerCase();let p=a.fieldMap.get(u),m=(a.generic?a.generic.test(d):!1)||(p&&p.positive?p.positive.test(d):!1);return a.generic&&(a.generic.lastIndex=0),p&&p.positive&&(p.positive.lastIndex=0),m}let{data:s,name:l,category:c}=t;if(o[c]!==void 0){let d=o[c].name;if(i(d,"cat"))return!0}if(i(l,"name"))return!0;if(s&&typeof s=="object"){if(i(s.type,"type"))return!0;let d=ti(e,t.data);if(d&&oI(d,t,n,i))return!0}return!1}function LX(t,e,r,n,o){let a=r;function i(d,u){u=u.toLowerCase();let m=a.fieldMap.get(u)?.negative;if(!m)return!1;let f=m.test(d);return m.lastIndex=0,f}let{data:s,name:l,category:c}=t;if(o[c]!==void 0){let d=o[c].name;if(i(d,"cat"))return!1}if(i(l,"name"))return!1;if(s&&typeof s=="object"){if(i(s.type,"type"))return!1;let d=ti(e,t.data);if(d&&oI(d,t,n,i))return!1}return!0}var Ry=class{_correlations;constructor(){this._correlations=new Map}set(e,r,n){let o=this._correlations.get(e);o||(o=new Map,this._correlations.set(e,o)),o.set(r,n)}get(e,r){let n=this._correlations.get(e);if(n)return n.get(r)}};function My(t,e){function r(c,d){let u;return d.direction==="sending"?u=`${c.pid},${d.otherPid}`:u=`${d.otherPid},${c.pid}`,u+`,${d.messageSeqno},${d.messageType}`}function n(c){if(c!=null){let d=s.get(c);if(d!==void 0)return`${d} (Thread ID: ${c})`}}function o(c){let{phase:d}=c;if(c.direction==="sending")switch(d){case"endpoint":case void 0:return 0;case"transferStart":return 1;case"transferEnd":return 2;default:throw Y(d,"Unhandled IPC phase type.")}else switch(d){case"transferEnd":return 3;case"endpoint":case void 0:return 4;case"transferStart":throw new Error('Unexpected "transferStart" phase found on receiving side.');default:throw Y(d,"Unhandled IPC phase type.")}}if(!tt.withBackingArray(e.stringArray).hasString("IPC"))return new Ry;let i=new Map,s=new Map;for(let c of t)if(typeof c.tid=="number"){let d=c.tid;s.set(d,yn(t,c));for(let u=0;u<c.markers.length;u++){let p=c.markers.data[u];if(!p||p.type!=="IPC")continue;let m=r(c,p);i.has(m)||i.set(m,new Array(5).fill(void 0));let f=$(i.get(m)),h=o(p);f[h]===void 0?f[h]={tid:d,index:u,data:p}:console.warn("Duplicate IPC marker found for key",m)}}let l=new Ry;for(let c of i.values()){let d=c[0],u=c[4],p=d?d.tid:void 0,m=u?u.tid:void 0,f={startTime:d?d.data.startTime:void 0,sendStartTime:c[1]?c[1].data.startTime:void 0,sendEndTime:c[2]?c[2].data.startTime:void 0,recvEndTime:c[3]?c[3].data.startTime:void 0,endTime:u?u.data.startTime:void 0,sendTid:p,recvTid:m,sendThreadName:n(p),recvThreadName:n(m)},h=new Set;if(d&&(h.add(d.tid),l.set(d.tid,d.index,f)),u&&(h.add(u.tid),l.set(u.tid,u.index,f)),!d||!u){for(let b of c.slice(1,4))if(b!==void 0){let g=b;h.has(g.tid)||(l.set(g.tid,g.index,f),h.add(g.tid))}}}return l}function Ly(t,e,r,n,o){let a=[],i=[],s=new Map,l=new Map;function c(m,f){i.push(m),a.push(f)}function d(m,f){return m===null?f:f===null?m:{...m,...f}}let u=new Map;for(let m=0;m<t.length;m++){let f=t.name[m],h=t.startTime[m],b=t.endTime[m],g=t.phase[m],y=t.data[m],v=t.category[m],S=t.threadId?t.threadId[m]:null;if(y)switch(y.type){case"Network":{let x="Network markers are assumed to have a start and end time.";if(y.status==="STATUS_START")l.set(y.id,m);else{let w=y,I=l.get(y.id);if(I!==void 0){l.delete(y.id);let C=t.data[I],k=$(t.startTime[I],x),N=$(h,x),O=$(b,x);c([I,m],{start:k,end:O,name:e[f],category:v,threadId:S,data:{...w,startTime:k,fetchStart:N,cause:C.cause||w.cause}})}else{let C=Math.min(n.start,$(h,"Network markers are assumed to have a start time.")),k=$(b,x);c([m],{start:C,end:k,name:e[f],category:v,threadId:S,data:{...w,startTime:C,fetchStart:w.startTime,cause:w.cause},incomplete:!0})}}continue}case"CompositorScreenshot":{let{windowID:x}=y,w=u.get(x);if(w!==void 0){u.delete(x);let I=$(t.startTime[w],"Expected to find a start time for a screenshot marker."),C=$(h,"The CompositorScreenshot is assumed to have a start time."),k=t.data[w],N=t.threadId?t.threadId[w]:null;c([w],{start:I,end:C,name:"CompositorScreenshot",category:v,threadId:N,data:k})}if(e[f]==="CompositorScreenshotWindowDestroyed")break;u.set(x,m);continue}case"IPC":{let x=o.get(r||0,m);if(!x||y.direction==="sending"&&y.phase==="transferEnd"&&x.sendStartTime!==void 0)continue;let w=y.direction==="sending"?"IPCOut":"IPCIn";y.sync&&(w="Sync"+w);let I=$(y.startTime,"Expected IPC startTime to exist in the payload."),C=I,k=!0;x.startTime!==void 0&&x.endTime!==void 0&&(I=x.startTime,C=x.endTime,k=!1);let N={...y,...x,niceDirection:y.direction==="sending"?`sent to ${x.recvThreadName||y.otherPid}`:`received from ${x.sendThreadName||y.otherPid}`};c([m],{start:I,end:C,name:w,category:v,threadId:S,data:N,incomplete:k});continue}default:}switch(g){case 0:c([m],{start:$(h,"An Instant marker did not have a startTime."),end:null,name:e[f],category:v,threadId:S,data:y});break;case 1:{let x=$(h,"An Interval marker did not have a startTime."),w=$(b,"An Interval marker did not have a startTime.");c([m],{start:x,end:w,name:e[f],category:v,threadId:S,data:y})}break;case 2:{let x=s.get(f);x||(x=[],s.set(f,x)),x.push(m)}break;case 3:{let x=s.get(f),w;x&&(w=x.pop());let I=$(b,"An IntervalEnd marker did not have an endTime");if(w!==void 0){let C=$(t.startTime[w],"An IntervalStart marker did not have a startTime");c([w,m],{start:C,name:e[f],end:I,category:v,threadId:S,data:d(t.data[w],y)})}else{let C=Math.min(I,n.start);c([m],{start:C,name:e[f],end:I,category:v,threadId:S,data:y,incomplete:!0})}}break;default:throw new Error("Unhandled marker phase type.")}}let p=n.end;for(let m of s.values())for(let f of m){let h=$(t.startTime[f],"Encountered a marker without a startTime. Eventually this needs to be handled for phase-style markers.");c([f],{start:h,end:Math.max(p,h),name:e[t.name[f]],data:t.data[f],category:t.category[f],threadId:t.threadId?t.threadId[f]:null,incomplete:!0})}for(let m of l.values()){let f=$(t.startTime[m],"Network markers are assumed to always have a start time.");c([m],{start:f,end:Math.max(p,f),name:e[t.name[m]],category:t.category[m],threadId:t.threadId?t.threadId[m]:null,data:t.data[m],incomplete:!0})}for(let m of u.values()){let f=$(t.startTime[m],"Expected to find a CompositorScreenshot marker with a start time.");c([m],{start:f,end:Math.max(p,f),name:"CompositorScreenshot",category:t.category[m],threadId:t.threadId?t.threadId[m]:null,data:t.data[m]})}return{markers:a,markerIndexToRawMarkerIndexes:i}}function nH(t,e,r,n){let o=sa();t.threadId&&(o.threadId=[]);let a=oH(t,e,r,n);for(let i of a)o.startTime.push(t.startTime[i]),o.endTime.push(t.endTime[i]),o.phase.push(t.phase[i]),o.name.push(t.name[i]),o.data.push(t.data[i]),o.category.push(t.category[i]),t.threadId&&o.threadId&&o.threadId.push(t.threadId[i]),o.length++;return o}function oH(t,e,r,n){let{markers:o,markerIndexToRawMarkerIndexes:a}=e,i=new Set;for(let s=0;s<o.length;s++){let{start:l,end:c}=o[s];if(c===null){if(l<n&&l>=r)for(let d of a[s])i.add(d)}else if(l<n&&c>=r)for(let d of a[s])i.add(d)}return[...i].sort((s,l)=>s-l)}function aH(t,e,r,n){let o=sa(),a=[];t.threadId&&(o.threadId=a);let i=new Map,s=l=>{r.has(l)||(i.set(l,o.length),o.name.push(t.name[l]),o.startTime.push(t.startTime[l]),o.endTime.push(t.endTime[l]),o.phase.push(t.phase[l]),o.data.push(t.data[l]),o.category.push(t.category[l]),t.threadId&&a.push(t.threadId[l]),o.length++)};if(n===null)for(let l=0;l<t.length;l++)s(l);else{let{start:l,end:c}=n,d=oH(t,e,l,c);for(let u of d)s(u)}return{rawMarkerTable:o,oldMarkerIndexToNew:i}}function Dy(t,e,r){return e.filter(n=>r(t(n)))}function aI(t,e,r,n){return Dy(t,e,o=>o.start<=n&&(o.end||o.start)>=r)}function Ay(t){return!!(t.data&&t.data.type==="Network")}function iH(t){return!!(t.data&&t.data.type==="UserTiming")}function sH({name:t,data:e}){return t==="TTI"||t==="FirstContentfulPaint"||t==="FirstContentfulComposite"||t==="LargestContentfulPaint"?!0:e?!!("innerWindowID"in e&&e.innerWindowID&&t==="Navigation::Start"||"category"in e&&e.category==="Navigation"&&(t==="Load"||t==="DOMContentLoaded")):!1}function lH(t){let{data:e}=t;if(!(!e||e.type!=="FileIO"))return e.threadId===void 0}function iI(t){return e=>{let{data:r}=e;if(!r||!t[r.type])return!0}}function nm(t){let e;try{e=new URL(t.URI)}catch{return null}let r=e.pathname,n=r.lastIndexOf(".");if(n<0)return null;let o=r.slice(n+1);switch(o){case"js":return"application/javascript";case"css":case"html":return`text/${o}`;case"gif":case"png":return`image/${o}`;case"jpeg":case"jpg":return"image/jpeg";case"svg":return"image/svg+xml";default:return null}}function om(t){switch(t){case"text/css":return"network-color-css";case"text/html":return"network-color-html";case"application/javascript":return"network-color-js";case null:return"network-color-other";default:return t.startsWith("image/")?"network-color-img":"network-color-other"}}function cH(t,e){let r=new Map;for(let n of e){let o=t(n),{data:a}=o;if(a&&a.type==="CompositorScreenshot"){let i=r.get(a.windowID);i===void 0&&(i=[],r.set(a.windowID,i)),i.push(o)}}return r}function dH(t){return{...t,URI:"",RedirectURI:""}}function uH(t){return{...t,prefValue:""}}function pH(t){return{...t,name:fd(t.name)}}function mH(t,e){return["ExtensionParent","ExtensionChild"].includes(t)?{...e,name:e.name.replace(/^.*, (api_(call|event): )/,"$1")}:t==="Extension Suspend"?{...e,name:e.name.replace(/ by .*$/,"")}:e}function fH(t,e){for(let{key:r,format:n}of t.fields)r in e&&(n==="url"?e={...e,[r]:fd(e[r])}:n==="file-path"?e={...e,[r]:eH(e[r])}:n==="sanitized-string"&&(e={...e,[r]:"<sanitized>"}));return e}function DX(t,e){let r=new Set;for(let{display:n,name:o}of t)n.includes(e)&&r.add(o);return r}function AX(t){}function kl(t,e,r,n,o,a=AX){let i=DX(r,o);return Dy(t,e,s=>{let l=a(s);if(l!==void 0)return l;let c=s.data?s.data.type??null:null;return c!==null&&i.has(c)})}function Oy(t,e){let{windowWidth:r,windowHeight:n}=t,o=n>r?e/n:e/r,a=r*o,i=n*o;return a=Math.round(a),i=Math.round(i),{width:a,height:i}}var am=t=>{if(!t||!t.length)return null;let e=new Map,r=[];for(let o of t){let a=o.match(/^(?<maybeNegative>-?)(?<key>\w+):(?<value>.+)/i);if(a&&a.groups){let{maybeNegative:i,value:s}=a.groups,l=a.groups.key.toLowerCase(),c=e.get(l);c||(c={positive:[],negative:[]},e.set(l,c)),i.length===0?(c.positive.push(s),r.push(o)):c.negative.push(s)}else r.push(o)}let n=new Map;for(let[o,a]of e)n.set(o,{positive:ei(a.positive),negative:ei(a.negative)});return{generic:ei(r),fieldMap:n}};function FX(t){let e=t.replace(/ \[clone [^]+\]$/,"").replace(/ const$/,"").replace(/^static /,"");if(e[e.length-1]!==")")return t;let r=0;for(let n=e.length-1;n>0;n--)if(e[n]===")")r++;else if(e[n]==="("&&(r--,r===0))return e.substr(0,n);return e}function BX(t){let e="",r=0,n=null,o=0;for(let a=1;a<t.length;a++)t[a]==="<"?(t[a-1]!==" "&&t[a-1]!=="."&&n===null&&(e+=t.slice(o,a),o=a,n=r),r++):t[a]===">"&&(r--,r===n&&(o=a+1,n=null));return e+=t.slice(o),e}function Go(t){return BX(FX(t))}function sI(t,e){let r=e.oldResourceToNewResourcePlusOne[t];return r!==0?r-1:null}function ri(t,e){let r=e.oldFuncCount;if(t<r){let a=e.oldFuncToNewFuncPlusOne[t];return a!==0?a-1:null}let n=t-r,o=sI(n,e);return o!==null?e.newFuncCount+o:null}function lI(t,e){let r=new Array;for(let n of t){let o=ri(n,e);if(o===null)return null;r.push(o)}return r}var HX={"focus-subtree":!0,"focus-function":!0,"focus-self":!0,"merge-call-node":!0,"merge-function":!0,"drop-function":!0,"collapse-resource":!0,"collapse-direct-recursion":!0,"collapse-recursion":!0,"collapse-function-subtree":!0,"focus-category":!0,"filter-samples":!0},UX=Object.keys(HX),hH={},gH={};UX.forEach(t=>{let e;switch(t){case"focus-subtree":e="f";break;case"focus-function":e="ff";break;case"focus-self":e="ffs";break;case"focus-category":e="fg";break;case"merge-call-node":e="mcn";break;case"merge-function":e="mf";break;case"drop-function":e="df";break;case"collapse-resource":e="cr";break;case"collapse-direct-recursion":e="drec";break;case"collapse-recursion":e="rec";break;case"collapse-function-subtree":e="cfs";break;case"filter-samples":e="fs";break;default:throw Y(t)}hH[t]=e,gH[e]=t});function cI(t){if(!t)return[];let e=[];return t.split("~").forEach(r=>{let n=r.split("-"),o=n[0],a=Ch(gH[o]);if(a===null){console.error("Unrecognized transform was passed to the URL.",o);return}switch(a){case"collapse-resource":{let[,i,s,l]=n,c=parseInt(s,10),d=parseInt(l,10);if(isNaN(c)||isNaN(d))break;c>=0&&e.push({type:a,resourceIndex:c,collapsedFuncIndex:d,implementation:xl(i)});break}case"collapse-recursion":{let[,i]=n,s=parseInt(i,10);if(isNaN(s)||s<0)break;e.push({type:"collapse-recursion",funcIndex:s});break}case"collapse-direct-recursion":{let[,i,s]=n,l=parseInt(s,10);if(isNaN(l)||l<0)break;e.push({type:"collapse-direct-recursion",funcIndex:l,implementation:xl(i)});break}case"merge-function":case"focus-function":case"drop-function":case"collapse-function-subtree":{let[,i]=n,s=parseInt(i,10);if(!isNaN(s)&&s>=0)switch(a){case"merge-function":e.push({type:"merge-function",funcIndex:s});break;case"focus-function":e.push({type:"focus-function",funcIndex:s});break;case"drop-function":e.push({type:"drop-function",funcIndex:s});break;case"collapse-function-subtree":e.push({type:"collapse-function-subtree",funcIndex:s});break;default:throw new Error("Unmatched transform.")}break}case"focus-self":{let[,i,s]=n,l=parseInt(s,10);if(isNaN(l)||l<0)break;e.push({type:"focus-self",funcIndex:l,implementation:xl(i)});break}case"focus-category":{let[,i]=n,s=parseInt(i,10);!isNaN(s)&&s>=0&&e.push({type:"focus-category",category:s});break}case"focus-subtree":case"merge-call-node":{let[,i,s,l]=n,c=xl(i),d=Bo(s),u=!!l;switch(a){case"focus-subtree":e.push({type:"focus-subtree",implementation:c,callNodePath:d,inverted:u});break;case"merge-call-node":e.push({type:"merge-call-node",implementation:c,callNodePath:d});break;default:throw new Error("Unmatched transform.")}break}case"filter-samples":{let[,i,...s]=n,l=s.join("-"),c=GX(i);e.push({type:"filter-samples",filterType:c,filter:l});break}default:throw Y(a)}}),e}function GX(t){if(t==="m")return"marker-search";throw new Error("Unknown filter type.")}function $X(t){if(t==="marker-search")return"m";throw Y(t)}function dI(t){return t.map(e=>{let r=hH[e.type];if(!r)throw new Error("Expected to be able to convert a transform into its short key.");switch(e.type){case"merge-function":case"drop-function":case"collapse-function-subtree":case"focus-function":return`${r}-${e.funcIndex}`;case"focus-category":return`${r}-${e.category}`;case"collapse-resource":return`${r}-${e.implementation}-${e.resourceIndex}-${e.collapsedFuncIndex}`;case"collapse-recursion":return`${r}-${e.funcIndex}`;case"collapse-direct-recursion":case"focus-self":return`${r}-${e.implementation}-${e.funcIndex}`;case"focus-subtree":case"merge-call-node":{let n=[r,e.implementation,Ka(e.callNodePath)].join("-");return"inverted"in e&&e.inverted&&(n+="-i"),n}case"filter-samples":return`${r}-${$X(e.filterType)}-${e.filter}`;default:throw Y(e)}}).join("~")}function yH(t,e,r,n){let{funcTable:o,stringTable:a,resourceTable:i}=e,{categories:s}=t,l=n.map(c=>{if(c.type==="collapse-resource"){let m=i.name[c.resourceIndex];return{l10nId:"TransformNavigator--collapse-resource",item:a.getString(m)}}if(c.type==="focus-category"){if(s===void 0)throw new Error("Expected categories to be defined.");return{l10nId:"TransformNavigator--focus-category",item:s[c.category].name}}if(c.type==="filter-samples"){if(c.filterType==="marker-search")return{l10nId:"TransformNavigator--drop-samples-outside-of-markers-matching",item:c.filter};throw Y(c.filterType)}let d;switch(c.type){case"focus-subtree":case"merge-call-node":d=c.callNodePath[c.callNodePath.length-1];break;case"focus-function":case"focus-self":case"merge-function":case"drop-function":case"collapse-direct-recursion":case"collapse-recursion":case"collapse-function-subtree":d=c.funcIndex;break;default:throw Y(c)}let u=o.name[d],p=Go(a.getString(u));switch(c.type){case"focus-subtree":return{l10nId:"TransformNavigator--focus-subtree",item:p};case"focus-function":return{l10nId:"TransformNavigator--focus-function",item:p};case"focus-self":return{l10nId:"TransformNavigator--focus-self",item:p};case"merge-call-node":return{l10nId:"TransformNavigator--merge-call-node",item:p};case"merge-function":return{l10nId:"TransformNavigator--merge-function",item:p};case"drop-function":return{l10nId:"TransformNavigator--drop-function",item:p};case"collapse-direct-recursion":return{l10nId:"TransformNavigator--collapse-direct-recursion-only",item:p};case"collapse-recursion":return{l10nId:"TransformNavigator--collapse-recursion",item:p};case"collapse-function-subtree":return{l10nId:"TransformNavigator--collapse-function-subtree",item:p};default:throw Y(c)}});return l.unshift({l10nId:"TransformNavigator--complete",item:r}),l}function uI(t,e,r,n){switch(e.type){case"focus-subtree":return zX(e.callNodePath,t);case"focus-function":return VX(e.funcIndex,t);case"focus-self":return WX(e.funcIndex,t);case"focus-category":return qX(e.category,t,n);case"merge-call-node":return jX(e.callNodePath,t);case"merge-function":return KX(e.funcIndex,t);case"drop-function":return YX(e.funcIndex,t);case"collapse-resource":return XX(e.resourceIndex,e.collapsedFuncIndex,r.funcTable,t);case"collapse-direct-recursion":return JX(e.funcIndex,t);case"collapse-recursion":return ZX(e.funcIndex,t);case"collapse-function-subtree":return QX(e.funcIndex,t);case"filter-samples":return t;default:throw Y(e)}}function zX(t,e){return bH(t,e)?e.slice(t.length-1):[]}function VX(t,e){let r=e.indexOf(t);return r===-1?[]:e.slice(r)}function WX(t,e){return e.indexOf(t)!==-1?[t]:[]}function jX(t,e){return bH(t,e)?e.filter((r,n)=>n!==t.length-1):e}function KX(t,e){return e.filter(r=>r!==t)}function YX(t,e){return e.includes(t)?[]:e}function qX(t,e,r){let n=[],o=-1;for(let a of e){let i=r.getCallNodeIndexFromParentAndFunc(o,a);if(i===null)throw new Error(`We couldn't find a node with prefix ${o} and func ${a}, this shouldn't happen.`);r.categoryForNode(i)===t&&n.push(a),o=i}return n}function XX(t,e,r,n){return n.map(o=>r.resource[o]===t?e:o).filter((o,a,i)=>o!==i[a-1]||o!==e)}function JX(t,e){let r=[],n;for(let o=0;o<e.length;o++){let a=e[o];(a!==t||a!==n)&&r.push(a),n=a}return r}function ZX(t,e){let r=e.indexOf(t),n=e.lastIndexOf(t);return r===-1?e:e.slice(0,r).concat(e.slice(n))}function QX(t,e){let r=e.indexOf(t);return r===-1?e:e.slice(0,r+1)}function bH(t,e){return t.length<=e.length&&t.every((r,n)=>r===e[n])}function e9(t,e,r){return ct("mergeCallNode",()=>{let{stackTable:n,frameTable:o}=t,a=e.length-1,i=new Map;i.set(null,null);let s=rp(),l=[],c=[],d=ga[r];for(let u=0;u<n.length;u++){let p=n.prefix[u],m=n.frame[u],f=n.category[u],h=n.subcategory[u],b=o.func[m],g=p===null?!0:c[p],y=p===null?-1:l[p],v=e[y+1],S=!1,x=y,w;if(g&&x<a?v===b?(w=!0,x+1===a?S=!0:x++):d(t,b)?w=!1:w=!0:w=!1,c[u]=w,l[u]=x,S){let I=i.get(p);i.set(u,I===void 0?null:I)}else{let I=s.length++,C=i.get(p);s.prefix[I]=C===void 0?null:C,s.frame[I]=m,s.category[I]=f,s.subcategory[I]=h,i.set(u,I)}}return Ho(t,s,Zp(i))})}function t9(t,e){let{stackTable:r,frameTable:n}=t,o=new Uint32Array(r.length),a=r.frame,i=n.func,s=r.prefix,l=new Array(r.length);for(let d=0;d<r.length;d++){let u=s[d],p=u===null?0:o[u],m=a[d];i[m]===e?o[d]=p:o[d]=d+1;let h=p===0?null:p-1;l[d]=h}let c={...r,prefix:l};return Ho(t,c,d=>{if(d===null)return null;let u=o[d];return u===0?null:u-1})}function r9(t,e){let{stackTable:r,frameTable:n}=t,o=new Uint8Array(r.length);for(let a=0;a<r.length;a++){let i=r.prefix[a],s=r.frame[a];(n.func[s]===e||i!==null&&o[i]===1)&&(o[a]=1)}return Ho(t,r,a=>a!==null&&o[a]===1?null:a)}function n9(t,e,r,n){let{funcTable:o,frameTable:a}=t,i=a.func.slice();for(let l=0;l<a.length;l++){let c=a.func[l];o.resource[c]===e&&(i[l]=r)}let s={...t,frameTable:{...a,func:i}};return vH(s,r,n)}function vH(t,e,r){let{stackTable:n,frameTable:o}=t,a=new Map,i=ga[r],s=n.prefix.slice();for(let l=0;l<n.length;l++){let c=n.prefix[l],d=n.frame[l],u=o.func[d],p=c!==null?a.get(c):void 0;p===void 0?u===e&&a.set(l,c):i(t,u)?u===e&&(a.set(l,p),s[l]=p):a.set(l,p)}return{...t,stackTable:{...n,prefix:s}}}function o9(t,e){let{stackTable:r,frameTable:n}=t,o=new Map,a=r.prefix.slice();for(let i=0;i<r.length;i++){let s=r.prefix[i],l=r.frame[i],c=n.func[l],d=s!==null?o.get(s):void 0;d===void 0?c===e&&o.set(i,s):(o.set(i,d),c===e&&(a[i]=d))}return{...t,stackTable:{...r,prefix:a}}}var ga={combined:(t,e)=>!0,cpp:(t,e)=>{let{funcTable:r,stringTable:n}=t;if(t.funcTable.isJS[e])return!1;let o=n.getString(r.name[e]);return!(r.resource[e]===-1&&o.startsWith("0x"))},js:(t,e)=>t.funcTable.isJS[e]||t.funcTable.relevantForJS[e]};function a9(t,e){let{stackTable:r,frameTable:n}=t,o=new Int32Array(r.length),a=new Uint8Array(r.length);for(let i=0;i<r.length;i++){let s=r.prefix[i];if(s!==null&&a[s]!==0)o[i]=o[s],a[i]=1;else{o[i]=i;let l=r.frame[i],c=n.func[l];e===c&&(a[i]=1)}}return Ho(t,t.stackTable,i=>i===null?null:o[i])}function i9(t,e,r){return ct("focusSubtree",()=>{let{stackTable:n,frameTable:o}=t,a=e.length,i=new Int32Array(n.length),s=ga[r],l=new Map;l.set(null,null);let c=rp();for(let d=0;d<n.length;d++){let u=n.prefix[d],p=u!==null?i[u]:0,m=-1;if(p!==-1){let f=n.frame[d],h=n.category[d],b=n.subcategory[d];if(p===a)m=a;else{let g=o.func[f];g===e[p]?m=p+1:s(t,g)||(m=p)}if(m===a){let g=c.length++,y=l.get(u);c.prefix[g]=y??null,c.frame[g]=f,c.category[g]=h,c.subcategory[g]=b,l.set(d,g)}}i[d]=m}return Ho(t,c,d=>{if(d===null||i[d]!==a)return null;let u=l.get(d);if(u===void 0)throw new Error("Converting from the old stack to a new stack cannot be undefined");return u})})}function s9(t,e,r){return ct("focusInvertedSubtree",()=>{let n=e.length,{stackTable:o,frameTable:a}=t,i=ga[r];function s(c){let d=0;for(let u=c;u!==null;u=o.prefix[u]){let p=o.frame[u],m=a.func[p];if(m===e[d]){if(d++,d===n)return u}else if(i(t,m))return null}return null}let l=new Map;return l.set(null,null),Ho(t,o,c=>{let d=l.get(c);return d===void 0&&(d=s(c),l.set(c,d)),d})})}function l9(t,e){return ct("focusFunction",()=>{let{stackTable:r,frameTable:n}=t,o=new Uint32Array(r.length),a=rp();for(let i=0;i<r.length;i++){let s=r.prefix[i],l=r.frame[i],c=n.func[l],d=s===null?0:o[s],u=d===0?null:d-1;if(u!==null||c===e){let p=a.length++;a.prefix[p]=u,a.frame[p]=l,a.category[p]=r.category[i],a.subcategory[p]=r.subcategory[i],o[i]=p+1}}return Ho(t,a,i=>{if(i===null)return null;let s=o[i];return s===0?null:s-1})})}function c9(t,e,r){return ct("focusSelf",()=>{let{stackTable:n,frameTable:o}=t,a=ga[r],i=new Uint8Array(n.length),s=n.prefix.slice();for(let c=0;c<n.length;c++){let d=n.frame[c],u=o.func[d];if(u===e)i[c]=1,s[c]=null;else{let p=s[c];p!==null&&i[p]===1&&!a(t,u)&&(i[c]=1)}}let l={...n,prefix:s};return Ho(t,l,c=>c===null||i[c]===0?null:c)})}function d9(t,e){return ct("focusCategory",()=>{let{stackTable:r}=t,n=new Map;n.set(null,null);let o=rp();for(let i=0;i<r.length;i++){let s=r.prefix[i],l=n.get(s);if(l===void 0)throw new Error("The prefix should not map to an undefined value");if(r.category[i]!==e){n.set(i,l);continue}let c=o.length++;o.prefix[c]=l,o.frame[c]=r.frame[i],o.category[c]=r.category[i],o.subcategory[c]=r.subcategory[i],n.set(i,c)}return Ho(t,o,Zp(n))})}function pI(t,e,r){let{stackTable:n,frameTable:o}=t,a=ga[e],i=[],s=null;for(let c=0;c<n.length;c++){let d=n.prefix[c],u=n.frame[c],p=o.func[u],m=d===null?-1:i[d];if(m===null)continue;let f=m+1;if(r[f]===p){if(i[c]=f,f===r.length-1){s=c;break}}else a(t,p)?i[c]=null:i[c]=m}if(s===null)return[];let l=[];for(let c=s;c!==null;c=n.prefix[c]){let d=n.frame[c],u=o.func[d];l.push(u)}return l.reverse()}function TH(t,e){return ga.cpp(t,e)?"native":ga.js(t,e)?"js":"unsymbolicated"}function SH(t,e,r){let n=ga[e];return r.filter(o=>n(t,o))}function Fy(t,e,r){let{funcTable:n,stringTable:o,resourceTable:a,sources:i}=r,{stackTable:s,frameTable:l}=r,c=[];for(let p=t;p!==null;p=s.prefix[p]){let m=s.frame[p];c.push({category:s.category[p],funcIndex:l.func[m],frameLine:l.line[m],frameColumn:l.column[m],inlineDepth:l.inlineDepth[m],stackIndex:p})}let d=ga[e];return c.filter(({funcIndex:p})=>d(r,p)).map(({category:p,funcIndex:m,frameLine:f,frameColumn:h,inlineDepth:b,stackIndex:g})=>({funcName:o.getString(n.name[m]),category:p,isFrameLabel:n.resource[m]===-1,origin:ps(m,n,a,o,i,f,h),inlineDepth:b,stackIndex:g}))}function By(t,e){for(let r=0;r<t.length;r++)if(t.func[r]===e){let n=t.prefix[r];if(n!==null&&t.func[n]===e)return!0}return!1}function Hy(t,e){let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++){let o=t.prefix[n],a=t.func[n],i=o!==-1&&r[o]!==0;if(e===a){if(i)return!0;r[n]=1}else i&&(r[n]=1)}return!1}function u9(t,e,r,n,o,a){let i=[],s=am(Qa(a)),l=rm(t,e,r,s,n,o);for(let c of l){let{start:d,end:u}=t(c);d===null||u===null||i.push({start:d,end:u})}return i}function p9(t,e,r,n,o,a,i){return ct("filterSamples",()=>{function s(){if(a==="marker-search")return u9(e,r,n,t.stringTable,o,i);throw Y(a)}let l=XB(s());function c(d,u){let p=d.slice(),m=0,f=u.length;for(let h of l){let{start:b,end:g}=h;for(;m<f&&!(u[m]>=b);m++)p[m]=null;for(;m<f&&!(u[m]>=g);m++);}for(;m<f;)p[m]=null,m++;return p}return tI(t,t.stackTable,c,c,d=>d)})}function xH(t,e,r,n,o,a){switch(e.type){case"focus-subtree":return e.inverted?s9(t,e.callNodePath,e.implementation):i9(t,e.callNodePath,e.implementation);case"merge-call-node":return e9(t,e.callNodePath,e.implementation);case"merge-function":return t9(t,e.funcIndex);case"drop-function":return r9(t,e.funcIndex);case"focus-function":return l9(t,e.funcIndex);case"focus-self":return c9(t,e.funcIndex,e.implementation);case"focus-category":return d9(t,e.category);case"collapse-resource":return n9(t,e.resourceIndex,e.collapsedFuncIndex,e.implementation);case"collapse-direct-recursion":return vH(t,e.funcIndex,e.implementation);case"collapse-recursion":return o9(t,e.funcIndex);case"collapse-function-subtree":return a9(t,e.funcIndex);case"filter-samples":return p9(t,r,n,o,a,e.filterType,e.filter);default:throw Y(e)}}function m9(t,e){let{type:r}=t;switch(r){case"focus-subtree":{let n=lI(t.callNodePath,e);return n===null?null:{type:r,callNodePath:n,implementation:t.implementation,inverted:t.inverted}}case"focus-function":{let n=ri(t.funcIndex,e);return n===null?null:{type:r,funcIndex:n}}case"focus-self":{let n=ri(t.funcIndex,e);return n===null?null:{type:r,funcIndex:n,implementation:t.implementation}}case"merge-call-node":{let n=lI(t.callNodePath,e);return n===null?null:{type:r,callNodePath:n,implementation:t.implementation}}case"merge-function":{let n=ri(t.funcIndex,e);return n===null?null:{type:r,funcIndex:n}}case"drop-function":{let n=ri(t.funcIndex,e);return n===null?null:{type:r,funcIndex:n}}case"collapse-resource":{let n=sI(t.resourceIndex,e);if(n===null)return null;let o=e.newFuncCount+n;return{type:r,resourceIndex:n,implementation:t.implementation,collapsedFuncIndex:o}}case"collapse-direct-recursion":{let n=ri(t.funcIndex,e);return n===null?null:{type:r,funcIndex:n,implementation:t.implementation}}case"collapse-recursion":{let n=ri(t.funcIndex,e);return n===null?null:{type:r,funcIndex:n}}case"collapse-function-subtree":{let n=ri(t.funcIndex,e);return n===null?null:{type:r,funcIndex:n}}case"focus-category":return t;case"filter-samples":{if(t.filterType==="marker-search")return t;throw Y(t.filterType)}default:throw Y(t)}}function Uy(t,e){return t.map(r=>m9(r,e)).filter(r=>r!==null)}var im={calltree:"TabBar--calltree-tab","flame-graph":"TabBar--flame-graph-tab","stack-chart":"TabBar--stack-chart-tab","marker-chart":"TabBar--marker-chart-tab","marker-table":"TabBar--marker-table-tab","network-chart":"TabBar--network-tab","js-tracer":"TabBar--js-tracer-tab"},ni=Object.getOwnPropertyNames(im),Lhe=ni.map(t=>({name:t,title:im[t]})),oi=["calltree","flame-graph","stack-chart"];var ai=15,fI=!1,Gy=0;function kH(){Gy++,fI=!0}function IH(){if(Gy--,Gy<0)throw new Error("_maybeDisableHistoryReplaceState was called more than _enableHistoryReplaceState which should never happen.");Gy===0&&(fI=!1)}function gd(t){kH();try{t()}finally{IH()}}async function hI(t){kH();try{await t()}finally{IH()}}function CH(){return fI}function h9(t){let{dataSource:e}=t;switch(e){case"none":return[];case"compare":return t.profilesToCompare===null?["compare"]:["compare",t.selectedTab];case"uploaded-recordings":return["uploaded-recordings"];case"from-browser":case"from-post-message":case"unpublished":case"from-file":return[e,t.selectedTab];case"public":case"local":return[e,t.hash,t.selectedTab];case"from-url":return["from-url",encodeURIComponent(t.profileUrl),t.selectedTab];default:throw Y(e)}}function g9(t){let{dataSource:e}=t;switch(e){case"none":case"uploaded-recordings":return"";case"compare":if(t.profilesToCompare===null)return"";break;case"public":case"local":case"from-browser":case"from-post-message":case"unpublished":case"from-file":case"from-url":break;default:throw Y(e)}let{selectedThreads:r}=t.profileSpecific,n=r!==null?Uo(r):null,o={globalTrackOrder:b9(t.profileSpecific.globalTrackOrder),hiddenGlobalTracks:T9(t.profileSpecific.hiddenGlobalTracks),hiddenLocalTracksByPid:x9(t.profileSpecific.hiddenLocalTracksByPid),localTrackOrderByPid:k9(t.profileSpecific.localTrackOrderByPid,t.profileSpecific.localTrackOrderChangedPids),tabID:t.profileSpecific.tabFilter??void 0,range:j1(t.profileSpecific.committedRanges)||void 0,thread:r===null?void 0:Tl(r),file:t.pathInZipFile||void 0,profiles:t.profilesToCompare||void 0,v:ai,profileName:t.profileName||void 0,symbolServer:t.symbolServerUrl||void 0,implementation:t.profileSpecific.implementation==="combined"?void 0:t.profileSpecific.implementation,timelineType:t.profileSpecific.timelineType==="cpu-category"?void 0:t.profileSpecific.timelineType},a,i=t.selectedTab;switch(i){case"stack-chart":a=o,a.showUserTimings=t.profileSpecific.showUserTimings?null:void 0,a.sameWidths=t.profileSpecific.stackChartSameWidths?null:void 0;case"flame-graph":case"calltree":{a=o,a.search=t.profileSpecific.callTreeSearchString||void 0,a.invertCallstack=t.profileSpecific.invertCallstack?null:void 0,n!==null&&t.profileSpecific.transforms[n]&&(a.transforms=dI(t.profileSpecific.transforms[n])||void 0),a.ctSummary=t.profileSpecific.lastSelectedCallTreeSummaryStrategy==="timing"?void 0:t.profileSpecific.lastSelectedCallTreeSummaryStrategy;let{sourceView:l,assemblyView:c,isBottomBoxOpenPerPanel:d}=t.profileSpecific;if(d[i]&&(l.sourceIndex!==null&&(a.sourceViewIndex=l.sourceIndex),c.isOpen&&c.currentNativeSymbol!==null)){let{currentNativeSymbol:u,nativeSymbols:p}=c;a.assemblyView=N9(p[u])}break}case"marker-table":case"marker-chart":a=o,a.markerSearch=t.profileSpecific.markersSearchString||void 0,a.marker=n!==null&&t.profileSpecific.selectedMarkers[n]!==null?t.profileSpecific.selectedMarkers[n]:void 0;break;case"network-chart":a=o,a.networkSearch=t.profileSpecific.networkSearchString||void 0;break;case"js-tracer":{a=o,a.summary=t.profileSpecific.showJsTracerSummary?null:void 0;break}default:throw Y(i)}return ud.stringify(a,{arrayFormat:"bracket"})}function Il(t){let e=h9(t),r=g9(t),{dataSource:n}=t;return n==="none"?"/":(e.length===0?"/":"/"+e.join("/")+"/")+(r?"?"+r:"")}function gI(t){let e=t||"none";switch(e){case"none":case"from-browser":case"from-post-message":case"unpublished":case"from-file":case"local":case"public":case"from-url":case"compare":case"uploaded-recordings":return e;default:throw Y(e,`Unexpected data source ${e}`)}}function fs(t,e){let{pathname:r,query:n}=I9({pathname:t.pathname,hash:t.hash,query:ud.parse(t.search.substr(1),{arrayFormat:"bracket"})},e===null?null:e?.profile,e?.upgradeInfo),o=r.split("/").filter(w=>w),a=gI(o[0]),i=n.thread!==void 0?Bo(n.thread):[],s=i.length!==0?new Set(i):null,l=s!==null?Uo(s):null,c=["local","public"].includes(a),d=["from-url"].includes(a),u=c||d?2:1,p="combined";(n.implementation==="js"||n.implementation==="cpp")&&(p=n.implementation);let m={};l!==null&&(m[l]=cI(n.transforms));let f={};if(l!==null&&n.marker!==void 0&&n.marker!==null){let w=Number(n.marker);Number.isInteger(w)&&w>=0&&(f[l]=w)}let h=null;n.tabID&&Number.isInteger(Number(n.tabID))&&(h=Number(n.tabID));let b=Ih(o[u])||"calltree",g={scrollGeneration:0,libIndex:null,sourceIndex:null,highlightedLine:null},y={isOpen:!1,scrollGeneration:0,nativeSymbols:[],currentNativeSymbol:null,highlightedInstruction:null},v={};if(ni.forEach(w=>v[w]=!1),n.sourceViewIndex!==void 0&&(g.sourceIndex=Number(n.sourceViewIndex),v[b]=!0),n.assemblyView){let w=_9(n.assemblyView);w!==null&&(y.nativeSymbols=[w],y.currentNativeSymbol=0,y.isOpen=!0,v[b]=!0)}let S=w9(n.localTrackOrderByPid),x=new Set(S.keys());return{dataSource:a,hash:c?o[1]:"",profileUrl:d?decodeURIComponent(o[1]):"",profilesToCompare:n.profiles||null,selectedTab:b,pathInZipFile:n.file||null,profileName:n.profileName,symbolServerUrl:n.symbolServer||null,profileSpecific:{implementation:p,lastSelectedCallTreeSummaryStrategy:Cy(n.ctSummary||void 0),invertCallstack:n.invertCallstack!==void 0,showUserTimings:n.showUserTimings!==void 0,stackChartSameWidths:n.sameWidths!==void 0,committedRanges:n.range?W1(n.range):[],selectedThreads:s,callTreeSearchString:n.search||"",markersSearchString:n.markerSearch||"",networkSearchString:n.networkSearch||"",transforms:m,sourceView:g,assemblyView:y,isBottomBoxOpenPerPanel:v,timelineType:E9(n.timelineType),showJsTracerSummary:n.summary!==void 0,globalTrackOrder:y9(n.globalTrackOrder),hiddenGlobalTracks:v9(n.hiddenGlobalTracks),hiddenLocalTracksByPid:S9(n.hiddenLocalTracksByPid),localTrackOrderByPid:S,localTrackOrderChangedPids:x,tabFilter:h,legacyThreadOrder:n.threadOrder?n.threadOrder.split("-").map(w=>Number(w)):null,legacyHiddenThreads:n.hiddenThreads?n.hiddenThreads.split("-").map(w=>Number(w)):null,selectedMarkers:f}}}function y9(t){return t?Bo(t):[]}function b9(t){return Ka(t)||void 0}function v9(t){return t?new Set(Bo(t)):new Set}function T9(t){if(t.size>0)return Tl(t)}function S9(t){if(!t)return new Map;let e=new Map;for(let r of t.split("~")){if(!r.includes("-"))continue;let n=r.slice(0,r.indexOf("-")),o=r.slice(n.length+1),a=Bo(o);a.every(i=>!isNaN(i))&&e.set(n,new Set(a))}return e}function x9(t){let e=[];for(let[r,n]of t)n.size>0&&e.push(`${r}-${Tl(n)}`);return e.join("~")||void 0}function w9(t){if(!t)return new Map;let e=new Map;for(let r of t.split("~")){if(!r.includes("-"))continue;let n=r.slice(0,r.indexOf("-")),o=r.slice(n.length+1),a=Bo(o);a.every(i=>!isNaN(i))&&e.set(n,a)}return e}function k9(t,e){let r=[];for(let n of e){let o=t.get(n);o&&o.length>0&&r.push(`${n}-${Ka(o)}`)}return r.join("~")||void 0}var mI=class extends Error{name="UrlUpgradeError"};function I9(t,e,r){t.pathname=t.pathname.replace(/^\/+from-addon/,"/from-browser");let n=+t.query.v||0;if(e===null||n===ai)return t;if(n>ai)throw new mI(`Unable to parse a url of version ${n}, most likely profiler.firefox.com needs to be refreshed. The most recent version understood by this version of profiler.firefox.com is version ${ai}.
|
|
55
|
+
You can try refreshing this page in case profiler.firefox.com has updated in the meantime.`);for(let o=n+1;o<=ai;o++)if(o in $y){let a=$y[o];a(t,e,r)}return t.query.v=ai,t}var $y={1:t=>{if(t.pathname==="/"){let e=Object.assign({},t.query,ud.parse(t.hash));"report"in e&&(t.pathname=`/public/${e.report}/calltree/`,t.hash="",t.query={})}t.query.jsOnly!==void 0&&(delete t.query.jsOnly,t.query.implementation="js"),t.query.callTreeFilters&&(t.query.transforms=t.query.callTreeFilters.split("~").map(e=>{let[r,n]=e.split("-");switch(r){case"prefix":return`f-combined-${n}`;case"prefixjs":return`f-js-${n}`;case"postfix":return`f-combined-${n}-i`;case"postfixjs":return`f-js-${n}-i`;default:return}}).filter(e=>e).join("~"),delete t.query.callTreeFilters)},2:t=>{t.pathname=t.pathname.replace(/^(\/[^/]+\/[^/]+)\/timeline\/?/,"$1/stack-chart/").replace(/^(\/[^/]+\/[^/]+)\/markers\/?/,"$1/marker-table/")},3:t=>{let{query:e}=t;"hidePlatformDetails"in e&&(delete e.hidePlatformDetails,e.implementation="js")},4:(t,e)=>{let r=t.query;if((r.thread===void 0?null:+r.thread)===null||e===void 0)return;let o=cI(r.transforms);if(!(!o||o.length===0)){for(let a=0;a<o.length;a++){let i=o[a];if(!("implementation"in i)||i.implementation!=="js"||!("callNodePath"in i)||!i.callNodePath)continue;let s=C9(e.shared,i.callNodePath);s!==null&&(i.callNodePath=P9(e.shared,s))}t.query.transforms=dI(o)}},5:({query:t})=>{t.range&&(t.range=t.range.split("~").map(e=>{let r=e.match(/^(-?[0-9.]+)_(-?[0-9.]+)$/);if(!r)return console.error(`The range "${e}" couldn't be parsed, ignoring.`),null;let n=Number(r[1])*1e3,o=Number(r[2])*1e3;return isNaN(n)||isNaN(o)?(console.error(`The range "${e}" couldn't be parsed, ignoring.`),null):jk({start:n,end:o})}).filter(Boolean).join("~"))},6:({query:t})=>{if(t.globalTrackOrder){let e=t.globalTrackOrder.split("-").map(r=>+r);t.globalTrackOrder=Ka(e)||void 0}if(t.hiddenGlobalTracks){let e=new Set(t.hiddenGlobalTracks.split("-").map(r=>+r));t.hiddenGlobalTracks=Tl(e)||void 0}if(t.hiddenLocalTracksByPid&&(t.hiddenLocalTracksByPid=t.hiddenLocalTracksByPid.split("~").map(e=>{let[r,...n]=e.split("-"),o=new Set(n.map(a=>+a));return`${r}-${Tl(o)}`}).join("~")),t.localTrackOrderByPid&&(t.localTrackOrderByPid=t.localTrackOrderByPid.split("~").map(e=>{let[r,...n]=e.split("-"),o=n.map(a=>+a);return`${r}-${Ka(o)}`}).join("~")),t.thread){let e=new Set(t.thread.split(",").map(r=>+r));t.thread=Tl(e)}t.transforms&&t.transforms.includes(";")&&delete t.transforms},7:({query:t})=>{switch(t.timelineType){case"cpu-category":delete t.timelineType;break;case"stack":break;default:t.timelineType="category";break}},8:t=>{},9:({query:t})=>{function e(r){if(r.startsWith("irec-")){let[,,n]=r.split("-");return`rec-${n}`}return r.startsWith("rec-")?"d"+r:r}if(t.transforms){let r=t.transforms.split("~");t.transforms=r.map(e).join("~")}},10:({query:t},e)=>{if(!t.transforms||!t.thread||!e||Bo(t.thread).length!==1)return;let n=e.shared.funcTable.length;function o(i){if(i.startsWith("cr-")){let[,s,l]=i.split("-"),c=n+ +l;if(!isNaN(c))return`cr-${s}-${l}-${c}`}return i}let a=t.transforms.split("~");t.transforms=a.map(o).join("~")},11:t=>{(t.query.view==="active-tab"||t.query.view==="origins")&&(t.query={})},12:(t,e)=>{let{query:r}=t;if(!("sourceView"in r)||!e||!e.shared.sources)return;let n=r.sourceView,{sources:o,stringArray:a}=e.shared,s=tt.withBackingArray(a).indexForString(n);if(s!==-1){let l=o.filename.indexOf(s);l!==-1&&(r.sourceViewIndex=l)}delete r.sourceView},13:t=>{},14:t=>{},15:(t,e,r)=>{if(!r||!r.v60)return;let{v60:n}=r,{query:o}=t;if(!o.transforms)return;let a=Bo(o.thread);if(a.length!==1)return;let[i]=a;if(!(i in n.threadMappings))return;let s=n.threadMappings[i],l=n.newFuncCount;function c(m){if(m<s.funcTableIndexMap.length)return s.funcTableIndexMap[m];let f=m-s.funcTableIndexMap.length;return f<s.resourceTableIndexMap.length?l+s.resourceTableIndexMap[f]:m}function d(m){let f=parseInt(m,10);return!isNaN(f)&&f>=0?""+c(f):m}function u(m){let f=parseInt(m,10);return!isNaN(f)&&f>=0&&f<s.resourceTableIndexMap.length?""+s.resourceTableIndexMap[f]:m}function p(m){let f=m.split("-"),h=f[0];switch(h){case"cr":{let[,b,g,y]=f,v=u(g),S=d(y);return[h,b,v,S].join("-")}case"drec":{let[,b,g]=f,y=d(g);return[h,b,y].join("-")}case"rec":case"mf":case"ff":case"df":case"cfs":{let[,b]=f,g=d(b);return[h,g].join("-")}case"f":case"mcn":{let[,b,g,y]=f,S=Bo(g).map(c),x=Ka(S);return[h,b,x,y].join("-")}default:return m}}o.transforms=o.transforms.split("~").map(p).join("~")}};for(let t=1;t<=ai;t++)if(!$y[t])throw new Error(`There is no upgrader for version ${t}.`);for(let t of Object.keys($y)){let e=+t;if(e>ai)throw new Error(we`
|
|
56
|
+
There is an upgrader for version ${e}, which is larger than
|
|
57
|
+
CURRENT_URL_VERSION (${ai}). If you added a new upgrader,
|
|
58
|
+
make sure and bump the CURRENT_URL_VERSION variable.
|
|
59
|
+
`)}function C9(t,e){let{stackTable:r,funcTable:n,frameTable:o}=t,a=new Map;a.set(null,-1);for(let i=0;i<r.length;i++){let s=r.prefix[i],l=r.frame[i],c=o.func[l],d=n.isJS[c];if(!(s===null||a.has(s)))continue;let p=$(a.get(s),"Unable to find the stack depth for a prefix"),m=p+1;if(d&&e[m]===c){if(m===e.length-1)return i;a.set(i,m)}else a.set(i,p)}return null}function P9(t,e){let{funcTable:r,stackTable:n,frameTable:o}=t,a=[],i=e;for(;i!==null;){let s=n.frame[i],l=o.func[s];(r.isJS[l]||r.relevantForJS[l])&&a.unshift(l),i=n.prefix[i]}return a}function E9(t){return t&&t in{stack:!0,category:!0,"cpu-category":!0}?t:"cpu-category"}function _9(t){let[e,r,n,o]=t.split("~"),a=parseInt(e,10),i=parseInt(r,16),[s,l]=n.endsWith("_")?[n.slice(0,-1),!1]:[n,!0],c=parseInt(s,16);return isNaN(a)||isNaN(i)||isNaN(c)?null:{libIndex:a,address:i,name:o,functionSize:c,functionSizeIsKnown:l}}function N9(t){let{libIndex:e,address:r,name:n,functionSize:o,functionSizeIsKnown:a}=t,i=r.toString(16),s=o.toString(16);return a||(s+="_"),`${e}~${i}~${s}~${n}`}function PH(t){let e=Ph(t.files).filter(([o,a])=>!a.dir).map(([o,a])=>o),r=new Map,n={prefix:[],path:[],partName:[],file:[],depth:[],length:0};for(let o of e){let a=o.split("/").filter(l=>l),i="",s=null;for(let l=0;l<a.length;l++){let c=a[l];i?i+="/"+c:i=c;let d=r.get(i);if(d!==void 0){s=d;continue}let u=n.length++;n.prefix[u]=s,n.path[u]=i,n.partName[u]=c,n.depth[u]=l,n.file[u]=l+1===a.length?t.files[o]:null,r.set(i,u),s=u}}return n}function EH(t){if(!t)return 0;let e=0;for(let r=0;r<t.length;r++)e=Math.max(e,t.depth[r]);return e}var zy=class{_zipFileTable;_parentToChildren;_displayDataByIndex;_zipFileUrl;constructor(e,r){this._zipFileTable=e,this._zipFileUrl=r,this._displayDataByIndex=new Map,this._parentToChildren=new Map,this._parentToChildren.set(null,this._computeChildrenArray(null))}getRoots(){return this.getChildren(null)}getChildren(e){let r=this._parentToChildren.get(e);return r||(r=this._computeChildrenArray(e),this._parentToChildren.set(e,r)),r}_computeChildrenArray(e){let r=[];for(let n=0;n<this._zipFileTable.length;n++)this._zipFileTable.prefix[n]===e&&r.push(n);return r}hasChildren(e){return this.getChildren(e).length>0}getAllDescendants(e){if(e===null)return new Set(Array.from({length:this._zipFileTable.length},(n,o)=>o));let r=new Set;for(let n of this.getChildren(e)){r.add(n);for(let o of this.getAllDescendants(n))r.add(o)}return r}getParent(e){let r=this._zipFileTable.prefix[e];return r===null?-1:r}getDepth(e){return this._zipFileTable.depth[e]}getDisplayData(e){let r=this._displayDataByIndex.get(e);if(r===void 0){let n=null;this.hasChildren(e)||(n=window.location.origin+"/from-url/"+encodeURIComponent(this._zipFileUrl)+"/"+QL("calltree")+"/?file="+encodeURIComponent(this._zipFileTable.path[e]));let o=this._zipFileTable.partName[e],i=[".json"].find(s=>o.endsWith(s));i&&(o=o.slice(0,o.length-i.length)),r={name:o,url:n,zipTableIndex:e},this._displayDataByIndex.set(e,r)}return r}};function _H(t){let r=/(?:[^/]+\/)?[^/]+$/.exec(t);return r!==null?r[0]:""}var M9=["localhost","127.0.0.1","::1"];function po(t){try{let e=t instanceof URL?t:new URL(t);return M9.includes(e.hostname)}catch{return!1}}function NH(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\A ").replace(/\r/g,"")}function Nr(t){return`Minified Redux error #${t}; visit https://redux.js.org/Errors?code=${t} for the full message or use the non-minified dev environment for full errors. `}var L9=typeof Symbol=="function"&&Symbol.observable||"@@observable",RH=L9,yI=()=>Math.random().toString(36).substring(7).split("").join("."),D9={INIT:`@@redux/INIT${yI()}`,REPLACE:`@@redux/REPLACE${yI()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${yI()}`},Vy=D9;function A9(t){if(typeof t!="object"||t===null)return!1;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e||Object.getPrototypeOf(t)===null}function bI(t,e,r){if(typeof t!="function")throw new Error(Nr(2));if(typeof e=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(Nr(0));if(typeof e=="function"&&typeof r>"u"&&(r=e,e=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(Nr(1));return r(bI)(t,e)}let n=t,o=e,a=new Map,i=a,s=0,l=!1;function c(){i===a&&(i=new Map,a.forEach((b,g)=>{i.set(g,b)}))}function d(){if(l)throw new Error(Nr(3));return o}function u(b){if(typeof b!="function")throw new Error(Nr(4));if(l)throw new Error(Nr(5));let g=!0;c();let y=s++;return i.set(y,b),function(){if(g){if(l)throw new Error(Nr(6));g=!1,c(),i.delete(y),a=null}}}function p(b){if(!A9(b))throw new Error(Nr(7));if(typeof b.type>"u")throw new Error(Nr(8));if(typeof b.type!="string")throw new Error(Nr(17));if(l)throw new Error(Nr(9));try{l=!0,o=n(o,b)}finally{l=!1}return(a=i).forEach(y=>{y()}),b}function m(b){if(typeof b!="function")throw new Error(Nr(10));n=b,p({type:Vy.REPLACE})}function f(){let b=u;return{subscribe(g){if(typeof g!="object"||g===null)throw new Error(Nr(11));function y(){let S=g;S.next&&S.next(d())}return y(),{unsubscribe:b(y)}},[RH](){return this}}}return p({type:Vy.INIT}),{dispatch:p,subscribe:u,getState:d,replaceReducer:m,[RH]:f}}function O9(t){Object.keys(t).forEach(e=>{let r=t[e];if(typeof r(void 0,{type:Vy.INIT})>"u")throw new Error(Nr(12));if(typeof r(void 0,{type:Vy.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Nr(13))})}function wr(t){let e=Object.keys(t),r={};for(let i=0;i<e.length;i++){let s=e[i];typeof t[s]=="function"&&(r[s]=t[s])}let n=Object.keys(r),o,a;try{O9(r)}catch(i){a=i}return function(s={},l){if(a)throw a;let c=!1,d={};for(let u=0;u<n.length;u++){let p=n[u],m=r[p],f=s[p],h=m(f,l);if(typeof h>"u"){let b=l&&l.type;throw new Error(Nr(14))}d[p]=h,c=c||h!==f}return c=c||n.length!==Object.keys(s).length,c?d:s}}function F9(...t){return t.length===0?e=>e:t.length===1?t[0]:t.reduce((e,r)=>(...n)=>e(r(...n)))}function vI(...t){return e=>(r,n)=>{let o=e(r,n),a=()=>{throw new Error(Nr(15))},i={getState:o.getState,dispatch:(l,...c)=>a(l,...c)},s=t.map(l=>l(i));return a=F9(...s)(o.dispatch),{...o,dispatch:a}}}var B9=(t="none",e)=>{switch(e.type){case"WAITING_FOR_PROFILE_FROM_FILE":return"from-file";case"PROFILE_PUBLISHED":case"SANITIZED_PROFILE_PUBLISHED":return"public";case"TRIGGER_LOADING_FROM_URL":return"from-url";case"PROFILE_REMOTELY_DELETED":return"unpublished";case"SET_DATA_SOURCE":return e.dataSource;default:return t}},H9=(t="",e)=>{switch(e.type){case"PROFILE_PUBLISHED":case"SANITIZED_PROFILE_PUBLISHED":return e.hash;case"PROFILE_REMOTELY_DELETED":return"";default:return t}},U9=(t="",e)=>{switch(e.type){case"WAITING_FOR_PROFILE_FROM_URL":return e.profileUrl?e.profileUrl:t;case"TRIGGER_LOADING_FROM_URL":return e.profileUrl;default:return t}},G9=(t=null,e)=>e.type==="CHANGE_PROFILES_TO_COMPARE"?e.profiles:t,MH=(t="calltree",e)=>{switch(e.type){case"CHANGE_SELECTED_TAB":case"SELECT_TRACK":case"VIEW_FULL_PROFILE":case"CHANGE_TAB_FILTER":return e.selectedTab;case"FOCUS_CALL_TREE":return oi.includes(t)?t:"calltree";default:return t}},$9=(t=[],e)=>{switch(e.type){case"COMMIT_RANGE":{let{start:r,end:n}=e;return[...t,{start:r,end:n}]}case"POP_COMMITTED_RANGES":return t.slice(0,e.firstPoppedFilterIndex);case"SANITIZED_PROFILE_PUBLISHED":return e.committedRanges?e.committedRanges:t;default:return t}},z9=(t=null,e)=>{switch(e.type){case"CHANGE_SELECTED_THREAD":case"SELECT_TRACK":case"VIEW_FULL_PROFILE":case"ISOLATE_PROCESS":case"ISOLATE_PROCESS_MAIN_THREAD":case"HIDE_GLOBAL_TRACK":case"HIDE_LOCAL_TRACK":case"HIDE_PROVIDED_TRACKS":case"ISOLATE_LOCAL_TRACK":case"TOGGLE_RESOURCES_PANEL":case"CHANGE_TAB_FILTER":return e.selectedThreadIndexes;case"SANITIZED_PROFILE_PUBLISHED":{let{translationMaps:r}=e;if(t===null||!r||!r.oldThreadIndexToNew)return t;let n=new Set,{oldThreadIndexToNew:o}=r;for(let a of t){let i=o.get(a);if(i===void 0)return console.error(we`
|
|
60
|
+
Unable to map an old thread index to a new thread index for the selected
|
|
61
|
+
thread when sanitizing a profile
|
|
62
|
+
`),null;n.add(i)}return n}default:return t}},V9=(t="",e)=>e.type==="CHANGE_CALL_TREE_SEARCH_STRING"?e.searchString:t,W9=(t="",e)=>e.type==="CHANGE_MARKER_SEARCH_STRING"?e.searchString:t,j9=(t="",e)=>e.type==="CHANGE_NETWORK_SEARCH_STRING"?e.searchString:t,K9=(t={},e)=>{switch(e.type){case"PROFILE_LOADED":return e.transformStacks||t;case"ADD_TRANSFORM_TO_STACK":{let{threadsKey:r,transform:n}=e,o=t[r]||[];return Object.assign({},t,{[r]:[...o,n]})}case"POP_TRANSFORMS_FROM_STACK":{let{threadsKey:r,firstPoppedFilterIndex:n}=e,o=t[r]||[];return Object.assign({},t,{[r]:o.slice(0,n)})}case"SANITIZED_PROFILE_PUBLISHED":{let{translationMaps:r}=e;if(!r)return t;let n={};for(let[o,a]of Ph(t)){let i=r.oldThreadIndexToNew?$B(o,r.oldThreadIndexToNew):o;i!==null&&(n[i]=Uy(a,r))}return n}default:return t}},Y9=(t="cpu-category",e)=>{switch(e.type){case"CHANGE_TIMELINE_TYPE":return e.timelineType;case"VIEW_FULL_PROFILE":return e.timelineType!==null?e.timelineType:t;default:return t}},q9=(t="combined",e)=>{switch(e.type){case"PROFILE_LOADED":return e.implementationFilter||t;case"CHANGE_IMPLEMENTATION_FILTER":return e.implementation;default:return t}},X9=(t="timing",e)=>e.type==="CHANGE_CALL_TREE_SUMMARY_STRATEGY"?e.callTreeSummaryStrategy:t,J9=(t=!1,e)=>e.type==="CHANGE_INVERT_CALLSTACK"?e.invertCallstack:t,Z9=(t=!1,e)=>e.type==="CHANGE_SHOW_USER_TIMINGS"?e.showUserTimings:t,Q9=(t=!1,e)=>e.type==="CHANGE_STACK_CHART_SAME_WIDTHS"?e.stackChartSameWidths:t,eJ=(t=!1,e)=>e.type==="CHANGE_SHOW_JS_TRACER_SUMMARY"?e.showSummary:t,tJ=(t=[],e)=>{switch(e.type){case"VIEW_FULL_PROFILE":case"CHANGE_GLOBAL_TRACK_ORDER":case"CHANGE_TAB_FILTER":return e.globalTrackOrder;case"SANITIZED_PROFILE_PUBLISHED":return e.translationMaps?.oldThreadIndexToNew?[]:t;default:return t}},rJ=(t=new Set,e)=>{switch(e.type){case"VIEW_FULL_PROFILE":case"ISOLATE_LOCAL_TRACK":case"ISOLATE_PROCESS":case"ISOLATE_PROCESS_MAIN_THREAD":case"ISOLATE_SCREENSHOT_TRACK":case"CHANGE_TAB_FILTER":return e.hiddenGlobalTracks;case"HIDE_GLOBAL_TRACK":{let r=new Set(t);return r.add(e.trackIndex),r}case"SHOW_ALL_TRACKS":return new Set;case"SHOW_PROVIDED_TRACKS":{let r=new Set(t);return e.globalTracksToShow.forEach(Set.prototype.delete,r),r}case"SHOW_GLOBAL_TRACK":case"SHOW_GLOBAL_TRACK_INCLUDING_LOCAL_TRACKS":{let r=new Set(t);return r.delete(e.trackIndex),r}case"HIDE_PROVIDED_TRACKS":{let r=new Set(t);return e.globalTracksToHide.forEach(Set.prototype.add,r),r}case"SANITIZED_PROFILE_PUBLISHED":return e.translationMaps?.oldThreadIndexToNew?new Set:t;default:return t}},nJ=(t=new Map,e)=>{switch(e.type){case"VIEW_FULL_PROFILE":case"CHANGE_TAB_FILTER":return e.hiddenLocalTracksByPid;case"HIDE_LOCAL_TRACK":{let r=new Map(t),n=new Set(r.get(e.pid));return n.add(e.trackIndex),r.set(e.pid,n),r}case"SHOW_ALL_TRACKS":{let r=new Map(t);for(let n of r)r.set(n[0],new Set);return r}case"SHOW_PROVIDED_TRACKS":{let r=new Map(t);for(let[n,o]of e.localTracksByPidToShow.entries()){let a=t.get(n)??new Set,i=new Set(a);o.forEach(Set.prototype.delete,i),r.set(n,i)}return r}case"SHOW_LOCAL_TRACK":{let r=new Map(t),n=new Set(r.get(e.pid));return n.delete(e.trackIndex),r.set(e.pid,n),r}case"SHOW_GLOBAL_TRACK_INCLUDING_LOCAL_TRACKS":{let r=new Map(t);return r.set(e.pid,new Set),r}case"HIDE_PROVIDED_TRACKS":{let r=new Map(t);for(let[n,o]of e.localTracksByPidToHide.entries()){let a=t.get(n)??new Set,i=new Set(a);o.forEach(Set.prototype.add,i),r.set(n,i)}return r}case"ISOLATE_PROCESS_MAIN_THREAD":case"ISOLATE_LOCAL_TRACK":{let r=new Map(t);return r.set(e.pid,e.hiddenLocalTracks),r}case"SANITIZED_PROFILE_PUBLISHED":return e.translationMaps?.oldThreadIndexToNew?new Map:t;default:return t}},oJ=(t=new Map,e)=>{switch(e.type){case"VIEW_FULL_PROFILE":case"ENABLE_EVENT_DELAY_TRACKS":case"ENABLE_EXPERIMENTAL_PROCESS_CPU_TRACKS":case"CHANGE_TAB_FILTER":return e.localTrackOrderByPid;case"CHANGE_LOCAL_TRACK_ORDER":{let r=new Map(t);return r.set(e.pid,e.localTrackOrder),r}case"SANITIZED_PROFILE_PUBLISHED":return e.translationMaps?.oldThreadIndexToNew?new Map:t;default:return t}},aJ=(t=new Set,e)=>{switch(e.type){case"CHANGE_LOCAL_TRACK_ORDER":{let r=new Set(t);return r.add(e.pid),r}case"SANITIZED_PROFILE_PUBLISHED":return e.translationMaps?.oldThreadIndexToNew?new Set:t;default:return t}},iJ=(t=null,e)=>e.type==="CHANGE_TAB_FILTER"?e.tabID:t,sJ=(t=null,e)=>{switch(e.type){case"PROCESS_PROFILE_FROM_ZIP_FILE":return e.pathInZipFile?e.pathInZipFile:null;case"PROFILE_PUBLISHED":case"SANITIZED_PROFILE_PUBLISHED":case"RETURN_TO_ZIP_FILE_LIST":return null;default:return t}},lJ=(t=null,e)=>{switch(e.type){case"PROFILE_PUBLISHED":case"SANITIZED_PROFILE_PUBLISHED":case"CHANGE_PROFILE_NAME":return e.profileName;default:return t}},cJ=(t={scrollGeneration:0,libIndex:null,sourceIndex:null,highlightedLine:null},e)=>{switch(e.type){case"UPDATE_BOTTOM_BOX":return{scrollGeneration:e.scrollToLineNumber!==void 0?t.scrollGeneration+1:t.scrollGeneration,libIndex:e.libIndex,sourceIndex:e.sourceIndex,scrollToLineNumber:e.scrollToLineNumber,highlightedLine:e.highlightedLineNumber};case"SANITIZED_PROFILE_PUBLISHED":{if(!e.translationMaps||t.sourceIndex===null)return t;let r=e.translationMaps.oldSourceToNewSourcePlusOne[t.sourceIndex];return{...t,sourceIndex:r!==0?r-1:null}}default:return t}},dJ=(t={isOpen:!1,scrollGeneration:0,highlightedInstruction:null,nativeSymbols:[],currentNativeSymbol:null},e)=>{switch(e.type){case"UPDATE_BOTTOM_BOX":{let{nativeSymbols:r,currentNativeSymbol:n,shouldOpenAssemblyView:o}=e,a=e.scrollToInstructionAddress!==void 0,i=n!==null&&n<r.length?n:null;return{scrollGeneration:a?t.scrollGeneration+1:t.scrollGeneration,nativeSymbols:r,currentNativeSymbol:i,isOpen:t.isOpen||o,scrollToInstructionAddress:e.scrollToInstructionAddress,highlightedInstruction:e.highlightedInstructionAddress}}case"OPEN_ASSEMBLY_VIEW":return{...t,isOpen:!0};case"CHANGE_ASSEMBLY_VIEW_NATIVE_SYMBOL_ENTRY_INDEX":return{...t,currentNativeSymbol:e.entryIndex};case"CLOSE_ASSEMBLY_VIEW":return{...t,isOpen:!1};default:return t}};function uJ(){let t={};return ni.forEach(e=>t[e]=!1),t}var pJ=(t=uJ(),e)=>{switch(e.type){case"UPDATE_BOTTOM_BOX":{let{currentTab:r,shouldOpenBottomBox:n}=e;return n&&!t[r]?{...t,[r]:!0}:t}case"CLOSE_BOTTOM_BOX_FOR_TAB":{let{tab:r}=e;return t[r]?{...t,[r]:!1}:t}default:return t}},mJ=(t=null)=>t,fJ=(t={},e)=>{if(e.type==="CHANGE_SELECTED_MARKER"){let{threadsKey:r,selectedMarker:n}=e;return{...t,[r]:n}}else return t},LH=wr({selectedThreads:z9,implementation:q9,lastSelectedCallTreeSummaryStrategy:X9,invertCallstack:J9,showUserTimings:Z9,stackChartSameWidths:Q9,committedRanges:$9,callTreeSearchString:V9,markersSearchString:W9,networkSearchString:j9,transforms:K9,sourceView:cJ,assemblyView:dJ,isBottomBoxOpenPerPanel:pJ,timelineType:Y9,globalTrackOrder:tJ,hiddenGlobalTracks:rJ,hiddenLocalTracksByPid:nJ,localTrackOrderByPid:oJ,localTrackOrderChangedPids:aJ,showJsTracerSummary:eJ,tabFilter:iJ,selectedMarkers:fJ,legacyThreadOrder:(t=null)=>t,legacyHiddenThreads:(t=null)=>t}),hJ=t=>(e,r)=>{switch(r.type){case"UPDATE_URL_STATE":return r.newUrlState?r.newUrlState:t(void 0,r);case"RETURN_TO_ZIP_FILE_LIST":case"WAITING_FOR_PROFILE_FROM_FILE":return{...t(e,r),profileSpecific:LH(void 0,r),selectedTab:MH(void 0,r)};default:return t(e,r)}},gJ=hJ(wr({dataSource:B9,hash:H9,profileUrl:U9,profilesToCompare:G9,selectedTab:MH,pathInZipFile:sJ,profileSpecific:LH,profileName:lJ,symbolServerUrl:mJ})),Wy=gJ;function yJ(t){if(t){let r=/[\d.]+$/.exec(t);if(r)return r[0]}return""}function TI(t){return t.endsWith(".0")?t.slice(0,-2):t}function sm(t){let e=t.product||"",r=TI(yJ(t.misc));return e+(r?" "+r:"")}function lm(t){switch(t.toolkit){case"android":return t.platform?TI(t.platform):"Android";case"cocoa":return t.oscpu?t.oscpu.replace(/^Intel /,"").replace(/^Mac OS X/,"macOS"):"macOS";case"windows":return t.oscpu?TI(t.oscpu.replace(/;.*$/,"").replace(/ NT/,"")):"Windows";case"gtk":case"gtk3":return t.oscpu?t.oscpu.slice(0,t.oscpu.indexOf(" ")):"Linux";default:return t.oscpu||""}}function DH(t){let e=sm(t),r=lm(t);return e+(r?` \u2013 ${r}`:"")}var $o=t=>t.urlState,ze=t=>$o(t).profileSpecific,ir=t=>$o(t).dataSource,Cl=t=>$o(t).hash,ii=t=>$o(t).profileUrl,cm=t=>$o(t).profilesToCompare,dm=t=>$o(t).profileName,yd=t=>ze(t).committedRanges,kr=t=>ze(t).implementation,SI=t=>ze(t).lastSelectedCallTreeSummaryStrategy,um=t=>ze(t).showUserTimings,pm=t=>ze(t).stackChartSameWidths,ya=t=>ze(t).sourceView.sourceIndex,xI=t=>ze(t).sourceView.scrollGeneration,wI=t=>ze(t).sourceView.scrollToLineNumber,kI=t=>ze(t).sourceView.highlightedLine,Pl=t=>ze(t).assemblyView.isOpen,zo=t=>{let{nativeSymbols:e,currentNativeSymbol:r}=ze(t).assemblyView;return r!==null?e[r]:null},II=t=>ze(t).assemblyView.currentNativeSymbol,CI=t=>ze(t).assemblyView.nativeSymbols.length,PI=t=>ze(t).assemblyView.scrollGeneration,EI=t=>ze(t).assemblyView.scrollToInstructionAddress,_I=t=>ze(t).assemblyView.highlightedInstruction,mm=t=>ze(t).showJsTracerSummary,jy=t=>ze(t).callTreeSearchString,bd=t=>ze(t).markersSearchString,Ky=t=>ze(t).networkSearchString,Oe=t=>$o(t).selectedTab,sr=t=>Oe(t)==="calltree"&&ze(t).invertCallstack,Yy=t=>ze(t).selectedThreads,kt=t=>$(Yy(t),"Attempted to get a thread index before a profile was loaded."),vt=t=>Uo(kt(t)),bJ=t=>$(ro(kt(t)),"Expected to find at least one thread index in the selected thread indexes"),NI=t=>ze(t).timelineType,qy=t=>ze(t).legacyThreadOrder,Xy=t=>ze(t).legacyHiddenThreads,bn=t=>ze(t).globalTrackOrder,lr=t=>ze(t).hiddenGlobalTracks,mo=t=>ze(t).hiddenLocalTracksByPid,si=t=>ze(t).localTrackOrderByPid,hs=t=>ze(t).tabFilter,vJ=t=>hs(t)!==null,gs=(t,e)=>$(mo(t).get(e),"Unable to get the hidden tracks from the given pid"),li=(t,e)=>$(si(t).get(e),"Unable to get the track order from the given pid"),Jy=D(jy,Qa),AH=D(bd,Qa),OH=D(Ky,Qa),RI=D(Jy,ei),MI=D(AH,am),LI=D(OH,am),TJ=[],DI=(t,e)=>ze(t).transforms[e]||TJ,AI=(t,e)=>ze(t).selectedMarkers[e]??null,OI=t=>{let e=Oe(t);return ze(t).isBottomBoxOpenPerPanel[e]},FI=D($o,t=>e=>{let n=(Array.isArray(e)?e:[e]).reduce(Wy,t);return Il(n)}),Zy=t=>$o(t).pathInZipFile,Qy=t=>{let{profile:e}=t.profileView;return e?DH(e.meta):null},fm=D(Zy,t=>t?_H(t):null),BI=D(dm,fm,Qy,(t,e,r)=>t||e||r||"Untitled profile"),eb=D(dm,fm,(t,e)=>t||e||"");function SJ(t){try{let e=new URL(t);return po(e)?!0:["symbols.mozilla.org","symbolication.services.mozilla.com"].includes(e.hostname)?e.protocol!=="https:"?(console.error(`HTTPS is required for non-localhost symbol servers. Rejecting ${t} and defaulting to ${tp}.`),!1):!0:(console.error(`The symbol server URL was not in the list of allowed domains. Rejecting ${t} and defaulting to ${tp}.`),!1)}catch(e){return console.error(`The symbol server URL was not valid. Rejecting ${t} and defaulting to ${tp}.`,e),!1}}var ys=D($o,({symbolServerUrl:t})=>!t||!SJ(t)?tp:t.endsWith("/")?t.slice(0,-1):t);var Ml={};ve(Ml,{getCategories:()=>Qe,getCommittedRange:()=>de,getCommittedRangeLabels:()=>YI,getContainsPrivateBrowsingInformation:()=>Tm,getContentfulSpeedIndexProgress:()=>eC,getCounterSelectors:()=>Xt,getCounters:()=>Id,getCurrentTableViewOptions:()=>hm,getDefaultCategory:()=>Nl,getExtensionIdToNameMap:()=>l2,getExtensionTable:()=>i2,getFocusCallTreeGeneration:()=>KI,getFuncTableWithReservedFunctions:()=>rC,getFunctionsReservedFuncTable:()=>nC,getGlobalTrackAndIndexByPid:()=>Rl,getGlobalTrackFromReference:()=>sC,getGlobalTrackName:()=>uC,getGlobalTrackNames:()=>sb,getGlobalTrackReferences:()=>iC,getGlobalTracks:()=>ft,getHasPreferenceMarkers:()=>bm,getIPCMarkerCorrelations:()=>aC,getInnerWindowIDSetByTabID:()=>pZ,getInnerWindowIDToPageMap:()=>Sn,getInnerWindowIDToTabMap:()=>s2,getLastNonShiftClick:()=>JI,getLocalTrackFromReference:()=>lC,getLocalTrackName:()=>pC,getLocalTrackNamesByPid:()=>lb,getLocalTracks:()=>fo,getLocalTracksByPid:()=>Mr,getMarkerSchema:()=>Wn,getMarkerSchemaByName:()=>It,getMeta:()=>Tn,getMouseTimePosition:()=>qI,getPageList:()=>kd,getPagesMap:()=>fC,getPerceptualSpeedIndexProgress:()=>QI,getPreviewSelection:()=>mt,getPreviewSelectionIsBeingModified:()=>Qr,getPreviewSelectionRange:()=>XI,getProcessIdToNameMap:()=>yC,getProcessesWithMemoryTrack:()=>cC,getProfile:()=>Ne,getProfileExtraInfo:()=>TC,getProfileFilterPageDataByTabID:()=>db,getProfileFilterSortedPageData:()=>hC,getProfileInterval:()=>ot,getProfileOrNull:()=>Vn,getProfileRootRange:()=>Vo,getProfileTimelineUnit:()=>vn,getProfileUsesMultipleStackTypes:()=>ui,getProfileView:()=>wd,getProfileViewOptions:()=>qt,getProfiledThreadIds:()=>bC,getProfilerConfiguration:()=>cZ,getRawProfileSharedData:()=>cr,getReferenceCPUDeltaPerMs:()=>cb,getReservedFunctionsForResources:()=>oC,getRightClickedThreadIndex:()=>dC,getRightClickedTrack:()=>ab,getSampleUnits:()=>gm,getScrollToSelectionGeneration:()=>Wo,getShouldDisplaySearchfox:()=>vC,getSourceTable:()=>di,getSourceViewFile:()=>Sm,getSourceViewSourceUuid:()=>SC,getStackTable:()=>tC,getStringTable:()=>Rr,getSymbolicationStatus:()=>_l,getTabToThreadIndexesMap:()=>ym,getTableViewOptionSelectors:()=>sZ,getThreadActivityScores:()=>vm,getThreadIdToNameMap:()=>gC,getThreadNames:()=>lZ,getThreads:()=>Ut,getTrackCount:()=>mC,getVisualMetrics:()=>ib,getVisualMetricsOrNull:()=>a2,getVisualProgress:()=>ZI,getZeroAt:()=>Vr});function ci(t,e){return new Set(Array.from(t).filter(r=>e.has(r)))}function FH(t,e){return new Set(Array.from(t).filter(r=>!e.has(r)))}var BH={thread:0,network:1,memory:2,ipc:3,"event-delay":4,"process-cpu":5,power:6,marker:7,bandwidth:8},HH={network:0,bandwidth:1,memory:2,power:3,ipc:4,thread:5,"event-delay":6,"process-cpu":7,marker:8},UH={process:0,screenshots:1,"visual-progress":2,"perceptual-visual-progress":3,"contentful-visual-progress":4},GH={"visual-progress":0,"perceptual-visual-progress":1,"contentful-visual-progress":2,screenshots:3,process:4};function xJ(t,e){let r=t.map((o,a)=>a),n=new Intl.Collator("en-US",{numeric:!0});return r.sort((o,a)=>{if(t[o].type==="thread"&&t[a].type==="ipc"&&t[o].threadIndex===t[a].threadIndex)return-1;if(t[o].type==="ipc"&&t[a].type==="thread"&&t[o].threadIndex===t[a].threadIndex)return 1;if(e&&e.counters&&t[o].type==="power"&&t[a].type==="power"){let i=t[o].counterIndex,s=t[a].counterIndex;if(e.meta.keepProfileThreadOrder)return i-s;let l=e.counters[i].name,c=e.counters[s].name;return n.compare(l,c)}if(t[o].type==="thread"&&t[a].type==="thread"&&e){let i=t[o].threadIndex,s=t[a].threadIndex;if(i===void 0||s===void 0)return-1;if(e&&e.meta.keepProfileThreadOrder)return i-s;let l=e.threads[i].name,c=e.threads[s].name;return n.compare(l,c)||e.threads[i].registerTime-e.threads[s].registerTime}return HH[t[o].type]-HH[t[a].type]}),r}function wJ(t,e){let r=t.map((n,o)=>o);return r.sort((n,o)=>{let a=t[n],i=t[o],s=GH[a.type],l=GH[i.type];if(s!==l)return s-l;if(a.type!=="process"||i.type!=="process")return 0;let c=a.mainThreadIndex!==null?e[a.mainThreadIndex]:null,d=i.mainThreadIndex!==null?e[i.mainThreadIndex]:null;return c?.isInParentProcess&&!d?.isInParentProcess?-1:!c?.isInParentProcess&&d?.isInParentProcess?1:c&&d?d.boostedSampleScore-c.boostedSampleScore:0}),r}function vd(t,e,r,n){let o=new Map;if(r===null)for(let[a,i]of e){let s=xJ(i,n);if(t!==null){let l=t.get(a);if(l!==void 0){if(l.length!==s.length){let c=l.slice();for(let d=l.length;d<s.length;d++)c.push(d);l=c}XH(i.length,l)&&(s=l)}}o.set(a,s)}else for(let[a,i]of e){let s=[];for(let l of r){let c=i.findIndex(d=>d.type==="thread"&&d.threadIndex===l);c!==-1&&s.push(c)}for(let l=0;l<i.length;l++)s.includes(l)||s.push(l);o.set(a,s)}return o}function HI(t,e){let r=new Map,n=new Set;for(let i of e)i.type==="process"&&n.add(i.pid);let o=(t.meta.markerSchema||[]).filter(i=>Array.isArray(i.graphs)&&i.graphs.length>0);for(let i=0;i<t.threads.length;i++){let s=t.threads[i],{pid:l,markers:c}=s;if(!n.has(l))continue;let d=r.get(l);if(d===void 0&&(d=[],r.set(l,d)),s.isMainThread||d.push({type:"thread",threadIndex:i}),c.data.some(u=>u&&u.type==="Network")&&d.push({type:"network",threadIndex:i}),c.data.some(u=>u&&u.type==="IPC")&&d.push({type:"ipc",threadIndex:i}),o.length>0){let u=new Map;for(let p of o)u.set(p.name,{markerSchema:p,keys:(p.graphs||[]).map(m=>m.key),markerNames:new Set});for(let p=0;p<c.length;++p){let m=c.name[p],f=c.data[p],h=f?f.type:null;if(f&&h){let b=u.get(h);b&&b.keys.every(g=>g in f)&&b.markerNames.add(m)}}for(let[,{markerSchema:p,markerNames:m}]of u)for(let f of m)d.push({type:"marker",threadIndex:i,markerSchema:p,markerName:f})}}let{counters:a}=t;if(a)for(let i=0;i<a.length;i++){let{pid:s,category:l,samples:c}=a[i];if(n.has(s)&&["Memory","power","Bandwidth"].includes(l)){if(l==="power"&&c.length<=2)continue;let d=r.get(s);d===void 0&&(d=[],r.set(s,d)),l==="Memory"?d.push({type:"memory",counterIndex:i}):l==="Bandwidth"?d.push({type:"bandwidth",counterIndex:i}):d.push({type:"power",counterIndex:i})}}for(let i of r.values())i.sort((s,l)=>BH[s.type]-BH[l.type]);return r}function zH(t,e){let r=new Map;for(let n=0;n<t.length;n++){let o=t[n],{pid:a}=o,i=r.get(a);i===void 0&&(i=e.get(a),i===void 0&&(i=[]),i=[...i]),i.push({type:"event-delay",threadIndex:n}),r.set(a,i)}return r}function VH(t,e){if(t===null)return e;let r=new Map(e);for(let[n,o]of t.entries()){if(o.category!=="CPU"||o.name!=="processCPU")continue;let{pid:a}=o,i=r.get(a)??[];i=[...i,{type:"process-cpu",counterIndex:n}],r.set(a,i)}return r}function UI(t,e=null,r){let n=new Map,o=[],{stringArray:a}=t.shared,i=tt.withBackingArray(a),s=i.hasString("CompositorScreenshot")?i.indexForString("CompositorScreenshot"):null;for(let l=0;l<t.threads.length;l++){let c=t.threads[l],{pid:d,markers:u}=c;if(c.isMainThread){let m=n.get(d);m===void 0?(m={type:"process",pid:d,mainThreadIndex:l},o.push(m),n.set(d,m)):m.mainThreadIndex=l}else if(!n.has(d)){let m={type:"process",pid:d,mainThreadIndex:null};o.push(m),n.set(d,m)}let p=new Set;if(s!==null){for(let m=0;m<u.length;m++)if(u.name[m]===s){let f=u.data[m];p.add(f.windowID)}for(let m of p)o.push({type:"screenshots",id:m,threadIndex:l})}}if(t.meta&&t.meta.visualMetrics){let l=t.meta.visualMetrics;l.VisualProgress&&o.push({type:"visual-progress"}),l.PerceptualSpeedIndexProgress&&o.push({type:"perceptual-visual-progress"}),l.ContentfulSpeedIndexProgress&&o.push({type:"contentful-visual-progress"})}return o=kJ(o,t,e,r),o.sort((l,c)=>UH[l.type]-UH[c.type]),o}function kJ(t,e,r,n){if(r===null)return t;let o=n.get(r);if(!o)return console.warn(`Failed to find the thread indexes for given tab ${r}`),t;let a=[];for(let i of t)switch(i.type){case"process":{let{mainThreadIndex:s}=i;if(s===null)continue;let l=e.threads[s];(l.isMainThread&&l.processType==="default"||o.has(s))&&a.push(i);break}case"screenshots":case"visual-progress":case"perceptual-visual-progress":case"contentful-visual-progress":a.push(i);break;default:throw new Error("Unhandled globalTack type.")}return a}function GI(t,e,r,n){if(r!==null){let o=[];for(let a of r){let i=t.findIndex(s=>s.type==="process"&&s.mainThreadIndex===a);i!==-1&&o.push(i)}for(let a=0;a<t.length;a++)o.includes(a)||o.push(a);return o}if(e!==null&&e.length!==t.length){let o=e.slice();for(let a=e.length;a<t.length;a++)o.push(a);e=o}return e!==null&&XH(t.length,e)?e:wJ(t,n)}function $I(t,e,r,n){if(t===null)return $H(e,r,n);let o=ci(t,new Set(e));return o.size===0?$H(e,r,n):o}function $H(t,e,r){if(e.meta.initialSelectedThreads!==void 0)return new Set(e.meta.initialSelectedThreads.filter(i=>i<e.threads.length?!0:(console.warn(`The specified thread index ${i} is higher than the maximum thread index ${e.threads.length-1}.`),!1)));let{threads:n}=e;if(n.length===0)throw new Error("Expected to find a thread index to select.");let o=IJ(t,n,r),a=o.find(i=>n[i].name==="GeckoMain"&&n[i].processType==="tab")??o[0];return new Set([a])}function IJ(t,e,r){let n=[...t];return n.sort((o,a)=>{let i=e[o].name,s=e[a].name;return i===s?r[a].boostedSampleScore-r[o].boostedSampleScore||o-a:i==="Compositor"?1:s==="Compositor"?-1:i==="Renderer"?1:s==="Renderer"?-1:r[a].boostedSampleScore-r[o].boostedSampleScore||o-a}),n}function zI(t,e,r){let n=new Set(r.threads.map((i,s)=>s)),o=new Set(e),a=FH(n,o);return a.size===0?null:jH(r,a,t)}function WH(t,e,r){let n=ci(new Set(t.globalTrackOrder),e),o=new Map;for(let[i,s]of t.localTrackOrderByPid){let l=new Set(s),c=ci(l,r.get(i)||new Set);if(o.set(i,c),c.size===l.size){let d=t.globalTracks.findIndex(u=>u.type==="process"&&u.pid===i&&u.mainThreadIndex===null);d!==-1&&n.add(d)}}let a={hiddenGlobalTracks:n,hiddenLocalTracksByPid:o};return tb(t,a).length===0?null:a}function VI(t,e,r,n){return jH(e,EJ(e,t,r,n),t)}function jH(t,e,r){let n=new Set([...e].map(i=>t.threads[i].pid)),o=new Set(r.globalTrackOrder.filter(i=>{let s=r.globalTracks[i];return s.type!=="process"?!1:!n.has(s.pid)})),a=new Map;for(let[i,s]of r.localTrackOrderByPid){if(!n.has(i)){a.set(i,new Set(s));continue}let l=r.localTracksByPid.get(i)??[],c=new Set(s.filter(d=>{let u=l[d];return!LJ(u,e)}));a.set(i,c)}return{hiddenGlobalTracks:o,hiddenLocalTracksByPid:a}}function tb({globalTracks:t,localTracksByPid:e},{hiddenGlobalTracks:r,hiddenLocalTracksByPid:n}){let o=[];for(let a=0;a<t.length;a++){if(r.has(a))continue;let i=t[a];if(i.type==="process"){let{mainThreadIndex:s,pid:l}=i;s!==null&&o.push(s);let c=$(e.get(l),"A local track was expected to exist for the given pid."),d=$(n.get(l),"Hidden tracks were expected to exists for the given pid.");for(let u=0;u<c.length;u++){let p=c[u];if(p.type==="thread"){let{threadIndex:m}=p;d.has(u)||o.push(m)}}}}return o}function KH(t,e){switch(t.type){case"process":{if(t.mainThreadIndex===null){let r=t.pid,n=e.filter(o=>o.pid===r).map(o=>o.processName).find(o=>!!o);return n||`Process ${r}`}return yn(e,e[t.mainThreadIndex]).replace(/^https?:\/\//i,"")}case"screenshots":return"Screenshots";case"visual-progress":return"Visual Progress";case"perceptual-visual-progress":return"Perceptual Visual Progress";case"contentful-visual-progress":return"Contentful Visual Progress";default:throw Y(t,"Unhandled GlobalTrack type.")}}function YH(t,e,r,n){switch(t.type){case"thread":return yn(e,e[t.threadIndex]);case"network":return"Network";case"memory":return"Memory";case"bandwidth":return"Bandwidth";case"ipc":return`IPC \u2014 ${yn(e,e[t.threadIndex])}`;case"event-delay":return yn(e,e[t.threadIndex])+" Event Delay";case"process-cpu":return"Process CPU";case"power":return n[t.counterIndex].name;case"marker":return r.stringArray[t.markerName];default:throw Y(t,"Unhandled LocalTrack type.")}}function CJ(t){let e=new Set;for(let r of t.globalTracks)r.type==="process"&&r.mainThreadIndex!==null&&e.add(r.mainThreadIndex);for(let[,r]of t.localTracksByPid)for(let n of r)n.type==="thread"&&e.add(n.threadIndex);return e}var PJ=.05;function EJ(t,e,r,n){if(t.threads.length===0)throw new Error("No threads");if(t.meta.initialVisibleThreads!==void 0)return t.meta.initialVisibleThreads.forEach(p=>$(t.threads[p])),new Set(t.meta.initialVisibleThreads);let a=CJ(e),i=r.map((p,m)=>({threadIndex:m,score:p}));i=i.filter(({threadIndex:p})=>a.has(p)),i.sort(({score:p},{score:m})=>p.isEssentialFirefoxThread!==m.isEssentialFirefoxThread?p.isEssentialFirefoxThread?-1:1:m.boostedSampleScore-p.boostedSampleScore);let s=i.slice(0,15),c=Math.max(...i.map(({score:p})=>p.isInParentProcess&&!n?0:p.sampleScore))*PJ,d=[],u=s.filter(p=>{let{score:m}=p;return m.isInParentProcess&&!n?(m.sampleScore>=c&&d.push(p),!1):m.isEssentialFirefoxThread||m.isInterestingEvenWithMinimalActivity&&m.sampleScore>0?!0:m.sampleScore>=c});return u.length===0&&(u=d),new Set(u.map(({threadIndex:p})=>p))}var _J=40;function qH(t,e,r){let n=NJ(e),o=e.processType==="default",a=RJ(e),i=MJ(t,e,r),s=a?i*_J:i;return{isEssentialFirefoxThread:n,isInParentProcess:o,isInterestingEvenWithMinimalActivity:a,sampleScore:i,boostedSampleScore:s}}function NJ(t){return t.name==="GeckoMain"&&t.processType==="default"&&(!t.processName||t.processName==="Parent Process")||t.name==="GeckoMain"&&t.processType==="gpu"}function RJ(t){return/^(?:Audio|Media|GraphRunner|WebrtcWorker)/.test(t.name)}function MJ({meta:t,shared:{stackTable:e,frameTable:r}},{samples:n},o){if(t.sampleUnits&&n.threadCPUDelta)return n.threadCPUDelta.reduce((d,u)=>d+(u??0),0);let a=t.categories?t.categories.findIndex(d=>d.color==="grey"):-1,i=t.categories?t.categories.findIndex(d=>d.name==="Idle"):-1,s=Ny(e,r,a),l=n.stack.filter(d=>d!==null&&s.category[d]!==i).length,c=o*t.interval;return l*c}function XH(t,e){return e.length===t&&e.slice().sort((r,n)=>r-n).every((r,n)=>r===n)}function rb(t,e,r,n){if(!n)return null;let o=ei(Qa(n));if(!o)return null;let a=new Set;for(let i=0;i<t.length;i++){let s=t[i];switch(o.lastIndex=0,s.type){case"process":{let{mainThreadIndex:l}=s;if(o.test(s.pid.toString())){a.add(i);continue}if(l!==null){let c=r[l],d=e[i];if(o.test(d)){a.add(i);continue}let{tid:u}=c;if(u&&o.test(u.toString())){a.add(i);continue}if(o.test(c.processType)){a.add(i);continue}let{processName:p}=c;if(p&&o.test(p)){a.add(i);continue}let m=c["eTLD+1"];if(m&&o.test(m)){a.add(i);continue}}break}case"screenshots":case"visual-progress":case"perceptual-visual-progress":case"contentful-visual-progress":{let{type:l}=s;if(o.test(l)){a.add(i);continue}break}default:throw Y(s,"Unhandled GlobalTrack type.")}}return a}function nb(t,e,r,n){if(!n)return null;let o=ei(Qa(n));if(!o)return null;let a=new Map;for(let[i,s]of t){let l=new Set,c=e.get(i);if(c===void 0)throw new Error("Failed to get the local track names");for(let d=0;d<s.length;d++){let u=s[d];if(o.lastIndex=0,o.test(i.toString())){l.add(d);continue}switch(u.type){case"thread":{let{threadIndex:p}=u,m=r[p],f=c[d];if(o.test(f)){l.add(d);continue}let{tid:h}=m;if(h&&o.test(h.toString())){l.add(d);continue}if(o.test(m.processType)){l.add(d);continue}let{processName:b}=m;if(b&&o.test(b)){l.add(d);continue}let g=m["eTLD+1"];if(g&&o.test(g)){l.add(d);continue}break}case"network":case"memory":case"bandwidth":case"marker":case"ipc":case"event-delay":case"power":case"process-cpu":{let{type:p}=u;if(o.test(p)){l.add(d);continue}break}default:throw Y(u,"Unhandled LocalTrack type.")}}l.size>0&&a.set(i,l)}return a}function JH(t,e){if(!e)return null;let r=new Set;for(let n=0;n<t.length;n++)t[n].type===e&&r.add(n);return r}function ZH(t,e){if(!e)return null;let r=new Map;for(let[n,o]of t){let a=new Set;for(let i=0;i<o.length;i++)o[i].type===e&&a.add(i);a.size>0&&r.set(n,a)}return r}function QH(t,e,r,n){for(let o=0;o<e.length;o++){let a=e[o];if(a.type==="process"&&a.mainThreadIndex!==null&&n[a.mainThreadIndex].tid===t)return{type:"global",trackIndex:o}}for(let[o,a]of r)for(let i=0;i<a.length;i++){let s=a[i];if(s.type==="thread"&&n[s.threadIndex].tid===t)return{type:"local",pid:o,trackIndex:i}}return null}function e2(t,e,r){for(let n=0;n<e.length;n++){let o=e[n];if(o.type==="process"&&o.mainThreadIndex===t)return{type:"global",trackIndex:n}}for(let[n,o]of r)for(let a=0;a<o.length;a++){let i=o[a];if(i.type==="thread"&&i.threadIndex===t)return{type:"local",pid:n,trackIndex:a}}return null}function LJ(t,e){switch(t.type){case"thread":return e.has(t.threadIndex);case"marker":case"network":case"memory":case"bandwidth":case"event-delay":case"process-cpu":case"power":return!0;case"ipc":return!1;default:throw Y(t,"Unhandled LocalTrack type.")}}var El=class t extends Error{library;errors;constructor(e,r,...n){super([e,...n.map(o=>` - ${o.name}: ${o.message}`)].join(`
|
|
63
|
+
`)),this.__proto__=t.prototype,this.name="SymbolsNotFoundError",this.library=r,this.errors=n}};function AJ(t){let e=new Map,r=new Set;for(let[n,o]of t){if(r.has(n))continue;let a=e.get(n);if(a===void 0){e.set(n,o);continue}a!==o&&(e.delete(n),r.add(n))}return e}function OJ(t,e){let{frameTable:r,funcTable:n,nativeSymbols:o,resourceTable:a}=t,i=new Map;for(let s=0;s<a.length;s++){if(a.type[s]!==pt.library)continue;let c=a.lib[s];if(c===null)continue;let d=e[c];if(d===void 0)throw new Error("Did not find a lib.");let u=new Set;for(let b=0;b<n.length;b++)n.resource[b]===s&&u.add(b);let p=new Set;for(let b=0;b<o.length;b++)o.libIndex[b]===c&&p.add(b);let m=[],f=[];for(let b=0;b<r.length;b++){let g=r.func[b];n.resource[g]===s&&(m.push(b),f.push(r.address[b]))}let h=`${d.debugName}/${d.breakpadId}`;i.set(h,{libIndex:c,resourceIndex:s,allFuncsForThisLib:u,allNativeSymbolsForThisLib:p,allFramesForThisLib:m,frameAddresses:f})}return i}function FJ(t){let e=new Map;for(let[r,{frameAddresses:n}]of t){let o=e.get(r);o===void 0&&(o=new Set,e.set(r,o));for(let a of n)o.add(a)}return Array.from(e).map(([r,n])=>{let[o,a]=r.split("/");return{lib:{debugName:o,breakpadId:a},addresses:n}})}function BJ(t,e,r,n){let o=t.get(r);if(o===void 0)return;n({libSymbolicationInfo:o,resultsForLib:e})}function HJ(t,e,r){if(r.size===0)return null;let n=ia(),o=new Int32Array(t.length);for(let a=0;a<t.length;a++){let i=t.frame[a],s=t.prefix[a],l=s===null?-1:o[s];if(e[i]!==0){o[a]=l;continue}let c=r.get(i);c===void 0&&(c=[i]);let d=l!==-1?l:null;for(let u=0;u<c.length;u++){let p=c[u],m=n.length;n.frame.push(p),n.prefix.push(d),n.length++,d=m}o[a]=d??-1}return{newStackTable:n,oldStackToNewStack:o}}function t2(t,e,r){let n=new Map,o=e.frameTable.length,a=new Uint8Array(o),i=new Map,s=e;for(let p of r)s=UJ(s,p,n,a,i);let l=HJ(s.stackTable,a,i);if(l===null)return{threads:t,shared:s,oldFuncToNewFuncsMap:n};let{newStackTable:c,oldStackToNewStack:d}=l;return s={...s,stackTable:c},{threads:_y(t,p=>{if(p===null)return null;let m=d[p];return m!==-1?m:null}),shared:s,oldFuncToNewFuncsMap:n}}function UJ(t,e,r,n,o){let{frameTable:a,funcTable:i,nativeSymbols:s,stringArray:l,sources:c}=t,d=tt.withBackingArray(l),{libSymbolicationInfo:u,resultsForLib:p}=e,{resourceIndex:m,allFramesForThisLib:f,allFuncsForThisLib:h,allNativeSymbolsForThisLib:b,libIndex:g}=u,y=new Set(h),v=new Set(b),S=new Map,x=new Map,w=new Map,I=[],C=[];for(let G of f)a.inlineDepth[G]>0?(I.push(G),n[G]=1):C.push(G);for(let G of C){let B=a.nativeSymbol[G],A=a.address[G],K=p.get(A);if(K===void 0)if(B!==null){let ne=d.getString(s.name[B]);K={symbolAddress:s.address[B],name:ne}}else K={symbolAddress:A,name:`0x${A.toString(16)}`};let Z=K.symbolAddress;if(S.set(G,Z),x.set(Z,K),B!==null&&!w.has(Z)&&v.has(B)){let ne=B;v.delete(ne),w.set(Z,ne)}}let k=v.values(),N=rD(s);for(let[G,B]of x){let A=d.indexForString(B.name),K=w.get(G);K===void 0&&(K=k.next().value,K===void 0&&(K=N.length,N.libIndex[K]=g,N.length++),w.set(G,K)),N.address[K]=G,N.name[K]=A,N.functionSize[K]=B.functionSize??null}let O=a.nativeSymbol.slice();for(let[G,B]of S){let A=w.get(B);if(A===void 0)throw new Error("Impossible, all symbolAddresses have a canonical symbol at this point.");O[G]=A}let L=Lh({...a,nativeSymbol:O}),F=Cc(i),R=y.values(),z=new Map,Q=I.values(),ie=[];for(let G of C){let B=a.func[G],A=O[G];if(A===null)throw new Error("Impossible, all frames now have native symbols.");let K=a.address[G],Z=p.get(K);if(Z===void 0){let st=N.name[A],Me=null,Ve=F.source[B];Ve!==null&&(Me=c.filename[Ve]),Z={symbolAddress:N.address[A],name:d.getString(st),file:Me!==null?d.getString(Me):void 0,line:a.line[G]??void 0}}let ne=Z.inlines?Z.inlines.slice():[];ne.push({name:Z.name,file:Z.file,line:Z.line}),ne.reverse();let ue=[],Xe=[];for(let st=0;st<ne.length;st++){let Me=ne[st],Ve=d.indexForString(Me.name),Ct=Me.file!==void 0?d.indexForString(Me.file):null,q=`${Ve}:${Ct??""}`,ee=z.get(q);if(ee===void 0){if(ee=R.next().value,ee===void 0&&(ee=F.length,F.isJS[ee]=!1,F.relevantForJS[ee]=!1,F.resource[ee]=m,F.source[ee]=null,F.lineNumber[ee]=null,F.columnNumber[ee]=null,F.length++),F.name[ee]=Ve,Ct!==null){let pe=null;for(let he=0;he<c.filename.length;he++)if(c.filename[he]===Ct&&c.uuid[he]===null){pe=he;break}pe===null&&(pe=c.filename.length,c.filename.push(Ct),c.uuid.push(null),c.length++),F.source[ee]=pe}else F.source[ee]=null;z.set(q,ee)}Xe.push(ee);let le;if(st===0)le=G;else{le=Q.next().value,le===void 0&&(le=L.length,L.length++);let pe=L.category[G],he=L.subcategory[G],Rt=L.innerWindowID[G];L.category[le]=pe,L.subcategory[le]=he,L.innerWindowID[le]=Rt,L.address[le]=K,L.nativeSymbol[le]=A}L.inlineDepth[le]=st,L.func[le]=ee,L.line[le]=Me.line??null,L.column[le]=null,ue.push(le)}ue.length>1&&o.set(G,ue),ie.push([B,Xe.join("#")])}let me=AJ(ie);for(let[G,B]of me)r.set(G,B.split("#").map(A=>+A));return{...t,frameTable:L,funcTable:F,nativeSymbols:N}}async function r2(t,e,r,n){let o=OJ(t.shared,t.libs),a=FJ(o);await e.getSymbols(a,(i,s)=>{let{debugName:l,breakpadId:c}=i,d=`${l}/${c}`;BJ(o,s,d,r)},(i,s)=>{if(!(s instanceof El))throw s;console.warn(s)},n)}function Td(t,e){return e.reduce((r,n)=>{let o=t.get(n);return o===void 0?[...r,n]:[...r,...o]},[])}function WI(t,e){let r=[];for(let n of e){let o=Td(t,n);r.push(o);let a=n[n.length-1],s=Td(t,[a]).length;if(s>1)for(let l=1;l<s;l++)r.push(o.slice(0,o.length-l))}return new zr(r)}var GJ=(t=null,e)=>{switch(e.type){case"PROFILE_LOADED":return e.profile;case"BULK_SYMBOLICATION":{if(t===null)throw new Error("Assumed that a profile would be loaded in time for a coalesced functions update.");if(!t.threads.length)return t;let{symbolicatedShared:r,symbolicatedThreads:n}=e;return{...t,shared:r,threads:n}}case"DONE_SYMBOLICATING":{if(t===null)throw new Error("Strangely we're done symbolicating a non-existent profile.");return{...t,meta:{...t.meta,symbolicated:!0}}}case"UPDATE_PAGES":{if(t===null)throw new Error("We tried to update the pages information for a non-existent profile.");let{newPages:r}=e;return{...t,pages:r}}default:return t}},$J=(t=[],e)=>{switch(e.type){case"VIEW_FULL_PROFILE":case"CHANGE_TAB_FILTER":return e.globalTracks;default:return t}},zJ=(t=new Map,e)=>{switch(e.type){case"VIEW_FULL_PROFILE":case"ENABLE_EVENT_DELAY_TRACKS":case"ENABLE_EXPERIMENTAL_PROCESS_CPU_TRACKS":case"CHANGE_TAB_FILTER":return e.localTracksByPid;default:return t}},VJ=(t="DONE",e)=>{switch(e.type){case"START_SYMBOLICATING":return"SYMBOLICATING";case"DONE_SYMBOLICATING":return"DONE";default:return t}},jI={selectedNonInvertedCallNodePath:[],selectedInvertedCallNodePath:[],expandedNonInvertedCallNodePaths:new zr,expandedInvertedCallNodePaths:new zr,selectedNetworkMarker:null,lastSeenTransformCount:0};function ob(t,e){let r=t[e];return r||jI}function Sd(t,e,r){let n={...t};return n[e]={...ob(t,e),...r},n}var WJ=(t={},e)=>{switch(e.type){case"PROFILE_LOADED":return{};case"BULK_SYMBOLICATION":{let{oldFuncToNewFuncsMap:r}=e;return Eh(t,o=>({...o,selectedNonInvertedCallNodePath:Td(r,o.selectedNonInvertedCallNodePath),selectedInvertedCallNodePath:Td(r,o.selectedInvertedCallNodePath),expandedNonInvertedCallNodePaths:WI(r,o.expandedNonInvertedCallNodePaths),expandedInvertedCallNodePaths:WI(r,o.expandedInvertedCallNodePaths)}))}case"CHANGE_SELECTED_CALL_NODE":{let{isInverted:r,selectedCallNodePath:n,threadsKey:o,optionalExpandedToCallNodePath:a}=e,i=ob(t,o),s=r?i.selectedInvertedCallNodePath:i.selectedNonInvertedCallNodePath;if(Q1(n,s)&&!a)return t;let l=r?i.expandedInvertedCallNodePaths:i.expandedNonInvertedCallNodePaths,c=a||n,d=[];for(let p=1;p<c.length;p++)d.push(c.slice(0,p));return d.some(p=>!l.has(p))&&(l=new zr(l),d.forEach(p=>l.add(p))),Sd(t,o,r?{selectedInvertedCallNodePath:n,expandedInvertedCallNodePaths:l}:{selectedNonInvertedCallNodePath:n,expandedNonInvertedCallNodePaths:l})}case"CHANGE_INVERT_CALLSTACK":{let{newSelectedCallNodePath:r,selectedThreadIndexes:n,invertCallstack:o}=e;return Eh(t,(a,i)=>{if(i===Uo(n).toString()){let s=new zr;for(let l=1;l<r.length;l++)s.add(r.slice(0,l));return o?{...a,selectedInvertedCallNodePath:r,expandedInvertedCallNodePaths:s}:{...a,selectedNonInvertedCallNodePath:r,expandedNonInvertedCallNodePaths:s}}return a})}case"CHANGE_EXPANDED_CALL_NODES":{let{threadsKey:r,isInverted:n}=e,o=new zr(e.expandedCallNodePaths);return Sd(t,r,n?{expandedInvertedCallNodePaths:o}:{expandedNonInvertedCallNodePaths:o})}case"CHANGE_SELECTED_NETWORK_MARKER":{let{threadsKey:r,selectedNetworkMarker:n}=e;return Sd(t,r,{selectedNetworkMarker:n})}case"ADD_TRANSFORM_TO_STACK":{let{threadsKey:r,transform:n,transformedThread:o,callNodeInfo:a}=e,i=function(f){return new zr(Array.from(f).map(h=>uI(h,n,o,a)).filter(h=>h.length>0))},s=function(f){return uI(f,n,o,a)},l=ob(t,r),c=s(l.selectedNonInvertedCallNodePath),d=s(l.selectedInvertedCallNodePath),u=i(l.expandedNonInvertedCallNodePaths),p=i(l.expandedInvertedCallNodePaths),m=l.lastSeenTransformCount+1;return Sd(t,r,{selectedNonInvertedCallNodePath:c,selectedInvertedCallNodePath:d,expandedNonInvertedCallNodePaths:u,expandedInvertedCallNodePaths:p,lastSeenTransformCount:m})}case"POP_TRANSFORMS_FROM_STACK":{let{threadsKey:r}=e;return Sd(t,r,{selectedNonInvertedCallNodePath:[],selectedInvertedCallNodePath:[],expandedNonInvertedCallNodePaths:new zr,expandedInvertedCallNodePaths:new zr,lastSeenTransformCount:0})}case"UPDATE_URL_STATE":{if(!e.newUrlState)return t;let{transforms:r}=e.newUrlState.profileSpecific;return Eh(t,(n,o)=>{let i=(r[o]||[]).length,s=n.lastSeenTransformCount;return i<s?{...n,selectedNonInvertedCallNodePath:[],selectedInvertedCallNodePath:[],expandedNonInvertedCallNodePaths:new zr,expandedInvertedCallNodePaths:new zr,lastSeenTransformCount:i}:n})}case"CHANGE_IMPLEMENTATION_FILTER":{let{transformedThread:r,threadsKey:n,previousImplementation:o,implementation:a}=e;if(o===a)return t;let i=ob(t,n),s=function(f){return a==="combined"?f=pI(r,o,f):(o!=="combined"&&(f=pI(r,o,f)),f=SH(r,a,f)),f},l=function(f){let h=new zr;for(let b=1;b<f.length;b++)h.add(f.slice(0,b));return h},c=s(i.selectedNonInvertedCallNodePath),d=s(i.selectedInvertedCallNodePath),u=l(c),p=l(d);return Sd(t,n,{selectedNonInvertedCallNodePath:c,selectedInvertedCallNodePath:d,expandedNonInvertedCallNodePaths:u,expandedInvertedCallNodePaths:p})}default:return t}},xd={fixedColumnWidths:null};function jJ(t,e,r){let n={...t};return n[e]={...t[e]??xd,...r},n}var KJ=(t={},e)=>e.type==="CHANGE_TABLE_VIEW_OPTIONS"?jJ(t,e.tab,e.tableViewOptions):t,YJ=(t=new Set,e)=>{switch(e.type){case"REQUESTING_SYMBOL_TABLE":{let r=new Set(t);return r.add(e.requestedLib),r}case"RECEIVED_SYMBOL_TABLE_REPLY":{let r=new Set(t);return r.delete(e.requestedLib),r}default:return t}},qJ=(t=null,e)=>{switch(e.type){case"UPDATE_PREVIEW_SELECTION":return e.previewSelection;case"COMMIT_RANGE":return null;case"POP_COMMITTED_RANGES":return e.committedRange?{isModifying:!1,selectionStart:e.committedRange.start,selectionEnd:e.committedRange.end}:null;default:return t}},XJ=(t=0,e)=>{switch(e.type){case"CHANGE_INVERT_CALLSTACK":case"CHANGE_SELECTED_THREAD":case"SELECT_TRACK":case"HIDE_GLOBAL_TRACK":case"HIDE_LOCAL_TRACK":case"HIDE_PROVIDED_TRACKS":case"CHANGE_CALL_TREE_SEARCH_STRING":case"CHANGE_MARKER_SEARCH_STRING":case"CHANGE_NETWORK_SEARCH_STRING":return t+1;case"CHANGE_SELECTED_CALL_NODE":case"CHANGE_SELECTED_MARKER":case"CHANGE_SELECTED_NETWORK_MARKER":return e.context.source==="pointer"?t:t+1;default:return t}},JJ=(t=0,e)=>e.type==="FOCUS_CALL_TREE"?t+1:t,ZJ=(t={start:0,end:1},e)=>e.type==="PROFILE_LOADED"?Iy(e.profile):t,QJ=(t=null,e)=>{switch(e.type){case"SELECT_TRACK":return e.lastNonShiftClickInformation;case"HIDE_GLOBAL_TRACK":{if(!t)return null;let{clickedTrack:r}=t;return r.type==="global"&&r.trackIndex===e.trackIndex||r.type==="local"&&r.pid===e.pid?null:t}case"HIDE_LOCAL_TRACK":{if(!t)return null;let{clickedTrack:r}=t;return r.type==="local"&&r.pid===e.pid&&r.trackIndex===e.trackIndex?null:t}default:return t}},eZ=(t=null,e)=>e.type==="CHANGE_RIGHT_CLICKED_TRACK"?e.trackReference:t,tZ=(t=null,e)=>{switch(e.type){case"BULK_SYMBOLICATION":return t===null?null:{...t,callNodePath:Td(e.oldFuncToNewFuncsMap,t.callNodePath)};case"CHANGE_RIGHT_CLICKED_CALL_NODE":return e.callNodePath!==null?{threadsKey:e.threadsKey,callNodePath:e.callNodePath}:null;case"SET_CONTEXT_MENU_VISIBILITY":return e.isVisible?t:null;case"PROFILE_LOADED":case"CHANGE_INVERT_CALLSTACK":case"ADD_TRANSFORM_TO_STACK":case"POP_TRANSFORMS_FROM_STACK":case"CHANGE_IMPLEMENTATION_FILTER":return null;default:return t}},rZ=(t=null,e)=>{switch(e.type){case"CHANGE_RIGHT_CLICKED_MARKER":return e.markerIndex!==null?{threadsKey:e.threadsKey,markerIndex:e.markerIndex}:null;case"SET_CONTEXT_MENU_VISIBILITY":return e.isVisible?t:null;case"PROFILE_LOADED":return null;default:return t}},nZ=(t=null,e)=>{switch(e.type){case"CHANGE_HOVERED_MARKER":return e.markerIndex!==null?{threadsKey:e.threadsKey,markerIndex:e.markerIndex}:null;case"PROFILE_LOADED":return null;default:return t}},oZ=(t=null,e)=>e.type==="CHANGE_MOUSE_TIME_POSITION"?e.mouseTimePosition:t,aZ=t=>(e,r)=>{switch(r.type){case"SANITIZED_PROFILE_PUBLISHED":case"REVERT_TO_PRE_PUBLISHED_STATE":case"RETURN_TO_ZIP_FILE_LIST":return t(void 0,r);default:return t(e,r)}},iZ=aZ(wr({viewOptions:wr({perThread:WJ,symbolicationStatus:VJ,waitingForLibs:YJ,previewSelection:qJ,scrollToSelectionGeneration:XJ,focusCallTreeGeneration:JJ,rootRange:ZJ,lastNonShiftClick:QJ,rightClickedTrack:eZ,rightClickedCallNode:tZ,rightClickedMarker:rZ,hoveredMarker:nZ,mouseTimePosition:oZ,perTab:KJ}),profile:GJ,globalTracks:$J,localTracksByPid:zJ})),n2=iZ;var wd=t=>t.profileView,qt=t=>wd(t).viewOptions,hm=t=>qt(t).perTab[Oe(t)]||xd,Vo=t=>qt(t).rootRange,_l=t=>qt(t).symbolicationStatus,Wo=t=>qt(t).scrollToSelectionGeneration,KI=t=>qt(t).focusCallTreeGeneration,Vr=t=>Vo(t).start,vn=t=>{let{sampleUnits:e}=Ne(t).meta;return e?e.time:"ms"},de=D(Vo,Vr,yd,(t,e,r)=>{if(r.length>0){let{start:n,end:o}=r[r.length-1];return n+=e,o+=e,{start:n,end:o}}return t}),YI=D(yd,vn,K1),qI=t=>qt(t).mouseTimePosition,sZ=t=>e=>qt(e).perTab[t]||xd,mt=t=>qt(t).previewSelection,Qr=t=>{let e=mt(t);return e?e.isModifying:!1},XI=D(de,mt,(t,e)=>e?{start:e.selectionStart,end:e.selectionEnd}:t),Vn=t=>wd(t).profile,Ne=t=>$(Vn(t),"Tried to access the profile before it was loaded."),cr=t=>Ne(t).shared,ot=t=>Ne(t).meta.interval,kd=t=>Ne(t).pages||null,Nl=t=>Qe(t).findIndex(e=>e.color==="grey"),Ut=t=>Ne(t).threads,lZ=t=>Ne(t).threads.map(e=>e.name),JI=t=>qt(t).lastNonShiftClick,ab=t=>qt(t).rightClickedTrack,Id=t=>Ne(t).counters||null,Tn=t=>Ne(t).meta,a2=t=>Tn(t).visualMetrics||null,ib=t=>$(a2(t),"Tried to access the visual metrics when it does not exist."),ZI=t=>ib(t).VisualProgress,QI=t=>ib(t).PerceptualSpeedIndexProgress??null,eC=t=>ib(t).ContentfulSpeedIndexProgress??null,cZ=t=>Tn(t).configuration,dZ=t=>Tn(t).markerSchema,gm=t=>Tn(t).sampleUnits,i2=t=>Tn(t).extensions,Qe=D(Ne,t=>{let{categories:e}=t.meta;return e||oD()}),Rr=D(t=>cr(t).stringArray,t=>tt.withBackingArray(t)),tC=D(t=>cr(t).stackTable,t=>cr(t).frameTable,Nl,Ny),rC=D(t=>cr(t).funcTable,t=>cr(t).resourceTable,LB),nC=t=>rC(t).funcTable,oC=t=>rC(t).reservedFunctionsForResources,di=t=>cr(t).sources,Wn=D(dZ,t=>{let e=new Set([...nI.map(r=>r.name)]);return[...t.filter(r=>!e.has(r.name)),...nI]}),It=D(Wn,t=>{let e=Object.create(null);for(let r of t)e[r.name]=r;return e}),o2={},Xt=t=>{let e=o2[t];return e||(e=uZ(t),o2[t]=e),e};function uZ(t){let e=D(Ne,l=>wB($(l.counters,"Attempting to get a counter by index, but no counters exist.")[t])),r=l=>e(l).description,n=l=>e(l).pid,o=D(e,de,(l,c)=>Py(l.samples,c.start,c.end)),a=D(e,o,(l,c)=>kB(l.samples,c)),i=D(e,ot,(l,c)=>eI(l.samples,c)),s=D(e,ot,o,(l,c,d)=>eI(l.samples,c,d));return{getCounter:e,getDescription:r,getPid:n,getAccumulateCounterSamples:a,getMaxCounterSampleCountPerMs:i,getMaxRangeCounterSampleCountPerMs:s,getCommittedRangeCounterSampleRange:o}}var aC=D([Ut,cr],My),Sn=D(kd,t=>{if(!t)return null;let e=new Map;for(let r of t)e.set(r.innerWindowID,r);return e}),s2=D(kd,t=>{if(!t)return null;let e=new Map;for(let r of t)e.set(r.innerWindowID,r.tabID);return e}),ym=D(Ut,s2,(t,e)=>qB(t,e)),ft=t=>wd(t).globalTracks,iC=D(ft,t=>t.map((e,r)=>({type:"global",trackIndex:r}))),bm=D(Rr,Ut,(t,e)=>{if(!t.hasString("PreferenceRead"))return!1;let r=t.indexForString("PreferenceRead");return e.some(({markers:n})=>n.name.includes(r))}),sC=(t,e)=>ft(t)[e.trackIndex],Rl=(t,e)=>{let r=ft(t),n=r.findIndex(a=>a.type==="process"&&a.pid===e);if(n===-1)throw new Error("Unable to find the track index for the given pid.");let o=r[n];if(o.type!=="process")throw new Error("The globalTrack must be a process type.");return{globalTrackIndex:n,globalTrack:o}},Mr=t=>wd(t).localTracksByPid,fo=(t,e)=>$(wd(t).localTracksByPid.get(e),"Unable to get the tracks for the given pid."),lC=(t,e)=>fo(t,e.pid)[e.trackIndex],cC=D(Mr,t=>{let e=new Set;for(let[r,n]of t.entries())n.some(o=>o.type==="memory")&&e.add(r);return e}),dC=D(ab,ft,Mr,(t,e,r)=>{if(t===null)return null;if(t.type==="global"){let s=e[t.trackIndex];return s.type==="process"?s.mainThreadIndex:null}let{pid:n,trackIndex:o}=t,i=$(r.get(n),"No local tracks found at that pid.")[o];return i.type==="thread"?i.threadIndex:null}),sb=D(ft,Ut,(t,e)=>t.map(r=>KH(r,e))),uC=(t,e)=>sb(t)[e],lb=D(Mr,Ut,cr,Id,(t,e,r,n)=>{let o=new Map;for(let[a,i]of t)o.set(a,i.map(s=>YH(s,e,r,n||[])));return o}),pC=(t,e,r)=>$(lb(t).get(e),"Could not find the track names from the given pid")[r],mC=D(ft,Mr,mo,lr,(t,e,r,n)=>{let o=0,a=0;for(let[i,s]of e){let l=r.get(i)||new Set,c=t.findIndex(d=>d.type==="process"&&d.pid===i);if(c===-1)throw new Error("Unable to find a global track from the given pid.");if(!l)throw new Error("Unable to find the hidden local tracks from the given pid");n.has(c)?o+=s.length:o+=l.size,a+=s.length}return a+=t.length,o+=n.size,{hidden:o,total:a}}),cb=D(Ne,nB),vm=D(Ne,cb,(t,e)=>{let{threads:r}=t;return r.map(n=>qH(t,n,e))}),fC=D(kd,Sn,(t,e)=>{if(t===null||e===null||t.length===0)return null;let r=new Map;for(let n of t){let o=l=>{if(l.embedderInnerWindowID===0)return l;let c=e.get(l.embedderInnerWindowID);return c!==void 0?o(c):l},a=o(n),{tabID:i}=a,s=r.get(i);s===void 0?r.set(i,[n]):s.push(n)}return r}),pZ=D(fC,t=>{if(t===null||t.size===0)return null;let e=new Map;for(let[r,n]of t)e.set(r,new Set(n.map(o=>o.innerWindowID)));return e}),l2=D(i2,t=>{if(!t)return null;let e=new Map;for(let r=0;r<t.length;r++)e.set(t.baseURL[r],t.name[r]);return e}),db=D(fC,l2,GB),hC=D(db,ym,vm,(t,e,r)=>{let n=[];for(let[o,a]of t.entries()){let i=0,s=e.get(o);if(s){for(let l of s.values()){let c=r[l];if(!c)throw new Error("Failed to find the thread score!");i+=c.boostedSampleScore}n.push({tabID:o,tabScore:i,pageData:a})}}return n.sort((o,a)=>a.tabScore-o.tabScore),n}),gC=D(Ut,t=>{let e=new Map;for(let r of t)e.set(r.tid,yn(t,r));return e}),yC=D(Ut,t=>{let e=new Map;for(let r of t)!r.isMainThread||!r.pid||e.set(r.pid,yn(t,r));return e}),Tm=D(Ne,t=>{let{threads:e,pages:r}=t;return r&&r.some(a=>a.isPrivateBrowsing)?!0:e.some(o=>o.isPrivateBrowsing)}),bC=D(Ut,t=>{let e=new Set;for(let{tid:r}of t)e.add(r);return e}),vC=t=>{let{profile:e}=t.profileView;return e?e.meta.sourceCodeIsNotOnSearchfox!==!0:!0},ui=t=>{let{profile:e}=t.profileView;return e?e.meta.usesOnlyOneStackType!==!0:!0},TC=D(Ne,t=>t.meta.extra||[]),Sm=D(di,Rr,ya,(t,e,r)=>{if(r===null)return null;let n=t.filename[r];return n!==null?e.getString(n):null}),SC=D(di,ya,(t,e)=>e!==null?t.uuid[e]:null);var PC={};ve(PC,{getExpandedZipFileIndexes:()=>wC,getHasZipFile:()=>wm,getSelectedZipFileIndex:()=>xC,getZipFile:()=>c2,getZipFileErrorMessage:()=>kC,getZipFileMaxDepth:()=>IC,getZipFileState:()=>jo,getZipFileTable:()=>Cd,getZipFileTableOrNull:()=>d2,getZipFileTree:()=>CC,getZipFileTreeOrNull:()=>u2,getZippedProfilesState:()=>xm});var xm=t=>t.zippedProfiles,xC=t=>xm(t).selectedZipFileIndex,wC=t=>xm(t).expandedZipFileIndexes,jo=t=>xm(t).zipFile,c2=t=>jo(t).zip,wm=t=>jo(t).phase!=="NO_ZIP_FILE",kC=t=>{let{error:e}=xm(t);return e===null?null:e.message},d2=D(c2,t=>t===null?null:PH(t)),Cd=t=>$(d2(t),"Attempted to view a profile from a zip, when there is no zip file loaded."),IC=D(Cd,EH),u2=D(Cd,ii,(t,e)=>t===null?null:new zy(t,e)),CC=t=>$(u2(t),"Attempted to view a profile from a zip, when there is no zip file loaded.");var en=t=>t.app,ho=t=>en(t).view,RC=t=>en(t).urlSetupPhase,MC=t=>en(t).hasZoomedViaMousewheel,_m=t=>en(t).isSidebarOpenPerPanel[Oe(t)],Nm=t=>en(t).panelLayoutGeneration,pb=t=>en(t).lastVisibleThreadTabSlug,mb=t=>en(t).trackThreadHeights,LC=t=>en(t).isNewlyPublished,fb=t=>en(t).experimental,Pd=t=>en(t).browserConnectionStatus,Ko=D(Pd,t=>t.status==="ESTABLISHED"?t.browserConnection:null),DC=t=>fb(t).eventDelayTracks,Rm=t=>fb(t).cpuGraphs,AC=t=>fb(t).processCPUTracks,OC=t=>en(t).isDragAndDropDragging,FC=t=>en(t).isDragAndDropOverlayRegistered,BC=t=>en(t).currentProfileUploadedInformation,HC=D(ft,Mr,lr,mo,mb,(t,e,r,n,o)=>{let a=20,i=1;for(let[l,c]of t.entries())if(!r.has(l))switch(c.type){case"screenshots":a+=50+i;break;case"visual-progress":case"perceptual-visual-progress":case"contentful-visual-progress":a+=40;break;case"process":{let{mainThreadIndex:d}=c;if(d===null)a+=30+i;else{let u=o[d];if(u===void 0)return null;a+=u+i}break}default:throw Y(c)}let s=new Set;for(let l of r){let c=t[l];c.type==="process"&&s.add(c.pid)}for(let[l,c]of e)if(!s.has(l)){for(let[d,u]of c.entries())if(!$(n.get(l),"Could not look up the hidden local tracks from the given PID").has(d))switch(u.type){case"thread":{let m=o[u.threadIndex];if(m===void 0)return null;a+=m+i}break;case"network":a+=35+i;break;case"memory":a+=40+i;break;case"bandwidth":a+=25+i;break;case"event-delay":a+=40+i;break;case"ipc":a+=25+i;break;case"process-cpu":case"power":a+=25+i;break;case"marker":a+=25+i;break;default:throw Y(u)}}return a}),hb=D(ho,ir,jo,(t,e,r)=>{let n=t.phase,o=r.phase;return!(n==="INITIALIZING"&&e!=="none"||o==="PROCESS_PROFILE_FROM_ZIP_FILE")}),UC=D(en,t=>t.sidebarOpenCategories);var j0={};ve(j0,{changeProfilesToCompare:()=>R0,changeSelectedTab:()=>N0,changeSidebarOpenState:()=>L0,dismissNewlyPublished:()=>F0,enableEventDelayTracks:()=>Ute,enableExperimentalCPUGraphs:()=>Gte,enableExperimentalProcessCPUTracks:()=>$te,invalidatePanelLayout:()=>nf,profileRemotelyDeleted:()=>z0,registerDragAndDropOverlay:()=>U0,reportTrackThreadHeight:()=>O0,setCurrentProfileUploadedInformation:()=>$0,setHasZoomedViaMousewheel:()=>D0,setupInitialUrlState:()=>A0,show404:()=>Yb,startDragging:()=>B0,startFetchingProfiles:()=>M0,stopDragging:()=>H0,toggleOpenCategoryInSidebar:()=>W0,unregisterDragAndDropOverlay:()=>G0,updateBrowserConnectionStatus:()=>V0,updateUrlState:()=>qb,urlSetupDone:()=>Kb});var _0={};ve(_0,{_fetchProfile:()=>I0,bulkProcessSymbolicationSteps:()=>SG,changeTabFilter:()=>E0,doSymbolicateProfile:()=>x0,doneSymbolicating:()=>TG,finalizeFullProfileView:()=>bG,finalizeProfileView:()=>$b,getProfileUrlForHash:()=>C0,loadProfile:()=>Vl,receiveZipFile:()=>k0,receivedSymbolTableReply:()=>Ub,requestingSymbolTable:()=>g0,resymbolicateProfile:()=>S0,retrievePageFaviconsFromBrowser:()=>wG,retrieveProfileForRawUrl:()=>P0,retrieveProfileFromBrowser:()=>zb,retrieveProfileFromFile:()=>rf,retrieveProfileFromStore:()=>Wb,retrieveProfileOrZipFromUrl:()=>tf,retrieveProfilesToCompare:()=>jb,startSymbolicating:()=>vG,temporaryError:()=>Vb,triggerLoadingFromUrl:()=>T0,unwrapBrowserConnection:()=>kG,viewProfile:()=>ef,viewProfileFromPostMessage:()=>EG,waitingForProfileFromBrowser:()=>yG,waitingForProfileFromFile:()=>PG,waitingForProfileFromStore:()=>Lte,waitingForProfileFromUrl:()=>w0});var ba=class{_libs=[];_libKeyToLibIndex=new Map;_stringArray=[];_stringTable=tt.withBackingArray(this._stringArray);_sources=_c();_frameTable=kc();_stackTable=ia();_funcTable=Ic();_resourceTable=Pc();_nativeSymbols=Ec();_funcKeyToFuncIndex=new Map;_nativeSymbolKeyToNativeSymbolIndex=new Map;_libIndexToResourceIndex=new Map;_libNameToResourceIndex=new Map;_originToResourceIndex=new Map;_uuidToSourceIndex=new Map;_filenameToSourceIndex=new Map;indexForLib(e){let{debugName:r,breakpadId:n}=e,o=`${r}/${n}`,a=this._libKeyToLibIndex.get(o);if(a===void 0){a=this._libs.length;let{arch:i,name:s,path:l,debugPath:c,codeId:d}=e;this._libs.push({arch:i,name:s,path:l,debugName:r,debugPath:c,breakpadId:n,codeId:d??null}),this._libKeyToLibIndex.set(o,a)}return a}indexForFunc(e,r,n,o,a,i,s){let l=`${e}-${r}-${n}-${o}-${a}-${i}-${s}`,c=this._funcKeyToFuncIndex.get(l);return c===void 0&&(c=this._funcTable.length++,this._funcTable.name[c]=e,this._funcTable.isJS[c]=r,this._funcTable.relevantForJS[c]=n,this._funcTable.resource[c]=o,this._funcTable.source[c]=a,this._funcTable.lineNumber[c]=i,this._funcTable.columnNumber[c]=s,this._funcKeyToFuncIndex.set(l,c)),c}indexForSource(e,r){let n;if(e!==null)n=this._uuidToSourceIndex.get(e);else{let o=this._stringTable.indexForString(r);n=this._filenameToSourceIndex.get(o)}if(n===void 0){n=this._sources.length;let o=this._stringTable.indexForString(r);this._sources.uuid[n]=e,this._sources.filename[n]=o,this._sources.length++,e!==null?this._uuidToSourceIndex.set(e,n):this._filenameToSourceIndex.set(o,n)}return n}addExtensionOrigins(e){let r=this._resourceTable;for(let n=0;n<e.length;n++){let o=new URL(e.baseURL[n]).origin,a=this._originToResourceIndex.get(o);if(a===void 0){a=r.length++,this._originToResourceIndex.set(o,a);let s=`Extension ${JSON.stringify(e.name[n])} (ID: ${e.id[n]})`,l=this._stringTable.indexForString(e.id[n]);r.lib[a]=null,r.name[a]=this._stringTable.indexForString(s),r.host[a]=l,r.type[a]=pt.addon}}}indexForURIResource(e){let r,n;try{let i=new URL(e);if(!(i.protocol==="http:"||i.protocol==="https:"||i.protocol==="moz-extension:"))throw new Error("not a webhost or extension protocol");r=i.origin,n=i.host}catch{r=e,n=null}let o=this._originToResourceIndex.get(r);if(o!==void 0)return o;let a=this._resourceTable;return o=a.length++,this._originToResourceIndex.set(r,o),n?(a.lib[o]=null,a.name[o]=this._stringTable.indexForString(r),a.host[o]=this._stringTable.indexForString(n),a.type[o]=pt.webhost):(a.lib[o]=null,a.name[o]=this._stringTable.indexForString(e),a.host[o]=null,a.type[o]=pt.url),o}indexForLibResource(e){let r=this._libIndexToResourceIndex.get(e);if(r!==void 0)return r;let n=this._resourceTable;return r=this._resourceTable.length++,this._libIndexToResourceIndex.set(e,r),n.lib[r]=e,n.name[r]=this._stringTable.indexForString(this._libs[e].name),n.host[r]=null,n.type[r]=pt.library,r}indexForNameOnlyLibResource(e){let r=this._libNameToResourceIndex.get(e);if(r!==void 0)return r;let n=this._resourceTable;return r=this._resourceTable.length++,this._libNameToResourceIndex.set(e,r),n.lib[r]=null,n.name[r]=e,n.host[r]=null,n.type[r]=pt.library,r}indexForNativeSymbol(e,r,n,o){let a=`${e}-${r}-${n}-${o??""}`,i=this._nativeSymbolKeyToNativeSymbolIndex.get(a);return i===void 0&&(i=this._nativeSymbols.length++,this._nativeSymbols.libIndex[i]=e,this._nativeSymbols.address[i]=r,this._nativeSymbols.name[i]=n,this._nativeSymbols.functionSize[i]=o,this._nativeSymbolKeyToNativeSymbolIndex.set(a,i)),i}getStringTable(){return this._stringTable}getFrameTable(){return this._frameTable}getStackTable(){return this._stackTable}finish(){let e={stackTable:this._stackTable,frameTable:this._frameTable,funcTable:this._funcTable,resourceTable:this._resourceTable,nativeSymbols:this._nativeSymbols,stringArray:this._stringArray,sources:this._sources};return{libs:this._libs,shared:e}}};function hZ(t){return{name:"CpuProfile",args:{data:{cpuProfile:t}},cat:"other",pid:0,tid:0,ts:0,ph:"I"}}function p2(t,e){if(!t)return null;let r;if(Array.isArray(t)?t.slice(0,5).every(a=>a&&typeof a=="object"&&"ph"in a)&&(r=t):typeof t=="object"&&"samples"in t&&"timeDeltas"in t&&"startTime"in t&&"endTime"in t?(r=[],r.push(hZ(t))):typeof t=="object"&&"traceEvents"in t&&Array.isArray(t.traceEvents)&&(r=t.traceEvents),!r)return null;let n=new Map;for(let o of r){if(typeof o!="object"||o===null||typeof o.name!="string")throw new Error("A tracing event in the chrome profile did not follow the expected form.");let{name:a}=o,i=n.get(a);i||(i=[],n.set(a,i)),i.push(o)}return vZ(n,e)}function Mm(t,e,r){let n=t.get(e);return n?n.find(r):void 0}function gZ(t,e,r){let n=t.get(e);return n?n.filter(r):[]}function $C(t,e,r,n,o){let a=`${o.pid}:${o.tid}`,i=t.get(a);if(i)return i;let s=Nc();s.pid=`${o.pid}`,s.tid=a,s.processType="unknown",s.name="Chrome Thread";let l=Mm(r,"thread_name",g=>g.pid===o.pid&&g.tid===o.tid);l&&(s.name=l.args.name,s.isMainThread=s.name.startsWith("Cr")&&s.name.endsWith("Main")||!!o.pid&&o.pid===o.tid);let c=Mm(r,"process_name",g=>g.pid===o.pid);c&&(s.processName=c.args.name);let d=Mm(r,"process_labels",g=>g.pid===o.pid);if(d){let g=d.args.labels;s.processName?s.processName=`${s.processName} (${g})`:s.processName=`Process ${o.pid} (${g})`}let u=Mm(r,"process_sort_index",g=>g.pid===o.pid),p=0;u&&(p=u.args.sort_index);let m=Mm(r,"thread_sort_index",g=>g.pid===o.pid&&g.tid===o.tid),f=0;m?f=m.args.sort_index:l&&(l.args.name==="CrBrowserMain"||l.args.name==="CrGpuMain")&&(f=-1),n.threads.push(s);let h=new Map;h.set(void 0,null);let b={thread:s,nodeIdToStackId:h,lastSeenTime:o.ts/1e3,lastSampledTime:0,pid:o.pid,processSortIndex:p,threadSortIndex:f,tieBreakerIndex:e.size};return t.set(a,b),e.set(s,b),b}function yZ(t){switch(t.name){case"ProfileChunk":return t.args.data.timeDeltas;case"CpuProfile":return t.args.data.cpuProfile.timeDeltas;default:return}}function bZ(t){let e=t.findIndex(i=>i.name==="JavaScript"),r=t.findIndex(i=>i.name==="GC / CC"),n=t.findIndex(i=>i.name==="Native"),o=t.findIndex(i=>i.name==="Other"),a=t.findIndex(i=>i.name==="Idle");if(e===-1||r===-1||n===-1||o===-1||a===-1)throw new Error("Unable to find the a category in the the defaultCategories.");return function(s,l){switch(s){case"(idle)":return{category:a,isJS:!1,relevantForJS:!1};case"(root)":case"(program)":return{category:o,isJS:!1,relevantForJS:!1};case"(garbage collector)":return{category:r,isJS:!1,relevantForJS:!1};default:return!l&&s!=="<WASM UNNAMED>"&&s!=="(unresolved function)"?{category:n,isJS:!1,relevantForJS:!0}:{category:e,isJS:!0,relevantForJS:!1}}}}async function vZ(t,e){let r=Ui();r.meta.categories=[{name:"Other",color:"grey",subcategories:["Other"]},{name:"Idle",color:"transparent",subcategories:["Other"]},{name:"JavaScript",color:"yellow",subcategories:["Other"]},{name:"GC / CC",color:"orange",subcategories:["Other"]},{name:"Graphics",color:"green",subcategories:["Other"]},{name:"Native",color:"blue",subcategories:["Other"]}],r.meta.product="Chrome Trace",r.meta.importedFrom="Chrome Trace",r.meta.interval=.5;let n=new ba,o=n.getStringTable(),a=n.getFrameTable(),i=n.getStackTable(),s=t.get("Profile")||[];if(t.has("CpuProfile")){let p=t.get("CpuProfile");s=s.concat(p)}let l=bZ($(r.meta.categories)),c=new Map,d=new Map;for(let p of s){let m=$C(c,d,t,r,p),{thread:f,nodeIdToStackId:h}=m,b=[];if(p.name==="Profile"){m.lastSeenTime=p.args.data.startTime/1e3;let{id:g,pid:y}=p;b=gZ(t,"ProfileChunk",v=>v.id===g&&v.pid===y)}else p.name==="CpuProfile"&&(m.lastSeenTime=r.meta.profilingStartTime=p.args.data.cpuProfile.startTime/1e3,r.meta.profilingEndTime=p.args.data.cpuProfile.endTime/1e3,b=[p]);for(let g of b){if(!g.args.data||!g.args.data.cpuProfile)continue;let{cpuProfile:y}=g.args.data,{nodes:v,samples:S}=y,x=yZ(g);if(!x)continue;let{samples:w}=f;if(v){let I=new Map;for(let C of v){let{callFrame:k,id:N}=C,O;if(C.parent!==void 0?O=C.parent:O=I.get(N),C.children!==void 0){let ne=C.children;for(let ue=0;ue<ne.length;ue++)I.set(ne[ue],N)}let{url:L,lineNumber:F,columnNumber:R}=k;F===-1&&(F=void 0),R===-1&&(R=void 0),F!==void 0&&F++,R!==void 0&&R++,L===""&&(L=void 0);let{functionName:z}=k,{category:Q,isJS:ie,relevantForJS:me}=l(z,L!==void 0||F!==void 0),M=o.indexForString(z!==""?z:"(anonymous)"),G=ie&&L?n.indexForSource(null,L):null,B=ie?n.indexForURIResource(L||"<unknown>"):-1,A=n.indexForFunc(M,ie,me,B,G,F===void 0?null:F,R===void 0?null:R),K=N-1,Z=h.get(O);if(Z===void 0)throw new Error("Unable to find the prefix stack index from a node index.");a.address[K]=-1,a.category[K]=Q,a.subcategory[K]=0,a.func[K]=A,a.nativeSymbol[K]=null,a.innerWindowID[K]=0,a.line[K]=F===void 0?null:F,a.column[K]=R===void 0?null:R,a.length=Math.max(a.length,K+1),i.frame.push(K),i.prefix.push(Z),h.set(N,i.length++)}}for(let I=0;I<S.length;I++){let C=S[I];if(m.lastSeenTime+=x[I]/1e3,m.lastSeenTime-m.lastSampledTime>=r.meta.interval){m.lastSampledTime=m.lastSeenTime;let k=$(h.get(C),"Could not find the stack information for a sample when decoding a Chrome profile.");$(w.eventDelay,"Could not find the eventDelay in samplesTable inside the newly created Chrome profile thread.").push(null),w.stack.push(k),$(w.time).push(m.lastSampledTime),w.length++}}}}if(xZ(i),await TZ(c,d,t,r,t.get("Screenshot")??[],o),wZ(c,d,t,r,o),r.meta.profilingStartTime===void 0&&r.meta.profilingEndTime===void 0&&t.has("TracingStartedInBrowser")){let p=$(t.get("TracingStartedInBrowser"))[0];if(p.ts!==void 0&&Number.isFinite(p.ts)){let m=-1/0;r.threads.forEach(f=>{let h=Sl(f,r.meta.interval);m=Math.max(m,h.end)}),r.meta.profilingStartTime=p.ts/1e3,r.meta.profilingEndTime=m}}if(e){let p=/(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})/g,m,f;for(;(f=p.exec(e))!==null;)m=f;if(m){let[,h,b,g,y,v,S]=m,x=`${h}-${b}-${g}T${y}:${v}:${S}`,w=new Date(x);r.meta.startTime=w.getTime()-(r.meta.profilingStartTime??0)}}r.threads.sort((p,m)=>{let f=d.get(p),h=d.get(m);if(!f||!h)throw console.error({threadA:p,threadB:m}),new Error("Unexpected thread");if(f.pid===h.pid){if(f.threadSortIndex!==h.threadSortIndex)return f.threadSortIndex-h.threadSortIndex}else if(f.processSortIndex!==h.processSortIndex)return f.processSortIndex-h.processSortIndex;return f.tieBreakerIndex-h.tieBreakerIndex});let{shared:u}=n.finish();return r.shared=u,r}async function TZ(t,e,r,n,o,a){if(o.length===0)return;let{thread:i}=$C(t,e,r,n,o[0]),s=$(n.meta.categories).findIndex(l=>l.name==="Graphics");if(s===-1)throw new Error("Could not find the Graphics category in the profile's category list.");for(let l of o){let c="data:image/jpg;base64,"+l.args.snapshot,d=await SZ(c);d!==null&&(i.markers.data.push({type:"CompositorScreenshot",url:a.indexForString(c),windowID:"id",windowWidth:d.width,windowHeight:d.height}),i.markers.name.push(a.indexForString("CompositorScreenshot")),i.markers.startTime.push(l.ts/1e3),i.markers.endTime.push(null),i.markers.phase.push(0),i.markers.category.push(s),i.markers.length++)}}function SZ(t){return new Promise(e=>{let r=new Image;r.src=t,r.addEventListener("load",()=>{e({width:r.width,height:r.height})}),r.addEventListener("error",()=>{e(null)})})}function xZ(t){let e=new Set([null]);for(let r=0;r<t.length;r++){if(!e.has(t.prefix[r]))throw new Error("The stack ordering is incorrect");e.add(r)}}function wZ(t,e,r,n,o){let a=$(n.meta.categories).findIndex(d=>d.name==="Other");if(a===-1)throw new Error('No "Other" category in empty profile category list');let i=new Map,s=$(n.meta.categories);for(let d=0;d<s.length;d++)i.set(s[d].name,d);function l(d){let u=i.get(d);if(u!==void 0)return u;let p=s.length;return s.push({name:d,color:"grey",subcategories:["Other"]}),i.set(d,p),p}n.meta.markerSchema=[{name:"EventDispatch",chartLabel:"{marker.data.type2}",tooltipLabel:"{marker.data.type2} - EventDispatch",tableLabel:"{marker.data.type2}",display:["marker-chart","marker-table","timeline-overview"],fields:[{key:"type2",label:"Event Type",format:"string"}]}];let c=!1;for(let[d,u]of r.entries())if(!(d==="Profile"||d==="ProfileChunk"||d==="CpuProfile")){for(let p of u)if(!(p.ts===void 0||!Number.isFinite(p.ts))&&(p.ph==="X"&&p.dur!==void 0&&Number.isFinite(p.dur)||p.ph==="B"||p.ph==="E"||p.ph==="b"||p.ph==="n"||p.ph==="e"||p.ph==="i"||p.ph==="I"||p.ph==="R")){let m=p.ts/1e3,f=$C(t,e,r,n,p),{thread:h}=f,{markers:b}=h,g=null;"args"in p&&p.args&&typeof p.args=="object"&&(p.args.data?g=p.args.data:"detail"in p.args&&typeof p.args.detail=="string"&&(g={detail:p.args.detail})),b.name.push(o.indexForString(d)),g&&"type"in g&&(g.type2=g.type),g&&"category"in g&&(g.category2=g.category),g?.detail&&!c&&(n.meta.markerSchema.push({name:"EventWithDetail",chartLabel:"{marker.data.detail}",tooltipLabel:"{marker.name}: {marker.data.detail}",tableLabel:"{marker.data.detail}",display:["marker-chart","marker-table"],fields:[{key:"detail",label:"Details",format:"string"}]}),c=!0);let y=g?{...g,type:g?.detail?"EventWithDetail":d}:null,v=p.cat?l(p.cat):a;if(b.category.push(v),b.data.push(y),p.ph==="X"){let S=p.dur/1e3;b.phase.push(1),b.startTime.push(m),b.endTime.push(m+S)}else p.ph==="B"||p.ph==="b"?(b.startTime.push(m),b.endTime.push(null),b.phase.push(2)):p.ph==="E"||p.ph==="e"?(b.startTime.push(null),b.endTime.push(m),b.phase.push(3)):(b.startTime.push(m),b.endTime.push(null),b.phase.push(0));b.length++}}}function m2(t){if(!t||typeof t!="object"||!("dhatFileVersion"in t)||typeof t.dhatFileVersion!="number")return null;let{dhatFileVersion:e}=t;if(e!==2)throw new Error(`This importer only supports dhat version 2. The file provided was version ${e}.`);let r=t,n=Ui();n.meta.product=r.cmd+" (dhat)",n.meta.importedFrom="dhat";let o=new ba,a=o.getStringTable(),i=Dh(),{funcTable:s,stackTable:l,frameTable:c}=n.shared,d=new Map,u=0,p=0;s.name.push(a.indexForString(r.cmd)),s.isJS.push(!1),s.relevantForJS.push(!1),s.resource.push(-1),s.source.push(null),s.lineNumber.push(null),s.columnNumber.push(null);let m=s.length++;c.address.push(-1),c.line.push(null),c.column.push(null),c.category.push(u),c.subcategory.push(p),c.innerWindowID.push(null),c.nativeSymbol.push(null),c.inlineDepth.push(0),c.func.push(m);let f=c.length++;l.frame.push(f),l.prefix.push(null);let h=l.length++;for(let w of r.ftbl){let I=r.cmd,C=-1,k=null,N=null,O=w.match(/^0x([0-9a-f]+): (.+) \((?:in )?(.+?)(?::(\d+))?(?::(\d+))?\)$/i);O&&(C=parseInt(O[1],16),w=O[2],I=O[3],k=O[4]?Number(O[4]):null,N=O[5]?Number(O[5]):null);let L=`${w} ${I}`,F=d.get(L);F===void 0&&(s.name.push(a.indexForString(w)),s.isJS.push(!1),s.relevantForJS.push(!1),s.resource.push(-1),s.source.push(o.indexForSource(null,I)),s.lineNumber.push(k),s.columnNumber.push(N),F=s.length++,d.set(L,F)),c.address.push(C),c.line.push(k),c.column.push(N),c.category.push(u),c.subcategory.push(p),c.innerWindowID.push(null),c.nativeSymbol.push(null),c.inlineDepth.push(0),c.func.push(F),c.length++}let b=[],g=[],y=[],v=[],S=new Map;for(let w of r.pps){let I=0,C=h;for(let k=w.fs.length-1;k>=0;k--){let N=w.fs[k]+1,O=$(c.func[N],"Expected to find a funcIndex from a frameIndex");I=l.length;let L=S.get(C);if(L)for(let F of L){let R=l.frame[F];if(c.func[R]===O){I=F;break}}I===l.length&&(l.frame.push(N),l.prefix.push(C),L?L.push(I):S.set(C,[I]),l.length++),C=I}b.push(w.tb),g.push(w.mb),y.push(w.gb),v.push(w.eb),i.time.push(0),i.stack.push(I),i.length++}n.threads=[{name:"Total Bytes",weight:b},{name:"Maximum Bytes",weight:g},{name:"Bytes at Global Max",weight:y},{name:"Bytes at End",weight:v}].map(({name:w,weight:I},C)=>{let k=Nc();return k.pid=r.pid,k.tid=C,k.name=w,k.nativeAllocations={time:i.time.slice(),stack:i.stack.slice(),weight:I,weightType:"bytes",length:i.length},k});let{shared:x}=o.finish();return n.shared=x,n}var gb=class{_libs;_libRanges;constructor(e){this._libs=e,this._libRanges=e.map(r=>{let n=BigInt(r.start),o=BigInt(r.offset),a=BigInt(r.end);return{baseAddress:n-o,start:n,end:a}})}locateAddress(e){let r=BigInt(e),n=this._libRanges,o=0,a=n.length-1;for(;o<=a;){let i=(o+a)/2|0;if(r>=n[i].end)o=i+1;else if(r<n[i].start)a=i-1;else{let s=i,l=r-n[s].baseAddress;return{lib:this._libs[s],relativeAddress:Number(l)}}}return{lib:null,relativeAddress:parseInt(e,16)}}};function f2(t,e,r){function n(i,s){if(i!==s){for(let l in t)if(l!=="length"){let c=t[l],d=c[i];c[i]=c[s],c[s]=d}}}function o(i,s,l){let c=e[i],d=s,u=i;for(let p=s;p<=l;p++)r(e[p],c)<0&&(n(p,d),d===u&&(u=p),d++);return n(d,u),d}function a(i,s){if(i<s){let l=i+s>>1,c=o(l,i,s);a(i,c-1),a(c+1,s)}}return a(0,t.length-1),t}var kZ=0;function b2(t,e){if(!t||typeof t!="object")return null;let{meta:r}=t;if(!r||typeof r!="object")return null;if(typeof r.preprocessedProfileVersion!="number"){let{threads:a}=t;if(!a||!Array.isArray(a))return null;let[i]=a;if(!i||typeof i!="object"||!i.stringArray)return null}let n=typeof r.preprocessedProfileVersion=="number"?r.preprocessedProfileVersion:kZ;if(n===60)return t;if(n>60)throw new Error(`Unable to parse a processed profile of version ${n}, most likely profiler.firefox.com needs to be refreshed. The most recent version understood by this version of profiler.firefox.com is version ${60}.
|
|
64
|
+
You can try refreshing this page in case profiler.firefox.com has updated in the meantime.`);for(let a=n+1;a<=60;a++)a in y2&&y2[a](t,e);let o=t;return o.meta.preprocessedProfileVersion=60,o}function IZ(t){return t==="x86_64-gcc3"?"x86_64":t}function CZ(t){if(t){let e=t.split(" -> ");return e[e.length-1]}return t}function h2(t){for(let e of t.threads)for(let r=0;r<e.markers.length;r++){let n=e.markers.data[r],o=e.processType==="default"?0:e.processStartupTime;if(n){if("stack"in n&&n.stack&&n.stack.samples.data.length>0){let a=n.stack,i=a.samples.data[0][a.samples.schema.stack],s=a.samples.data[0][a.samples.schema.time];i!==null&&(n.cause={time:s+o,stack:i})}delete n.stack}}}function g2(t){let e=[["DOMEvent","DOM"],["Navigation::DOMComplete","DOM"],["Navigation::DOMInteractive","DOM"],["Navigation::Start","DOM"],["UserTiming","DOM"],["CC","GC / CC"],["GCMajor","GC / CC"],["GCMinor","GC / CC"],["GCSlice","GC / CC"],["Paint","Graphics"],["VsyncTimestamp","Graphics"],["CompositorScreenshot","Graphics"],["JS allocation","JavaScript"],["Styles","Layout"],["nsRefreshDriver::Tick waiting for paint","Layout"],["Navigation","Network"],["Network","Network"],["firstLoadURI","Other"],["IPC","Other"],["Text","Other"],["MainThreadLongTask","Other"],["FileIO","Other"],["Log","Other"],["PreferenceRead","Other"],["BHR-detected hang","Other"],["MainThreadLongTask","Other"]];for(let o of[{name:"Idle",color:"transparent",subcategories:["Other"]},{name:"Other",color:"grey",subcategories:["Other"]},{name:"Layout",color:"purple",subcategories:["Other"]},{name:"JavaScript",color:"yellow",subcategories:["Other"]},{name:"GC / CC",color:"orange",subcategories:["Other"]},{name:"Network",color:"lightblue",subcategories:["Other"]},{name:"Graphics",color:"green",subcategories:["Other"]},{name:"DOM",color:"blue",subcategories:["Other"]}])t.meta.categories.findIndex(i=>i.name===o.name)===-1&&t.meta.categories.push(o);let r=t.meta.categories.findIndex(o=>o.name==="Other"),n=new Map(e.map(([o,a])=>{let i=t.meta.categories.findIndex(s=>s.name===a);if(i===-1)throw new Error("Could not find a category index to map to.");return[o,i]}));for(let o of t.threads){let{markers:a,stringArray:i}=o;a.category||(a.category=[]);for(let s=0;s<a.length&&typeof a.category[s]!="number";s++){let l=a.name[s],c=a.data[s],d=i[l];c&&c.type&&(d=c.type==="tracing"?c.category:c.type);let u=n.get(d);u===void 0&&(u=r),a.category[s]=u}}}var y2={1:t=>{ct("sorting thread markers",()=>{for(let e of t.threads)f2(e.markers,e.markers.time,(r,n)=>r-n)});for(let e of t.threads)"processType"in e||(e.name==="Content"?(e.processType="tab",e.name="GeckoMain"):e.name==="Plugin"?e.processType="plugin":e.processType="default")},2:t=>{for(let e of t.threads)for(let r of e.libs)"debugName"in r||(r.debugName=r.pdbName,r.path=r.name,r.name=r.debugName.endsWith(".pdb")?r.debugName.substr(0,r.debugName.length-4):r.debugName,r.arch=IZ(t.meta.abi),delete r.pdbName,delete r.pdbAge,delete r.pdbSignature)},3:t=>{for(let e of t.threads)for(let r of e.libs)r.debugPath=r.debugPath||""},4:t=>{t.threads.forEach(e=>{let{funcTable:r,stringArray:n,resourceTable:o}=e,a=tt.withBackingArray(n),i={length:0,type:[],name:[],lib:[],icon:[],addonId:[],host:[]};function s(p,m){let f=i.length++;i.type[f]=pt.library,i.name[f]=p,i.lib[f]=m}function l(p,m){let f=i.length++;i.type[f]=pt.webhost,i.name[f]=p,i.host[f]=m}function c(p){let m=i.length++;i.type[m]=pt.url,i.name[m]=p}let d=new Map,u=new Map;for(let p=0;p<o.length;p++)if(o.type[p]===pt.library)d.set(p,i.length),s(o.name[p],o.lib[p]);else if(o.type[p]===pt.url){let m=a.getString(o.name[p]),f=null,h,b;try{let g=new URL(m);if(!(g.protocol==="http:"||g.protocol==="https:"))throw new Error("not a webhost protocol");h=g.origin,b=g.host}catch{h=m,b=null}if(u.has(h))f=u.get(h);else{f=i.length,u.set(h,f);let g=a.indexForString(h);if(b){let y=a.indexForString(b);l(g,y)}else{let y=a.indexForString(m);c(y)}}d.set(p,f)}r.fileName=[],r.lineNumber=[];for(let p=0;p<r.length;p++){let m=r.resource[p];d.has(m)&&(r.resource[p]=d.get(m));let f=null,h=null;if(r.isJS[p]){let b=a.getString(r.name[p]),g=/^(.*) \((.*):([0-9]+)\)$/.exec(b)||/^()(.*):([0-9]+)$/.exec(b);if(g){let y=CZ(g[2]);g[1]?r.name[p]=a.indexForString(g[1]):r.name[p]=a.indexForString(y),f=a.indexForString(y),h=Number(g[3])|0}}r.fileName[p]=f,r.lineNumber[p]=h}e.resourceTable=i})},5:t=>{for(let e of t.threads)delete e.samples.frameNumber},6:t=>{for(let e of t.threads){let{stringArray:r,markers:n}=e,o=[];for(let a=0;a<n.length;a++){let i=r[n.name[a]],s=n.data[a];i==="DOMEvent"?o[a]={type:"DOMEvent",startTime:s.startTime,endTime:s.endTime,eventType:s.type,phase:s.phase}:o[a]=s}e.markers.data=o}},7:t=>{for(let e of t.threads)e.pausedRanges=[],e.processStartupTime=0,e.processShutdownTime=null,e.registerTime=0,e.unregisterTime=null},8:t=>{for(let e of t.threads){if(e.processType==="default")continue;let{stringArray:r,markers:n}=e,o=[];for(let a=0;a<n.length;a++){let i=r[n.name[a]],s=n.data[a];i==="DOMEvent"&&s.timeStamp?o[a]={type:"DOMEvent",startTime:s.startTime,endTime:s.endTime,timeStamp:s.timeStamp+e.processStartupTime,eventType:s.eventType,phase:s.phase}:o[a]=s}e.markers.data=o}},9:t=>{function e(a){if("timings"in a&&!("status"in a.timings)){let i=a.timings;i.status="completed",Array.isArray(i.sices)&&(i.slices_list=i.slices,i.slices=i.slices.length),i.allocated_bytes=i.allocated*1024*1024}return a}function r(a){let i=e(a),s=i.timings;switch(s.status){case"completed":{let{totals:l,...c}=s,d={...c,phase_times:o(l),mmu_20ms:s.mmu_20ms/100,mmu_50ms:s.mmu_50ms/100};return{type:"GCMajor",startTime:i.startTime,endTime:i.endTime,timings:d}}case"aborted":return{type:"GCMajor",startTime:i.startTime,endTime:i.endTime,timings:{status:"aborted"}};default:throw console.log("Unknown GCMajor status"),new Error("Unknown GCMajor status")}}function n(a){if("nursery"in a){if("status"in a.nursery)return a.nursery.status==="no collection"&&(a.nursery.status="nursery empty"),Object.assign(a);let i=Object.assign(a,{nursery:Object.assign(a.nursery,{status:"complete",bytes_used:a.nursery.nursery_bytes,new_capacity:a.nursery.new_nursery_bytes,phase_times:a.nursery.timings})});return delete i.nursery.nursery_bytes,delete i.nursery.new_nursery_bytes,delete i.nursery.timings,i}return a}function o(a){let i={};for(let s in a)i[s]=a[s]*1e3;return i}for(let a of t.threads)for(let i=0;i<a.markers.length;i++){let s=a.markers.data[i];if(s){switch(s.type){case"GCMinor":s=n(s);break;case"GCSlice":s.timings&&s.timings.times&&(s.timings.phase_times=o(s.timings.times),delete s.timings.times);break;case"GCMajor":s=r(s);break;default:break}a.markers.data[i]=s}}},10:t=>{h2(t)},11:t=>{for(let e of t.threads){let{stringArray:r,markers:n}=e;if(n.length===0)continue;let o=[];for(let a=0;a<n.length;a++){let i=r[n.name[a]],s=n.data[a];i==="DOMEvent"&&(n.data[a]={type:"tracing",category:"DOMEvent",timeStamp:s.timeStamp,interval:"start",eventType:s.eventType,phase:s.phase},o.push({data:{type:"tracing",category:"DOMEvent",timeStamp:s.timeStamp,interval:"end",eventType:s.eventType,phase:s.phase},time:s.endTime,name:n.name[a]}))}if(o.length>0){o.sort((d,u)=>d.time-u.time);let a={length:0,name:[],time:[],data:[]},i=0,s=n.time[0],l=0,c=o[0].time;for(;i<n.length||l<o.length;)s<=c?(a.name.push(n.name[i]),a.time.push(n.time[i]),a.data.push(n.data[i]),a.length++,i++,s=i<n.length?n.time[i]:1/0):(a.name.push(o[l].name),a.time.push(o[l].time),a.data.push(o[l].data),a.length++,l++,c=l<o.length?o[l].time:1/0);e.markers=a}}},12:t=>{t.meta.categories=[{name:"Idle",color:"transparent"},{name:"Other",color:"grey"},{name:"JavaScript",color:"yellow"},{name:"Layout",color:"purple"},{name:"Graphics",color:"green"},{name:"DOM",color:"blue"},{name:"GC / CC",color:"orange"},{name:"Network",color:"lightblue"}];let e=0,r=1,n=2,o=3,a=4,i=5,s=6,c={16:r,32:o,64:n,128:s,256:s,512:7,1024:a,2048:r,4096:r},d=new Map([["-[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]",e],["base::MessagePumpDefault::Run(base::MessagePump::Delegate*)",e],["mozilla::widget::WinUtils::WaitForMessage(unsigned long)",e],["mozilla::ThreadEventQueue<mozilla::PrioritizedEventQueue<mozilla::LabeledEventQueue> >::GetEvent(bool,mozilla::EventPriority *)",e],["mozilla::ThreadEventQueue<mozilla::PrioritizedEventQueue<mozilla::EventQueue> >::GetEvent(bool,mozilla::EventPriority *)",e],["mozilla::ThreadEventQueue<mozilla::EventQueue>::GetEvent(bool,mozilla::EventPriority *)",e],["mozilla::layers::PaintThread::AsyncPaintContents(mozilla::layers::CompositorBridgeChild *,mozilla::layers::CapturedPaintState *,bool (*)(mozilla::layers::CapturedPaintState *))",a],["PresShell::DoFlushPendingNotifications InterruptibleLayout",o],["nsRefreshDriver::Tick",o],["nsLayoutUtils::GetFrameForPoint",o],["nsAppShell::ProcessGeckoEvents",r],["PollWrapper(_GPollFD*, unsigned int, int)",e],["mozilla::image::DecodePoolImpl::PopWorkLocked(bool)",e],["nsCCUncollectableMarker::Observe(nsISupports*, char const*, char16_t const*)",s],["g_main_context_dispatch",r],["Events::ProcessGeckoEvents",r],["widget::ChildView::drawUsingOpenGL",r],["nsContentSink::StartLayout(bool)",o],["Paint::PresShell::Paint",a],["JS::EvaluateString",n],["js::RunScript",n]]),u=new Map([["PresShell::DoFlushPendingNotifications",o],["PresShell::DoReflow",o],["layout::DoReflow",o],["JS::Compile",n]]);function p(h){let b=h.indexOf(" ");return b===-1?h:h.substr(0,b)}function m(h){let b=d.get(h);return b!==void 0?b:u.get(p(h))}let f=/^(get |set )?\w+(\.\w+| constructor)$/;for(let h of t.threads){let{frameTable:b,funcTable:g,stringArray:y}=h;for(let v=0;v<b.length;v++){let S=b.func[v],x=y[g.name[S]],w=m(x);if(w!==void 0)b.category[v]=w;else{let I=b.category[v];if(I!==null)if(!g.isJS[S]&&f.test(x))b.category[v]=i;else{let C=I in c?c[I]:1;b.category[v]=C}}}}},13:t=>{let{meta:e,threads:r}=t,n=e.categories.findIndex(o=>o.color==="grey");for(let o of r){let{stackTable:a,frameTable:i}=o;a.category=new Array(a.length);for(let s=0;s<a.length;s++){let l=a.frame[s],c=i.category[l];if(c!==null)a.category[s]=c;else{let d=a.prefix[s];d!==null?a.category[s]=a.category[d]:a.category[s]=n}}}},14:t=>{let{threads:e}=t;for(let r=0;r<e.length;r++){let n=e[r];(n.pid===null||n.pid===void 0)&&(n.pid=`Unknown Process ${r+1}`)}},15:t=>{for(let e of t.threads){e.frameTable.column=new Array(e.frameTable.length);for(let r=0;r<e.frameTable.length;r++)e.frameTable.column[r]=null}},16:t=>{for(let e of t.threads){let{stringArray:r,markers:n}=e,o=[];for(let a=0;a<n.length;a++){let i=r[n.name[a]],s=n.data[a];switch(i){case"VsyncTimestamp":o[a]={type:"VsyncTimestamp",vsync:s.vsync};break;case"LayerTranslation":o[a]={type:"LayerTranslation",layer:s.layer,x:s.x,y:s.y};break;case"CompositorScreenshot":o[a]={type:"CompositorScreenshot",url:s.url,windowID:s.windowID,windowWidth:s.windowWidth,windowHeight:s.windowHeight};break;default:o[a]=s;break}}e.markers.data=o}},17:t=>{let e=/^(get |set )?\w+(\.\w+| constructor)$/;for(let r of t.threads){let{funcTable:n,stringArray:o}=r,a=tt.withBackingArray(o);n.relevantForJS=new Array(n.length);for(let i=0;i<n.length;i++){let s=a.getString(n.name[i]);s.startsWith("AutoEntryScript ")?(n.name[i]=a.indexForString(s.substring(16)),n.relevantForJS[i]=!0):n.relevantForJS[i]=e.test(s)}}},18:t=>{for(let e of t.threads){let{funcTable:r,stringArray:n}=e,o=tt.withBackingArray(n);r.columnNumber=[];for(let a=0;a<e.funcTable.length;a++)if(r.columnNumber[a]=null,r.isJS[a]){let i=r.fileName[a];if(i!==null){let s=o.getString(i),l=/^(.*):([0-9]+)$/.exec(s);l&&(r.columnNumber[a]=r.lineNumber[a],r.fileName[a]=o.indexForString(l[1]),r.lineNumber[a]=parseInt(l[2],10))}}}},19:t=>{for(let e of t.threads){let r=e.markers,n=e.processStartupTime;for(let o=0;o<e.markers.length;o++){let a=r.data[o];a&&"type"in a&&a.type==="Network"&&(a.domainLookupStart&&(a.domainLookupStart+=n),a.domainLookupEnd&&(a.domainLookupEnd+=n),a.connectStart&&(a.connectStart+=n),a.tcpConnectEnd&&(a.tcpConnectEnd+=n),a.secureConnectionStart&&(a.secureConnectionStart+=n),a.connectEnd&&(a.connectEnd+=n),a.requestStart&&(a.requestStart+=n),a.responseStart&&(a.responseStart+=n),a.responseEnd&&(a.responseEnd+=n))}}},20:t=>{},21:t=>{h2(t)},22:t=>{for(let e of t.threads){let{stringArray:r}=e,n=tt.withBackingArray(r);if(!n.hasString("DiskIO"))continue;let o=n.indexForString("FileIO");for(let a=0;a<e.markers.length;a++){let i=e.markers.data[a];i&&i.type==="DiskIO"&&(i.type="FileIO",e.markers.name[a]=o)}}},23:t=>{for(let e of t.meta.categories)e.subcategories=["Other"];for(let e of t.threads){let{frameTable:r,stackTable:n}=e;r.subcategory=r.category.map(o=>o===null?null:0),n.subcategory=n.category.map(o=>o===null?null:0)}},24:t=>{g2(t)},25:t=>{if(t.pages&&t.pages.length>0){let e=new Map,r=new Map,n=1,o=1;for(let a of t.pages){e.set(`d${a.docshellId}h${a.historyId}`,o);let i=r.get(a.docshellId);i||(i=n++,r.set(a.docshellId,i)),a.browsingContextID=i,a.innerWindowID=o,a.embedderInnerWindowID=0,o++,delete a.docshellId,delete a.historyId,delete a.isSubFrame}for(let a of t.threads){let{markers:i}=a;i.data=i.data.map(s=>{if(s&&s.docShellId!==void 0&&s.docshellHistoryId!==void 0){let l=e.get(`d${s.docShellId}h${s.docshellHistoryId}`);l===void 0?console.error("No page found with given docShellId and historyId"):s.innerWindowID=l,delete s.docShellId,delete s.docshellHistoryId}return s})}}},26:t=>{if(t.counters&&t.counters.length>0)for(let e of t.counters)e.sampleGroups=[e.sampleGroups]},27:t=>{for(let e of t.threads){let{frameTable:r}=e;r.innerWindowID=new Array(r.length).fill(0)}},28:t=>{for(let e of t.threads){let{markers:r}=e;if(r.category[0]===null){g2(t);return}}},29:t=>{for(let e of t.threads)e.samples.duration&&(e.samples.weightType="samples",e.samples.weight=e.samples.duration,delete e.samples.duration),e.nativeAllocations&&(e.nativeAllocations.weightType="bytes",e.nativeAllocations.weight=e.nativeAllocations.duration,delete e.nativeAllocations.duration),e.jsAllocations&&(e.jsAllocations.weightType="bytes",e.jsAllocations.weight=e.jsAllocations.duration,delete e.jsAllocations.duration),e.samples.weight||(e.samples.weight=null),e.samples.weightType||(e.samples.weightType="samples")},30:t=>{for(let{markers:a}of t.threads){let i=a.time,s=[],l=[],c=[];delete a.time,a.startTime=s,a.endTime=l,a.phase=c;for(let d=0;d<a.length;d++){let u=a.data[d],p=i[d],m=p,f=null,h=0;if(u){let{startTime:b,endTime:g,type:y,interval:v}=u;y==="tracing"?v==="start"?(m=p,f=null,h=2):(m=null,f=p,h=3):b!==g&&typeof b=="number"&&typeof g=="number"&&(m=b,f=g,h=1),u.type!=="IPC"&&u.type!=="Network"&&(delete u.startTime,delete u.endTime)}s.push(m),l.push(f),c.push(h)}}},31:t=>{for(let{markers:r}of t.threads)for(let n=0;n<r.length;n++){let o=r.data[n];if(o){let{type:a,interval:i}=o;a==="tracing"&&i!=="start"&&i!=="end"&&(r.phase[n]=0,r.startTime[n]=r.endTime[n],r.endTime[n]=null)}}},32:t=>{for(let{markers:e}of t.threads)for(let r=0;r<e.length;r++){let n=e.data[r];if(n&&n.type==="tracing"&&n.category==="DOMEvent"){let o=e.startTime[r];n.type="DOMEvent",n.timeStamp!==void 0&&o!==null&&(n.latency=o-n.timeStamp),delete n.timeStamp}}},33:t=>{t.meta.markerSchema=[{name:"GCMajor",display:["marker-chart","marker-table","timeline-memory"],data:[]},{name:"GCMinor",display:["marker-chart","marker-table","timeline-memory"],data:[]},{name:"GCSlice",display:["marker-chart","marker-table","timeline-memory"],data:[]},{name:"CC",tooltipLabel:"Cycle Collect",display:["marker-chart","marker-table","timeline-memory"],data:[]},{name:"FileIO",display:["marker-chart","marker-table"],data:[{key:"operation",label:"Operation",format:"string",searchable:!0},{key:"source",label:"Source",format:"string",searchable:!0},{key:"filename",label:"Filename",format:"file-path",searchable:!0}]},{name:"MediaSample",display:["marker-chart","marker-table"],data:[{key:"sampleStartTimeUs",label:"Sample start time",format:"microseconds"},{key:"sampleEndTimeUs",label:"Sample end time",format:"microseconds"}]},{name:"Styles",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"elementsTraversed",label:"Elements traversed",format:"integer"},{key:"elementsStyled",label:"Elements styled",format:"integer"},{key:"elementsMatched",label:"Elements matched",format:"integer"},{key:"stylesShared",label:"Styles shared",format:"integer"},{key:"stylesReused",label:"Styles reused",format:"integer"}]},{name:"PreferenceRead",display:["marker-chart","marker-table"],data:[{key:"prefName",label:"Name",format:"string"},{key:"prefKind",label:"Kind",format:"string"},{key:"prefType",label:"Type",format:"string"},{key:"prefValue",label:"Value",format:"string"}]},{name:"UserTiming",tooltipLabel:"{marker.data.name}",chartLabel:"{marker.data.name}",tableLabel:"{marker.data.name}",display:["marker-chart","marker-table"],data:[{label:"Marker",value:"UserTiming"},{key:"entryType",label:"Entry Type",format:"string"},{label:"Description",value:"UserTiming is created using the DOM APIs performance.mark() and performance.measure()."}]},{name:"Text",tableLabel:"{marker.name} \u2014\xA0{marker.data.name}",chartLabel:"{marker.name} \u2014\xA0{marker.data.name}",display:["marker-chart","marker-table"],data:[{key:"name",label:"Details",format:"string"}]},{name:"Log",display:["marker-table"],tableLabel:"({marker.data.module}) {marker.data.name}",data:[{key:"module",label:"Module",format:"string"},{key:"name",label:"Name",format:"string"}]},{name:"DOMEvent",tooltipLabel:"{marker.data.eventType} \u2014 DOMEvent",tableLabel:"{marker.data.eventType}",chartLabel:"{marker.data.eventType}",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"latency",label:"Latency",format:"duration"}]},{name:"Paint",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"category",label:"Type",format:"string"}]},{name:"Navigation",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"category",label:"Type",format:"string"}]},{name:"Layout",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"category",label:"Type",format:"string"}]},{name:"IPC",tooltipLabel:"IPC \u2014\xA0{marker.data.niceDirection}",tableLabel:"{marker.name} \u2014 {marker.data.messageType} \u2014 {marker.data.niceDirection}",chartLabel:"{marker.data.messageType}",display:["marker-chart","marker-table","timeline-ipc"],data:[{key:"messageType",label:"Type",format:"string"},{key:"sync",label:"Sync",format:"string"},{key:"sendThreadName",label:"From",format:"string"},{key:"recvThreadName",label:"To",format:"string"}]},{name:"RefreshDriverTick",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"name",label:"Tick Reasons",format:"string"}]},{name:"Network",display:["marker-table"],data:[]}]},34:t=>{for(let e of t.threads){let r=e.processStartupTime,{markers:n}=e;for(let o of n.data)o&&o.type!=="tracing"&&o.type!=="Styles"&&o.cause&&o.cause.time!==void 0&&(o.cause.time+=r)}},35:t=>{if(t.meta.configuration&&t.meta.configuration.activeBrowsingContextID&&(t.meta.configuration.activeTabID=t.meta.configuration.activeBrowsingContextID,delete t.meta.configuration.activeBrowsingContextID),t.pages&&t.pages.length>0)for(let e of t.pages)e.tabID=e.browsingContextID,delete e.browsingContextID},36:t=>{for(let e of t.threads){let r={libIndex:[],address:[],name:[],length:0},{frameTable:n,funcTable:o,resourceTable:a}=e,i=new Map;for(let s=0;s<o.length;s++){let l=o.resource[s];if(l===-1||a.type[l]!==pt.library)continue;let d=a.lib[l];if(d==null||d===-1)continue;let u=o.address[s],p=r.length;r.libIndex.push(d),r.address.push(u===-1?null:u),r.name.push(o.name[s]),r.length++,i.set(s,p)}delete o.address,n.nativeSymbol=n.func.map(s=>i.get(s)??null),e.nativeSymbols=r}},37:t=>{for(let e of t.threads)e.name==="Java Main Thread"&&(e.name="AndroidUI (JVM)")},38:t=>{for(let e of t.threads){let r=new Set,n=new Set,{samples:o,markers:a,jsAllocations:i,nativeAllocations:s,stackTable:l,frameTable:c}=e;for(let y=0;y<o.length;y++){let v=o.stack[y];v!==null&&r.add(v)}for(let y=0;y<a.length;y++){let v=a.data[y];if(v&&v.cause){let S=v.cause.stack;S!==null&&n.add(S)}}if(i!==void 0)for(let y=0;y<i.length;y++){let v=i.stack[y];v!==null&&n.add(v)}if(s!==void 0)for(let y=0;y<s.length;y++){let v=s.stack[y];v!==null&&n.add(v)}let d=new Uint32Array(c.length),u=new Set;for(let y of r){let v=l.frame[y];d[v]=v,c.address[v]!==-1&&u.add(v)}let p=new Map,m=new Set;for(let y of n){let v=l.frame[y],S=c.address[v];S!==-1&&p.set(v,S)}for(let y=0;y<l.length;y++){let v=l.prefix[y];if(v===null||m.has(v))continue;m.add(v);let S=l.frame[v],x=c.address[S];x!==-1&&p.set(S,x)}if(u.size===0&&p.size===0)continue;for(let[y,v]of p){if(u.has(y)){let S=c.length;c.address.push(v),c.category.push(c.category[y]),c.subcategory.push(c.subcategory[y]),c.func.push(c.func[y]),c.nativeSymbol.push(c.nativeSymbol[y]),c.innerWindowID.push(c.innerWindowID[y]),c.implementation.push(c.implementation[y]),c.line.push(c.line[y]),c.column.push(c.column[y]),c.optimizations.push(c.optimizations[y]),c.length++,d[y]=S}c.address[y]=v-1}let f={frame:[],prefix:[],category:[],subcategory:[],length:0},h=new Map,b=new Map,g=new Uint32Array(l.length);for(let y=0;y<l.length;y++){let v=l.frame[y],S=l.category[y],x=l.subcategory[y],w=l.prefix[y],I=w===null?null:g[w];if(m.has(y)||n.has(y)){let C=f.length;f.frame.push(v),f.category.push(S),f.subcategory.push(x),f.prefix.push(I),f.length++,g[y]=C,b.set(y,C)}if(r.has(y)){let C=d[v],k=f.length;f.frame.push(C),f.category.push(S),f.subcategory.push(x),f.prefix.push(I),f.length++,h.set(y,k)}}e.stackTable=f,o.stack=o.stack.map(y=>y===null?null:h.get(y)??null),a.data.forEach(y=>{y&&"cause"in y&&y.cause&&(y.cause.stack=b.get(y.cause.stack))}),i!==void 0&&(i.stack=i.stack.map(y=>y===null?null:b.get(y)??null)),s!==void 0&&(s.stack=s.stack.map(y=>y===null?null:b.get(y)??null))}},39:t=>{for(let e of t.threads)e.samples.threadCPUDelta&&(e.samples.threadCPUDelta.some(n=>n!==null)||delete e.samples.threadCPUDelta)},40:t=>{for(let e of t.threads)e.frameTable.inlineDepth=Array(e.frameTable.length).fill(0)},41:t=>{let e=[],r=new Map;for(let n of t.threads){let{libs:o,resourceTable:a,nativeSymbols:i,stringArray:s}=n,l=tt.withBackingArray(s),c=new Map;delete n.libs;let d=u=>{let p=c.get(u);if(p===void 0){let m=o[u],{debugName:f,breakpadId:h}=m,b=`${f}/${h}`;if(p=r.get(b),p===void 0){p=e.length;let{arch:g,name:y,path:v,debugPath:S,codeId:x}=m;e.push({arch:g,name:y,path:v,debugName:f,debugPath:S,breakpadId:h,codeId:x??null}),r.set(b,p)}c.set(u,p)}return p};for(let u=0;u<a.length;u++){let p=a.name[u];(p===-1||p===void 0||p===null)&&(a.name[u]=l.indexForString("<unnamed resource>"));let m=a.host[u];(m===-1||m===void 0)&&(a.host[u]=null);let f=a.lib[u];if(f==null||f===-1){a.lib[u]=null;continue}let h=d(f);a.lib[u]=h}for(let u=0;u<i.length;u++){let p=i.libIndex[u],m=d(p);i.libIndex[u]=m}}t.libs=e},42:t=>{for(let e of t.threads){let{nativeSymbols:r}=e;r.functionSize=Array(r.length).fill(null)}},43:t=>{},44:t=>{for(let e of t.meta.markerSchema){let r;switch(e.name){case"FileIO":{e.data.push({key:"threadId",label:"Thread ID",format:"string",searchable:!0}),r=[];break}case"Log":{r=["name","module"];break}case"DOMEvent":{e.data.push({key:"eventType",label:"Event Type",format:"string",searchable:!0}),r=["target"];break}case"TraceEvent":{r=["name1","name2","val1","val2"];break}default:{r=["name","category"];break}}for(let n of e.data)r.includes(n.key)&&(n.searchable=!0)}},45:t=>{for(let e of t.threads)delete e.frameTable.optimizations},46:t=>{for(let e of t.threads)e.isMainThread=e.name==="GeckoMain"||typeof e.pid=="string"||String(e.pid)===e.tid},47:t=>{for(let e of t.threads){e.pid=`${e.pid}`;for(let r of e.markers.data)r&&r.type==="IPC"&&(r.otherPid=`${r.otherPid}`)}if(t.counters)for(let e of t.counters)e.pid=`${e.pid}`;if(t.profilerOverhead)for(let e of t.profilerOverhead)e.pid=`${e.pid}`},48:t=>{if(t.counters&&t.counters.length>0)for(let e of t.counters)e.samples=e.sampleGroups[0].samples,delete e.sampleGroups},49:t=>{},50:t=>{},51:t=>{},52:t=>{let e=new Set(t.meta.markerSchema.map(i=>i.name)),r="tracingCCFrom52Upgrader",n=e.has("CC"),o=!1,a=!1;for(let i of t.threads){let{markers:s}=i;for(let l=0;l<s.length;l++){let c=s.data[l];c&&c.type==="tracing"&&c.category&&(o=!0,n&&c.category==="CC"&&(c.type=r,a=!0,c.interval&&delete c.interval))}}o&&!e.has("tracing")&&t.meta.markerSchema.push({name:"tracing",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"category",label:"Type",format:"string"}]}),a&&t.meta.markerSchema.push({name:r,display:["marker-chart","marker-table","timeline-memory"],data:[{key:"category",label:"Type",format:"string"}]})},53:t=>{for(let e of t.threads){let{frameTable:r,stackTable:n}=e;if(r.category)r.subcategory||(r.subcategory=new Array(r.length).fill(0));else{r.category=new Array(r.length).fill(null),r.subcategory=new Array(r.length).fill(null);for(let o=0;o<n.length;o++){let a=n.frame[o];r.category[a]=n.category[o],r.subcategory[a]=n.subcategory[o]}}delete n.category,delete n.subcategory}},54:t=>{function e(r){let{categories:n}=r.meta;if(!n||n.some(s=>s.subcategories.length!==1))return;let o=n.findIndex(s=>s.name==="JavaScript");if(o===-1)return;let a=n[o].subcategories,i=new Map;for(let s of r.threads){let{frameTable:l,stringArray:c}=s;for(let d=0;d<l.length;d++){let u=l.implementation[d];if(u===null)continue;let p=c[u],m=i.get(p);m===void 0&&(m=a.length,a[m]=`JIT (${p})`,i.set(p,m)),l.category[d]=o,l.subcategory[d]=m}}}e(t);for(let r of t.threads)delete r.frameTable.implementation;delete t.meta.doesNotUseFrameImplementation},55:t=>{for(let e of t.meta.markerSchema){let r=e.data.filter(l=>l.key===void 0),n=e.data.filter(l=>l.value===void 0);if(e.fields=n,delete e.data,r.length===0)continue;let o=r.findIndex(l=>l.label==="Description");o===-1&&(o=0);let a=r[o].value;e.description=a;let s=r.filter((l,c)=>c!==o).filter(l=>l.label!=="Marker"&&l.value!=="UserTiming");s.length!==0&&console.warn(`Discarding the following static fields from marker schema "${e.name}": ${s.map(l=>l.label+": "+l.value).join(", ")}`)}},56:t=>{let e=[],r=tt.withBackingArray(e),n=new Map;n.set("CompositorScreenshot",["url"]);for(let o of t.meta.markerSchema){let{name:a,fields:i}=o,s=[];for(let l of i)(l.format==="unique-string"||l.format==="flow-id"||l.format==="terminating-flow-id")&&s.push(l.key);s.length!==0&&n.set(a,s)}for(let o of t.threads){let{markers:a,funcTable:i,nativeSymbols:s,resourceTable:l,jsTracer:c,stringArray:d}=o;for(let u=0;u<a.length;u++){let p=d[a.name[u]];a.name[u]=r.indexForString(p);let m=a.data[u];if(!m||!m.type)continue;let f=n.get(m.type);if(f!==void 0)for(let h of f){let b=m[h],g=d[b];g!==void 0&&(m[h]=r.indexForString(g))}}for(let u=0;u<i.length;u++){i.name[u]=r.indexForString(d[i.name[u]]);let p=i.fileName[u];p!==null&&(i.fileName[u]=r.indexForString(d[p]))}for(let u=0;u<s.length;u++)s.name[u]=r.indexForString(d[s.name[u]]);for(let u=0;u<l.length;u++){l.name[u]=r.indexForString(d[l.name[u]]);let p=l.host[u];p!==null&&(l.host[u]=r.indexForString(d[p]))}if(c!==void 0)for(let u=0;u<c.length;u++)c.events[u]=r.indexForString(d[c.events[u]]);delete o.stringArray}t.shared={stringArray:e}},57:t=>{for(let e of t.meta.markerSchema)for(let r of e.fields)delete r.searchable},58:t=>{let e={length:0,uuid:[],filename:[]},r=new Map;for(let n of t.threads){let{funcTable:o}=n,a=new Array(o.length);for(let i=0;i<o.length;i++){let s=o.fileName[i];if(s===null)a[i]=null;else{let l=r.get(s);l===void 0&&(l=e.length,e.uuid.push(null),e.filename.push(s),e.length++,r.set(s,l)),a[i]=l}}o.source=a,delete o.fileName}t.shared||(t.shared={}),t.shared.sources=e},59:t=>{for(let e of t.threads){let{frameTable:r,markers:n}=e,o=new Set;for(let a=0;a<r.length;a++){let i=r.innerWindowID[a];i!==null&&i!==0&&o.add(i)}for(let a=0;a<n.length;a++){let i=n.data[a];if(!i||!("innerWindowID"in i))continue;let s=i.innerWindowID;typeof s=="number"&&s!==0&&o.add(s)}o.size!==0&&(e.usedInnerWindowIDs=Array.from(o))}},60:(t,e)=>{let r=new Map,n=new Map,o=new Map,a={frame:[],prefix:[],length:0},i={address:[],inlineDepth:[],category:[],subcategory:[],func:[],nativeSymbol:[],innerWindowID:[],line:[],column:[],length:0},s={name:[],isJS:[],relevantForJS:[],resource:[],source:[],lineNumber:[],columnNumber:[],length:0},l={type:[],lib:[],name:[],host:[],length:0},c={libIndex:[],address:[],name:[],functionSize:[],length:0};function d(y){let v=new Int32Array(y.length);for(let S=0;S<y.length;S++){let x=y.libIndex[S],w=y.address[S],I=`${x}-${w}`,C=o.get(I);C===void 0&&(C=c.length++,o.set(I,C),c.libIndex[C]=x,c.address[C]=w,c.name[C]=y.name[S],c.functionSize[C]=y.functionSize[S]),v[S]=C}return v}function u(y){let v=new Int32Array(y.length);for(let S=0;S<y.length;S++){let x=y.type[S],w=y.lib[S],I=y.name[S],C=y.host[S],k=`${x}-${w!==null?w:""}-${I}-${C!==null?C:""}`,N=n.get(k);N===void 0&&(N=l.length++,n.set(k,N),l.type[N]=x,l.lib[N]=w,l.name[N]=I,l.host[N]=C),v[S]=N}return v}function p(y,v){let S=new Int32Array(y.length);for(let x=0;x<y.length;x++){let w=y.name[x],I=y.isJS[x],C=y.relevantForJS[x],k=y.resource[x],N=k!==-1?v[k]:-1,O=y.source[x],L=y.lineNumber[x],F=y.columnNumber[x],R=`${w}-${I}-${C}-${N}-${O!==null?O:""}-${L!==null?L:""}-${F!==null?F:""}`,z=r.get(R);z===void 0&&(z=s.length++,r.set(R,z),s.name[z]=w,s.isJS[z]=I,s.relevantForJS[z]=C,s.resource[z]=N,s.source[z]=O,s.lineNumber[z]=L,s.columnNumber[z]=F),S[x]=z}return S}function m(y,v,S){let x=i.length;for(let w=0;w<y.length;w++){let I=w+x;i.address[I]=y.address[w],i.inlineDepth[I]=y.inlineDepth[w],i.category[I]=y.category[w],i.subcategory[I]=y.subcategory[w],i.func[I]=v[y.func[w]];let C=y.nativeSymbol[w],k=C!==null?S[C]:null;i.nativeSymbol[I]=k,i.innerWindowID[I]=y.innerWindowID[w],i.line[I]=y.line[w],i.column[I]=y.column[w]}return i.length+=y.length,x}function f(y,v){let S=a.length;for(let x=0;x<y.length;x++){let w=x+S,I=y.frame[x]+v,C=y.prefix[x],k=C!==null?C+S:null;a.frame[w]=I,a.prefix[w]=k}return a.length+=y.length,S}function h(y,v){for(let S=0;S<y.length;S++){let x=y[S],w=x!==null?x+v:null;y[S]=w}}function b(y,v){for(let S=0;S<y.length;S++){let x=y.data[S];if(!x||!x.cause)continue;let w=x.cause.stack,I=w!=null?w+v:null;x.cause.stack=I}}let g=new Array;for(let y=0;y<t.threads.length;y++){let v=t.threads[y],S=d(v.nativeSymbols);delete v.nativeSymbols;let x=u(v.resourceTable);delete v.resourceTable;let w=p(v.funcTable,x);delete v.funcTable;let I=m(v.frameTable,w,S);delete v.frameTable;let C=f(v.stackTable,I);delete v.stackTable,h(v.samples.stack,C),v.nativeAllocations&&h(v.nativeAllocations.stack,C),v.jsAllocations&&h(v.jsAllocations.stack,C),b(v.markers,C),g[y]={funcTableIndexMap:w,resourceTableIndexMap:x}}t.shared.stackTable=a,t.shared.frameTable=i,t.shared.funcTable=s,t.shared.resourceTable=l,t.shared.nativeSymbols=c,e.v60={threadMappings:g,newFuncCount:s.length}}};var PZ=0;function v2(t){if(t&&typeof t=="object"&&"meta"in t&&t.meta&&typeof t.meta=="object")return t.meta;throw new Error("Could not find the meta property on a profile.")}function S2(t){let e=v2(t).version||PZ;if(e!==33){if(e>33)throw new Error(`Unable to parse a Gecko profile of version ${e}, most likely profiler.firefox.com needs to be refreshed. The most recent version understood by this version of profiler.firefox.com is version ${33}.
|
|
65
|
+
You can try refreshing this page in case profiler.firefox.com has updated in the meantime.`);for(let r=e+1;r<=33;r++)r in T2&&T2[r](t);v2(t).version=33}}function EZ(t){return t==="x86_64-gcc3"?"x86_64":t}var T2={1:()=>{throw new Error("Gecko profiles without version numbers are very old and no conversion code has been written for that version of the profile format.")},2:()=>{throw new Error("Gecko profile version 1 is very old and no conversion code has been written for that version of the profile format.")},3:()=>{throw new Error("Gecko profile version 2 is very old and no conversion code has been written for that version of the profile format.")},4:t=>{function e(r){r.libs=JSON.parse(r.libs).map(n=>{if("breakpadId"in n)n.debugName=n.name.substr(n.name.lastIndexOf("/")+1);else{n.debugName=n.pdbName;let o=n.pdbSignature.replace(/[{}-]/g,"").toUpperCase();n.breakpadId=o+n.pdbAge}return delete n.pdbName,delete n.pdbAge,delete n.pdbSignature,n.path=n.name,n.name=n.debugName.endsWith(".pdb")?n.debugName.substr(0,n.debugName.length-4):n.debugName,n.arch=EZ(r.meta.abi),n.debugPath="",n}).sort((n,o)=>n.start-o.start);for(let n=0;n<r.threads.length;n++)if(typeof r.threads[n]=="string"){let o=JSON.parse(r.threads[n]);e(o),r.threads[n]=JSON.stringify(o)}else{let o=r.threads[n];"processType"in o||(o.name==="Content"?(o.processType="tab",o.name="GeckoMain"):o.name==="Plugin"?o.processType="plugin":o.processType="default")}r.meta.version=4}e(t)},5:t=>{function e(r){let n=r.threads.map(o=>{if(typeof o=="string"){let a=JSON.parse(o);return e(a),{type:"process",data:a}}return{type:"thread",data:o}});r.processes=n.filter(o=>o.type==="process").map(o=>o.data),r.threads=n.filter(o=>o.type==="thread").map(o=>o.data),r.meta.version=5}e(t)},6:t=>{function e(r){for(let n of r.threads){delete n.samples.schema.frameNumber;for(let o=0;o<n.samples.data.length;o++)n.samples.data[o].splice(5)}for(let n of r.processes)e(n)}e(t)},7:t=>{function e(r){for(let n of r.threads){let o=n.markers.schema.name,a=n.markers.schema.data;for(let i=0;i<n.markers.data.length;i++)if(n.stringTable[n.markers.data[i][o]]==="DOMEvent"){let l=n.markers.data[i][a];l.eventType=l.type,l.type="DOMEvent"}}for(let n of r.processes)e(n)}e(t)},8:t=>{function e(r){r.pausedRanges=[],r.meta.shutdownTime=null;for(let n of r.threads)n.registerTime=0,n.unregisterTime=null;for(let n of r.processes)e(n)}e(t)},9:t=>{function e(o){if("timings"in o&&!("status"in o.timings)){let a=o.timings;a.status="completed",Array.isArray(a.sices)&&(a.slices_list=a.slices,a.slices=a.slices.length),a.allocated_bytes=a.allocated*1024*1024}return o}function r(o){if("nursery"in o){if("status"in o.nursery)return o.nursery.status==="no collection"&&(o.nursery.status="nursery empty"),Object.assign(o);let a=Object.assign(o,{nursery:Object.assign(o.nursery,{status:"complete",bytes_used:o.nursery.nursery_bytes,new_capacity:o.nursery.new_nursery_bytes,phase_times:o.nursery.timings})});return delete a.nursery.nursery_bytes,delete a.nursery.new_nursery_bytes,delete a.nursery.timings,a}return o}function n(o){for(let a of o.threads){let i=a.markers.schema.data;for(let s=0;s<a.markers.data.length;s++){let l=a.markers.data[s][i];if(l){switch(l.type){case"GCMinor":l=r(l);break;case"GCMajor":l=e(l);break;default:break}a.markers.data[s][i]=l}}}for(let a of o.processes)n(a)}n(t)},10:t=>{function e(r){for(let n of r.threads){let{markers:o}=n,a=o.schema.name,i=o.schema.data,s=o.schema.time,l=[];for(let c=0;c<o.data.length;c++){let d=o.data[c],u=n.stringTable[d[a]],p=d[i];if(u==="DOMEvent"&&p.type!=="tracing"){let m=[];m[i]={type:"tracing",category:"DOMEvent",timeStamp:p.timeStamp,interval:"end",eventType:p.eventType,phase:p.phase},m[s]=p.endTime,m[a]=d[a],l.push(m),d[s]=p.startTime,d[i]={type:"tracing",category:"DOMEvent",timeStamp:p.timeStamp,interval:"start",eventType:p.eventType,phase:p.phase}}}o.data=o.data.concat(l)}for(let n of r.processes)e(n)}e(t)},11:t=>{let e=0;function r(i){for(let s of i.threads)(s.pid===null||s.pid===void 0)&&(s.pid=`Unknown Process ${++e}`);for(let s of i.processes)r(s)}r(t);let n=[{name:"Idle",color:"transparent"},{name:"Other",color:"grey"},{name:"JavaScript",color:"yellow"},{name:"Layout",color:"purple"},{name:"Graphics",color:"green"},{name:"DOM",color:"blue"},{name:"GC / CC",color:"orange"},{name:"Network",color:"lightblue"}],o={16:1,32:3,64:2,128:6,256:6,512:7,1024:4,2048:1,4096:1};function a(i){i.meta.categories=n;for(let s of i.threads){let l=s.frameTable.schema.category;for(let c of s.frameTable.data)l in c&&c[l]!==null&&(c[l]in o?c[l]=o[c[l]]:c[l]=1)}for(let s of i.processes)a(s)}a(t)},12:t=>{function n(o){for(let a of o.threads){let i=a.frameTable.schema.category;for(let s of a.frameTable.data)s.hasOwnProperty(i)&&(s[5]=s[4],s[4]=null);a.frameTable.schema.category=5,a.frameTable.schema.column=4}for(let a of o.processes)n(a)}n(t)},13:t=>{function e(r){for(let n of r.threads){let o=n.markers.schema.name,a=n.markers.schema.data;for(let i=0;i<n.markers.data.length;i++){let s=n.stringTable[n.markers.data[i][o]],l=n.markers.data[i][a];switch(s){case"VsyncTimestamp":case"LayerTranslation":case"CompositorScreenshot":l.type=s,delete l.category;break;default:break}}}for(let n of r.processes)e(n)}e(t)},14:t=>{let e=/^(get |set )?\w+(\.\w+| constructor)$/;function r(n){for(let o of n.threads){o.frameTable.schema={location:0,relevantForJS:1,implementation:2,optimizations:3,line:4,column:5,category:6};let a=o.frameTable.schema.location,i=o.frameTable.schema.relevantForJS,s=tt.withBackingArray(o.stringTable);for(let l=0;l<o.frameTable.data.length;l++){let c=o.frameTable.data[l];c.splice(i,0,!1);let d=s.getString(c[a]);d.startsWith("AutoEntryScript ")?(c[i]=!0,c[a]=s.indexForString(d.substring(16))):c[i]=e.test(d)}}for(let o of n.processes)r(o)}r(t)},15:t=>{function e(r){for(let n of r.threads){let o=tt.withBackingArray(n.stringTable);if(!o.hasString("DiskIO"))continue;let a=o.indexForString("FileIO"),i=n.markers.schema.name,s=n.markers.schema.data;for(let l=0;l<n.markers.data.length;l++){let c=n.markers.data[l],d=c[s];d&&d.type==="DiskIO"&&(c[i]=a,d.type="FileIO")}}for(let n of r.processes)e(n)}e(t)},16:t=>{function e(i){for(let s of i.meta.categories)s.subcategories=["Other"];for(let s of i.threads){let{frameTable:l}=s;l.schema.subcategory=7;for(let c=0;c<l.data.length;c++)l.data[c][l.schema.category]&&(l.data[c][l.schema.subcategory]=0)}for(let s of i.processes)e(s)}e(t);let r=[["DOMEvent","DOM"],["Navigation::DOMComplete","DOM"],["Navigation::DOMInteractive","DOM"],["Navigation::Start","DOM"],["UserTiming","DOM"],["CC","GC / CC"],["GCMajor","GC / CC"],["GCMinor","GC / CC"],["GCSlice","GC / CC"],["Paint","Graphics"],["VsyncTimestamp","Graphics"],["CompositorScreenshot","Graphics"],["JS allocation","JavaScript"],["Styles","Layout"],["nsRefreshDriver::Tick waiting for paint","Layout"],["Navigation","Network"],["Network","Network"],["firstLoadURI","Other"],["IPC","Other"],["Text","Other"],["MainThreadLongTask","Other"],["FileIO","Other"],["Log","Other"],["PreferenceRead","Other"],["BHR-detected hang","Other"],["MainThreadLongTask","Other"]];for(let i of[{name:"Idle",color:"transparent",subcategories:["Other"]},{name:"Other",color:"grey",subcategories:["Other"]},{name:"Layout",color:"purple",subcategories:["Other"]},{name:"JavaScript",color:"yellow",subcategories:["Other"]},{name:"GC / CC",color:"orange",subcategories:["Other"]},{name:"Network",color:"lightblue",subcategories:["Other"]},{name:"Graphics",color:"green",subcategories:["Other"]},{name:"DOM",color:"blue",subcategories:["Other"]}])t.meta.categories.findIndex(l=>l.name===i.name)===-1&&t.meta.categories.push(i);let n=t.meta.categories.findIndex(i=>i.name==="Other"),o=new Map(r.map(([i,s])=>{let l=t.meta.categories.findIndex(c=>c.name===s);if(l===-1)throw new Error("Could not find a category index to map to.");return[i,l]}));function a(i){for(let s of i.threads){let{markers:l,stringTable:c}=s;if(l.schema.category!==void 0)return;l.schema.category=3;for(let d=0;d<l.data.length;d++){let u=l.data[d][l.schema.name],p=l.data[d][l.schema.data],m=c[u];p&&p.type&&(m=p.type==="tracing"?p.category:p.type);let f=o.get(m);f===void 0&&(f=n),l.data[d][l.schema.category]=f}}for(let s of i.processes)a(s)}a(t)},17:t=>{let e=1,r=1;function n(o){if(o.pages&&o.pages.length>0){let a=new Map,i=new Map;for(let s of o.pages){a.set(`d${s.docshellId}h${s.historyId}`,r);let l=i.get(s.docshellId);l||(l=e++,i.set(s.docshellId,l)),s.browsingContextID=l,s.innerWindowID=r,s.embedderInnerWindowID=0,r++,delete s.docshellId,delete s.historyId,delete s.isSubFrame}for(let s of o.threads){let{markers:l}=s,c=l.schema.data;for(let d=0;d<s.markers.data.length;d++){let p=s.markers.data[d][c];if(p&&p.docShellId!==void 0&&p.docshellHistoryId!==void 0){let m=a.get(`d${p.docShellId}h${p.docshellHistoryId}`);m===void 0?console.error("No page found with given docShellId and historyId"):p.innerWindowID=m,delete p.docShellId,delete p.docshellHistoryId}}}}for(let a of o.processes)n(a)}n(t)},18:t=>{function e(r){if(r.counters&&r.counters.length>0)for(let n of r.counters)"samples"in n.sample_groups?n.sample_groups=[n.sample_groups]:n.sample_groups=[];for(let n of r.processes)e(n)}e(t)},19:t=>{function e(r){for(let n of r.threads){let{frameTable:o}=n;o.schema={location:0,relevantForJS:1,innerWindowID:2,implementation:3,optimizations:4,line:5,column:6,category:7,subcategory:8};for(let a=0;a<o.data.length;a++){let i=o.schema.innerWindowID;o.data[a].splice(i,0,0)}}for(let n of r.processes)e(n)}e(t)},20:t=>{function a(i){for(let s of i.threads){let{markers:l}=s,c=l.schema,d={name:0,startTime:1,endTime:2,phase:3,category:4,data:5};l.schema=d;for(let u=0;u<l.data.length;u++){let p=l.data[u],m=p[c.name],f=p[c.time],h=p[c.category],b=p[c.data],g=f,y=null,v=0;if(b){let{startTime:x,endTime:w,type:I,interval:C}=b;I==="tracing"?C==="start"?(g=f,y=null,v=2):C==="end"&&(g=null,y=f,v=3):x!==w&&typeof x=="number"&&typeof w=="number"&&(g=x,y=w,v=1),b.type!=="IPC"&&b.type!=="Network"&&(delete b.startTime,delete b.endTime)}let S=[];S[d.name]=m,S[d.startTime]=g,S[d.endTime]=y,S[d.phase]=v,S[d.category]=h,S[d.data]=b,l.data[u]=S}}for(let s of i.processes)a(s)}a(t)},21:t=>{function e(r){for(let n of r.threads){let{markers:o}=n;for(let a=0;a<o.data.length;a++){let i=o.data[a],s=i[o.schema.data];if(s&&s.type==="tracing"&&s.category==="DOMEvent"){let l=i[o.schema.startTime];s.type="DOMEvent",s.timeStamp!==void 0&&(s.latency=l-s.timeStamp),delete s.timeStamp}}}for(let n of r.processes)e(n)}e(t)},22:t=>{let e=t;e.meta.markerSchema=[{name:"GCMajor",display:["marker-chart","marker-table","timeline-memory"],data:[]},{name:"GCMinor",display:["marker-chart","marker-table","timeline-memory"],data:[]},{name:"GCSlice",display:["marker-chart","marker-table","timeline-memory"],data:[]},{name:"CC",tooltipLabel:"Cycle Collect",display:["marker-chart","marker-table","timeline-memory"],data:[]},{name:"FileIO",display:["marker-chart","marker-table"],data:[{key:"operation",label:"Operation",format:"string",searchable:!0},{key:"source",label:"Source",format:"string",searchable:!0},{key:"filename",label:"Filename",format:"file-path",searchable:!0}]},{name:"MediaSample",display:["marker-chart","marker-table"],data:[{key:"sampleStartTimeUs",label:"Sample start time",format:"microseconds"},{key:"sampleEndTimeUs",label:"Sample end time",format:"microseconds"}]},{name:"Styles",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"elementsTraversed",label:"Elements traversed",format:"integer"},{key:"elementsStyled",label:"Elements styled",format:"integer"},{key:"elementsMatched",label:"Elements matched",format:"integer"},{key:"stylesShared",label:"Styles shared",format:"integer"},{key:"stylesReused",label:"Styles reused",format:"integer"}]},{name:"PreferenceRead",display:["marker-chart","marker-table"],data:[{key:"prefName",label:"Name",format:"string"},{key:"prefKind",label:"Kind",format:"string"},{key:"prefType",label:"Type",format:"string"},{key:"prefValue",label:"Value",format:"string"}]},{name:"UserTiming",tooltipLabel:"{marker.data.name}",chartLabel:"{marker.data.name}",tableLabel:"{marker.data.name}",display:["marker-chart","marker-table"],data:[{label:"Marker",value:"UserTiming"},{key:"entryType",label:"Entry Type",format:"string"},{label:"Description",value:"UserTiming is created using the DOM APIs performance.mark() and performance.measure()."}]},{name:"Text",tableLabel:"{marker.name} \u2014\xA0{marker.data.name}",chartLabel:"{marker.name} \u2014\xA0{marker.data.name}",display:["marker-chart","marker-table"],data:[{key:"name",label:"Details",format:"string"}]},{name:"Log",display:["marker-table"],tableLabel:"({marker.data.module}) {marker.data.name}",data:[{key:"module",label:"Module",format:"string"},{key:"name",label:"Name",format:"string"}]},{name:"DOMEvent",tooltipLabel:"{marker.data.eventType} \u2014 DOMEvent",tableLabel:"{marker.data.eventType}",chartLabel:"{marker.data.eventType}",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"latency",label:"Latency",format:"duration"}]},{name:"Paint",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"category",label:"Type",format:"string"}]},{name:"Navigation",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"category",label:"Type",format:"string"}]},{name:"Layout",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"category",label:"Type",format:"string"}]},{name:"IPC",tooltipLabel:"IPC \u2014\xA0{marker.data.niceDirection}",tableLabel:"{marker.name} \u2014 {marker.data.messageType} \u2014 {marker.data.niceDirection}",chartLabel:"{marker.data.messageType}",display:["marker-chart","marker-table","timeline-ipc"],data:[{key:"messageType",label:"Type",format:"string"},{key:"sync",label:"Sync",format:"string"},{key:"sendThreadName",label:"From",format:"string"},{key:"recvThreadName",label:"To",format:"string"}]},{name:"RefreshDriverTick",display:["marker-chart","marker-table","timeline-overview"],data:[{key:"name",label:"Tick Reasons",format:"string"}]},{name:"Network",display:["marker-table"],data:[]}];for(let r of e.processes)r.meta.markerSchema=[]},23:t=>{function e(r){if(t.meta.configuration&&t.meta.configuration.activeBrowsingContextID&&(t.meta.configuration.activeTabID=t.meta.configuration.activeBrowsingContextID,delete t.meta.configuration.activeBrowsingContextID),r.pages&&r.pages.length>0)for(let n of r.pages)n.tabID=n.browsingContextID,delete n.browsingContextID;for(let n of r.processes)e(n)}e(t)},24:t=>{},25:t=>{},26:t=>{function e(r){for(let n of r.meta.markerSchema){let o;switch(n.name){case"FileIO":{n.data.push({key:"threadId",label:"Thread ID",format:"string",searchable:!0}),o=[];break}case"Log":{o=["name","module"];break}case"DOMEvent":{n.data.push({key:"eventType",label:"Event Type",format:"string",searchable:!0}),o=["target"];break}case"TraceEvent":{o=["name1","name2","val1","val2"];break}default:{o=["name","category"];break}}for(let a of n.data)o.includes(a.key)&&(a.searchable=!0)}for(let n of r.processes)e(n)}e(t)},27:t=>{function e(r){for(let n of r.threads)delete n.frameTable.schema.optimizations;for(let n of r.processes)e(n)}e(t)},28:t=>{},29:t=>{function e(r){if(r.counters&&r.counters.length>0)for(let n of r.counters)n.sample_groups&&(n.samples=n.sample_groups[0].samples,delete n.sample_groups);for(let n of r.processes)e(n)}e(t)},30:t=>{},31:t=>{},32:t=>{},33:t=>{function e(r){r.sources||(r.sources={schema:{uuid:0,filename:1},data:[]});for(let n of r.processes)e(n)}e(t)}};function x2(t){if(t.startsWith(`# ========
|
|
66
|
+
`))return!0;if(t.startsWith("{"))return!1;let e=t.substring(0,t.indexOf(`
|
|
67
|
+
`));return/^\S.*?\s+(?:\d+\/)?\d+\s+(?:\[\d+\]\s+)?[\d.]+:/.test(e)}var _Z=[{name:"User",color:"yellow",subcategories:["Other"]},{name:"Kernel",color:"orange",subcategories:["Other"]}],NZ=0,RZ=1;function w2(t){function e(l,c,d){let u={schema:{name:0,startTime:1,endTime:2,phase:3,category:4,data:5},data:[]},p={schema:{stack:0,time:1,responsiveness:2},data:[]},m={schema:{location:0,relevantForJS:1,innerWindowID:2,implementation:3,optimizations:4,line:5,column:6,category:7,subcategory:8},data:[]},f={schema:{prefix:0,frame:1},data:[]},h=[],b=new Map;function g(x,w){let I=w===null?`${x}`:`${x},${w}`,C=b.get(I);return C===void 0&&(C=f.data.length,f.data.push([w,x]),b.set(I,C)),C}let y=new Map;function v(x){let w=y.get(x);if(w===void 0){w=m.data.length;let I=h.length;h.push(x);let C=x.includes("kallsyms")||x.includes("/vmlinux)")||x.endsWith(".ko)")?RZ:NZ;m.data.push([I,!1,0,null,null,null,null,C,null]),y.set(x,w)}return w}function S(x,w,I){l!==x&&(l=x);let C=w.reduce((N,O)=>{let L=v(O);return g(L,N)},null);p.data.push([C,I,0])}return{addSample:S,finish:()=>({tid:d,pid:c,name:l,markers:u,samples:p,frameTable:m,stackTable:f,stringTable:h,registerTime:0,unregisterTime:null,processType:"default"})}}let r=new Map;function n(l,c,d,u,p){let m=r.get(c);m===void 0&&(m=e(d,l,c),r.set(c,m)),m.addSample(d,p,u)}let o=t.split(`
|
|
68
|
+
`),a=0,i=0;for(;a<o.length;){let l=o[a++];if(l===""||l.startsWith("#"))continue;let c=l,d=/^(.*)\s+([\d.]+):/.exec(c);if(!d){console.log('Could not parse line as the start of a sample in the "perf script" profile format: "%s"',c);continue}let u=d[1],p=parseFloat(d[2])*1e3,m=/^(.*)\s+(?:(\d+)\/)?(\d+)\b/.exec(u);if(!m){console.log('Could not parse line as the start of a sample in the "perf script" profile format: "%s"',c);continue}let f=m[1].trim(),h=Number(m[2]||0),b=Number(m[3]||0);i===0&&(i=p);let g=[];for(;a<o.length;){let y=o[a++];if(y.trim()==="")break;let v=/^\s*(\w+)\s*(.+) \(([^)]*)\)/.exec(y);if(v){let S=v[2],x=v[3];if(S=S.replace(/\+0x[\da-f]+$/,""),S.startsWith("("))continue;x&&(S+=` (in ${x})`),g.push(S)}}g.length!==0&&(g.reverse(),n(h,b,f,p,g))}let s=Array.from(r.values()).map(l=>l.finish());for(let l of s){let c=l.samples.schema.time;l.samples.data.sort((d,u)=>d[c]-u[c])}return{meta:{interval:1,processType:0,product:"Firefox",stackwalk:1,debug:0,gcpoison:0,asyncstack:1,startTime:i,shutdownTime:null,version:24,presymbolicated:!0,categories:_Z,markerSchema:[]},libs:[],threads:s,processes:[],pausedRanges:[]}}function k2(t){return t.startsWith("{")?!1:!!t.substring(0,t.indexOf(`
|
|
69
|
+
`)).match(/[^;]*(?:;[^;]*)* [0-9]+/)}var MZ=[{name:"Java",color:"yellow",subcategories:["Other"]},{name:"Native",color:"blue",subcategories:["Other"]}],LZ=0,DZ=1;function I2(t){let e=Ui();e.meta.product="Flamegraph",e.meta.categories=MZ;let r=new ba,n=r.getStringTable(),o=Nc({name:"Program",pid:"0",tid:0}),a=r.getFrameTable(),i=r.getStackTable(),{samples:s}=o,l=new Map,c=new Map;function d(b,g){let y=g===null?`${b}`:`${b},${g}`,v=l.get(y);return v===void 0&&(v=i.length,i.frame.push(b),i.prefix.push(g),i.length++,l.set(y,v)),v}function u(b){let g=c.get(b);if(g!==void 0)return g;let y=b.replace(/_\[j\]$/,""),v=DZ;b.endsWith("_[j]")&&(v=LZ);let S=n.indexForString(y),x=r.indexForFunc(S,!1,!1,-1,null,null,null);return g=a.length,a.address.push(-1),a.inlineDepth.push(0),a.category.push(v),a.subcategory.push(0),a.func.push(x),a.nativeSymbol.push(null),a.innerWindowID.push(null),a.line.push(null),a.column.push(null),a.length++,c.set(b,g),g}function p(b,g){let y=g.reduce((v,S)=>{let x=u(S);return d(x,v)},null);s.stack.push(y),$(s.time).push(b),s.length++}let m=t.split(`
|
|
70
|
+
`),f=0;for(let b of m){if(b.trim()==="")continue;let g=b.match(/([^;]*(?:;[^;]*)*) ([0-9]+)/);if(!g){console.warn("unexpected line format",b);continue}let[,y,v]=g,S=y.split(";"),x=parseInt(v,10);for(;x-- >0;)p(f++,S)}e.threads.push(o);let{shared:h}=r.finish();return e.shared=h,e}var yb=class{_decoder;_u8View;_dataView;_pos;constructor(e){this._decoder=new TextDecoder("utf-8",{fatal:!0}),this._u8View=e,this._dataView=new DataView(this._u8View.buffer),this._pos=0}eof(){return this._pos>=this._u8View.length}curPos(){return this._pos}setCurPos(e){this._pos=e}getU8(){let e=this._dataView.getUint8(this._pos);return this._pos+=1,e}getU16(){let e=this._dataView.getUint16(this._pos,!0);return this._pos+=2,e}getU32(){let e=this._dataView.getUint32(this._pos,!0);return this._pos+=4,e}getU64(){let e=this.getU32();return this.getU32()*Math.pow(2,32)+e}getBytesUntil(e){if(e<this._pos)throw new Error(`getBytesUntil() called with a target position in the past (curPos: ${this._pos}, endPos: ${e})`);let r=this._u8View.subarray(this._pos,e);return this._pos=e,r}getBytes(e){return this.getBytesUntil(this._pos+e)}getString(e){let r=this.getBytes(e);return this._decoder.decode(r)}getLine(){let e=this._u8View.indexOf(10,this._pos);e===-1&&(e=this._u8View.length);let r=this._u8View.subarray(this._pos,e);return this._pos=e+1,this._decoder.decode(r)}};function C2(t){try{let r=t.subarray(0,11),o=new TextDecoder().decode(r);if(/\*version\n[1-3]\n/.test(o))return"regular"}catch{}try{if(new DataView(t.buffer,t.byteOffset,t.byteLength).getUint32(0,!0)===1464814675)return"streaming"}catch{}return"unrecognized"}function P2(t){if(t!==1464814675){let e="0x574f4c53",r=`0x${t.toString(16)}`;throw new Error(`Unexpected magic header, expected ${e} (little endian), got ${r}`)}}function E2(t){if(t<1||t>3)throw new Error(`This code only knows how to parse versions 1 to 3, got version ${t}.`)}function _2(t,e){if(t!==e)throw new Error(`Error: version number mismatch; got ${e} in summary but ${t} in data section`)}function N2(t){let e=t.getLine();if(e!=="*version")throw new Error("Expected *version, got "+e);let r=+t.getLine();E2(r);let n={clock:"thread-cpu"};for(;e=t.getLine(),!(!e||e.startsWith("*"));){let[o,a]=e.split("=");n[o]=a}return{summaryVersion:r,summaryDetails:n,lineAfterSummary:e}}function AZ(t){let e=[],r="";for(;r=t.getLine(),!(!r||r.startsWith("*"));){let[n,o]=r.split(" ");e.push({tid:+n,threadName:o})}return{threads:e,lineAfterThreads:r}}function R2(t){let[e,r,n,o]=t.split(" ");return{methodId:+e,className:r,methodName:n,signature:o}}function OZ(t){let e=[],r="";for(;r=t.getLine(),!(!r||r.startsWith("*"));)e.push(R2(r));return{methods:e,lineAfterMethods:r}}function M2(t,e){switch(e){case 1:return 9;case 2:return 10;default:return t.getU16()}}function L2(t,e,r,n){let o=t.curPos(),a=e===1?t.getU8():t.getU16(),i=t.getU32(),s=i&-4,l=i&3;if(l>2)throw new Error("Unexpected method action "+l);let c,d;switch(n){case"wall":c=t.getU32(),d=c;break;case"dual":d=t.getU32(),c=t.getU32();break;default:d=t.getU32(),c=d;break}return t.setCurPos(o+r),{tid:a,methodId:s,globalTime:c,threadTime:d,action:["enter","exit","exit-unroll"][l]}}function FZ(t){let{summaryVersion:e,summaryDetails:r,lineAfterSummary:n}=N2(t);if(n!=="*threads")throw new Error("Expected *threads, got "+n);let{threads:o,lineAfterThreads:a}=AZ(t);if(a!=="*methods")throw new Error("Expected *methods, got "+a);let{methods:i,lineAfterMethods:s}=OZ(t);if(s!=="*end")throw new Error("Expected *end, got "+s);let l=t.curPos(),c=t.getU32();P2(c);let d=t.getU16();_2(d,e);let u=t.getU16(),p=t.getU64(),m=M2(t,d);t.setCurPos(l+u);let{clock:f}=r,h=[];for(;!t.eof();)h.push(L2(t,d,m,f));return{summaryDetails:r,threads:o,methods:i,methodActions:h,startTimeInUsecSinceBoot:p}}function BZ(t){let e=t.curPos(),r=t.getU32();P2(r);let n=t.getU16()^240;E2(n);let o=t.getU16(),a=t.getU64(),i=M2(t,n);t.setCurPos(e+o);let s=[],l=[],c=[],d={clock:"thread-cpu"};for(;!t.eof();){let m=t.curPos();if(t.getU16()!==0){c.push(m),t.setCurPos(m+i);continue}let h=t.getU8();if(h===1){let b=t.getU16();s.push(R2(t.getString(b)))}else if(h===2){let b=t.getU16(),g=t.getU16(),y=t.getString(g);l.push({tid:b,threadName:y})}else if(h===3){let b=t.getU32(),g=t.getBytes(b),y=N2(new yb(g));_2(n,y.summaryVersion),d=y.summaryDetails;break}else throw new Error(`Invalid trace format: got invalid code ${h}.`)}let{clock:u}=d,p=[];for(let m of c)t.setCurPos(m),p.push(L2(t,n,i,u));return{summaryDetails:d,threads:l,methods:s,methodActions:p,startTimeInUsecSinceBoot:a}}function HZ(t){try{let e=new yb(t);switch(C2(t)){case"regular":return FZ(e);case"streaming":return BZ(e);default:throw new Error("Not an ART trace")}}catch(e){throw console.error("Source exception:",e),new Error(`Could not parse the profile array buffer as an ART trace: ${e}`)}}function UZ(t){let{methodActions:e}=t,r=[],n=new Map,o=Math.min(500,e.length);for(let s=0;s<o;s++){let{tid:l,globalTime:c}=e[s],d=n.get(l);if(c!==d){if(d!==void 0){let u=c-d;r.push(u)}n.set(l,c)}}if(r.sort((s,l)=>s-l),r.length<5)return r[0];let a=r.slice(0,Math.floor(r.length/5));return a.reduce((s,l)=>s+l,0)/a.length}function GZ(t){function e(a){let i=a.startsWith("org.")||a.startsWith("com.")?a.substring(4):a,s=i.indexOf(".");return s===-1?i:i.substring(0,s)}let r=new Map;for(let a=0;a<t.length;a++){let i=e(t[a].className);switch(i){case"android":case"java":case"sun":case"kotlin":case"androidx":case"kotlinx":break;default:{let s=r.get(i)||0;r.set(i,s+1)}}}let n=Array.from(r.entries());if(n.length===0)return;n.sort(([a,i],[s,l])=>l-i);let[o]=n[0];return{prefixes:[`${o}.`,`com.${o}.`,`org.${o}.`],name:o[0].toUpperCase()+o.slice(1)}}var zC=class{idleCategory=0;otherCategory=1;blockingCategory=2;androidCategory=3;javaCategory=4;kotlinCategory=5;androidxCategory=6;specialCategory=7;categories=[{name:"Idle",color:"transparent"},{name:"Other",color:"grey"},{name:"Blocked",color:"lightblue"},{name:"Android",color:"yellow"},{name:"Java",color:"blue"},{name:"Kotlin / KotlinX",color:"purple"},{name:"AndroidX",color:"orange"},{name:"Special",color:"green"}];_specialCategoryInfo;constructor(e){this._specialCategoryInfo=GZ(e),this._specialCategoryInfo&&(this.categories[this.specialCategory].name=this._specialCategoryInfo.name)}inferJavaCategory(e){return e==="android.os.MessageQueue.nativePollOnce"?this.idleCategory:e==="java.lang.Object.wait"?this.blockingCategory:e.startsWith("android.")||e.startsWith("com.android.")?this.androidCategory:e.startsWith("java.")||e.startsWith("sun.")||e.startsWith("com.sun.")?this.javaCategory:e.startsWith("kotlin.")||e.startsWith("kotlinx.")?this.kotlinCategory:e.startsWith("androidx.")?this.androidxCategory:this._specialCategoryInfo&&this._specialCategoryInfo.prefixes.some(r=>e.startsWith(r))?this.specialCategory:this.otherCategory}},VC=class{_markers={schema:{name:0,time:1,data:2},data:[]};_samples={schema:{stack:0,time:1,responsiveness:2,rss:3,uss:4},data:[]};_frameTable={schema:{location:0,implementation:1,optimizations:2,line:3,category:4},data:[]};_stackTable={schema:{frame:0,prefix:1},data:[]};_stringTable=[];_currentStack=null;_nextSampleTimestamp=0;_stackMap=new Map;_frameMap=new Map;_registerTime=0;_name;_pid;_tid;_methodMap;_intervalInMsec;_honorOriginalSamplingTimestamps;_categoryInfo;constructor(e,r,n,o,a,i,s){this._name=e,this._pid=r,this._tid=n,this._methodMap=o,this._intervalInMsec=a,this._honorOriginalSamplingTimestamps=i,this._categoryInfo=s}_getOrCreateStack(e,r){let n=r===null?`${e}`:`${e},${r}`,o=this._stackMap.get(n);return o===void 0&&(o=this._stackTable.data.length,this._stackTable.data.push([e,r]),this._stackMap.set(n,o)),o}_getOrCreateFrameForMethodId(e){let r=this._frameMap.get(e);if(r===void 0){let n=this._methodMap.get(e),o;if(n===void 0)o="<unknown method ID 0x"+e.toString(16)+">";else{let{className:s,methodName:l}=n;o=s+"."+l}let a=this._stringTable.length;this._stringTable.push(o);let i=this._categoryInfo.inferJavaCategory(o);r=this._frameTable.data.length,this._frameTable.data.push([a,null,null,null,i]),this._frameMap.set(e,r)}return r}enterMethod(e){let r=this._getOrCreateFrameForMethodId(e);this._currentStack=this._getOrCreateStack(r,this._currentStack)}exitMethod(e){this._currentStack!==null&&(this._currentStack=this._stackTable.data[this._currentStack][1])}advanceTimeTo(e){if(this._nextSampleTimestamp===0){this._nextSampleTimestamp=e,this._name!=="main"&&(this._registerTime=e);return}for(;this._nextSampleTimestamp<e;){if(this._samples.data.push([this._currentStack,this._nextSampleTimestamp]),this._honorOriginalSamplingTimestamps&&e-this._nextSampleTimestamp<2*this._intervalInMsec){this._nextSampleTimestamp=e;break}this._nextSampleTimestamp+=this._intervalInMsec}}finish(){return this._nextSampleTimestamp!==null&&this._samples.data.push([this._currentStack,this._nextSampleTimestamp]),{tid:this._tid,pid:this._pid,name:this._name,registerTime:this._registerTime,unregisterTime:null,markers:this._markers,samples:this._samples,frameTable:this._frameTable,stackTable:this._stackTable,stringTable:this._stringTable}}};function D2(t){return C2(t)!=="unrecognized"}function A2(t){let e=HZ(t),r=UZ(e),n=!1,o;!r||r<100?o=.1:(o=Math.round(r/100)/10,n=!0);let{summaryDetails:a,threads:i,methods:s,methodActions:l}=e,c=new zC(s),d=new Map(s.map(m=>[m.methodId,m])),u=new Map;if(l.length>0)for(let m=0;m<l.length;m++){let{tid:f,methodId:h,globalTime:b,action:g}=l[m],y=u.get(f);if(y===void 0){let v=i.find(S=>S.tid===f);if(!v)throw new Error(`Encountered method action for unknown thread ${f}`);y=new VC(v.threadName,a.pid?+a.pid:1,f,d,o,n,c),u.set(f,y)}switch(y.advanceTimeTo(b/1e3),g){case"enter":y.enterMethod(h);break;case"exit":case"exit-unroll":y.exitMethod(h);break;default:throw new Error(`Unexpected action ${g}`)}}let p=Array.from(u.values()).map(m=>m.finish());return{meta:{interval:o,processType:0,product:"ART Trace (Android)",importedFrom:"ART Trace (Android)",pid:a.pid,stackwalk:1,startTime:0,shutdownTime:null,version:11,presymbolicated:!0,categories:c.categories},libs:[],threads:p,processes:[],pausedRanges:[]}}function O2({funcTable:t,sources:e,stringArray:r}){let n=new Map;for(let o=0;o<t.length;o++){if(!t.isJS[o])continue;let a=t.lineNumber[o],i=t.columnNumber[o],s=t.source[o];if(i!==null&&a!==null&&s!==null){let l=e.filename[s],d=`${r[l]}:${a}:${i}`;n.has(d)?n.set(d,null):n.set(d,o)}}return n}function F2(t,e){let r=[],n=O2(e),{funcTable:o,stringArray:a}=e;for(let i=0;i<t.length;i++){let s=t.events[i],l=t.column[i],c=t.line[i],d=a[s],u=null;if(l!==null&&c!==null){let p=`${d}:${c}:${l}`,m=n.get(p);m!==void 0&&(m===null?d=`(multiple matching functions) ${d}`:(u=m,d=`\u0192 ${a[o.name[u]]} ${d}`))}for(let p=0;p<=r.length;p++){let m=r[p];m||(m={start:[],end:[],index:[],label:[],func:[],name:"Tracing Information",length:0},r.push(m));let f=t.timestamps[i]/1e3,h=t.durations[i],b=h===null?0:h/1e3,g=m.end[m.length-1];if(g===void 0||g<=f){m.start.push(f),m.end.push(f+b),m.label.push(d),m.index.push(i),m.func.push(u),m.length++;break}}}return r}function B2(t,e){let r=new Map,n=[],o=/:\/\//;function a(u){let p=n[u];if(p!==void 0)return p;let m=o.test(e.getString(u));return n[u]=m,m}function i(u,p,m){if(p===m)return;let f=t.events[u],h=e.getString(f),b=a(f)?"Script":h,g=r.get(b);g===void 0&&(g={start:[],end:[],index:[],label:[],func:[],name:b,length:0},r.set(b,g));{let y=g.start[g.length-1],v=g.end[g.length-1],S=g.end[g.length-2];if(m<p)throw new Error("end is less than the start");if(v<y)throw new Error(`currEnd < currStart "${h} - ${v} < ${y}"`);if(y<S)throw new Error(`currStart < prevEnd "${h} - ${y} < ${S}"`)}g.start.push(p/1e3),g.end.push(m/1e3),g.label.push(h),g.index.push(u),g.length++}let s=[],l=[],c=[],d=-1;for(let u=0;u<t.length;u++){let p=t.timestamps[u],m=t.durations[u],h=p+(m===null?0:m);if(d===-1){d=0,s[d]=p,l[d]=h,c[d]=u;continue}for(;;){let b=s[d],g=l[d],y=c[d];if(b<=p&&g>p&&g<h&&(h=g),g<=p){if(i(y,b,g),d--,d===-1){d=0,c[d]=u,s[d]=p,l[d]=h;break}continue}else if(g>h){i(y,b,p),s[d]=h,d++,s[d]=p,l[d]=h,c[d]=u;break}else if(g===h){b!==p&&(i(y,b,p),s[d]=p),c[d]=u;break}else{let v=e.getString(t.events[y]),S=e.getString(t.events[u]);throw console.error("Current JS Tracer information:",{jsTracer:t,stringTable:e,prefixEventIndex:y,currentEventIndex:u}),console.error(`Prefix (parent) times for "${v}": ${b}ms to ${g}ms`),console.error(`Current (child) times for "${S}": ${p}ms to ${h}ms`),new Error("The JS Tracer algorithm encountered some data it could not handle.")}}}for(;d>=0;d--)i(c[d],s[d],l[d]);return[...r.values()].sort((u,p)=>u.name>p.name?1:u.name<p.name?-1:0)}function $Z(t,e,r,n,o){let a={...wc(),weight:[],weightType:"tracing-ms"},i=sa(),s={...t,markers:i,samples:a},{funcTable:l,frameTable:c,stackTable:d}=e,u=0,p=[null],m=[0],f=new Map,h=new Map,b=r.indexForString(""),g=o.findIndex(v=>v.name==="Other");if(g===-1)throw new Error("Expected to find an 'Other' category.");let y=O2(e);for(let v=0;v<n.length;v++){let S=n.events[v],x=r.getString(S),w=n.end[v],I=n.column[v],C=n.line[v],k=null;if(I!==null&&C!==null){let F=`${x}:${C}:${I}`,R=y.get(F);R!=null&&(k=R,f.set(S,k))}if(k===null){let F=f.get(S);F===void 0?(k=l.length++,l.name.push(S),l.isJS.push(!1),l.resource.push(-1),l.relevantForJS.push(!0),l.source.push(null),l.lineNumber.push(null),l.columnNumber.push(null),f.set(S,k)):k=F}let N=p[u];for(;N!==null;){let F=m[u];if(w<=F)break;N=p[u],u--}let O=c.length++;c.address.push(b),c.inlineDepth.push(0),c.category.push(g),c.func.push(k),c.nativeSymbol.push(null),c.innerWindowID.push(0),c.line.push(C),c.column.push(I);let L=d.length++;d.frame.push(O),d.prefix.push(N),h.set(v,L),u++,u===0&&(u=1),p[u]=v,m[u]=w}return{thread:s,stackMap:h}}function zZ(t){if(t.length===0)return{events:[],start:[],end:[],line:[],column:[],length:0};let e=t.timestamps[0],r=e+(t.durations[0]||0),n=[e],o=[r],a={events:t.events,start:n,end:o,line:t.line,column:t.column,length:t.length};for(let i=1;i<t.length;i++){let s=t.durations[i],l=t.timestamps[i],c=l+(s===null?0:s);if(l<e)if(e<c)l=e;else{let d=c-l;l=e,c=Math.min(r,l+d)}else c<r||r<=l||(r-l<c-r?l=r:c=r);n.push(l),o.push(c),e=l,r=c}return a}function H2(t,e,r,n){let o=zZ(r),a=tt.withBackingArray(e.stringArray),{thread:i,stackMap:s}=$Z(t,e,a,o,n);return i.samples=VZ(a,o,s),i}function VZ(t,e,r){let o=(p,m)=>Math.abs(p-m)<1e-5,a=wc(),i=[];a.weight=i;function s(p,m,f){if(o(m,f))return;let h=$(r.get(p),"The JS tracer event did not exist in the stack map.");a.stack.push(h),$(a.time).push(m/1e3),i.push((f-m)/1e3),a.length++}let l=[],c=[],d=[],u=-1;for(let p=0;p<e.length;p++){let m=e.start[p],f=e.end[p];if(u===-1){u=0,l[u]=m,c[u]=f,d[u]=p;continue}for(;;){let h=l[u],b=c[u],g=d[u];if(b<=m+1e-5){if(s(g,h,b),u--,u===-1){u=0,d[u]=p,l[u]=m,c[u]=f;break}continue}else if(f<b+1e-5){s(g,h,m),l[u]=f,u++,l[u]=m,c[u]=f,d[u]=p;break}else if(o(b,f)){o(h,m)||(s(g,h,m),l[u]=m),d[u]=p;break}else{let y=t.getString(e.events[g]),v=t.getString(e.events[p]);throw console.error("Current JS Tracer information:",{jsTracer:e,stringTable:t,prefixEventIndex:g,currentEventIndex:p}),console.error(`Prefix (parent) times for "${y}": ${h}ms to ${b}ms`),console.error(`Current (child) times for "${v}": ${m}ms to ${f}ms`),new Error("The JS Tracer information was malformed. Some event lasted longer than its parent event.")}}}for(;u>=0;u--)s(d[u],l[u],c[u]);return a}var U2="/gz.worker-C7QSA26N.js";function G2(t,e){return new Promise((r,n)=>{let o=new Worker(U2);o.onmessage=a=>{r(a.data),o.terminate()},o.onerror=a=>{n(a.error),o.terminate()},o.postMessage({kind:t,arrayData:e},[e.buffer])})}function $2(t){let e=typeof t=="string"?new TextEncoder().encode(t):t;return G2("compress",e)}function Ed(t){return G2("decompress",t)}function _d(t){return t.byteLength>=3&&t[0]===31&&t[1]===139&&t[2]===8}function Dl(t){let e={length:t.data.length};for(let r in t.schema){let n=t.schema[r];if(typeof n!="number")throw new Error("fieldIndex must be a number in the Gecko profile table.");e[r]=t.data.map(o=>n in o?o[n]:null)}return e}function KZ(t){if(t){let e=t.split(" -> ");return e[e.length-1]}return t}function YZ(t){let{startTime:e,endTime:r}=t.schema,n=t.data.slice(0);return n.sort((o,a)=>{let i=o[r]||o[e],s=a[r]||a[e];if(i===null)throw console.error(o),new Error("A marker had null start and end time.");if(s===null)throw console.error(a),new Error("A marker had null start and end time.");return i-s}),Object.assign({},t,{data:n})}function qZ(t){let e="non-virtual thunk to ";return t.startsWith&&t.startsWith(e)?t.substr(e.length):t}function XZ(t,e,r,n,o,a){let i=o.getStringTable(),s={geckoThreadStringArray:r,addressLocator:new gb(n),stringToNewFuncIndexAndFrameAddress:new Map,globalDataCollector:o,geckoSourceTable:a},l=[],c=[];for(let d=0;d<t.length;d++){let u=t[d],p=$(r[u]),m=i.indexForString(p),f=e[d],h=s.stringToNewFuncIndexAndFrameAddress.get(p);if(h!==void 0){let{funcIndex:v,frameAddress:S}=h;l.push(v),c.push(S);continue}let b=null,g=null,y=JZ(s,p,m);y!==null?(b=y.funcIndex,g=y.frameAddress):(b=ZZ(s,p),b===null&&(b=QZ(s,p),b===null&&(b=eQ(o,m,f)))),s.stringToNewFuncIndexAndFrameAddress.set(p,{funcIndex:b,frameAddress:g}),l.push(b),c.push(g)}return{frameFuncs:l,frameAddresses:c}}function JZ(t,e,r){if(!e.startsWith("0x"))return null;let{addressLocator:n,globalDataCollector:o}=t,a=-1,i=-1;try{let l=e,{lib:c,relativeAddress:d}=n.locateAddress(l);if(c!==null){i=d;let u=o.indexForLib(c);a=o.indexForLibResource(u)}}catch{}return{funcIndex:o.indexForFunc(r,!1,!1,a,null,null,null),frameAddress:i}}function ZZ(t,e){let r=/^(.*) \(in ([^)]*)\) (\+ [0-9]+)$/.exec(e)||/^(.*) \(in ([^)]*)\) (\(.*:.*\))$/.exec(e)||/^(.*) \(in ([^)]*)\)$/.exec(e);if(!r)return null;let{stringToNewFuncIndexAndFrameAddress:n,globalDataCollector:o}=t,a=o.getStringTable(),[,i,s]=r,l=qZ(i),c=a.indexForString(l),d=a.indexForString(s),u=n.get(l);if(u!==void 0)return u.funcIndex;let p=o.indexForNameOnlyLibResource(d);return o.indexForFunc(c,!1,!1,p,null,null,null)}function QZ(t,e){let r=/^(.*) \((.+?):([0-9]+)(?::([0-9]+))?\)(?:\[(\d+)\])?$/.exec(e)||/^()(.+?):([0-9]+)(?::([0-9]+))?(?:\[(\d+)\])?$/.exec(e);if(!r)return null;let{globalDataCollector:n,geckoSourceTable:o}=t,[,a,i,s,l,c]=r,d=KZ(i),u=n.indexForURIResource(d),p=null;if(c!==void 0){let g=parseInt(c,10);if(g<o.data.length){let y=o.schema.uuid,v=o.schema.filename,S=o.data[g][y],x=o.data[g][v];p=n.indexForSource(S,x)}}p===null&&(p=n.indexForSource(null,d));let m=n.getStringTable(),f;a?f=m.indexForString(a):f=m.indexForString(`(root scope) ${d}`);let h=parseInt(s,10),b=l?parseInt(l,10):null;return n.indexForFunc(f,!0,!1,u,p,h,b)}function eQ(t,e,r){return t.indexForFunc(e,!1,r,-1,null,null,null)}function tQ(t,e,r,n){let o=e.length;for(let a=0;a<t.length;a++){let i=a+o;e.address[i]=n[a]??-1,e.inlineDepth[i]=0,e.category[i]=t.category[a],e.subcategory[i]=t.subcategory[a],e.func[i]=r[a],e.nativeSymbol[i]=null,e.innerWindowID[i]=t.innerWindowID[a],e.line[i]=t.line[a],e.column[i]=t.column[a]}return e.length+=t.length,o}function rQ(t,e,r){let n=e.length;for(let o=0;o<t.length;o++){let a=o+n,i=t.prefix[o];e.prefix[a]=i!==null?i+n:null,e.frame[a]=t.frame[o]+r}return e.length+=t.length,n}function nQ(t,e){if("stack"in t&&t.stack&&t.stack.samples.data.length>0){let{stack:r,...n}=t,o=r.samples.data[0][r.samples.schema.stack],a=r.samples.data[0][r.samples.schema.time];return o!==null?{...n,cause:{tid:r.tid,time:a,stack:o+e}}:n}return t}function z2(t,e){if(!t)return null;if("stack"in t&&t.stack&&t.stack.samples.data.length>0){let{samples:r}=t.stack,n=r.data[0][r.schema.stack];if(n!==null)return n+e}return null}function oQ(t,e,r,n,o){let a=sa(),i=nD(),s=Dh(),l=[],c=[],d=n.getStringTable(),u;for(let m=0;m<t.length;m++){let f=t.data[m];if(f)switch(f.type){case"JS allocation":{i.time.push($(t.startTime[m],"JS Allocations are assumed to have a startTime")),i.className.push(f.className),i.typeName.push(f.typeName),i.coarseType.push(f.coarseType),i.weight.push(f.size),i.inNursery.push(f.inNursery),i.stack.push(z2(f,o)),i.length++;continue}case"Native allocation":{u===void 0&&(u="memoryAddress"in f),s.time.push($(t.startTime[m],"Native Allocations are assumed to have a startTime")),s.weight.push(f.size),s.stack.push(z2(f,o)),s.length++,u&&(l.push($(f.memoryAddress,"Could not find the memoryAddress property on a gecko marker payload.")),c.push($(f.threadId,"Could not find a threadId property on a gecko marker payload.")));continue}default:}let h=aQ(f,e,d,r,o),b=d.indexForString(e[t.name[m]]),g=t.startTime[m],y=t.endTime[m],v=t.phase[m],S=t.category[m];a.name.push(b),a.startTime.push(g),a.endTime.push(y),a.phase.push(v),a.category.push(S),a.data.push(h),a.length++}let p;return s.length===0?p=null:u?p={time:s.time,weight:s.weight,weightType:s.weightType,stack:s.stack,memoryAddress:l,threadId:c,length:s.length}:p={time:s.time,weight:s.weight,weightType:s.weightType,stack:s.stack,length:s.length},{markers:a,jsAllocations:i.length===0?null:i,nativeAllocations:p}}function V2(t){let e={};for(let r in t)e[r]=t[r]*1e3;return e}function aQ(t,e,r,n,o){if(!t)return null;let a=nQ(t,o);switch(a.type){case"GCSlice":{let{times:c,...d}=a.timings;return{type:"GCSlice",timings:{...d,phase_times:c?V2(c):{}}}}case"GCMajor":{let c=a.timings;switch(c.status){case"completed":{let{totals:d,...u}=c;return{type:"GCMajor",timings:{...u,phase_times:V2(d),mmu_20ms:c.mmu_20ms/100,mmu_50ms:c.mmu_50ms/100}}}case"aborted":return{type:"GCMajor",timings:{status:"aborted"}};default:throw console.log("Unknown GCMajor status"),new Error("Unknown GCMajor status")}}case"IPC":{let{startTime:c,endTime:d,otherPid:u,messageType:p,messageSeqno:m,side:f,direction:h,phase:b,sync:g,threadId:y}=a;return{type:"IPC",startTime:c,endTime:d,otherPid:`${u}`,messageType:p,messageSeqno:m,side:f,direction:h,phase:b,sync:g,threadId:y}}default:break}let i=a;if(!i.type)return i;let s=n.get(i.type);if(s===void 0)return i;let l=i;for(let c of s){let d=i[c];typeof d=="number"&&(l={...l,[c]:r.indexForString(e[d])})}return l}function X2(t){let r=new Array(t.length),n=0;for(let o=0;o<t.length;o++){let a=Math.round(t[o]*1e6);r[o]=(a-n)/1e6,n=a}return r}function iQ(t,e){let r={stack:t.stack.map(n=>n!==null?n+e:null),timeDeltas:X2(t.time),weightType:"samples",weight:null,length:t.length};if(t.threadCPUDelta&&t.threadCPUDelta.some(o=>o!==null)&&(r.threadCPUDelta=t.threadCPUDelta),"argumentValues"in t&&(r.argumentValues=t.argumentValues),"eventDelay"in t)r.eventDelay=t.eventDelay;else if("responsiveness"in t)r.responsiveness=t.responsiveness;else throw new Error("The profile processor expected an eventDelay or responsiveness array in the samples table, but none was found.");return r}function W2(t,e,r){let n=t.counters,o=t.threads.find(s=>s.name==="GeckoMain");if(!o||!n)return[];let a=`${o.pid}`,i=e.findIndex(s=>s.name==="GeckoMain"&&s.pid===a);if(i===-1)throw new Error("Unable to find the main thread in the stable thread list. This means that the logic in the _processCounters function is wrong.");return n.reduce((s,{name:l,category:c,description:d,samples:u})=>{if(u.data.length===0)return s;let p=Dl(u),m=sQ(p);return s.push({name:l,category:c,description:d,pid:a,mainThreadIndex:i,samples:J2(m,r)}),s},[])}function sQ(t){return{timeDeltas:X2(t.time),number:t.number,count:t.count,length:t.length}}function j2(t,e,r){let n=t.profilerOverhead,o=t.threads.find(s=>s.name==="GeckoMain");if(!o||!n)return null;let a=`${o.pid}`,i=e.findIndex(s=>s.name==="GeckoMain"&&s.pid===a);if(i===-1)throw new Error("Unable to find the main thread in the stable thread list. This means that the logic in the _processProfilerOverhead function is wrong.");return{samples:cQ(Dl(n.samples),r),pid:a,mainThreadIndex:i,statistics:n.statistics}}function K2(t,e,r,n){let o=Dl(t.frameTable),a=Dl(t.stackTable),i=Dl(t.samples),s=Dl(YZ(t.markers)),{libs:l,pausedRanges:c,meta:d,sources:u}=e,{shutdownTime:p}=d,{frameFuncs:m,frameAddresses:f}=XZ(o.location,o.relevantForJS,t.stringTable,l,n,u),h=tQ(o,n.getFrameTable(),m,f),b=rQ(a,n.getStackTable(),h),{markers:g,jsAllocations:y,nativeAllocations:v}=oQ(s,t.stringTable,r,n,b),S=iQ(i,b),x,w=new Set;for(let k=0;k<o.length;k++){let N=o.innerWindowID[k];N!==null&&N!==0&&w.add(N)}for(let k=0;k<g.length;k++){let N=g.data[k];if(!N||!("innerWindowID"in N))continue;let O=N.innerWindowID;typeof O=="number"&&O!==0&&w.add(O)}w.size!==0&&(x=Array.from(w));let I={name:t.name,isMainThread:t.name==="GeckoMain","eTLD+1":t["eTLD+1"],processType:t.processType,processName:typeof t.processName=="string"?t.processName:"",processStartupTime:0,processShutdownTime:p,registerTime:t.registerTime,unregisterTime:t.unregisterTime,tid:t.tid,pid:`${t.pid}`,pausedRanges:c||[],markers:g,samples:S};t.isPrivateBrowsing!==void 0&&(I.isPrivateBrowsing=t.isPrivateBrowsing),t.userContextId!==void 0&&(I.userContextId=t.userContextId),x!==void 0&&(I.usedInnerWindowIDs=x),y&&(I.jsAllocations=y),v&&(I.nativeAllocations=v),t.tracedValues&&(I.tracedValuesBuffer=t.tracedValues),t.tracedObjectShapes&&(I.tracedObjectShapes=t.tracedObjectShapes);function C(){let{jsTracerEvents:k}=t,{jsTracerDictionary:N}=e,O=n.getStringTable();if(k&&N){let L=new Array(N.length);for(let R=0;R<N.length;R++)L[R]=O.indexForString(N[R]);let F=k.events.slice();for(let R=0;R<F.length;R++){let z=F[R];F[R]=L[z]}I.jsTracer={...k,events:F}}}return C(),I}function Y2(t,e){return{...t,time:t.time.map(r=>r+e)}}function J2(t,e){let{timeDeltas:r}=t;if(r===void 0)throw new Error("Should only be called when a timeDeltas column is present");let n=r.slice();return n[0]+=e,{...t,timeDeltas:n}}function lQ(t,e){let r=e*1e3;return{...t,timestamps:t.timestamps.map(n=>n+r)}}function cQ(t,e){return{...t,time:t.time.map(r=>r/1e3+e)}}function WC(t,e){function r(n){return n===null?n:n+e}return{...t,startTime:t.startTime.map(r),endTime:t.endTime.map(r),data:t.data.map(n=>{if(!n)return n;let o=ZL(n);return"startTime"in o&&typeof o.startTime=="number"&&(o.startTime+=e),"endTime"in o&&typeof o.endTime=="number"&&(o.endTime+=e),"cause"in o&&o.cause&&o.cause.time!==void 0&&(o.cause.time+=e),o.type==="Network"&&(typeof o.domainLookupStart=="number"&&(o.domainLookupStart+=e),typeof o.domainLookupEnd=="number"&&(o.domainLookupEnd+=e),typeof o.connectStart=="number"&&(o.connectStart+=e),typeof o.tcpConnectEnd=="number"&&(o.tcpConnectEnd+=e),typeof o.secureConnectionStart=="number"&&(o.secureConnectionStart+=e),typeof o.connectEnd=="number"&&(o.connectEnd+=e),typeof o.requestStart=="number"&&(o.requestStart+=e),typeof o.responseStart=="number"&&(o.responseStart+=e),typeof o.responseEnd=="number"&&(o.responseEnd+=e)),o})}}function q2(t){let{name:e,tooltipLabel:r,tableLabel:n,chartLabel:o,display:a,data:i,graphs:s,colorField:l,isStackBased:c}=t,d=[],u=[];for(let m of i)if("key"in m){let{key:f,label:h,format:b,hidden:g}=m;d.push({key:f,label:h,format:b,hidden:g})}else u.push(m);let p;if(u.length!==0){let m=u.findIndex(b=>b.label==="Description");m===-1&&(m=0);let h=u.filter((b,g)=>g!==m).filter(b=>b.label!=="Marker"&&b.value!=="UserTiming");h.length!==0&&console.warn(`Discarding the following static fields from marker schema "${t.name}": ${h.map(b=>b.label+": "+b.value).join(", ")}`),p=u[m].value}return{name:e,tooltipLabel:r,tableLabel:n,chartLabel:o,display:a,fields:d,description:p,graphs:s,colorField:l,isStackBased:c}}function dQ(t){let e=t.meta.markerSchema.map(q2),r=new Set(e.map(({name:n})=>n));for(let n of t.processes)for(let o of n.meta.markerSchema)r.has(o.name)||(r.add(o.name),e.push(q2(o)));return e}function Z2(t,e){if(!("markerSchema"in t)||!t.markerSchema||!t.categories||!t.markers)return;for(let i of t.markerSchema){let s=e.meta.markerSchema.find(l=>l.name===i.name);s?JSON.stringify(i)!==JSON.stringify(s)&&console.error(`Existing marker schema for ${i.name} doesn't match`,i,s):e.meta.markerSchema.push(i)}let r=new Map;for(let i=0;i<t.categories.length;++i){let s=t.categories[i],l=e.meta.categories.findIndex(c=>c.name===s.name);l===-1&&(l=e.meta.categories.push(s)-1),r.set(i,l)}let n=e.threads.find(i=>i.name==="GeckoMain"&&i.processType==="default");if(!n)throw new Error("Could not find the main thread in the gecko profile");let{data:o,schema:a}=t.markers;for(let i of Object.keys(n.markers.schema))if(!(i in a)||n.markers.schema[i]!==a[i])throw new Error("Marker table schema in the gecko profile and the external marker data do not match");for(let i of o){let s=i[a.name],l=n.stringTable.indexOf(s);l===-1&&(l=n.stringTable.length,n.stringTable.push(s));let c=i;c[a.name]=l,c[a.startTime]&&e.meta.profilingStartTime&&(c[a.startTime]+=e.meta.profilingStartTime),c[a.endTime]&&e.meta.profilingStartTime&&(c[a.endTime]+=e.meta.profilingStartTime),c[a.category]=r.get(c[a.category])||0,n.markers.data.push(c)}}function Q2(t,e){for(let r of t){let{samples:n}=r,o=n.schema.time;for(let a of n.data)a[o]=Math.round((a[o]+(e.meta.profilingStartTime??0))*1e6)/1e6;e.counters||(e.counters=[]),e.counters.push(r)}}function uQ(t){if(!t)throw new Error("The profile was empty.");if(typeof t!="object")throw new Error("The profile was not an object");let e="profile"in t&&t.profile?t.profile:t;if(!e.meta)throw new Error("This does not appear to be a valid Gecko Profile, there is no meta field.");return jC(e)}function jC(t){S2(t);let e=[],r=dQ(t),n=hd(r),o=t.meta.extensions?Dl(t.meta.extensions):Oh(),a=new ba;a.addExtensionOrigins(o);for(let g of t.threads)e.push(K2(g,t,n,a));let i=W2(t,e,0),s=[j2(t,e,0)];for(let g of t.processes){let y=g.meta.startTime-t.meta.startTime;for(let v of g.threads){let S=K2(v,g,n,a);S.samples=J2(S.samples,y),S.markers=WC(S.markers,y),S.jsTracer&&(S.jsTracer=lQ(S.jsTracer,y)),S.jsAllocations&&(S.jsAllocations=Y2(S.jsAllocations,y)),S.nativeAllocations&&(S.nativeAllocations=Y2(S.nativeAllocations,y)),S.processStartupTime+=y,S.processShutdownTime!==null&&(S.processShutdownTime+=y),S.registerTime+=y,S.unregisterTime!==null&&(S.unregisterTime+=y),e.push(S)}i.push(...W2(g,e,y)),s.push(j2(g,e,y))}let l=[...t.pages||[]];for(let g of t.processes)l=l.concat(g.pages||[]);let c={interval:t.meta.interval,startTime:t.meta.startTime,startTimeAsClockMonotonicNanosecondsSinceBoot:t.meta.startTimeAsClockMonotonicNanosecondsSinceBoot,startTimeAsMachAbsoluteTimeNanoseconds:t.meta.startTimeAsMachAbsoluteTimeNanoseconds,startTimeAsQueryPerformanceCounterValue:t.meta.startTimeAsQueryPerformanceCounterValue,abi:t.meta.abi,extensions:o,misc:t.meta.misc,oscpu:t.meta.oscpu,platform:t.meta.platform,processType:t.meta.processType,product:t.meta.product||"",stackwalk:t.meta.stackwalk,debug:!!t.meta.debug,toolkit:t.meta.toolkit,version:t.meta.version,categories:t.meta.categories,preprocessedProfileVersion:60,appBuildID:t.meta.appBuildID,visualMetrics:t.meta.visualMetrics,configuration:t.meta.configuration,sourceURL:t.meta.sourceURL,physicalCPUs:t.meta.physicalCPUs,logicalCPUs:t.meta.logicalCPUs,CPUName:t.meta.CPUName,symbolicated:!!t.meta.presymbolicated,updateChannel:t.meta.updateChannel,markerSchema:r,sampleUnits:t.meta.sampleUnits,device:t.meta.device};t.meta.profilingStartTime!==void 0&&(c.profilingStartTime=t.meta.profilingStartTime,c.profilingEndTime=t.meta.profilingEndTime);let d=s.reduce((g,y)=>(y!==null&&g.push(y),g),[]),u={...t.profilingLog||{}};for(let g of t.processes)u={...u,...g.profilingLog||{}};let p={...t.profileGatheringLog||{}},m=a.getStringTable(),{libs:f,shared:h}=a.finish();for(let g of e.slice()){let{jsTracer:y}=g;if(y){let v=yn(e,g),S=H2(g,h,y,t.meta.categories);S.isJsTracer=!0,S.name=`JS Tracer of ${v}`,e.push(S),delete g.jsTracer}}return c.visualMetrics&&mQ(e,c,l,m),VB({meta:c,libs:f,pages:l,counters:i,profilerOverhead:d,shared:h,threads:e,profilingLog:u,profileGatheringLog:p})}function eU(t){return JSON.stringify(t)}function pQ(t){if(!t||typeof t!="object"||!("meta"in t)||!t.meta||typeof t.meta!="object")return t;let{meta:e}=t;if(!("preprocessedProfileVersion"in e)||typeof e.preprocessedProfileVersion!="number"||!("threads"in t)||!t.threads||!Array.isArray(t.threads)||!t.threads.length)return t;let{threads:r}=t,[n]=r;if(n.stringArray||!n.stringTable)return t;for(let o of t.threads)o.stringArray=o.stringTable._array,delete o.stringTable;return t}async function Al(t,e,r={}){try{if(String(t)==="[object ArrayBuffer]"){let l=t;t=new Uint8Array(l)}if(t instanceof Uint8Array||globalThis.Buffer&&t instanceof globalThis.Buffer){let l=t;if(_d(l)&&(l=await Ed(l)),D2(l))t=A2(l);else if(cD(lD,l)){let{convertSimpleperfTraceProfile:c}=await import("/simpleperf-UUIE7C7E.js");t=c(l)}else try{t=await new TextDecoder(void 0,{fatal:!0}).decode(l)}catch(c){throw console.error("Source exception:",c),new Error("The profile array buffer could not be parsed as a UTF-8 string.")}}typeof t=="string"&&(x2(t)?t=w2(t):k2(t)?t=I2(t):t=JSON.parse(t));let n=t,o=pQ(n),a=b2(o,r);if(a)return a;let i=p2(n,e);if(i)return i;let s=m2(n);return s||uQ(n)}catch(n){throw console.error("UnserializationError:",n),new Error(`Unserializing the profile failed: ${n}`)}}function mQ(t,e,r,n){let{visualMetrics:o}=e;if(r.length===0||!o)return;let a=t.findIndex(m=>m.name==="GeckoMain"&&m.processType==="default"),i=fQ(t,r,n);if(a===-1||!i)return;let s=t[a],l=t[i],c=["Visual","ContentfulSpeedIndex","PerceptualSpeedIndex"];if(e.categories===void 0)return;let d=e.categories.findIndex(m=>m.name==="Test");function u(m,f,h,b,g,y){h!==3&&b===null||(h===1||h===3)&&g===null||(m.markers.name.push(n.indexForString(f)),m.markers.startTime.push(b),m.markers.endTime.push(g),m.markers.phase.push(h),m.markers.category.push(d),m.markers.data.push(y??null),m.markers.length++)}let p=null;if(n.hasString("Navigation::Start")){let m=n.indexForString("Navigation::Start"),f=l.markers.name.findIndex(h=>h===m);f!==-1&&(p=l.markers.startTime[f])}for(let m of c){let f=o[`${m}Progress`];if(!f)continue;let h=p??f[0].timestamp,b=f[f.length-1].timestamp,g=`${m} Progress`;u(s,g,1,h,b),u(l,g,1,h,b);let y={name:"VisualMetricProgress",tableLabel:"{marker.name} \u2014 {marker.data.percentage}",display:["marker-chart","marker-table"],fields:[{key:"percentage",label:"Percentage",format:"percentage"}]};e.markerSchema.push(y);let v=`${m} Change`;for(let{timestamp:S,percent:x}of f){let w={type:"VisualMetricProgress",percentage:x/100};u(s,v,0,S,null,w),u(l,v,0,S,null,w)}}}function fQ(t,e,r){if(!r.hasString("RefreshDriverTick"))return null;let n=r.indexForString("RefreshDriverTick");for(let o=0;o<t.length;o++){let a=t[o];if(a.name!=="GeckoMain"||a.processType!=="tab")continue;let i=new Set(e.filter(l=>l.embedderInnerWindowID===0).map(l=>l.innerWindowID)),{markers:s}=a;for(let l=0;l<s.length;l++)if(s.name[l]===n){let c=s.data[l];if(c&&"innerWindowID"in c&&c.innerWindowID&&i.has(c.innerWindowID))return o}}return null}var hQ=10;function tU(t,e,r){let[n,o,a]=e,i=Uint32Array.from(t);i.sort();let s=new TextDecoder,l=new Map,c,d="",u;for(let p=0;p<i.length;p++){let m=i[p],f=Ae(n,m,c)-1;if(f>=0){if(f!==c){let h=o[f],b=o[f+1],g=a.subarray(h,b);d=r(s.decode(g)),u=f<n.length-1?n[f+1]-n[f]:void 0,c=f}l.set(m,{symbolAddress:n[f],name:d,functionSize:u})}else l.set(m,{symbolAddress:0,name:"<before first symbol>"})}return l}function gQ(t,e,r,n){let o=[];for(let a of t){let i=n(a),s=o.find(({value:l,elements:c})=>l+i<=e&&c.length+1<=r);s===void 0&&(s={value:0,elements:[]},o.push(s)),s.elements.push(a),s.value+=i}return o.map(({elements:a})=>a)}var bb=class{_symbolProvider;constructor(e){this._symbolProvider=e}async getSymbols(e,r,n,o=!1){e=e.filter(s=>{let{debugName:l,breakpadId:c}=s.lib;return l===""||c===""?(n(s,new El(`Failed to symbolicate library ${l}/${c}`,s.lib,new Error("Invalid debugName or breakpadId"))),!1):!0});let i=gQ(e,1e4,hQ,({addresses:s})=>s.size).map(s=>[s,this._symbolProvider.requestSymbolsFromServer(s)]);await Promise.all(i.map(async([s,l])=>{let c=new Map(e.map(h=>[h,[]])),d=await this._processSuccessfulResponsesAndReturnRemaining(s,l,c,r);if(d.length===0)return;let u=this._symbolProvider.requestSymbolsFromBrowser(d),p=await this._processSuccessfulResponsesAndReturnRemaining(d,u,c,r);if(p.length===0)return;let m=Promise.all(p.map(async h=>{try{let{lib:b}=h,g=await this._symbolProvider.requestSymbolsViaSymbolTableFromBrowser(h,o);return{type:"SUCCESS",lib:b,results:g}}catch(b){return{type:"ERROR",request:h,error:b}}})),f=await this._processSuccessfulResponsesAndReturnRemaining(p,m,c,r);if(f.length!==0)for(let h of f){let{lib:b}=h;n(h,new El(`Could not obtain symbols for ${b.debugName}/${b.breakpadId}.`,b,...c.get(h)??[]))}}))}async _processSuccessfulResponsesAndReturnRemaining(e,r,n,o){try{let a=await r,i=[];for(let s=0;s<a.length;s++){let l=a[s];if(l.type==="SUCCESS"){let{lib:c,results:d}=l;o(c,d)}else{let{request:c,error:d}=l;i.push(c),$(n.get(c)).push(d)}}return i}catch(a){for(let i of e)$(n.get(i)).push(a);return e}}};var KC;function rU(t){return{lang:t?.lang??KC?.lang,message:t?.message,abortEarly:t?.abortEarly??KC?.abortEarly,abortPipeEarly:t?.abortPipeEarly??KC?.abortPipeEarly}}var yQ;function bQ(t){return yQ?.get(t)}var vQ;function TQ(t){return vQ?.get(t)}var SQ;function xQ(t,e){return SQ?.get(t)?.get(e)}function wQ(t){let e=typeof t;return e==="string"?`"${t}"`:e==="number"||e==="bigint"||e==="boolean"?`${t}`:e==="object"||e==="function"?(t&&Object.getPrototypeOf(t)?.constructor?.name)??"null":e}function Ol(t,e,r,n,o){let a=o&&"input"in o?o.input:r.value,i=o?.expected??t.expects??null,s=o?.received??wQ(a),l={kind:t.kind,type:t.type,input:a,expected:i,received:s,message:`Invalid ${e}: ${i?`Expected ${i} but r`:"R"}eceived ${s}`,requirement:t.requirement,path:o?.path,issues:o?.issues,lang:n.lang,abortEarly:n.abortEarly,abortPipeEarly:n.abortPipeEarly},c=t.kind==="schema",d=o?.message??t.message??xQ(t.reference,l.lang)??(c?TQ(l.lang):null)??n.message??bQ(l.lang);d!==void 0&&(l.message=typeof d=="function"?d(l):d),c&&(r.typed=!1),r.issues?r.issues.push(l):r.issues=[l]}function vs(t){return{version:1,vendor:"valibot",validate(e){return t["~run"]({value:e},rU())}}}function kQ(t,e){return Object.hasOwn(t,e)&&e!=="__proto__"&&e!=="prototype"&&e!=="constructor"}var IQ=class extends Error{constructor(t){super(t[0].message),this.name="ValiError",this.issues=t}};var Zye=new RegExp("^(?:[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|(?![\\p{Emoji_Modifier_Base}\\u{1F1E6}-\\u{1F1FF}])\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|(?![\\p{Emoji_Modifier_Base}\\u{1F1E6}-\\u{1F1FF}])\\p{Emoji_Presentation}))*)+$","u");function CQ(t,e,r){return typeof t.fallback=="function"?t.fallback(e,r):t.fallback}function YC(t,e,r){return typeof t.default=="function"?t.default(e,r):t.default}function Nd(t,e){return{kind:"schema",type:"array",reference:Nd,expects:"Array",async:!1,item:t,message:e,get"~standard"(){return vs(this)},"~run"(r,n){let o=r.value;if(Array.isArray(o)){r.typed=!0,r.value=[];for(let a=0;a<o.length;a++){let i=o[a],s=this.item["~run"]({value:i},n);if(s.issues){let l={type:"array",origin:"value",input:o,key:a,value:i};for(let c of s.issues)c.path?c.path.unshift(l):c.path=[l],r.issues?.push(c);if(r.issues||(r.issues=s.issues),n.abortEarly){r.typed=!1;break}}s.typed||(r.typed=!1),r.value.push(s.value)}}else Ol(this,"type",r,n);return r}}}function qC(t){return{kind:"schema",type:"boolean",reference:qC,expects:"boolean",async:!1,message:t,get"~standard"(){return vs(this)},"~run"(e,r){return typeof e.value=="boolean"?e.typed=!0:Ol(this,"type",e,r),e}}}function XC(t,e){return{kind:"schema",type:"nullable",reference:XC,expects:`(${t.expects} | null)`,async:!1,wrapped:t,default:e,get"~standard"(){return vs(this)},"~run"(r,n){return r.value===null&&(this.default!==void 0&&(r.value=YC(this,r,n)),r.value===null)?(r.typed=!0,r):this.wrapped["~run"](r,n)}}}function Dm(t){return{kind:"schema",type:"number",reference:Dm,expects:"number",async:!1,message:t,get"~standard"(){return vs(this)},"~run"(e,r){return typeof e.value=="number"&&!isNaN(e.value)?e.typed=!0:Ol(this,"type",e,r),e}}}function Rd(t,e){return{kind:"schema",type:"object",reference:Rd,expects:"Object",async:!1,entries:t,message:e,get"~standard"(){return vs(this)},"~run"(r,n){let o=r.value;if(o&&typeof o=="object"){r.typed=!0,r.value={};for(let a in this.entries){let i=this.entries[a];if(a in o||(i.type==="exact_optional"||i.type==="optional"||i.type==="nullish")&&i.default!==void 0){let s=a in o?o[a]:YC(i),l=i["~run"]({value:s},n);if(l.issues){let c={type:"object",origin:"value",input:o,key:a,value:s};for(let d of l.issues)d.path?d.path.unshift(c):d.path=[c],r.issues?.push(d);if(r.issues||(r.issues=l.issues),n.abortEarly){r.typed=!1;break}}l.typed||(r.typed=!1),r.value[a]=l.value}else if(i.fallback!==void 0)r.value[a]=CQ(i);else if(i.type!=="exact_optional"&&i.type!=="optional"&&i.type!=="nullish"&&(Ol(this,"key",r,n,{input:void 0,expected:`"${a}"`,path:[{type:"object",origin:"key",input:o,key:a,value:o[a]}]}),n.abortEarly))break}}else Ol(this,"type",r,n);return r}}}function Yo(t,e){return{kind:"schema",type:"optional",reference:Yo,expects:`(${t.expects} | undefined)`,async:!1,wrapped:t,default:e,get"~standard"(){return vs(this)},"~run"(r,n){return r.value===void 0&&(this.default!==void 0&&(r.value=YC(this,r,n)),r.value===void 0)?(r.typed=!0,r):this.wrapped["~run"](r,n)}}}function JC(t,e,r){return{kind:"schema",type:"record",reference:JC,expects:"Object",async:!1,key:t,value:e,message:r,get"~standard"(){return vs(this)},"~run"(n,o){let a=n.value;if(a&&typeof a=="object"){n.typed=!0,n.value={};for(let i in a)if(kQ(a,i)){let s=a[i],l=this.key["~run"]({value:i},o);if(l.issues){let d={type:"object",origin:"key",input:a,key:i,value:s};for(let u of l.issues)u.path=[d],n.issues?.push(u);if(n.issues||(n.issues=l.issues),o.abortEarly){n.typed=!1;break}}let c=this.value["~run"]({value:s},o);if(c.issues){let d={type:"object",origin:"value",input:a,key:i,value:s};for(let u of c.issues)u.path?u.path.unshift(d):u.path=[d],n.issues?.push(u);if(n.issues||(n.issues=c.issues),o.abortEarly){n.typed=!1;break}}(!l.typed||!c.typed)&&(n.typed=!1),l.typed&&(n.value[l.value]=c.value)}}else Ol(this,"type",n,o);return n}}}function qo(t){return{kind:"schema",type:"string",reference:qo,expects:"string",async:!1,message:t,get"~standard"(){return vs(this)},"~run"(e,r){return typeof e.value=="string"?e.typed=!0:Ol(this,"type",e,r),e}}}function nU(t,e,r){let n=t["~run"]({value:e},rU(r));if(n.issues)throw new IQ(n.issues);return n.value}var EQ=JC(qo(),XC(qC())),_Q=Rd({function:Yo(qo()),file:Yo(qo()),line:Yo(Dm())}),NQ=Rd({module_offset:qo(),module:qo(),frame:Dm(),function:Yo(qo()),function_offset:Yo(qo()),function_size:Yo(qo()),file:Yo(qo()),line:Yo(Dm()),inlines:Yo(Nd(_Q))}),RQ=Nd(NQ),MQ=Rd({found_modules:EQ,stacks:Nd(RQ)}),LQ=Rd({results:Nd(MQ)});function DQ(t){return nU(LQ,t)}function AQ(t,e,r,n){let{lib:o}=e,{debugName:a,breakpadId:i}=o;if(!n.found_modules[`${a}/${i}`])throw new Error(`The ${t} does not have symbols for ${a}/${i}.`);let s=n.stacks[0];if(s.length!==r.length)throw new Error(`The result from the ${t} has an unexpected length.`);let l=new Map;for(let c=0;c<s.length;c++){let d=r[c],u=s[c],p;if(u.function!==void 0&&u.function_offset!==void 0){let m=u.function,f=parseInt(u.function_offset.substr(2),16),h;if(u.inlines!==void 0){let g=u.inlines.length;h=u.inlines.map(({function:y,file:v,line:S},x)=>{let w=g-x;return{name:y??`<unknown at ${u.module_offset} at inline depth ${w}>`,file:v,line:S}})}let b;u.function_size!==void 0&&(b=parseInt(u.function_size.substr(2),16)),p={name:m,symbolAddress:d-f,file:u.file,line:u.line,inlines:h,functionSize:b}}else p={name:`<unknown at ${u.module_offset}>`,symbolAddress:d};l.set(d,p)}return l}async function oU(t,e,r){let n=e.map(i=>({request:i,addressArray:Array.from(i.addresses)})),o={jobs:n.map(({request:i,addressArray:s})=>{let{debugName:l,breakpadId:c}=i.lib;return{memoryMap:[[l,c]],stacks:[s.map(d=>[0,d])]}})},a=DQ(await r("/symbolicate/v5",JSON.stringify(o)));return n.map(({request:i,addressArray:s},l)=>{let c=a.results[l];try{let{lib:d}=i,u=AQ(t,i,s,c);return{type:"SUCCESS",lib:d,results:u}}catch(d){return{type:"ERROR",request:i,error:d}}})}function aU(t,e){if(t.length!==e.length)throw new Error("Passed arrays do not have the same length. This should not happen.");if(!t.length)throw new Error("There are no profiles to merge.");let r=Ui();for(let[u,p]of Object.entries(t[0].meta))["profilingStartTime","profilingEndTime"].includes(u)||t.every(m=>m.meta[u]===p)&&(r.meta[u]=p);r.meta.markerSchema=t[0].meta.markerSchema,r.meta.categories=t[0].meta.categories,r.meta.interval=Math.min(...t.map(u=>u.meta.interval));let n=hd(r.meta.markerSchema);t.every(u=>u.meta.symbolicated===void 0)?delete r.meta.symbolicated:r.meta.symbolicated=t.every(u=>u.meta.symbolicated);let{categories:o,libs:a,shared:i,translationMapsPerProfile:s}=UQ(t);r.meta.categories=o,r.libs=a,r.shared=i;let l={},c=[],d;for(let u=0;u<e.length;u++){let{profileName:p,profileSpecific:m}=e[u],f=s[u],{oldStackToNewStackPlusOne:h,oldStringToNewStringPlusOne:b}=f,g=m.selectedThreads;if(g===null)throw new Error(`No thread has been selected in profile ${u}`);let y=ro(g);if(g.size!==1||y===void 0)throw new Error("Only one thread selection is currently supported for the comparison view.");let v=t[u],S={...v.threads[y]};l[u]=Uy(m.transforms[y]??[],f),c.push(m.implementation),S.markers={...S.markers,name:zQ(S.markers.name,b),data:VQ(S.markers.data,b,n)},[S]=_y([S],C=>tee(C,h)),S.markers=uee(v.threads,S);let x=Iy(v).start,w=m.committedRanges&&m.committedRanges.pop();if(w){d||(d=My(v.threads,v.shared));let C=Ly(S.markers,v.shared.stringArray,S.tid||0,w,d);S=FQ(S,C,w.start+x,w.end+x)}S.pid=`${S.pid} from profile ${u+1}`,S.tid=`${S.tid} from profile ${u+1}`,S.isMainThread=!0,S.processName=`${p||`Profile ${u+1}`}: ${S.processName||S.name}`;let I=0;if(S.samples.length){let{time:C,timeDeltas:k}=S.samples;C!==void 0?I=-C[0]:I=-$(k)[0]}else if(S.markers.length){for(let C of S.markers.startTime)if(C!==null){I=-C;break}}S.samples=BQ(S.samples,I),S.markers=WC(S.markers,I),S.registerTime+=I,S.processStartupTime+=I,S.processShutdownTime!==null&&(S.processShutdownTime+=I),S.unregisterTime!==null&&(S.unregisterTime+=I),S.processShutdownTime===null&&S.unregisterTime===null&&(S.unregisterTime=Sl(S,v.meta.interval).end),r.threads.push(S)}return t.length===2&&r.threads.push(lee([{thread:r.threads[0],weightMultiplier:t[0].meta.interval/r.meta.interval},{thread:r.threads[1],weightMultiplier:t[1].meta.interval/r.meta.interval}])),r.meta.initialVisibleThreads=r.threads.map((u,p)=>p),{profile:r,implementationFilters:c,transformStacks:l}}function FQ(t,e,r,n){return t=Ey(t,r,n),t.markers=nH(t.markers,e,r,n),t}function BQ(t,e){let{time:r,timeDeltas:n}=t;if(r!==void 0)return{...t,time:r.map(a=>a+e)};let o=$(n).slice();return o[0]+=e,{...t,timeDeltas:o}}function HQ(t){let e=[],r=new Map,n=t.map(o=>{if(!o)return new Int32Array(0);let a=new Int32Array(o.length);return o.forEach((i,s)=>{let{name:l}=i,c=r.get(l);c===void 0&&(c=e.length,e.push(i),r.set(l,c)),a[s]=c+1}),a});return{categories:e,translationMaps:n}}function UQ(t){let{categories:e,translationMaps:r}=HQ(t.map(x=>x.meta.categories)),{stringArray:n,translationMaps:o}=GQ(t.map(x=>x.shared.stringArray)),{libs:a,translationMaps:i}=WQ(t.map(x=>x.libs)),{sources:s,translationMaps:l}=$Q(t.map(x=>x.shared.sources??null),o),{resourceTable:c,translationMaps:d}=ree(t,o,i),{nativeSymbols:u,translationMaps:p}=nee(t,o,i),{funcTable:m,translationMaps:f}=oee(t,d,l,o),{frameTable:h,translationMaps:b}=aee(t,f,p,r),{stackTable:g,translationMaps:y}=iee(t,b),v={stackTable:g,frameTable:h,funcTable:m,nativeSymbols:u,resourceTable:c,stringArray:n,sources:s},S=t.map((x,w)=>{let I=i[w],C=o[w],k=l[w],N=d[w],O=p[w],L=f[w],F=b[w],R=y[w];return{oldThreadIndexToNew:null,oldFuncCount:x.shared.funcTable.length,newFuncCount:m.length,oldLibToNewLibPlusOne:I,oldStringToNewStringPlusOne:C,oldSourceToNewSourcePlusOne:k,oldResourceToNewResourcePlusOne:N,oldNativeSymbolToNewNativeSymbolPlusOne:O,oldFuncToNewFuncPlusOne:L,oldFrameToNewFramePlusOne:F,oldStackToNewStackPlusOne:R}});return{categories:e,libs:a,shared:v,translationMapsPerProfile:S}}function GQ(t){let e=[],r=tt.withBackingArray(e),n=t.map(o=>{let a=new Int32Array(o.length);for(let i=0;i<o.length;i++)a[i]=r.indexForString(o[i])+1;return a});return{stringArray:e,translationMaps:n}}function $Q(t,e){let r=_c(),n=new Map,o=t.map((a,i)=>{if(!a)return new Int32Array(0);let s=new Int32Array(a.length),l=e[i];for(let c=0;c<a.length;c++){let d=a.uuid[c],u=a.filename[c],p=l[u]-1,m=d??`null-uuid-${p}`,f=n.get(m);f===void 0&&(f=r.length,r.uuid[f]=d,r.filename[f]=p,r.length++,n.set(m,f)),s[c]=f+1}return s});return{sources:r,translationMaps:o}}function zQ(t,e){return t.map(r=>e[r]-1)}function VQ(t,e,r){return t.map(n=>{if(!n||!n.type)return n;let o=r.get(n.type);if(o===void 0)return n;let a=n;for(let i of o){let s=n[i];typeof s=="number"&&(a={...a,[i]:e[s]-1})}return a})}function WQ(t){let e=new Map,r=[],n=[];for(let o of t){let a=new Int32Array(o.length);o.forEach((i,s)=>{let l=[i.name,i.debugName].join("#"),c=e.get(l);if(c!==void 0){a[s]=c+1;return}a[s]=n.length+1,e.set(l,n.length),n.push(i)}),r.push(a)}return{libs:n,translationMaps:r}}function jQ(t,e){return e[t]-1}function KQ(t,e){return t!==null?e[t]-1:null}function ZC(t,e){return e[t]-1}function YQ(t,e){return t!==null?e[t]-1:null}function qQ(t,e){return t!==null?e[t]-1:null}function XQ(t,e){return t===-1?-1:e[t]-1}function JQ(t,e){return e[t]-1}function ZQ(t,e){return e[t]-1}function QQ(t,e){return t===null?null:e[t]-1}function eee(t,e){return t===null?null:e[t]-1}function tee(t,e){return t!==null?e[t]-1:null}function ree(t,e,r){let n=new Map,o=[],a=Pc();return t.forEach((i,s)=>{let l=r[s],c=e[s],{resourceTable:d}=i.shared,u=new Int32Array(d.length);for(let p=0;p<d.length;p++){let m=KQ(d.lib[p],l),f=ZC(d.name[p],c),h=YQ(d.host[p],c),b=d.type[p],g=[f,b].join("#"),y=n.get(g);if(y!==void 0){u[p]=y+1;continue}u[p]=a.length+1,n.set(g,a.length),a.lib.push(m),a.name.push(f),a.host.push(h),a.type.push(b),a.length++}o.push(u)}),{resourceTable:a,translationMaps:o}}function nee(t,e,r){let n=new Map,o=[],a=Ec();return t.forEach((i,s)=>{let l=r[s],c=e[s],{nativeSymbols:d}=i.shared,u=new Int32Array(d.length);for(let p=0;p<d.length;p++){let m=jQ(d.libIndex[p],l),f=ZC(d.name[p],c),h=d.address[p],b=d.functionSize[p],g=[f,h].join("#"),y=n.get(g);if(y!==void 0){u[p]=y+1;continue}u[p]=a.length+1,n.set(g,a.length),a.libIndex.push(m),a.name.push(f),a.address.push(h),a.functionSize.push(b),a.length++}o.push(u)}),{nativeSymbols:a,translationMaps:o}}function oee(t,e,r,n){let o=new Map,a=[],i=Ic();return t.forEach((s,l)=>{let{funcTable:c}=s.shared,d=e[l],u=n[l],p=r[l],m=new Int32Array(c.length);for(let f=0;f<c.length;f++){let h=qQ(c.source[f],p),b=XQ(c.resource[f],d),g=ZC(c.name[f],u),y=c.lineNumber[f],v=[g,b,y].join("#"),S=o.get(v);if(S!==void 0){m[f]=S+1;continue}o.set(v,i.length),m[f]=i.length+1,i.isJS.push(c.isJS[f]),i.name.push(g),i.resource.push(b),i.relevantForJS.push(c.relevantForJS[f]),i.source.push(h),i.lineNumber.push(y),i.columnNumber.push(c.columnNumber[f]),i.length++}a.push(m)}),{funcTable:i,translationMaps:a}}function aee(t,e,r,n){let o=[],a=kc();return t.forEach((i,s)=>{let{frameTable:l}=i.shared,c=e[s],d=r[s],u=n[s],p=new Int32Array(l.length);for(let m=0;m<l.length;m++){let f=JQ(l.func[m],c),h=QQ(l.nativeSymbol[m],d),b=eee(l.category[m],u),g=l.subcategory[m];a.address.push(l.address[m]),a.inlineDepth.push(l.inlineDepth[m]),a.category.push(b),a.subcategory.push(g),a.nativeSymbol.push(h),a.func.push(f),a.innerWindowID.push(l.innerWindowID[m]),a.line.push(l.line[m]),a.column.push(l.column[m]),p[m]=a.length+1,a.length++}o.push(p)}),{frameTable:a,translationMaps:o}}function iee(t,e){let r=[],n=ia();return t.forEach((o,a)=>{let{stackTable:i}=o.shared,s=e[a],l=new Int32Array(i.length);for(let c=0;c<i.length;c++){let d=ZQ(i.frame[c],s),u=i.prefix[c],p=u===null?null:l[u]-1;n.frame.push(d),n.prefix.push(p),l[c]=n.length+1,n.length++}r.push(l)}),{stackTable:n,translationMaps:r}}function see(t){let[{thread:{samples:e,tid:r},weightMultiplier:n},{thread:{samples:o,tid:a},weightMultiplier:i}]=t,s=[],l=[],c={...wc(),weight:s,threadId:l},d=us(e),u=us(o),p=0,m=0;for(;p<e.length||m<o.length;)if(p<e.length&&(m>=o.length||d[p]<u[m])){c.stack.push(e.stack[p]),c.eventDelay.push(null),c.time.push(d[p]),l.push(e.threadId?e.threadId[p]:r);let h=e.weight?e.weight[p]:1;s.push(-n*h),c.length++,p++}else{c.stack.push(o.stack[m]),c.eventDelay.push(null),c.time.push(u[m]),l.push(o.threadId?o.threadId[m]:a);let h=o.weight?o.weight[m]:1;s.push(i*h),c.length++,m++}return c}function lee(t){let e=t.map(o=>o.thread),r=see(t);return{processType:"comparison",processStartupTime:Math.min(e[0].processStartupTime,e[1].processStartupTime),processShutdownTime:Math.max(e[0].processShutdownTime||0,e[1].processShutdownTime||0)||null,registerTime:Math.min(e[0].registerTime,e[1].registerTime),unregisterTime:Math.max(e[0].unregisterTime||0,e[1].unregisterTime||0)||null,pausedRanges:[],name:"Diff between 1 and 2",pid:"Diff between 1 and 2",tid:"Diff between 1 and 2",isMainThread:!0,samples:r,markers:sa()}}function iU(t){let e=cee(t),r=dee(t),n=1/0,o=-1/0,a=1/0,i=-1/0;for(let l of t)n=Math.min(l.processStartupTime,n),o=Math.max(l.processShutdownTime||1/0,o),a=Math.min(l.registerTime,a),i=Math.max(l.unregisterTime||1/0,i);return{processType:"merged",processStartupTime:n,processShutdownTime:o===1/0?null:o,registerTime:a,unregisterTime:i===1/0?null:i,pausedRanges:[],name:"Merged thread",pid:"Merged thread",tid:"Merged thread",isMainThread:!0,samples:e,markers:r}}function cee(t){let e=t.map(i=>i.samples),r=e.map(us),n=Array(e.length).fill(0),o=[],a={...wc(),threadId:o};for(;;){let i=null,s=1/0;for(let p=0;p<e.length;p++){let m=e[p],f=n[p];if(f>=m.length)continue;let h=r[p][f];h<s&&(i=p,s=h)}if(i===null)break;let l=i,c=e[l],d=r[l],u=n[l];a.stack.push(c.stack[u]),$(a.eventDelay).push(null),a.time.push(d[u]),o.push(c.threadId?c.threadId[u]:t[l].tid),a.length++,n[l]++}return a}function dee(t){let e=[],r={...sa(),threadId:e};return t.forEach(n=>{let{markers:o}=n;for(let a=0;a<o.length;a++)r.name.push(o.name[a]),r.data.push(o.data[a]),r.startTime.push(o.startTime[a]),r.endTime.push(o.endTime[a]),r.phase.push(o.phase[a]),r.category.push(o.category[a]),e.push(o.threadId?o.threadId[a]:n.tid),r.length++}),r}function uee(t,e){let r=Ah(e.markers);for(let n of t){if(n===e)continue;let{markers:o}=n;for(let a=0;a<o.length;a++){let i=o.data[a];i===null||i.type!=="CompositorScreenshot"||(r.data.push(i),r.name.push(o.name[a]),r.startTime.push(o.startTime[a]),r.endTime.push(o.endTime[a]),r.phase.push(o.phase[a]),r.category.push(o.category[a]),r.threadId&&r.threadId.push(o.threadId?o.threadId[a]:n.tid),r.length++)}}return r}var sU="application/vnd.firefox-profiler+json;version=1.0";async function vb(t){let e=t;if(!e.startsWith("https://profiler.firefox.com/")){let i=new URL(e);i.protocol="https",i.host="profiler.firefox.com",i.port="",e=i.toString()}let r=`${xc}/shorten`,o=await fetch(r,{method:"POST",headers:{Accept:sU,"Content-Type":"application/json"},body:JSON.stringify({longUrl:e})});if(!o.ok)throw new Error(`An error happened while shortening the long url ${e}: ${o.statusText} (${o.status})`);return(await o.json()).shortUrl}async function lU(t){let e=`${xc}/expand`,n=await fetch(e,{method:"POST",headers:{Accept:sU,"Content-Type":"application/json"},body:JSON.stringify({shortUrl:t})});if(!n.ok)throw new Error(`An error happened while expanding the shortened url ${t}: ${n.statusText} (${n.status})`);return(await n.json()).longUrl}var Am=class t extends Error{attempt;constructor(e,r=null){super(e),this.__proto__=t.prototype,this.name="TemporaryError",this.attempt=r}};var GU=T(Zr());var kb=T(Zr()),_U=T(hy());var cU=`data:image/svg+xml,<?xml version="1.0" encoding="utf-8"?>%0A<!-- This Source Code Form is subject to the terms of the Mozilla Public%0A - License, v. 2.0. If a copy of the MPL was not distributed with this%0A - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->%0A<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%0A width="64" height="64" viewBox="0 0 64 64">%0A <defs>%0A <style>%0A .style-puzzle-piece {%0A fill: url('%23gradient-linear-puzzle-piece');%0A }%0A </style>%0A <linearGradient id="gradient-linear-puzzle-piece" x1="0%" y1="0%" x2="0%" y2="100%">%0A <stop offset="0%" stop-color="%2366cc52" stop-opacity="1"/>%0A <stop offset="100%" stop-color="%2360bf4c" stop-opacity="1"/>%0A </linearGradient>%0A </defs>%0A <path class="style-puzzle-piece" d="M42,62c2.2,0,4-1.8,4-4l0-14.2c0,0,0.4-3.7,2.8-3.7c2.4,0,2.2,3.9,6.7,3.9c2.3,0,6.2-1.2,6.2-8.2 c0-7-3.9-7.9-6.2-7.9c-4.5,0-4.3,3.7-6.7,3.7c-2.4,0-2.8-3.8-2.8-3.8V22c0-2.2-1.8-4-4-4H31.5c0,0-3.4-0.6-3.4-3 c0-2.4,3.8-2.6,3.8-7.1c0-2.3-1.3-5.9-8.3-5.9s-8,3.6-8,5.9c0,4.5,3.4,4.7,3.4,7.1c0,2.4-3.4,3-3.4,3H6c-2.2,0-4,1.8-4,4l0,7.8 c0,0-0.4,6,4.4,6c3.1,0,3.2-4.1,7.3-4.1c2,0,4,1.9,4,6c0,4.2-2,6.3-4,6.3c-4,0-4.2-4.1-7.3-4.1c-4.8,0-4.4,5.8-4.4,5.8L2,58 c0,2.2,1.8,4,4,4H19c0,0,6.3,0.4,6.3-4.4c0-3.1-4-3.6-4-7.7c0-2,2.2-4.5,6.4-4.5c4.2,0,6.6,2.5,6.6,4.5c0,4-3.9,4.6-3.9,7.7 c0,4.9,6.3,4.4,6.3,4.4H42z"/>%0A</svg>%0A`;var Ts=class{_ctx;_previousFillColor;constructor(e){this._ctx=e,this._previousFillColor=""}set(e){e!==this._previousFillColor&&(this._ctx.fillStyle=e,this._previousFillColor=e)}};function dU(t,e){let r=0,n=0;for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&(r++,t[o]!==e[o]))return!1;for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&n++;return r===n}function uU(t){return t.length<200?t:`${t.slice(0,150)}...${t.slice(-20)}`}function Tb(t,e,r){let n=r.start,o=r.end;if(o===null){let a=(e-t)/40;n=r.start-a,o=r.start+a}return{start:n,end:o}}function Md(t){return{ctrlOrMeta:(t.ctrlKey||t.metaKey)&&!t.altKey,shift:t.shiftKey&&!t.altKey}}function pU(t){let e=0;for(let r=0;r<t.length;r++)t[r]>0&&e++;return e}function Sb(t){let e=-1/0,r;for(let[n,o]of t)o>e&&(e=o,r=n);return r}function mU(t,e,r,n){let o=[],a=[];for(let i=0;i<t.length;i++){let s=t.frame[i],l=t.prefix[i],c=e.nativeSymbol[s],d=null,u=l!==null?a[l]:null;c===n&&(d=e.address[s],d!==-1&&(u===null?u=new Set([d]):u.has(d)||(u=new Set(u),u.add(d)))),o.push(d),a.push(u)}return{selfAddress:o,stackAddresses:a}}var fee={totalAddressHits:new Map,selfAddressHits:new Map};function fU(t,e){if(t===null)return fee;let{selfAddress:r,stackAddresses:n}=t,o=new Map,a=new Map;for(let i=0;i<e.length;i++){let s=e.stack[i];if(s===null)continue;let l=e.weight?e.weight[i]:1,c=n[s];if(c!==null)for(let u of c){let p=o.get(u)??0;o.set(u,p+l)}let d=r[s];if(d!==null){let u=a.get(d)??0;a.set(d,u+l)}}return{totalAddressHits:o,selfAddressHits:a}}function hU(t,e,r,n){if(n===null)return new Map;let o=new Map;for(let a=0;a<t.length;a++){let i=t.stack[a];if(i===null)continue;let s=e[i];if(s===-1||r.nativeSymbol[s]!==n)continue;let l=r.address[s];if(l===-1)continue;let c=t.weight!==null?t.weight[a]:1;o.set(l,(o.get(l)??0)+c)}return o}function Fl(t,e,r,n){let{stackTable:o,frameTable:a,funcTable:i,stringTable:s,resourceTable:l,nativeSymbols:c}=r,d=e.funcForNode(t),u=i.source[d],p=i.resource[d],m=p!==-1&&l.type[p]===pt.library?l.lib[p]:null,f=hB(t,e,o),h=jB(f,a),b=null,g=KB(n,f,a),y=Sb(g);y!==void 0&&(h.add(y),b=y);let v=[...h];v.sort((N,O)=>N-O),v.length!==0&&b===null&&(b=v[0]);let S=v.map(N=>rI(N,c,a,s)),x=i.lineNumber[d],w=pD(n,f,a,x),I=Sb(w),C=hU(n,f,a,b),k=Sb(C);return{libIndex:m,sourceIndex:u,nativeSymbols:S,initialNativeSymbol:b!==null?v.indexOf(b):null,scrollToLineNumber:I,scrollToInstructionAddress:k,highlightedLineNumber:null,highlightedInstructionAddress:null}}function xb(t,e){let{stackTable:r,frameTable:n,funcTable:o,resourceTable:a,nativeSymbols:i,stringTable:s}=e,l=r.frame[t],c=n.func[l],d=o.source[c],u=o.resource[c],p=u!==-1&&a.type[u]===pt.library?a.lib[u]:null,m=n.nativeSymbol[l],f=m!==null?[rI(m,i,n,s)]:[],h=m!==null?n.address[l]:-1,b=n.line[l];return{libIndex:p,sourceIndex:d,nativeSymbols:f,initialNativeSymbol:0,scrollToLineNumber:b??void 0,highlightedLineNumber:b,scrollToInstructionAddress:h!==-1?h:void 0,highlightedInstructionAddress:h!==-1?h:null}}function gU(t){return t.type==="NON_INVERTED"?t.timings:null}function hee(t){try{let e=new URL("/favicon.ico",t);return e.protocol==="http:"&&(e.protocol="https:"),e.href}catch{return console.error("Error while extracing the favicon from the libname",t),null}}var QC=class{_callNodeInfo;_callNodeTable;_callTreeTimings;_callNodeHasChildren;constructor(e,r){this._callNodeInfo=e,this._callNodeTable=e.getCallNodeTable(),this._callTreeTimings=r,this._callNodeHasChildren=r.callNodeHasChildren}_getFirstChildIndex(e){return e===-1?this._callNodeTable.length!==0?0:-1:this._callNodeTable.subtreeRangeEnd[e]!==e+1?e+1:-1}createRoots(){return this.createChildren(-1)}createChildren(e){let r=this._getFirstChildIndex(e),n=[];for(let o=r;o!==-1;o=this._callNodeTable.nextSibling[o]){let a=this._callTreeTimings.total[o],i=this._callNodeHasChildren[o];(a!==0||i!==0)&&n.push(o)}return n.sort((o,a)=>Math.abs(this._callTreeTimings.total[a])-Math.abs(this._callTreeTimings.total[o])),n}hasChildren(e){return this._callNodeHasChildren[e]!==0}getSelfAndTotal(e){let r=this._callTreeTimings.self[e],n=this._callTreeTimings.total[e];return{self:r,total:n}}findHeaviestPathInSubtree(e){let r=this._callNodeTable.subtreeRangeEnd[e],n=-1,o=0;for(let a=e;a<r;a++){let i=Math.abs(this._callTreeTimings.self[a]);(n===-1||i>o)&&(n=a,o=i)}return this._callNodeInfo.getCallNodePathFromIndex(n)}},eP=class{_timings;constructor(e){this._timings=e}hasChildren(e){return!1}createChildren(e){return[]}createRoots(){return this._timings.sortedFuncs}getSelfAndTotal(e){return{self:this._timings.funcSelf[e],total:this._timings.funcTotal[e]}}findHeaviestPathInSubtree(e){throw new Error("unexpected call to findHeaviestPathInSubtree in CallTreeInternalFunctionList")}},tP=class{_callNodeInfo;_callNodeTable;_callNodeSelf;_rootNodes;_totalPerRootFunc;_hasChildrenPerRootFunc;_totalAndHasChildrenPerNonRootNode=new Map;constructor(e,r){this._callNodeInfo=e,this._callNodeTable=e.getCallNodeTable(),this._callNodeSelf=r.callNodeSelf;let{sortedRoots:n,totalPerRootFunc:o,hasChildrenPerRootFunc:a}=r;this._totalPerRootFunc=o,this._hasChildrenPerRootFunc=a,this._rootNodes=n}createRoots(){return this._rootNodes}hasChildren(e){return this._callNodeInfo.isRoot(e)?this._hasChildrenPerRootFunc[e]!==0:this._getTotalAndHasChildren(e).hasChildren}createChildren(e){if(!this.hasChildren(e))return[];let r=this._callNodeInfo.getChildren(e).filter(n=>{let{total:o,hasChildren:a}=this._getTotalAndHasChildren(n);return o!==0||a});return r.sort((n,o)=>Math.abs(this._getTotalAndHasChildren(o).total)-Math.abs(this._getTotalAndHasChildren(n).total)),r}getSelfAndTotal(e){if(this._callNodeInfo.isRoot(e)){let n=this._totalPerRootFunc[e];return{self:n,total:n}}let{total:r}=this._getTotalAndHasChildren(e);return{self:0,total:r}}_getTotalAndHasChildren(e){if(this._callNodeInfo.isRoot(e))throw new Error("This function should not be called for roots");let r=this._totalAndHasChildrenPerNonRootNode.get(e);if(r!==void 0)return r;let n=vU(e,this._callNodeInfo,this._callNodeSelf);return this._totalAndHasChildrenPerNonRootNode.set(e,n),n}findHeaviestPathInSubtree(e){let[r,n]=this._callNodeInfo.getSuffixOrderIndexRangeForCallNode(e),o=this._callNodeInfo.getSuffixOrderedCallNodes(),a=-1,i=0;for(let l=r;l<n;l++){let c=o[l],d=Math.abs(this._callNodeSelf[c]);(a===-1||d>i)&&(a=c,i=d)}let s=[];for(let l=a;l!==-1;l=this._callNodeTable.prefix[l])s.push(this._callNodeTable.func[l]);return s}},Om=class{_categories;_internal;_callNodeInfo;_thread;_previewFilteredCtssSamples;_rootTotalSummary;_displayDataByIndex;_children;_roots;_isHighPrecision;_weightType;constructor(e,r,n,o,a,i,s,l){this._categories=r,this._internal=a,this._callNodeInfo=n,this._thread=e,this._previewFilteredCtssSamples=o,this._rootTotalSummary=i,this._displayDataByIndex=new Map,this._children=[],this._roots=a.createRoots(),this._isHighPrecision=s,this._weightType=l}getRoots(){return this._roots}getChildren(e){let r=this._children[e];return r===void 0&&(r=this._internal.createChildren(e),this._children[e]=r),r}hasChildren(e){return this._internal.hasChildren(e)}_addDescendantsToSet(e,r){for(let n of this.getChildren(e))r.add(n),this._addDescendantsToSet(n,r)}getAllDescendants(e){let r=new Set;return this._addDescendantsToSet(e,r),r}getParent(e){return this._callNodeInfo.prefixForNode(e)}getDepth(e){return this._callNodeInfo.depthForNode(e)}getNodeData(e){let r=this._callNodeInfo.funcForNode(e),n=this._thread.stringTable.getString(this._thread.funcTable.name[r]),{self:o,total:a}=this._internal.getSelfAndTotal(e),i=a/this._rootTotalSummary,s=o/this._rootTotalSummary;return{funcName:n,total:a,totalRelative:i,self:o,selfRelative:s}}_getInliningBadge(e,r){let n=Go(r),o=this._callNodeInfo.sourceFramesInlinedIntoSymbolForNode(e);if(o===-2)return;if(o===-1)return{name:"divergent-inlining",vars:{calledFunction:n},localizationId:"CallTree--divergent-inlining-badge",contentFallback:"",titleFallback:`Some calls to ${n} were inlined by the compiler.`};let a=Go(this._thread.stringTable.getString(this._thread.nativeSymbols.name[o]));return{name:"inlined",vars:{calledFunction:n,outerFunction:a},localizationId:"CallTree--inlining-badge",contentFallback:"(inlined)",titleFallback:`Calls to ${n} were inlined into ${a} by the compiler.`}}getDisplayData(e){let r=this._displayDataByIndex.get(e);if(r===void 0){let{funcName:n,total:o,totalRelative:a,self:i}=this.getNodeData(e),s=this._callNodeInfo.funcForNode(e),l=this._callNodeInfo.categoryForNode(e),c=this._callNodeInfo.subcategoryForNode(e),d=this._getInliningBadge(e,n),u=this._thread.funcTable.resource[s],p=this._thread.resourceTable.type[u],m=u===-1,f=this._getOriginAnnotation(s),h=this._weightType,b=null,g=null;if(p===pt.webhost)g=b=hee(f);else if(p===pt.addon){b=cU;let C=this._thread.resourceTable.name[u];g=this._thread.stringTable.getString(C)}let y=Vk(h,this._isHighPrecision,o),v=Vk(h,this._isHighPrecision,i),S=`${Kt(a)}`,x,w,I;switch(h){case"tracing-ms":{w=`${y}ms`,I=`${v}ms`,x=we`
|
|
71
|
+
${n},
|
|
72
|
+
running time is ${w} (${S}),
|
|
73
|
+
self time is ${I}
|
|
74
|
+
`;break}case"samples":{w=o===1?`${y} sample`:`${y} samples`,I=i===1?`${v} sample`:`${v} samples`,x=we`
|
|
75
|
+
${n},
|
|
76
|
+
running count is ${w} (${S}),
|
|
77
|
+
self count is ${I}
|
|
78
|
+
`;break}case"bytes":{w=`${y} bytes`,I=`${v} bytes`,x=we`
|
|
79
|
+
${n},
|
|
80
|
+
total size is ${w} (${S}),
|
|
81
|
+
self size is ${I}
|
|
82
|
+
`;break}default:throw Y(h,"Unhandled WeightType.")}r={total:o===0?"\u2014":y,totalWithUnit:o===0?"\u2014":w,self:i===0?"\u2014":v,selfWithUnit:i===0?"\u2014":I,totalPercent:S,name:n,lib:f.slice(0,1e3),isFrameLabel:m,badge:d,categoryName:wl(this._categories,l,c),categoryColor:this._categories[l].color,iconSrc:b,icon:g,ariaLabel:x},this._displayDataByIndex.set(e,r)}return r}_getOriginAnnotation(e){return ps(e,this._thread.funcTable,this._thread.resourceTable,this._thread.stringTable,this._thread.sources)}getBottomBoxInfoForCallNode(e){return Fl(e,this._callNodeInfo,this._thread,this._previewFilteredCtssSamples)}findHeavyPathToSameFunctionAfterInversion(e){if(e===null)return[];let r=this._internal.findHeaviestPathInSubtree(e),n=this._callNodeInfo.depthForNode(e);return r.slice(n).reverse()}};function yU(t,e,r){let n=new Float64Array(r);for(let i=0;i<e.length;i++){let s=e[i];if(s!==null){let l=t.weight?t.weight[i]:1;n[s]+=l}}let o=Math.abs,a=0;for(let i=0;i<r;i++)a+=o(n[i]);return{callNodeSelf:n,rootTotalSummary:a}}function bU(t,e,r){switch(r.type){case"NON_INVERTED":{let{timings:n}=r,o=n.self[t],a=n.total[t];return{self:o,total:a}}case"FUNCTION_LIST":{let n=$(e.asInverted()),{timings:o}=r,{funcSelf:a,funcTotal:i}=o;if(!n.isRoot(t))throw new Error("When using function list timings, callNodeIndex must always refer to a function (an inverted root)");return{self:a[t],total:i[t]}}case"INVERTED":{let n=$(e.asInverted()),{timings:o}=r,{callNodeSelf:a,totalPerRootFunc:i}=o;if(n.isRoot(t)){let l=i[t];return{self:l,total:l}}let{total:s}=vU(t,n,a);return{self:0,total:s}}default:throw Y(r,"callTreeTimings.type")}}function vU(t,e,r){let n=e.depthForNode(t),[o,a]=e.getSuffixOrderIndexRangeForCallNode(t),i=e.getSuffixOrderedCallNodes(),s=e.getCallNodeTable().depth,l=0,c=!1;for(let d=o;d<a;d++){let u=i[d],p=r[u];l+=p,c=c||p!==0&&s[u]>n}return{total:l,hasChildren:c}}function gee(t,{callNodeSelf:e,rootTotalSummary:r}){let n=t.getFuncCount(),o=t.getCallNodeTable(),a=o.func,i=o.depth,s=new Float64Array(n),l=new Uint8Array(n),c=new Uint8Array(n),d=[];for(let u=0;u<e.length;u++){let p=e[u];if(p===0)continue;let m=a[u];s[m]+=p,c[m]===0&&(c[m]=1,d.push(m)),i[u]!==0&&(l[m]=1)}return d.sort((u,p)=>Math.abs(s[p])-Math.abs(s[u])),{callNodeSelf:e,rootTotalSummary:r,sortedRoots:d,totalPerRootFunc:s,hasChildrenPerRootFunc:l}}function rP(t,e){let r=t.asInverted();return r!==null?{type:"INVERTED",timings:gee(r,e)}:{type:"NON_INVERTED",timings:nP(t,e)}}function nP(t,e){let r=t.getCallNodeTable(),{callNodeSelf:n,rootTotalSummary:o}=e,a=new Float64Array(r.length),i=new Uint8Array(r.length);for(let s=r.length-1;s>=0;s--){let l=a[s]+n[s],c=i[s]!==0,d=l!==0;if(a[s]=l,!c&&!d)continue;let u=r.prefix[s];u!==-1&&(a[u]+=l,i[u]=1)}return{self:n,total:a,callNodeHasChildren:i,rootTotalSummary:o}}function yee(t,e,r,n){let o=t.func,a=t.prefix,i=t.length,s=new Float64Array(i),l=new Float64Array(n),c=[],d=new Uint8Array(n);for(let p=i-1;p>=0;p--){let m=s[p]+r[p];if(m===0)continue;let f=a[p];if(f!==-1&&(s[f]+=m),!md(e,p)){let h=o[p];l[h]+=m,d[h]===0&&(d[h]=1,c.push(h))}}let u=Math.abs;return c.sort((p,m)=>{let f=u(l[m])-u(l[p]);return f!==0?f:p-m}),{funcTotal:l,sortedFuncs:c}}function bee(t,e,r){let n=t.func,o=e.length,a=new Float64Array(r);for(let i=0;i<o;i++){let s=e[i];if(s!==0){let l=n[i];a[l]+=s}}return a}function TU(t,e,{callNodeSelf:r,rootTotalSummary:n},o){let a=bee(t,r,o),{funcTotal:i,sortedFuncs:s}=yee(t,e,r,o);return{funcSelf:a,funcTotal:i,sortedFuncs:s,rootTotalSummary:n}}function oP(t,e,r,n,o,a){return ct("getCallTree",()=>{switch(o.type){case"NON_INVERTED":{let{timings:i}=o;return new Om(t,r,e,n,new QC(e,i),i.rootTotalSummary,!!t.isJsTracer,a)}case"FUNCTION_LIST":{let{timings:i}=o;return new Om(t,r,e,n,new eP(i),i.rootTotalSummary,!!t.isJsTracer,a)}case"INVERTED":{let{timings:i}=o;return new Om(t,r,e,n,new tP($(e.asInverted()),i),i.rootTotalSummary,!!t.isJsTracer,a)}default:throw Y(o,"Unhandled CallTreeTimings type.")}})}function aP(t,e){switch(e){case"timing":return t.samples;case"js-allocations":return $(t.jsAllocations,'Expected the NativeAllocationTable to exist when using a "js-allocation" strategy');case"native-retained-allocations":{let r=$(t.nativeAllocations,'Expected the NativeAllocationTable to exist when using a "native-allocation" strategy');if(!("memoryAddress"in r))throw new Error("Attempting to filter by retained allocations data that is missing the memory addresses.");return UB(r)}case"native-allocations":return FB($(t.nativeAllocations,'Expected the NativeAllocationTable to exist when using a "native-allocations" strategy'));case"native-deallocations-sites":return BB($(t.nativeAllocations,'Expected the NativeAllocationTable to exist when using a "native-deallocations-sites" strategy'));case"native-deallocations-memory":{let r=$(t.nativeAllocations,'Expected the NativeAllocationTable to exist when using a "native-deallocations-memory" strategy');if(!("memoryAddress"in r))throw new Error("Attempting to filter by retained allocations data that is missing the memory addresses.");return HB($(r,'Expected the NativeAllocationTable to exist when using a "js-allocation" strategy'))}default:throw Y(e)}}function SU(t,e){switch(e){case"timing":return t.samples;case"js-allocations":return $(t.jsAllocations,'Expected the NativeAllocationTable to exist when using a "js-allocation" strategy');case"native-retained-allocations":case"native-allocations":case"native-deallocations-sites":case"native-deallocations-memory":return $(t.nativeAllocations,'Expected the NativeAllocationTable to exist when using a "native-allocation" strategy');default:throw Y(e)}}function xU(t,e,r,n){if(t.weightType!=="samples"||t.weight)return null;let o=new Float64Array(r),a=0;for(let i=0;i<t.length-1;i++){let s=e[i];if(s!==null){let l=t.time[i+1]-t.time[i];o[s]+=l,a+=l}}if(t.length>0){let i=e[t.length-1];if(i!==null){let s=n;o[i]+=s,a+=s}}return{callNodeSelf:o,rootTotalSummary:a}}async function kU(t,e="application/octet-stream"){return new Promise((r,n)=>{let o=Object.assign(new FileReader,{onload:()=>r(o.result),onerror:()=>n(o.error)});o.readAsDataURL(new Blob([t],{type:e}))})}function vee(t){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r.buffer}function IU(t){return"fromBase64"in Uint8Array?Uint8Array.fromBase64(t).buffer:vee(t)}var MU=T(E()),Cee=(0,kb.default)(vB,{limit:2}),Pee=(0,kb.default)(TB,{limit:2});function NU(t,e){let r=t.size===1?$(ro(t)):null,n=D(Ne,R=>iU([...t].map(z=>R.threads[z]))),o=R=>r!==null?Ne(R).threads[r]:n(R),a=D(R=>o(R).tracedValuesBuffer,R=>R?IU(R):void 0),i=R=>o(R).samples,s=D(i,gm,cb,PB),l=R=>o(R).nativeAllocations,c=R=>o(R).jsAllocations,d=R=>Sl(o(R),ot(R)),u=R=>i(R).weightType||"samples",p=D(o,s,tC,R=>cr(R).frameTable,nC,R=>cr(R).nativeSymbols,R=>cr(R).resourceTable,Rr,di,a,EB),m=D(p,de,(R,z)=>{let{start:Q,end:ie}=z;return Qk(R,Q,ie)}),f=D(p,SI,(R,z)=>{switch(z){case"timing":if(R.samples.length===0&&R.nativeAllocations&&R.nativeAllocations.length>0)return"native-allocations";break;case"js-allocations":if(!R.jsAllocations)return"timing";break;case"native-allocations":case"native-retained-allocations":case"native-deallocations-sites":case"native-deallocations-memory":if(!R.nativeAllocations)return"timing";break;default:Y(z,"Unhandled call tree sumary strategy.")}return z}),h=D(p,f,SU),b=D(h,de,(R,{start:z,end:Q})=>{let[ie]=zn(R,z,Q);return ie}),g=D(s,de,(R,{start:z,end:Q})=>{let[ie]=zn(R,z,Q);return ie}),y=D(Ut,o,yn),v=D(o,y,MB),S=R=>qt(R).perThread[e]||jI,x=D(s,cr,(R,z)=>Za(R.stack,z)),w=D(c,cr,(R,z)=>Za(R?.stack,z)),I=D(l,cr,(R,z)=>Za(R?.stack,z)),C=R=>{let z=l(R);return z?"memoryAddress"in z:!1},k=R=>p(R).jsTracer||null,N=D(k,cr,(R,z)=>R===null?null:F2(R,z)),O=D(k,Rr,(R,z)=>R===null?null:B2(R,z)),L=D(s,ot,(R,z)=>R===null||R.eventDelay===void 0?null:IB(R,z));return{getRawThread:o,getThread:p,getSamplesTable:s,getTracedValuesBuffer:a,getSamplesWeightType:u,getNativeAllocations:l,getJsAllocations:c,getThreadRange:d,getRangeFilteredThread:m,getUnfilteredCtssSamples:h,getFilteredCtssSampleIndexOffset:b,getFilteredSampleIndexOffset:g,getFriendlyThreadName:y,getThreadProcessDetails:v,getViewOptions:S,getJsTracerTable:k,getExpensiveJsTracerTiming:N,getExpensiveJsTracerLeafTiming:O,getHasUsefulTimingSamples:x,getHasUsefulJsAllocations:w,getHasUsefulNativeAllocations:I,getCanShowRetainedMemory:C,getProcessedEventDelays:R=>$(L(R),"Could not get the processed event delays"),getCallTreeSummaryStrategy:f}}function RU(t,e){let r=(0,kb.default)(xH,{cache:new _U.default}),n=h=>DI(h,e),o=D(t.getRangeFilteredThread,n,t.getMarkerGetter,t.getFullMarkerListIndexes,It,Qe,(h,b,g,y,v,S)=>b.reduce((x,w)=>r(x,w,g,y,v,S),h)),a=D(o,kr,(h,b)=>{let g=Cee(h.stackTable,h.frameTable,h.funcTable,h.stringTable,b);return Jk(g,h)}),i=D(a,Jy,(h,b)=>{let g=Pee(h.stackTable,h.frameTable,h.funcTable,h.resourceTable,h.sources,h.stringTable,b);return Jk(g,h)}),s=D(i,mt,(h,b)=>{if(!b)return h;let{selectionStart:g,selectionEnd:y}=b;return Qk(h,g,y)}),l=D(i,t.getCallTreeSummaryStrategy,aP),c=D(l,h=>h.length!==0&&h.stack.some(b=>b!==null)),d=D(s,t.getCallTreeSummaryStrategy,aP),u=D(d,h=>h.length!==0&&h.stack.some(b=>b!==null)),p=D(l,mt,t.getFilteredCtssSampleIndexOffset,(h,b,g)=>{if(!b)return g;let[y]=zn(h,b.selectionStart,b.selectionEnd);return g+y}),m=D(Tn,o,t.getFriendlyThreadName,n,yH),f=D(m,h=>h.map(b=>(0,MU.jsx)(P,{id:b.l10nId,vars:{item:b.item}},b.item)));return{getTransformStack:n,getRangeAndTransformFilteredThread:o,getFilteredThread:i,getPreviewFilteredThread:s,getFilteredCtssSamples:l,getPreviewFilteredCtssSamples:d,getPreviewFilteredCtssSampleIndexOffset:p,getHasFilteredCtssSamples:c,getHasPreviewFilteredCtssSamples:u,getTransformLabelL10nIds:m,getLocalizedTransformLabels:f}}function Ib(t,e,r){let n=new Map,o=new Map;for(let i of e){let s=t(i),l=h=>{h.start.push(s.start),h.end.push(s.end===null?s.start:s.end),h.index.push(i),h.length++},c=r?r[s.category].name:"None",d=s.data&&s.data.type==="Network"?"Network Requests":s.name,u=({instantOnly:h})=>({start:[],end:[],index:[],name:d,bucket:c,instantOnly:h,length:0});if(s.end===null){let h=o.get(d);h||(h=u({instantOnly:!0}),o.set(d,h)),l(h);continue}let p=n.get(d);p===void 0&&(p=[],n.set(d,p));let m=p.find(h=>h.end[h.length-1]<=s.start);if(m){l(m);continue}if(p.length>=300)continue;let f=u({instantOnly:!1});l(f),p.push(f)}let a=[...o.values()].concat(...n.values());return a.sort((i,s)=>{if(i.bucket!==s.bucket)return i.bucket==="Test"?-1:s.bucket==="Test"||i.bucket==="Other"?1:s.bucket==="Other"?-1:i.bucket>s.bucket?1:-1;if(i.name===s.name)return i.instantOnly?-1:s.instantOnly?1:0;if(i.bucket==="Network"){if(i.name==="Network Requests")return 1;if(s.name==="Network Requests")return-1}return i.name.toLowerCase()>s.name.toLowerCase()?1:-1}),a}function LU(t,e,r){let n=Ib(t,e,r),o=[],a;for(let i of n)i.bucket!==a&&(o.push(i.bucket),a=i.bucket),o.push(i);return o}var Cb=D(qt,t=>t.rightClickedMarker);function DU(t,e){let o=D(q=>t.getThread(q).markers,q=>Ne(q).shared.stringArray,q=>t.getThread(q).tid,t.getThreadRange,aC,Ly),a=D(o,({markers:q})=>q),i=D(o,({markerIndexToRawMarkerIndexes:q})=>q),s=D(t.getSamplesTable,Nl,(q,ee)=>rH(q,50,ee)),l=D(a,s,(q,ee)=>[...q,...ee].sort((le,pe)=>le.start-pe.start)),c=q=>l(q).length,d=D(l,q=>ee=>{let le=q[ee];if(!le)throw new Error(xr`
|
|
83
|
+
Tried to get marker index ${ee} but it's not in the full list.
|
|
84
|
+
This is a programming error.
|
|
85
|
+
`);return le}),u=D(l,q=>q.map((ee,le)=>le)),p=q=>(ee,le)=>Dy(ee,le,q),m=D(d,u,de,(q,ee,le)=>{let{start:pe,end:he}=le;return aI(q,ee,pe,he)}),f=D(d,m,Wn,It,()=>"timeline-overview",kl),h=D(d,m,p(sH)),b=D(d,m,s,(q,ee,le)=>{let pe=le.length>0?"Jank":"BHR-detected hang";return p(he=>!!(he.data&&he.data.type===pe))(q,ee)}),g=D(d,m,It,MI,Rr,Qe,rm),y=D(d,g,mt,(q,ee,le)=>{if(!le)return ee;let{selectionStart:pe,selectionEnd:he}=le;return aI(q,ee,pe,he)}),v=D(l,q=>q.every(ee=>!Ay(ee))),S=D(d,m,p(Ay)),x=D(d,m,p(iH)),w=D(d,S,It,LI,Rr,Qe,rm),I=D(l,q=>q.every(ee=>Ay(ee))),C=D(d,g,Wn,It,(q,ee,le,pe)=>kl(q,ee,le,pe,"marker-chart",iI(pe))),k=D(d,y,Wn,It,(q,ee,le,pe)=>kl(q,ee,le,pe,"marker-table",iI(pe))),N=D(d,Wn,It,Qe,Rr,()=>"tooltipLabel",tm),O=D(d,Wn,It,Qe,Rr,()=>"tableLabel",tm),L=D(d,Wn,It,Qe,Rr,()=>"chartLabel",tm),F=D(d,Wn,It,Qe,Rr,()=>"copyLabel",tm),R=D(d,It,Rr,tH),z=D(d,C,Qe,LU),Q=D(d,m,Wn,It,()=>"timeline-fileio",()=>lH,kl),ie=D(d,m,Wn,It,()=>"timeline-memory",kl),me=D(d,m,Wn,It,()=>"timeline-ipc",kl),M=D(d,S,()=>null,Ib),G=D(d,x,()=>null,Ib),B=D(d,m,cH),A=D(c,q=>AI(q,e),(q,ee)=>ee===null||ee>=q?null:ee),K=q=>{let ee=d(q),le=A(q);return le===null?null:ee(le)},Z=q=>t.getViewOptions(q).selectedNetworkMarker,ne=q=>{let ee=d(q),le=Z(q);return le===null?null:ee(le)},ue=D(Cb,q=>q!==null&&q.threadsKey===e?q.markerIndex:null),Xe=D(d,ue,(q,ee)=>typeof ee=="number"?q(ee):null),st=D(qt,({hoveredMarker:q})=>q!==null&&q.threadsKey===e?q.markerIndex:null),Me={},Ve=(q,ee)=>{let le=q.name;return Me[le]||(Me[le]={}),Me[le][ee]||(Me[le][ee]=Ct(q,ee)),Me[le][ee]};function Ct(q,ee){let le=D(l,Rr,(Rt,Je)=>{if(q.graphs===void 0)throw new Error(`No graphs for marker ${ee}. This shouldn't happen.`);let ln=[],Mt=[],{graphs:yr,name:cn}=q,eo=yr.map(br=>(Mt.push([]),br.key)),dn=Je.getString(ee);return Rt.forEach((br,An)=>{let Po=br.data;if(Po&&br.name===dn&&Po.type===cn&&eo.every(On=>On in Po)){ln.push(An);for(let On=0;On<eo.length;++On){let el=Po[eo[On]];Mt[On].push(el)}}}),{numbersPerLine:Mt,markerIndexes:ln}}),pe=D(le,de,d,(Rt,Je,ln)=>Py({time:Rt.markerIndexes.map(Mt=>ln(Mt).start),length:Rt.markerIndexes.length},Je.start,Je.end)),he=D(le,pe,(Rt,Je)=>{let[ln,Mt]=Je,{numbersPerLine:yr}=Rt;if(ln>=Mt)return{minNumber:0,maxNumber:0};let cn=1/0,eo=-1/0;for(let dn=ln;dn<Mt;dn++)for(let br=0;br<yr.length;br++){let An=yr[br][dn];An<cn&&(cn=An),An>eo&&(eo=An)}return{minNumber:cn,maxNumber:eo}});return{getCollectedCustomMarkerSamples:le,getCommittedRangeMarkerSampleRange:pe,getCommittedRangeMarkerSampleValueBounds:he}}return{getMarkerGetter:d,getTimelineJankMarkerIndexes:b,getDerivedMarkerInfo:o,getMarkerIndexToRawMarkerIndexes:i,getFullMarkerList:l,getFullMarkerListIndexes:u,getMarkerListLength:c,getNetworkMarkerIndexes:S,getSearchFilteredNetworkMarkerIndexes:w,getAreMarkerPanelsEmptyInFullRange:I,getMarkerTableMarkerIndexes:k,getMarkerChartMarkerIndexes:C,getMarkerChartLabelGetter:L,getMarkerTooltipLabelGetter:N,getMarkerTableLabelGetter:O,getMarkerLabelToCopyGetter:F,getMarkerSearchTermGetter:R,getMarkerChartTimingAndBuckets:z,getCommittedRangeFilteredMarkerIndexes:m,getTimelineOverviewMarkerIndexes:f,getTimelineVerticalMarkerIndexes:h,getTimelineFileIoMarkerIndexes:Q,getTimelineMemoryMarkerIndexes:ie,getTimelineIPCMarkerIndexes:me,getNetworkTrackTiming:M,getRangeFilteredScreenshotsById:B,getSearchFilteredMarkerIndexes:g,getPreviewFilteredMarkerIndexes:y,getSelectedMarkerIndex:A,getSelectedMarker:K,getSelectedNetworkMarkerIndex:Z,getSelectedNetworkMarker:ne,getIsNetworkChartEmptyInFullRange:v,getUserTimingMarkerIndexes:x,getUserTimingMarkerTiming:G,getRightClickedMarkerIndex:ue,getRightClickedMarker:Xe,getHoveredMarkerIndex:st,getMarkerTrackSelectors:Ve}}function AU(t,e,r,n,o){let a=r.getCallNodeTable(),{prefix:i,subtreeRangeEnd:s,depth:l}=a,c=Array.from({length:n},()=>{let y={start:[],end:[],sameWidthsStart:[],sameWidthsEnd:[],callNode:[],length:0};return"argumentValues"in t&&(y.argumentValues=[]),y}),d=[];if(t.length===0)return{timings:c,sameWidthsIndexToTimestampMap:d};let u=-1,p=-1,m=new Float64Array(n),f=new Float64Array(n),h=new Int32Array(n),b=0;for(let y=0;y<t.length;y++){let v=e[y]??-1;if(v===u)continue;let S=-1;if("argumentValues"in t&&t.argumentValues!==void 0){let w=t.argumentValues[y];w!==null&&(S=w)}let x=t.time[y];for(;p!==-1&&(v<u||v>=s[u]);){let w=m[p],I=f[p],C=c[p],k=C.length++;C.start[k]=w,C.end[k]=x,C.sameWidthsStart[k]=I,C.sameWidthsEnd[k]=b,C.callNode[k]=u,C.argumentValues&&(C.argumentValues[k]=h[p]),u=i[u],p--}if(v!==-1){let w=l[v];for(;p<w;)p++,m[p]=x,f[p]=b,"argumentValues"in t&&t.argumentValues!==void 0&&(h[p]=S)}u=v,d[b]=x,b++}let g=t.time[t.length-1]+o;for(;p!==-1;){let y=c[p],v=y.length++,S=m[p],x=f[p];y.start[v]=S,y.end[v]=g,y.sameWidthsStart[v]=x,y.sameWidthsEnd[v]=b,y.callNode[v]=u,y.argumentValues&&(y.argumentValues[v]=h[p]),u=i[u],p--}return d[b]=g,{timings:c,sameWidthsIndexToTimestampMap:d}}function OU(t,e,r){if(t.length===0)return[[]];let{func:n,nextSibling:o,subtreeRangeEnd:a,maxDepth:i}=t,s=e.name,l=Array.from({length:i+1},()=>[]),c=new Int32Array(i+1),d=0,u=0;e:for(;;){let p=l[u],m=p.length;for(let y=d;y!==-1;y=o[y]){let v=p.length;if(m===v)p.push(y);else{let S=n[y],x=r.getString(s[S]),w=sD(p,x,I=>r.getString(s[n[I]]),m,v);p.splice(w,0,y)}}let f=u,h=p,b=c[f],g=h[b];for(;a[g]===g+1;){for(b++,c[f]=b;b===h.length;){if(f===0)break e;f--,h=l[f],b=c[f]}g=h[b]}c[f]=b+1,d=g+1,u=f+1}return l}function FU(t,e,r){let{total:n,self:o,rootTotalSummary:a}=r,{prefix:i}=e,s=[],l=new Float32Array(e.length),c=Math.abs;for(let d=0;d<t.length;d++){let u=t[d],p=[],m=[],f=[],h=[],b=0,g=-1;for(let y=0;y<u.length;y++){let v=u[y],S=n[v];if(S===0)continue;let x=i[v];x!==g&&(b=l[x],g=x),l[v]=b;let w=c(S/a),I=c(o[v]/a),C=b+w;p.push(b),m.push(C),f.push(I),h.push(v),b=C}s[d]={start:p,end:m,selfRelative:f,callNode:h,length:h.length}}return s}var Pb=D(qt,t=>t.rightClickedCallNode);var iP=T(Zr()),BU=Fk(ly,{maxSize:2}),Ree=(0,iP.default)(mB,{limit:2}),Mee=(0,iP.default)(fB,{limit:2});function HU(t,e){let r=D(t.getThread,ot,(A,K)=>{let{time:Z}=A.samples;return Z.length===0?null:{start:Z[0],end:Z[Z.length-1]+K}}),n=BU(A=>t.getFilteredThread(A).stackTable,A=>t.getFilteredThread(A).frameTable,Nl,Ree),o=BU(n,Nl,A=>t.getFilteredThread(A).funcTable.length,Mee),a=A=>sr(A)?o(A):n(A),i=A=>n(A).getCallNodeTable(),s=D(i,bB),l=D(t.getFilteredThread,ya,({stackTable:A,frameTable:K,funcTable:Z},ne)=>ne===null?null:dD(A,K,Z,ne)),c=D(t.getFilteredThread,zo,({nativeSymbols:A},K)=>K===null?null:A.address.findIndex((Z,ne)=>Z===K.address&&A.libIndex[ne]===K.libIndex)),d=D(t.getFilteredThread,c,({stackTable:A,frameTable:K,funcTable:Z},ne)=>ne===null?null:mU(A,K,Z,ne)),u=D(t.getViewOptions,sr,(A,K)=>K?A.selectedInvertedCallNodePath:A.selectedNonInvertedCallNodePath),p=D(a,u,(A,K)=>A.getCallNodeIndexFromPath(K)),m=D(t.getViewOptions,sr,(A,K)=>K?A.expandedInvertedCallNodePaths:A.expandedNonInvertedCallNodePaths),f=D(a,m,(A,K)=>Array.from(K).map(Z=>A.getCallNodeIndexFromPath(Z))),h=D(A=>t.getPreviewFilteredCtssSamples(A).stack,A=>a(A).getStackIndexToNonInvertedCallNodeIndex(),wy),b=D(A=>t.getFilteredCtssSamples(A).stack,A=>a(A).getStackIndexToNonInvertedCallNodeIndex(),wy),g=D(A=>t.getFilteredThread(A).samples.stack,A=>a(A).getStackIndexToNonInvertedCallNodeIndex(),wy),y=D(g,a,p,(A,K,Z)=>gB(K,A,Z)),v=D(g,a,AB),S=D(t.getFilteredCtssSamples,a,CB),x=D(t.getUnfilteredCtssSamples,A=>A.weightType||"samples"),w=D(t.getPreviewFilteredCtssSamples,h,a,(A,K,Z)=>yU(A,K,Z.getCallNodeTable().length)),I=D(a,w,rP),C=D(a,w,nP),k=D(i,s,w,A=>t.getFilteredThread(A).funcTable.length,TU),N=D(t.getFilteredThread,a,Qe,t.getPreviewFilteredCtssSamples,I,x,di,oP),O=D(t.getFilteredThread,o,Qe,t.getPreviewFilteredCtssSamples,k,x,(A,K,Z,ne,ue,Xe)=>oP(A,K,Z,ne,{type:"FUNCTION_LIST",timings:ue},Xe)),L=D(l,t.getPreviewFilteredCtssSamples,uD),F=D(d,t.getPreviewFilteredCtssSamples,fU),R=D(t.getPreviewFilteredCtssSamples,h,a,ot,(A,K,Z,ne)=>{let ue=xU(A,K,Z.getCallNodeTable().length,ne);return ue===null?null:rP(Z,ue)}),z=D(p,a,R,(A,K,Z)=>A===null||Z===null?null:bU(A,K,Z)),Q=D(t.getFilteredCtssSamples,b,a,S,ot,AU),ie=A=>Q(A).timings,me=A=>Q(A).sameWidthsIndexToTimestampMap,M=D(A=>a(A).getCallNodeTable(),A=>t.getFilteredThread(A).funcTable,A=>t.getFilteredThread(A).stringTable,OU),G=D(M,A=>a(A).getCallNodeTable(),C,FU),B=D(Pb,a,(A,K)=>A!==null&&e===A.threadsKey?K.getCallNodeIndexFromPath(A.callNodePath):null);return{unfilteredSamplesRange:r,getWeightTypeForCallTree:x,getCallNodeInfo:a,getSourceViewStackLineInfo:l,getAssemblyViewNativeSymbolIndex:c,getAssemblyViewStackAddressInfo:d,getSelectedCallNodePath:u,getSelectedCallNodeIndex:p,getExpandedCallNodePaths:m,getExpandedCallNodeIndexes:f,getSampleIndexToNonInvertedCallNodeIndexForFilteredThread:g,getSamplesSelectedStatesInFilteredThread:y,getTreeOrderComparatorInFilteredThread:v,getCallTree:N,getFunctionListTree:O,getSourceViewLineTimings:L,getAssemblyViewAddressTimings:F,getTracedTiming:R,getTracedSelfAndTotalForSelectedCallNode:z,getStackTimingByDepth:ie,getSameWidthsIndexToTimestampMap:me,getFilteredCallNodeMaxDepthPlusOne:S,getFlameGraphTiming:G,getRightClickedCallNodeIndex:B}}function UU(t){let e=D(cr,t.getRawThread,t.getIsNetworkChartEmptyInFullRange,t.getJsTracerTable,(n,o,a,i)=>{if(o.processType==="comparison")return["calltree"];let s=ni;a&&(s=s.filter(p=>p!=="network-chart")),i||(s=s.filter(p=>p!=="js-tracer"));let{samples:l,jsAllocations:c,nativeAllocations:d}=o;return[l,c,d].some(p=>Za(p?.stack,n))||(s=s.filter(p=>!oi.includes(p))),s}),r=D(t.getUserTimingMarkerTiming,t.getStackTimingByDepth,(n,o)=>[...n,...o]);return{getUsefulTabs:e,getCombinedTimingRows:r}}var sP={},Lee=(0,GU.default)(t=>{let e=new Set((""+t).split(",").map(r=>+r));return zU(e,t)},{limit:5}),$U=t=>{if(t in sP)return sP[t];let r=zU(new Set([t]));return sP[t]=r,r},gt=t=>{let e=null,r=null;return typeof t=="number"?e=t:r=t,e!==null?$U(e):(r=$(r),dr(Uo(r),r))},dr=(t,e=new Set((""+t).split(",").map(r=>+r)))=>e.size===1?$U($(ro(e))):Lee(t);function zU(t,e=Uo(t)){let r=NU(t,e);return r={...r,...DU(r,e)},r={...r,...RU(r,e)},r={...r,...HU(r,e)},r={...r,...UU(r)},r}var j=(()=>{let t=gt(0),e={};for(let n in t)e[n]=o=>gt(kt(o))[n](o);return e})(),Ld=(()=>{let t=D(j.getSelectedCallNodePath,j.getFilteredThread,(o,{stringTable:a,funcTable:i})=>{if(!o.length)return"";let s=ky(o);return a.getString(i.name[s])}),e=D(j.getSelectedCallNodePath,j.getFilteredThread,(o,{funcTable:a})=>{if(!o.length)return!1;let i=ky(o);return a.isJS[i]}),r=D(j.getSelectedCallNodePath,j.getFilteredThread,di,(o,{stringTable:a,funcTable:i,resourceTable:s},l)=>o.length?ps(ky(o),i,s,a,l):""),n=D(j.getSelectedCallNodePath,j.getCallNodeInfo,j.getThread,j.getPreviewFilteredCtssSampleIndexOffset,Qe,j.getPreviewFilteredCtssSamples,j.getUnfilteredCtssSamples,yB);return{getName:t,getIsJS:e,getLib:r,getTimingsForSidebar:n}})();var cP={};ve(cP,{getIconClassName:()=>lP,getIconsWithClassNames:()=>Eb});var Eb=t=>t.icons,lP=(t,e)=>e===null?"":Eb(t).get(e)??"";var SP={};ve(SP,{getAbortFunction:()=>Um,getCheckedSharingOptions:()=>Nb,getFilenameString:()=>fP,getHasPrePublishedState:()=>bP,getHasSanitizedProfile:()=>TP,getIsHidingStaleProfile:()=>vP,getPrePublishedState:()=>Mb,getPublishState:()=>Bl,getRemoveProfileInformation:()=>Fm,getSanitizedProfile:()=>Rb,getSanitizedProfileEncodingState:()=>Bm,getShouldSanitizeByDefault:()=>yP,getUploadError:()=>hP,getUploadGeneration:()=>Hm,getUploadPhase:()=>pi,getUploadProgress:()=>Ad,getUploadProgressString:()=>gP,getUploadState:()=>Dd});var YU=T(sx());function VU(t){let e=hd(t.meta.markerSchema),r=Dee(t,e);return Aee(t,r,e)}function Dee(t,e){let{shared:r,threads:n}=t,o={referencedStacks:new Uint8Array(r.stackTable.length),referencedFrames:new Uint8Array(r.frameTable.length),referencedFuncs:new Uint8Array(r.funcTable.length),referencedResources:new Uint8Array(r.resourceTable.length),referencedNativeSymbols:new Uint8Array(r.nativeSymbols.length),referencedSources:new Uint8Array(r.sources.length),referencedLibs:new Uint8Array(t.libs.length),referencedStrings:new Uint8Array(r.stringArray.length)};for(let a of n)Oee(a,o,e);return jee(r.stackTable,o),Yee(r.frameTable,o),Xee(r.funcTable,o),Zee(r.resourceTable,o),ete(r.nativeSymbols,o),rte(r.sources,o),o}function Aee(t,e,r){let{shared:n}=t,o={oldStackToNewStackPlusOne:new Int32Array(n.stackTable.length),oldFrameToNewFramePlusOne:new Int32Array(n.frameTable.length),oldFuncToNewFuncPlusOne:new Int32Array(n.funcTable.length),oldResourceToNewResourcePlusOne:new Int32Array(n.resourceTable.length),oldNativeSymbolToNewNativeSymbolPlusOne:new Int32Array(n.nativeSymbols.length),oldSourceToNewSourcePlusOne:new Int32Array(n.sources.length),oldStringToNewStringPlusOne:new Int32Array(n.stringArray.length),oldLibToNewLibPlusOne:new Int32Array(t.libs.length)},a=ote(n.stringArray,e,o),i=ate(t.libs,e,o),s=nte(n.sources,e,o),l=tte(n.nativeSymbols,e,o),c=Qee(n.resourceTable,e,o),d=Jee(n.funcTable,e,o),u=qee(n.frameTable,e,o),p=Kee(n.stackTable,e,o),m=t.threads.map(b=>Fee(b,o,r));return{profile:{...t,libs:i,shared:{stringArray:a,sources:s,nativeSymbols:l,resourceTable:c,funcTable:d,frameTable:u,stackTable:p},threads:m},translationMaps:o}}function Oee(t,e,r){Bee(t.samples,e),t.jsAllocations&&Uee(t.jsAllocations,e),t.nativeAllocations&&$ee(t.nativeAllocations,e),Vee(t.markers,r,e)}function Fee(t,e,r){let n=Hee(t.samples,e),o=t.jsAllocations?Gee(t.jsAllocations,e):void 0,a=t.nativeAllocations?zee(t.nativeAllocations,e):void 0,i=Wee(t.markers,e,r);return{...t,samples:n,jsAllocations:o,nativeAllocations:a,markers:i}}function Bee(t,e){dP(t.stack,e)}function Hee(t,e){return{...t,stack:uP(t.stack,e)}}function Uee(t,e){dP(t.stack,e)}function Gee(t,e){return{...t,stack:uP(t.stack,e)}}function $ee(t,e){dP(t.stack,e)}function zee(t,e){return{...t,stack:uP(t.stack,e)}}function dP(t,e){let{referencedStacks:r}=e;for(let n=0;n<t.length;n++){let o=t[n];o!==null&&(r[o]=1)}}function uP(t,e){let{oldStackToNewStackPlusOne:r}=e,n=t.slice();for(let o=0;o<t.length;o++){let a=t[o];n[o]=a!==null?r[a]-1:null}return n}function Vee(t,e,r){let{referencedStacks:n,referencedStrings:o}=r;for(let a=0;a<t.length;a++){o[t.name[a]]=1;let i=t.data[a];if(i){if("cause"in i&&i.cause){let s=i.cause.stack;s!==null&&(n[s]=1)}if(i.type){let s=e.get(i.type);if(s!==void 0)for(let l of s){let c=i[l];typeof c=="number"&&(o[c]=1)}}}}}function Wee(t,e,r){let{oldStackToNewStackPlusOne:n,oldStringToNewStringPlusOne:o}=e,a=t.data.slice(),i=t.name.slice();for(let s=0;s<t.length;s++){i[s]=o[t.name[s]]-1;let l=t.data[s];if(!l)continue;let c=l;if("cause"in c&&c.cause){let d=c.cause.stack;d!==null&&(c={...c,cause:{...c.cause,stack:n[d]-1}})}if(l.type){let d=r.get(l.type);if(d!==void 0)for(let u of d){let p=l[u];typeof p=="number"&&(c={...c,[u]:o[p]-1})}}a[s]=c}return{...t,name:i,data:a}}function jee(t,e){let{referencedStacks:r,referencedFrames:n}=e;for(let o=t.length-1;o>=0;o--){if(r[o]===0)continue;let a=t.prefix[o];a!==null&&(r[a]=1),n[t.frame[o]]=1}}function Kee(t,{referencedStacks:e},r){let{oldStackToNewStackPlusOne:n,oldFrameToNewFramePlusOne:o}=r,a=ia();for(let i=0;i<t.length;i++){if(e[i]===0)continue;let s=t.prefix[i],l=a.length++;a.prefix[l]=s!==null?n[s]-1:null,a.frame[l]=o[t.frame[i]]-1,n[i]=l+1}return a}function Yee(t,e){let{referencedFrames:r,referencedFuncs:n,referencedNativeSymbols:o}=e;for(let a=0;a<t.length;a++){if(r[a]===0)continue;n[t.func[a]]=1;let i=t.nativeSymbol[a];i!==null&&(o[i]=1)}}function qee(t,{referencedFrames:e},r){let{oldFrameToNewFramePlusOne:n,oldFuncToNewFuncPlusOne:o,oldNativeSymbolToNewNativeSymbolPlusOne:a}=r,i=kc();for(let s=0;s<t.length;s++){if(e[s]===0)continue;let l=t.nativeSymbol[s],c=i.length++;i.address[c]=t.address[s],i.inlineDepth[c]=t.inlineDepth[s],i.category[c]=t.category[s],i.subcategory[c]=t.subcategory[s],i.func[c]=o[t.func[s]]-1,i.nativeSymbol[c]=l!==null?a[l]-1:null,i.innerWindowID[c]=t.innerWindowID[s],i.line[c]=t.line[s],i.column[c]=t.column[s],n[s]=c+1}return i}function Xee(t,e){let{referencedFuncs:r,referencedStrings:n,referencedSources:o,referencedResources:a}=e;for(let i=0;i<t.length;i++){if(r[i]===0)continue;n[t.name[i]]=1;let s=t.source[i];s!==null&&(o[s]=1);let l=t.resource[i];l!==-1&&(a[l]=1)}}function Jee(t,{referencedFuncs:e},r){let{oldFuncToNewFuncPlusOne:n,oldResourceToNewResourcePlusOne:o,oldSourceToNewSourcePlusOne:a,oldStringToNewStringPlusOne:i}=r,s=Ic();for(let l=0;l<t.length;l++){if(e[l]===0)continue;let c=t.resource[l],d=t.source[l],u=s.length++;s.name[u]=i[t.name[l]]-1,s.isJS[u]=t.isJS[l],s.relevantForJS[u]=t.relevantForJS[l],s.resource[u]=c!==-1?o[c]-1:-1,s.source[u]=d!==null?a[d]-1:null,s.lineNumber[u]=t.lineNumber[l],s.columnNumber[u]=t.columnNumber[l],n[l]=u+1}return s}function Zee(t,e){let{referencedResources:r,referencedStrings:n,referencedLibs:o}=e;for(let a=0;a<t.length;a++){if(r[a]===0)continue;n[t.name[a]]=1;let i=t.host[a];i!==null&&(n[i]=1);let s=t.lib[a];s!==null&&(o[s]=1)}}function Qee(t,{referencedResources:e},r){let{oldResourceToNewResourcePlusOne:n,oldStringToNewStringPlusOne:o,oldLibToNewLibPlusOne:a}=r,i=Pc();for(let s=0;s<t.length;s++){if(e[s]===0)continue;let l=t.host[s],c=t.lib[s],d=i.length++;i.name[d]=o[t.name[s]]-1,i.host[d]=l!==null?o[l]-1:null,i.lib[d]=c!==null?a[c]-1:null,i.type[d]=t.type[s],n[s]=d+1}return i}function ete(t,e){let{referencedNativeSymbols:r,referencedStrings:n,referencedLibs:o}=e;for(let a=0;a<t.length;a++)r[a]!==0&&(n[t.name[a]]=1,o[t.libIndex[a]]=1)}function tte(t,{referencedNativeSymbols:e},r){let{oldNativeSymbolToNewNativeSymbolPlusOne:n,oldStringToNewStringPlusOne:o,oldLibToNewLibPlusOne:a}=r,i=Ec();for(let s=0;s<t.length;s++){if(e[s]===0)continue;let l=i.length++;i.name[l]=o[t.name[s]]-1,i.libIndex[l]=a[t.libIndex[s]]-1,i.address[l]=t.address[s],i.functionSize[l]=t.functionSize[s],n[s]=l+1}return i}function rte(t,e){let{referencedSources:r,referencedStrings:n}=e;for(let o=0;o<t.length;o++)r[o]!==0&&(n[t.filename[o]]=1)}function nte(t,{referencedSources:e},r){let{oldSourceToNewSourcePlusOne:n,oldStringToNewStringPlusOne:o}=r,a=_c();for(let i=0;i<t.length;i++){if(e[i]===0)continue;let s=a.length++;a.filename[s]=o[t.filename[i]]-1,a.uuid[s]=t.uuid[i],n[i]=s+1}return a}function ote(t,{referencedStrings:e},r){let{oldStringToNewStringPlusOne:n}=r,o=0,a=[];for(let i=0;i<t.length;i++){if(e[i]===0)continue;let s=o++;a[s]=t[i],n[i]=s+1}return a}function ate(t,e,r){let{referencedLibs:n}=e,{oldLibToNewLibPlusOne:o}=r,a=0,i=[];for(let s=0;s<t.length;s++){if(n[s]===0)continue;let l=a++;i[l]=t[s],o[s]=l+1}return i}var pP=1;function jU(t,e,r,n){if(r===null)return{profile:t,isSanitized:!1,translationMaps:null,committedRanges:null};let o=r,a=new Map,i=new Set,s=t.pages;if(s){if(o.shouldRemovePrivateBrowsingData){s=s.slice();for(let h=s.length-1;h>=0;h--){let b=s[h],g=!1;o.shouldRemovePrivateBrowsingData&&b.isPrivateBrowsing&&(i.add(b.innerWindowID),g=!0),g&&s.splice(h,1)}}o.shouldRemoveUrls&&(s=s.map((h,b)=>({...h,url:fd(h.url,`<Page #${b}>`),favicon:null})))}let l=t.shared.stringArray;o.shouldRemoveUrls&&(l=l.map(h=>fd(h)));let c=tt.withBackingArray(l),d={...t.shared,stringArray:l},u=null;if(i.size>0){let h=new Map,b=new Set,{frameTable:g,funcTable:y,resourceTable:v,stackTable:S}=d;for(let x=0;x<g.length;x++){let w=g.innerWindowID[x],I=g.func[x];if(w&&i.has(w)){let k=h.get(I);k||(k=[],h.set(I,k)),k.push(x)}else b.add(I)}if(h.size){let x=new Set,w=d.funcTable=Cc(y),I=d.frameTable={...g,innerWindowID:g.innerWindowID.slice(),func:g.func.slice(),line:g.line.slice(),column:g.column.slice()};for(let[C,k]of h.entries()){if(b.has(C)){let N=w.length,O=c.indexForString(`<Func #${N}>`);w.name.push(O),w.isJS.push(y.isJS[C]),w.relevantForJS.push(y.isJS[C]),w.resource.push(-1),w.source.push(null),w.lineNumber.push(null),w.columnNumber.push(null),w.length++,k.forEach(L=>I.func[L]=N)}else{let N=c.indexForString(`<Func #${C}>`);w.name[C]=N,w.source[C]=null,w.resource[C]>=0&&x.add(w.resource[C]),w.resource[C]=-1,w.lineNumber[C]=null,w.columnNumber[C]=null}k.forEach(N=>{I.line[N]=null,I.column[N]=null,I.innerWindowID[N]=null})}if(x.size){let C=d.resourceTable={...v,lib:v.lib.slice(),name:v.name.slice(),host:v.host.slice()},k=new Set(w.resource);for(let N of x)if(!k.has(N)){let O=c.indexForString(`<Resource #${N}>`);C.name[N]=O,C.lib[N]=null,C.host[N]=null}}}u=new Uint8Array(S.length);for(let x=0;x<S.length;x++){let w=S.prefix[x];if(w!==null&&(u[x]=u[w],u[x]===pP))continue;let I=S.frame[x],C=g.innerWindowID[I];if(!C)continue;i.has(C)&&(u[x]=pP)}}let p=!1,m={...t,meta:{...t.meta,extensions:o.shouldRemoveExtensions?Oh():t.meta.extensions},pages:s,shared:d,threads:t.threads.reduce((h,b,g)=>{let y=ite(b,c,e[g],g,o,i,n,u);return y!==null&&(a.set(g,h.length),h.push(y)),h},[]),counters:t.counters?t.counters.reduce((h,b,g)=>{if(o.shouldRemoveCounters.has(g))return p=!0,h;let y=ste(b,o,a);return y!==null&&h.push(y),h},[]):void 0,profilerOverhead:t.profilerOverhead?t.profilerOverhead.reduce((h,b)=>{let g=a.get(b.mainThreadIndex);return g!==void 0&&h.push({...b,mainThreadIndex:g}),h},[]):void 0};if(o.shouldFilterToCommittedRange!==null){let{start:h,end:b}=o.shouldFilterToCommittedRange;m.meta.profilingStartTime=h,m.meta.profilingEndTime=b}let f=VU(m);return{profile:f.profile,isSanitized:!0,committedRanges:o.shouldFilterToCommittedRange?[]:null,translationMaps:{oldThreadIndexToNew:a.size===t.threads.length&&!p?null:a,oldFuncCount:t.shared.funcTable.length,newFuncCount:f.profile.shared.funcTable.length,...f.translationMaps}}}function _b(t){switch(t.meta.updateChannel){case"esr":case"release":case"beta":return!0;default:return!1}}function ite(t,e,r,n,o,a,i,s){if(o.shouldRemoveThreads.has(n)||o.shouldRemovePrivateBrowsingData&&t.isPrivateBrowsing)return null;let l=Ah(t.markers),c=new Set;if(o.shouldRemoveUrls||o.shouldRemovePreferenceValues||o.shouldRemoveExtensions||o.shouldRemoveThreadsWithScreenshots.size>0||o.shouldRemovePrivateBrowsingData)for(let p=0;p<l.length;p++){let m=l.data[p];if(o.shouldRemovePreferenceValues&&m&&m.type==="PreferenceRead"&&(l.data[p]=uH(m)),m&&o.shouldRemoveUrls){let f=ti(i,m);if(f&&(m=l.data[p]=fH(f,m)),m.type==="Network"){l.data[p]=dH(m);let b=e.getString(l.name[p]).replace(/:.*/,"");l.name[p]=e.indexForString(b)}m.type==="Text"&&(l.data[p]=pH(m),m=l.data[p])}if(o.shouldRemoveExtensions&&m&&m.type==="Text"){let f=e.getString(l.name[p]);l.data[p]=mH(f,m)}o.shouldRemoveThreadsWithScreenshots.has(n)&&m&&m.type==="CompositorScreenshot"&&c.add(p),o.shouldRemovePrivateBrowsingData&&(m&&m.type==="Network"&&m.isPrivateBrowsing&&c.add(p),m&&"innerWindowID"in m&&m.innerWindowID&&a.has(m.innerWindowID)&&c.add(p))}let d;if(c.size>0||o.shouldFilterToCommittedRange!==null)if(l=aH(l,r,c,o.shouldFilterToCommittedRange).rawMarkerTable,o.shouldFilterToCommittedRange!==null){let{start:p,end:m}=o.shouldFilterToCommittedRange;if(t.registerTime>m||t.unregisterTime&&t.unregisterTime<p)return null;d=Ey(t,p,m)}else d={...t};else d={...t};o.shouldRemoveUrls&&d["eTLD+1"]&&delete d["eTLD+1"],delete d.tracedValuesBuffer,delete d.tracedObjectShapes;let{samples:u}=d;if(s!==null&&a.size>0){let p=d.samples={...u,stack:u.stack.slice()};for(let m=0;m<u.length;m++){let f=u.stack[m];if(f===null)continue;if(s[f]===pP){p.stack[m]=null;continue}}}return d.markers=l,WU(d)||!WU(t)?d:null}function WU(t){return t.markers.length>0?!0:t.samples.stack.some(n=>n!==null)}function ste(t,e,r){let n=r.get(t.mainThreadIndex);if(n===void 0)return null;let o=t;if(e.shouldFilterToCommittedRange!==null){let{start:a,end:i}=e.shouldFilterToCommittedRange;o=xB(o,a,i)}return{...o,mainThreadIndex:n}}var Bl=t=>t.publish,Nb=t=>Bl(t).checkedSharingOptions,fP=D(Ne,Vo,(t,e)=>{let{startTime:r,product:n}=t.meta,o=p=>p<10?`0${p}`:`${p}`,a=new Date(r+e.start),i=o(a.getFullYear()),s=o(a.getMonth()+1),l=o(a.getDate()),c=o(a.getHours()),d=o(a.getMinutes()),u=`${i}-${s}-${l} ${c}.${d}`;return`${n} ${u} profile.json`}),Fm=D(Nb,Ne,de,lr,mo,ft,Mr,bm,Tm,(t,e,r,n,o,a,i,s,l)=>{let c=!0;for(let[p,m]of Object.entries(t))p==="includePreferenceValues"&&!s||p==="includePrivateBrowsingData"&&!l||(c=c&&m);if(c)return null;let d=new Set,u=new Set;if(!t.includeHiddenThreads){for(let p of n){let m=a[p];if(m.type==="process"){m.mainThreadIndex!==null&&d.add(m.mainThreadIndex);let f=$(i.get(m.pid),"Expected to be able to get a local track by PID.");for(let h of f)h.type==="thread"&&d.add(h.threadIndex)}}for(let[p,m]of o){let f=$(i.get(p),"Expected to be able to get a local track by PID");for(let h of m){let b=f[h];b.type==="thread"?d.add(b.threadIndex):"counterIndex"in b&&typeof b.counterIndex=="number"&&u.add(b.counterIndex)}}}return{shouldFilterToCommittedRange:t.includeFullTimeRange?null:r,shouldRemoveUrls:!t.includeUrls,shouldRemoveThreadsWithScreenshots:new Set(t.includeScreenshots?[]:e.threads.map((p,m)=>m)),shouldRemoveThreads:d,shouldRemoveCounters:u,shouldRemoveExtensions:!t.includeExtension,shouldRemovePreferenceValues:!t.includePreferenceValues,shouldRemovePrivateBrowsingData:!t.includePrivateBrowsingData}}),KU=null,mP=null;function lte(t){let e=Ut(t);return(KU!==e||mP===null)&&(KU=e,mP=Ut(t).map((r,n)=>gt(n).getDerivedMarkerInfo(t))),mP}var Rb=D(Ne,lte,Fm,It,jU),Bm=t=>Bl(t).sanitizedProfileEncodingState,Dd=t=>Bl(t).upload,pi=t=>Dd(t).phase,Hm=t=>Dd(t).generation,Ad=D(Dd,({uploadProgress:t})=>(0,YU.default)(t,.1,.95)),hP=t=>Dd(t).error,gP=D(Ad,t=>Se(t,0,0,"percent")),Um=t=>Dd(t).abortFunction,yP=D(Ne,_b),Mb=t=>Bl(t).prePublishedState,bP=t=>!!Mb(t),vP=t=>Bl(t).isHidingStaleProfile,TP=t=>Bl(t).hasSanitizedProfile;var wP={};ve(wP,{getAreThereAnyProcessCPUCounters:()=>xP,getIsCPUUtilizationProvided:()=>Lb});var Lb=D(gm,Tn,Ut,(t,e,r)=>t!==void 0&&(e.configuration&&e.configuration.features.includes("cpu")||r.some(n=>n.samples.threadCPUDelta!==void 0))),xP=D(Id,t=>t!==null&&t.some(e=>e.category==="CPU"));var IP={};ve(IP,{getAssemblyCodeCache:()=>XU,getAssemblyViewCode:()=>$m,getIsAssemblyViewAvailable:()=>kP,getSourceCodeCache:()=>qU,getSourceViewCode:()=>Gm});var qU=t=>t.code.sourceCodeCache,Gm=D(qU,ya,(t,e)=>e!==null?t.get(e):void 0),XU=t=>t.code.assemblyCodeCache,JU=D(zo,Vn,(t,e)=>e===null||t===null||e.libs.length===0?null:e.libs[t.libIndex]),kP=D(zo,JU,(t,e)=>t!==null&&e!==null),$m=D(XU,zo,JU,(t,e,r)=>{if(e===null||r===null)return;let{debugName:n,breakpadId:o}=r,a=e.address.toString(16),i=`${n}/${o}/${a}`;return t.get(i)});var cte={app:GC,profile:Ml,urlState:bs,icons:cP,publish:SP,zippedProfiles:PC,selectedThread:j,selectedNode:Ld,cpu:wP,code:IP},va=cte;var u0={};ve(u0,{addCollapseResourceTransformToStack:()=>Bb,addTransformToStack:()=>Lr,changeAssemblyViewNativeSymbolEntryIndex:()=>l0,changeCallTreeSearchString:()=>qP,changeCallTreeSummaryStrategy:()=>QP,changeExpandedCallNodes:()=>Fb,changeGlobalTrackOrder:()=>BP,changeHoveredMarker:()=>Ym,changeImplementationFilter:()=>ZP,changeInvertCallstack:()=>Xm,changeLocalTrackOrder:()=>jP,changeMarkersSearchString:()=>qm,changeMouseTimePosition:()=>mi,changeNetworkSearchString:()=>JP,changeProfileName:()=>i0,changeRightClickedCallNode:()=>Ul,changeRightClickedMarker:()=>tn,changeRightClickedTrack:()=>Gl,changeSelectedCallNode:()=>jn,changeSelectedMarker:()=>jm,changeSelectedNetworkMarker:()=>Km,changeSelectedThreads:()=>wte,changeShowJsTracerSummary:()=>r0,changeShowUserTimings:()=>e0,changeStackChartSameWidths:()=>t0,changeTableViewOptions:()=>Zm,changeTimelineType:()=>Ete,closeAssemblyView:()=>c0,closeBottomBox:()=>d0,commitRange:()=>n0,expandAllCallNodeDescendants:()=>XP,focusCallTree:()=>FP,handleCallNodeTransformShortcut:()=>zl,hideGlobalTrack:()=>$l,hideLocalTrack:()=>Wm,hideProvidedTracks:()=>GP,isolateLocalTrack:()=>YP,isolateProcess:()=>zP,isolateProcessMainThread:()=>WP,isolateScreenshot:()=>VP,openAssemblyView:()=>s0,popCommittedRanges:()=>o0,popTransformsFromStack:()=>a0,selectSelfCallNode:()=>AP,selectTrackFromTid:()=>OP,selectTrackWithModifiers:()=>Od,setContextMenuVisibility:()=>Vm,setDataSource:()=>Jm,showAllTracks:()=>HP,showGlobalTrack:()=>zm,showGlobalTrackIncludingLocalTracks:()=>$P,showLocalTrack:()=>Ob,showProvidedTracks:()=>UP,updateBottomBoxContentsAndMaybeOpen:()=>Kn,updatePreviewSelection:()=>dt});var EP=(t,e)=>e.some(r=>t instanceof r),ZU,QU;function dte(){return ZU||(ZU=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function ute(){return QU||(QU=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var _P=new WeakMap,CP=new WeakMap,Db=new WeakMap;function pte(t){let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("success",a),t.removeEventListener("error",i)},a=()=>{r(Ss(t.result)),o()},i=()=>{n(t.error),o()};t.addEventListener("success",a),t.addEventListener("error",i)});return Db.set(e,t),e}function mte(t){if(_P.has(t))return;let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("complete",a),t.removeEventListener("error",i),t.removeEventListener("abort",i)},a=()=>{r(),o()},i=()=>{n(t.error||new DOMException("AbortError","AbortError")),o()};t.addEventListener("complete",a),t.addEventListener("error",i),t.addEventListener("abort",i)});_P.set(t,e)}var NP={get(t,e,r){if(t instanceof IDBTransaction){if(e==="done")return _P.get(t);if(e==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Ss(t[e])},set(t,e,r){return t[e]=r,!0},has(t,e){return t instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in t}};function nG(t){NP=t(NP)}function fte(t){return ute().includes(t)?function(...e){return t.apply(RP(this),e),Ss(this.request)}:function(...e){return Ss(t.apply(RP(this),e))}}function hte(t){return typeof t=="function"?fte(t):(t instanceof IDBTransaction&&mte(t),EP(t,dte())?new Proxy(t,NP):t)}function Ss(t){if(t instanceof IDBRequest)return pte(t);if(CP.has(t))return CP.get(t);let e=hte(t);return e!==t&&(CP.set(t,e),Db.set(e,t)),e}var RP=t=>Db.get(t);function oG(t,e,{blocked:r,upgrade:n,blocking:o,terminated:a}={}){let i=indexedDB.open(t,e),s=Ss(i);return n&&i.addEventListener("upgradeneeded",l=>{n(Ss(i.result),l.oldVersion,l.newVersion,Ss(i.transaction),l)}),r&&i.addEventListener("blocked",l=>r(l.oldVersion,l.newVersion,l)),s.then(l=>{a&&l.addEventListener("close",()=>a()),o&&l.addEventListener("versionchange",c=>o(c.oldVersion,c.newVersion,c))}).catch(()=>{}),s}function aG(t,{blocked:e}={}){let r=indexedDB.deleteDatabase(t);return e&&r.addEventListener("blocked",n=>e(n.oldVersion,n)),Ss(r).then(()=>{})}var gte=["get","getKey","getAll","getAllKeys","count"],yte=["put","add","delete","clear"],PP=new Map;function eG(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(PP.get(e))return PP.get(e);let r=e.replace(/FromIndex$/,""),n=e!==r,o=yte.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||gte.includes(r)))return;let a=async function(i,...s){let l=this.transaction(i,o?"readwrite":"readonly"),c=l.store;return n&&(c=c.index(s.shift())),(await Promise.all([c[r](...s),o&&l.done]))[0]};return PP.set(e,a),a}nG(t=>({...t,get:(e,r,n)=>eG(e,r)||t.get(e,r,n),has:(e,r)=>!!eG(e,r)||t.has(e,r)}));var bte=["continue","continuePrimaryKey","advance"],tG={},MP=new WeakMap,iG=new WeakMap,vte={get(t,e){if(!bte.includes(e))return t[e];let r=tG[e];return r||(r=tG[e]=function(...n){MP.set(this,iG.get(this)[e](...n))}),r}};async function*Tte(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;e=e;let r=new Proxy(e,vte);for(iG.set(r,e),Db.set(r,RP(e));e;)yield r,e=await(MP.get(r)||e.continue()),MP.delete(r)}function rG(t,e){return e===Symbol.asyncIterator&&EP(t,[IDBIndex,IDBObjectStore,IDBCursor])||e==="iterate"&&EP(t,[IDBIndex,IDBObjectStore])}nG(t=>({...t,get(e,r,n){return rG(e,r)?Tte:t.get(e,r,n)},has(e,r){return rG(e,r)||t.has(e,r)}}));var sG="published-profiles-store",Hl="published-profiles",Ste=3;async function xte(){return await oG(sG,Ste,{upgrade(e,r,n,o){r<1&&e.createObjectStore(Hl,{keyPath:"profileToken"}).createIndex("originHostname","originHostname"),r<2&&o.objectStore(Hl).createIndex("publishedDate","publishedDate"),r<3&&o.objectStore(Hl).deleteIndex("originHostname")}})}async function Ab(){if(!window.indexedDB)throw new Error("Could not find indexedDB on the window object.");let t;try{t=await xte()}catch(e){throw e.name==="VersionError"?(window.deleteDB=()=>aG(sG),new Error(xr`
|
|
86
|
+
We tried to open an existing published profiles store database with a
|
|
87
|
+
smaller version than the current one. We can't do that with IndexedDB.
|
|
88
|
+
The only way to recover is to delete the database and create a new one,
|
|
89
|
+
but we don't want to do this automatically.
|
|
90
|
+
Until this is fixed we won't be able to store newly published profiles
|
|
91
|
+
or retrieve previously published profiles.
|
|
92
|
+
|
|
93
|
+
If you want to delete the database, you can do so by running 'deleteDB()'
|
|
94
|
+
in the console, or using the developer tools.
|
|
95
|
+
`)):e}return t}async function LP(t){await(await Ab()).put(Hl,t)}async function lG(){return(await Ab()).getAllFromIndex(Hl,"publishedDate")}async function DP(t){return t&&await(await Ab()).get(Hl,t)||null}async function cG(t){return(await Ab()).delete(Hl,t)}async function dG(t,e){let r=await DP(t);if(r&&r.name!==e){let n=fs(new URL(r.urlPath,window.location.href)),o=Il({...n,profileName:e}),a={...r,name:e,urlPath:o};await LP(a)}}function jn(t,e,r={source:"auto"},n){return(o,a)=>{if(n){for(let s=0;s<e.length;s++)if(e[s]!==n[s])throw new Error(we`
|
|
96
|
+
The optional expanded call node path provided to the changeSelectedCallNode
|
|
97
|
+
must contain the selected call node path.
|
|
98
|
+
`)}let i=sr(a());o({type:"CHANGE_SELECTED_CALL_NODE",isInverted:i,selectedCallNodePath:e,optionalExpandedToCallNodePath:n,threadsKey:t,context:r})}}function Ul(t,e){return{type:"CHANGE_RIGHT_CLICKED_CALL_NODE",threadsKey:t,callNodePath:e}}function AP(t,e){return(r,n)=>{let o=dr(t),a=o.getSampleIndexToNonInvertedCallNodeIndexForFilteredThread(n());if(e===null||e<0||e>=a.length){r(jn(t,[]));return}let i=a[e];if(i===null){r(jn(t,[]));return}let s=o.getCallNodeInfo(n()),l=s.getCallNodeTable(),c=[],d=i;for(;d!==-1;)c.push(l.func[d]),d=l.prefix[d];s.isInverted()?r(jn(t,c.slice(0,1),{source:"auto"},c)):r(jn(t,c.reverse()))}}function wte(t){return{type:"CHANGE_SELECTED_THREAD",selectedThreadIndexes:t}}function pG(t,e){switch(e.type){case"global":{let r=sC(t,e);switch(r.type){case"process":{let{mainThreadIndex:n,pid:o}=r;return n===null?null:{type:"global",trackReference:e,threadIndex:n,relatedThreadIndex:n,globalTrackIndex:e.trackIndex,pid:o,localTrackIndex:null,relatedTab:Oe(t)==="network-chart"?pb(t):null}}case"screenshots":case"visual-progress":case"perceptual-visual-progress":case"contentful-visual-progress":return null;default:throw Y(r,"Unhandled GlobalTrack type.")}}case"local":{let r=lC(t,e),{globalTrackIndex:n}=Rl(t,e.pid),o={type:"local",trackReference:e,pid:e.pid,globalTrackIndex:n,localTrackIndex:e.trackIndex};switch(r.type){case"thread":return{...o,threadIndex:r.threadIndex,relatedThreadIndex:r.threadIndex,relatedTab:Oe(t)==="network-chart"?pb(t):null};case"network":return{...o,threadIndex:null,relatedThreadIndex:r.threadIndex,relatedTab:"network-chart"};case"marker":case"ipc":return{...o,threadIndex:null,relatedThreadIndex:r.threadIndex,relatedTab:"marker-chart"};case"event-delay":return{...o,threadIndex:null,relatedThreadIndex:r.threadIndex,relatedTab:null};case"memory":case"bandwidth":case"process-cpu":case"power":{let i=Xt(r.counterIndex).getCounter(t);return{...o,threadIndex:null,relatedThreadIndex:i.mainThreadIndex,relatedTab:null}}default:throw Y(r,"Unhandled LocalTrack type.")}}default:throw Y(e,"Unhandled TrackReference type")}}function mG(t,e){let r=new Set([t.relatedThreadIndex]);return{type:"SELECT_TRACK",selectedThreadIndexes:r,selectedTab:e,lastNonShiftClickInformation:{clickedTrack:t.trackReference,selection:r}}}function kte(t,e){return(r,n)=>{let o=new Set(kt(n()));if(o.has(t.relatedThreadIndex)){if(o.delete(t.relatedThreadIndex),o.size===0)return}else o.add(t.relatedThreadIndex);r({type:"SELECT_TRACK",selectedThreadIndexes:o,selectedTab:e,lastNonShiftClickInformation:{clickedTrack:t.trackReference,selection:o}})}}function Ite(t,e,r){if(e.globalTrackIndex===r.globalTrackIndex){let i=li(t,e.pid),s=i.indexOf(e.localTrackIndex),l=i.indexOf(r.localTrackIndex);return s-l}let n=bn(t),o=n.indexOf(e.globalTrackIndex),a=n.indexOf(r.globalTrackIndex);return o-a}function Cte(t,e,r){let n=ft(t),o=bn(t),a=lr(t),i=[];Ite(t,e,r)>0&&([r,e]=[e,r]);let s=o.indexOf(e.globalTrackIndex),l=o.indexOf(r.globalTrackIndex);for(let c=s;c<=l;c++){let d=o[c];if(a.has(d))continue;let u=n[d];if(u.type!=="process")continue;let p=li(t,u.pid),m=gs(t,u.pid),f=fo(t,u.pid),h=!0,b=0,g=p.length-1;c===s&&e.type==="local"&&(h=!1,b=e.localTrackIndex===null?-1:p.indexOf(e.localTrackIndex)),c===l&&(r.type==="global"?g=-1:g=r.localTrackIndex===null?-1:p.indexOf(r.localTrackIndex)),h&&u.mainThreadIndex!==null&&i.push(u.mainThreadIndex);for(let y=b;y<=g;y++){let v=p[y];if(m.has(v))continue;let S=f[v];S.type==="thread"&&i.push(S.threadIndex)}}return i.push(e.relatedThreadIndex),i.push(r.relatedThreadIndex),i}function Pte(t,e){return(r,n)=>{let o=JI(n()),a=o&&o.clickedTrack;if(!a){let i=kt(n()),s=ro(i);s!==void 0&&(a=e2(s,ft(n()),Mr(n())))}if(a){let i=pG(n(),a);if(i){let s=Cte(n(),i,t),l=new Set([...s,...o?o.selection:[]]);r({type:"SELECT_TRACK",selectedThreadIndexes:l,selectedTab:e,lastNonShiftClickInformation:o});return}}r(mG(t,e))}}function Od(t,e={}){return(r,n)=>{let o=pG(n(),t);if(!o)return;let a=o.relatedTab??Oe(n()),i=gt(o.relatedThreadIndex).getUsefulTabs(n());i.includes(a)||(a=i[0]),e.shift?r(Pte(o,a)):e.ctrlOrMeta?r(kte(o,a)):r(mG(o,a))}}function OP(t){return(e,r)=>{let n=ft(r()),o=Mr(r()),a=Ut(r()),i=QH(t,n,o,a);if(i===null){console.warn(`Failed to find a track with tid: ${t}`);return}switch(i.type){case"global":e(zm(i.trackIndex));break;case"local":{let{globalTrackIndex:s}=Rl(r(),i.pid);e(zm(s)),e(Ob(i.pid,i.trackIndex));break}default:throw Y(i,"Unhandled TrackReference type.")}e(Od(i))}}function FP(){return{type:"FOCUS_CALL_TREE"}}function Gl(t){return{type:"CHANGE_RIGHT_CLICKED_TRACK",trackReference:t}}function Vm(t){return{type:"SET_CONTEXT_MENU_VISIBILITY",isVisible:t}}function BP(t){return Ge({hitType:"event",eventCategory:"timeline",eventAction:"change global track order"}),{type:"CHANGE_GLOBAL_TRACK_ORDER",globalTrackOrder:t}}function $l(t){return(e,r)=>{let n=lr(r());if(n.has(t))return;let o=ft(r());if(o.length===n.size+1)return;let a=o[t],i=new Set(kt(r()));fG(r,i,a,t),i.size!==0&&(Ge({hitType:"event",eventCategory:"timeline",eventAction:"hide global track"}),e({type:"HIDE_GLOBAL_TRACK",trackIndex:t,pid:a.type==="process"?a.pid:null,selectedThreadIndexes:i}))}}function fG(t,e,r,n){if(r.type==="process"){if(r.mainThreadIndex!==null&&e.delete(r.mainThreadIndex),e.size!==0)for(let o of fo(t(),r.pid))o.type==="thread"&&e.delete(o.threadIndex);if(e.size===0){let o=KP(t,new Set([n]));if(o===null)return;e.add(o)}}}function HP(){return t=>{Ge({hitType:"event",eventCategory:"timeline",eventAction:"show all tracks"}),t({type:"SHOW_ALL_TRACKS"})}}function UP(t,e){return(r,n)=>{Ge({hitType:"event",eventCategory:"timeline",eventAction:"show provided tracks"});let o=ft(n());for(let[a,i]of o.entries())i.type==="process"&&i.pid&&e.has(i.pid)&&t.add(a);r({type:"SHOW_PROVIDED_TRACKS",globalTracksToShow:t,localTracksByPidToShow:e})}}function GP(t,e){return(r,n)=>{Ge({hitType:"event",eventCategory:"timeline",eventAction:"hide provided tracks"});let o=lr(n()),a=ft(n());if(!(o.size+t.size-ci(o,t).size<a.length)){console.warn("No other visible global track left after hiding");return}let l=new Set(kt(n()));for(let c of t){let d=a[c];fG(n,l,d,c)}for(let[c,d]of e){let u=fo(n(),c),p=gs(n(),c);for(let f of d){let h=u[f];h.type==="thread"&&l.delete(h.threadIndex)}if(new Set([...p,...d]).size===u.length){let{globalTrack:f,globalTrackIndex:h}=Rl(n(),c);f.type==="process"&&f.mainThreadIndex===null&&r($l(h))}}if(l.size===0){let c=KP(n,t,e);c!==null&&l.add(c)}l.size!==0&&r({type:"HIDE_PROVIDED_TRACKS",globalTracksToHide:t,localTracksByPidToHide:e,selectedThreadIndexes:l})}}function zm(t){return e=>{Ge({hitType:"event",eventCategory:"timeline",eventAction:"show global track"}),e({type:"SHOW_GLOBAL_TRACK",trackIndex:t})}}function $P(t,e){return r=>{Ge({hitType:"event",eventCategory:"timeline",eventAction:"show global track including local tracks"}),r({type:"SHOW_GLOBAL_TRACK_INCLUDING_LOCAL_TRACKS",trackIndex:t,pid:e})}}function zP(t){return(e,r)=>{let n=ft(r())[t],o=bn(r());if(n.type!=="process")return;let a=kt(r()),i=fo(r(),n.pid),s=new Set;{n.mainThreadIndex!==null&&a.has(n.mainThreadIndex)&&s.add(n.mainThreadIndex);for(let l of i)l.type==="thread"&&l.threadIndex!==void 0&&a.has(l.threadIndex)&&s.add(l.threadIndex)}if(s.size===0){if(n.mainThreadIndex===null){for(let l of i)if(l.type==="thread"){s.add(l.threadIndex);break}}else s.add(n.mainThreadIndex);if(s.size===0)return}Ge({hitType:"event",eventCategory:"timeline",eventAction:"isolate process"}),e({type:"ISOLATE_PROCESS",hiddenGlobalTracks:new Set(o.filter(l=>l!==t)),isolatedTrackIndex:t,selectedThreadIndexes:s})}}function VP(t){return(e,r)=>{let n=ft(r()),o=n[t];if(o.type!=="screenshots"||o.threadIndex===null)return;let i=new Set(lr(r()));for(let s=0;s<n.length;s++)n[s].type==="screenshots"&&s!==t&&i.add(s);Ge({hitType:"event",eventCategory:"timeline",eventAction:"isolate screenshot track"}),e({type:"ISOLATE_SCREENSHOT_TRACK",hiddenGlobalTracks:i})}}function WP(t){return(e,r)=>{let n=ft(r())[t],o=bn(r());if(n.type!=="process")return;let a=n.mainThreadIndex;a!==null&&(Ge({hitType:"event",eventCategory:"timeline",eventAction:"isolate process main thread"}),e({type:"ISOLATE_PROCESS_MAIN_THREAD",pid:n.pid,hiddenGlobalTracks:new Set(o.filter(i=>i!==t)),isolatedTrackIndex:t,selectedThreadIndexes:new Set([a]),hiddenLocalTracks:new Set(li(r(),n.pid))}))}}function jP(t,e){return Ge({hitType:"event",eventCategory:"timeline",eventAction:"change local track order"}),{type:"CHANGE_LOCAL_TRACK_ORDER",pid:t,localTrackOrder:e}}function KP(t,e,r){let n=ft(t()),o=bn(t()),a=lr(t());for(let i of o){let s=n[i];if(e!==void 0&&e.has(i)||a.has(i)||s.type!=="process")continue;if(s.mainThreadIndex!==null)return s.mainThreadIndex;let l=fo(t(),s.pid),c=li(t(),s.pid),d=gs(t(),s.pid),u=r?r.get(s.pid)??new Set:new Set;for(let p of c){let m=l[p];if(!d.has(p)&&m.type==="thread"&&!u.has(p))return m.threadIndex}}return null}function Wm(t,e){return(r,n)=>{let o=fo(n(),t),a=gs(n(),t),i=o[e],s=kt(n()),l=new Set(s);if(i.type==="thread"&&l.delete(i.threadIndex),a.has(e))return;let{globalTrack:c,globalTrackIndex:d}=Rl(n(),t);if(a.size+1===o.length&&c.type==="process"&&c.mainThreadIndex===null){r($l(d));return}if(l.size===0){for(let u=0;u<o.length;u++){let p=o[u];if(!a.has(u)&&p.type==="thread"&&u!==e){l.add(p.threadIndex);break}}if(l.size===0&&c.type==="process"&&c.mainThreadIndex!==null&&c.mainThreadIndex!==void 0&&l.add(c.mainThreadIndex),l.size===0){let m=KP(n,new Set([d]),new Map([[t,new Set([e])]]));m!==null&&l.add(m)}if(l.size===0)return}Ge({hitType:"event",eventCategory:"timeline",eventAction:"hide local track"}),r({type:"HIDE_LOCAL_TRACK",pid:t,trackIndex:e,selectedThreadIndexes:l})}}function Ob(t,e){return r=>{Ge({hitType:"event",eventCategory:"timeline",eventAction:"show local track"}),r({type:"SHOW_LOCAL_TRACK",trackIndex:e,pid:t})}}function YP(t,e){return(r,n)=>{let o=fo(n(),t)[e],{globalTrack:a,globalTrackIndex:i}=Rl(n(),t),s=bn(n()),l=li(n(),t),c=new Set;o.type==="thread"?c.add(o.threadIndex):a.type==="process"&&a.mainThreadIndex!==null&&c.add(a.mainThreadIndex),c.size!==0&&(Ge({hitType:"event",eventCategory:"timeline",eventAction:"isolate local track"}),r({type:"ISOLATE_LOCAL_TRACK",pid:t,hiddenGlobalTracks:new Set(s.filter(d=>d!==i)),hiddenLocalTracks:new Set(l.filter(d=>d!==e)),selectedThreadIndexes:c}))}}var uG=!1;function qP(t){return uG||(uG=!0,Ge({hitType:"event",eventCategory:"profile",eventAction:"call tree search string"})),{type:"CHANGE_CALL_TREE_SEARCH_STRING",searchString:t}}function XP(t,e,r){return(n,o)=>{let a=j.getExpandedCallNodeIndexes(o()),s=j.getCallTree(o()).getAllDescendants(e);s.add(e),a.forEach(c=>{c!==null&&s.add(c)});let l=[...s].map(c=>r.getCallNodePathFromIndex(c));n(Fb(t,l))}}function Fb(t,e){return(r,n)=>{let o=sr(n());r({type:"CHANGE_EXPANDED_CALL_NODES",isInverted:o,threadsKey:t,expandedCallNodePaths:e})}}function jm(t,e,r={source:"auto"}){return{type:"CHANGE_SELECTED_MARKER",selectedMarker:e,threadsKey:t,context:r}}function Km(t,e,r={source:"auto"}){return{type:"CHANGE_SELECTED_NETWORK_MARKER",selectedNetworkMarker:e,threadsKey:t,context:r}}function Ym(t,e){return{type:"CHANGE_HOVERED_MARKER",markerIndex:e,threadsKey:t}}function tn(t,e){return{type:"CHANGE_RIGHT_CLICKED_MARKER",threadsKey:t,markerIndex:e}}function qm(t){return{type:"CHANGE_MARKER_SEARCH_STRING",searchString:t}}function JP(t){return{type:"CHANGE_NETWORK_SEARCH_STRING",searchString:t}}function ZP(t){return(e,r)=>{let n=kr(r()),o=vt(r()),a=j.getRangeAndTransformFilteredThread(r());Ge({hitType:"event",eventCategory:"profile",eventAction:"change implementation filter",eventLabel:t}),e({type:"CHANGE_IMPLEMENTATION_FILTER",implementation:t,threadsKey:o,transformedThread:a,previousImplementation:n})}}function QP(t){return Ge({hitType:"event",eventCategory:"profile",eventAction:"change call tree summary strategy",eventLabel:t}),{type:"CHANGE_CALL_TREE_SUMMARY_STRATEGY",callTreeSummaryStrategy:t}}function Xm(t){return(e,r)=>{Ge({hitType:"event",eventCategory:"profile",eventAction:"change invert callstack"});let n=j.getCallTree(r()),o=j.getSelectedCallNodeIndex(r()),a=n.findHeavyPathToSameFunctionAfterInversion(o);e({type:"CHANGE_INVERT_CALLSTACK",invertCallstack:t,selectedThreadIndexes:kt(r()),newSelectedCallNodePath:a})}}function e0(t){return e=>{Ge({hitType:"event",eventCategory:"profile",eventAction:"toggle user timings"}),e({type:"CHANGE_SHOW_USER_TIMINGS",showUserTimings:t})}}function t0(t){return e=>{Ge({hitType:"event",eventCategory:"profile",eventAction:"toggle stack chart same widths"}),e({type:"CHANGE_STACK_CHART_SAME_WIDTHS",stackChartSameWidths:t})}}function r0(t){return e=>{Ge({hitType:"event",eventCategory:"profile",eventAction:t?"show JS tracer summary":"show JS tracer stacks"}),e({type:"CHANGE_SHOW_JS_TRACER_SUMMARY",showSummary:t})}}function dt(t){return(e,r)=>{let n=mt(r());(!n||!t||!dU(n,t))&&e({type:"UPDATE_PREVIEW_SELECTION",previewSelection:t})}}function n0(t,e){return e===t&&(e=e+1e-6),{type:"COMMIT_RANGE",start:t,end:e}}function o0(t){return(e,r)=>{e({type:"POP_COMMITTED_RANGES",firstPoppedFilterIndex:t,committedRange:yd(r()).length!==t&&de(r())})}}function Lr(t,e){return(r,n)=>{let o=dr(t),a=o.getRangeAndTransformFilteredThread(n()),i=o.getCallNodeInfo(n());r({type:"ADD_TRANSFORM_TO_STACK",threadsKey:t,transform:e,transformedThread:a,callNodeInfo:i}),Ge({hitType:"event",eventCategory:"profile",eventAction:"add transform",eventLabel:e.type})}}function Bb(t,e,r){return(n,o)=>{let a=oC(o()),i=$($(a).get(e));n(Lr(t,{type:"collapse-resource",resourceIndex:e,collapsedFuncIndex:i,implementation:r}))}}function a0(t){return(e,r)=>{let n=vt(r());e({type:"POP_TRANSFORMS_FROM_STACK",threadsKey:n,firstPoppedFilterIndex:t})}}function Ete(t){return{type:"CHANGE_TIMELINE_TYPE",timelineType:t}}function i0(t){return async(e,r)=>{if(e({type:"CHANGE_PROFILE_NAME",profileName:t}),window.indexedDB){let n=Cl(r());await dG(n,t||"")}Ge({hitType:"event",eventCategory:"profile",eventAction:"change profile name"})}}function Jm(t){return{type:"SET_DATA_SOURCE",dataSource:t}}function mi(t){return{type:"CHANGE_MOUSE_TIME_POSITION",mouseTimePosition:t}}function Zm(t,e){return{type:"CHANGE_TABLE_VIEW_OPTIONS",tab:t,tableViewOptions:e}}function Kn(t,e){let{libIndex:r,sourceIndex:n,nativeSymbols:o,initialNativeSymbol:a,scrollToLineNumber:i,scrollToInstructionAddress:s,highlightedLineNumber:l,highlightedInstructionAddress:c}=e,d=n!==null,u=o.length!==0;return{type:"UPDATE_BOTTOM_BOX",libIndex:r,sourceIndex:n,nativeSymbols:o,currentNativeSymbol:a,currentTab:t,shouldOpenBottomBox:d||u,shouldOpenAssemblyView:!d&&u,scrollToLineNumber:i,scrollToInstructionAddress:s,highlightedLineNumber:l,highlightedInstructionAddress:c}}function s0(){return{type:"OPEN_ASSEMBLY_VIEW"}}function l0(t){return{type:"CHANGE_ASSEMBLY_VIEW_NATIVE_SYMBOL_ENTRY_INDEX",entryIndex:t}}function c0(){return{type:"CLOSE_ASSEMBLY_VIEW"}}function d0(){return(t,e)=>{let r=Oe(e());t({type:"CLOSE_BOTTOM_BOX_FOR_TAB",tab:r})}}function zl(t,e,r){return(n,o)=>{if(t.metaKey||t.ctrlKey||t.altKey)return;let a=dr(e),i=a.getThread(o()),s=a.getCallNodeInfo(o()),l=kr(o()),c=sr(o()),d=s.getCallNodePathFromIndex(r),u=s.funcForNode(r),p=s.categoryForNode(r),m=s.getCallNodeTable();switch(t.key){case"F":n(Lr(e,{type:"focus-subtree",callNodePath:d,implementation:l,inverted:c}));break;case"f":n(Lr(e,{type:"focus-function",funcIndex:u}));break;case"M":n(Lr(e,{type:"merge-call-node",callNodePath:d,implementation:l}));break;case"m":n(Lr(e,{type:"merge-function",funcIndex:u}));break;case"d":n(Lr(e,{type:"drop-function",funcIndex:u}));break;case"C":{let{funcTable:f}=i,h=f.resource[u];n(Bb(e,h,l));break}case"r":{Hy(m,u)&&n(Lr(e,{type:"collapse-recursion",funcIndex:u}));break}case"R":{By(m,u)&&n(Lr(e,{type:"collapse-direct-recursion",funcIndex:u,implementation:l}));break}case"c":{n(Lr(e,{type:"collapse-function-subtree",funcIndex:u}));break}case"g":n(Lr(e,{type:"focus-category",category:p}));break;default:}}}function Ta(t){return{type:"FATAL_ERROR",error:t}}var h0={};ve(h0,{_resetIconCounter:()=>Nte,batchLoadDataUrlIcons:()=>f0,iconHasLoaded:()=>hG,iconIsInError:()=>gG,iconStartLoading:()=>m0});function hG(t){return{type:"ICON_HAS_LOADED",iconWithClassName:t}}function gG(t){return{type:"ICON_IN_ERROR",icon:t}}var Hb=new Set,p0=0;async function _te(t){if(Hb.has(t))return Promise.resolve({type:"cached"});Hb.add(t);let e=`favicon-${++p0}`;return new Promise(n=>{let o=new Image;o.src=t,o.referrerPolicy="no-referrer",o.onload=()=>{n({type:"loaded",iconWithClassName:{icon:t,className:e}})},o.onerror=()=>{n({type:"error"})}})}function m0(t){return e=>_te(t).then(r=>{switch(r.type){case"loaded":e(hG(r.iconWithClassName));break;case"error":e(gG(t));break;case"cached":break;default:throw Y(r,"Unknown icon load result")}})}function f0(t){return e=>{let r=[];for(let n of t){if(!n||Hb.has(n))continue;Hb.add(n);let o=`favicon-${++p0}`;r.push({icon:n,className:o})}e({type:"ICON_BATCH_ADD",icons:r})}}function Nte(){p0=0}var Qm=class{_dbPromise;_maxCount;_maxAge;constructor(e,r=200,n=12096e5){this._dbPromise=this._setupDB(e),this._maxCount=r,this._maxAge=n}_getDB(){return this._dbPromise?this._dbPromise:Promise.reject(new Error("The database is closed."))}_setupDB(e){let r=window.indexedDB;if(!r)throw new Error("Could not find indexedDB on the window object.");return new Promise((n,o)=>{let a=r.open(e,2);a.onerror=()=>{if(a.error&&a.error.name==="VersionError"){let i=r.deleteDatabase(e);i.onerror=()=>o(i.error),i.onsuccess=()=>{this._setupDB(e).then(n,o)}}else o(a.error)},a.onupgradeneeded=({oldVersion:i})=>{let s=a.result;s.onerror=o,i===1&&s.deleteObjectStore("symbol-tables"),s.createObjectStore("symbol-tables",{keyPath:["debugName","breakpadId"]}).createIndex("lastUsedDate","lastUsedDate")},a.onblocked=()=>{o(new Error("The symbol store database could not be upgraded because it is open in another tab. Please close all your other profiler.firefox.com tabs and refresh."))},a.onsuccess=()=>{let i=a.result;i.onversionchange=()=>{i.close()},n(i),this._deleteAllBeforeDate(i,new Date(+new Date-this._maxAge)).catch(s=>{console.error("Encountered error while cleaning out database:",s)})}})}storeSymbolTable(e,r,[n,o,a]){return this._getDB().then(i=>new Promise((s,l)=>{let c=i.transaction("symbol-tables","readwrite");c.onerror=()=>l(c.error);let d=c.objectStore("symbol-tables");this._deleteLeastRecentlyUsedUntilCountIsNoMoreThanN(d,this._maxCount-1,()=>{let u=new Date,p=d.put({debugName:e,breakpadId:r,addrs:n,index:o,buffer:a,lastUsedDate:u});p.onsuccess=()=>s()})}))}getSymbolTable(e,r){return this._getDB().then(n=>new Promise((o,a)=>{let i=n.transaction("symbol-tables","readwrite");i.onerror=()=>a(i.error);let l=i.objectStore("symbol-tables").openCursor([e,r]);l.onsuccess=()=>{let c=l.result;if(c){let d=c.value;d.lastUsedDate=new Date;let u=c.update(d),{addrs:p,index:m,buffer:f}=d;u.onsuccess=()=>o([p,m,f])}else o(null)}}))}close(){return this._getDB().then(e=>{e.close(),this._dbPromise=null})}_deleteAllBeforeDate(e,r){return new Promise((n,o)=>{let a=e.transaction("symbol-tables","readwrite");a.onerror=()=>o(a.error);let i=a.objectStore("symbol-tables");this._deleteRecordsLastUsedBeforeDate(i,r,n)})}_deleteRecordsLastUsedBeforeDate(e,r,n){let o=e.index("lastUsedDate"),a=window.IDBKeyRange.upperBound(r,!0),i=o.openCursor(a);i.onsuccess=()=>{let s=i.result;s?s.delete().onsuccess=()=>{s.continue()}:n()}}_deleteNLeastRecentlyUsedRecords(e,r,n){let a=e.index("lastUsedDate").openCursor(),i=0;a.onsuccess=()=>{let s=a.result;if(s){let l=s.delete();l.onsuccess=()=>{i++,i<r?s.continue():n()}}else n()}}_count(e,r){let n=e.count();n.onsuccess=()=>r(n.result)}_deleteLeastRecentlyUsedUntilCountIsNoMoreThanN(e,r,n){this._count(e,o=>{if(o>r){let a=o-r;this._deleteNLeastRecentlyUsedRecords(e,a,n)}else n()})}};function T0(t){return{type:"TRIGGER_LOADING_FROM_URL",profileUrl:t}}function yG(){return{type:"WAITING_FOR_PROFILE_FROM_BROWSER"}}function Vl(t,e={},r=!1){return async n=>{if(t.threads.length===0){console.error("This profile has no threads.",t),n(Ta(new Error("No threads were captured in this profile, there is nothing to display.")));return}n({type:"PROFILE_LOADED",profile:t,pathInZipFile:e.pathInZipFile??null,implementationFilter:e.implementationFilter??null,transformStacks:e.transformStacks??null}),r===!1&&await n($b(e.browserConnection??null,e.skipSymbolication))}}function $b(t=null,e){return async(r,n)=>{if(e)throw new Error("Please do not use skipSymbolication outside of tests");let o=Vn(n());if(o===null||ho(n()).phase!=="PROFILE_LOADED")return;let a=Yy(n()),i=o.pages;r(bG(o,a));let s=null;t&&i&&i.length>0&&(s=wG(r,i,t));let l=null;if(!e&&o.meta.symbolicated===!1){let c=xG(r,ys(n()),t);c&&(l=x0(r,o,c))}await Promise.all([s,l])}}function bG(t,e){return(r,n)=>{let o=e!==null,a=ym(n()),i=o?hs(n()):null,s=UI(t,i,a),l=HI(t,s),c=vm(n()),d=qy(n()),u=GI(s,o?bn(n()):null,d,c),p=vd(o?si(n()):null,l,d,t),m={globalTracks:s,globalTrackOrder:u,localTracksByPid:l,localTrackOrderByPid:p},f=null,h=Xy(n());h!==null?f=zI(m,h,t):o&&(f=WH(m,lr(n()),mo(n()))),f===null&&(f=VI(m,t,c,i===null));let b=$I(e,tb(m,f),t,c),g=null;o||(g=YB(t));let y=Oe(n());if(oi.includes(y)){let v=!1;for(let S of b){let x=t.threads[S],{samples:w,jsAllocations:I,nativeAllocations:C}=x;if(v=[w,I,C].some(k=>Za(k?.stack,t.shared)),v)break}v||(y="marker-chart")}gd(()=>{r({type:"VIEW_FULL_PROFILE",selectedThreadIndexes:b,selectedTab:y,globalTracks:s,globalTrackOrder:u,localTracksByPid:l,localTrackOrderByPid:p,timelineType:g,...f})})}}function S0(){return async(t,e)=>{let r=xG(t,ys(e()),Ko(e())),n=Ne(e());if(!r)throw new Error("There was no symbol store when attempting to re-symbolicate.");await x0(t,n,r,!0)}}function ef(t,e={}){return async r=>{await r(Vl(t,e,!1))}}function g0(t){return{type:"REQUESTING_SYMBOL_TABLE",requestedLib:t}}function Ub(t){return{type:"RECEIVED_SYMBOL_TABLE_REPLY",requestedLib:t}}function vG(){return{type:"START_SYMBOLICATING"}}function TG(){return{type:"DONE_SYMBOLICATING"}}function SG(t){return(e,r)=>{let{threads:n,shared:o}=Ne(r()),{threads:a,shared:i,oldFuncToNewFuncsMap:s}=t2(n,o,t);e({type:"BULK_SYMBOLICATION",oldFuncToNewFuncsMap:s,symbolicatedThreads:a,symbolicatedShared:i})}}var Gb;typeof window=="object"&&window.requestIdleCallback?Gb=window.requestIdleCallback:typeof process=="object"&&process.nextTick?Gb=process.nextTick:Gb=t=>setTimeout(t,0);var y0=class{_updates;_updateObservers;_requestedUpdate;constructor(){this._updates=[],this._updateObservers=[],this._requestedUpdate=!1}_scheduleUpdate(e){this._requestedUpdate||(Gb(()=>this._dispatchUpdate(e),{timeout:2e3}),this._requestedUpdate=!0)}_dispatchUpdate(e){let r=this._updates,n=this._updateObservers;this._updates=[],this._updateObservers=[],this._requestedUpdate=!1,e(SG(r));for(let o of n)o()}enqueueSingleSymbolicationStep(e,r,n){this._scheduleUpdate(e),this._updates.push(r),this._updateObservers.push(n)}},Rte=new y0;async function Mte(t){return Object.prototype.toString.call(t)==="[object ArrayBuffer]"?CG(t):t}function xG(t,e,r){if(!window.indexedDB)return null;let n=new b0("perf-html-async-storage",t,e,r);return new bb(n)}var b0=class{_dispatch;_symbolServerUrl;_browserConnection;_symbolDb;_demangleCallback=null;constructor(e,r,n,o){this._dispatch=r,this._symbolServerUrl=n,this._browserConnection=o,this._symbolDb=new Qm(`${e}-symbol-tables`)}async _makeSymbolicationAPIRequestWithCallback(e,r,n){for(let{lib:o}of r)this._dispatch(g0(o));try{return await oU(e,r,n)}catch(o){throw new Error(`There was a problem with the symbolication API request to the ${e}: ${o.message}`)}finally{for(let{lib:o}of r)this._dispatch(Ub(o))}}requestSymbolsFromServer(e){return this._makeSymbolicationAPIRequestWithCallback("symbol server",e,async(r,n)=>(await fetch(this._symbolServerUrl+r,{body:n,method:"POST",mode:"cors",headers:new Headers({"User-Agent":`FirefoxProfiler/1.0 (+${location.origin})`})})).json())}async requestSymbolsFromBrowser(e){if(this._browserConnection===null)throw new Error("No connection to the browser, cannot run querySymbolicationApi");let r=this._browserConnection;return this._makeSymbolicationAPIRequestWithCallback("browser",e,async(n,o)=>JSON.parse(await r.querySymbolicationApi(n,o)))}async _createDemangleCallback(){try{let{demangle_any:e}=await import("/gecko-profiler-demangle-3UYO3F2Y.js");return e}catch(e){return console.error("Demangling module could not be imported.",e),r=>r}}async _getDemangleCallback(){return this._demangleCallback??=await this._createDemangleCallback()}async requestSymbolsViaSymbolTableFromBrowser(e,r){let n=await this._getDemangleCallback(),{lib:o,addresses:a}=e,{debugName:i,breakpadId:s}=o,l=null;return r||(l=await this._symbolDb.getSymbolTable(i,s)),l===null&&(l=await this._requestSymbolTableFromBrowser(o),this._storeSymbolTableInDB(o,l)),tU(a,l,n)}async _requestSymbolTableFromBrowser(e){if(this._browserConnection===null)throw new Error("No connection to the browser, cannot obtain symbol tables");let{debugName:r,breakpadId:n}=e;this._dispatch(g0(e));try{let o=await this._browserConnection.getSymbolTable(r,n);return this._dispatch(Ub(e)),o}catch(o){throw this._dispatch(Ub(e)),o}}async _storeSymbolTableInDB(e,r){let{debugName:n,breakpadId:o}=e;try{await this._symbolDb.storeSymbolTable(n,o,r)}catch(a){console.log(`Failed to store the symbol table for ${n} in the database:`,a)}}};async function x0(t,e,r,n){t(vG());let o=[];await r2(e,r,a=>{o.push(new Promise(i=>{Rte.enqueueSingleSymbolicationStep(t,a,()=>i(void 0))}))},n),await Promise.all(o),t(TG())}async function wG(t,e,r){let n=[...e],o=await r.getPageFavicons(n.map(s=>s.url));if(n.length!==o.length)return;let a=o.map(s=>s?kU(s.data,s.mimeType):Promise.resolve(null)),i=await Promise.all(a);for(let s=0;s<o.length;s++)i[s]&&(n[s]={...n[s],favicon:i[s]});t(f0(i)),t({type:"UPDATE_PAGES",newPages:n})}function kG(t){switch(t.status){case"ESTABLISHED":break;case"NOT_FIREFOX":throw new Error("/from-browser only works in Firefox browsers");case"NO_ATTEMPT":throw new Error("retrieveProfileFromBrowser should never be called while browserConnectionStatus is NO_ATTEMPT");case"WAITING":throw new Error("retrieveProfileFromBrowser should never be called while browserConnectionStatus is WAITING");case"DENIED":throw t.error;case"TIMED_OUT":throw new Error("Timed out when waiting for reply to WebChannel message");default:throw Y(t)}return t.browserConnection}function zb(t,e=!1){return async r=>{try{let n=kG(t);r(yG());let o=await n.getProfile({onThirtySecondTimeout:()=>{r(Vb(new Am(we`
|
|
99
|
+
We were unable to connect to the browser within thirty seconds.
|
|
100
|
+
This might be because the profile is big or your machine is slower than usual.
|
|
101
|
+
Still waiting...
|
|
102
|
+
`)))}}),a=await Mte(o),i=a.meta;if(i.configuration&&i.configuration.features.includes("power"))try{await Promise.all([n.getExternalPowerTracks(i.startTime+i.profilingStartTime,i.startTime+i.profilingEndTime).then(l=>Q2(l,a)),n.getExternalMarkers(i.startTime+i.profilingStartTime,i.startTime+i.profilingEndTime).then(l=>Z2(l,a))])}catch(l){console.error(l)}let s=jC(a);await r(Vl(s,{browserConnection:n},e))}catch(n){r(Ta(n)),console.error(n)}}}function Lte(){return{type:"WAITING_FOR_PROFILE_FROM_STORE"}}function w0(t){return{type:"WAITING_FOR_PROFILE_FROM_URL",profileUrl:t??null}}function k0(t){return{type:"RECEIVE_ZIP_FILE",zip:t}}function Vb(t){return{type:"TEMPORARY_ERROR",error:t}}function Dte(t){return new Promise(e=>setTimeout(e,t))}function Ate(t,e){if(!navigator.userAgent.match(/Safari\/\d+\.\d+/))return!1;let r=new URL(t);return e.name==="TypeError"&&r.protocol==="http:"&&po(r)&&location.protocol==="https:"}var v0=class extends Error{name="SafariLocalhostHTTPLoadError"};async function I0(t){let r=0,{url:n,onTemporaryError:o}=t,a=t.reportError||console.error;for(;;){let i;try{i=await fetch(n)}catch(s){throw Ate(n,s)?new v0:s}if(i.ok)return Ote(n,i,a);if(i.status!==403)throw new Error(we`
|
|
103
|
+
Could not fetch the profile on remote server.
|
|
104
|
+
Response was: ${i.status} ${i.statusText}.
|
|
105
|
+
`);if(r++===10)break;o(new Am("Profile not found on remote server.",{count:r,total:11})),await Dte(1e3)}throw new Error(we`
|
|
106
|
+
Could not fetch the profile on remote server:
|
|
107
|
+
still not found after ${10} seconds.
|
|
108
|
+
`)}function IG(t,e){return e==="application/zip"||e==="application/json"?e:t.match(/\.zip$/)?"application/zip":t.match(/\.json/)?"application/json":null}async function Ote(t,e,r){let n=IG(t,e.headers.get("content-type"));switch(n){case"application/zip":return{responseType:"ZIP",zip:await Fte(e,r)};case"application/json":case null:return{responseType:"PROFILE",profile:await Bte(e,r,n)};default:throw Y(n)}}async function Fte(t,e){let r=await t.arrayBuffer(),n=new Uint8Array(r);try{let{default:o}=await import("/jszip.min-JBI6ADTT.js");return await o.loadAsync(n)}catch(o){let a="Unable to open the archive file.";throw e(a),e("Error:",o),e("Fetch response:",t),new Error(`${a} The full error information has been printed out to the DevTool\u2019s console.`)}}async function CG(t){let e=new Uint8Array(t);_d(e)&&(e=await Ed(e));let r=new TextDecoder;return JSON.parse(r.decode(e))}async function Bte(t,e,r){let n=null;try{return n=await t.arrayBuffer(),await CG(n)}catch(o){let a;if(o&&typeof o=="object"&&o.name==="AbortError")a="The network request to load the profile was aborted.";else if(r==="application/json")a="The profile\u2019s JSON could not be decoded.";else{if(r===null&&n!==null)return n;a=we`
|
|
109
|
+
The profile could not be downloaded and decoded. This does not look like a supported file
|
|
110
|
+
type.
|
|
111
|
+
`}throw e(a),e("JSON parsing error:",o),e("Fetch response:",t),new Error(`${a} The full error information has been printed out to the DevTool\u2019s console.`)}}function C0(t){return`https://storage.googleapis.com/${tD}/${t}`}function Wb(t,e=!1){return tf(C0(t),e)}function tf(t,e=!1){return async function(r){r(w0(t));try{let n=await I0({url:t,onTemporaryError:o=>{r(Vb(o))}});switch(n.responseType){case"PROFILE":{let o=n.profile,a={},i=await Al(o,t,a);if(i===void 0)throw new Error("Unable to parse the profile.");return await r(Vl(i,{},e)),a}case"ZIP":{let o=n.zip;return await r(k0(o)),{}}default:throw Y(n,"Expected to receive an archive or profile from _fetchProfile.")}}catch(n){return r(Ta(n)),{}}}}function PG(){return{type:"WAITING_FOR_PROFILE_FROM_FILE"}}function Hte(t){let e=new FileReader,r=new Promise((n,o)=>{e.onload=()=>n(e.result),e.onerror=()=>o(e.error)});return{asText(){return e.readAsText(t),r},asArrayBuffer(){return e.readAsArrayBuffer(t),r}}}function rf(t,e,r=Hte){return async n=>{n(PG());try{if(IG(t.name,t.type)==="application/zip"){let o=await r(t).asArrayBuffer(),{default:a}=await import("/jszip.min-JBI6ADTT.js"),i=await a.loadAsync(o);await n(k0(i))}else{let o=await r(t).asArrayBuffer(),a=await Al(o,t.name);if(a===void 0)throw new Error("Unable to parse the profile.");await hI(async()=>{await n(ef(a,{browserConnection:e}))})}}catch(o){n(Ta(o))}}}function EG(t){return async e=>{try{let r=await Al(t);if(r===void 0)throw new Error("Unable to parse the profile.");await hI(async()=>{await e(ef(r))})}catch(r){e(Ta(r))}}}function jb(t,e=!1){return async r=>{r(w0());try{let n=await Promise.all(t.map(async d=>((d.startsWith("https://perfht.ml/")||d.startsWith("https://share.firefox.dev/")||d.startsWith("https://bit.ly/"))&&(d=await lU(d)),fs(new URL(d))))),o=n.map(async({dataSource:d,hash:u,profileUrl:p})=>{switch(d){case"public":p=C0(u);break;case"from-url":break;default:throw new Error("Only public uploaded profiles are supported by the comparison function.")}let m=await I0({url:p,onTemporaryError:b=>{r(Vb(b))}});if(m.responseType!=="PROFILE")throw new Error("Expected to receive a profile from _fetchProfile");let f=m.profile;return Al(f)}),a=await Promise.all(o),{profile:i,implementationFilters:s,transformStacks:l}=aU(a,n),c;s[0]===s[1]&&(c=s[0]),await r(Vl(i,{transformStacks:l,implementationFilter:c},e))}catch(n){r(Ta(n))}}}function P0(t,e){return async(r,n)=>{let o=t.pathname.split("/").filter(c=>c),a=o[0];a==="from-addon"&&(a="from-browser");let i=gI(a);(i==="from-file"||i==="unpublished")&&(i="none"),r(Jm(i));let s={};switch(i){case"from-browser":{if(e===void 0)throw new Error("Error: all callers of this function should supply a browserConnectionStatus argument for from-browser");await r(zb(e,!0));break}case"public":s=await r(Wb(o[1],!0));break;case"from-url":s=await r(tf(decodeURIComponent(o[1]),!0));break;case"compare":{let c=ud.parse(t.search.substr(1),{arrayFormat:"bracket"});Array.isArray(c.profiles)&&await r(jb(c.profiles.filter(d=>d!==null),!0));break}case"from-post-message":{window.addEventListener("message",c=>{let{data:d}=c;if(console.log("Received postMessage",d),!(!d||typeof d!="object"))switch(d.name){case"inject-profile":r(EG(d.profile));break;case"ready:request":{console.log("Responding via postMessage that the profiler is ready."),(c.source??window).postMessage({name:"ready:response"},"*");break}default:console.log("Unknown post message",d)}});break}case"uploaded-recordings":case"none":case"local":break;default:throw Y(i,`Unknown dataSource ${i}.`)}let l=Vn(n());return l===null?null:{profile:l,upgradeInfo:s}}}function E0(t){return(e,r)=>{let n=Ne(r()),o=ym(r()),a=UI(n,t,o),i=HI(n,a),s=vm(r()),l=qy(r()),c=GI(a,null,l,s),d=vd(null,i,l,n),u={globalTracks:a,globalTrackOrder:c,localTracksByPid:i,localTrackOrderByPid:d},p=null,m=Xy(r());m!==null&&(p=zI(u,m,n)),p===null&&(p=VI(u,n,s,t===null));let f=$I(null,tb(u,p),n,s),h=Oe(r());if(oi.includes(h)){let b=!1;for(let g of f){let y=n.threads[g],{samples:v,jsAllocations:S,nativeAllocations:x}=y;if(b=[v,S,x].some(w=>Za(w?.stack,n.shared)),b)break}b||(h="marker-chart")}e({type:"CHANGE_TAB_FILTER",tabID:t,selectedThreadIndexes:f,selectedTab:h,globalTracks:a,globalTrackOrder:c,localTracksByPid:i,localTrackOrderByPid:d,...p})}}function N0(t){return(e,r)=>{Oe(r())!==t&&(Ge({hitType:"pageview",page:t}),e({type:"CHANGE_SELECTED_TAB",selectedTab:t}))}}function R0(t){return{type:"CHANGE_PROFILES_TO_COMPARE",profiles:t}}function M0(){return{type:"START_FETCHING_PROFILES"}}function Kb(){return(t,e)=>{t({type:"URL_SETUP_DONE"});let r=ir(e());Ge({hitType:"pageview",page:r==="none"?"home":Oe(e())}),Ge({hitType:"event",eventCategory:"datasource",eventAction:r})}}function Yb(t){return{type:"ROUTE_NOT_FOUND",url:t}}function L0(t,e){return{type:"CHANGE_SIDEBAR_OPEN_STATE",tab:t,isOpen:e}}function nf(){return{type:"INCREMENT_PANEL_LAYOUT_GENERATION"}}function D0(){return{type:"HAS_ZOOMED_VIA_MOUSEWHEEL"}}function A0(t,e,r){return n=>{let o;try{o=fs(t,e)}catch(a){if(a.name==="UrlUpgradeError"){n(Ta(a));return}console.error(a),n(Yb(t.pathname+t.search));return}(o.dataSource==="from-file"||o.dataSource==="unpublished")&&(o=null),gd(()=>{n(qb(o)),n($b(r)).catch(a=>{n(Ta(a))}),n(Kb())})}}function qb(t){return{type:"UPDATE_URL_STATE",newUrlState:t}}function O0(t,e){return(r,n)=>{mb(n())[t]!==e&&r({type:"UPDATE_TRACK_THREAD_HEIGHT",height:e,threadsKey:t})}}function F0(){return{type:"DISMISS_NEWLY_PUBLISHED"}}function B0(){return{type:"START_DRAGGING"}}function H0(){return{type:"STOP_DRAGGING"}}function U0(){return{type:"REGISTER_DRAG_AND_DROP_OVERLAY"}}function G0(){return{type:"UNREGISTER_DRAG_AND_DROP_OVERLAY"}}function Ute(){return(t,e)=>{if(DC(e()))return console.error("Tried to enable the event delay tracks, but they are already enabled."),!1;if(j.getSamplesTable(e()).eventDelay===void 0)return console.error(we`
|
|
112
|
+
Tried to enable the event delay tracks, but this profile does
|
|
113
|
+
not have eventDelay values. It is likely an older profile.
|
|
114
|
+
`),!1;let r=Mr(e()),n=zH(Ut(e()),r),o=vd(si(e()),n,null,Ne(e()));return t({type:"ENABLE_EVENT_DELAY_TRACKS",localTracksByPid:n,localTrackOrderByPid:o}),!0}}function Gte(){return(t,e)=>Rm(e())?(console.error("Tried to enable the CPU graph tracks, but they are already enabled."),!1):Lb(e())?(t({type:"ENABLE_EXPERIMENTAL_CPU_GRAPHS"}),!0):(console.error(we`
|
|
115
|
+
Tried to enable the CPU graph tracks, but this profile does
|
|
116
|
+
not have threadCPUDelta values. It is likely an older profile.
|
|
117
|
+
`),!1)}function $te(){return(t,e)=>{if(AC(e()))return console.error("Tried to enable the process CPU tracks, but they are already enabled."),!1;if(!Lb(e())&&xP(e()))return console.error(we`
|
|
118
|
+
Tried to enable the process CPU tracks, but this profile does
|
|
119
|
+
not have threadCPUDelta values or process CPU threads.
|
|
120
|
+
`),!1;let r=Mr(e()),n=VH(Id(e()),r),o=vd(si(e()),n,null,Ne(e()));return t({type:"ENABLE_EXPERIMENTAL_PROCESS_CPU_TRACKS",localTracksByPid:n,localTrackOrderByPid:o}),!0}}function $0(t){return{type:"SET_CURRENT_PROFILE_UPLOADED_INFORMATION",uploadedProfileInformation:t}}function z0(){return{type:"PROFILE_REMOTELY_DELETED"}}function V0(t){return{type:"UPDATE_BROWSER_CONNECTION_STATUS",browserConnectionStatus:t}}function W0(t,e){return{type:"TOGGLE_SIDEBAR_OPEN_CATEGORY",kind:t,category:e}}function Xo(t){let e=Vte++,r=t.type;return new Promise((n,o)=>{function a(i){let{id:s,message:l}=i.detail;if(s==="profiler.firefox.com"&&l&&typeof l=="object"){Wte(l);let c=l;"type"in c&&c.type?"requestId"in c&&c.requestId===e&&(window.removeEventListener("WebChannelMessageToContent",a,!0),c.type==="SUCCESS_RESPONSE"?n(c.response):o(new Error(c.error))):"error"in c&&typeof c.error=="string"&&(console.error(`[webchannel] %c${c.error}`,_G),window.removeEventListener("WebChannelMessageToContent",a,!0),o(new K0(c)))}else o(new Error("A malformed WebChannel event was received.")),console.error("[webchannel] %cmalformed event received",_G,i)}window.addEventListener("WebChannelMessageToContent",a,!0),zte({requestId:e,...t})})}async function NG(){return(await Xo({type:"STATUS_QUERY"})).menuButtonIsEnabled}async function RG(){await Xo({type:"ENABLE_MENU_BUTTON"})}async function MG(){return(await Xo({type:"STATUS_QUERY"})).version||0}async function LG(t,e){return Xo({type:"GET_SYMBOL_TABLE",debugName:t,breakpadId:e})}async function DG(){return Xo({type:"GET_PROFILE"})}async function AG(t,e){return Xo({type:"GET_EXTERNAL_MARKERS",startTime:t,endTime:e})}async function OG(t,e){return Xo({type:"GET_EXTERNAL_POWER_TRACKS",startTime:t,endTime:e})}async function FG(t,e){return Xo({type:"QUERY_SYMBOLICATION_API",path:t,requestJson:e})}async function BG(t){return Xo({type:"GET_PAGE_FAVICONS",pageUrls:t})}async function HG(t,e,r,n){return Xo({type:"OPEN_SCRIPT_IN_DEBUGGER",tabId:t,scriptUrl:e,line:r,column:n})}async function UG(t){return Xo({type:"GET_JS_SOURCES",sourceUuids:t})}var _G="font-weight: bold; color: #0a6";function zte(t){window.dispatchEvent(new CustomEvent("WebChannelMessageToChrome",{detail:JSON.stringify({id:"profiler.firefox.com",message:t})}))}var Vte=0,K0=class extends Error{name="WebChannelError";errno;constructor(e){super(`${e.error} (errno: ${e.errno})`),this.errno=e.errno}};function Wte(t){if(t.type==="STATUS_RESPONSE"){let{menuButtonIsEnabled:e}=t;t.type="SUCCESS_RESPONSE",t.response={menuButtonIsEnabled:e}}else t.type==="ENABLE_MENU_BUTTON_DONE"&&(t.type="SUCCESS_RESPONSE",t.response=void 0)}var Y0=class{_webChannelSupportsGetProfileAndSymbolication;_webChannelSupportsGetExternalPowerTracks;_webChannelSupportsGetExternalMarkers;_webChannelSupportsGetPageFavicons;_webChannelSupportsOpenDebuggerInTab;_webChannelSupportsGetJSSource;_geckoProfiler;constructor(e){this._webChannelSupportsGetProfileAndSymbolication=e>=1,this._webChannelSupportsGetExternalPowerTracks=e>=2,this._webChannelSupportsGetExternalMarkers=e>=3,this._webChannelSupportsGetPageFavicons=e>=4,this._webChannelSupportsOpenDebuggerInTab=e>=5,this._webChannelSupportsGetJSSource=e>=6}async _getConnectionViaFrameScript(){return this._geckoProfiler||(this._geckoProfiler=await window.geckoProfilerPromise),this._geckoProfiler}async getProfile(e){let r=setTimeout(e.onThirtySecondTimeout,3e4);if(this._webChannelSupportsGetProfileAndSymbolication){let a=await DG();return clearTimeout(r),a}let o=await(await this._getConnectionViaFrameScript()).getProfile();return clearTimeout(r),o}async getExternalMarkers(e,r){return this._webChannelSupportsGetExternalMarkers?AG(e,r):[]}async getExternalPowerTracks(e,r){return this._webChannelSupportsGetExternalPowerTracks?OG(e,r):[]}async querySymbolicationApi(e,r){if(!this._webChannelSupportsGetProfileAndSymbolication)throw new Error("Can't use querySymbolicationApi in Firefox versions with the old WebChannel.");return FG(e,r)}async showFunctionInDevtools(e,r,n,o){if(!this._webChannelSupportsOpenDebuggerInTab)throw new Error("Can't use showFunctionInDevtools in Firefox versions with the old WebChannel.");return HG(e,r,n,o)}async getSymbolTable(e,r){if(this._webChannelSupportsGetProfileAndSymbolication)return LG(e,r);if(this._geckoProfiler)return this._geckoProfiler.getSymbolTable(e,r);throw new Error("Cannot obtain a symbol table: have neither WebChannel nor a GeckoProfiler object")}async getPageFavicons(e){return this._webChannelSupportsGetPageFavicons?BG(e):[]}async getJSSource(e){if(!this._webChannelSupportsGetJSSource)throw new Error("Can't use getJSSource in Firefox versions with the old WebChannel.");return UG([e]).then(r=>{let n=r[0];if("error"in n)throw new Error(n.error);return n.sourceText})}};function jte(t){return t.includes("Firefox/")||t.includes("Thunderbird/")}var Xb=class extends Error{name="TimeoutError"};function Kte(t){return new Promise((e,r)=>{setTimeout(()=>{r(new Xb(`Timed out after ${t}ms`))},t)})}async function Jb(t=navigator.userAgent){if(!jte(t))return{status:"NOT_FIREFOX"};try{let e=await Promise.race([MG(),Kte(5e3)]);return{status:"ESTABLISHED",browserConnection:new Y0(e)}}catch(e){return e instanceof Xb?{status:"TIMED_OUT"}:{status:"DENIED",error:new Error(we`
|
|
121
|
+
This profiler instance was unable to connect to the
|
|
122
|
+
WebChannel. This usually means that it’s running on a
|
|
123
|
+
different host from the one that is specified in the
|
|
124
|
+
preference devtools.performance.recording.ui-base-url. If
|
|
125
|
+
you would like to capture new profiles with this instance, you can go to about:config
|
|
126
|
+
and change the preference. Error: ${e.name}: ${e.message}
|
|
127
|
+
`)}}}var $G=T(U());var GG=T(U());var Et=T(E()),Fd=class extends GG.PureComponent{render(){let{children:e,additionalMessage:r,showLoader:n,showBackHomeLink:o,title:a}=this.props;return(0,Et.jsx)("div",{className:"rootMessageContainer",children:(0,Et.jsxs)("div",{className:"rootMessage",children:[(0,Et.jsx)(P,{id:"ProfileRootMessage--title",children:(0,Et.jsx)("h1",{className:"rootMessageTitle",children:"Firefox Profiler"})}),a?(0,Et.jsx)("h2",{children:a}):null,(0,Et.jsx)("div",{className:"rootMessageText",children:(0,Et.jsx)("p",{children:e})}),r?(0,Et.jsx)("div",{className:"rootMessageAdditional",children:r}):null,o?(0,Et.jsx)("div",{className:"rootBackHomeLink",children:(0,Et.jsx)("a",{href:"/",children:(0,Et.jsx)(P,{id:"ProfileRootMessage--additional",children:"Back to home"})})}):null,n?(0,Et.jsxs)("div",{className:"loading",children:[(0,Et.jsx)("div",{className:"loading-div loading-div-1 loading-row-1"}),(0,Et.jsx)("div",{className:"loading-div loading-div-2 loading-row-2"}),(0,Et.jsx)("div",{className:"loading-div loading-div-3 loading-row-3"}),(0,Et.jsx)("div",{className:"loading-div loading-div-4 loading-row-3"}),(0,Et.jsx)("div",{className:"loading-div loading-div-5 loading-row-4"}),(0,Et.jsx)("div",{className:"loading-div loading-div-6 loading-row-4"}),(0,Et.jsx)("div",{className:"loading-div loading-div-7 loading-row-4"}),(0,Et.jsx)("div",{className:"loading-div loading-div-8 loading-row-4"}),(0,Et.jsx)("div",{className:"loading-div loading-div-9 loading-row-4"}),(0,Et.jsx)("div",{className:"loading-div loading-div-10 loading-row-4"})]}):null]})})}};var Sa=T(E()),Yte=Object.freeze({"from-browser":"ProfileLoaderAnimation--loading-unpublished","from-post-message":"ProfileLoaderAnimation--loading-from-post-message",unpublished:"ProfileLoaderAnimation--loading-unpublished","from-file":"ProfileLoaderAnimation--loading-from-file",local:"ProfileLoaderAnimation--loading-local",public:"ProfileLoaderAnimation--loading-public","from-url":"ProfileLoaderAnimation--loading-from-url",compare:"ProfileLoaderAnimation--loading-compare"});function qte(t){switch(t){case 1:return"once";case 2:return"twice";default:return`${t} times`}}var q0=class extends $G.PureComponent{render(){let{view:e,dataSource:r}=this.props,n=Yte[r],o=n||"ProfileLoaderAnimation--loading-view-not-found",a=!!n,i=!!("additionalData"in e&&e.additionalData&&e.additionalData.message&&r==="from-file");return(0,Sa.jsx)(P,{id:o,attrs:{title:!0},elems:{a:(0,Sa.jsx)("span",{})},children:(0,Sa.jsx)(Fd,{additionalMessage:this._renderAdditionalMessage(),showLoader:a,showBackHomeLink:i,children:`Untranslated ${o}`})})}_renderAdditionalMessage(){let{view:e}=this.props;if(!("additionalData"in e)||!e.additionalData)return null;let{message:r,attempt:n}=e.additionalData;return(0,Sa.jsxs)(Sa.Fragment,{children:[r?(0,Sa.jsx)("p",{children:r}):null,n?(0,Sa.jsx)("p",{children:`Tried ${qte(n.count)} out of ${n.total}.`}):null]})}},Zb=H({mapStateToProps:t=>({view:ho(t),dataSource:ir(t)}),component:q0});var WG=T(E()),X0=class extends zG.PureComponent{async _processInitialUrls(){let{startFetchingProfiles:e,setupInitialUrlState:r,urlSetupDone:n,updateBrowserConnectionStatus:o,retrieveProfileForRawUrl:a}=this.props;e();let i,s=window.location.pathname.split("/").filter(l=>l)[0];["from-browser","from-addon","from-file","from-post-message"].includes(s)&&(o({status:"WAITING"}),i=await Jb(),o(i));try{let l=await a(window.location,i),c=i!==void 0&&i.status==="ESTABLISHED"?i.browserConnection:null;r(window.location,l,c)}catch(l){console.error("There was an error in the initial URL setup.",l),n()}}_updateState=()=>{let{updateUrlState:e,show404:r,urlState:n}=this.props,o;if(window.history.state)o=window.history.state;else try{o=fs(window.location)}catch(l){console.error(l),r(window.location.pathname+window.location.search);return}let a=["from-browser","from-post-message","unpublished"],i=a.includes(n.dataSource)&&o.dataSource==="public"||n.dataSource==="public"&&a.includes(o.dataSource),s=n.dataSource==="public"&&o.dataSource==="public"&&n.hash!==o.hash;if(i||s){window.history.replaceState(n,document.title,Il(n));return}e(o)};componentDidMount(){this._processInitialUrls(),window.addEventListener("popstate",this._updateState)}componentWillUnmount(){window.removeEventListener("popstate",this._updateState)}componentDidUpdate(){let{urlSetupPhase:e,phase:r,urlState:n}=this.props;if(e!=="done"||r==="FATAL_ERROR")return;let o=window.location.pathname+window.location.search,a=Il(n);!window.history.state||CH()?window.history.replaceState(n,document.title,a):a!==o&&window.history.pushState(n,document.title,a)}render(){let{urlSetupPhase:e,children:r}=this.props;switch(e){case"initial-load":return null;case"loading-profile":return(0,WG.jsx)(Zb,{});case"done":return r;default:return Y(e,"Unhandled URL setup phase."),null}}},VG=H({mapStateToProps:t=>({urlState:t.urlState,urlSetupPhase:RC(t),phase:ho(t).phase}),mapDispatchToProps:{updateUrlState:qb,startFetchingProfiles:M0,urlSetupDone:Kb,show404:Yb,setupInitialUrlState:A0,retrieveProfileForRawUrl:P0,updateBrowserConnectionStatus:V0},component:X0});var y$=T(U());var h$=T(U());var xa=class{constructor(e){this.value=e}valueOf(){return this.value}},Tt=class extends xa{constructor(e="???"){super(e)}toString(e){return`{${this.value}}`}},xn=class extends xa{constructor(e,r={}){super(e),this.opts=r}toString(e){if(e)try{return e.memoizeIntlObject(Intl.NumberFormat,this.opts).format(this.value)}catch(r){e.reportError(r)}return this.value.toString(10)}},wn=class t extends xa{static supportsValue(e){if(typeof e=="number"||e instanceof Date)return!0;if(e instanceof xa)return t.supportsValue(e.valueOf());if("Temporal"in globalThis){let r=globalThis.Temporal;if(e instanceof r.Instant||e instanceof r.PlainDateTime||e instanceof r.PlainDate||e instanceof r.PlainMonthDay||e instanceof r.PlainTime||e instanceof r.PlainYearMonth)return!0}return!1}constructor(e,r={}){e instanceof t?(r={...e.opts,...r},e=e.value):e instanceof xa&&(e=e.valueOf()),typeof e=="object"&&"calendarId"in e&&r.calendar===void 0&&(r={...r,calendar:e.calendarId}),super(e),this.opts=r}[Symbol.toPrimitive](e){return e==="string"?this.toString():this.toNumber()}toNumber(){let e=this.value;if(typeof e=="number")return e;if(e instanceof Date)return e.getTime();if("epochMilliseconds"in e)return e.epochMilliseconds;if("toZonedDateTime"in e)return e.toZonedDateTime("UTC").epochMilliseconds;throw new TypeError("Unwrapping a non-number value as a number")}toString(e){if(e)try{return e.memoizeIntlObject(Intl.DateTimeFormat,this.opts).format(this.value)}catch(r){e.reportError(r)}return typeof this.value=="number"||this.value instanceof Date?new Date(this.value).toISOString():this.value.toString()}};var jG=100,Xte="\u2068",Jte="\u2069";function Zte(t,e,r){if(r===e||r instanceof xn&&e instanceof xn&&r.value===e.value)return!0;if(e instanceof xn&&typeof r=="string"){let n=t.memoizeIntlObject(Intl.PluralRules,e.opts).select(e.value);if(r===n)return!0}return!1}function KG(t,e,r){return e[r]?Bd(t,e[r].value):(t.reportError(new RangeError("No default")),new Tt)}function J0(t,e){let r=[],n=Object.create(null);for(let o of e)o.type==="narg"?n[o.name]=of(t,o.value):r.push(of(t,o));return{positional:r,named:n}}function of(t,e){switch(e.type){case"str":return e.value;case"num":return new xn(e.value,{minimumFractionDigits:e.precision});case"var":return Qte(t,e);case"mesg":return ere(t,e);case"term":return tre(t,e);case"func":return rre(t,e);case"select":return nre(t,e);default:return new Tt}}function Qte(t,{name:e}){let r;if(t.params)if(Object.prototype.hasOwnProperty.call(t.params,e))r=t.params[e];else return new Tt(`$${e}`);else if(t.args&&Object.prototype.hasOwnProperty.call(t.args,e))r=t.args[e];else return t.reportError(new ReferenceError(`Unknown variable: $${e}`)),new Tt(`$${e}`);if(r instanceof xa)return r;switch(typeof r){case"string":return r;case"number":return new xn(r);case"object":if(wn.supportsValue(r))return new wn(r);default:return t.reportError(new TypeError(`Variable type not supported: $${e}, ${typeof r}`)),new Tt(`$${e}`)}}function ere(t,{name:e,attr:r}){let n=t.bundle._messages.get(e);if(!n)return t.reportError(new ReferenceError(`Unknown message: ${e}`)),new Tt(e);if(r){let o=n.attributes[r];return o?Bd(t,o):(t.reportError(new ReferenceError(`Unknown attribute: ${r}`)),new Tt(`${e}.${r}`))}return n.value?Bd(t,n.value):(t.reportError(new ReferenceError(`No value: ${e}`)),new Tt(e))}function tre(t,{name:e,attr:r,args:n}){let o=`-${e}`,a=t.bundle._terms.get(o);if(!a)return t.reportError(new ReferenceError(`Unknown term: ${o}`)),new Tt(o);if(r){let s=a.attributes[r];if(s){t.params=J0(t,n).named;let l=Bd(t,s);return t.params=null,l}return t.reportError(new ReferenceError(`Unknown attribute: ${r}`)),new Tt(`${o}.${r}`)}t.params=J0(t,n).named;let i=Bd(t,a.value);return t.params=null,i}function rre(t,{name:e,args:r}){let n=t.bundle._functions[e];if(!n)return t.reportError(new ReferenceError(`Unknown function: ${e}()`)),new Tt(`${e}()`);if(typeof n!="function")return t.reportError(new TypeError(`Function ${e}() is not callable`)),new Tt(`${e}()`);try{let o=J0(t,r);return n(o.positional,o.named)}catch(o){return t.reportError(o),new Tt(`${e}()`)}}function nre(t,{selector:e,variants:r,star:n}){let o=of(t,e);if(o instanceof Tt)return KG(t,r,n);for(let a of r){let i=of(t,a.key);if(Zte(t,o,i))return Bd(t,a.value)}return KG(t,r,n)}function Z0(t,e){if(t.dirty.has(e))return t.reportError(new RangeError("Cyclic reference")),new Tt;t.dirty.add(e);let r=[],n=t.bundle._useIsolating&&e.length>1;for(let o of e){if(typeof o=="string"){r.push(t.bundle._transform(o));continue}if(t.placeables++,t.placeables>jG)throw t.dirty.delete(e),new RangeError(`Too many placeables expanded: ${t.placeables}, max allowed is ${jG}`);n&&r.push(Xte),r.push(of(t,o).toString(t)),n&&r.push(Jte)}return t.dirty.delete(e),r.join("")}function Bd(t,e){return typeof e=="string"?t.bundle._transform(e):Z0(t,e)}var Qb=class{constructor(e,r,n){this.dirty=new WeakSet,this.params=null,this.placeables=0,this.bundle=e,this.errors=r,this.args=n}reportError(e){if(!this.errors||!(e instanceof Error))throw e;this.errors.push(e)}memoizeIntlObject(e,r){let n=this.bundle._intls.get(e);n||(n={},this.bundle._intls.set(e,n));let o=JSON.stringify(r);return n[o]||(n[o]=new e(this.bundle.locales,r)),n[o]}};function Q0(t,e){let r=Object.create(null);for(let[n,o]of Object.entries(t))e.includes(n)&&(r[n]=o.valueOf());return r}var YG=["unitDisplay","currencyDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function qG(t,e){let r=t[0];if(r instanceof Tt)return new Tt(`NUMBER(${r.valueOf()})`);if(r instanceof xn)return new xn(r.valueOf(),{...r.opts,...Q0(e,YG)});if(r instanceof wn)return new xn(r.toNumber(),{...Q0(e,YG)});throw new TypeError("Invalid argument to NUMBER")}var ore=["dateStyle","timeStyle","fractionalSecondDigits","dayPeriod","hour12","weekday","era","year","month","day","hour","minute","second","timeZoneName"];function XG(t,e){let r=t[0];if(r instanceof Tt)return new Tt(`DATETIME(${r.valueOf()})`);if(r instanceof wn||r instanceof xn)return new wn(r,Q0(e,ore));throw new TypeError("Invalid argument to DATETIME")}var JG=new Map;function ZG(t){let e=Array.isArray(t)?t.join(" "):t,r=JG.get(e);return r===void 0&&(r=new Map,JG.set(e,r)),r}var af=class{constructor(e,{functions:r,useIsolating:n=!0,transform:o=a=>a}={}){this._terms=new Map,this._messages=new Map,this.locales=Array.isArray(e)?e:[e],this._functions={NUMBER:qG,DATETIME:XG,...r},this._useIsolating=n,this._transform=o,this._intls=ZG(e)}hasMessage(e){return this._messages.has(e)}getMessage(e){return this._messages.get(e)}addResource(e,{allowOverrides:r=!1}={}){let n=[];for(let o=0;o<e.body.length;o++){let a=e.body[o];if(a.id.startsWith("-")){if(r===!1&&this._terms.has(a.id)){n.push(new Error(`Attempt to override an existing term: "${a.id}"`));continue}this._terms.set(a.id,a)}else{if(r===!1&&this._messages.has(a.id)){n.push(new Error(`Attempt to override an existing message: "${a.id}"`));continue}this._messages.set(a.id,a)}}return n}formatPattern(e,r=null,n=null){if(typeof e=="string")return this._transform(e);let o=new Qb(this,n,r);try{return Z0(o,e).toString(o)}catch(a){if(o.errors&&a instanceof Error)return o.errors.push(a),new Tt().toString(o);throw a}}};var eE=/^(-?[a-zA-Z][\w-]*) *= */gm,QG=/\.([a-zA-Z][\w-]*) *= */y,are=/\*?\[/y,tE=/(-?[0-9]+(?:\.([0-9]+))?)/y,ire=/([a-zA-Z][\w-]*)/y,e$=/([$-])?([a-zA-Z][\w-]*)(?:\.([a-zA-Z][\w-]*))?/y,sre=/^[A-Z][A-Z0-9_-]*$/,ev=/([^{}\n\r]+)/y,lre=/([^\\"\n\r]*)/y,t$=/\\([\\"])/y,r$=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{6})/y,cre=/^\n+/,n$=/ +$/,dre=/ *\r?\n/g,ure=/( *)$/,pre=/{\s*/y,o$=/\s*}/y,mre=/\[\s*/y,fre=/\s*] */y,hre=/\s*\(\s*/y,gre=/\s*->\s*/y,yre=/\s*:\s*/y,bre=/\s*,?\s*/y,vre=/\s+/y,sf=class{constructor(e){this.body=[],eE.lastIndex=0;let r=0;for(;;){let k=eE.exec(e);if(k===null)break;r=eE.lastIndex;try{this.body.push(l(k[1]))}catch(N){if(N instanceof SyntaxError)continue;throw N}}function n(k){return k.lastIndex=r,k.test(e)}function o(k,N){if(e[r]===k)return r++,!0;if(N)throw new N(`Expected ${k}`);return!1}function a(k,N){if(n(k))return r=k.lastIndex,!0;if(N)throw new N(`Expected ${k.toString()}`);return!1}function i(k){k.lastIndex=r;let N=k.exec(e);if(N===null)throw new SyntaxError(`Expected ${k.toString()}`);return r=k.lastIndex,N}function s(k){return i(k)[1]}function l(k){let N=d(),O=c();if(N===null&&Object.keys(O).length===0)throw new SyntaxError("Expected message value or attributes");return{id:k,value:N,attributes:O}}function c(){let k=Object.create(null);for(;n(QG);){let N=s(QG),O=d();if(O===null)throw new SyntaxError("Expected attribute value");k[N]=O}return k}function d(){let k;if(n(ev)&&(k=s(ev)),e[r]==="{"||e[r]==="}")return u(k?[k]:[],1/0);let N=w();return N?k?u([k,N],N.length):(N.value=I(N.value,cre),u([N],N.length)):k?I(k,n$):null}function u(k=[],N){for(;;){if(n(ev)){k.push(s(ev));continue}if(e[r]==="{"){k.push(p());continue}if(e[r]==="}")throw new SyntaxError("Unbalanced closing brace");let R=w();if(R){k.push(R),N=Math.min(N,R.length);continue}break}let O=k.length-1,L=k[O];typeof L=="string"&&(k[O]=I(L,n$));let F=[];for(let R of k)R instanceof tv&&(R=R.value.slice(0,R.value.length-N)),R&&F.push(R);return F}function p(){a(pre,SyntaxError);let k=m();if(a(o$))return k;if(a(gre)){let N=b();return a(o$,SyntaxError),{type:"select",selector:k,...N}}throw new SyntaxError("Unclosed placeable")}function m(){if(e[r]==="{")return p();if(n(e$)){let[,k,N,O=null]=i(e$);if(k==="$")return{type:"var",name:N};if(a(hre)){let L=f();if(k==="-")return{type:"term",name:N,attr:O,args:L};if(sre.test(N))return{type:"func",name:N,args:L};throw new SyntaxError("Function names must be all upper-case")}return k==="-"?{type:"term",name:N,attr:O,args:[]}:{type:"mesg",name:N,attr:O}}return y()}function f(){let k=[];for(;;){switch(e[r]){case")":return r++,k;case void 0:throw new SyntaxError("Unclosed argument list")}k.push(h()),a(bre)}}function h(){let k=m();return k.type!=="mesg"?k:a(yre)?{type:"narg",name:k.name,value:y()}:k}function b(){let k=[],N=0,O;for(;n(are);){o("*")&&(O=N);let L=g(),F=d();if(F===null)throw new SyntaxError("Expected variant value");k[N++]={key:L,value:F}}if(N===0)return null;if(O===void 0)throw new SyntaxError("Expected default variant");return{variants:k,star:O}}function g(){a(mre,SyntaxError);let k;return n(tE)?k=v():k={type:"str",value:s(ire)},a(fre,SyntaxError),k}function y(){if(n(tE))return v();if(e[r]==='"')return S();throw new SyntaxError("Invalid expression")}function v(){let[,k,N=""]=i(tE),O=N.length;return{type:"num",value:parseFloat(k),precision:O}}function S(){o('"',SyntaxError);let k="";for(;;){if(k+=s(lre),e[r]==="\\"){k+=x();continue}if(o('"'))return{type:"str",value:k};throw new SyntaxError("Unclosed string literal")}}function x(){if(n(t$))return s(t$);if(n(r$)){let[,k,N]=i(r$),O=parseInt(k||N,16);return O<=55295||57344<=O?String.fromCodePoint(O):"\uFFFD"}throw new SyntaxError("Unknown escape sequence")}function w(){let k=r;switch(a(vre),e[r]){case".":case"[":case"*":case"}":case void 0:return!1;case"{":return C(e.slice(k,r))}return e[r-1]===" "?C(e.slice(k,r)):!1}function I(k,N){return k.replace(N,"")}function C(k){let N=k.replace(dre,`
|
|
128
|
+
`),O=ure.exec(k)[1].length;return new tv(N,O)}}},tv=class{constructor(e,r){this.value=e,this.length=r}};var Tre={caps:[550,385,391,7698,7702,401,403,294,298,308,310,319,7742,544,510,420,586,344,350,358,364,7804,7814,7818,7822,7824],small:[551,384,392,7699,7703,402,608,295,299,309,311,320,7743,414,511,421,587,345,351,359,365,7805,7815,7819,7823,7825]},Sre={caps:[8704,1296,8579,5601,398,8498,8513,72,73,383,1276,8514,87,78,79,1280,210,7450,83,8869,8745,581,77,88,8516,90],small:[592,113,596,112,477,607,387,613,305,638,670,645,623,117,111,100,98,633,115,647,110,652,653,120,654,122]};function a$(t,e=!1,r="",n="",o){if(o.length===1)return o;let a=/(&[#\w]+;|<\s*.+?\s*>)/;return o.split(a).map(l=>a.test(l)?l:r+l.replace(/[a-z]/gi,c=>{let d=c.charCodeAt(0);if(d>=97&&d<=122){let u=String.fromCodePoint(t.small[d-97]);return e&&(d===97||d===101||d===111||d===117)?u+u:u}return d>=65&&d<=90?String.fromCodePoint(t.caps[d-65]):c})+n).join("")}var i$={accented:a$.bind(null,Tre,!0,"",""),bidi:a$.bind(null,Sre,!1,"\u202E","\u202C")},rE={accented:"ltr",bidi:"rtl"};var s$=1440*60*1e3,xre=365*s$,nE={thisDay:{hour:"numeric",minute:"numeric"},thisYear:{month:"short",day:"numeric",hour:"numeric",minute:"numeric"},ancient:{year:"numeric",month:"short",day:"numeric"}},l$=(t,e)=>{let r=t[0],n=Date.now(),o=+r,a=n-o;return a<0||a>xre?new wn(o,nE.ancient):a>s$?new wn(o,nE.thisYear):new wn(o,nE.thisDay)};var oE={be:"\u0411\u0435\u043B\u0430\u0440\u0443\u0441\u043A\u0430\u044F",de:"Deutsch",el:"\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC","en-GB":"English (GB)","en-CA":"English (CA)","en-US":"English (US)","es-CL":"Espa\xF1ol",fr:"Fran\xE7ais","fy-NL":"Frysk",fur:"Furlan",ia:"Interlingua",it:"Italiano",nl:"Nederlands","pt-BR":"Portugu\xEAs (BR)",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439","sv-SE":"Svenska",tr:"T\xFCrk\xE7e",uk:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430","zh-CN":"\u7B80\u4F53\u4E2D\u6587","zh-TW":"\u6B63\u9AD4\u4E2D\u6587"},rv=Object.keys(oE),aE="en-US",wre=["ar","he","fa","ps","ur"];async function c$(t){let r=await(await fetch(`/locales/${t}/app.ftl`,{mode:"no-cors",credentials:"include"})).text();return[t,r]}function*d$(t,e){let r=e?i$[e]:void 0;for(let[n,o]of t){let a=new sf(o),i=new af(n,{transform:r,functions:{SHORTDATE:l$}});i.addResource(a),yield i}}function u$(t,e){if(e&&e in rE)return rE[e];let r=t.split("-")[0];return wre.includes(r)?"rtl":"ltr"}var m$=T(U());var p$=T(U()),nv=p$.createContext(null);function f$(){let t=m$.useContext(nv);if(!t)throw new Error("useL10n must be used within an AppLocalizationProvider");return t}var ov=T(E());function g$(){let{primaryLocale:t,requestL10n:e}=f$(),r=h$.useCallback(n=>{e([n.currentTarget.value])},[e]);return t?(0,ov.jsx)(P,{id:"FooterLinks--languageSwitcher--select",attrs:{title:!0},children:(0,ov.jsx)("select",{className:"appFooterLinksLanguageSwitcher",onChange:r,value:t,children:rv.map(n=>(0,ov.jsx)("option",{value:n,children:oE[n]??n},n))})}):null}var go=T(E()),av=class extends y$.PureComponent{_onClick=()=>{this.setState({hide:!0})};state={hide:!1};render(){return this.state.hide?null:(0,go.jsxs)("div",{className:"appFooterLinks",children:[(0,go.jsx)(P,{id:"FooterLinks--hide-button",attrs:{title:!0,"aria-label":!0},children:(0,go.jsx)("button",{className:"appFooterLinksClose",type:"button",onClick:this._onClick,children:"\u2715"})}),(0,go.jsx)("a",{className:"appFooterLinksLink",href:"https://www.mozilla.org/about/legal/terms/mozilla",target:"_blank",rel:"noopener noreferrer",children:(0,go.jsx)(P,{id:"FooterLinks--legal",children:"Legal"})}),(0,go.jsx)("a",{className:"appFooterLinksLink",href:"https://www.mozilla.org/privacy/websites",target:"_blank",rel:"noopener noreferrer",children:(0,go.jsx)(P,{id:"FooterLinks--Privacy",children:"Privacy"})}),(0,go.jsx)("a",{className:"appFooterLinksLink",href:"https://www.mozilla.org/privacy/websites/#cookies",target:"_blank",rel:"noopener noreferrer",children:(0,go.jsx)(P,{id:"FooterLinks--Cookies",children:"Cookies"})}),(0,go.jsx)(g$,{})]})}};var b$=T(U());var kn=T(E()),iv=class extends b$.Component{state={hasError:!1,errorString:null};componentDidCatch(e,{componentStack:r}){console.error("An unhandled error was thrown in a React component.",e,r);let n=null;if(e&&typeof e=="object"&&typeof e.toString=="function"){let o=e.toString();typeof o=="string"&&(n=o)}this.setState({hasError:!0,errorString:n}),aB({exDescription:n?n+`
|
|
129
|
+
`+r:r,exFatal:!0})}render(){if(this.state.hasError){let{errorString:e}=this.state;return(0,kn.jsx)("div",{className:"appErrorBoundary",children:(0,kn.jsx)("div",{className:"appErrorBoundaryContents",children:(0,kn.jsxs)("div",{className:"photon-message-bar photon-message-bar-error photon-message-bar-inner-content",children:[(0,kn.jsxs)("div",{className:"photon-message-bar-inner-text appErrorBoundaryInnerText",children:[(0,kn.jsx)("p",{children:this.props.message}),e?(0,kn.jsxs)("p",{children:[e,"."]}):null,(0,kn.jsx)("p",{children:this.props.reportExplanationMessage})]}),(0,kn.jsx)("a",{className:"photon-button photon-button-micro photon-message-bar-action-button",href:"https://github.com/firefox-devtools/profiler/issues/new?title=An%20error%20occurred%20in%20Firefox%20Profiler",target:"_blank",rel:"noreferrer",children:this.props.buttonContent})]})})})}return this.props.children}};function v$(t){return(0,kn.jsx)(iv,{...t,buttonContent:"Report the error on GitHub",reportExplanationMessage:"Please report this error to the developers, including the full error as displayed in the Developer Tools\u2019 Web Console."})}function sv(t){return(0,kn.jsx)(iv,{...t,buttonContent:(0,kn.jsx)(P,{id:"ErrorBoundary--report-error-on-github",children:"Report the error on GitHub"}),reportExplanationMessage:(0,kn.jsx)(P,{id:"ErrorBoundary--report-error-to-developers-description",children:"Please report this issue to the developers, including the full error as displayed in the Developer Tools\u2019 Web Console."})})}var V6=T(U());var E6=T(U());var pj=T(cv());var cj=T(U()),dj=T(xe());var P$=T(U()),E$=T(xe());var lf=T(E()),uv=class extends P$.PureComponent{_onClickListener=e=>{this.props.onSelectTab(e.currentTarget.dataset.name||"")};_onMouseDown=e=>{this.props.onSelectTab(e.currentTarget.dataset.name||""),e.preventDefault()};render(){let{selectedTabSlug:e,visibleTabs:r}=this.props;return(0,lf.jsx)("ol",{className:"tabBarTabWrapper",role:"tablist","aria-label":"Profiler tabs",children:r.map(n=>(0,lf.jsx)("li",{className:(0,E$.default)({tabBarTab:!0,selected:n===e}),"data-name":n,onClick:this._onClickListener,onMouseDown:this._onMouseDown,children:(0,lf.jsx)(P,{id:im[n],children:(0,lf.jsx)("button",{className:"tabBarTabButton",type:"button",id:`${n}-tab-button`,role:"tab","aria-selected":n===e,"aria-controls":`${n}-tab`,children:im[n]})})},n))})}};var Q$=T(U()),ez=T(Zr());var Cs=T(U()),Gd=T(xe()),uf=T(Zr());var Wl=T(U()),R$=T(xe()),pv=T(N$());function Cre(){let t=new Map,e=new Map,r=null;function n(l,c){let d=t.get(l);d&&d.forEach(u=>u(c))}function o(l){for(let c of l)document.hidden?e.set(c.target,c.contentRect):n(c.target,c.contentRect)}function a(){document.hidden||(e.forEach((l,c)=>n(c,l)),e.clear())}function i(){return r||(r=new ResizeObserver(o),window.addEventListener("visibilitychange",a)),r}function s(){r=null,window.removeEventListener("visibilitychange",a)}return{subscribe(l,c){let d=t.get(l)??new Set;t.set(l,d),d.add(c),i().observe(l)},unsubscribe(l,c){let d=t.get(l);d?(d.delete(c)||console.warn("[ResizeObserverWrapper.unsubscribe] We tried to unregister an unknown callback."),d.size===0&&(t.delete(l),i().unobserve(l)),t.size===0&&s()):console.warn("[ResizeObserverWrapper.unsubscribe] We tried to unregister a callback for an element that wasn't registered in the first place. Ignoring...")}}}var sE=null;function fi(){return sE||(sE=Cre()),sE}var wa=T(E()),lE=class extends Wl.PureComponent{render(){let{renderItem:e,item:r,index:n,columnIndex:o}=this.props;return e(r,n,o)}},cE=class extends Wl.PureComponent{render(){let{className:e,renderItem:r,items:n,specialItems:o,visibleRangeStart:a,visibleRangeEnd:i,columnIndex:s,forceRender:l}=this.props;return(0,wa.jsx)("div",{className:e,children:(0,pv.default)(a,Math.max(a,i)).map(c=>{let d=n[c],u=o.indexOf(d),p=o.reduce((f,h)=>h===d?f+1:f,0),m=`${u}|${p}`;return(0,wa.jsx)(lE,{index:c,columnIndex:s,renderItem:r,item:d,items:n,forceRenderItem:m,forceRender:l},c)})})}},dE=class extends Wl.PureComponent{render(){let{itemHeight:e,className:r,renderItem:n,items:o,specialItems:a,visibleRangeStart:i,visibleRangeEnd:s,columnIndex:l,containerWidth:c,forceRender:d}=this.props,u=16,p=Math.floor(i/u),m=Math.ceil(s/u),f=(0,pv.default)(p,Math.max(p,m)).map(h=>h*u);return(0,wa.jsxs)("div",{className:r,style:{height:`${(o.length+1)*e}px`,minWidth:l===1?c:void 0},children:[(0,wa.jsx)("div",{className:`${r}TopSpacer`,style:{height:Math.max(0,i)*e+"px"}},-1),f.map(h=>(0,wa.jsx)(cE,{className:`${r}InnerChunk`,visibleRangeStart:Math.max(h,i),visibleRangeEnd:Math.min(h+u,s),columnIndex:l,renderItem:n,items:o,specialItems:a,forceRender:d},h))]})}},Hd=class extends Wl.PureComponent{_container=Wl.createRef();state={scrollTop:0,containerHeight:0};componentDidMount(){document.addEventListener("copy",this._onCopy,!1);let e=this._container.current;if(!e)throw new Error("The container was assumed to exist while mounting The VirtualList.");fi().subscribe(e,this._resizeListener)}componentWillUnmount(){document.removeEventListener("copy",this._onCopy,!1);let e=this._container.current;if(!e)throw new Error("The container was assumed to exist while unmounting The VirtualList.");fi().unsubscribe(e,this._resizeListener)}_resizeListener=e=>{this.setState({containerHeight:e.height})};_onScroll=e=>{this.setState({scrollTop:e.currentTarget.scrollTop})};_onCopy=e=>{let{onCopy:r}=this.props;r&&document.activeElement===this._container.current&&r(e)};computeVisibleRange(){let{itemHeight:e,disableOverscan:r}=this.props,{scrollTop:n,containerHeight:o}=this.state,a=r?0:25,i=16,s=Math.floor(n/e)-a,l=Math.ceil((n+o)/e)+a;return r||(s=Math.floor(s/i)*i,l=Math.ceil(l/i)*i),{visibleRangeStart:s,visibleRangeEnd:l}}_scrollContainerHorizontally(e,r,n){let a=r,i=r+400,s=e.clientWidth-n;e.scrollLeft>a?e.scrollLeft=a:e.scrollLeft+s<i&&(e.scrollLeft=Math.min(a,i-s))}scrollItemIntoView(e,r,n=0){let o=this._container.current;if(!o)return;let a=3*this.props.itemHeight;o.clientHeight<2*a&&(a=0);let i=e*this.props.itemHeight,s=i-a,l=i+this.props.itemHeight,c=l+a,d=16*this.props.itemHeight;if(i+d<o.scrollTop||l-d>o.scrollTop+o.clientHeight){let u=i-(o.clientHeight-this.props.itemHeight)/2;o.scrollTop=Math.min(s,u)}else s<o.scrollTop?o.scrollTop=s:c>o.scrollTop+o.clientHeight&&(o.scrollTop=Math.min(s,c-o.clientHeight));this._scrollContainerHorizontally(o,r,n)}focus(){let e=this._container.current;e&&e.focus()}_onMouseLeaveInnerWrapper=()=>{this.props.onMouseLeaveRenderedList&&this.props.onMouseLeaveRenderedList()};render(){let{itemHeight:e,className:r,renderItem:n,items:o,focusable:a,specialItems:i,onKeyDown:s,containerWidth:l,forceRender:c,ariaRole:d,ariaLabel:u,ariaActiveDescendant:p}=this.props,m=this.props.columnCount||1,{visibleRangeStart:f,visibleRangeEnd:h}=this.computeVisibleRange();return(0,wa.jsx)("div",{className:r,ref:this._container,tabIndex:a?0:-1,onKeyDown:s,role:d,"aria-label":u,"aria-activedescendant":p,onScroll:this._onScroll,children:(0,wa.jsx)("div",{className:`${r}InnerWrapper`,onMouseLeave:this._onMouseLeaveInnerWrapper,children:(0,pv.default)(m).map(b=>(0,wa.jsx)(dE,{className:(0,R$.default)(`${r}Inner`,`${r}Inner${b}`),visibleRangeStart:Math.max(0,f),visibleRangeEnd:Math.min(o.length,h),itemHeight:e,renderItem:n,items:o,specialItems:i,columnIndex:b,containerWidth:l,forceRender:c},b))})})}};var z$=T(U());var H$=T(U()),fE=T(ls()),In=T(Ce()),U$=T(xe()),bv=T(jl());var hv=T(jl());function Dr(t,...e){return typeof t=="function"&&t(...e)}function xs(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function D$(){return Math.random().toString(36).substring(7)}var tr={menu:"react-contextmenu",menuVisible:"react-contextmenu--visible",menuWrapper:"react-contextmenu-wrapper",menuItem:"react-contextmenu-item",menuItemActive:"react-contextmenu-item--active",menuItemDisabled:"react-contextmenu-item--disabled",menuItemDivider:"react-contextmenu-item--divider",menuItemSelected:"react-contextmenu-item--selected",subMenu:"react-contextmenu-submenu"},Jo={},A$=!!(typeof window<"u"&&window.document&&window.document.createElement);var mv="REACT_CONTEXTMENU_SHOW",fv="REACT_CONTEXTMENU_HIDE";function O$(t,e,r=window){let n;typeof window.CustomEvent=="function"?n=new window.CustomEvent(t,{detail:e}):(n=document.createEvent("CustomEvent"),n.initCustomEvent(t,!1,!0,e)),r&&(r.dispatchEvent(n),(0,hv.default)(Jo,e))}function Zo(t={},e){O$(mv,(0,hv.default)({},t,{type:mv}),e)}function Yn(t={},e){O$(fv,(0,hv.default)({},t,{type:fv}),e)}var uE=class{constructor(){this.callbacks={},A$&&(window.addEventListener(mv,this.handleShowEvent),window.addEventListener(fv,this.handleHideEvent))}handleShowEvent=e=>{for(let r in this.callbacks)xs(this.callbacks,r)&&this.callbacks[r].show(e)};handleHideEvent=e=>{for(let r in this.callbacks)xs(this.callbacks,r)&&this.callbacks[r].hide(e)};register=(e,r)=>{let n=D$();return this.callbacks[n]={show:e,hide:r},n};unregister=e=>{e&&this.callbacks[e]&&delete this.callbacks[e]}},Kl=new uE;var ka=T(U()),B$=T(Ce());var gv=T(U()),qn=T(Ce()),cf=T(xe()),F$=T(jl());function pE(){return pE=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},pE.apply(null,arguments)}var be=class extends gv.Component{static propTypes={attributes:qn.default.object,children:qn.default.node,className:qn.default.string,data:qn.default.object,disabled:qn.default.bool,divider:qn.default.bool,onClick:qn.default.func,onMouseLeave:qn.default.func,onMouseMove:qn.default.func,preventClose:qn.default.bool,selected:qn.default.bool,role:qn.default.string};static defaultProps={attributes:{},children:null,className:"",data:{},disabled:!1,divider:!1,onClick(){return null},onMouseMove:()=>null,onMouseLeave:()=>null,preventClose:!1,selected:!1,role:"menuitem"};handleClick=e=>{e.button!==0&&e.button!==1&&e.preventDefault(),!(this.props.disabled||this.props.divider)&&(Dr(this.props.onClick,e,(0,F$.default)({},this.props.data,Jo.data),Jo.target),!this.props.preventClose&&Yn())};render(){let{attributes:e,children:r,className:n,disabled:o,divider:a,selected:i,role:s}=this.props,l=(0,cf.default)(n,tr.menuItem,e.className,{[(0,cf.default)(tr.menuItemDisabled,e.disabledClassName)]:o,[(0,cf.default)(tr.menuItemDivider,e.dividerClassName)]:a,[(0,cf.default)(tr.menuItemSelected,e.selectedClassName)]:i});return gv.default.createElement("div",pE({},e,{className:l,role:s,tabIndex:"-1","aria-disabled":o?"true":"false","aria-orientation":a?"horizontal":null,ref:c=>{this.ref=c},onMouseMove:this.props.onMouseMove,onMouseLeave:this.props.onMouseLeave,onTouchEnd:this.handleClick,onClick:this.handleClick}),a?null:r)}};var Yl=class extends ka.Component{static propTypes={children:B$.default.node.isRequired};constructor(e){super(e),this.seletedItemRef=null,this.state={selectedItem:null,forceSubMenuOpen:!1}}handleKeyNavigation=e=>{if(this.state.isVisible!==!1)switch(e.key){case"ArrowLeft":case"Left":case"Escape":case"Esc":e.preventDefault(),this.hideMenu(e);break;case"ArrowUp":case"Up":e.preventDefault(),this.selectChildren(!0);break;case"ArrowDown":case"Down":e.preventDefault(),this.selectChildren(!1);break;case"ArrowRight":case"Right":this.tryToOpenSubMenu(e);break;case"Enter":e.preventDefault(),this.tryToOpenSubMenu(e);{let r=this.seletedItemRef&&this.seletedItemRef.props&&this.seletedItemRef.props.disabled;this.seletedItemRef&&this.seletedItemRef.ref instanceof HTMLElement&&!r?this.seletedItemRef.ref.click():this.hideMenu(e)}break;default:}};handleForceClose=()=>{this.setState({forceSubMenuOpen:!1})};tryToOpenSubMenu=e=>{this.state.selectedItem&&this.state.selectedItem.type===this.getSubMenuType()&&(e.preventDefault(),this.setState({forceSubMenuOpen:!0}))};selectChildren=e=>{let{selectedItem:r}=this.state,n=[],o=0,a={},i=(d,u)=>{d&&([be,this.getSubMenuType()].indexOf(d.type)<0&&d.props.children instanceof Object?ka.default.Children.forEach(d.props.children,i):d.props.divider||(d.props.disabled&&(++o,a[u]=!0),n.push(d)))};if(ka.default.Children.forEach(this.props.children,i),o===n.length)return;function s(d){let u=d,p=()=>{e?--u:++u,u<0?u=n.length-1:u>=n.length&&(u=0)};do p();while(u!==d&&a[u]);return u===d?null:u}let l=r?r.index:-1,c=s(l);c!==null&&this.setState({selectedItem:{index:c,type:n[c].type},forceSubMenuOpen:!1})};onChildMouseMove=(e,r)=>{(this.state.selectedItem===null||this.state.selectedItem.index!==r)&&this.setState({selectedItem:{index:r,type:e.type},forceSubMenuOpen:!1})};onChildMouseLeave=()=>{this.setState({selectedItem:null,forceSubMenuOpen:!1})};renderChildren=(e,r={value:-1})=>ka.default.Children.map(e,n=>{let o=r,a={};if(!ka.default.isValidElement(n))return n;if([be,this.getSubMenuType()].indexOf(n.type)<0)return a.children=this.renderChildren(n.props.children,o),ka.default.cloneElement(n,a);let i=null;return n.props.divider||(i=++o.value),a.onMouseLeave=this.onChildMouseLeave.bind(this),n.type===this.getSubMenuType()&&(a.forceOpen=this.state.forceSubMenuOpen&&this.state.selectedItem&&this.state.selectedItem.index===i,a.forceClose=this.handleForceClose,a.parentKeyNavigationHandler=this.handleKeyNavigation),!n.props.divider&&this.state.selectedItem&&this.state.selectedItem.index===i?(a.selected=!0,a.ref=s=>{this.seletedItemRef=s},ka.default.cloneElement(n,a)):(a.onMouseMove=()=>this.onChildMouseMove(n,i),ka.default.cloneElement(n,a))})};var yv=T(U()),Ar=T(Ce()),ql=T(xe()),mE=T(jl());function df(){return df=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},df.apply(null,arguments)}var Ud=class t extends Yl{static propTypes={children:Ar.default.node.isRequired,attributes:Ar.default.object,title:Ar.default.node.isRequired,className:Ar.default.string,disabled:Ar.default.bool,hoverDelay:Ar.default.number,rtl:Ar.default.bool,selected:Ar.default.bool,onMouseMove:Ar.default.func,onMouseOut:Ar.default.func,forceOpen:Ar.default.bool,forceClose:Ar.default.func,parentKeyNavigationHandler:Ar.default.func,onClick:Ar.default.func,data:Ar.default.object,preventCloseOnClick:Ar.default.bool};static defaultProps={disabled:!1,hoverDelay:500,attributes:{},className:"",rtl:!1,selected:!1,onMouseMove:()=>null,onMouseOut:()=>null,forceOpen:!1,forceClose:()=>null,parentKeyNavigationHandler:()=>null,onClick:()=>null,data:{},preventCloseOnClick:!1};constructor(e){super(e),this.state=(0,mE.default)({},this.state,{visible:!1})}componentDidMount(){this.listenId=Kl.register(()=>{},this.hideSubMenu)}getSubMenuType(){return t}shouldComponentUpdate(e,r){return this.isVisibilityChange=(this.state.visible!==r.visible||this.props.forceOpen!==e.forceOpen)&&!(this.state.visible&&e.forceOpen)&&!(this.props.forceOpen&&r.visible),!0}componentDidUpdate(){if(this.isVisibilityChange)if(this.props.forceOpen||this.state.visible)(window.requestAnimationFrame||setTimeout)(()=>{if(!this.subMenu)return;let r=this.props.rtl?this.getRTLMenuPosition():this.getMenuPosition();this.subMenu.style.removeProperty("top"),this.subMenu.style.removeProperty("bottom"),this.subMenu.style.removeProperty("left"),this.subMenu.style.removeProperty("right"),xs(r,"top")&&(this.subMenu.style.top=r.top),xs(r,"left")&&(this.subMenu.style.left=r.left),xs(r,"bottom")&&(this.subMenu.style.bottom=r.bottom),xs(r,"right")&&(this.subMenu.style.right=r.right),this.subMenu.classList.add(tr.menuVisible),this.registerHandlers(),this.setState({selectedItem:null})});else{let e=()=>{this.subMenu&&(this.subMenu.removeEventListener("transitionend",e),this.subMenu.style.removeProperty("bottom"),this.subMenu.style.removeProperty("right"),this.subMenu.style.top=0,this.subMenu.style.left="100%",this.unregisterHandlers())};this.subMenu.addEventListener("transitionend",e),this.subMenu.classList.remove(tr.menuVisible)}}componentWillUnmount(){this.listenId&&Kl.unregister(this.listenId),this.opentimer&&clearTimeout(this.opentimer),this.closetimer&&clearTimeout(this.closetimer),this.unregisterHandlers(!0)}getMenuPosition=()=>{let{innerWidth:e,innerHeight:r}=window,n=this.subMenu.getBoundingClientRect(),o={};return n.bottom>r?o.bottom=0:o.top=0,n.right<e?o.left="100%":o.right="100%",o};getRTLMenuPosition=()=>{let{innerHeight:e}=window,r=this.subMenu.getBoundingClientRect(),n={};return r.bottom>e?n.bottom=0:n.top=0,r.left<0?n.left="100%":n.right="100%",n};hideMenu=e=>{e.preventDefault(),this.hideSubMenu(e)};hideSubMenu=e=>{e.detail&&e.detail.id&&this.menu&&e.detail.id!==this.menu.id||(this.props.forceOpen&&this.props.forceClose(),this.setState({visible:!1,selectedItem:null}),this.unregisterHandlers())};handleClick=e=>{e.preventDefault(),!this.props.disabled&&(Dr(this.props.onClick,e,(0,mE.default)({},this.props.data,Jo.data),Jo.target),!(!this.props.onClick||this.props.preventCloseOnClick)&&Yn())};handleMouseEnter=()=>{this.closetimer&&clearTimeout(this.closetimer),!(this.props.disabled||this.state.visible)&&(this.opentimer=setTimeout(()=>this.setState({visible:!0,selectedItem:null}),this.props.hoverDelay))};handleMouseLeave=()=>{this.opentimer&&clearTimeout(this.opentimer),this.state.visible&&(this.closetimer=setTimeout(()=>this.setState({visible:!1,selectedItem:null}),this.props.hoverDelay))};menuRef=e=>{this.menu=e};subMenuRef=e=>{this.subMenu=e};registerHandlers=()=>{document.removeEventListener("keydown",this.props.parentKeyNavigationHandler),document.addEventListener("keydown",this.handleKeyNavigation)};unregisterHandlers=e=>{document.removeEventListener("keydown",this.handleKeyNavigation),e||document.addEventListener("keydown",this.props.parentKeyNavigationHandler)};render(){let{children:e,attributes:r,disabled:n,title:o,selected:a}=this.props,{visible:i}=this.state,s={ref:this.menuRef,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,className:(0,ql.default)(tr.menuItem,tr.subMenu,r.listClassName),style:{position:"relative"}},l={className:(0,ql.default)(tr.menuItem,r.className,{[(0,ql.default)(tr.menuItemDisabled,r.disabledClassName)]:n,[(0,ql.default)(tr.menuItemActive,r.visibleClassName)]:i,[(0,ql.default)(tr.menuItemSelected,r.selectedClassName)]:a}),onMouseMove:this.props.onMouseMove,onMouseOut:this.props.onMouseOut,onClick:this.handleClick},c={ref:this.subMenuRef,style:{position:"absolute",transition:"opacity 1ms",top:0,left:"100%"},className:(0,ql.default)(tr.menu,this.props.className)};return yv.default.createElement("nav",df({},s,{role:"menuitem",tabIndex:"-1","aria-haspopup":"true"}),yv.default.createElement("div",df({},r,l),o),yv.default.createElement("nav",df({},c,{role:"menu",tabIndex:"-1"}),this.renderChildren(e)))}};function Rre(t){fE.default.flushSync?fE.default.flushSync(t):t()}var ws=class extends Yl{static propTypes={id:In.default.string.isRequired,children:In.default.node.isRequired,data:In.default.object,className:In.default.string,hideOnLeave:In.default.bool,rtl:In.default.bool,onHide:In.default.func,onMouseLeave:In.default.func,onShow:In.default.func,preventHideOnContextMenu:In.default.bool,preventHideOnResize:In.default.bool,preventHideOnScroll:In.default.bool,style:In.default.object};static defaultProps={className:"",data:{},hideOnLeave:!1,rtl:!1,onHide(){return null},onMouseLeave(){return null},onShow(){return null},preventHideOnContextMenu:!1,preventHideOnResize:!1,preventHideOnScroll:!1,style:{}};constructor(e){super(e),this.state=(0,bv.default)({},this.state,{x:0,y:0,isVisible:!1})}getSubMenuType(){return Ud}componentDidMount(){this.listenId=Kl.register(this.handleShow,this.handleHide)}componentDidUpdate(){let e=window.requestAnimationFrame||setTimeout;this.state.isVisible?e(()=>{let{x:r,y:n}=this.state,{top:o,left:a}=this.props.rtl?this.getRTLMenuPosition(r,n):this.getMenuPosition(r,n);e(()=>{!this.menu||!this.state.isVisible||(this.menu.style.top=`${o}px`,this.menu.style.left=`${a}px`,this.menu.style.opacity=1,this.menu.style.pointerEvents="auto")})}):e(()=>{this.menu&&(this.menu.style.opacity=0,this.menu.style.pointerEvents="none")})}componentWillUnmount(){this.listenId&&Kl.unregister(this.listenId),this.unregisterHandlers()}registerHandlers=()=>{document.addEventListener("mousedown",this.handleOutsideClick),document.addEventListener("touchstart",this.handleOutsideClick),this.props.preventHideOnScroll||document.addEventListener("scroll",this.handleHide),this.props.preventHideOnContextMenu||document.addEventListener("contextmenu",this.handleHide),document.addEventListener("keydown",this.handleKeyNavigation),this.props.preventHideOnResize||window.addEventListener("resize",this.handleHide)};unregisterHandlers=()=>{document.removeEventListener("mousedown",this.handleOutsideClick),document.removeEventListener("touchstart",this.handleOutsideClick),document.removeEventListener("scroll",this.handleHide),document.removeEventListener("contextmenu",this.handleHide),document.removeEventListener("keydown",this.handleKeyNavigation),window.removeEventListener("resize",this.handleHide)};handleShow=e=>{if(e.detail.id!==this.props.id||this.state.isVisible)return;let{x:r,y:n}=e.detail.position;this.setState({isVisible:!0,x:r,y:n}),this.registerHandlers(),Dr(this.props.onShow,e)};handleHide=e=>{this.state.isVisible&&(!e.detail||!e.detail.id||e.detail.id===this.props.id)&&(this.unregisterHandlers(),Rre(()=>{this.setState({isVisible:!1,selectedItem:null,forceSubMenuOpen:!1})}),Dr(this.props.onHide,e))};handleOutsideClick=e=>{this.menu.contains(e.target)||Yn()};handleMouseLeave=e=>{e.preventDefault(),Dr(this.props.onMouseLeave,e,(0,bv.default)({},this.props.data,Jo.data),Jo.target),this.props.hideOnLeave&&Yn()};handleContextMenu=e=>{e.preventDefault(),this.handleHide(e)};hideMenu=e=>{(e.key==="Escape"||e.key==="Esc"||e.key==="Enter")&&Yn()};getMenuPosition=(e=0,r=0)=>{let n={top:r,left:e};if(!this.menu)return n;let{innerWidth:o,innerHeight:a}=window,i=this.menu.getBoundingClientRect();return r+i.height>a&&(n.top-=i.height),e+i.width>o&&(n.left-=i.width),n.top<0&&(n.top=i.height<a?(a-i.height)/2:0),n.left<0&&(n.left=i.width<o?(o-i.width)/2:0),n};getRTLMenuPosition=(e=0,r=0)=>{let n={top:r,left:e};if(!this.menu)return n;let{innerWidth:o,innerHeight:a}=window,i=this.menu.getBoundingClientRect();return n.left=e-i.width,r+i.height>a&&(n.top-=i.height),n.left<0&&(n.left+=i.width),n.top<0&&(n.top=i.height<a?(a-i.height)/2:0),n.left+i.width>o&&(n.left=i.width<o?(o-i.width)/2:0),n};menuRef=e=>{this.menu=e};render(){let{children:e,className:r,style:n}=this.props,{isVisible:o}=this.state,a=(0,bv.default)({},n,{position:"fixed",opacity:0,pointerEvents:"none"}),i=(0,U$.default)(tr.menu,r,{[tr.menuVisible]:o});return H$.default.createElement("nav",{role:"menu",tabIndex:"-1",ref:this.menuRef,style:a,className:i,onContextMenu:this.handleContextMenu,onMouseLeave:this.handleMouseLeave},this.renderChildren(e))}};var vv=T(U()),yo=T(Ce()),G$=T(xe()),hE=T(jl());var ks=class extends vv.Component{static propTypes={id:yo.default.string.isRequired,children:yo.default.node.isRequired,attributes:yo.default.object,collect:yo.default.func,disable:yo.default.bool,holdToDisplay:yo.default.number,posX:yo.default.number,posY:yo.default.number,renderTag:yo.default.elementType,triggerOnLeftClick:yo.default.bool,disableIfShiftIsPressed:yo.default.bool};static defaultProps={attributes:{},collect(){return null},disable:!1,holdToDisplay:1e3,renderTag:"div",posX:0,posY:0,triggerOnLeftClick:!1,disableIfShiftIsPressed:!1};touchHandled=!1;handleMouseDown=e=>{this.props.holdToDisplay>=0&&e.button===0&&(e.persist(),e.stopPropagation(),this.mouseDownTimeoutId=setTimeout(()=>this.handleContextClick(e),this.props.holdToDisplay)),Dr(this.props.attributes.onMouseDown,e)};handleMouseUp=e=>{e.button===0&&clearTimeout(this.mouseDownTimeoutId),Dr(this.props.attributes.onMouseUp,e)};handleMouseOut=e=>{e.button===0&&clearTimeout(this.mouseDownTimeoutId),Dr(this.props.attributes.onMouseOut,e)};handleTouchstart=e=>{this.touchHandled=!1,this.props.holdToDisplay>=0&&(e.persist(),e.stopPropagation(),this.touchstartTimeoutId=setTimeout(()=>{this.handleContextClick(e),this.touchHandled=!0},this.props.holdToDisplay)),Dr(this.props.attributes.onTouchStart,e)};handleTouchEnd=e=>{this.touchHandled&&e.preventDefault(),clearTimeout(this.touchstartTimeoutId),Dr(this.props.attributes.onTouchEnd,e)};handleContextMenu=e=>{this.handleContextClick(e),Dr(this.props.attributes.onContextMenu,e)};handleMouseClick=e=>{this.handleContextClick(e),Dr(this.props.attributes.onClick,e)};handleContextClick=e=>{if(this.props.disable||this.props.disableIfShiftIsPressed&&e.shiftKey)return;e.preventDefault(),e.stopPropagation();let r=e.clientX||e.touches&&e.touches[0].pageX,n=e.clientY||e.touches&&e.touches[0].pageY;this.props.posX&&(r-=this.props.posX),this.props.posY&&(n-=this.props.posY),Yn();let o=Dr(this.props.collect,this.props),a={position:{x:r,y:n},target:this.elem,id:this.props.id};o&&typeof o.then=="function"?o.then(i=>{a.data=(0,hE.default)({},i,{target:e.target}),Zo(a)}):(a.data=(0,hE.default)({},o,{target:e.target}),Zo(a))};elemRef=e=>{this.elem=e};render(){let{renderTag:e,attributes:r,children:n,triggerOnLeftClick:o}=this.props,a={...r,className:(0,G$.default)(tr.menuWrapper,r.className),onContextMenu:this.handleContextMenu,onClick:o?this.handleMouseClick:null,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onTouchStart:this.handleTouchstart,onTouchEnd:this.handleTouchEnd,onMouseOut:this.handleMouseOut,ref:this.elemRef};return vv.default.createElement(e,a,n)}};var $$=T(U());var twe=[...Object.keys(ks.propTypes),"children"];var V$=T(E()),rr=class extends z$.PureComponent{render(){return(0,V$.jsx)(ks,{holdToDisplay:-1,id:"contextmenu",...this.props})}};var et=T(E()),W$=15;function j$(t){let{children:e,id:r}=t;return r?(0,et.jsx)(P,{...t,children:e}):e}var gE=class extends Cs.PureComponent{_onDividerMouseDown=e=>{this.props.onColumnWidthChangeStart(Number(e.currentTarget.dataset.columnIndex),e.clientX)};_onDividerDoubleClick=e=>{this.props.onColumnWidthReset(Number(e.currentTarget.dataset.columnIndex))};render(){let{fixedColumns:e,mainColumn:r,viewOptions:n}=this.props,o=n.fixedColumnWidths;return e.length===0&&!r.titleL10nId?null:(0,et.jsxs)("div",{className:"treeViewHeader",children:[e.map((a,i)=>{let s=o[i]+(a.headerWidthAdjustment||0);return(0,et.jsxs)(Cs.Fragment,{children:[(0,et.jsx)(j$,{id:a.titleL10nId,attrs:{title:!0},children:(0,et.jsx)("span",{style:{width:s},className:`treeViewHeaderColumn treeViewFixedColumn ${a.propName}`})}),a.hideDividerAfter!==!0?(0,et.jsx)("span",{className:(0,Gd.default)("treeViewColumnDivider",{isResizable:a.resizable}),onMouseDown:a.resizable?this._onDividerMouseDown:void 0,onDoubleClick:a.resizable?this._onDividerDoubleClick:void 0,"data-column-index":i},a.propName+"Divider"):null]},a.propName)}),(0,et.jsx)(j$,{id:r.titleL10nId,attrs:{title:!0},children:(0,et.jsx)("span",{className:`treeViewHeaderColumn treeViewMainColumn ${r.propName}`})})]})}};function yE(t,e,r){if(!e)return t;e.lastIndex=0;let n=[],o=0,a;for(;a=e.exec(t);){let i=a;if(i===null)break;n.push(t.substring(o,i.index)),o=e.lastIndex,n.push((0,et.jsx)("span",{className:r,children:i[0]},i.index))}return n.push(t.substring(o)),n}var bE=class extends Cs.PureComponent{_onClick=e=>{let{nodeId:r,onClick:n}=this.props;n(r,e)};render(){let{displayData:e,columns:r,viewOptions:n,index:o,isSelected:a,isRightClicked:i,highlightRegExp:s,rowHeightStyle:l}=this.props,c=n.fixedColumnWidths;return(0,et.jsx)("div",{className:(0,Gd.default)("treeViewRow","treeViewRowFixedColumns",{even:o%2===0,odd:o%2!==0,isSelected:a,isRightClicked:i}),style:l,onMouseDown:this._onClick,children:r.map((d,u)=>{let p=d.component,m=e[d.propName]||"";return(0,et.jsxs)(Cs.Fragment,{children:[(0,et.jsx)("span",{className:`treeViewRowColumn treeViewFixedColumn ${d.propName}`,title:m,style:{width:c[u]},children:p?(0,et.jsx)(p,{displayData:e}):yE(m,s,"treeViewHighlighting")}),d.hideDividerAfter!==!0?(0,et.jsx)("span",{className:"treeViewColumnDivider"}):null]},d.propName)})})}},vE=class extends Cs.PureComponent{_onMouseDown=e=>{let{nodeId:r,onClick:n}=this.props;e.target.classList.contains("treeRowToggleButton")||n(r,e)};_onToggleClick=e=>{let{nodeId:r,isExpanded:n,onToggle:o}=this.props;o(r,!n,e.altKey===!0)};render(){let{displayData:e,depth:r,mainColumn:n,appendageColumn:o,index:a,canBeExpanded:i,isExpanded:s,isSelected:l,isRightClicked:c,highlightRegExp:d,rowHeightStyle:u,indentWidth:p,nodeId:m}=this.props,f=n.component,h=null;i&&(h=!1),s&&(h=!0);let b=e.selfTimeUnit;return b==="\u2014"&&(b="0ms"),(0,et.jsxs)("div",{className:(0,Gd.default)("treeViewRow","treeViewRowScrolledColumns",{even:a%2===0,odd:a%2!==0,isSelected:l,isRightClicked:c}),style:u,onMouseDown:this._onMouseDown,"aria-expanded":h??void 0,"aria-level":r+1,"aria-selected":l,"aria-label":e.ariaLabel,role:"treeitem",id:`treeViewRow-${m}`,children:[(0,et.jsx)("span",{className:"treeRowIndentSpacer",style:{width:`${r*p}px`}}),(0,et.jsx)("span",{className:`treeRowToggleButton ${s?"expanded":"collapsed"} ${i?"canBeExpanded":"leaf"}`,onClick:this._onToggleClick}),e.categoryColor&&e.categoryName?(0,et.jsx)("span",{className:`colored-square category-color-${e.categoryColor}`,title:e.categoryName}):null,(0,et.jsxs)("span",{className:(0,Gd.default)("treeViewRowColumn","treeViewMainColumn",n.propName,{dim:e.isFrameLabel}),children:[e.badge?(0,et.jsx)(P,{id:e.badge.localizationId,vars:e.badge.vars,attrs:{title:!0},children:(0,et.jsx)("span",{className:`treeBadge ${e.badge.name}`,title:e.badge.titleFallback,children:e.badge.contentFallback})}):null,f?(0,et.jsx)(f,{displayData:e}):yE(e[n.propName],d,"treeViewHighlighting")]}),o?(0,et.jsx)("span",{className:`treeViewRowColumn treeViewAppendageColumn ${o.propName}`,children:yE(e[o.propName],d,"treeViewHighlighting")}):null]})}},Is=class extends Cs.PureComponent{_list=null;_takeListRef=e=>this._list=e;_currentMovedColumnState=null;state={fixedColumnWidths:null,isResizingColumns:!1};_columnSizeChangedCounter=0;_computeSpecialItemsMemoized=(0,uf.default)((e,r)=>[e??void 0,r??void 0],{limit:1});_computeExpandedNodesMemoized=(0,uf.default)(e=>new Set(e),{limit:1});_computeInitialColumnWidthsMemoized=(0,uf.default)(e=>e.map(r=>r.initialWidth));_getCurrentFixedColumnWidths=()=>this.state.fixedColumnWidths||this.props.viewOptions.fixedColumnWidths||this._computeInitialColumnWidthsMemoized(this.props.fixedColumns);_getCurrentViewOptions=()=>({fixedColumnWidths:this._getCurrentFixedColumnWidths()});_onColumnWidthChangeStart=(e,r)=>{this._currentMovedColumnState={columnIndex:e,startX:r,initialWidth:this._getCurrentFixedColumnWidths()[e]},this.setState({isResizingColumns:!0}),window.addEventListener("mousemove",this._onColumnWidthChangeMouseMove),window.addEventListener("mouseup",this._onColumnWidthChangeMouseUp)};_cleanUpMouseHandlers=()=>{window.removeEventListener("mousemove",this._onColumnWidthChangeMouseMove),window.removeEventListener("mouseup",this._onColumnWidthChangeMouseUp)};_onColumnWidthChangeMouseMove=e=>{let r=this._currentMovedColumnState;if(r!==null){let{columnIndex:n,startX:o,initialWidth:a}=r,i=this.props.fixedColumns[n],s=this._getCurrentFixedColumnWidths(),l=e.clientX-o,c=Math.max(a+l,i.minWidth||10);this.setState(d=>{this._columnSizeChangedCounter++;let u=(d.fixedColumnWidths||s).slice();return u[n]=c,{fixedColumnWidths:u}})}};_onColumnWidthChangeMouseUp=()=>{this.setState({isResizingColumns:!1}),this._cleanUpMouseHandlers(),this._currentMovedColumnState=null,this._propagateColumnWidthChange(this._getCurrentFixedColumnWidths())};componentWillUnmount=()=>{this._cleanUpMouseHandlers()};_onColumnWidthReset=e=>{let r=this.props.fixedColumns[e],o=this._getCurrentFixedColumnWidths().slice();o[e]=r.initialWidth||10,this._columnSizeChangedCounter++,this.setState({fixedColumnWidths:o}),this._propagateColumnWidthChange(o)};_propagateColumnWidthChange=e=>{let{onViewOptionsChange:r,viewOptions:n}=this.props;r&&r({...n,fixedColumnWidths:e})};_computeAllVisibleRowsMemoized=(0,uf.default)((e,r)=>{function n(i,s,l,c){if(l.push(c),!s.has(c))return;let d=i.getChildren(c);for(let u=0;u<d.length;u++)n(i,s,l,d[u])}let o=e.getRoots(),a=[];for(let i=0;i<o.length;i++)n(e,r,a,o[i]);return a},{limit:1});scrollSelectionIntoView(){let{selectedNodeId:e,tree:r}=this.props,n=this._list;if(n)if(e===null)n.scrollItemIntoView(0,0);else{let o=this._getAllVisibleRows().indexOf(e),a=r.getDepth(e),i=this._getCurrentFixedColumnWidths().reduce((s,l)=>s+l,0);n.scrollItemIntoView(o,a*10,i)}}_renderRow=(e,r,n)=>{let{tree:o,fixedColumns:a,mainColumn:i,appendageColumn:s,selectedNodeId:l,rightClickedNodeId:c,highlightRegExp:d,rowHeight:u,indentWidth:p}=this.props,m=o.getDisplayData(e),f={height:u,lineHeight:`${u}px`};if(n===0)return(0,et.jsx)(bE,{displayData:m,columns:a,viewOptions:this._getCurrentViewOptions(),nodeId:e,index:r,isSelected:e===l,isRightClicked:e===c,onClick:this._onRowClicked,highlightRegExp:d||null,rowHeightStyle:f});let h=o.hasChildren(e),b=h&&!this._isCollapsed(e);return(0,et.jsx)(vE,{rowHeightStyle:f,displayData:m,mainColumn:i,appendageColumn:s,depth:o.getDepth(e),nodeId:e,index:r,canBeExpanded:h,isExpanded:b,isSelected:e===l,isRightClicked:e===c,onToggle:this._toggle,onClick:this._onRowClicked,highlightRegExp:d||null,indentWidth:p})};_getExpandedNodes(){return this._computeExpandedNodesMemoized(this.props.expandedNodeIds)}_getAllVisibleRows(){let{tree:e}=this.props;return this._computeAllVisibleRowsMemoized(e,this._getExpandedNodes())}_getSpecialItems(){let{selectedNodeId:e,rightClickedNodeId:r}=this.props;return this._computeSpecialItemsMemoized(e,r??null)}_isCollapsed(e){return!this._getExpandedNodes().has(e)}_toggle=(e,r=this._isCollapsed(e),n=!1)=>{let o=new Set(this._getExpandedNodes());if(r){if(o.add(e),n)for(let a of this.props.tree.getAllDescendants(e))o.add(a)}else o.delete(e);this.props.onExpandedNodesChange(Array.from(o.values()))};_toggleAll(e,r=this._isCollapsed(e)){this._toggle(e,r,!0)}_selectWithMouse(e){this.props.onSelectionChange(e,{source:"pointer"})}_rightClickSelect(e){this.props.onRightClickSelection?this.props.onRightClickSelection(e):this._selectWithMouse(e)}_onRowClicked=(e,r)=>{r.button===0?this._selectWithMouse(e):r.button===2&&this._rightClickSelect(e),r.detail===2&&r.button===0&&(this.props.onDoubleClick?this.props.onDoubleClick(e):this._toggle(e))};_onCopy=e=>{e.preventDefault();let{tree:r,selectedNodeId:n,mainColumn:o}=this.props;if(n){let a=r.getDisplayData(n);e.clipboardData.setData("text/plain",a[o.propName])}};_selectWithKeyboard(e){this.props.onSelectionChange(e,{source:"keyboard"})}_onKeyDown=e=>{this.props.onKeyDown&&this.props.onKeyDown(e);let r=e.ctrlKey||e.altKey,n=e.key.startsWith("Arrow")||e.key.startsWith("Page")||e.key==="Home"||e.key==="End",o=e.key==="*",a=e.key==="Enter";if(r||!n&&!o&&!a)return;e.stopPropagation(),e.preventDefault();let i=this.props.selectedNodeId,s=this._getAllVisibleRows(),l=s.findIndex(u=>u===i);if(i===null||l===-1){this._selectWithKeyboard(s[0]);return}if(n)switch(e.key){case"ArrowUp":{if(e.metaKey){this._selectWithKeyboard(s[0]);break}l>0&&this._selectWithKeyboard(s[l-1]);break}case"ArrowDown":{if(e.metaKey){this._selectWithKeyboard(s[s.length-1]);break}l<s.length-1&&this._selectWithKeyboard(s[l+1]);break}case"PageUp":{if(l>0){let u=Math.max(0,l-W$);this._selectWithKeyboard(s[u])}break}case"PageDown":{if(l<s.length-1){let u=Math.min(s.length-1,l+W$);this._selectWithKeyboard(s[u])}break}case"Home":{this._selectWithKeyboard(s[0]);break}case"End":{this._selectWithKeyboard(s[s.length-1]);break}case"ArrowLeft":{if(!this._isCollapsed(i))this._toggle(i);else{let p=this.props.tree.getParent(i);p!==-1&&this._selectWithKeyboard(p)}break}case"ArrowRight":{this._isCollapsed(i)?this._toggle(i):this.props.tree.hasChildren(i)&&this._selectWithKeyboard(this.props.tree.getChildren(i)[0]);break}default:throw new Error("Unhandled navigation key.")}let{rightClickedNodeId:c}=this.props,d=c??i;if(o&&this._toggleAll(d),a){let{onEnterKey:u}=this.props;u&&d!==null&&u(d)}};focus(){this._list&&this._list.focus()}render(){let{fixedColumns:e,mainColumn:r,disableOverscan:n,contextMenu:o,contextMenuId:a,maxNodeDepth:i,rowHeight:s,selectedNodeId:l}=this.props,{isResizingColumns:c}=this.state;return(0,et.jsxs)("div",{className:(0,Gd.default)("treeView",{isResizingColumns:c}),children:[(0,et.jsx)(gE,{fixedColumns:e,mainColumn:r,viewOptions:this._getCurrentViewOptions(),onColumnWidthChangeStart:this._onColumnWidthChangeStart,onColumnWidthReset:this._onColumnWidthReset}),(0,et.jsx)(rr,{id:a??"unknown",disable:!a,attributes:{className:"treeViewContextMenu"},children:(0,et.jsx)(Hd,{className:"treeViewBody",ariaRole:"tree",ariaLabel:"Call tree",ariaActiveDescendant:l!==null?`treeViewRow-${l}`:void 0,items:this._getAllVisibleRows(),renderItem:this._renderRow,itemHeight:s,columnCount:2,focusable:!0,onKeyDown:this._onKeyDown,specialItems:this._getSpecialItems(),disableOverscan:!!n||c,onCopy:this._onCopy,containerWidth:Math.max(3e3,i*10+2e3),ref:this._takeListRef,forceRender:this._columnSizeChangedCounter})}),o]})}};var Y$=T(U());var K$=T(U());var pf=T(E()),Wr=class extends K$.PureComponent{render(){let{viewName:e,reason:r,threadName:n}=this.props;return(0,pf.jsxs)("div",{className:"EmptyReasons",children:[(0,pf.jsxs)("h3",{children:["The ",e," is empty for \u201C",n,"\u201D"]}),(0,pf.jsx)("p",{children:r})]})}};var X$=T(E()),TE=class extends Y$.PureComponent{render(){let{thread:e,rangeFilteredThread:r,threadName:n}=this.props,o;return e.samples.length===0?o="This thread has no samples.":r.samples.length===0?o="Broaden the selected range to view samples.":o=we`
|
|
130
|
+
Try broadening the selected range, removing search terms, or call tree transforms
|
|
131
|
+
to view samples.
|
|
132
|
+
`,(0,X$.jsx)(Wr,{threadName:n,reason:o,viewName:"call tree"})}},q$=H({mapStateToProps:t=>({threadName:j.getFriendlyThreadName(t),thread:j.getThread(t),rangeFilteredThread:j.getRangeFilteredThread(t)}),component:TE});var J$=T(U());var Z$=T(E()),SE=class extends J$.PureComponent{constructor(e){super(e),e.icon&&e.iconStartLoading(e.icon)}componentDidUpdate(){this.props.icon&&this.props.iconStartLoading(this.props.icon)}render(){return(0,Z$.jsx)("div",{className:`nodeIcon ${this.props.className}`})}},Ps=H({mapStateToProps:(t,e)=>{let r="displayData"in e?e.displayData.iconSrc:e.iconUrl;return{className:lP(t,r),icon:r}},mapDispatchToProps:{iconStartLoading:m0},component:SE});var wE=T(E()),xE=class extends Q$.PureComponent{_mainColumn={propName:"name",titleL10nId:""};_appendageColumn={propName:"lib",titleL10nId:""};_treeView=null;_takeTreeViewRef=e=>this._treeView=e;_weightTypeToColumns=(0,ez.default)(e=>{switch(e){case"tracing-ms":return[{propName:"totalPercent",titleL10nId:"",initialWidth:50,hideDividerAfter:!0},{propName:"total",titleL10nId:"CallTree--tracing-ms-total",minWidth:30,initialWidth:70,resizable:!0,headerWidthAdjustment:50},{propName:"self",titleL10nId:"CallTree--tracing-ms-self",minWidth:30,initialWidth:70,resizable:!0},{propName:"icon",titleL10nId:"",component:Ps,initialWidth:10}];case"samples":return[{propName:"totalPercent",titleL10nId:"",initialWidth:50,hideDividerAfter:!0},{propName:"total",titleL10nId:"CallTree--samples-total",minWidth:30,initialWidth:70,resizable:!0,headerWidthAdjustment:50},{propName:"self",titleL10nId:"CallTree--samples-self",minWidth:30,initialWidth:70,resizable:!0},{propName:"icon",titleL10nId:"",component:Ps,initialWidth:10}];case"bytes":return[{propName:"totalPercent",titleL10nId:"",initialWidth:50,hideDividerAfter:!0},{propName:"total",titleL10nId:"CallTree--bytes-total",minWidth:30,initialWidth:140,resizable:!0,headerWidthAdjustment:50},{propName:"self",titleL10nId:"CallTree--bytes-self",minWidth:30,initialWidth:90,resizable:!0},{propName:"icon",titleL10nId:"",component:Ps,initialWidth:10}];default:throw Y(e,"Unhandled WeightType.")}},{cache:new Map});componentDidMount(){this.focus(),this.maybeProcureInterestingInitialSelection(),this.props.selectedCallNodeIndex!==null&&this._treeView&&this._treeView.scrollSelectionIntoView()}componentDidUpdate(e){this.props.focusCallTreeGeneration>e.focusCallTreeGeneration&&this.focus(),this.maybeProcureInterestingInitialSelection(),this.props.selectedCallNodeIndex!==null&&this.props.scrollToSelectionGeneration>e.scrollToSelectionGeneration&&this._treeView&&this._treeView.scrollSelectionIntoView()}focus(){this._treeView&&this._treeView.focus()}_onSelectedCallNodeChange=(e,r)=>{let{callNodeInfo:n,threadsKey:o,changeSelectedCallNode:a}=this.props;a(o,n.getCallNodePathFromIndex(e),r)};_onRightClickSelection=e=>{let{callNodeInfo:r,threadsKey:n,changeRightClickedCallNode:o}=this.props;o(n,r.getCallNodePathFromIndex(e))};_onExpandedCallNodesChange=e=>{let{callNodeInfo:r,threadsKey:n,changeExpandedCallNodes:o}=this.props;o(n,e.map(a=>r.getCallNodePathFromIndex(a)))};_onKeyDown=e=>{let{selectedCallNodeIndex:r,rightClickedCallNodeIndex:n,handleCallNodeTransformShortcut:o,threadsKey:a}=this.props,i=n!==null?n:r;i!==null&&o(e,a,i)};_onEnterOrDoubleClick=e=>{let{tree:r,updateBottomBoxContentsAndMaybeOpen:n}=this.props,o=r.getBottomBoxInfoForCallNode(e);n("calltree",o)};maybeProcureInterestingInitialSelection(){let{tree:e,expandedCallNodeIndexes:r,selectedCallNodeIndex:n,callNodeInfo:o,categories:a}=this.props;if(n!==null||r.length>0)return;let i=a.findIndex(u=>u.name==="Idle"),s=r.slice(),l=17,c=e.getRoots()[0];if(c===void 0)return;s.push(c);for(let u=0;u<l;u++){let p=e.getChildren(c);if(p.length===0)break;let m=p.find(f=>o.categoryForNode(f)!==i);c=m!==void 0?m:p[0],s.push(c)}this._onExpandedCallNodesChange(s),o.categoryForNode(c)!==i&&this._onSelectedCallNodeChange(c,{source:"auto"})}render(){let{tree:e,selectedCallNodeIndex:r,rightClickedCallNodeIndex:n,expandedCallNodeIndexes:o,searchStringsRegExp:a,disableOverscan:i,callNodeMaxDepthPlusOne:s,weightType:l,tableViewOptions:c,onTableViewOptionsChange:d}=this.props;return e.getRoots().length===0?(0,wE.jsx)(q$,{}):(0,wE.jsx)(Is,{tree:e,fixedColumns:this._weightTypeToColumns(l),mainColumn:this._mainColumn,appendageColumn:this._appendageColumn,onSelectionChange:this._onSelectedCallNodeChange,onRightClickSelection:this._onRightClickSelection,onExpandedNodesChange:this._onExpandedCallNodesChange,selectedNodeId:r,rightClickedNodeId:n,expandedNodeIds:o,highlightRegExp:a,disableOverscan:i,ref:this._takeTreeViewRef,contextMenuId:"CallNodeContextMenu",maxNodeDepth:s,rowHeight:16,indentWidth:10,onKeyDown:this._onKeyDown,onEnterKey:this._onEnterOrDoubleClick,onDoubleClick:this._onEnterOrDoubleClick,viewOptions:c,onViewOptionsChange:d})}},tz=H({mapStateToProps:t=>({threadsKey:vt(t),scrollToSelectionGeneration:Wo(t),focusCallTreeGeneration:KI(t),tree:j.getCallTree(t),callNodeInfo:j.getCallNodeInfo(t),categories:Qe(t),selectedCallNodeIndex:j.getSelectedCallNodeIndex(t),rightClickedCallNodeIndex:j.getRightClickedCallNodeIndex(t),expandedCallNodeIndexes:j.getExpandedCallNodeIndexes(t),searchStringsRegExp:RI(t),disableOverscan:Qr(t),invertCallstack:sr(t),implementationFilter:kr(t),callNodeMaxDepthPlusOne:j.getFilteredCallNodeMaxDepthPlusOne(t),weightType:j.getWeightTypeForCallTree(t),tableViewOptions:hm(t)}),mapDispatchToProps:{changeSelectedCallNode:jn,changeRightClickedCallNode:Ul,changeExpandedCallNodes:Fb,addTransformToStack:Lr,handleCallNodeTransformShortcut:zl,updateBottomBoxContentsAndMaybeOpen:Kn,onTableViewOptionsChange:t=>Zm("calltree",t)},component:xE});var lz=T(U());var oz=T(U()),kE=T(xe());var rz=T(U()),nz=T(xe());var $d=T(E()),Tv=class extends rz.PureComponent{_timeout=null;_previouslyNotifiedValue;_input=null;_takeInputRef=e=>this._input=e;constructor(e){super(e),this.state={value:e.defaultValue||"",previousDefaultValue:e.defaultValue||""},this._previouslyNotifiedValue=this.state.value}_onSearchFieldFocus=e=>{e.currentTarget.select(),this.props.onFocus&&this.props.onFocus()};_onSearchFieldBlur=e=>{this.props.onBlur&&this.props.onBlur(e.relatedTarget)};_onSearchFieldChange=e=>{this.setState({value:e.currentTarget.value}),this._timeout&&clearTimeout(this._timeout),this._timeout=setTimeout(this._onTimeout,this.props.idlePeriod)};_onTimeout=()=>{this._timeout=null,this._notifyIfChanged(this.state.value)};_notifyIfChanged(e){e!==this._previouslyNotifiedValue&&(this._previouslyNotifiedValue=e,this.props.onIdleAfterChange(e))}_onClearButtonClick=()=>{this._input&&this._input.focus(),this._timeout!==null&&(clearTimeout(this._timeout),this._timeout=null),this.setState({value:""}),this._notifyIfChanged("")};_onFormSubmit(e){e.preventDefault()}componentDidUpdate(e){e.defaultValue!==this.props.defaultValue&&(this._previouslyNotifiedValue=this.state.value)}static getDerivedStateFromProps(e,r){return e.defaultValue!==r.previousDefaultValue?{previousDefaultValue:e.defaultValue||"",value:e.defaultValue||""}:null}render(){let{className:e,title:r}=this.props;return(0,$d.jsxs)("form",{className:(0,nz.default)("idleSearchField",e),onSubmit:this._onFormSubmit,children:[(0,$d.jsx)(P,{id:"IdleSearchField--search-input",attrs:{placeholder:!0},children:(0,$d.jsx)("input",{type:"search",name:"search",placeholder:"Enter filter terms",className:"idleSearchFieldInput photon-input",required:!0,title:r??void 0,value:this.state.value,onChange:this._onSearchFieldChange,onFocus:this._onSearchFieldFocus,onBlur:this._onSearchFieldBlur,ref:this._takeInputRef})}),(0,$d.jsx)("input",{type:"reset",className:"idleSearchFieldButton",onClick:this._onClearButtonClick,tabIndex:-1})]})}};var Xl=T(E()),Es=class extends oz.PureComponent{state={searchFieldFocused:!1};_onSearchFieldIdleAfterChange=e=>{this.props.onSearch(e)};_onSearchFieldFocus=()=>{this.setState({searchFieldFocused:!0})};_onSearchFieldBlur=()=>{this.setState(()=>({searchFieldFocused:!1}))};render(){let{label:e,title:r,currentSearchString:n,className:o}=this.props,{searchFieldFocused:a}=this.state,i=a&&n&&!n.includes(",");return(0,Xl.jsxs)("div",{className:(0,kE.default)("panelSearchField",o),children:[(0,Xl.jsxs)("label",{className:"panelSearchFieldLabel",children:[e+" ",(0,Xl.jsx)(Tv,{className:"panelSearchFieldInput",title:r,idlePeriod:200,defaultValue:n,onIdleAfterChange:this._onSearchFieldIdleAfterChange,onBlur:this._onSearchFieldBlur,onFocus:this._onSearchFieldFocus})]}),(0,Xl.jsx)("div",{className:(0,kE.default)("panelSearchFieldIntroduction",{isHidden:!i,isDisplayed:i}),children:(0,Xl.jsx)(P,{id:"PanelSearch--search-field-hint",children:"Did you know you can use the comma (,) to search using several terms?"})})]})}};var az=T(U());var bo=T(E()),IE=class extends az.PureComponent{_onImplementationFilterChange=e=>{this.props.changeImplementationFilter(xl(e.currentTarget.value))};_renderImplementationRadioButton(e,r){let n=`implementation-radio-${r}`;return(0,bo.jsxs)("label",{className:"photon-label photon-label-micro",htmlFor:n,children:[(0,bo.jsx)(P,{id:e,attrs:{title:!0},children:(0,bo.jsx)("input",{type:"radio",className:"photon-radio photon-radio-micro",value:r,id:n,onChange:this._onImplementationFilterChange,checked:this.props.implementationFilter===r})}),(0,bo.jsx)(P,{id:e,children:(0,bo.jsx)("span",{className:"photon-label-horiz-padding"})})]})}render(){let{labelL10nId:e}=this.props;return(0,bo.jsxs)(bo.Fragment,{children:[e?(0,bo.jsx)("span",{className:"stackImplementationSettingLabel",children:(0,bo.jsx)(P,{id:e})}):null,this._renderImplementationRadioButton("StackSettings--implementation-all-frames","combined"),this._renderImplementationRadioButton("StackSettings--implementation-script","js"),this._renderImplementationRadioButton("StackSettings--implementation-native2","cpp")]})}},Sv=H({mapStateToProps:t=>({implementationFilter:kr(t)}),mapDispatchToProps:{changeImplementationFilter:ZP},component:IE});var iz=T(U());var Ia=T(E()),CE=class extends iz.PureComponent{_onCallTreeSummaryStrategyChange=e=>{this.props.changeCallTreeSummaryStrategy(Cy(e.currentTarget.value))};_renderCallTreeStrategyOption(e,r){return(0,Ia.jsx)(P,{id:e,attrs:{title:!0},children:(0,Ia.jsx)("option",{value:r},r)})}render(){let{hasUsefulTimingSamples:e,hasUsefulJsAllocations:r,hasUsefulNativeAllocations:n,canShowRetainedMemory:o,callTreeSummaryStrategy:a}=this.props;return(0,Ia.jsx)(Ia.Fragment,{children:(0,Ia.jsxs)("label",{children:[(0,Ia.jsx)(P,{id:"StackSettings--use-data-source-label"})," ",(0,Ia.jsxs)("select",{className:"stackSettingsSelect",onChange:this._onCallTreeSummaryStrategyChange,value:a,children:[e?this._renderCallTreeStrategyOption("StackSettings--call-tree-strategy-timing","timing"):null,r?this._renderCallTreeStrategyOption("StackSettings--call-tree-strategy-js-allocations","js-allocations"):null,o?this._renderCallTreeStrategyOption("StackSettings--call-tree-strategy-native-retained-allocations","native-retained-allocations"):null,n?this._renderCallTreeStrategyOption("StackSettings--call-tree-native-allocations","native-allocations"):null,o?this._renderCallTreeStrategyOption("StackSettings--call-tree-strategy-native-deallocations-memory","native-deallocations-memory"):null,n?this._renderCallTreeStrategyOption("StackSettings--call-tree-strategy-native-deallocations-sites","native-deallocations-sites"):null]})]})})}},sz=H({mapStateToProps:t=>({hasUsefulTimingSamples:j.getHasUsefulTimingSamples(t),hasUsefulJsAllocations:j.getHasUsefulJsAllocations(t),hasUsefulNativeAllocations:j.getHasUsefulNativeAllocations(t),canShowRetainedMemory:j.getCanShowRetainedMemory(t),callTreeSummaryStrategy:j.getCallTreeSummaryStrategy(t)}),mapDispatchToProps:{changeCallTreeSummaryStrategy:QP},component:CE});var _t=T(E()),PE=class extends lz.PureComponent{_onInvertCallstackClick=e=>{this.props.changeInvertCallstack(e.currentTarget.checked)};_onShowUserTimingsClick=e=>{this.props.changeShowUserTimings(e.currentTarget.checked)};_onUseStackChartSameWidths=e=>{this.props.changeStackChartSameWidths(e.currentTarget.checked)};_onSearch=e=>{this.props.changeCallTreeSearchString(e)};render(){let{allowSwitchingStackType:e,invertCallstack:r,selectedTab:n,showUserTimings:o,stackChartSameWidths:a,hideInvertCallstack:i,currentSearchString:s,hasUsefulJsAllocations:l,hasUsefulNativeAllocations:c}=this.props;return(0,_t.jsxs)("div",{className:"stackSettings",children:[(0,_t.jsxs)("ul",{className:"panelSettingsList",children:[e?(0,_t.jsx)("li",{className:"panelSettingsListItem",children:(0,_t.jsx)(Sv,{})}):null,l||c?(0,_t.jsx)("li",{className:"panelSettingsListItem",children:(0,_t.jsx)(sz,{})}):null,i&&n!=="stack-chart"?null:(0,_t.jsxs)("li",{className:"panelSettingsListItem",children:[i?null:(0,_t.jsxs)("label",{className:"photon-label photon-label-micro photon-label-horiz-padding",children:[(0,_t.jsx)("input",{type:"checkbox",className:"photon-checkbox photon-checkbox-micro stackSettingsCheckbox",onChange:this._onInvertCallstackClick,checked:r}),(0,_t.jsx)(P,{id:"StackSettings--invert-call-stack",attrs:{title:!0},children:(0,_t.jsx)("span",{children:"Invert call stack"})})]}),n!=="stack-chart"?null:(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsxs)("label",{className:"photon-label photon-label-micro photon-label-horiz-padding",children:[(0,_t.jsx)("input",{type:"checkbox",className:"photon-checkbox photon-checkbox-micro stackSettingsCheckbox",onChange:this._onShowUserTimingsClick,checked:o}),(0,_t.jsx)(P,{id:"StackSettings--show-user-timing",children:"Show user timing"})]}),(0,_t.jsxs)("label",{className:"photon-label photon-label-micro photon-label-horiz-padding",children:[(0,_t.jsx)("input",{type:"checkbox",className:"photon-checkbox photon-checkbox-micro stackSettingsCheckbox",onChange:this._onUseStackChartSameWidths,checked:a}),(0,_t.jsx)(P,{id:"StackSettings--use-stack-chart-same-widths",children:"Use the same width for each stack"})]})]})]})]}),(0,_t.jsx)(P,{id:"StackSettings--panel-search",attrs:{label:!0,title:!0},children:(0,_t.jsx)(Es,{className:"stackSettingsSearchField",label:"Filter stacks:",title:"Only display stacks which contain a function whose name matches this substring",currentSearchString:s,onSearch:this._onSearch})})]})}},zd=H({mapStateToProps:t=>({allowSwitchingStackType:ui(t),invertCallstack:sr(t),selectedTab:Oe(t),showUserTimings:um(t),stackChartSameWidths:pm(t),currentSearchString:jy(t),hasUsefulJsAllocations:j.getHasUsefulJsAllocations(t),hasUsefulNativeAllocations:j.getHasUsefulNativeAllocations(t)}),mapDispatchToProps:{changeInvertCallstack:Xm,changeCallTreeSearchString:qP,changeShowUserTimings:e0,changeStackChartSameWidths:t0},component:PE});var EE=T(U()),_E=T(xe());var _s=T(E()),xv=class extends EE.PureComponent{_onClick=e=>{let{index:r,onClick:n}=this.props;n&&n(r,e)};render(){let{isFirstItem:e,isLastItem:r,isSelectedItem:n,children:o,additionalClassName:a,onClick:i,title:s}=this.props;return(0,_s.jsx)("li",{className:(0,_E.default)("filterNavigatorBarItem",a,{filterNavigatorBarRootItem:e,filterNavigatorBarSelectedItem:n,filterNavigatorBarLeafItem:r}),title:s,onClick:i?this._onClick:void 0,children:i?(0,_s.jsx)("button",{type:"button",className:"filterNavigatorBarItemContent",children:o}):(0,_s.jsx)("span",{className:"filterNavigatorBarItemContent",children:o})})}},Vd=class extends EE.PureComponent{_onPop=(e,r)=>{let{onPop:n}=this.props;n(e)};_onFirstItemClick=(e,r)=>{let{onFirstItemClick:n}=this.props;n&&n(r)};render(){let{className:e,items:r,selectedItem:n,uncommittedItem:o,onFirstItemClick:a}=this.props;return(0,_s.jsxs)("ol",{className:(0,_E.default)("filterNavigatorBar",e),children:[r.map((i,s)=>{let l=null;return s===0&&!o&&a?l=this._onFirstItemClick:s===r.length-1&&!o?l=null:l=this._onPop,(0,_s.jsx)(xv,{index:s,onClick:l,isFirstItem:s===0,isLastItem:s===r.length-1,isSelectedItem:s===n,children:i},s)}),o?(0,_s.jsx)(xv,{index:r.length,isFirstItem:!1,isLastItem:!0,isSelectedItem:!1,additionalClassName:"filterNavigatorBarUncommittedItem",title:o,children:o}):null]})}};var Wd=H({mapStateToProps:t=>{let e=j.getLocalizedTransformLabels(t);return{className:"calltreeTransformNavigator",items:e,selectedItem:e.length-1}},mapDispatchToProps:{onPop:a0},component:Vd});var jd=T(E()),cz=()=>(0,jd.jsxs)("div",{className:"treeAndSidebarWrapper",id:"calltree-tab",role:"tabpanel","aria-labelledby":"calltree-tab-button",children:[(0,jd.jsx)(zd,{}),(0,jd.jsx)(Wd,{}),(0,jd.jsx)(tz,{})]});var kz=T(U()),Iz=T(Zr());var dz=T(U());var pz=T(E()),NE=class extends dz.PureComponent{render(){let{isMarkerTableEmptyInFullRange:e,threadName:r}=this.props;return(0,pz.jsx)(Wr,{threadName:r,reason:e?"This thread contains no markers for this table.":"All markers were filtered out by the current selection or search term.",viewName:"marker table"})}},uz=H({mapStateToProps:t=>({threadName:j.getFriendlyThreadName(t),isMarkerTableEmptyInFullRange:j.getAreMarkerPanelsEmptyInFullRange(t)}),component:NE});var bz=T(U());var LE=T(xe());var fz=T(U());var mz=T(U());var wv=T(E()),vo=class extends mz.PureComponent{_mouseDownHandler=e=>{e.preventDefault()};render(){return(0,wv.jsx)("div",{onMouseDown:this._mouseDownHandler,children:(0,wv.jsx)(ws,{...this.props,children:this.props.children?this.props.children:(0,wv.jsx)("div",{})})})}};var Ca=T(E()),RE=class extends fz.PureComponent{filterSamplesByMarker=()=>{let{searchString:e,threadsKey:r,addTransformToStack:n}=this.props;n(r,{type:"filter-samples",filterType:"marker-search",filter:e})};render(){let{searchString:e,onShow:r,onHide:n}=this.props;return(0,Ca.jsx)(vo,{id:"MarkerFiltersContextMenu",className:"markerFiltersContextMenu",onShow:r,onHide:n,children:(0,Ca.jsx)(be,{onClick:this.filterSamplesByMarker,children:(0,Ca.jsx)(P,{id:"MarkerFiltersContextMenu--drop-samples-outside-of-markers-matching",vars:{filter:e},elems:{strong:(0,Ca.jsx)("strong",{})},children:(0,Ca.jsxs)(Ca.Fragment,{children:["Drop samples outside of markers matching \u201C",(0,Ca.jsxs)("strong",{children:["$",e]}),"\u201D"]})})})})}},hz=H({mapStateToProps:t=>({searchString:bd(t),threadsKey:vt(t)}),mapDispatchToProps:{addTransformToStack:Lr},component:RE});var gz=T(U());var Jl=T(E()),ME=class extends gz.PureComponent{copyAsPlain=()=>{let{onCopy:e}=this.props;e("plain")};copyAsMarkdown=()=>{let{onCopy:e}=this.props;e("markdown")};render(){let{onShow:e,onHide:r}=this.props;return(0,Jl.jsxs)(vo,{id:"MarkerCopyTableContextMenu",className:"markerCopyTableContextMenu",onShow:e,onHide:r,children:[(0,Jl.jsx)(be,{onClick:this.copyAsPlain,children:(0,Jl.jsx)(P,{id:"MarkerCopyTableContextMenu--copy-table-as-plain",children:"Copy marker table as plain text"})}),(0,Jl.jsx)(be,{onClick:this.copyAsMarkdown,children:(0,Jl.jsx)(P,{id:"MarkerCopyTableContextMenu--copy-table-as-markdown",children:"Copy marker table as Markdown"})})]})}},yz=H({component:ME});var ur=T(E()),DE=class extends bz.PureComponent{_copyTableWarningTimeout=null;state={isMarkerFiltersMenuVisible:!1,isFilterMenuVisibleOnMouseDown:!1,isMarkerCopyTableMenuVisible:!1,isCopyTableMenuVisibleOnMouseDown:!1,copyTableWarningRows:null,copyTableWarningMaxRows:null};_onSearch=e=>{this.props.changeMarkersSearchString(e)};_onClickToggleFilterButton=e=>{let{isFilterMenuVisibleOnMouseDown:r}=this.state;if(r)return;let n=e.currentTarget.getBoundingClientRect(),o=n.right>window.innerWidth-250;Zo({data:null,id:"MarkerFiltersContextMenu",position:{x:o?n.right:n.left,y:n.bottom},target:e.target})};_onClickToggleCopyTableMenu=e=>{let{isCopyTableMenuVisibleOnMouseDown:r}=this.state;if(r)return;let n=e.currentTarget.getBoundingClientRect(),o=n.right>window.innerWidth-250;Zo({data:null,id:"MarkerCopyTableContextMenu",position:{x:o?n.right:n.left,y:n.bottom},target:e.target})};_onCopyTable=e=>{let{copyTable:r}=this.props;r&&r(e,(n,o)=>{this.setState({copyTableWarningRows:n,copyTableWarningMaxRows:o}),this._copyTableWarningTimeout&&clearTimeout(this._copyTableWarningTimeout),this._copyTableWarningTimeout=setTimeout(()=>{this.setState({copyTableWarningRows:null,copyTableWarningMaxRows:null})},3e3)})};_onShowFiltersContextMenu=()=>{this.setState({isMarkerFiltersMenuVisible:!0})};_onHideFiltersContextMenu=()=>{this.setState({isMarkerFiltersMenuVisible:!1})};_onShowCopyTableContextMenu=()=>{this.setState({isMarkerCopyTableMenuVisible:!0})};_onHideCopyTableContextMenu=()=>{this.setState({isMarkerCopyTableMenuVisible:!1})};_onMouseDownToggleFilterButton=()=>{this.setState(e=>({isFilterMenuVisibleOnMouseDown:e.isMarkerFiltersMenuVisible}))};_onMouseDownToggleCopyTableMenu=()=>{this.setState(e=>({isCopyTableMenuVisibleOnMouseDown:e.isMarkerCopyTableMenuVisible}))};render(){let{searchString:e,allowSwitchingStackType:r,copyTable:n}=this.props,{isMarkerFiltersMenuVisible:o,isMarkerCopyTableMenuVisible:a,copyTableWarningRows:i,copyTableWarningMaxRows:s}=this.state;return(0,ur.jsxs)("div",{className:"markerSettings",children:[(0,ur.jsx)("ul",{className:"panelSettingsList",children:r?(0,ur.jsx)("li",{className:"panelSettingsListItem",children:(0,ur.jsx)(Sv,{labelL10nId:"StackSettings--stack-implementation-label"})}):null}),n?(0,ur.jsx)(P,{id:"MarkerSettings--copy-table",attrs:{title:!0},children:(0,ur.jsx)("button",{className:(0,LE.default)("copyTableButton","photon-button","photon-button-ghost",{"photon-button-ghost--checked":a}),title:"Copy table as text",type:"button",onClick:this._onClickToggleCopyTableMenu,onMouseDown:this._onMouseDownToggleCopyTableMenu})}):null,i!==null&&s!==null?(0,ur.jsx)("div",{className:"copyTableButtonWarningWrapper",children:(0,ur.jsx)("div",{className:"photon-message-bar photon-message-bar-warning copyTableButtonWarning",children:(0,ur.jsx)("div",{className:"photon-message-bar-inner-content",children:(0,ur.jsx)(P,{id:"MarkerSettings--copy-table-exceeed-max-rows",vars:{rows:i,maxRows:s},children:(0,ur.jsx)("div",{className:"photon-message-bar-inner-text",children:`The number of rows exceeds the limit: ${i} > ${s}. Only the first ${s} rows will be copied.`})})})})}):null,(0,ur.jsx)(P,{id:"MarkerSettings--panel-search",attrs:{label:!0,title:!0},children:(0,ur.jsx)(Es,{className:"markerSettingsSearchField",label:"Filter Markers:",title:"Only display markers that match a certain name",currentSearchString:e,onSearch:this._onSearch})}),(0,ur.jsx)(P,{id:"MarkerSettings--marker-filters",attrs:{title:!0},children:(0,ur.jsx)("button",{className:(0,LE.default)("filterMarkersButton","photon-button","photon-button-ghost",{"photon-button-ghost--checked":o}),title:"Marker filters",type:"button",onClick:this._onClickToggleFilterButton,onMouseDown:this._onMouseDownToggleFilterButton,disabled:!e})}),(0,ur.jsx)(hz,{onShow:this._onShowFiltersContextMenu,onHide:this._onHideFiltersContextMenu}),(0,ur.jsx)(yz,{onShow:this._onShowCopyTableContextMenu,onHide:this._onHideCopyTableContextMenu,onCopy:this._onCopyTable})]})}},kv=H({mapStateToProps:t=>({searchString:bd(t),allowSwitchingStackType:ui(t)}),mapDispatchToProps:{changeMarkersSearchString:qm},component:DE});var Cz=T(Iv());var Kd=T(E()),wz=500,AE=class{_getMarker;_markerIndexes;_zeroAt;_displayDataByIndex;_markerSchemaByName;_getMarkerLabel;constructor(e,r,n,o,a){this._getMarker=e,this._markerIndexes=r,this._zeroAt=n,this._displayDataByIndex=new Map,this._markerSchemaByName=o,this._getMarkerLabel=a}copyTable=(e,r)=>{let n=[],o="Start",a="Duration",i="Name",l=[o,a,i,"Details"],c=o.length,d=a.length,u=i.length,p=1e4,m=this.getRoots();m.length>p&&(r(m.length,p),m=m.slice(0,p));for(let h of m){let b=this.getDisplayData(h),g=b.duration??"";c=Math.max(b.start.length,c),d=Math.max(g.length,d),u=Math.max(b.name.length,u),n.push([b.start,g.replace(/μ/g,"u"),b.name,b.details])}let f="";switch(e){case"plain":{let h=([b,g,y,v])=>{let S=[b.padStart(c," "),g.padStart(d," "),y.padStart(u," ")];return v&&S.push(v),S.join(" ")};f+=h(l)+`
|
|
133
|
+
`+n.map(h).join(`
|
|
134
|
+
`);break}case"markdown":{let h=([g,y,v,S])=>"| "+[g.padStart(c," "),y.padStart(d," "),v.padStart(u," "),S].join(" | ")+" |",b="|"+["-".repeat(c+1)+":","-".repeat(d+1)+":","-".repeat(u+1)+":","-".repeat(9)].join("|")+"|";f=h(l)+`
|
|
135
|
+
`+b+`
|
|
136
|
+
`+n.map(h).join(`
|
|
137
|
+
`);break}default:throw Y(e)}(0,Cz.default)(f)};getRoots(){return this._markerIndexes}getChildren(e){return e===-1?this.getRoots():[]}hasChildren(e){return!1}getAllDescendants(){return new Set}getParent(){return-1}getDepth(){return 0}getDisplayData(e){let r=this._displayDataByIndex.get(e);if(r===void 0){let n=this._getMarker(e),o=this._getMarkerLabel(e);o.length>wz&&(o=o.substring(0,wz)+"\u2026");let a=null;n.incomplete?a="unknown":n.end!==null&&(a=Yt(n.end-n.start)),r={start:Ore(n.start,this._zeroAt),duration:a,name:n.name,details:o},this._displayDataByIndex.set(e,r)}return r}};function Ore(t,e){return fa(t-e)}var OE=class extends kz.PureComponent{_fixedColumns=[{propName:"start",titleL10nId:"MarkerTable--start",minWidth:30,initialWidth:90,resizable:!0},{propName:"duration",titleL10nId:"MarkerTable--duration",minWidth:30,initialWidth:80,resizable:!0},{propName:"name",titleL10nId:"MarkerTable--name",minWidth:30,initialWidth:150,resizable:!0}];_mainColumn={propName:"details",titleL10nId:"MarkerTable--details"};_expandedNodeIds=[];_onExpandedNodeIdsChange=()=>{};_treeView=null;_takeTreeViewRef=e=>this._treeView=e;getMarkerTree=(0,Iz.default)((e,r,n,o,a)=>new AE(e,r,n,o,a),{limit:1});componentDidMount(){this.focus(),this._treeView&&this._treeView.scrollSelectionIntoView()}componentDidUpdate(e){this.props.scrollToSelectionGeneration>e.scrollToSelectionGeneration&&this._treeView&&this._treeView.scrollSelectionIntoView()}focus(){let e=this._treeView;e&&e.focus()}_onSelectionChange=(e,r)=>{let{threadsKey:n,changeSelectedMarker:o}=this.props;o(n,e,r)};_onRightClickSelection=e=>{let{threadsKey:r,changeRightClickedMarker:n}=this.props;n(r,e)};render(){let{getMarker:e,markerIndexes:r,zeroAt:n,selectedMarker:o,rightClickedMarkerIndex:a,markerSchemaByName:i,getMarkerLabel:s}=this.props,l=this.getMarkerTree(e,r,n,i,s);return(0,Kd.jsxs)("div",{className:"markerTable",id:"marker-table-tab",role:"tabpanel","aria-labelledby":"marker-table-tab-button",children:[(0,Kd.jsx)(kv,{copyTable:l.copyTable}),r.length===0?(0,Kd.jsx)(uz,{}):(0,Kd.jsx)(Is,{maxNodeDepth:0,tree:l,fixedColumns:this._fixedColumns,mainColumn:this._mainColumn,onSelectionChange:this._onSelectionChange,onRightClickSelection:this._onRightClickSelection,onExpandedNodesChange:this._onExpandedNodeIdsChange,selectedNodeId:o,rightClickedNodeId:a,expandedNodeIds:this._expandedNodeIds,ref:this._takeTreeViewRef,contextMenuId:"MarkerContextMenu",rowHeight:16,indentWidth:10,viewOptions:this.props.tableViewOptions,onViewOptionsChange:this.props.onTableViewOptionsChange})]})}},Pz=H({mapStateToProps:t=>({threadsKey:vt(t),scrollToSelectionGeneration:Wo(t),getMarker:j.getMarkerGetter(t),markerIndexes:j.getMarkerTableMarkerIndexes(t),selectedMarker:j.getSelectedMarkerIndex(t),rightClickedMarkerIndex:j.getRightClickedMarkerIndex(t),zeroAt:Vr(t),markerSchemaByName:It(t),getMarkerLabel:j.getMarkerTableLabelGetter(t),tableViewOptions:hm(t)}),mapDispatchToProps:{changeSelectedMarker:jm,changeRightClickedMarker:tn,onTableViewOptionsChange:t=>Zm("marker-table",t)},component:OE});var t3=T(U());var CT=T(Qo()),qW=T(U());var _z=T(U()),UE=T(xe());var Ns=T(E()),{DOM_DELTA_PAGE:Fre,DOM_DELTA_LINE:Bre}=typeof window=="object"&&window.WheelEvent?new WheelEvent("mouse"):{DOM_DELTA_LINE:1,DOM_DELTA_PAGE:2},Hre=2e3,Ure=500,Ez={KeyQ:"zoomIn",KeyY:"zoomIn",KeyE:"zoomOut",KeyU:"zoomOut",KeyW:"up",KeyK:"up",KeyS:"down",KeyJ:"down",KeyA:"left",KeyH:"left",KeyD:"right",KeyL:"right"},FE={ArrowUp:"zoomIn",ArrowDown:"zoomOut"},Gre=1.003,$re=3,GE=class extends _z.PureComponent{zoomScrollId=0;_pendingPreviewSelectionUpdates=[];_container=null;_takeContainerRef=e=>{this.props.viewportProps.containerRef&&this.props.viewportProps.containerRef(e),this._container=e};_lastKeyboardNavigationFrame=0;_keysDown=new Set;_deltaToZoomFactor=e=>Math.pow(Gre,e);_dragX=0;_dragY=0;constructor(e){super(e),this.state=this.getDefaultState(e)}getHorizontalViewport(e,r){if(e){let{selectionStart:n,selectionEnd:o}=e,a=r.end-r.start;return{viewportLeft:(n-r.start)/a,viewportRight:(o-r.start)/a}}return{viewportLeft:0,viewportRight:1}}getDefaultState(e){let{previewSelection:r,timeRange:n}=e.viewportProps,o=this.getHorizontalViewport(r,n),{startsAtBottom:a,maxViewportHeight:i}=e.viewportProps;return{containerWidth:0,containerHeight:0,containerLeft:0,viewportTop:0,viewportBottom:a?i:0,horizontalViewport:o,isDragging:!1,isScrollHintVisible:!1,isSizeSet:!1}}showScrollingHint(){if(this.props.hasZoomedViaMousewheel)return;let e=++this.zoomScrollId;this.state.isScrollHintVisible||this.setState({isScrollHintVisible:!0}),setTimeout(()=>{e===this.zoomScrollId&&this.setState({isScrollHintVisible:!1})},1e3)}UNSAFE_componentWillReceiveProps(e){if(this.props.viewportProps.viewportNeedsUpdate(this.props.chartProps,e.chartProps))this.setState(this.getDefaultState(e)),this._setSizeNextFrame();else if(this.props.viewportProps.previewSelection!==e.viewportProps.previewSelection||this.props.viewportProps.timeRange!==e.viewportProps.timeRange){let{previewSelection:r,timeRange:n}=e.viewportProps,o=this.getHorizontalViewport(r,n);this.setState({horizontalViewport:o})}else this.props.panelLayoutGeneration!==e.panelLayoutGeneration&&this._setSizeNextFrame()}_setSize=()=>{if(this._container){let e=this._container.getBoundingClientRect(),{startsAtBottom:r}=this.props.viewportProps;(this.state.containerWidth!==e.width||this.state.containerHeight!==e.height)&&this.setState(n=>({containerWidth:e.width,containerHeight:e.height,containerLeft:e.left,viewportBottom:r?n.viewportBottom:n.viewportTop+e.height,viewportTop:r?n.viewportBottom-e.height:n.viewportTop,isSizeSet:!0}))}};_setSizeNextFrame=()=>{requestAnimationFrame(this._setSize)};_mouseWheelListener=e=>{e.preventDefault();let{disableHorizontalMovement:r}=this.props.viewportProps;if(e.ctrlKey||e.shiftKey){if(!r){let o=e.ctrlKey?$re:1;this.zoomWithMouseWheel(e,o)}return}r||this.showScrollingHint();let{containerHeight:n}=this.state;this.moveViewport(-HE(e,n,"deltaX"),-HE(e,n,"deltaY"))};_addBatchedPreviewSelectionUpdate(e){this._pendingPreviewSelectionUpdates.length===0&&requestAnimationFrame(()=>this._flushPendingPreviewSelectionUpdates()),this._pendingPreviewSelectionUpdates.push(e)}_flushPendingPreviewSelectionUpdates(){if(this._pendingPreviewSelectionUpdates.length!==0){let e=this._pendingPreviewSelectionUpdates;this._pendingPreviewSelectionUpdates=[];let{updatePreviewSelection:r,viewportProps:{previewSelection:n,timeRange:o}}=this.props,a=n;for(let i of e){let s=this.getHorizontalViewport(a,o);a=i(s)}r(a)}}zoomWithMouseWheel(e,r=1){let{hasZoomedViaMousewheel:n,setHasZoomedViaMousewheel:o,viewportProps:{marginLeft:a,marginRight:i}}=this.props;!n&&o&&o();let s=HE(e,this.state.containerHeight,e.deltaY===0?"deltaX":"deltaY"),l=this._deltaToZoomFactor(s*r),c=e.clientX,{containerLeft:d,containerWidth:u}=this.state,p=u-a-i,m=(c-d-a)/p;this.zoomRangeSelection(m,l)}zoomRangeSelection=(e,r)=>{let{disableHorizontalMovement:n,maximumZoom:o}=this.props.viewportProps;n||this._addBatchedPreviewSelectionUpdate(({viewportLeft:a,viewportRight:i})=>{let s=i-a,l=BE(o,1,s*r),c=l-s,d=BE(0,1-l,a-c*e),u=BE(l,1,i+c*(1-e)),{viewportProps:{timeRange:p}}=this.props;if(d===0&&u===1)return null;let m=p.end-p.start;return{isModifying:!1,selectionStart:p.start+m*d,selectionEnd:p.start+m*u}})};_mouseDownListener=e=>{e.preventDefault(),this._container&&this._container.focus(),window.addEventListener("mousemove",this._mouseMoveListener,!0),window.addEventListener("mouseup",this._mouseUpListener,!0)};_mouseMoveListener=e=>{e.preventDefault();let{_dragX:r,_dragY:n}=this;this.state.isDragging||(r=e.clientX,n=e.clientY);let o=e.clientX-r,a=e.clientY-n;this._dragX=e.clientX,this._dragY=e.clientY,this.setState({isDragging:!0}),this.moveViewport(o,a)};_keyDownListener=e=>{let r;!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey?r=Ez[e.nativeEvent.code]:e.ctrlKey&&(r=FE[e.nativeEvent.code]),r!==void 0&&(this._keysDown.size===0&&(requestAnimationFrame(this._keyboardNavigation),this._lastKeyboardNavigationFrame=performance.now()),this._keysDown.add(r),e.preventDefault())};_keyUpListener=e=>{if(!e.ctrlKey)for(let r of eD(FE))this._keysDown.delete(r);this._keysDown.delete(FE[e.nativeEvent.code]),this._keysDown.delete(Ez[e.nativeEvent.code])};_onBlur=()=>{this._keysDown.clear()};_keyboardNavigation=e=>{if(this._keysDown.size===0)return;let r=Math.min(Hre*(e-this._lastKeyboardNavigationFrame)*.001,Ure);this._lastKeyboardNavigationFrame=e;for(let n of this._keysDown.values())switch(n){case"zoomIn":this.zoomRangeSelection(.5,this._deltaToZoomFactor(-r));break;case"zoomOut":this.zoomRangeSelection(.5,this._deltaToZoomFactor(r));break;case"up":this.moveViewport(0,r);break;case"down":this.moveViewport(0,-r);break;case"left":this.moveViewport(r,0);break;case"right":this.moveViewport(-r,0);break;default:throw Y(n)}requestAnimationFrame(this._keyboardNavigation)};moveViewport=(e,r)=>{let{viewportProps:{maxViewportHeight:n,timeRange:o,startsAtBottom:a,disableHorizontalMovement:i,marginLeft:s,marginRight:l}}=this.props,{containerWidth:c,containerHeight:d,viewportTop:u,isSizeSet:p}=this.state;if(!p)return;let m=u-r,f=m+d;n<d?a?(m=n-d,f=n):(m=0,f=d):f>n?(m=n-d,f=n):m<0&&(m=0,f=d),m!==u&&this.setState({viewportTop:m,viewportBottom:f}),i||this._addBatchedPreviewSelectionUpdate(({viewportLeft:h,viewportRight:b})=>{let g=b-h;if(g>=1)return null;let y=c-s-l,v=e*(g/y),S=h-v,x=b-v;S<0&&(S=0,x=g),x>1&&(S=1-g,x=1);let w=o.end-o.start;return{isModifying:!1,selectionStart:o.start+w*S,selectionEnd:o.start+w*x}})};_mouseUpListener=e=>{e.preventDefault(),window.removeEventListener("mousemove",this._mouseMoveListener,!0),window.removeEventListener("mouseup",this._mouseUpListener,!0),this.setState({isDragging:!1})};componentDidMount(){if(this._setSize(),this._setSizeNextFrame(),this._container){let e=this._container;fi().subscribe(e,this._setSize),e.addEventListener("wheel",this._mouseWheelListener,{passive:!1})}}componentWillUnmount(){window.removeEventListener("resize",this._setSizeNextFrame,!1),window.removeEventListener("mousemove",this._mouseMoveListener,!0),window.removeEventListener("mouseup",this._mouseUpListener,!0);let e=this._container;e&&(fi().unsubscribe(e,this._setSize),e.removeEventListener("wheel",this._mouseWheelListener))}render(){let{chart:e,chartProps:r,hasZoomedViaMousewheel:n,viewportProps:{className:o}}=this.props,{containerWidth:a,containerHeight:i,viewportTop:s,viewportBottom:l,horizontalViewport:{viewportLeft:c,viewportRight:d},isDragging:u,isScrollHintVisible:p,isSizeSet:m}=this.state,f=(0,UE.default)({chartViewport:!0,dragging:u},o),h=(0,UE.default)({chartViewportScroll:!0,hidden:n||!p}),b={containerWidth:a,containerHeight:i,viewportLeft:c,viewportRight:d,viewportTop:s,viewportBottom:l,isDragging:u,moveViewport:this.moveViewport,isSizeSet:m},g=e,y={...r,viewport:b};return(0,Ns.jsxs)("div",{className:f,onMouseDown:this._mouseDownListener,onKeyDown:this._keyDownListener,onKeyUp:this._keyUpListener,onBlur:this._onBlur,ref:this._takeContainerRef,tabIndex:0,children:[(0,Ns.jsx)(g,{...y}),(0,Ns.jsxs)("div",{className:h,children:["Zoom Chart:",(0,Ns.jsx)("kbd",{className:"chartViewportScrollKbd",children:"Ctrl + Scroll"}),"or",(0,Ns.jsx)("kbd",{className:"chartViewportScrollKbd",children:"Shift + Scroll"})]})]})}};function Rs(t){let e=H({mapStateToProps:r=>({panelLayoutGeneration:Nm(r),hasZoomedViaMousewheel:MC(r)}),mapDispatchToProps:{setHasZoomedViaMousewheel:D0,updatePreviewSelection:dt},component:GE});return function({chartProps:n,viewportProps:o}){return(0,Ns.jsx)(e,{chart:t,chartProps:n,viewportProps:o})}}function BE(t,e,r){return Math.max(t,Math.min(e,r))}var zre=15;function HE(t,e,r){let n=r==="deltaY"?t.deltaY:t.deltaX;switch(t.deltaMode){case Fre:return n*e;case Bre:return n*zre;default:}return n}var Dz=T(U());var zE=T(xe());var Cv=T(U()),Nz=T(ls()),Rz=T(xe());var Mz=T(E()),Ms=11,Vre=8,at=class extends Cv.PureComponent{_interiorElementRef=Cv.createRef();_previousPosition={horizontal:"after-mouse",vertical:"after-mouse"};_overlayElement=$(document.querySelector("#root-overlay"),"Expected to find a root overlay element.");_computeNewPosition({mousePosition:e,elementSize:r,windowSize:n,previousPosition:o}){let a=[];e+Ms+r<n&&a.push("after-mouse"),e-Ms-r>=0&&a.push("before-mouse");let i;switch(a.length){case 0:i="window-edge";break;case 1:i=a[0];break;case 2:i=o!=="window-edge"?o:"before-mouse";break;default:throw new Error(`We got more than 2 possible positions ${a.length}, which shouldn't happen.`)}let s;switch(i){case"after-mouse":s=e+Ms;break;case"before-mouse":s=e-r-Ms;break;case"window-edge":s=Vre;break;default:throw Y(i,"Unknown position type")}return{position:i,style:s}}setPositioningStyle(){let{mouseX:e,mouseY:r}=this.props,n=this._interiorElementRef.current;if(!n)return;let o=this._computeNewPosition({mousePosition:e,elementSize:n.offsetWidth,windowSize:window.innerWidth,previousPosition:this._previousPosition.horizontal}),a=this._computeNewPosition({mousePosition:r,elementSize:n.offsetHeight,windowSize:window.innerHeight,previousPosition:this._previousPosition.vertical});n.style.left=o.style+"px",n.style.top=a.style+"px",this._previousPosition={horizontal:o.position,vertical:a.position}}componentDidMount(){this.setPositioningStyle()}componentDidUpdate(){this.setPositioningStyle()}_mouseDownListener=e=>{e.stopPropagation()};render(){return Nz.default.createPortal((0,Mz.jsx)("div",{className:(0,Rz.default)("tooltip",this.props.className),onMouseDown:this._mouseDownListener,"data-testid":"tooltip",style:{left:0,top:0},ref:this._interiorElementRef,children:this.props.children}),this._overlayElement)}};var mf=T(E()),Lz=5,Pa=class extends Dz.Component{_devicePixelRatio=1;_offsetX=0;_offsetY=0;_mouseDownOffsetX=0;_mouseDownOffsetY=0;_mouseMovedWhileClicked=!1;_ctx=null;_canvas=null;_isDrawScheduled=!1;state={hoveredItem:null,selectedItem:null,pageX:0,pageY:0};_scheduleDraw(e=!1,r=null){let{drawCanvasAfterRaf:n}=this.props;if(n===!1){this._doDrawCanvas(e,r);return}this._isDrawScheduled||(this._isDrawScheduled=!0,window.requestAnimationFrame(()=>{this._isDrawScheduled=!1,this._doDrawCanvas(e,r)}))}_prepCanvas(){let e=this._canvas,{containerWidth:r,containerHeight:n,scaleCtxToCssPixels:o}=this.props,{devicePixelRatio:a}=window;if(!e)return null;let i=this._ctx;i||(i=e.getContext("2d",{alpha:!1}),this._ctx=i);let s=Math.floor(r*a),l=Math.floor(n*a);if((e.width!==s||e.height!==l)&&(e.width=s,e.height=l,e.style.width=e.width/a+"px",e.style.height=e.height/a+"px",o&&i.scale(this._devicePixelRatio,this._devicePixelRatio)),this._devicePixelRatio!==a){if(o){let c=1/this._devicePixelRatio*a;i.scale(c,c)}this._devicePixelRatio=a}return i}_doDrawCanvas(e=!1,r=null){let{className:n,drawCanvas:o,scaleCtxToCssPixels:a}=this.props,{hoveredItem:i}=this.state;ct(`${n} render`,()=>{let s=this._prepCanvas();if(s!==null){let l=this._devicePixelRatio;o(s,{cssToDeviceScale:l,cssToUserScale:a?1:l},{hoveredItem:i,prevHoveredItem:r,isHoveredOnlyDifferent:e})}})}_onMouseDown=e=>{e.button===0&&(this._mouseDownOffsetX=e.nativeEvent.offsetX,this._mouseDownOffsetY=e.nativeEvent.offsetY,this._mouseMovedWhileClicked=!1),e.button===2&&this.props.onRightClick&&this.props.onRightClick(this.state.hoveredItem)};_onClick=e=>{if(this._mouseMovedWhileClicked)return;let{onSelectItem:r}=this.props;e.button===0&&r&&(this.props.stickyTooltips&&this.setState(n=>({selectedItem:n.hoveredItem,pageX:e.pageX,pageY:e.pageY})),r(this.state.hoveredItem))};_onMouseLeave=e=>{this.props.onMouseLeave&&this.props.onMouseLeave(e)};_onMouseMove=e=>{if(!this._canvas)return;this.props.onMouseMove&&this.props.onMouseMove(e),this._offsetX=e.nativeEvent.offsetX,this._offsetY=e.nativeEvent.offsetY;let r=(e.buttons&1)!==0;!this._mouseMovedWhileClicked&&r&&(Math.abs(this._offsetX-this._mouseDownOffsetX)>Lz||Math.abs(this._offsetY-this._mouseDownOffsetY)>Lz)&&(this._mouseMovedWhileClicked=!0);let n=this.props.hitTest(this._offsetX,this._offsetY);n!==null?this.state.selectedItem===null?this.setState({hoveredItem:n,pageX:e.pageX,pageY:e.pageY}):this.setState({hoveredItem:n}):this.state.hoveredItem!==null&&!window.persistTooltips&&this.setState({hoveredItem:null})};_onMouseOut=()=>{this.state.hoveredItem!==null&&!window.persistTooltips&&this.setState({hoveredItem:null})};_onDoubleClick=()=>{this.props.onDoubleClickItem(this.state.hoveredItem),this.props.stickyTooltips&&this.setState(()=>({selectedItem:null}))};_getHoveredItemInfo=()=>{let{hoveredItem:e,selectedItem:r}=this.state;return r!==null?this.props.getHoveredItemInfo(r):e===null?null:this.props.getHoveredItemInfo(e)};_takeCanvasRef=e=>{this._canvas=e};_syncSelectedItemFromProp=()=>{let{selectedItem:e,selectedItemTooltipOffset:r}=this.props;if(e==null){this.setState({selectedItem:null});return}if(!r||!this._canvas){this.setState({selectedItem:e});return}let{offsetX:n,offsetY:o}=r,a=this._canvas.getBoundingClientRect(),i=a.left+window.scrollX+n,s=a.top+window.scrollY+o;this.setState({selectedItem:e,pageX:i,pageY:s})};UNSAFE_componentWillReceiveProps(){let{hoveredItem:e}=this.state;e!==null&&!$E(this.props.hitTest(this._offsetX,this._offsetY),e)&&this.setState({hoveredItem:null})}componentDidMount(){window.addEventListener("profiler-theme-change",this._onThemeChange),this.props.selectedItem!==void 0&&this.props.containerWidth!==0&&this._syncSelectedItemFromProp()}componentWillUnmount(){window.removeEventListener("profiler-theme-change",this._onThemeChange)}_onThemeChange=()=>{this._scheduleDraw()};componentDidUpdate(e,r){if(e!==this.props){if(this.props.selectedItem!==void 0){let n=this.props.selectedItem!==e.selectedItem,o=e.containerWidth===0&&this.props.containerWidth!==0,a=this.props.selectedItemTooltipOffset!==e.selectedItemTooltipOffset,i=n&&$E(this.state.selectedItem,this.props.selectedItem),s=a&&!n&&this.state.selectedItem!==null;!i&&(n||o||s)&&this._syncSelectedItemFromProp()}if(this.state.selectedItem!==null&&r.selectedItem===this.state.selectedItem&&this.props.getHoveredItemInfo(this.state.selectedItem)===null&&this.setState({selectedItem:null}),this._canvas&&this._canvas.width!==0&&this.props.containerWidth===0)return;this._scheduleDraw()}else $E(r.hoveredItem,this.state.hoveredItem)||this._scheduleDraw(!0,r.hoveredItem)}render(){let{isDragging:e}=this.props,{hoveredItem:r,pageX:n,pageY:o}=this.state,a=(0,zE.default)({chartCanvas:!0,[this.props.className]:!0,hover:r!==null}),i=this._getHoveredItemInfo();return(0,mf.jsxs)("div",{children:[(0,mf.jsx)("canvas",{className:a,ref:this._takeCanvasRef,onMouseDown:this._onMouseDown,onClick:this._onClick,onMouseLeave:this._onMouseLeave,onMouseMove:this._onMouseMove,onMouseOut:this._onMouseOut,onDoubleClick:this._onDoubleClick}),!e&&i?(0,mf.jsx)(at,{mouseX:n,mouseY:o,className:(0,zE.default)({clickable:this.state.selectedItem!==null}),children:i}):null]})}};function $E(t,e){if(t&&e&&typeof t=="object"&&typeof e=="object"){if(t.length!==e.length)return!1;let r=!0;for(let n in t){let o=!1;for(let a in e)if(n===a){if(t[n]!==e[a])return!1;o=!0;break}if(r=r&&o,!r)return!1}return!0}return t===e}var VE=class{_ctx;_cache;_averageCharWidth;overflowChar;minWidth;constructor(e){this._ctx=e,this._cache={},this._averageCharWidth=this._calcAverageCharWidth(),this.overflowChar="\u2026",this.minWidth=this.getTextWidth(this.overflowChar)}_calcAverageCharWidth(){let e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.()< /:-_";return this.getTextWidth(e)/e.length}getTextWidth(e){let r=this._cache[e];if(r!==void 0)return r;let n=this._ctx.measureText(e);return this._cache[e]=n.width,n.width}getFittedText(e,r){if(this.getTextWidth(e)<r)return e;let n=c=>this.getTextWidth(e.substring(0,c)),o=c=>Math.round((a-n(c))/this._averageCharWidth),a=r-this.minWidth,i=a/this._averageCharWidth,s=Math.floor(i);if(s<1)return"";s+=o(s);let l=o(s);for(l>=1&&(s+=l);n(s)>a;)--s;return e.substring(0,s)+this.overflowChar}},Ls=VE;var WE=!1,jE=!1;function Wre(){return typeof window>"u"?null:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Ds(){try{let t=window.localStorage.getItem("theme");return t==="light"?"light":t==="dark"?"dark":"system"}catch{return"system"}}function Pv(){let t=Ds(),e=!1;t==="dark"?e=!0:t==="light"?e=!1:e=Wre()==="dark";let r=WE&&jE!==e;jE=e,e?document.documentElement.classList.add("dark-mode"):document.documentElement.classList.remove("dark-mode"),r&&window.dispatchEvent(new CustomEvent("profiler-theme-change"))}function Yd(t){try{t==="system"?window.localStorage.removeItem("theme"):window.localStorage.setItem("theme",t)}catch(e){console.warn("localStorage access denied",e)}Pv()}function Ev(){if(!WE){try{Pv(),window.addEventListener("storage",t=>{(t.key==="theme"||t.key===null)&&Pv()}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Ds()==="system"&&Pv()})}catch(t){console.warn("localStorage access denied",t)}WE=!0}return jE}function Cn(t,e){return Ev()?e:t}function As(t){return typeof t=="string"?t:Cn(t[0],t[1])}function KE(){Ev()}var se=T(Qo()),rn={_selectedFillStyle:["#ffffff","#0f1126"],_unselectedFillStyle:["#ffffff60","#0f112660"],_selectedTextColor:["#000000",se.GREY_20],getSelectedFillStyle:function(){return As(this._selectedFillStyle)},getUnselectedFillStyle:function(){return As(this._unselectedFillStyle)},getSelectedTextColor:function(){return As(this._selectedTextColor)},gravity:0},Bz="#004fc4",Az="#8a00eb",Oz="#be9b00",jre={...rn,_selectedFillStyle:[se.GREY_30,se.GREY_70],_unselectedFillStyle:[se.GREY_30+"60",se.GREY_70+"60"],_selectedTextColor:["#000",se.GREY_20],gravity:8},YE={...rn,_selectedFillStyle:[se.GREY_40,se.GREY_50],_unselectedFillStyle:[se.GREY_40+"60",se.GREY_50+"60"],_selectedTextColor:["#000",se.GREY_20],gravity:10},Fz={...rn,_selectedFillStyle:[se.GREY_50,se.GREY_60],_unselectedFillStyle:[se.GREY_50+"60",se.GREY_60+"60"],_selectedTextColor:"#fff",gravity:11},Kre={transparent:{...rn,_selectedFillStyle:"transparent",_unselectedFillStyle:"transparent",_selectedTextColor:["#000",se.GREY_20],gravity:0},lightblue:{...rn,_selectedFillStyle:se.BLUE_40,_unselectedFillStyle:se.BLUE_40+"60",_selectedTextColor:["#000",se.GREY_20],gravity:1},red:{...rn,_selectedFillStyle:se.RED_60,_unselectedFillStyle:se.RED_60+"60",_selectedTextColor:"#fff",gravity:1},lightred:{...rn,_selectedFillStyle:se.RED_70+"60",_unselectedFillStyle:se.RED_70+"30",_selectedTextColor:["#000",se.GREY_20],gravity:1},orange:{...rn,_selectedFillStyle:[se.ORANGE_50,se.ORANGE_60],_unselectedFillStyle:[se.ORANGE_50+"60",se.ORANGE_60+"60"],_selectedTextColor:"#fff",gravity:2},blue:{...rn,_selectedFillStyle:se.BLUE_60,_unselectedFillStyle:se.BLUE_60+"60",_selectedTextColor:"#fff",gravity:3},green:{...rn,_selectedFillStyle:[se.GREEN_60,se.GREEN_70],_unselectedFillStyle:[se.GREEN_60+"60",se.GREEN_70+"60"],_selectedTextColor:"#fff",gravity:4},purple:{...rn,_selectedFillStyle:[se.PURPLE_70,Az],_unselectedFillStyle:[se.PURPLE_70+"60",Az+"70"],_selectedTextColor:"#fff",gravity:5},yellow:{...rn,_selectedFillStyle:["#ffe129",Oz],_unselectedFillStyle:[se.YELLOW_50+"70",Oz+"85"],_selectedTextColor:["#000",se.GREY_20],gravity:6},brown:{...rn,_selectedFillStyle:se.ORANGE_70,_unselectedFillStyle:se.ORANGE_70+"60",_selectedTextColor:"#fff",gravity:7},magenta:{...rn,_selectedFillStyle:[se.MAGENTA_60,se.MAGENTA_70],_unselectedFillStyle:[se.MAGENTA_60+"60",se.MAGENTA_70+"60"],_selectedTextColor:"#fff",gravity:8},lightgreen:{...rn,_selectedFillStyle:[se.GREEN_50,se.GREEN_70],_unselectedFillStyle:[se.GREEN_50+"60",se.GREEN_70+"60"],_selectedTextColor:"#fff",gravity:9},gray:YE,grey:YE,darkgray:Fz,darkgrey:Fz};function ff(t){let e=Kre[t];return e!==void 0?e:(console.error(`Unknown color name '${t}' encountered. Consider updating this code to handle it.`),YE)}function _v(t){return t==="transparent"?jre:ff(t)}function Os(){return Cn("#000000",se.GREY_20)}function Zl(){return Cn("#ffffff","#18181a")}var X={TINY:Symbol("TINY"),SHORT:Symbol("SHORT"),LONG:Symbol("LONG"),HEADER:Symbol("HEADER")},qE=Symbol("JSON_NUMBER");var hf={};ve(hf,{rep:()=>tne,supportsObject:()=>ene});var Yz=T(Fe(),1),qz=T(Ce(),1);var Yre=T(Fe(),1);var{span:Gz}=Yre,qre=/(http|https|ftp|data|resource|chrome):/i,$z=/(^|[\s(,;'"`“])((?:https?:\/(\/)?|www\d{0,3}[.][a-z0-9.\-]{2,249}|[a-z0-9.\-]{2,250}[.][a-z]{2,4}\/)[-\w.!~*'();,/?:@&=+$#%]*)/im,zz=/(?:[),;.!?`'"]|[.!?]\)|\)[.!?])$/,Ea="\u2026";function Xre(t){return t.replace(/\r/gm,"\\r").replace(/\n/gm,"\\n")}var Uz={9:"\\t",10:"\\n",13:"\\r",34:'\\"',92:"\\\\"},Vz="\\\\\0-\x7F-\x9F\uFEFF\uFFF0-\uFFFC\uFFFE\uFFFF\uD800-\uDFFF\u2061-\u2064\u2028-\u2029\uE000-\uF8FF",Jre=new RegExp(`[${Vz}]`,"g"),Zre=new RegExp(`[${Vz}"]`,"g");function JE(t,e){let r='"',n=Jre;return t.includes('"')&&(t.includes("'")?!t.includes("`")&&!t.includes("${")?r="`":n=Zre:r="'"),`${r}${t.replace(n,(o,a)=>{let i=o.charCodeAt(0);if(i in Uz)return!e&&(i===9||i===10||i===13)?o[0]:Uz[i];if(i>=55296&&i<=57343){i>=56320&&a>0&&--a;let s=t.codePointAt(a);return s>=55296&&s<=57343?`\\u${s.toString(16)}`:s>=983040&&s<=1114109?i<=56319?`\\u{${s.toString(16)}}`:"":o}return`\\u${`0000${i.toString(16)}`.substr(-4)}`})}${r}`}function ZE(t){return/^\w+$/.test(t)||(t=JE(t)),t}function Wz(t,e){return Xre(hi(t,e))}function QE(t,e,r=Ea){if(!e||e<=0)return t;e<=r.length&&(e=r.length+1);let n=(e-r.length)/2;return t.length>e?t.substr(0,Math.ceil(n))+r+t.substr(t.length-Math.floor(n)):t}function hi(t,e,r){return QE(e_(`${t}`),e,r)}function e_(t){let e=new RegExp("[\0-\b\v\f-\x7F-\x9F]","g");return t.replace(e,"\uFFFD")}function Fs(t){return hi(t)}function ae(t){let e=function(r){try{return t.call(this,r)}catch(n){return console.error(n),Gz({className:"objectBox objectBox-failure",title:"This object could not be rendered, please file a bug on bugzilla.mozilla.org"},"Invalid object")}};return e.propTypes=t.propTypes,e}function Be(t,e){return e||Object(t)!==t?typeof t:t.type==="object"?t.class:t.type}function jz(t){return typeof t!="string"||t.length<5?!1:qre.test(t)}function qd(t,e){return t.reduce((r,n,o)=>o!==t.length-1?r.concat(n,e):r.concat(n),[])}var Bs=Gz({key:"more",className:"more-ellipsis",title:`more${Ea}`},Ea);function Kz(t,e){let r=new RegExp("^(?:-moz-)?(?:align|background|border|box|clear|color|cursor|display|float|font|justify|line|margin|padding|position|text|transition|outline|vertical-align|white-space|word|writing|(?:min-|max-)?width|(?:min-|max-)?height)"),n=/\b((?:-moz-)?element)[\s('"]+/gi,o=/url\([\'\"]?([^\)]*)/g,a=e("div");return a.style=t,Array.from(a.style).filter(i=>!r.test(i)||n.test(i)?!1:i==="position"?["static","relative"].includes(a.style.getPropertyValue(i)):Array.from(a.style[i].matchAll(o)).map(s=>s[1]).every(s=>s.startsWith("data:"))).reduce((i,s)=>{let l=s.replace(/-([a-z])/g,(c,d)=>d.toUpperCase());return Object.assign({[l]:a.style.getPropertyValue(s)},i)},{})}function Pn(t="",e){return typeof Services>"u"||!Services?.intl?.stringHasRTLChars(e)?t:`${t} has-rtl-char`}Xz.propTypes={shouldRenderTooltip:qz.default.bool};function Xz(t){let e=t.shouldRenderTooltip,r=Qre(e);return(0,Yz.span)(r,"undefined")}function Qre(t){return{className:"objectBox objectBox-undefined",title:t?"undefined":null}}function ene(t,e=!1){return e===!0?t===void 0:t&&t.type&&t.type=="undefined"||Be(t,e)=="undefined"}var tne=ae(Xz);var gf={};ve(gf,{rep:()=>one,supportsObject:()=>nne});var Jz=T(Fe(),1),Zz=T(Ce(),1);Qz.PropTypes={shouldRenderTooltip:Zz.default.bool};function Qz(t){let e=t.shouldRenderTooltip,r=rne(e);return(0,Jz.span)(r,"null")}function rne(t){return{className:"objectBox objectBox-null",title:t?"null":null}}function nne(t,e=!1){return e===!0?t===null:t&&t.type&&t.type=="null"?!0:t==null}var one=ae(Qz);var yf={};ve(yf,{isLongString:()=>yi,rep:()=>Jn,supportsObject:()=>dne});var gi=T(Fe(),1),Xn=T(Ce(),1);eV.propTypes={useQuotes:Xn.default.bool,escapeWhitespace:Xn.default.bool,style:Xn.default.object,cropLimit:Xn.default.number.isRequired,urlCropLimit:Xn.default.number,member:Xn.default.object,object:Xn.default.object.isRequired,openLink:Xn.default.func,className:Xn.default.string,title:Xn.default.string,isInContentPage:Xn.default.bool,shouldRenderTooltip:Xn.default.bool};function eV(t){let{className:e,style:r,cropLimit:n,urlCropLimit:o,object:a,useQuotes:i=!0,escapeWhitespace:s=!0,member:l,openLink:c,title:d,isInContentPage:u,transformEmptyString:p=!1,shouldRenderTooltip:m}=t,f=a,h=sne({className:e,style:r,actor:a.actor,title:d});if(f==""&&p&&!i)return(0,gi.span)({...h,title:"<empty string>",className:`${h.className} objectBox-empty-string`},"<empty string>");let b=yi(a),g=l&&l.open,y=!g&&n&&f.length>n;if(b){f=ane({shouldCrop:y,cropLimit:n},f);let{fullText:v}=a;g&&v&&(f=v)}if(f=ine({useQuotes:i,escapeWhitespace:s},f),m&&(h.title=f),!b){if(jz(f))return(0,gi.span)(h,cne({text:f,cropLimit:y?n:null,urlCropLimit:o,openLink:c,isInContentPage:u}));f=lne({isLong:b,shouldCrop:y,cropLimit:n},f)}return h.className=Pn(h.className,f),(0,gi.span)(h,f)}function ane(t,e){let{shouldCrop:r,cropLimit:n}=t,o=e&&e.getGrip?e.getGrip():e,{initial:a,length:i}=o,s=r?a.substring(0,n):a;return s.length<i&&(s+=Ea),s}function ine(t,e){let{useQuotes:r,escapeWhitespace:n}=t;return r?JE(e,n):e_(e)}function sne(t){let{className:e,style:r,actor:n,title:o}=t,a={};n&&(a["data-link-actor-id"]=n),o&&(a.title=o);let i=["objectBox","objectBox-string"];return e&&i.push(e),a.className=i.join(" "),r&&(a.style=r),a}function lne(t,e){let{shouldCrop:r,cropLimit:n}=t;return r?QE(e,n):e}function cne({text:t,cropLimit:e,urlCropLimit:r,openLink:n,isInContentPage:o}){let a=Math.ceil((e-Ea.length)/2),i=e?a:null,s=e?t.length-a:null,l=[],c=0,d;for(;;){let u=$z.exec(t);if(!u)break;if(d=u.index+u[1].length,d>0){let h=t.substring(0,d);l.push(t_(h,c,i,s))}let p=u[2],m=zz.exec(p);m&&(p=p.substring(0,m.index)),c=c+d;let f=t_(p,c,i,s);if(f){let h=[],b=r&&p.length>r;if(b){let g=Math.ceil((r-Ea.length)/2);h.push((0,gi.span)({className:"cropped-url-start"},p.substring(0,g)),(0,gi.span)({className:"cropped-url-middle"},p.substring(g,p.length-g)),(0,gi.span)({className:"cropped-url-end"},p.substring(p.length-g)))}else h.push(f);l.push((0,gi.a)({key:`${p}-${c}`,className:"url"+(b?" cropped-url":""),title:p,draggable:!1,href:n||o?p:null,target:"_blank",rel:"noopener noreferrer",onClick:n?g=>{g.preventDefault(),n(p,g)}:null},h))}c=c+p.length,t=t.substring(u.index+u[1].length+p.length)}return t.length&&(c<s&&(t=t_(t,c,i,s)),l.push(t)),l}function t_(t,e=0,r,n){if(!r)return t;let o=e,a=e+t.length;if(!!(o>=r&&a<=n))return null;let s=o<r&&a>r,l=o<n&&a>n;if(s){let c=r-o;return t.substring(0,c)+Ea+(l?t.substring(n-o):"")}if(l){let c=n-o;return t.substring(c)}return t}function yi(t){let e=t&&t.getGrip?t.getGrip():t;return e&&e.type==="longString"}function dne(t,e=!1){return Be(t,e)=="string"?!0:e?!1:yi(t)}var Jn=ae(eV);var bf={};ve(bf,{rep:()=>hne,supportsObject:()=>fne});var Xd=T(Ce(),1),tV=T(Fe(),1);rV.propTypes={object:Xd.default.oneOfType([Xd.default.object,Xd.default.number,Xd.default.bool]).isRequired,shouldRenderTooltip:Xd.default.bool};function rV(t){let e=une(t.object),r=pne(t.shouldRenderTooltip,e);return(0,tV.span)(r,e)}function une(t){return Object.is(t,-0)||t.type&&t.type=="-0"?"-0":String(t)}function pne(t,e){return{className:"objectBox objectBox-number",title:t?e:null}}var mne=new Set(["boolean","number","-0"]);function fne(t,e=!1){return mne.has(Be(t,e))}var hne=ae(rV);var r_={};ve(r_,{rep:()=>bne,supportsObject:()=>yne});var Jd=T(Ce(),1),vf=T(Fe(),1);nV.propTypes={object:Jd.default.oneOfType([Jd.default.object,Jd.default.number,Jd.default.bool]).isRequired,shouldRenderTooltip:Jd.default.bool};function nV(t){let e=t.object.source,r=gne(t.shouldRenderTooltip,e);return(0,vf.span)(r,(0,vf.span)({className:"source-value"},e),(0,vf.span)({className:"parsed-value",title:"JavaScript parsed value"},(0,vf.span)({className:"parsed-value-prefix"},"JS:"),t.object.parsedValue))}function gne(t,e){return{className:"objectBox objectBox-number objectBox-json-number",title:t?e:null}}function yne(t){return t?.type===qE}var bne=ae(nV);var Nv={};ve(Nv,{ModePropType:()=>o_,getLength:()=>wne,maxLengthMap:()=>Tf,rep:()=>Ine,supportsObject:()=>kne});var Ql=T(Fe(),1),eu=T(Ce(),1);var Zd=T(Ce(),1);var vne=T(Fe(),1),{span:Tne}=vne,Sne=Zd.default.oneOf(Object.values(X));oV.propTypes={object:Zd.default.object.isRequired,maxLengthMap:Zd.default.instanceOf(Map).isRequired,getLength:Zd.default.func.isRequired,mode:Sne,visibilityThreshold:Zd.default.number};function oV(t){let{object:e,mode:r=X.SHORT,visibilityThreshold:n=2,maxLengthMap:o,getLength:a,showZeroLength:i=!1}=t,s=a(e),l=s===0,c=[X.SHORT,X.LONG].includes(r)&&s>0&&s<=o.get(r)&&s<=n;return l&&!i||c?"":Tne({className:"objectLengthBubble"},`(${s})`)}var Qd=ae(oV);var o_=eu.default.oneOf(Object.values(X));aV.propTypes={mode:o_,object:eu.default.array.isRequired,shouldRenderTooltip:eu.default.bool};function aV(t){let{object:e,mode:r=X.SHORT,shouldRenderTooltip:n=!0}=t,o,a,i=function(s){return s?{left:"[ ",right:" ]"}:{left:"[",right:"]"}};return r===X.TINY?(e.length===0?a=[]:a=[(0,Ql.span)({className:"more-ellipsis"},"\u2026")],o=i(!1)):(a=xne(t,e,Tf.get(r)),o=i(!!a.length)),(0,Ql.span)({className:"objectBox objectBox-array",title:n?"Array":null},Qd({object:e,mode:r,maxLengthMap:Tf,getLength:()=>e.length}),(0,Ql.span)({className:"arrayLeftBracket"},o.left),...a,(0,Ql.span)({className:"arrayRightBracket"},o.right))}function xne(t,e,r){let n=[];for(let o=0;o<e.length&&o<r;o++){let a={mode:X.TINY,delim:o==e.length-1?"":", "},i;try{i=n_({...t,...a,object:e[o]})}catch(s){i=n_({...t,...a,object:s})}n.push(i)}return e.length>r&&n.push((0,Ql.span)({className:"more-ellipsis"},"\u2026")),n}n_.propTypes={object:eu.default.any.isRequired,delim:eu.default.string.isRequired,mode:o_};function n_(t){let{object:e,delim:r,mode:n}=t;return(0,Ql.span)({},t.Rep({...t,object:e,mode:n}),r)}function wne(t){return t.length}function kne(t,e=!1){return e&&(Array.isArray(t)||Object.prototype.toString.call(t)==="[object Arguments]")}var Tf=new Map;Tf.set(X.SHORT,3);Tf.set(X.LONG,10);var Ine=ae(aV);var Rv={};ve(Rv,{rep:()=>Rne,supportsObject:()=>Nne});var Sf=T(Ce(),1),Hs=T(Fe(),1);var To=T(Ce(),1),a_=T(Fe(),1);iV.propTypes={keyClassName:To.default.string,name:To.default.oneOfType([To.default.string,To.default.object]).isRequired,equal:To.default.string,mode:To.default.oneOf(Object.values(X)),onDOMNodeMouseOver:To.default.func,onDOMNodeMouseOut:To.default.func,onInspectIconClick:To.default.func,suppressQuotes:To.default.bool,shouldRenderTooltip:To.default.bool};function iV(t){let{equal:e,keyClassName:r,mode:n,name:o,shouldRenderTooltip:a,suppressQuotes:i}=t,s=`nodeName${r?" "+r:""}`,l;return typeof o=="string"?(i||(o=ZE(o)),l=(0,a_.span)({className:Pn(s,o),title:a?o:null},o)):l=t.Rep({...t,className:s,object:o,mode:n||X.TINY,defaultRep:void 0}),[l,(0,a_.span)({className:"objectEqual"},e),t.Rep({...t})]}var Cne=ae(iV),_a=Cne;var i_="Object";lV.propTypes={object:Sf.default.object.isRequired,mode:Sf.default.oneOf(Object.values(X)),title:Sf.default.string,shouldRenderTooltip:Sf.default.bool};function lV(t){let e=t.object,{shouldRenderTooltip:r=!0}=t;if(t.mode===X.TINY){let i=[];return xf(t)!==i_?i.push(sV(t)):i.push((0,Hs.span)({className:"objectLeftBrace"},"{"),Object.keys(e).length?Bs:null,(0,Hs.span)({className:"objectRightBrace"},"}")),(0,Hs.span)({className:"objectBox objectBox-object",title:r?xf(t):null},...i)}let n=Pne(t,e),o=xf(t)!==i_,a=!n.length;return(0,Hs.span)({className:"objectBox objectBox-object",title:r?xf(t):null},o?sV(t):null,(0,Hs.span)({className:"objectLeftBrace"},(o?" ":"")+"{"+(a?"":" ")),...n,(0,Hs.span)({className:"objectRightBrace"},(a?"":" ")+"}"))}function sV(t){return(0,Hs.span)({className:"objectTitle"},xf(t))}function xf(t){return t.title||i_}function Pne(t,e,r){r=typeof r>"u"?3:r;try{return Ene(t,e,r)}catch(n){console.error(n)}return[]}function Ene(t,e,r){Object.prototype.toString.call(e)==="[object Generator]"&&(e=Object.getPrototypeOf(e));let n=[],o=[],a=0,i=Object.keys(e),s=(l,c)=>{n.push(_a({...t,key:l,mode:X.TINY,name:l,object:c,equal:": "})),a++,a<i.length&&n.push(", ")};try{for(let l of i){if(a>=r)break;let c;try{c=e[l]}catch{continue}_ne(c)?s(l,c):o.push(l)}}catch(l){console.error(l)}if(a<r)for(let l of o){if(a>=r)break;let c;try{c=e[l]}catch{continue}s(l,c)}return a<i.length&&n.push(Bs),n}function _ne(t){let e=typeof t;return e=="boolean"||e=="number"||e=="string"&&t}function Nne(t,e=!1){return e}var Rne=ae(lV);var Mv={};ve(Mv,{rep:()=>Ane,supportsObject:()=>Dne});var s_=T(Ce(),1),cV=T(Fe(),1);var Mne=50;dV.propTypes={object:s_.default.object.isRequired,shouldRenderTooltip:s_.default.bool};function dV(t){let{className:e="objectBox objectBox-symbol",object:r,shouldRenderTooltip:n}=t,{name:o}=r,a=o||"";o&&o!=="Symbol.iterator"&&o!=="Symbol.asyncIterator"&&(a=Jn({object:a,shouldCrop:!0,cropLimit:Mne,useQuotes:!0}));let i=Lne({shouldRenderTooltip:n,className:e,name:o},r);return(0,cV.span)(i,"Symbol(",a,")")}function Lne(t,e){let{shouldRenderTooltip:r,className:n,name:o}=t;return{"data-link-actor-id":e.actor,className:n,title:r?`Symbol(${o})`:null}}function Dne(t,e=!1){return Be(t,e)=="symbol"}var Ane=ae(dV);var Lv={};ve(Lv,{rep:()=>Bne,supportsObject:()=>Fne});var l_=T(Ce(),1),uV=T(Fe(),1);pV.propTypes={object:l_.default.object.isRequired,shouldRenderTooltip:l_.default.bool};function pV(t){let{object:e,shouldRenderTooltip:r}=t,n=One(r,e);return(0,uV.span)(n,e.type)}function One(t,e){return{className:"objectBox objectBox-number",title:t?e.type:null}}function Fne(t,e=!1){let r=Be(t,e);return r=="Infinity"||r=="-Infinity"}var Bne=ae(pV);var Dv={};ve(Dv,{rep:()=>Gne,supportsObject:()=>Une});var mV=T(Fe(),1),fV=T(Ce(),1);hV.PropTypes={shouldRenderTooltip:fV.default.bool};function hV(t){let e=t.shouldRenderTooltip,r=Hne(e);return(0,mV.span)(r,"NaN")}function Hne(t){return{className:"objectBox objectBox-nan",title:t?"NaN":null}}function Une(t,e=!1){return Be(t,e)=="NaN"}var Gne=ae(hV);var Bv={};ve(Bv,{rep:()=>jne,supportsObject:()=>Wne});var kf=T(Fe(),1),Fv=T(Ce(),1);var bi={};ve(bi,{maxLengthMap:()=>tu,rep:()=>ru,supportsObject:()=>Ov});var Na=T(Ce(),1),ea=T(Fe(),1);bV.propTypes={object:Na.default.object.isRequired,mode:Na.default.oneOf(Object.values(X)),isInterestingProp:Na.default.func,title:Na.default.string,onDOMNodeMouseOver:Na.default.func,onDOMNodeMouseOut:Na.default.func,onInspectIconClick:Na.default.func,noGrip:Na.default.bool,shouldRenderTooltip:Na.default.bool};var yV="Object";function bV(t){let{mode:e=X.SHORT,object:r,shouldRenderTooltip:n}=t,o={"data-link-actor-id":r.actor,className:"objectBox objectBox-object"};if(e===X.TINY){let i=vV(r),s=[];return wf(t,r)!==yV?s.push(c_(t,r)):s.push((0,ea.span)({className:"objectLeftBrace"},"{"),i>0?(0,ea.span)({key:"more",className:"more-ellipsis"},"\u2026"):null,(0,ea.span)({className:"objectRightBrace"},"}")),o.title=n?wf(t,r):null,(0,ea.span)(o,...s)}if(e===X.HEADER)return o.title=n?wf(t,r):null,(0,ea.span)(o,c_(t,r));let a=$ne(t,r,tu.get(e));return o.title=n?wf(t,r):null,(0,ea.span)(o,c_(t,r),(0,ea.span)({className:"objectLeftBrace"}," { "),...qd(a,", "),(0,ea.span)({className:"objectRightBrace"}," }"))}function c_(t,e){return(0,ea.span)({className:"objectTitle"},wf(t,e))}function wf(t,e){return t.title||e.class||yV}function vV(t){let e=t.preview&&t.preview.ownPropertiesLength?t.preview.ownPropertiesLength:t.ownPropertyLength;return t.preview&&t.preview.safeGetterValues&&(e+=Object.keys(t.preview.safeGetterValues).length),t.preview&&t.preview.ownSymbols&&(e+=t.preview.ownSymbolsLength),t.preview&&t.preview.privateProperties&&(e+=t.preview.privatePropertiesLength),e}function $ne(t,e,r){r=typeof r>"u"?tu.get(X.SHORT):r;try{return zne(t,e,r)}catch(n){console.error(n)}return[]}function zne(t,e,r){if(e.preview&&Object.keys(e.preview).includes("wrappedValue"))return[t.Rep({object:e.preview.wrappedValue,mode:t.mode||X.TINY,defaultRep:Av})];let n=t.isInterestingProp||((c,d)=>c=="boolean"||c=="number"||c=="string"&&!!d.length),o=e.preview?e.preview.ownProperties||{}:{},a=vV(e);e.preview&&e.preview.safeGetterValues&&(o={...o,...e.preview.safeGetterValues});let i=gV(o,r,n);i.length<r&&i.length<a&&(i=i.concat(gV(o,r-i.length,(c,d,u)=>!n(c,d,u))));let s=["Proxy","Promise"].includes(e.class),l=Vne(t,o,i,s);if(e.preview&&e.preview.privateProperties){let{privateProperties:c}=e.preview,d=r-i.length,u=c.slice(0,d).map(p=>{let m=p.descriptor.value,f=m&&m.getGrip?m.getGrip():m;return _a({...t,keyClassName:"private",mode:X.TINY,name:p.name,object:f,equal:": ",defaultRep:Av,title:null,suppressQuotes:!0})});l.push(...u)}if(e.preview&&e.preview.ownSymbols){let{ownSymbols:c}=e.preview,d=r-i.length,u=c.slice(0,d).map(p=>{let m=p.descriptor.value,f=m&&m.getGrip?m.getGrip():m;return _a({...t,mode:X.TINY,name:p,object:f,equal:": ",defaultRep:Av,title:null,suppressQuotes:s})});l.push(...u)}return(Object.keys(o).length>r||a>r||a>l.length)&&l.push((0,ea.span)({key:"more",className:"more-ellipsis"},"\u2026")),l}function Vne(t,e,r,n){r.sort(function(a,i){return a-i});let o=Object.keys(e);return r.map(a=>{let i=o[a],s=TV(e[i]);return _a({...t,mode:X.TINY,name:i,object:s,equal:": ",defaultRep:Av,title:null,suppressQuotes:n})})}function gV(t,e,r){let n=[];try{let o=0;for(let a in t){if(n.length>=e)return n;let i=TV(t[a]),s=i.class||typeof i;s=s.toLowerCase(),r(s,i,a)&&n.push(o),o++}}catch(o){console.error(o)}return n}function TV(t){let e=t;if(typeof t=="object"){let r=Object.keys(t);r.includes("value")?e=t.value:r.includes("getterValue")&&(e=t.getterValue)}return e}function Ov(t){return t?.class==="DeadObject"?!0:t?.preview?typeof t.preview.ownProperties<"u":typeof t?.ownPropertyLength<"u"}var tu=new Map;tu.set(X.SHORT,3);tu.set(X.LONG,10);var ru=ae(bV),Av={rep:ru,supportsObject:Ov,maxLengthMap:tu};SV.propTypes={object:Fv.default.object.isRequired,mode:Fv.default.oneOf(Object.values(X)),shouldRenderTooltip:Fv.default.bool};function SV(t){let{object:e,evaluation:r,onInvokeGetterButtonClick:n,shouldRenderTooltip:o}=t;if(r)return(0,kf.span)({className:"objectBox objectBox-accessor objectTitle"},t.Rep({...t,object:r.getterValue,mode:t.mode||X.TINY,defaultRep:bi}));if(d_(e)&&n)return(0,kf.button)({className:"invoke-getter",title:"Invoke getter",onClick:s=>{n(),s.stopPropagation()}});let a=[];d_(e)&&a.push("Getter"),xV(e)&&a.push("Setter");let i=a.join(" & ");return(0,kf.span)({className:"objectBox objectBox-accessor objectTitle",title:o?i:null},i)}function d_(t){return t&&t.get&&t.get.type!=="undefined"}function xV(t){return t&&t.set&&t.set.type!=="undefined"}function Wne(t){return d_(t)||xV(t)}var jne=ae(SV);var Hv={};ve(Hv,{rep:()=>Jne,supportsObject:()=>Xne});var ta=T(Ce(),1),nu=T(Fe(),1);wV.propTypes={object:ta.default.object.isRequired,inspectIconTitle:ta.default.string,nameMaxLength:ta.default.number,onAccessibleClick:ta.default.func,onAccessibleMouseOver:ta.default.func,onAccessibleMouseOut:ta.default.func,onInspectIconClick:ta.default.func,roleFirst:ta.default.bool,separatorText:ta.default.string,shouldRenderTooltip:ta.default.bool};function wV(t){let{object:e,inspectIconTitle:r,nameMaxLength:n,onAccessibleClick:o,onInspectIconClick:a,roleFirst:i,separatorText:s}=t,l=e.preview&&e.preview.isConnected===!0,c=Kne({...t,isInTree:l}),d=Yne(e,n,i,s),u=qne({object:e,onInspectIconClick:a,inspectIconTitle:r,onAccessibleClick:o,isInTree:l});return(0,nu.span)(c,...d,u)}function Kne(t){let{object:e,isInTree:r,onAccessibleClick:n,onAccessibleMouseOver:o,onAccessibleMouseOut:a,shouldRenderTooltip:i,roleFirst:s}=t,{name:l,role:c}=e.preview,d={"data-link-actor-id":e.actor,className:"objectBox objectBox-accessible"};if(r&&(n&&Object.assign(d,{onClick:u=>n(e),className:`${d.className} clickable`}),o&&Object.assign(d,{onMouseOver:u=>o(e)}),a&&Object.assign(d,{onMouseOut:a})),i){let u;if(!l)u=c;else{let p=`"${l}"`;u=`${s?c:p}: ${s?p:c}`}d.title=u}return d}function Yne(t,e,r=!1,n=": "){let{name:o,role:a}=t.preview,i=[];return o&&i.push(Jn({className:"accessible-name",object:o,cropLimit:e}),(0,nu.span)({className:"separator"},n)),i.push((0,nu.span)({className:"accessible-role"},a)),r?i.reverse():i}function qne(t){let{object:e,onInspectIconClick:r,inspectIconTitle:n,onAccessibleClick:o,isInTree:a}=t;return!a||!r?null:(0,nu.button)({className:"open-accessibility-inspector",title:n,onClick:i=>{o&&i.stopPropagation(),r(e,i)}})}function Xne(t){return t?.preview&&t.typeName&&t.typeName==="accessible"}var Jne=ae(wV);var Gv={};ve(Gv,{rep:()=>toe,supportsObject:()=>eoe});var u_=T(Ce(),1),Uv=T(Fe(),1);kV.propTypes={object:u_.default.object.isRequired,shouldRenderTooltip:u_.default.bool};function kV(t){let{object:e,shouldRenderTooltip:r}=t,n=e.preview.value,o=Zne(e),a=Qne({attrName:o,shouldRenderTooltip:r,value:n,object:e});return(0,Uv.span)(a,(0,Uv.span)({className:Pn("attrName",o)},o),(0,Uv.span)({className:"attrEqual"},"="),Jn({className:"attrValue",object:n}))}function Zne(t){return t.preview.nodeName}function Qne(t){let{attrName:e,shouldRenderTooltip:r,value:n,object:o}=t;return{"data-link-actor-id":o.actor,className:"objectBox-Attr",title:r?`${e}="${n}"`:null}}function eoe(t,e=!1){return Be(t,e)=="Attr"&&t?.preview}var toe=ae(kV);var $v={};ve($v,{rep:()=>ooe,supportsObject:()=>noe});var IV=T(Fe(),1),ou=T(Ce(),1);CV.propTypes={object:ou.default.oneOfType([ou.default.object,ou.default.number,ou.default.bool]).isRequired,shouldRenderTooltip:ou.default.bool};function CV(t){let{object:e,shouldRenderTooltip:r}=t,n=e.text,o=roe({text:n,shouldRenderTooltip:r});return(0,IV.span)(o,`${n}n`)}function roe(t){let{text:e,shouldRenderTooltip:r}=t;return{className:"objectBox objectBox-number",title:r?`${e}n`:null}}function noe(t,e=!1){return Be(t,e)==="BigInt"}var ooe=ae(CV);var zv={};ve(zv,{rep:()=>loe,supportsObject:()=>soe});var p_=T(Ce(),1),If=T(Fe(),1);PV.propTypes={object:p_.default.object.isRequired,shouldRenderTooltip:p_.default.bool};function PV(t){let{object:e,shouldRenderTooltip:r}=t,n;try{let o=new Date(e.preview.timestamp);o.toISOString();let a=o.toString(),i=aoe({grip:e,dateObjectString:a,shouldRenderTooltip:r});n=(0,If.span)(i,ioe(e),(0,If.span)({className:"Date"},a))}catch{n=(0,If.span)({className:"objectBox",title:r?"Invalid Date":null},"Invalid Date")}return n}function aoe(t){let{grip:e,dateObjectString:r,shouldRenderTooltip:n}=t;return{"data-link-actor-id":e.actor,className:"objectBox",title:n?`${e.class} ${r}`:null}}function ioe(t){return(0,If.span)({className:"objectTitle"},`${t.class} `)}function soe(t,e=!1){return Be(t,e)=="Date"&&t?.preview}var loe=ae(PV);var Wv={};ve(Wv,{rep:()=>moe,supportsObject:()=>poe});var m_=T(Ce(),1),Vv=T(Fe(),1);EV.propTypes={object:m_.default.object.isRequired,shouldRenderTooltip:m_.default.bool};function EV(t){let e=t.object,r=t.shouldRenderTooltip,n=doe(e),o=coe({grip:e,location:n,shouldRenderTooltip:r});return(0,Vv.span)(o,uoe(e),n?(0,Vv.span)({className:"location"},` ${n}`):null)}function coe(t){let{grip:e,location:r,shouldRenderTooltip:n}=t,o={"data-link-actor-id":e.actor,className:"objectBox objectBox-document"};return!n||!r||(o.title=`${e.class} ${r}`),o}function doe(t){let e=t.preview.location;return e?Fs(e):null}function uoe(t){return(0,Vv.span)({className:"objectTitle"},t.class)}function poe(t,e=!1){return t?.preview&&Be(t,e)==="HTMLDocument"}var moe=ae(EV);var jv={};ve(jv,{rep:()=>goe,supportsObject:()=>hoe});var f_=T(Ce(),1),_V=T(Fe(),1);NV.propTypes={object:f_.default.object.isRequired,shouldRenderTooltip:f_.default.bool};function NV(t){let{object:e,shouldRenderTooltip:r}=t,n=e&&e.preview&&e.preview.nodeName?` ${e.preview.nodeName}`:"",o=foe({object:e,shouldRenderTooltip:r,name:n});return(0,_V.span)(o,`<!DOCTYPE${n}>`)}function foe(t){let{object:e,shouldRenderTooltip:r,name:n}=t;return{"data-link-actor-id":e.actor,className:"objectBox objectBox-document",title:r?`<!DOCTYPE${n}>`:null}}function hoe(t,e=!1){return t?.preview&&Be(t,e)==="DocumentType"}var goe=ae(NV);var Kv={};ve(Kv,{rep:()=>voe,supportsObject:()=>boe});var au=T(Ce(),1);RV.propTypes={object:au.default.object.isRequired,mode:au.default.oneOf(Object.values(X)),onDOMNodeMouseOver:au.default.func,onDOMNodeMouseOut:au.default.func,onInspectIconClick:au.default.func};function RV(t){let e={...t,title:yoe(t),object:{...t.object,preview:{...t.object.preview,ownProperties:{}}}};switch(e.object.preview.target&&Object.assign(e.object.preview.ownProperties,{target:e.object.preview.target}),Object.assign(e.object.preview.ownProperties,e.object.preview.properties),delete e.object.preview.properties,e.object.ownPropertyLength=Object.keys(e.object.preview.ownProperties).length,e.object.class){case"MouseEvent":e.isInterestingProp=(r,n,o)=>["target","clientX","clientY","layerX","layerY"].includes(o);break;case"KeyboardEvent":e.isInterestingProp=(r,n,o)=>["target","key","charCode","keyCode"].includes(o);break;case"MessageEvent":e.isInterestingProp=(r,n,o)=>["target","isTrusted","data"].includes(o);break;default:e.isInterestingProp=(r,n,o)=>Object.keys(e.object.preview.ownProperties).includes(o)}return ru(e)}function yoe(t){let e=t.object.preview,r=e.type;return e.eventKind=="key"&&e.modifiers&&e.modifiers.length&&(r=`${r} ${e.modifiers.join("-")}`),r}function boe(t){return t?.preview?.kind=="DOMEvent"}var voe=ae(RV);var Xv={};ve(Xv,{cleanFunctionName:()=>qv,getFunctionName:()=>DV,rep:()=>_oe,supportsObject:()=>Eoe});var Yv=T(Ce(),1),vi=T(Fe(),1);var Toe=["debugger eval code"];LV.propTypes={object:Yv.default.object.isRequired,onViewSourceInDebugger:Yv.default.func,shouldRenderTooltip:Yv.default.bool};function LV(t){let{object:e,onViewSourceInDebugger:r,recordTelemetryEvent:n,shouldRenderTooltip:o}=t,a;r&&e.location&&e.location.url&&!Toe.includes(e.location.url)&&(a=(0,vi.button)({className:"jump-definition",draggable:!1,title:"Jump to definition",onClick:async p=>{p.stopPropagation(),n&&n("jump_to_definition"),r(e.location)}}));let i={"data-link-actor-id":e.actor,className:"objectBox objectBox-function",dir:"ltr"},s=(e.parameterNames||[]).filter(Boolean),l=xoe(e,t),c=DV(e,t);if(e.isClassConstructor){let p=Soe(e,t),m=MV(s,!0,t),f=`${p?p.props.children:""}${c||""}${m.join("")}`;return i.title=o?f:null,(0,vi.span)(i,p,c,...MV(s,!1,t),a)}let d=`${l?l.props.children:""}${c||""}(${s.join(", ")})`;return i.title=o?d:null,(0,vi.span)(i,l,c,"(",...AV(s),")",a)}function Soe(){return(0,vi.span)({className:"objectTitle"},"class ")}function xoe(t,e){let{mode:r}=e;if(r===X.TINY&&!t.isGenerator&&!t.isAsync)return null;let n=r===X.TINY?"":"function ";return t.isGenerator&&(n=r===X.TINY?"* ":"function* "),t.isAsync&&(n=`async ${n}`),(0,vi.span)({className:"objectTitle"},n)}function DV(t,e={}){let{functionName:r}=e,n;if(r){let o=r.length-1;r=r.startsWith('"')&&r.endsWith('"')?r.substring(1,o):r}return t.displayName!=null&&r!=null&&t.displayName!=r?n=`${r}:${t.displayName}`:n=qv(t.userDisplayName||t.displayName||t.name||e.functionName||""),hi(n,100)}var woe=/([\w\d\$]+)$/,koe=/\[(.*?)\]$/,Ioe=/([\w\d]+)[\/\.<]*?$/,Coe=/([\w\d]+)\(\^\)$/;function qv(t){for(let e of[woe,koe,Ioe,Coe]){let r=e.exec(t);if(r)return r[1]}return t}function MV(t,e=!1,r){let{mode:n}=r;return n===X.TINY?[]:[" {",...Poe(e,t),"}"]}function Poe(t=!1,e){return e.length===0?[]:t?[` constructor(${e.join(", ")}) `]:[" constructor(",...AV(e),") "]}function AV(t){return t.flatMap((e,r,n)=>[(0,vi.span)({className:"param"},e),r===n.length-1?"":(0,vi.span)({className:"delimiter"},", ")])}function Eoe(t,e=!1){return Be(t,e)==="Function"}var _oe=ae(LV);var Jv={};ve(Jv,{rep:()=>Roe,supportsObject:()=>Noe});var ec=T(Ce(),1),iu=T(Fe(),1);FV.propTypes={object:ec.default.object.isRequired,mode:ec.default.oneOf(Object.values(X)),onDOMNodeMouseOver:ec.default.func,onDOMNodeMouseOut:ec.default.func,onInspectIconClick:ec.default.func,shouldRenderTooltip:ec.default.bool};function FV(t){let e=t.object;if(e.promiseState){let{state:o,value:a,reason:i}=e.promiseState,s=Object.create(null);s["<state>"]={value:o};let l=1;o=="fulfilled"?(s["<value>"]={value:a},++l):o=="rejected"&&(s["<reason>"]={value:i},++l),e.preview={kind:"Object",ownProperties:s,ownPropertiesLength:l}}if(t.mode!==X.TINY&&t.mode!==X.HEADER)return ru(t);let r=t.shouldRenderTooltip,n={"data-link-actor-id":e.actor,className:"objectBox objectBox-object",title:r?"Promise":null};return t.mode===X.HEADER?(0,iu.span)(n,OV(e)):(0,iu.span)(n,OV(e),(0,iu.span)({className:"objectLeftBrace"}," { "),t.Rep({object:e.preview.ownProperties["<state>"].value}),(0,iu.span)({className:"objectRightBrace"}," }"))}function OV(t){return(0,iu.span)({className:"objectTitle"},t.class)}function Noe(t,e=!1){return Ov(t,e)?Be(t,e)=="Promise":!1}var Roe=ae(FV);var Zv={};ve(Zv,{rep:()=>Doe,supportsObject:()=>Loe});var h_=T(Ce(),1),BV=T(Fe(),1);HV.propTypes={object:h_.default.object.isRequired,shouldRenderTooltip:h_.default.bool};function HV(t){let{object:e}=t,r=Moe(t);return(0,BV.span)(r,UV(e))}function Moe(t){let{object:e,shouldRenderTooltip:r}=t,n=UV(e);return{"data-link-actor-id":e.actor,className:"objectBox objectBox-regexp regexpSource",title:r?n:null}}function UV(t){let{displayString:e}=t;return e?.type==="longString"?`${e.initial}${Ea}`:e}function Loe(t,e=!1){return Be(t,e)=="RegExp"}var Doe=ae(HV);var eT={};ve(eT,{rep:()=>Hoe,supportsObject:()=>Boe});var g_=T(Ce(),1),Qv=T(Fe(),1);GV.propTypes={object:g_.default.object.isRequired,shouldRenderTooltip:g_.default.bool};function GV(t){let e=t.object,r=t.shouldRenderTooltip,n=Foe(e),o=Aoe({grip:e,shouldRenderTooltip:r,location:n});return(0,Qv.span)(o,Ooe(e),(0,Qv.span)({className:"objectPropValue"},n))}function Aoe(t){let{grip:e,shouldRenderTooltip:r,location:n}=t;return{"data-link-actor-id":e.actor,className:"objectBox objectBox-object",title:r?`${Be(e,!1)} ${n}`:null}}function Ooe(t){return(0,Qv.span)({className:"objectBoxTitle"},`${Be(t,!1)} `)}function Foe(t){let e=t.preview?t.preview.url:"";return e?Fs(e):""}function Boe(t,e=!1){return Be(t,e)=="CSSStyleSheet"}var Hoe=ae(GV);var rT={};ve(rT,{rep:()=>zoe,supportsObject:()=>$oe});var tT=T(Ce(),1),zV=T(Fe(),1);VV.propTypes={object:tT.default.object.isRequired,mode:tT.default.oneOf(Object.values(X)),shouldRenderTooltip:tT.default.bool};function VV(t){let{object:e,mode:r=X.SHORT,shouldRenderTooltip:n}=t,{textContent:o}=e.preview;r===X.TINY||r===X.HEADER?o=Wz(o,30):r===X.SHORT&&(o=hi(o,50));let a=Goe({object:e,textContent:o,shouldRenderTooltip:n});return(0,zV.span)(a,`<!-- ${o} -->`)}function Goe(t){let{object:e,shouldRenderTooltip:r}=t,n=r?hi(e.preview.textContent):null;return{className:"objectBox theme-comment","data-link-actor-id":e.actor,title:r?`<!-- ${n} -->`:null}}function $oe(t){return t?.preview?.nodeType===8}var zoe=ae(VV);var nT={};ve(nT,{MAX_ATTRIBUTE_LENGTH:()=>b_,rep:()=>Xoe,supportsObject:()=>qoe});var So=T(Fe(),1),Ra=T(Ce(),1);var b_=50;WV.propTypes={object:Ra.default.object.isRequired,inspectIconTitle:Ra.default.oneOf(["open-inspector","highlight-node"]),inspectIconClassName:Ra.default.string,mode:Ra.default.oneOf(Object.values(X)),onDOMNodeClick:Ra.default.func,onDOMNodeMouseOver:Ra.default.func,onDOMNodeMouseOut:Ra.default.func,onInspectIconClick:Ra.default.func,shouldRenderTooltip:Ra.default.bool};function WV(t){let{object:e,mode:r,shouldRenderTooltip:n}=t,{isAfterPseudoElement:o,isBeforePseudoElement:a,isMarkerPseudoElement:i}=e.preview,s=[],l=e.preview&&e.preview.isConnected===!0,c=y_({...t,isInTree:l}),d=Yoe({...t,isInTree:l});if(o||a||i){let u=Koe(e);if(n){let p=u.content;c=y_({...t,tooltipString:p,isInTree:l})}s=[(0,So.span)(u.config,u.content)]}else if(r===X.TINY){let u=joe(e);if(n){let m=u.reduce(function(f,h){return f.concat(h.content)},"");c=y_({...t,tooltipString:m,isInTree:l})}s=u.reduce(function(m,f){return m.push((0,So.span)(f.config,f.content)),m},[])}else s=Woe(t);return(0,So.span)(c,...s,d||null)}function y_(t){let{object:e,isInTree:r,onDOMNodeClick:n,onDOMNodeMouseOver:o,onDOMNodeMouseOut:a,shouldRenderTooltip:i,tooltipString:s}=t,l={"data-link-actor-id":e.actor,"data-link-content-dom-reference":JSON.stringify(e.contentDomReference),className:"objectBox objectBox-node"};return r&&(n&&Object.assign(l,{onClick:c=>n(e),className:`${l.className} clickable`}),o&&Object.assign(l,{onMouseOver:c=>o(e)}),a&&Object.assign(l,{onMouseOut:c=>a(e)})),s&&i&&(l.title=s),l}function Woe(t){let{object:e}=t,{attributes:r,nodeName:n}=e.preview,o=(0,So.span)({className:Pn("tag-name",n)},n),a=Object.keys(r);a.includes("class")&&(a.splice(a.indexOf("class"),1),a.unshift("class")),a.includes("id")&&(a.splice(a.indexOf("id"),1),a.unshift("id"));let i=a.reduce((s,l)=>{let c=r[l],d=yi(c)?c.initial:c;d.length<b_&&(d=null);let u=(0,So.span)({},(0,So.span)({className:Pn("attrName",l)},l),(0,So.span)({className:"attrEqual"},"="),Jn({className:"attrValue",object:c,cropLimit:b_,title:d}));return s.concat([" ",u])},[]);return[(0,So.span)({className:"angleBracket"},"<"),o,...i,(0,So.span)({className:"angleBracket"},">")]}function joe(t){let{attributes:e,nodeName:r}=t.preview,n=[{config:{className:Pn("tag-name",r)},content:r}];if(e.id&&n.push({config:{className:Pn("attrName",e.id)},content:`#${e.id}`}),e.class){let o=e.class.trim().split(/\s+/).map(a=>`.${a}`).join("");n.push({config:{className:Pn("attrName",o)},content:o})}return n}function Koe(t){let{isAfterPseudoElement:e,isBeforePseudoElement:r,isMarkerPseudoElement:n}=t.preview,o;return e?o="after":r?o="before":n&&(o="marker"),{config:{className:"attrName"},content:`::${o}`}}function Yoe(t){let{object:e,isInTree:r,onInspectIconClick:n,inspectIconTitle:o,inspectIconClassName:a,onDOMNodeClick:i}=t;return!r||!n?null:(0,So.button)({className:a||"open-inspector",title:o||"Click to select the node in the inspector",onClick:s=>{i&&s.stopPropagation(),n(e,s)}})}function qoe(t){return t?.preview?.nodeType===1}var Xoe=ae(WV);var oT={};ve(oT,{rep:()=>tae,supportsObject:()=>eae});var su=T(Fe(),1),tc=T(Ce(),1);KV.propTypes={object:tc.default.object.isRequired,mode:tc.default.oneOf(Object.values(X)),onDOMNodeMouseOver:tc.default.func,onDOMNodeMouseOut:tc.default.func,onInspectIconClick:tc.default.func,shouldRenderTooltip:tc.default.bool};function KV(t){let{object:e,mode:r=X.SHORT}=t,n=e.preview&&e.preview.isConnected===!0,o=Joe({...t,isInTree:n}),a=Qoe({...t,isInTree:n});return r===X.TINY||r===X.HEADER?(0,su.span)(o,jV(e),a):(0,su.span)(o,jV(e)," ",Jn({className:"nodeValue",object:e.preview.textContent}),a||null)}function Joe(t){let{object:e,isInTree:r,onDOMNodeMouseOver:n,onDOMNodeMouseOut:o,shouldRenderTooltip:a}=t,i=Zoe(e),s={"data-link-actor-id":e.actor,"data-link-content-dom-reference":JSON.stringify(e.contentDomReference),className:Pn("objectBox objectBox-textNode",i),title:a?`#text "${i}"`:null};return r&&(n&&Object.assign(s,{onMouseOver:l=>n(e)}),o&&Object.assign(s,{onMouseOut:l=>o(e)})),s}function Zoe(t){let e=t.preview.textContent;return hi(yi(e)?e.initial:e)}function Qoe(t){let{object:e,isInTree:r,onInspectIconClick:n}=t;return!r||!n?null:(0,su.button)({className:"open-inspector",draggable:!1,title:"Click to select the node in the inspector",onClick:o=>n(e,o)})}function jV(){return(0,su.span)({},"#text")}function eae(t){return t?.preview&&t?.class=="Text"}var tae=ae(KV);var aT={};ve(aT,{rep:()=>sae,supportsObject:()=>iae});var Cf=T(Ce(),1),Us=T(Fe(),1);var rae=["debugger eval code"];YV.propTypes={object:Cf.default.object.isRequired,mode:Cf.default.oneOf(Object.values(X)),renderStacktrace:Cf.default.func,shouldRenderTooltip:Cf.default.bool};function YV(t){let{object:e,mode:r,shouldRenderTooltip:n,depth:o}=t,a=e.preview,i=t.customFormat&&r!==X.TINY&&r!==X.HEADER&&!o,s=nae(t),l=r===X.TINY||r===X.HEADER?s:`${s}: `,c=[];if(i?c.push(l):c.push((0,Us.span)({className:"objectTitle",key:"title"},l)),r!==X.TINY&&r!==X.HEADER&&c.push(t.Rep({...t,key:"message",object:a.message,mode:t.mode||X.TINY,useQuotes:!1})),a.stack&&i){let p=t.renderStacktrace?t.renderStacktrace(qV(a.stack)):oae(t,a);c.push(p)}return i&&a.hasOwnProperty("cause")&&c.push(aae(t,a)),(0,Us.span)({"data-link-actor-id":e.actor,className:`objectBox-stackTrace ${i?"reps-custom-format":""}`,title:n?`${s}: "${a.message}"`:null},...c)}function nae(t){let{object:e}=t,r=e.preview,n;if(typeof r?.name=="string"&&r.kind)switch(r.kind){case"Error":n=r.name;break;case"DOMException":n=r.kind;break;default:throw new Error("Unknown preview kind for the Error rep.")}else n="Error";return n}function oae(t,e){let r=[];return e.stack?(qV(e.stack).forEach((n,o)=>{let a,{filename:i,lineNumber:s,columnNumber:l,functionName:c,location:d}=n;t.onViewSourceInDebugger&&!rae.includes(i)&&(a=u=>{u.stopPropagation(),t.onViewSourceInDebugger({url:i,line:s,column:l})}),r.push(" ",(0,Us.span)({key:`fn${o}`,className:"objectBox-stackTrace-fn"},qv(c))," ",(0,Us.span)({key:`location${o}`,className:"objectBox-stackTrace-location",onClick:a,title:a?`View source in debugger \u2192 ${d}`:void 0},d),`
|
|
138
|
+
`)}),(0,Us.span)({key:"stack",className:"objectBox-stackTrace-grid"},r)):r}function aae(t,e){return(0,Us.div)({key:"cause-container",className:"error-rep-cause"},"Caused by: ",t.Rep({...t,key:"cause",object:e.cause,mode:t.mode||X.TINY}))}function qV(t){if(!t)return[];let e=yi(t),r=e?t.initial:t;if(typeof r!="string")return[];let n=[];return r.split(`
|
|
139
|
+
`).forEach((o,a,i)=>{if(!o||e&&a===i.length-1)return;let s,l,c=o.indexOf("@");c>-1&&(s=o.slice(0,c),l=o.slice(c+1)),l&&l.includes(" -> ")&&(l=l.split(" -> ").pop()),s||(s="<anonymous>");let d=l?l.match(/^(.*):(\d+):(\d+)$/):null;if(l&&d){let[,u,p,m]=d;n.push({filename:u,functionName:s,location:l,columnNumber:Number(m),lineNumber:Number(p)})}}),n}function iae(t){return t?.isError||t?.class==="DOMException"||t?.class==="Exception"}var sae=ae(YV);var sT={};ve(sT,{rep:()=>cae,supportsObject:()=>lae});var iT=T(Ce(),1),lu=T(Fe(),1);ZV.propTypes={mode:iT.default.oneOf(Object.values(X)),object:iT.default.object.isRequired,shouldRenderTooltip:iT.default.bool};function ZV(t){let{mode:e,object:r}=t;if(e===X.TINY){let i=v_(r),s=v_(r,!0),l=JV(r),c=XV({...t,title:s,location:l});return(0,lu.span)(c,(0,lu.span)({className:i.className},i.content))}let n=v_(r,!0),o=JV(r),a=XV({...t,title:n,location:o});return(0,lu.span)(a,(0,lu.span)({className:n.className},n.content),(0,lu.span)({className:"location"},o))}function XV(t){let{object:e,shouldRenderTooltip:r,title:n,location:o}=t,a;return o?a=`${n.content}${o}`:a=`${n.content}`,{"data-link-actor-id":e.actor,className:"objectBox objectBox-Window",title:r?a:null}}function v_(t,e){let r=t.displayClass||t.class||"Window";return e===!0&&(r=`${r} `),{className:"objectTitle",content:r}}function JV(t){return Fs(t.preview.url)}function lae(t,e=!1){return t?.preview&&Be(t,e)=="Window"}var cae=ae(ZV);var cT={};ve(cT,{rep:()=>fae,supportsObject:()=>mae});var T_=T(Ce(),1),S_=T(Fe(),1);QV.propTypes={object:T_.default.object.isRequired,shouldRenderTooltip:T_.default.bool};function QV(t){let e=t.object,r=dae(t);return(0,S_.span)(r,uae(e),pae(e))}function dae(t){let e=t.shouldRenderTooltip,r=t.object;return{"data-link-actor-id":r.actor,className:`objectTitle objectBox objectBox-${lT(r)}`,title:e?`${lT(r)} "${r.preview.text}"`:null}}function uae(t){return(0,S_.span)({className:"objectTitle"},`${lT(t)} `)}function lT(t){return t.class}function pae(t){let e=lT(t);return Jn({object:t.preview.text,useQuotes:!e||!e.startsWith("Temporal")})}function mae(t){return t?.preview?.kind=="ObjectWithText"}var fae=ae(QV);var uT={};ve(uT,{rep:()=>bae,supportsObject:()=>yae});var x_=T(Ce(),1),dT=T(Fe(),1);eW.propTypes={object:x_.default.object.isRequired,shouldRenderTooltip:x_.default.bool};function eW(t){let e=t.object,r=hae(t);return(0,dT.span)(r,gae(e),(0,dT.span)({className:"objectPropValue"},tW(e)))}function hae(t){let e=t.object,r=t.shouldRenderTooltip,n=`${w_(e)} ${tW(e)}`;return{"data-link-actor-id":e.actor,className:`objectBox objectBox-${w_(e)}`,title:r?n:null}}function gae(t){return(0,dT.span)({className:"objectTitle"},`${w_(t)} `)}function w_(t){return t.class}function tW(t){return Fs(t.preview.url)}function yae(t){return t?.preview?.kind=="ObjectWithURL"}var bae=ae(eW);var pT={};ve(pT,{getLength:()=>Pf,maxLengthMap:()=>Ef,rep:()=>wae,supportsObject:()=>xae});var Gs=T(Ce(),1),En=T(Fe(),1);var k_="Array";nW.propTypes={object:Gs.default.object.isRequired,mode:Gs.default.oneOf(Object.values(X)),provider:Gs.default.object,onDOMNodeMouseOver:Gs.default.func,onDOMNodeMouseOut:Gs.default.func,onInspectIconClick:Gs.default.func,shouldRenderTooltip:Gs.default.bool};function nW(t){let{object:e,mode:r=X.SHORT,shouldRenderTooltip:n}=t,o,a=function(d){return d?{left:"[ ",right:" ]"}:{left:"[",right:"]"}},i={"data-link-actor-id":e.actor,className:"objectBox objectBox-array",title:n?"Array":null},s=vae(t,e);if(r===X.TINY){let d=Pf(e)===0;return!d&&e.class!=="Array"?(0,En.span)(i,s):(o=a(!1),(0,En.span)(i,s,(0,En.span)({className:"arrayLeftBracket"},o.left),d?null:Bs,(0,En.span)({className:"arrayRightBracket"},o.right)))}if(r===X.HEADER)return(0,En.span)(i,s);let l=Ef.get(r),c=Sae(t,e,l);return o=a(!!c.length),(0,En.span)(i,s,(0,En.span)({className:"arrayLeftBracket"},o.left),...qd(c,", "),(0,En.span)({className:"arrayRightBracket"},o.right),(0,En.span)({className:"arrayProperties",role:"group"}))}function Pf(t){return t.preview&&(t.preview.length||t.preview.childNodesLength)||0}function vae(t,e){let n=Pf(e)===0,o=t.title||e.class||k_,a=Qd({object:e,mode:t.mode,maxLengthMap:Ef,getLength:Pf});if(t.mode===X.TINY){if(n)return e.class===k_?null:(0,En.span)({className:"objectTitle"},`${o} `);let i;return e.class===k_&&(o=null,i=" "),(0,En.span)({className:"objectTitle"},o,a,i)}return t.mode===X.HEADER?(0,En.span)({className:"objectTitle"},o,a):(0,En.span)({className:"objectTitle"},o,a," ")}function Tae(t){return t.preview?t.preview.items||t.preview.childNodes||[]:null}function Sae(t,e,r){let n=[],o=Pf(e);if(!o)return n;let a=Tae(e),i=t.provider,s=0,l=0;n=a.reduce((d,u)=>{if(d.length>=r)return d;let p;try{if(!i&&u===null)return s++,d;p=i?i.getValue(u):u}catch(m){p=m}return s>0&&(d.push(rW(s)),l=l+s-1,s=0),d.length<r&&d.push(t.Rep({...t,object:p,mode:X.TINY,title:void 0})),d},[]),n.length<r&&s>0&&(n.push(rW(s)),l=l+s-1);let c=n.length+l;return o>c&&n.push(Bs),n}function rW(t){return`<${t} empty slot${t>1?"s":""}>`}function xae(t,e=!1){return t?.preview&&(t.preview.kind=="ArrayLike"||Be(t,e)==="DocumentFragment")}var Ef=new Map;Ef.set(X.SHORT,3);Ef.set(X.LONG,10);var wae=ae(nW);var mT={};ve(mT,{rep:()=>Iae,supportsObject:()=>kae});var cu=T(Ce(),1),oW=T(Fe(),1);aW.propTypes={object:cu.default.object,mode:cu.default.oneOf(Object.values(X)),onDOMNodeMouseOver:cu.default.func,onDOMNodeMouseOut:cu.default.func,onInspectIconClick:cu.default.func};function aW(t){let{object:e}=t,{key:r,value:n}=e.preview;return r&&r.getGrip&&(r=r.getGrip()),n&&n.getGrip&&(n=n.getGrip()),(0,oW.span)({className:"objectBox objectBox-map-entry"},_a({...t,name:r,object:n,equal:" \u2192 ",title:null,suppressQuotes:!1}))}function kae(t,e=!1){return e===!0?!1:t&&(t.type==="formDataEntry"||t.type==="highlightRegistryEntry"||t.type==="mapEntry"||t.type==="storageEntry"||t.type==="urlSearchParamsEntry")&&t.preview}var Iae=ae(aW);var fT={};ve(fT,{getLength:()=>_f,maxLengthMap:()=>Nf,rep:()=>Mae,supportsObject:()=>Rae});var Ti=T(Ce(),1),du=T(Fe(),1);sW.propTypes={object:Ti.default.object,mode:Ti.default.oneOf(Object.values(X)),isInterestingEntry:Ti.default.func,onDOMNodeMouseOver:Ti.default.func,onDOMNodeMouseOut:Ti.default.func,onInspectIconClick:Ti.default.func,title:Ti.default.string,shouldRenderTooltip:Ti.default.bool};function sW(t){let{mode:e,object:r,shouldRenderTooltip:n}=t,o={"data-link-actor-id":r.actor,className:"objectBox objectBox-object",title:n?Pae(r,t):null},a=Cae(t,r);if(_f(r)===0||e===X.TINY||e===X.HEADER)return(0,du.span)(o,a);let s=Eae(t,r,Nf.get(e));return(0,du.span)(o,a,(0,du.span)({className:"objectLeftBrace"}," { "),...qd(s,", "),(0,du.span)({className:"objectRightBrace"}," }"))}function Cae(t,e){let r=t.title||(e&&e.class?e.class:"Map");return(0,du.span)({className:"objectTitle"},r,Qd({object:e,mode:t.mode,maxLengthMap:Nf,getLength:_f,showZeroLength:!0}))}function Pae(t,e){return`${e.title||(t&&t.class?t.class:"Map")}(${_f(t)})`}function Eae(t,e,r){r=typeof r>"u"?3:r;try{return _ae(t,e,r)}catch(n){console.error(n)}return[]}function _ae(t,e,r){let n=t.isInterestingEntry||((s,l)=>s=="boolean"||s=="number"||s=="string"&&!!l.length),o=e.preview&&e.preview.entries?e.preview.entries:[],a=iW(o,r,n);a.length<r&&a.length<o.length&&(a=a.concat(iW(o,r-a.length,(s,l,c)=>!n(s,l,c))));let i=Nae(t,o,a);return i.length<_f(e)&&i.push(Bs),i}function Nae(t,e,r){let{onDOMNodeMouseOver:n,onDOMNodeMouseOut:o,onInspectIconClick:a}=t;return r.sort(function(i,s){return i-s}),r.map(i=>{let[s,l]=e[i],c=l.value!==void 0?l.value:l;return _a({...t,name:s&&s.getGrip?s.getGrip():s,equal:" \u2192 ",object:c&&c.getGrip?c.getGrip():c,mode:X.TINY,onDOMNodeMouseOver:n,onDOMNodeMouseOut:o,onInspectIconClick:a})})}function iW(t,e,r){return t.reduce((n,[o,a],i)=>{if(n.length<e){let s=a&&a.value!==void 0?a.value:a,l=(s&&s.class?s.class:typeof s).toLowerCase();r(l,s,o)&&n.push(i)}return n},[])}function _f(t){return t.preview.size||0}function Rae(t){return t?.preview?.kind=="MapLike"}var Nf=new Map;Nf.set(X.SHORT,3);Nf.set(X.LONG,10);var Mae=ae(sW);var yT={};ve(yT,{rep:()=>qae,supportsObject:()=>xW});var rc=T(Ce(),1),xo=T(SW(),1);var Yae=new Set(["span","div","ol","ul","li","table","tr","td"]),gT=class extends xo.Component{static get propTypes(){return{autoExpandDepth:rc.default.number,client:rc.default.object,createElement:rc.default.func,frame:rc.default.object,front:rc.default.object,object:rc.default.object.isRequired}}constructor(e){super(e),this.state={open:!1},this.toggleBody=this.toggleBody.bind(this)}componentDidThrow(e){console.error("Error in CustomFormatter",e),this.setState(r=>({...r,hasError:!0}))}async toggleBody(e){e.stopPropagation();let r=!this.state.open;if(r&&!this.state.bodyJsonMl){let n=this.props.front;if(!n&&this.props.client?.createObjectFront){let{loader:i}=ChromeUtils.importESModule("resource://devtools/shared/loader/Loader.sys.mjs");if(i.require("resource://devtools/shared/flags.js").testing&&!this.props.frame)throw new Error("props.frame is mandatory");n=this.props.client.createObjectFront(this.props.object,this.props.frame)}if(!n)return;let o=await n.customFormatterBody(),a=D_(o.customFormatterBody,{...this.props,autoExpandDepth:this.props.autoExpandDepth?this.props.autoExpandDepth-1:0,object:null});this.setState(i=>({...i,bodyJsonMl:a,open:r}))}else this.setState(n=>({...n,bodyJsonMl:null,open:r}))}render(){if(this.state&&this.state.hasError)return(0,xo.createElement)("span",{"data-link-actor-id":this.props.object.actor,className:"objectBox objectBox-failure",title:"This object could not be rendered, please file a bug on bugzilla.mozilla.org"},"Invalid custom formatter object");let e=D_(this.props.object.header,{...this.props,open:this.state?.open});return(0,xo.createElement)("span",{"data-link-actor-id":this.props.object.actor,className:"objectBox-jsonml-wrapper","data-expandable":this.props.object.hasBody,"aria-expanded":this.state.open,onClick:this.props.object.hasBody?this.toggleBody:null},e,this.state.bodyJsonMl?(0,xo.createElement)("div",{className:"objectBox-jsonml-body-wrapper"},this.state.bodyJsonMl):null)}};function D_(t,e,r=0){let[n,...o]=t??[];Yae.has(n)||(n="div");let a=o[0],i=Object(a)===a&&!Array.isArray(a),s=i&&a?.style&&e.createElement?Kz(a.style,e.createElement):null,l=o;i&&l.shift();let c=[];return e.object?.hasBody&&c.push((0,xo.createElement)("button",{"aria-expanded":e.open,className:`collapse-button jsonml-header-collapse-button${e.open?" expanded":""}`})),Array.isArray(l)?l.forEach((d,u)=>{let p;if(Array.isArray(d))p=D_(d,{...e,object:null},u);else if(typeof d=="object"&&d!==null){let m=(d.typeName=="obj"||d.typeName=="string")&&typeof d?.getGrip=="function"?d.getGrip():d;if(xW(m))p=(0,xo.createElement)(gT,{...e,object:m,front:d&&d.typeName?d:null});else{let f=browserLoaderRequire("resource://devtools/client/shared/components/object-inspector/index.js");p=(0,xo.createElement)(f.ObjectInspector,{...e,mode:e.mode==X.LONG?X.SHORT:X.TINY,roots:[{path:`${m?.actorID??m?.actor??null}`,contents:{value:m,front:d&&d.typeName?d:null}}]})}}else p=d;c.push(p)}):c.push(l),(0,xo.createElement)(n,{className:"objectBox objectBox-jsonml",key:`jsonml-${n}-${r}`,style:s},c)}function xW(t){return t?.useCustomFormatter===!0&&Array.isArray(t?.header)}var qae=(0,xo.createFactory)(gT);var wW=[Zv,eT,Kv,zv,rT,Hv,nT,oT,Gv,Xv,Jv,Wv,jv,sT,cT,uT,aT,pT,fT,mT,bi,hf,gf,yf,bf,$v,Mv,Lv,Dv,Bv],Xae=[yf,r_,bf,Nv,hf,gf,Rv],kW=function(t){let{object:e,defaultRep:r}=t;return IW(e,r,t.noGrip,t.mayUseCustomFormatter)({...t,Rep:kW})},Lf={Accessible:Hv,Accessor:Bv,ArrayRep:Nv,Attribute:Gv,BigInt:$v,CommentNode:rT,DateTime:zv,Document:Wv,DocumentType:jv,ElementNode:nT,ErrorRep:aT,Event:Kv,Func:Xv,Grip:bi,GripArray:pT,GripMap:fT,GripEntry:mT,InfinityRep:Lv,NaNRep:Dv,Null:gf,Number:bf,Obj:Rv,ObjectWithText:cT,ObjectWithURL:uT,PromiseRep:Jv,RegExp:Zv,Rep:kW,StringRep:yf,StyleSheet:eT,SymbolRep:Mv,TextNode:oT,Undefined:hf,WindowRep:sT};typeof Services=="object"&&Services?.prefs&&Services.prefs.getBoolPref("devtools.custom-formatters.enabled",!1)&&(wW.unshift(yT),Lf.CustomFormatter=yT);function IW(t,e=bi,r=!1,n=!1){let o=r?Xae:wW;for(let a of o)if(!(a===Lf.CustomFormatter&&!n))try{if(a.supportsObject(t,r))return a.rep}catch(i){console.error(i)}return e.rep}var bT=class{#t;#e;constructor(e,r=0){this.#t=new DataView(e),this.#e=r}setIndex(e){this.#e=e}getIndex(){return this.#e}peekUint8(){return this.#t.getUint8(this.#e)}readUint8(){let e=this.#t.getUint8(this.#e);return this.#e+=1,e}readUint16(){let e=this.#t.getUint16(this.#e,!0);return this.#e+=2,e}readUint32(){let e=this.#t.getUint32(this.#e,!0);return this.#e+=4,e}readInt8(){let e=this.#t.getInt8(this.#e);return this.#e+=1,e}readInt16(){let e=this.#t.getInt16(this.#e,!0);return this.#e+=2,e}readInt32(){let e=this.#t.getInt32(this.#e,!0);return this.#e+=4,e}readFloat64(){let e=this.#t.getFloat64(this.#e,!0);return this.#e+=8,e}readString(){let e=this.readUint16(),r=e&-49153,n=e>>14;if(r==0)return"";let o="";if(n==0)o=new TextDecoder("latin1").decode(this.#t.buffer.slice(this.#e,this.#e+r)),this.#e+=r;else if(n==2)o=new TextDecoder("utf-8").decode(this.#t.buffer.slice(this.#e,this.#e+r)),this.#e+=r;else if(n==1){let a=new TextDecoder("utf-16"),i=r*2;o=a.decode(this.#t.buffer.slice(this.#e,this.#e+i)),this.#e+=i}return o}};function Jae(t,e,r,n){let o=e.readUint32(),a=n[o];if(!a||a.length<=0)return;t.class=a[0];let i={};if(i.kind="ArrayLike",i.items=[],i.length=e.readUint32(),r<1)for(let s=0;s<i.length&&s<16;s++){if(e.peekUint8()===5){e.readUint8();continue}let l=Ma(e,r+1,n);i.items.push(l)}t.preview=i}function Zae(t,e){t.class="Function",t.name=e.readString(),t.parameterNames=[];let r=e.readUint32();for(let n=0;n<r&&n<16;n++)t.parameterNames.push(e.readString())}function Qae(t,e,r,n){let o=e.readUint32(),a=n[o];if(!a||a.length<=0)return;t.class=a[0];let i={};if(i.kind="MapLike",i.entries=[],i.size=e.readUint32(),r<1)for(let s=0;s<i.size&&s<16;s++){let l=Ma(e,r+1,n),c=Ma(e,r+1,n);i.entries.push([{configurable:!0,enumerable:!0,writable:!0,value:l},{configurable:!0,enumerable:!0,writable:!0,value:c}])}t.preview=i}function CW(t,e,r,n,o){let a=e.readUint32(),i=o[a];if(!i||i.length<=0)return;t.class=i[0];let s={};s.kind="Object";let l=!!(r&1),c={},d=e.readUint32();if(n<1)for(let u=1;u<i.length&&u<=16;u++){let p=e.peekUint8(),m=i[u],f={configurable:!0,enumerable:!0};if(p===15)e.readUint8(),f.get=Ma(e,n+1,o),f.set=Ma(e,n+1,o);else{let h=Ma(e,n+1,o);f.writable=!0,f.value=h}c[m]=f}if(l){let u=e.readUint32();if(n<1)for(let p=0;p<u&&p<16;p++){if(e.peekUint8()===5){e.readUint8();continue}d++;let m=Ma(e,n+1,o);c[p]={configurable:!0,enumerable:!0,writable:!0,value:m}}}s.ownProperties=c,s.ownPropertiesLength=d,t.preview=s}function A_(t,e,r){let n=e.readUint32(),o=r[n];!o||o.length<=0||(t.class=o[0])}function eie(t,e,r,n){let o={};o.kind="DOMNode",o.nodeType=e.readUint16(),o.nodeName=e.readString().toLowerCase();let a=e.readUint8(),i=a&-129;if(o.isConnected=a>>7,i===1){o.attributes={},o.attributesLength=e.readUint32();for(let s=0;s<o.attributesLength&&s<16;s++){let l=e.readString(),c=e.readString();o.attributes[l]=c}}else if(i===2)o.value=e.readString();else if(i===3)o.location=e.readString();else if(i===4){if(o.childNodesLength=e.readUint32(),r<1){o.childNodes=[];for(let s=0;s<o.childNodesLength&&s<16;s++)o.childNodes.push(Ma(e,r+1,n))}}else(i===5||i===6)&&(o.textContent=e.readString());t.preview=o}function tie(t,e,r,n){t.class="Error";let o={};o.kind="DOMException",o.name=e.readString(),o.message=e.readString(),o.code=e.readUint16(),o.result=e.readUint32(),o.lineNumber=e.readUint32(),o.columnNumber=e.readUint32(),o.stack=e.readString(),t.preview=o}function rie(t,e,r,n){A_(t,e,n);let o=e.getIndex(),a=e.readUint32();try{if(e.readUint8()!=1)return;let s=e.readUint8();if(s==0)return;switch(s){case 1:{eie(t,e,r,n);break}case 2:{tie(t,e,r,n);break}default:}}finally{e.setIndex(o+a)}}function nie(t,e,r,n){let o=e.readUint32(),a=n[o];if(!a||a.length<=0)return;let i={};t.type="object",t.class=a[0],t.isError=!0,i.kind="Error",i.name=e.readString(),i.message=e.readString(),i.stack=e.readString(),i.fileName=e.readString(),i.lineNumber=e.readUint32(),i.columnNumber=e.readUint32(),t.preview=i}function oie(t,e,r,n){let o={type:"object",class:void 0,ownPropertyLength:0,isError:!1,extensible:!1,sealed:!1,frozen:!1};switch(t.readUint8()){case 0:A_(o,t,n);break;case 1:Jae(o,t,r,n);break;case 2:Qae(o,t,r,n);break;case 3:Zae(o,t);break;case 7:rie(o,t,r,n);break;case 8:nie(o,t,r,n);break;case 4:{o.wrappedValue=Ma(t,r,n),CW(o,t,e,r,n);break}case 5:{CW(o,t,e,r,n);break}case 6:{A_(o,t,n),o.preview={kind:"Object",ownProperties:Object.create(null),ownPropertiesLength:0};break}default:throw new Error("Bad object kind")}return o}function Ma(t,e,r){let n=t.readUint8(),o=n&15,a=(n&240)>>4;switch(o){case 0:if(a==15){let i=t.readFloat64();return i===1/0?{type:"Infinity"}:i===-1/0?{type:"-Infinity"}:Number.isNaN(i)?{type:"NaN"}:!i&&1/i===-1/0?{type:"-0"}:i}return 0;case 1:return a===15?t.readInt32():a+-1;case 2:return!!a;case 4:return{type:"null"};case 3:return{type:"undefined"};case 7:return a&1?{type:"symbol"}:{type:"symbol",name:t.readString()};case 9:return{type:"BigInt",text:t.readString()};case 6:return t.readString();case 12:return oie(t,a,e,r);default:throw new Error("Bad value type")}}function aie(t){return new bT(t,0).readUint32()}function iie(t,e,r){if(r===-2)return[];if(r===-1)return"<missing>";let n=aie(t);if(n!=2)throw new Error(`Unexpected tracer arguments buffer format. Expected 2, received ${n}.`);let o=new bT(t,r),a=o.readUint32(),i=new Array(a);for(let s=0;s<a&&s<4;s++)i[s]=Ma(o,0,e);return i}var O_={getArgumentSummaries:iie};var Af=T(U());var Df=T(xe()),fe=T(E()),{Rep:sie}=Lf;function PW({additionalClassName:t,max:e,value:r,color:n,ariaLabel:o}){let a=r/e*100+"%",i=n?`var(--category-color-${n})`:"var(--blue-40)";return(0,fe.jsx)("div",{className:`tooltipCallNodeGraphMeter ${t}`,role:"meter","aria-label":o,"aria-valuemax":e,"aria-valuemin":0,"aria-valuenow":r,children:r>0?(0,fe.jsx)("div",{className:"tooltipCallNodeGraphMeterBar",style:{width:a,background:i}}):null})}function EW({isHeader:t,max:e,self:r,total:n,color:o,labelQualifier:a}){return(0,fe.jsxs)("div",{className:(0,Df.default)("tooltipCallNodeGraph",{tooltipCategoryRowHeader:t}),children:[(0,fe.jsx)(PW,{additionalClassName:"tooltipCallNodeGraphMeterTotal",max:e,value:n,color:o,ariaLabel:`Total samples ${a}`}),(0,fe.jsx)(PW,{additionalClassName:"tooltipCallNodeGraphMeterSelf",max:e,value:r,color:o,ariaLabel:`Self samples ${a}`})]})}var pu=class extends Af.PureComponent{_renderOneSubCategoryLine(e,r,n,o,a,i,s,l){let{categories:c,weightType:d}=this.props,u=c[r].color;return(0,fe.jsxs)(Af.Fragment,{children:[(0,fe.jsx)("div",{className:(0,Df.default)({tooltipCallNodeName:!0,tooltipLabel:!0,tooltipCategoryRowHeader:l}),children:e}),(0,fe.jsx)(EW,{self:o,total:a,max:i,labelQualifier:`for ${e}`,color:u,isHeader:l}),(0,fe.jsx)("div",{className:(0,Df.default)({tooltipCallNodeTiming:!0,tooltipCategoryRowHeader:l}),children:vl(d,s,a)}),(0,fe.jsx)("div",{className:(0,Df.default)({tooltipCallNodeTiming:!0,tooltipCategoryRowHeader:l}),children:o===0?"\u2014":vl(d,s,o)})]},`${r}-${n}`)}_maybeRenderOneCategoryGroup({selfTime:e,totalTime:r},n,o){if(r.breakdownByCategory===null)return null;let{entireCategoryValue:a,subcategoryBreakdown:i}=r.breakdownByCategory[n];if(a===0)return null;let{categories:s}=this.props,l=e.breakdownByCategory?e.breakdownByCategory[n].entireCategoryValue:0,c=[];if(pU(i)<=1){let p=i.findIndex(m=>m>0);return c.push(this._renderOneSubCategoryLine(wl(s,n,p),n,p,l,a,r.value,o,!0)),c}let d=s[n].name;c.push(this._renderOneSubCategoryLine(d,n,-1,l,a,r.value,o,!0));let u=p=>{let m=i[p];if(m===0)return;let f=e.breakdownByCategory?e.breakdownByCategory[n].subcategoryBreakdown[p]:0;c.push(this._renderOneSubCategoryLine(s[n].subcategories[p],n,p,f,m,r.value,o,!1))};for(let p=1;p<i.length;p++)u(p);return u(0),c}_renderCategoryTimings(e){if(!e)return null;let{totalTime:r,selfTime:n}=e.forPath,o=r.breakdownByCategory;if(!o)return null;let{thread:a,weightType:i}=this.props,s=!!a.isJsTracer;return(0,fe.jsxs)("div",{className:"tooltipCallNodeCategory",children:[(0,fe.jsx)("div",{}),(0,fe.jsx)("div",{className:"tooltipCallNodeHeader"}),(0,fe.jsxs)("div",{className:"tooltipCallNodeHeader",children:[(0,fe.jsx)("span",{className:"tooltipCallNodeHeaderSwatchRunning"}),"Running"]}),(0,fe.jsxs)("div",{className:"tooltipCallNodeHeader",children:[(0,fe.jsx)("span",{className:"tooltipCallNodeHeaderSwatchSelf"}),"Self"]}),(0,fe.jsx)("div",{className:"tooltipLabel tooltipCategoryLabel tooltipCategoryRowHeader",children:"Overall"}),(0,fe.jsx)(EW,{self:n.value,total:r.value,max:r.value,labelQualifier:"overall",isHeader:!0}),(0,fe.jsx)("div",{className:"tooltipCallNodeTiming tooltipCategoryRow tooltipCategoryRowHeader",children:vl(i,s,r.value)}),(0,fe.jsx)("div",{className:"tooltipCallNodeTiming tooltipCategoryRow tooltipCategoryRowHeader",children:n.value===0?"\u2014":vl(i,s,n.value)}),o.map((l,c)=>this._maybeRenderOneCategoryGroup({totalTime:r,selfTime:n},c,s))]})}render(){let{callNodeIndex:e,thread:r,durationText:n,categories:o,argumentValues:a,displayData:i,timings:s,callTreeSummaryStrategy:l,innerWindowIDToPageMap:c,callNodeInfo:d,displayStackType:u}=this.props,p=d.categoryForNode(e),m=o[p].color,f=d.subcategoryForNode(e),h=d.funcForNode(e),b=d.innerWindowIDForNode(e),g=r.funcTable.name[h],y=r.stringTable.getString(g),v=null,S=r.funcTable.source[h],{sources:x}=r;if(S!==null){let L=x.filename[S],F=r.stringTable.getString(L);F=ha(F).path;let R=r.funcTable.lineNumber[h];if(R!==null){F+=":"+R;let z=r.funcTable.columnNumber[h];z!==null&&(F+=":"+z)}v=[(0,fe.jsx)("div",{className:"tooltipLabel",children:"File:"},"file"),(0,fe.jsx)("div",{className:"tooltipDetailsUrl",children:F},"fileVal")]}let w=null,I=r.funcTable.resource[h];if(I!==-1){let L=r.resourceTable.name[I];w=[(0,fe.jsx)("div",{className:"tooltipLabel",children:"Resource:"},"resource"),r.stringTable.getString(L)]}let C=null;a&&(C=[(0,fe.jsx)("div",{className:"tooltipLabel",children:"Arguments:"},"arguments"),a.length===0?(0,fe.jsx)("div",{children:"\u2014"},"argumentsVal"):(0,fe.jsx)("div",{className:"tooltipArguments",children:a.map((L,F)=>(0,fe.jsx)(Af.Fragment,{children:sie({object:L,mode:X.LONG})},`arg-${F}`))},"argumentsVal")]);let k;if(c){let L=c.get(b);if(L)if(L.embedderInnerWindowID!==0){k=[(0,fe.jsx)("div",{className:"tooltipLabel",children:"iframe URL:"},"iframe"),(0,fe.jsx)("div",{className:"tooltipDetailsUrl",children:L.url},"iframeVal")];let F=c.get(L.embedderInnerWindowID);F&&k.push((0,fe.jsx)("div",{className:"tooltipLabel",children:"Page URL:"},"page"),(0,fe.jsxs)("div",{children:[F.url,F.isPrivateBrowsing?" (private)":null]},"pageVal"))}else k=[(0,fe.jsx)("div",{className:"tooltipLabel",children:"Page URL:"},"page"),(0,fe.jsxs)("div",{className:"tooltipDetailsUrl",children:[L.url,L.isPrivateBrowsing?" (private)":null]},"pageVal")]}let N=TH(r,h),O;switch(N){case"native":O="Native";break;case"js":O="Ruby";break;case"unsymbolicated":O=r.funcTable.isJS[h]?"Unsymbolicated native":"Unsymbolicated or generated JIT instructions";break;default:throw new Error(`Unknown stack type case "${N}".`)}return(0,fe.jsxs)("div",{className:"tooltipCallNode",children:[(0,fe.jsxs)("div",{className:"tooltipOneLine tooltipHeader",children:[(0,fe.jsx)("div",{className:"tooltipTiming",children:n}),(0,fe.jsx)("div",{className:"tooltipTitle",children:y}),(0,fe.jsx)("div",{className:"tooltipIcon",children:i&&i.icon?(0,fe.jsx)(Ps,{displayData:i}):null})]}),(0,fe.jsxs)("div",{className:"tooltipCallNodeDetails",children:[l!=="timing"&&i?(0,fe.jsxs)("div",{className:"tooltipDetails tooltipCallNodeDetailsLeft",children:[(0,fe.jsx)("div",{className:"tooltipLabel",children:"Total Bytes:"}),(0,fe.jsx)("div",{children:i.totalWithUnit}),(0,fe.jsx)("div",{className:"tooltipLabel",children:"Self Bytes:"}),(0,fe.jsx)("div",{children:i.selfWithUnit})]}):null,(0,fe.jsxs)("div",{className:"tooltipDetails tooltipCallNodeDetailsLeft",children:[u?(0,fe.jsxs)(fe.Fragment,{children:[(0,fe.jsx)("div",{className:"tooltipLabel",children:"Stack Type:"}),(0,fe.jsx)("div",{children:O})]}):null,(0,fe.jsx)("div",{className:"tooltipLabel",children:"Category:"}),(0,fe.jsxs)("div",{children:[(0,fe.jsx)("span",{className:`colored-square category-color-${m}`}),wl(o,p,f)]}),k,v,w,C]}),this._renderCategoryTimings(s)]})]})}};var KW=T(U()),YW=T(xe());var vT=T(U()),$s=!1,Of=new Set;if(typeof window<"u"){let t=n=>{n.altKey&&!$s&&($s=!0,Of.forEach(o=>o(!0)))},e=n=>{!n.altKey&&$s&&($s=!1,Of.forEach(o=>o(!1)))},r=()=>{$s&&($s=!1,Of.forEach(n=>n(!1)))};window.addEventListener("keydown",t),window.addEventListener("keyup",e),window.addEventListener("blur",r)}function _W(){let[t,e]=vT.useState($s);return vT.useEffect(()=>{e($s);let r=n=>{e(n)};return Of.add(r),()=>{Of.delete(r)}},[]),t}var Bf=T(U()),DW=T(xe());var NW=T(U()),mu=T(E());function re({label:t,children:e}){return e==null||e===""?null:(0,mu.jsxs)(NW.Fragment,{children:[(0,mu.jsxs)("div",{className:"tooltipLabel",children:[t,":"]}),e]})}function fu(){return(0,mu.jsx)("div",{className:"tooltipDetailSeparator"})}function hu({children:t}){return(0,mu.jsx)("div",{className:"tooltipDetails",children:t})}var TT=["domainLookupStart","domainLookupEnd","connectStart","tcpConnectEnd","secureConnectionStart","connectEnd"],F_=["startTime",...TT,"requestStart","responseStart","responseEnd","endTime"],B_=F_.slice();B_.splice(1,TT.length);function RW(t){if(typeof t!="number")return null;let e=null;return t<-10?e="Highest":t>=-10&&t<0?e="High":t===0?e="Normal":t<=10&&t>0?e="Low":t>10&&(e="Lowest"),e?e+"("+t+")":null}function MW(t){switch(t){case"STATUS_START":return"Waiting for response";case"STATUS_STOP":return"Response received";case"STATUS_REDIRECT":return"Redirecting request";case"STATUS_CANCEL":return"Request was canceled";default:throw Y(t)}}function LW(t){switch(t){case"h3":return"3";case"h2":return"2";case"http/1.0":return"1.0";case"http/1.1":return"1.1";default:throw Y(t,`Unknown received HTTP version ${t}`)}}function ST(t){return typeof t.connectEnd=="number"?{phase:"connectEnd",value:t.connectEnd}:typeof t.domainLookupEnd=="number"?{phase:"domainLookupEnd",value:t.domainLookupEnd}:null}function Ff(t,e){let r=[];for(let n of e)typeof t[n]=="number"&&r.push({phase:n,value:t[n]});return r}var $e=T(E()),lie={startTime:"Waiting for socket thread",domainLookupStart:"DNS request",domainLookupEnd:"After DNS request",connectStart:"TCP connection",tcpConnectEnd:"After TCP connection",secureConnectionStart:"Establishing TLS session",connectEnd:"Waiting for HTTP request",requestStart:"HTTP request and waiting for response",responseStart:"HTTP response",responseEnd:"Waiting for main thread",endTime:"End"},cie={startTime:0,domainLookupStart:.5,domainLookupEnd:.5,connectStart:.5,tcpConnectEnd:.5,secureConnectionStart:.5,connectEnd:.5,requestStart:.75,responseStart:1,responseEnd:0,endTime:0},xT=class extends Bf.PureComponent{render(){let{startPosition:e,dur:r,propertyName:n,phaseDuration:o}=this.props,a=e/r*100,i=Math.max(.3,o/r*100),s=cie[n];return(0,$e.jsxs)(Bf.Fragment,{children:[(0,$e.jsxs)("div",{className:"tooltipLabel",children:[lie[n],":"]}),(0,$e.jsx)("div",{"aria-label":`Starting at ${Se(e)} milliseconds, duration is ${Se(o)} milliseconds`,children:Ot(o)}),(0,$e.jsx)("div",{className:(0,DW.default)("tooltipNetworkPhase",{tooltipNetworkPhaseEmpty:s===0}),"aria-hidden":"true",style:{marginLeft:a+"%",marginRight:100-a-i+"%",opacity:s===0?void 0:s}})]})}},wT=class extends Bf.PureComponent{_renderPhases(e,r,n){if(e.length<2)return console.error("Only 1 preconnect property has been found, this should not happen."),null;let o=[];for(let a=1;a<e.length;a++){let{phase:i,value:s}=e[a-1],{value:l}=e[a],c=l-s,d=s-n;o.push((0,$e.jsx)(xT,{propertyName:i,startPosition:d,phaseDuration:c,dur:r},i))}return o}_renderPreconnectPhases(){let{payload:e,zeroAt:r}=this.props,n=e.domainLookupStart;if(typeof n!="number")return null;let o=ST(this.props.payload);if(o===null)return null;let a=o.value;if(!(a<e.startTime))return null;let s=Ff(e,TT),l=a-n,c=this._renderPhases(s,l,n);return(0,$e.jsxs)($e.Fragment,{children:[(0,$e.jsxs)("h3",{className:"tooltipNetworkTitle3",children:["Preconnect (starting at ",Ot(n-r),")"]}),c]})}render(){let{payload:e}=this.props,r=e.contentType||nm(e),n=om(r);if(e.status==="STATUS_START")return null;let o=this._renderPreconnectPhases(),a=Ff(e,o?B_:F_);if(a.length===0||a.length===1)return null;let i=e.endTime-e.startTime;if(a.length===2)return(0,$e.jsx)("div",{className:`tooltipNetworkPhases ${n}`,children:(0,$e.jsx)(xT,{propertyName:"responseStart",startPosition:0,phaseDuration:i,dur:i})});let s=this._renderPhases(a,i,e.startTime);return(0,$e.jsxs)("div",{className:`tooltipNetworkPhases ${n}`,children:[o?(0,$e.jsxs)($e.Fragment,{children:[o,(0,$e.jsx)("h3",{className:"tooltipNetworkTitle3",children:"Actual request"})]}):null,s]})}};function AW(t){let e=t.contentType,r="MIME type";e==null&&(e=nm(t),r="Guessed MIME type");let n=om(e),o=[];return o.push((0,$e.jsx)(re,{label:"Status",children:MW(t.status)},"Network-Status")),t.redirectType!==void 0&&o.push((0,$e.jsx)(re,{label:"Redirection type",children:t.redirectType+(t.isHttpToHttpsRedirect?" (HTTP to HTTPS)":"")},"Redirection-Type")),o.push((0,$e.jsx)(re,{label:"Cache",children:t.cache},"Network-Cache"),(0,$e.jsx)(re,{label:"URL",children:(0,$e.jsx)("span",{className:"tooltipDetailsUrl",children:t.URI})},"Network-URL")),t.RedirectURI&&o.push((0,$e.jsx)(re,{label:"Redirect URL",children:(0,$e.jsx)("span",{className:"tooltipDetailsUrl",children:t.RedirectURI})},"Network-Redirect URL")),o.push((0,$e.jsx)(re,{label:"Priority",children:RW(t.pri)},"Network-Priority")),t.priorityHeader&&o.push((0,$e.jsx)(re,{label:"Priority Header",children:t.priorityHeader},"Network-Priority-Header")),e&&o.push((0,$e.jsx)(re,{label:r,children:(0,$e.jsxs)("div",{className:"tooltipNetworkMimeType",children:[(0,$e.jsx)("span",{className:`tooltipNetworkMimeTypeSwatch colored-square ${n}`,title:e}),e]})},"Network-"+r)),t.isPrivateBrowsing&&o.push((0,$e.jsx)(re,{label:"Private Browsing",children:"Yes"},"Network-Private Browsing")),typeof t.count=="number"&&o.push((0,$e.jsx)(re,{label:"Requested bytes",children:Ue(t.count)},"Network-Requested Bytes")),t.httpVersion&&o.push((0,$e.jsx)(re,{label:"HTTP Version",children:LW(t.httpVersion)},"Network-HTTP Version")),t.classOfService&&o.push((0,$e.jsx)(re,{label:"Class of Service",children:t.classOfService},"Network-Class of Service")),t.requestStatus&&o.push((0,$e.jsx)(re,{label:"Request Status",children:t.requestStatus},"Network-Request Status")),t.responseStatus&&o.push((0,$e.jsx)(re,{label:"Response Status Code",children:t.responseStatus},"Network-Response Status")),o}var OW=T(U()),FW=T(xe());var _n=T(E()),gu=class extends OW.PureComponent{_handleStackFrameClick=e=>{e.preventDefault();let r=e.currentTarget.getAttribute("data-stackindex");this.props.onStackFrameClick(Number(r))};render(){let{stackIndex:e,thread:r,implementationFilter:n,maxStacks:o,categories:a,onStackFrameClick:i}=this.props,s=Fy(e,n,r);return s.length?(0,_n.jsxs)("ul",{className:"backtrace",children:[s.slice(0,o).map(({funcName:l,origin:c,isFrameLabel:d,category:u,inlineDepth:p,stackIndex:m},f)=>{let h=(0,_n.jsxs)(_n.Fragment,{children:[(0,_n.jsx)("span",{className:`colored-border category-color-${a[u].color}`,title:a[u].name}),p>0?(0,_n.jsx)(P,{id:"Backtrace--inlining-badge",vars:{function:Go(l)},attrs:{title:!0},children:(0,_n.jsx)("span",{className:"backtraceBadge inlined",title:"inlined",children:"(inlined)"})}):null,l,(0,_n.jsx)("em",{className:"backtraceStackFrameOrigin",children:c})]});return(0,_n.jsx)("li",{className:(0,FW.default)("backtraceStackFrame",{backtraceStackFrame_isFrameLabel:d}),children:i&&m!==null?(0,_n.jsx)("a",{href:"",className:"backtraceStackFrame_link","data-stackindex":m,onClick:this._handleStackFrameClick,children:h}):h},f)}),s.length>o?[(0,_n.jsx)("span",{className:"colored-border ellipsis"},s.length),"\u2026"]:null]}):(0,_n.jsx)("div",{className:"backtrace",children:"(The stack is empty because all of its frames are filtered out by the implementation filter. Switch the implementation filter in the call tree to see more frames.)"})}};var je=T(E());function BW(t){let e=[];if(t.nursery){let r=t.nursery;switch(r.status){case"complete":{e.push((0,je.jsx)(re,{label:"Reason",children:r.reason},"GCMinor-Reason"),(0,je.jsx)(re,{label:"Bytes tenured",children:cs(r.bytes_tenured,r.bytes_used,Ue)},"GCMinor-Bytes tenured")),r.cells_tenured&&r.cells_allocated_nursery&&e.push((0,je.jsx)(re,{label:"Cells tenured",children:cs(r.cells_tenured,r.cells_allocated_nursery,my)},"GCMinor-Cells tenured")),r.cur_capacity&&e.push((0,je.jsx)(re,{label:"Bytes used",children:cs(r.bytes_used,r.cur_capacity,Ue)},"GCMinor-Bytes used")),r.new_capacity&&e.push((0,je.jsx)(re,{label:"New nursery size",children:Ue(r.new_capacity)},"GCMinor-New nursery size")),r.lazy_capacity&&e.push((0,je.jsx)(re,{label:"Lazy-allocated size",children:Ue(r.lazy_capacity)},"GCMinor-Lazy-allocated size")),r.cells_allocated_nursery&&r.cells_allocated_tenured&&e.push((0,je.jsx)(re,{label:"Nursery allocations since last minor GC",children:cs(r.cells_allocated_nursery,r.cells_allocated_nursery+r.cells_allocated_tenured,my)},"GCMinor-Nursery allocations since last minor GC")),r.strings_tenured&&r.strings_deduplicated&&e.push((0,je.jsx)(re,{label:"Strings deduplicated when tenuring",children:cs(r.strings_deduplicated,r.strings_deduplicated+r.strings_tenured,my)},"GCMinor-strings_deduped")),r.tenured_allocation_rate&&e.push((0,je.jsx)(re,{label:"Tenured allocation rate",children:Ue(r.tenured_allocation_rate)+"/s"},"GCMinor-Tenured allocation rate")),r.chunk_alloc_us&&e.push((0,je.jsx)(re,{label:"Time spent allocating chunks in mutator",children:Oo(r.chunk_alloc_us)},"GCMinor-Time spent allocating chunks in mutator")),e.push(...GW(r.phase_times).filter(n=>n.time>250).map(H_));break}case"nursery disabled":e.push((0,je.jsx)(re,{label:"Status",children:"Nursery disabled"},"GCMinor-Status"));break;case"nursery empty":e.push((0,je.jsx)(re,{label:"Status",children:"Nursery empty"},"GCMinor-nursery empty"));break;default:}}return e}function HW(t){let e=[],r=t.timings;switch(r.status){case"aborted":e.push((0,je.jsx)(re,{label:"Status",children:"Aborted (OOM)"},"GMajor-Status"));break;case"completed":{let n=null;r.nonincremental_reason&&r.nonincremental_reason!=="None"&&(n=(0,je.jsx)(re,{label:"Non-incremental reason",children:r.nonincremental_reason},"GMajor-Non-incremental reason"));let o=WW(r.phase_times,6),a,i=r.post_heap_size;i!==void 0?a=(0,je.jsx)(re,{label:"GC heap size (pre - post)",children:Ue(r.allocated_bytes)+" - "+Ue(i)},"GMajor-GC heap size (pre - post)"):a=(0,je.jsx)(re,{label:"GC heap size (pre)",children:Ue(r.allocated_bytes)},"GMajor-GC heap size (pre)"),e.push(n,(0,je.jsx)(re,{label:"Reason",children:r.reason},"GCMajor-reason"),(0,je.jsx)(re,{label:"Total slice times",children:Ot(r.total_time,3,2)},"GMajor-Total slice times"),(0,je.jsx)(re,{label:"Max Pause",children:Ot(r.max_pause,3,2)},"GMajor-Make Pause"),a);let s=r.pre_malloc_heap_size,l=r.post_malloc_heap_size;s!==void 0&&l!==void 0&&e.push((0,je.jsx)(re,{label:"Malloc heap size (pre - post)",children:Ue(s)+" - "+Ue(l)},"GMajor-Malloc heap size (pre - post)")),e.push((0,je.jsx)(re,{label:"MMU 20ms",children:Kt(r.mmu_20ms)},"GMajor-MMU 20ms"),(0,je.jsx)(re,{label:"MMU 50ms",children:Kt(r.mmu_50ms)},"GMajor-MMU 50s"),(0,je.jsx)(re,{label:"Minor GCs",children:r.minor_gcs},"GMajor-Minor GCs"),(0,je.jsx)(re,{label:"Slices",children:r.slices},"GMajor-Slices"),(0,je.jsx)(re,{label:"Zones",children:cs(r.zones_collected,r.total_zones,String)},"GMajor-Zones"),(0,je.jsx)(re,{label:"Compartments",children:r.total_compartments},"GMajor-Compartments"),...o.map(H_));break}default:}return e}function UW(t){let e=[],r=t.timings,n=null;r.trigger_amount&&r.trigger_threshold&&(n=(0,je.jsx)(re,{label:"Trigger (amt/trig)",children:cs(r.trigger_amount,r.trigger_threshold,Ue,!1)},"GSlice-Trigger (amt/trig)"));let o=WW(r.phase_times,6);return e.push((0,je.jsx)(re,{label:"Reason",children:r.reason},"GSlice-Reason"),(0,je.jsx)(re,{label:"Budget",children:r.budget},"GSlice-Budget"),(0,je.jsx)(re,{label:"States (pre - post)",children:r.initial_state+" \u2013 "+r.final_state},"GSlice-States (pre - post)"),n,(0,je.jsx)(re,{label:"Page faults",children:r.page_faults},"GSlice-Page faults"),...o.map(H_)),e}function H_(t){return(0,je.jsx)(re,{label:"Phase "+t.name,children:Ot(t.time/1e3)},"GC Phase - "+t.name)}function GW(t){let e=[];for(let r in t)r!=="Total"&&e.push({name:r,time:t[r]});return e}function $W(t,e,r){let n=e.shift();if(n===void 0)return;let o={name:"(temp)",time:0},a=t.get(n);if(!a){let i={...o};a={branches:new Map,leaf:!1,value:i},t.set(n,a)}if(e.length>0)a.leaf=!1,$W(a.branches,e,r);else{if(a.value.name!==o.name){console.error(`Duplicate phase ${r.name} in _treeInsert in MarkerTooltipContents.js`);return}a.value=r,a.leaf=!0}}function zW(t){let e=[];for(let{branches:r,leaf:n,value:o}of t.values())n?e.push(o):e.push(...zW(r));return e}function VW(t,e){for(let r of t.values())e(r),VW(r.branches,e)}function WW(t,e){let r=GW(t),n=" (self-time)",o=new Map;for(let l of r){let c=l.name.split(".");$W(o,c,l)}VW(o,({leaf:l,branches:c,value:{time:d,name:u}})=>{if(!l){let p=d;for(let{value:f}of c.values())p-=f.time;let m={name:u+n,time:p};c.set(u,{branches:new Map,leaf:!0,value:m})}});let a=zW(o).sort((l,c)=>c.time-l.time).slice(0,e).filter(l=>l.time>0),i={},s=0;for(let{name:l}of r)i[l]=s++,i[l+n]=s++;return a.sort((l,c)=>i[l.name]-i[c.name])}var ge=T(E());function kT(t,e){return t!==void 0&&e!==void 0?Ot(e-t):"unknown"}var die=350,U_=class extends KW.PureComponent{_maybeRenderPageUrl=()=>{let{pages:e,innerWindowIDToPageMap:r,marker:n}=this.props;if(!(e&&r&&n.data&&"innerWindowID"in n.data&&n.data.innerWindowID))return null;let o=n.data.innerWindowID,a=r.get(o);if(a){let i=null;e.filter(s=>s.url===a.url).length>1&&(i=" (id: "+o+")");try{let{host:s}=new URL(a.url),l=a.url.indexOf(s);if(l===-1)throw new Error("Unable to find the host in the URL. This is a programming error.");let c=a.url.slice(0,l),d=a.url.slice(l+s.length);return(0,ge.jsx)(re,{label:"Page",children:(0,ge.jsxs)("div",{className:"tooltipDetailsUrl",children:[(0,ge.jsx)("span",{className:"tooltipDetailsDim",children:c}),s,(0,ge.jsx)("span",{className:"tooltipDetailsDim",children:d}),i,a.isPrivateBrowsing?" (private)":null]})})}catch{let l=a.url;return i&&(l+=i),a.isPrivateBrowsing&&(l+=" (private)"),(0,ge.jsx)(re,{label:"Page",children:l})}}return null};_renderThreadDetails(){let{marker:e,threadIdToNameMap:r}=this.props,n=e.data,o=e.threadId!==null?r.get(e.threadId):this.props.threadName;if(n&&"threadId"in n&&n.threadId!==void 0){let a=n.threadId,i=r.get(a);return[(0,ge.jsx)(re,{label:"Recording Thread",children:o},"recording"),i?(0,ge.jsx)(re,{label:"Occurring Thread",children:`${i} (TID: ${a})`},"occurring"):(0,ge.jsx)(re,{label:"Occurring Thread ID",children:a},"occurring")]}return[(0,ge.jsx)(re,{label:"Track",children:o},"thread")]}_renderMarkerDetails(){let{marker:e,markerSchemaByName:r,thread:n,threadIdToNameMap:o,processIdToNameMap:a}=this.props,i=e.data,s=[];if(i){let l=ti(r,e.data);if(l){if(l.description){let c=l.name+"-description";s.push((0,ge.jsx)(re,{label:"Description",children:(0,ge.jsx)("div",{className:"tooltipDetailsDescription",children:l.description})},c))}for(let c of l.fields){if(c.hidden)continue;let{key:d,label:u,format:p}=c,m=i[d];if(m==null)continue;let f=this.props.showKeys?d:u||d;s.push((0,ge.jsx)(re,{label:f,children:G_(l.name,p,m,n.stringTable,o,a)},l.name+"-"+d))}}switch(i.type){case"GCMinor":{s.push(...BW(i));break}case"GCMajor":{s.push(...HW(i));break}case"GCSlice":{s.push(...UW(i));break}case"Network":{s.push(...AW(i));break}case"IPC":{s.push((0,ge.jsx)(re,{label:"Send Thread Latency",children:kT(i.startTime,i.sendStartTime)},"IPC-Send Thread Latency"),(0,ge.jsx)(re,{label:"IPC Send Duration",children:kT(i.sendStartTime,i.sendEndTime)},"IPC-IPC Send Duration"),(0,ge.jsx)(re,{label:"IPC Recv Latency",children:kT(i.sendEndTime,i.recvEndTime)},"IPC-IPC Recv Latency"),(0,ge.jsx)(re,{label:"Recv Thread Latency",children:kT(i.recvEndTime,i.endTime)},"IPC-Recv Thread Latency"));break}case"CompositorScreenshot":{if(i.url!==void 0&&"windowWidth"in i&&"windowHeight"in i){let{width:c,height:d}=Oy(i,die);s.push((0,ge.jsx)(re,{label:"Image",children:(0,ge.jsx)("img",{className:"tooltipScreenshotImg",src:n.stringTable.getString(i.url),style:{width:c,height:d}})},"CompositorScreenshot-image"),(0,ge.jsx)(re,{label:"Window Size",children:(0,ge.jsxs)(ge.Fragment,{children:[i.windowWidth,"px \xD7 ",i.windowHeight,"px"]})},"CompositorScreenshot-window size"),(0,ge.jsx)(re,{label:"Description",children:"This marker spans the time between each composite of a window and shows the window contents during that time."},"CompositorScreenshot-description"),(0,ge.jsx)(re,{label:"Window ID",children:i.windowID},"CompositorScreenshot-window id"))}else e.name==="CompositorScreenshotWindowDestroyed"&&s.push((0,ge.jsx)(re,{label:"Description",children:"This marker shows the moment a window has been destroyed."},"CompositorScreenshot-description"),(0,ge.jsx)(re,{label:"Window ID",children:i.windowID},"CompositorScreenshot-window id"));break}default:}}return s}_maybeRenderMarkerDuration(){let{marker:e}=this.props;if(e.end===null)return null;let r=e.incomplete?"unknown duration":Yt(e.end-e.start,3,1);return(0,ge.jsx)("div",{className:"tooltipTiming",children:r})}_maybeRenderBacktrace(){let{marker:e,thread:r,implementationFilter:n,restrictHeightWidth:o,categories:a,onStackFrameClick:i}=this.props,{data:s,start:l}=e;if(!s||!("cause"in s)||!s.cause)return null;let{time:c,stack:d}=s.cause;if(d===null)return null;let u=c!==void 0?l-c:0;return[(0,ge.jsx)(fu,{},"backtrace-separator"),(0,ge.jsx)(re,{label:"Stack",children:(0,ge.jsxs)("div",{className:"tooltipDetailsBackTrace",children:[u>0?(0,ge.jsx)("h2",{className:"tooltipBackTraceTitle",children:s.type==="Styles"||e.name==="Reflow"?`First invalidated ${Yt(u)} before the flush, at:`:`Triggered ${Yt(u)} ago, at:`}):null,(0,ge.jsx)(gu,{maxStacks:o?20:1/0,stackIndex:d,thread:r,implementationFilter:n,categories:a,onStackFrameClick:i})]})},"backtrace")]}_maybeRenderNetworkPhases(){let{marker:{data:e},zeroAt:r}=this.props;return e&&e.type==="Network"?(0,ge.jsx)(wT,{payload:e,zeroAt:r}):null}_onFilterButtonClick=()=>{let{markerIndex:e,getMarkerSearchTerm:r,changeMarkersSearchString:n}=this.props,o=r(e);n(o)};render(){let{className:e,markerIndex:r,getMarkerLabel:n,getMarkerSearchTerm:o,hideFilterButton:a}=this.props,i=n(r),s=o(r);return(0,ge.jsxs)("div",{className:(0,YW.default)("tooltipMarker",e),children:[(0,ge.jsx)("div",{className:"tooltipHeader",children:(0,ge.jsxs)("div",{className:"tooltipOneLine",children:[this._maybeRenderMarkerDuration(),(0,ge.jsxs)("div",{className:"tooltipTitle",children:[(0,ge.jsx)("span",{className:"tooltipTitleText",children:i}),a?null:(0,ge.jsx)(P,{id:"MarkerTooltip--filter-button-tooltip",vars:{filter:s},attrs:{title:!0,"aria-label":!0},children:(0,ge.jsx)("button",{className:"tooltipTitleFilterButton",type:"button",title:`Only show markers matching: \u201C${s}\u201D`,"aria-label":`Only show markers matching: \u201C${s}\u201D`,onClick:this._onFilterButtonClick})})]})]})}),(0,ge.jsxs)(hu,{children:[this._renderMarkerDetails(),this._renderThreadDetails(),this._maybeRenderPageUrl(),this._maybeRenderBacktrace()]}),this._maybeRenderNetworkPhases()]})}},jW=/^http(s?):\/\//;function G_(t,e,r,n,o,a){if(r==null)return console.warn(`Formatting ${r} for ${JSON.stringify(t)}`),"(empty)";if(e!=="url"&&typeof e!="object"&&e!=="list")return ms(t,e,r,n,o,a);if(typeof e=="object")switch(e.type){case"table":{let{columns:i}=e;if(!(r instanceof Array))throw new Error("Expected an array for table type");let s=i.some(l=>l.label);return(0,ge.jsxs)("table",{className:"marker-table-value",children:[s?(0,ge.jsx)("thead",{children:(0,ge.jsx)("tr",{children:i.map((l,c)=>(0,ge.jsx)("th",{children:l.label||""},c))})}):null,(0,ge.jsx)("tbody",{children:r.map((l,c)=>{if(!(l instanceof Array))throw new Error("Expected an array for table row");if(l.length!==i.length)throw new Error(`Row ${c} length doesn't match column count (row: ${l.length}, cols: ${i.length})`);return(0,ge.jsx)("tr",{children:l.map((d,u)=>(0,ge.jsx)("td",{children:G_(t,i[u].type||"string",d,n,o,a)},u))},c)})})]})}default:throw new Error(`Unknown format type ${JSON.stringify(e)}`)}switch(e){case"list":if(!(r instanceof Array))throw new Error("Expected an array for list format");return(0,ge.jsx)("ul",{className:"marker-list-value",children:r.map((i,s)=>(0,ge.jsx)("li",{children:G_(t,"string",r[s],n)},s))});case"url":return jW.test(r)?(0,ge.jsx)("a",{href:r,target:"_blank",rel:"noreferrer",className:"marker-link-value",children:r.replace(jW,"")}):r;default:throw new Error(`Unknown format type ${JSON.stringify(e)}`)}}var uie=H({mapStateToProps:(t,e)=>{let r=dr(e.threadsKey);return{threadName:r.getFriendlyThreadName(t),thread:r.getThread(t),implementationFilter:kr(t),pages:kd(t),innerWindowIDToPageMap:Sn(t),zeroAt:Vr(t),threadIdToNameMap:gC(t),processIdToNameMap:yC(t),markerSchemaByName:It(t),getMarkerLabel:r.getMarkerTooltipLabelGetter(t),getMarkerSearchTerm:r.getMarkerSearchTermGetter(t),categories:Qe(t)}},mapDispatchToProps:{changeMarkersSearchString:qm},component:U_});function Nn(t){let e=_W();return(0,ge.jsx)(uie,{...t,showKeys:e})}var IT=T(E()),yu=16,pie=3,mie=11,fie=10,hie=.4,$_=class extends qW.PureComponent{_textMeasurement=null;_textMeasurementCssToDeviceScale=1;_sameWidthsIndexAtViewportStart=null;_sameWidthsRangeLength=null;componentDidUpdate(e){if(!this.props.viewport.isSizeSet)return;(!e.viewport.isSizeSet||this.props.scrollToSelectionGeneration>e.scrollToSelectionGeneration)&&this._scrollSelectionIntoView()}_scrollSelectionIntoView=()=>{let{selectedCallNodeIndex:e,callNodeInfo:r}=this.props;if(e===null)return;let o=r.depthForNode(e)*yu;o<this.props.viewport.viewportTop?this.props.viewport.moveViewport(0,this.props.viewport.viewportTop-o):o+yu>this.props.viewport.viewportBottom&&this.props.viewport.moveViewport(0,this.props.viewport.viewportBottom-(o+yu))};_drawCanvas=(e,r,n)=>{let{thread:o,rangeStart:a,rangeEnd:i,combinedTimingRows:s,sameWidthsIndexToTimestampMap:l,stackFrameHeight:c,selectedCallNodeIndex:d,categories:u,callNodeInfo:p,getMarker:m,marginLeft:f,useStackChartSameWidths:h,viewport:{containerWidth:b,containerHeight:g,viewportLeft:y,viewportRight:v,viewportTop:S,viewportBottom:x}}=this.props,{hoveredItem:w}=n,I=new Ts(e),{cssToDeviceScale:C,cssToUserScale:k}=r;if(C!==k)throw new Error("StackChartCanvasImpl sets scaleCtxToCssPixels={false}, so canvas user space units should be equal to device pixels.");e.font=`${fie*C}px sans-serif`,(!this._textMeasurement||this._textMeasurementCssToDeviceScale!==C)&&(this._textMeasurement=new Ls(e),this._textMeasurementCssToDeviceScale=C);let N=this._textMeasurement,O=b*C,L=g*C;I.set(Zl()),e.fillRect(0,0,O,L);let F=S*C,R=Math.floor(S/c),z=Math.ceil(x/c),Q=v-y,ie=i-a,me=ie*Q,M=b-f-15,G=M*C,B=me/M,A=a+ie*y,K=A-f*B,Z=a+ie*v,ne=Z+15*B;this._sameWidthsRangeLength=this._sameWidthsIndexAtViewportStart=null;let ue=null,Xe=null;if(h){let pe=Math.max(0,Ae(l,A)-1),he=Math.min(l.length-1,np(l,Z));this._sameWidthsIndexAtViewportStart=pe,this._sameWidthsRangeLength=he-pe,ue=pe-f/M*this._sameWidthsRangeLength,Xe=he+15/M*this._sameWidthsRangeLength}let st=pe=>C*(f+(pe-y)*M/Q),Me=yu*C,Ve=1*C,Ct=pie*C,q=mie*C,ee=u.findIndex(pe=>pe.name==="JavaScript");ee===-1&&(ee=0);let le=p.getCallNodeTable();for(let pe=R;pe<z;pe++){let he=s[pe];if(!he)continue;let Rt=0;for(let Je=0;Je<he.length;Je++){if(h&&"sameWidthsEnd"in he&&he.sameWidthsEnd&&ue!==null?he.sameWidthsEnd[Je]<ue:he.end[Je]<K)continue;if(h&&"sameWidthsStart"in he&&he.sameWidthsStart&&Xe!==null?he.sameWidthsStart[Je]>Xe:he.start[Je]>ne)break;let yr,cn;if(h&&"sameWidthsStart"in he&&"sameWidthsEnd"in he&&he.sameWidthsStart&&he.sameWidthsEnd&&this._sameWidthsRangeLength!==null&&this._sameWidthsIndexAtViewportStart!==null)yr=C*(f+M*(he.sameWidthsStart[Je]-this._sameWidthsIndexAtViewportStart)/this._sameWidthsRangeLength),cn=G*(he.sameWidthsEnd[Je]-he.sameWidthsStart[Je])/this._sameWidthsRangeLength-1;else{let to=(he.start[Je]-a)/ie,kh=(he.end[Je]-a)/ie;yr=st(to),cn=(kh-to)*G/Q-1}let eo=yr,dn=cn,br=!0;if(yr>=Rt?br=!1:yr+cn>Rt&&(dn=cn-(Rt-yr),eo=Rt,br=!1),br)continue;let An=Math.floor(eo),Po=Math.round(pe*Me-F),On=Math.ceil(Math.max(1,dn)),el=Math.round(Me-Ve),Tc,Sc,tl;if("callNode"in he&&he.callNode){let to=he.callNode[Je],kh=le.func[to],x7=o.funcTable.name[kh];Tc=o.stringTable.getString(x7);let w7=le.category[to];Sc=u[w7],tl=d===to}else if("index"in he){let to=he.index[Je];Tc=m(to).data.name,Sc=u[ee],tl=d===to}else Tc="Unknown",Sc=u[0],tl=!1;let wh=w&&pe===w.depth&&Je===w.stackTimingIndex,ep=_v(Sc.color);I.set(wh||tl?ep.getSelectedFillStyle():ep.getUnselectedFillStyle()),e.fillRect(An,Po,On+hie,el),Rt=An+On+1;let XL=Math.max(yr,0)+Ct,JL=Math.max(0,cn-(XL-yr));if(JL>N.minWidth){let to=N.getFittedText(Tc,JL);to&&(I.set(wh||tl?ep.getSelectedTextColor():Os()),e.fillText(to,XL,Po+q))}}}I.set(Cn(CT.GREY_30,CT.GREY_70)),e.fillRect(st(0),0,Ve,L),e.fillRect(st(1),0,Ve,L)};_getHoveredStackInfo=({depth:e,stackTimingIndex:r})=>{let{thread:n,weightType:o,threadsKey:a,combinedTimingRows:i,categories:s,callNodeInfo:l,getMarker:c,shouldDisplayTooltips:d,interval:u,innerWindowIDToPageMap:p,displayStackType:m}=this.props;if(!d())return null;let f=i[e];if(!f)return null;if("index"in f&&f.index){let S=f.index[r];return(0,IT.jsx)(Nn,{markerIndex:S,marker:c(S),threadsKey:a,restrictHeightWidth:!0})}if(!("callNode"in f)||!f.callNode)return null;let h=f.callNode[r];if(h===void 0)return null;let b=f.end[r]-f.start[r],{timelineUnit:g}=this.props,y=g==="bytes"?Ue(b):Ot(b),v;if(f.argumentValues){let S=f.argumentValues[r];if(S!==-1&&n.tracedValuesBuffer&&n.tracedObjectShapes){let x=O_.getArgumentSummaries(n.tracedValuesBuffer,n.tracedObjectShapes,S);typeof x!="string"&&(v=x)}}return(0,IT.jsx)(pu,{thread:n,weightType:o,innerWindowIDToPageMap:p,interval:u,callNodeIndex:h,callNodeInfo:l,categories:s,callTreeSummaryStrategy:"timing",durationText:y,displayStackType:m,argumentValues:v})};_onDoubleClickStack=e=>{if(!e)return;let r=this._getCallNodeIndexOrMarkerIndexFromHoveredItem(e);r&&r.type==="call-node"&&this.props.onDoubleClick(r.index)};_getCallNodeIndexOrMarkerIndexFromHoveredItem(e){if(e===null)return null;let{depth:r,stackTimingIndex:n}=e,{combinedTimingRows:o}=this.props,a=o[r];return"callNode"in a&&a.callNode?{index:a.callNode[n],type:"call-node"}:"index"in a&&a.index?{index:a.index[n],type:"marker"}:null}_onSelectItem=e=>{let r=this._getCallNodeIndexOrMarkerIndexFromHoveredItem(e);r||this.props.onSelectionChange(null),r&&r.type==="call-node"&&this.props.onSelectionChange(r.index)};_onRightClick=e=>{let r=this._getCallNodeIndexOrMarkerIndexFromHoveredItem(e);r&&r.type==="call-node"&&this.props.onRightClick(r.index)};_hitTest=(e,r)=>{let{rangeStart:n,rangeEnd:o,combinedTimingRows:a,marginLeft:i,viewport:{viewportLeft:s,viewportRight:l,viewportTop:c,containerWidth:d}}=this.props,u=d-i-15,p=o-n,m=l-s,f=s+m*((e-i)/u),h=n+f*p,b=Math.floor((r+c)/yu),g=a[b];if(!g)return null;for(let y=0;y<g.length;y++){let v=g.start[y],S=g.end[y];if(v<h&&S>h)return{depth:b,stackTimingIndex:y}}return null};_hitTestForSameWidths=(e,r)=>{let{combinedTimingRows:n,marginLeft:o,viewport:{containerWidth:a,viewportTop:i}}=this.props,s=Math.floor((r+i)/yu),l=n[s];if(!l)return null;if(!("sameWidthsStart"in l)||!("sameWidthsEnd"in l)||!l.sameWidthsStart||!l.sameWidthsEnd)return this._hitTest(e,r);if(this._sameWidthsRangeLength===null||this._sameWidthsIndexAtViewportStart===null)return console.warn("The local variables sameWidthsRangeLength or sameWidthsIndexAtViewportStart are null when they should be present."),null;let c=a-o-15,u=(e-o)/c*this._sameWidthsRangeLength+this._sameWidthsIndexAtViewportStart;for(let p=0;p<l.length;p++){let m=l.sameWidthsStart[p],f=l.sameWidthsEnd[p];if(m<u&&f>u)return{depth:s,stackTimingIndex:p}}return null};onMouseMove=e=>{let{changeMouseTimePosition:r,rangeStart:n,rangeEnd:o,marginLeft:a,viewport:{viewportLeft:i,viewportRight:s,containerWidth:l}}=this.props,c=l-a-15,d=o-n,u=s-i,p=i+u*((e.nativeEvent.offsetX-a)/c);if(p<0||p>1)r(null);else{let m=n+p*d;r(m)}};onMouseLeave=()=>{this.props.changeMouseTimePosition(null)};render(){let{containerWidth:e,containerHeight:r,isDragging:n}=this.props.viewport,{useStackChartSameWidths:o}=this.props;return(0,IT.jsx)(Pa,{scaleCtxToCssPixels:!1,className:"stackChartCanvas",containerWidth:e,containerHeight:r,isDragging:n,onDoubleClickItem:this._onDoubleClickStack,getHoveredItemInfo:this._getHoveredStackInfo,drawCanvas:this._drawCanvas,hitTest:o?this._hitTestForSameWidths:this._hitTest,onMouseMove:this.onMouseMove,onMouseLeave:this.onMouseLeave,onSelectItem:this._onSelectItem,onRightClick:this._onRightClick})}},XW=Rs($_);var JW=T(U());var QW=T(E()),z_=class extends JW.PureComponent{render(){let{thread:e,rangeFilteredThread:r,threadName:n}=this.props,o;return e.samples.length===0?o="This thread has no samples.":r.samples.length===0?o="Broaden the selected range to view samples.":o=we`
|
|
140
|
+
Try broadening the selected range, removing search terms, or call tree transforms
|
|
141
|
+
to view samples.
|
|
142
|
+
`,(0,QW.jsx)(Wr,{threadName:n,reason:o,viewName:"stack chart"})}},ZW=H({mapStateToProps:t=>({threadName:j.getFriendlyThreadName(t),thread:j.getThread(t),rangeFilteredThread:j.getRangeFilteredThread(t)}),component:z_});var xi=T(E()),e3=16,V_=class extends t3.PureComponent{_viewport=null;getMaximumZoom(){let{timeRange:{start:e,end:r},interval:n,thread:o}=this.props;return(o.jsTracer?.001:n)/(r-e)}_onSelectedCallNodeChange=e=>{let{callNodeInfo:r,threadsKey:n,changeSelectedCallNode:o}=this.props;o(n,r.getCallNodePathFromIndex(e))};_onRightClickedCallNodeChange=e=>{let{callNodeInfo:r,threadsKey:n,changeRightClickedCallNode:o}=this.props;o(n,r.getCallNodePathFromIndex(e))};_shouldDisplayTooltips=()=>this.props.rightClickedCallNodeIndex===null;_takeViewportRef=e=>{this._viewport=e};_focusViewport=()=>{this._viewport&&this._viewport.focus()};_handleKeyDown=e=>{let{threadsKey:r,thread:n,callNodeInfo:o,selectedCallNodeIndex:a,rightClickedCallNodeIndex:i,handleCallNodeTransformShortcut:s,updateBottomBoxContentsAndMaybeOpen:l}=this.props,c=i!==null?i:a;if(c!==null){if(e.key==="Enter"){let d=Fl(c,o,n,n.samples);l("stack-chart",d);return}s(e,r,c)}};_onDoubleClick=e=>{if(e===null)return;let{thread:r,callNodeInfo:n,updateBottomBoxContentsAndMaybeOpen:o}=this.props,a=Fl(e,n,r,r.samples);o("stack-chart",a)};_onCopy=e=>{if(document.activeElement===this._viewport){e.preventDefault();let{callNodeInfo:r,selectedCallNodeIndex:n,thread:o}=this.props;if(n!==null){let a=r.funcForNode(n),i=o.stringTable.getString(o.funcTable.name[a]);e.clipboardData&&e.clipboardData.setData("text/plain",i)}}};componentDidMount(){document.addEventListener("copy",this._onCopy,!1),this._focusViewport()}componentWillUnmount(){document.removeEventListener("copy",this._onCopy,!1)}render(){let{thread:e,threadsKey:r,combinedTimingRows:n,sameWidthsIndexToTimestampMap:o,timeRange:a,interval:i,previewSelection:s,changeMouseTimePosition:l,callNodeInfo:c,categories:d,selectedCallNodeIndex:u,scrollToSelectionGeneration:p,innerWindowIDToPageMap:m,getMarker:f,userTimings:h,weightType:b,displayStackType:g,hasFilteredCtssSamples:y,useStackChartSameWidths:v,timelineUnit:S}=this.props,x=n.length*e3;return(0,xi.jsxs)("div",{className:"stackChart",id:"stack-chart-tab",role:"tabpanel","aria-labelledby":"stack-chart-tab-button",children:[(0,xi.jsx)(zd,{hideInvertCallstack:!0}),(0,xi.jsx)(Wd,{}),!y&&h.length===0?(0,xi.jsx)(ZW,{}):(0,xi.jsx)(rr,{id:"CallNodeContextMenu",attributes:{className:"treeViewContextMenu"},children:(0,xi.jsx)("div",{className:"stackChartContent",onKeyDown:this._handleKeyDown,children:(0,xi.jsx)(XW,{viewportProps:{previewSelection:s,timeRange:a,maxViewportHeight:x,viewportNeedsUpdate:gie,marginLeft:150,marginRight:15,maximumZoom:this.getMaximumZoom(),containerRef:this._takeViewportRef},chartProps:{interval:i,thread:e,weightType:b,innerWindowIDToPageMap:m,threadsKey:r,combinedTimingRows:n,sameWidthsIndexToTimestampMap:o,getMarker:f,changeMouseTimePosition:l,rangeStart:a.start,rangeEnd:a.end,stackFrameHeight:e3,callNodeInfo:c,categories:d,selectedCallNodeIndex:u,onDoubleClick:this._onDoubleClick,onSelectionChange:this._onSelectedCallNodeChange,onRightClick:this._onRightClickedCallNodeChange,shouldDisplayTooltips:this._shouldDisplayTooltips,scrollToSelectionGeneration:p,marginLeft:150,displayStackType:g,useStackChartSameWidths:v,timelineUnit:S}})})})]})}},r3=H({mapStateToProps:t=>{let r=um(t)?j.getCombinedTimingRows(t):j.getStackTimingByDepth(t);return{thread:j.getFilteredThread(t),weightType:j.getSamplesWeightType(t),combinedTimingRows:r,sameWidthsIndexToTimestampMap:j.getSameWidthsIndexToTimestampMap(t),timeRange:de(t),interval:ot(t),previewSelection:mt(t),threadsKey:vt(t),callNodeInfo:j.getCallNodeInfo(t),categories:Qe(t),selectedCallNodeIndex:j.getSelectedCallNodeIndex(t),rightClickedCallNodeIndex:j.getRightClickedCallNodeIndex(t),scrollToSelectionGeneration:Wo(t),innerWindowIDToPageMap:Sn(t),getMarker:j.getMarkerGetter(t),userTimings:j.getUserTimingMarkerIndexes(t),displayStackType:ui(t),hasFilteredCtssSamples:j.getHasFilteredCtssSamples(t),useStackChartSameWidths:pm(t),timelineUnit:vn(t)}},mapDispatchToProps:{changeSelectedCallNode:jn,changeRightClickedCallNode:Ul,updatePreviewSelection:dt,handleCallNodeTransformShortcut:zl,updateBottomBoxContentsAndMaybeOpen:Kn,changeMouseTimePosition:mi},component:V_});function gie(t,e){return t.combinedTimingRows!==e.combinedTimingRows}var p3=T(U());var Or=T(Qo());var a3=T(U());var i3=T(Zr());var Re=T(Qo());function wo(t){switch(t){case"magenta":return Re.MAGENTA_50;case"purple":return Re.PURPLE_50;case"blue":return Re.BLUE_50;case"teal":return Re.TEAL_50;case"green":return Re.GREEN_50;case"yellow":return Re.YELLOW_50;case"red":return Re.RED_50;case"orange":return Re.ORANGE_50;case"grey":return Re.GREY_50;case"ink":return Re.INK_50;default:throw new Error("Unexpected track color: "+t)}}function La(t){return wo(t)+"88"}function Da(t){switch(t){case"magenta":return Re.MAGENTA_60;case"purple":return Re.PURPLE_60;case"blue":return Re.BLUE_60;case"teal":return Re.TEAL_60;case"green":return Re.GREEN_60;case"yellow":return Re.YELLOW_60;case"red":return Re.RED_60;case"orange":return Re.ORANGE_60;case"grey":return Re.GREY_60;case"ink":return Re.INK_60;default:throw new Error("Unexpected track color: "+t)}}function n3(t){return ff(t).getSelectedTextColor()}function o3(t){return["blue","green","grey","ink","magenta","orange","purple","red","teal","yellow"].includes(t)}var X_=T(E()),j_=11,K_=3,yie=.25,Y_=5,bie="#2c77d1",vie="#8ac4ff";function Tie(){return Cn(Or.GREY_20,Or.GREY_70)}function Sie(){return Cn(Or.GREY_20,Or.GREY_70)}function xie(){return Cn(Or.GREY_30,Or.GREY_60)}function wie(){return"rgba(40, 122, 169, 0.2)"}function kie(t){return Ev()?{fillColor:t?"hsl(208, 81%, 52%)":"hsl(208, 88%, 32%)",strokeColor:t?"hsl(208, 82%, 58%)":"hsl(208, 71%, 40%)",textColor:t?Or.GREY_90:Or.GREY_20}:{fillColor:t?Or.BLUE_60:vie,strokeColor:t?Or.BLUE_80:bie,textColor:t?"white":"black"}}var q_=class extends a3.PureComponent{_textMeasurement=null;componentDidUpdate(e){let r=!e.viewport.isSizeSet&&this.props.viewport.isSizeSet,n=this.props.viewport.isSizeSet&&this.props.viewport.containerHeight!==e.viewport.containerHeight,o=this.props.selectedMarkerIndex!==e.selectedMarkerIndex;(r||n||o)&&this._scrollSelectionIntoView()}_scrollSelectionIntoView=()=>{let{selectedMarkerIndex:e,markerTimingAndBuckets:r,rowHeight:n,viewport:o}=this.props;if(e===null)return;let i=this._getMarkerIndexToTimingRow(r)[e];if(i===void 0)return;let s=i*n,{viewportTop:l,viewportBottom:c}=o;if(s<l||s+n>c){let d=c-l,u=s+n/2-d/2;o.moveViewport(0,l-u)}};_getMarkerColors(e,r){let{getMarker:n,markerSchemaByName:o}=this.props,a=n(e),i=null,s=ti(o,a.data);if(s&&s.colorField&&a.data&&typeof a.data=="object"){let l=a.data[s.colorField];typeof l=="string"&&o3(l)&&(i=l)}return i?r?{fillColor:wo(i),strokeColor:Da(i),textColor:n3(i)}:{fillColor:La(i),strokeColor:wo(i),textColor:Os()}:kie(r)}drawCanvas=(e,r,n)=>{let{rowHeight:o,markerTimingAndBuckets:a,rightClickedMarkerIndex:i,viewport:{viewportTop:s,viewportBottom:l,containerWidth:c,containerHeight:d}}=this.props,{hoveredItem:u,prevHoveredItem:p,isHoveredOnlyDifferent:m}=n,{cssToUserScale:f}=r;if(f!==1)throw new Error("StackChartCanvasImpl sets scaleCtxToCssPixels={true}, so canvas user space units should be equal to CSS pixels.");let h=Math.floor(s/o),b=Math.min(Math.ceil(l/o),a.length),g=this._getMarkerIndexToTimingRow(a),y=i===null?void 0:g[i],v=u===null?void 0:g[u];if(e.lineWidth=1,m){let S=p===null?void 0:g[p];v!==void 0&&(this.clearRow(e,v),this.highlightRow(e,v),this.drawMarkers(e,u,v,v+1),this.drawSeparatorsAndLabels(e,v,v+1,!0)),S!==void 0&&S!==v&&(S!==y&&this.clearRow(e,S),this.drawMarkers(e,u,S,S+1),this.drawSeparatorsAndLabels(e,S,S+1))}else e.fillStyle=Zl(),e.fillRect(0,0,c,d),y!==void 0?this.highlightRow(e,y):v!==void 0&&this.highlightRow(e,v),this.drawMarkers(e,u,h,b),this.drawSeparatorsAndLabels(e,h,b)};highlightRow=(e,r)=>{let{rowHeight:n,viewport:{viewportTop:o,containerWidth:a}}=this.props;e.fillStyle=wie(),e.fillRect(0,r*n-o,a,n-1)};_getMarkerIndexToTimingRow=(0,i3.default)(e=>{let r=new Uint32Array(this.props.markerListLength);for(let n=0;n<e.length;n++){let o=e[n];if(typeof o!="string")for(let a=0;a<o.length;a++)r[o.index[a]]=n}return r},{cache:new WeakMap});drawOneMarker(e,r,n,o,a,i,s,l=!1){i?this.drawOneInstantMarker(e,r,n,a,s,l):this.drawOneIntervalMarker(e,r,n,o,a,s,l)}drawOneIntervalMarker(e,r,n,o,a,i,s){let{marginLeft:l,getMarkerLabel:c}=this.props,{fillColor:d,strokeColor:u,textColor:p}=this._getMarkerColors(i,s);if(o<=2)e.fillStyle=u,o=Math.max(o,1),e.fillRect(r,n+1,o,a-2);else{let m=this._getTextMeasurement(e);e.fillStyle=d,e.strokeStyle=u,e.beginPath(),e.rect(r+.5,n+1+.5,o-1,a-2-1),e.fill(),e.stroke();let f=r<l?l+K_:r+K_,b=(r<l?o-l+r:o)-2*K_;if(b>m.minWidth){let g=m.getFittedText(c(i),b);g&&(e.fillStyle=p,e.fillText(g,f,n+j_))}}}drawOneInstantMarker(e,r,n,o,a,i){let{fillColor:s,strokeColor:l}=this._getMarkerColors(a,i);e.fillStyle=s,e.strokeStyle=l,e.beginPath(),e.moveTo(r-o/4,n+o/2),e.lineTo(r,n+1.5),e.lineTo(r+o/4,n+o/2),e.lineTo(r,n+o-1.5),e.closePath(),e.fill(),e.stroke()}drawMarkers(e,r,n,o){let{rangeStart:a,rangeEnd:i,markerTimingAndBuckets:s,rowHeight:l,marginLeft:c,marginRight:d,rightClickedMarkerIndex:u,selectedMarkerIndex:p,viewport:{containerWidth:m,containerHeight:f,viewportLeft:h,viewportRight:b,viewportTop:g}}=this.props,{devicePixelRatio:y}=window,v=m-c-d,S=i-a,x=b-h,w=a+S*h,I=a+S*b+d*(x*S/v),C=[];e.save(),e.beginPath(),e.rect(c,0,v,f),e.clip();for(let k=n;k<o;k++){let N=s[k];if(!N||typeof N=="string")continue;let O=null;for(let L=0;L<N.length;L++){let F=N.start[L],R=N.end[L],z=F===R;if(R>=w&&F<I){let Q=(F-a)/S,ie=(R-a)/S,me=(Q-h)*v/x+c,M=k*l-g,G=(ie-Q)*v/x,B=l-1;me=Math.round(me*y)/y,G=Math.round(G*y)/y;let A=N.index[L];u===A||r===A||p===A?C.push({x:me,y:M,w:G,h:B,isInstantMarker:z,markerIndex:A}):(G>1||me!==O)&&(O=me,this.drawOneMarker(e,me,M,G,B,z,A))}}}C.forEach(k=>{this.drawOneMarker(e,k.x,k.y,k.w,k.h,k.isInstantMarker,k.markerIndex,!0)}),e.restore()}clearRow(e,r){let{rowHeight:n,viewport:{viewportTop:o,containerWidth:a}}=this.props;e.fillStyle=Zl(),e.fillRect(0,r*n-o,a,n-1)}_getTextMeasurement(e){return this._textMeasurement||(this._textMeasurement=new Ls(e)),this._textMeasurement}countMarkersInBucketStartingAtRow(e){let{rangeStart:r,rangeEnd:n,markerTimingAndBuckets:o,marginLeft:a,marginRight:i,viewport:{containerWidth:s,viewportLeft:l,viewportRight:c}}=this.props,d=s-a-i,u=n-r,p=c-l,m=r+u*l,f=r+u*c+i*(p*u/d),h=o[e];if(typeof h=="string")return 0;let{name:b}=h;function g(v){let S=0;for(let x=0;x<v.length;x++)v.end[x]>=m&&v.start[x]<f&&++S;return S}let y=g(h);for(let v=e+1;v<o.length;++v){let S=o[v];if(typeof S=="string"||S.name!==b)break;y+=g(S)}return y}drawSeparatorsAndLabels(e,r,n,o=!1){let{markerTimingAndBuckets:a,rowHeight:i,marginLeft:s,marginRight:l,viewport:{viewportTop:c,containerWidth:d,containerHeight:u}}=this.props,p=d-l;e.fillStyle=Tie(),e.fillRect(s-1,0,1,u);for(let f=r;f<n;f++){let h=(f+1)*i-c-1;e.fillRect(0,h,p,1)}let m=this._getTextMeasurement(e);e.fillStyle=Os();for(let f=r;f<n;f++){let h=a[f];if(typeof h=="string")continue;let{name:b}=h,g=a[f-1];if(f>0&&typeof g!="string"&&b===g.name)continue;let y=f*i-c,v=o?` (${this.countMarkersInBucketStartingAtRow(f)})`:"",S=m.getFittedText(b,150-Y_-(v?m.getTextWidth(v):0))+v;e.fillText(S,Y_,y+j_)}for(let f=r;f<n;f++){let h=a[f];if(typeof h!="string")continue;let b=f*i-c;e.fillStyle=Sie(),e.fillRect(0,b-1,p,i),e.fillStyle=xie(),e.fillRect(0,b-1,p,1),e.fillRect(0,b+i-1,p,1),e.fillStyle=Os(),e.fillText(h,Y_+s,b+j_)}}hitTest=(e,r)=>{let{rangeStart:n,rangeEnd:o,markerTimingAndBuckets:a,rowHeight:i,marginLeft:s,marginRight:l,viewport:{viewportLeft:c,viewportRight:d,viewportTop:u,containerWidth:p}}=this.props,m=yie*i;if(e<s-m)return null;let f=null,h=p-s-l,b=o-n,g=d-c,y=c+g*((e-s)/h),v=m/h*g*b,S=n+y*b,x=Math.floor((r+u)/i),w=a[x];if(!w||typeof w=="string"||!w.length)return null;let I=k=>w.start[k]<S+v&&w.end[k]>S-v,C=Ae(w.start,S);if(C>0&&C<w.length){let k=C-1,N=w.start[C]-S,L=S-w.end[k]<N?k:C;I(L)&&(f=w.index[L])}else C===0?I(C)&&(f=w.index[C]):I(C-1)&&(f=w.index[C-1]);return f};onMouseMove=e=>{let{changeMouseTimePosition:r,rangeStart:n,rangeEnd:o,marginLeft:a,marginRight:i,viewport:{viewportLeft:s,viewportRight:l,containerWidth:c}}=this.props,d=l-s,u=c-a-i,p=s+d*((e.nativeEvent.offsetX-a)/u);if(p<0||p>1)r(null);else{let m=o-n,f=n+p*m;r(f)}};onMouseLeave=()=>{this.props.changeMouseTimePosition(null)};onDoubleClickMarker=e=>{if(e===null)return;let{getMarker:r,updatePreviewSelection:n,rangeStart:o,rangeEnd:a}=this.props,i=r(e),{start:s,end:l}=Tb(o,a,i);n({isModifying:!1,selectionStart:s,selectionEnd:l})};onSelectItem=e=>{let{changeSelectedMarker:r,threadsKey:n}=this.props;r(n,e,{source:"pointer"})};onRightClickMarker=e=>{let{changeRightClickedMarker:r,threadsKey:n}=this.props;r(n,e)};_onStackFrameClick=e=>{let{thread:r,selectedTab:n,updateBottomBoxContentsAndMaybeOpen:o}=this.props,a=xb(e,r);o(n,a)};isMarkerVisible=e=>{let{markerTimingAndBuckets:r}=this.props;for(let n of r)if(typeof n!="string"&&n.index.includes(e))return!0;return!1};getHoveredMarkerInfo=e=>{if(!this.props.shouldDisplayTooltips()||e===null||!this.isMarkerVisible(e))return null;let r=this.props.getMarker(e);return(0,X_.jsx)(Nn,{markerIndex:e,marker:r,threadsKey:this.props.threadsKey,restrictHeightWidth:!0,onStackFrameClick:this._onStackFrameClick})};_getSelectedItemTooltipOffset(){let{selectedMarkerIndex:e}=this.props;if(e===null)return null;let{rangeStart:r,rangeEnd:n,markerTimingAndBuckets:o,rowHeight:a,marginLeft:i,marginRight:s,viewport:{containerWidth:l,containerHeight:c,viewportLeft:d,viewportRight:u,viewportTop:p}}=this.props,f=this._getMarkerIndexToTimingRow(o)[e],h=o[f];if(!h||typeof h=="string")return null;let b=-1;for(let F=0;F<h.length;F++)if(h.index[F]===e){b=F;break}if(b===-1)return null;let g=h.start[b],y=h.end[b],v=l-i-s,S=n-r,x=u-d,w=(g-r)/S,I=(y-r)/S,C=(w-d)*v/x+i,k=(I-w)*v/x,O=g===y?C:C+Math.min(k/3,30),L=f*a-p+5;return L<0||L>c?null:{offsetX:O,offsetY:L}}render(){let{containerWidth:e,containerHeight:r,isDragging:n}=this.props.viewport,{selectedMarkerIndex:o}=this.props;return(0,X_.jsx)(Pa,{className:"markerChartCanvas",containerWidth:e,containerHeight:r,isDragging:n,scaleCtxToCssPixels:!0,onSelectItem:this.onSelectItem,onDoubleClickItem:this.onDoubleClickMarker,onRightClick:this.onRightClickMarker,getHoveredItemInfo:this.getHoveredMarkerInfo,drawCanvas:this.drawCanvas,hitTest:this.hitTest,onMouseMove:this.onMouseMove,onMouseLeave:this.onMouseLeave,stickyTooltips:!0,selectedItem:o,selectedItemTooltipOffset:this._getSelectedItemTooltipOffset()})}},s3=Rs(q_);var l3=T(U());var d3=T(E()),J_=class extends l3.PureComponent{render(){let{isMarkerChartEmptyInFullRange:e,threadName:r}=this.props;return(0,d3.jsx)(Wr,{threadName:r,reason:e?"This thread contains no markers for this chart.":"All markers were filtered out by the current selection or search term.",viewName:"marker chart"})}},c3=H({mapStateToProps:t=>({threadName:j.getFriendlyThreadName(t),isMarkerChartEmptyInFullRange:j.getAreMarkerPanelsEmptyInFullRange(t)}),component:J_});var nc=T(E()),u3=16,Z_=class extends p3.PureComponent{_viewport=null;getMaximumZoom(){let{timeRange:{start:e,end:r}}=this.props;return 1e-6/(r-e)}_shouldDisplayTooltips=()=>this.props.rightClickedMarkerIndex===null;_takeViewportRef=e=>{this._viewport=e};_focusViewport=()=>{this._viewport&&this._viewport.focus()};componentDidMount(){this._focusViewport()}render(){let{maxMarkerRows:e,markerListLength:r,timeRange:n,threadsKey:o,markerTimingAndBuckets:a,getMarker:i,getMarkerLabel:s,markerSchemaByName:l,previewSelection:c,updatePreviewSelection:d,changeMouseTimePosition:u,changeRightClickedMarker:p,rightClickedMarkerIndex:m,selectedMarkerIndex:f,changeSelectedMarker:h}=this.props,b=e*u3;return(0,nc.jsxs)("div",{className:"markerChart",id:"marker-chart-tab",role:"tabpanel","aria-labelledby":"marker-chart-tab-button",children:[(0,nc.jsx)(kv,{}),e===0?(0,nc.jsx)(c3,{}):(0,nc.jsx)(rr,{id:"MarkerContextMenu",attributes:{className:"treeViewContextMenu"},children:(0,nc.jsx)(s3,{viewportProps:{timeRange:n,previewSelection:c,maxViewportHeight:b,viewportNeedsUpdate:Iie,maximumZoom:this.getMaximumZoom(),marginLeft:150,marginRight:15,containerRef:this._takeViewportRef},chartProps:{markerTimingAndBuckets:a,getMarker:i,getMarkerLabel:s,markerSchemaByName:l,markerListLength:r,updatePreviewSelection:d,changeMouseTimePosition:u,changeRightClickedMarker:p,rangeStart:n.start,rangeEnd:n.end,rowHeight:u3,threadsKey:o,marginLeft:150,marginRight:15,changeSelectedMarker:h,selectedMarkerIndex:f,rightClickedMarkerIndex:m,shouldDisplayTooltips:this._shouldDisplayTooltips,thread:this.props.thread,updateBottomBoxContentsAndMaybeOpen:this.props.updateBottomBoxContentsAndMaybeOpen,selectedTab:this.props.selectedTab}},o)})]})}};function Iie(t,e){return t.markerTimingAndBuckets!==e.markerTimingAndBuckets}var m3=H({mapStateToProps:t=>{let e=j.getMarkerChartTimingAndBuckets(t);return{getMarker:j.getMarkerGetter(t),getMarkerLabel:j.getMarkerChartLabelGetter(t),markerSchemaByName:It(t),markerTimingAndBuckets:e,maxMarkerRows:e.length,markerListLength:j.getMarkerListLength(t),timeRange:de(t),threadsKey:vt(t),previewSelection:mt(t),rightClickedMarkerIndex:j.getRightClickedMarkerIndex(t),selectedMarkerIndex:j.getSelectedMarkerIndex(t),thread:j.getThread(t),selectedTab:Oe(t)}},mapDispatchToProps:{updatePreviewSelection:dt,changeMouseTimePosition:mi,changeRightClickedMarker:tn,changeSelectedMarker:jm,updateBottomBoxContentsAndMaybeOpen:Kn},component:Z_});var ET=T(U()),I3=T(Zr());var f3=T(U());var bu=T(E()),Q_=class extends f3.PureComponent{_onSearch=e=>{this.props.changeNetworkSearchString(e)};render(){let{searchString:e}=this.props;return(0,bu.jsxs)("div",{className:"networkSettings",children:[(0,bu.jsx)("div",{className:"networkSettingsSpacer"}),(0,bu.jsx)(P,{id:"NetworkSettings--panel-search",attrs:{label:!0,title:!0},children:(0,bu.jsx)(Es,{className:"networkSettingsSearchField",label:"Filter Networks:",title:"Only display network requests that match a certain name",currentSearchString:e,onSearch:this._onSearch})})]})}},h3=H({mapStateToProps:t=>({searchString:Ky(t)}),mapDispatchToProps:{changeNetworkSearchString:JP},component:Q_});var g3=T(U()),y3=T(ls());var b3=T(E());function He(t){return class extends g3.PureComponent{state={width:0,height:0};_container=null;componentDidMount(){let r=(0,y3.findDOMNode)(this);if(!r)throw new Error("Unable to find the DOMNode");this._container=r,fi().subscribe(r,this._resizeListener)}_resizeListener=r=>{let n=this._container;n&&this._updateSize(n,r)};componentWillUnmount(){let r=this._container;r&&fi().unsubscribe(r,this._resizeListener),this._container=null}_updateSize(r,n){this.setState({width:n.width,height:n.height})}render(){let r={...this.props,...this.state};return(0,b3.jsx)(t,{...r})}}}var v3=T(U());var S3=T(E()),eN=class extends v3.PureComponent{render(){let{threadName:e}=this.props;return(0,S3.jsx)(Wr,{threadName:e,reason:we`
|
|
143
|
+
All network requests were filtered out by the current selection or search
|
|
144
|
+
term. Try changing the search term, or zooming out.
|
|
145
|
+
`,viewName:"network chart"})}},T3=H({mapStateToProps:t=>({threadName:j.getFriendlyThreadName(t)}),component:eN});var nN=T(U()),k3=T(xe());var Gt=T(E()),Cie=/(.*)(\/[^/]+\/?)$/,tN=["domainLookupStart","requestStart","responseStart","responseEnd"],x3=tN.reduce((t,e,r,{length:n})=>(t[e]=n>1?r/(n-1):0,t),{});function w3({name:t,previousName:e,value:r,duration:n,style:o}){return(0,Gt.jsx)("div",{className:"networkChartRowItemBarPhase","data-name":t,"data-value":r,style:o,"aria-label":`${e} to ${t}: ${Se(n)} milliseconds`},t)}var rN=class extends nN.default.PureComponent{_timeToCssPixels(e){let{timeRange:r,width:n}=this.props,o=r.end-r.start,a=n-150-15;return(e-r.start)/o*a+150}_preconnectComponent(){let{networkPayload:e,marker:r}=this.props,n=e.domainLookupStart;if(typeof n!="number")return null;let o=ST(this.props.networkPayload);if(!o)return null;let a=o.value;if(!(a<r.start))return null;let s=a-n,l=this._timeToCssPixels(n),d=this._timeToCssPixels(a)-l,u={name:o.phase,previousName:"domainLookupStart",value:a,duration:s,style:{left:0,width:"100%",opacity:x3.requestStart}};return(0,Gt.jsx)("div",{className:"networkChartRowItemBar",style:{width:d,left:l},children:w3(u)})}render(){let{marker:e,networkPayload:r}=this.props,n=e.start,o=$(e.end,"Network markers are assumed to have an end time."),a=o-e.start,i=this._timeToCssPixels(n),l=this._timeToCssPixels(o)-i;l<1&&(l=2.5);let c=this._preconnectComponent(),d=Ff(r,c?tN.slice(1):tN),u=[],p=n,m="startTime";return d.forEach(({phase:f,value:h},b)=>{u.push({name:f,previousName:m,value:h,duration:h-p,style:{left:(p-n)/a*l,width:Math.max((h-p)/a*l,1),opacity:b===0?0:x3[f]}}),p=h,m=f}),u.push({name:"endTime",previousName:m,value:n+a,duration:n+a-p,style:{left:(p-n)/a*l,width:(n+a-p)/a*l,opacity:u.length?0:1}}),(0,Gt.jsxs)(Gt.Fragment,{children:[c,(0,Gt.jsx)("div",{className:"networkChartRowItemBar",style:{width:l,left:i},children:u.map(f=>(0,Gt.jsx)(w3,{...f},f.name))})]})}},PT=class extends nN.default.PureComponent{state={pageX:0,pageY:0,hovered:!1};_hoverIn=e=>{let r=e.pageX,n=e.pageY;this.setState({pageX:r,pageY:n,hovered:!0}),this.props.onHover&&this.props.onHover(this.props.markerIndex)};_hoverOut=()=>{window.persistTooltips||this.setState({hovered:!1})};_onMouseDown=e=>{let{markerIndex:r,onLeftClick:n,onRightClick:o}=this.props;e.button===0?n&&n(r):e.button===2&&o&&o(r)};_findIndexOfLoadid(e){let r=/[:]/g,n=e.search(r);return n===-1?null:n}_cropNameToUrl(e){let r=this._findIndexOfLoadid(e);return r===null?"":e.slice(r+2)}_extractURI(e){try{return new URL(this._cropNameToUrl(e))}catch{return null}}_splitsURI(e){let r=this._extractURI(e);if(r!==null){let n=r.pathname,o="",a=Cie.exec(r.pathname);return a&&([,o,n]=a),(0,Gt.jsxs)(Gt.Fragment,{children:[(0,Gt.jsx)("span",{className:"networkChartRowItemUriOptional",children:r.protocol+"//"}),(0,Gt.jsx)("span",{className:"networkChartRowItemUriRequired",children:r.host}),o?(0,Gt.jsx)("span",{className:"networkChartRowItemUriOptional",children:o}):null,n?(0,Gt.jsx)("span",{className:"networkChartRowItemUriRequired",children:n}):null,r.search?(0,Gt.jsx)("span",{className:"networkChartRowItemUriOptional",children:r.search}):null,r.hash?(0,Gt.jsx)("span",{className:"networkChartRowItemUriOptional",children:r.hash}):null]})}return e}_getClassNameTypeForMarker(){let{networkPayload:e}=this.props,r=e.contentType===void 0||e.contentType===null?nm(e):e.contentType;return om(r)}render(){let{index:e,markerIndex:r,marker:n,networkPayload:o,width:a,timeRange:i,isRightClicked:s,shouldDisplayTooltips:l,isSelected:c,isHoveredFromState:d}=this.props;if(o===null)return null;let u=(0,k3.default)("networkChartRowItem",this._getClassNameTypeForMarker(),{odd:e%2===1,isRightClicked:s,isSelected:c,isHovered:d});return(0,Gt.jsxs)("div",{className:u,onMouseEnter:this._hoverIn,onMouseLeave:this._hoverOut,onMouseDown:this._onMouseDown,"aria-selected":c,"aria-label":n.name,role:"option",id:`networkChartRowItem-${r}`,children:[(0,Gt.jsx)("div",{className:"networkChartRowItemLabel",children:this._splitsURI(n.name)}),(0,Gt.jsx)(rN,{marker:n,networkPayload:o,width:a,timeRange:i}),l()&&this.state.hovered?(0,Gt.jsx)(at,{mouseX:this.state.pageX,mouseY:this.state.pageY+5,children:(0,Gt.jsx)(Nn,{className:"tooltipNetwork",markerIndex:r,marker:n,threadsKey:this.props.threadsKey,restrictHeightWidth:!0,hideFilterButton:!0})}):null]})}};var zs=T(E()),oN=16,aN=class extends ET.PureComponent{_virtualListRef=ET.createRef();_memoizedGetSpecialItems=(0,I3.default)((e,r,n)=>{let o=[void 0,void 0,void 0];return e!==null&&(o[0]=e),r!==null&&(o[1]=r),n!==null&&(o[2]=n),o},{limit:1});componentDidMount(){this.focus(),this.scrollSelectionIntoView()}componentDidUpdate(e){this.props.scrollToSelectionGeneration>e.scrollToSelectionGeneration&&this.scrollSelectionIntoView()}focus(){this._virtualListRef.current&&this._virtualListRef.current.focus()}_getSpecialItems=()=>{let{selectedNetworkMarkerIndex:e,rightClickedMarkerIndex:r,hoveredMarkerIndexFromState:n}=this.props;return this._memoizedGetSpecialItems(e,r,n)};scrollSelectionIntoView(){let{selectedNetworkMarkerIndex:e,markerIndexes:r}=this.props,n=this._virtualListRef.current;if(n&&e!==null){let o=r.findIndex(a=>a===e);n.scrollItemIntoView(o,0)}}_onCopy=e=>{};_onKeyDown=e=>{let r=e.ctrlKey||e.altKey,n=e.key.startsWith("Arrow")||e.key.startsWith("Page")||e.key==="Home"||e.key==="End",o=e.key==="*",a=e.key==="Enter";if(r||!n&&!o&&!a)return;e.stopPropagation(),e.preventDefault();let i=this.props.selectedNetworkMarkerIndex,s=this.props.markerIndexes,l=s.findIndex(c=>c===i);if(i===null||l===-1){this._selectWithKeyboard(s[0]);return}if(n)switch(e.key){case"ArrowUp":{if(e.metaKey){this._selectWithKeyboard(s[0]);break}l>0&&this._selectWithKeyboard(s[l-1]);break}case"ArrowDown":{if(e.metaKey){this._selectWithKeyboard(s[s.length-1]);break}l<s.length-1&&this._selectWithKeyboard(s[l+1]);break}case"PageUp":{if(l>0){let c=Math.max(0,l-oN);this._selectWithKeyboard(s[c])}break}case"PageDown":{if(l<s.length-1){let c=Math.min(s.length-1,l+oN);this._selectWithKeyboard(s[c])}break}case"Home":{this._selectWithKeyboard(s[0]);break}case"End":{this._selectWithKeyboard(s[s.length-1]);break}default:throw new Error("Unhandled navigation key.")}};_onRightClick=e=>{let{threadsKey:r,changeRightClickedMarker:n}=this.props;n(r,e)};_onLeftClick=e=>{this._onSelectionChange(e,{source:"pointer"})};_selectWithKeyboard(e){this._onSelectionChange(e,{source:"keyboard"})}_onSelectionChange=(e,r)=>{let{threadsKey:n,changeSelectedNetworkMarker:o}=this.props;o(n,e,r)};_onRowHovered=e=>{let{threadsKey:r,changeHoveredMarker:n}=this.props;n(r,e)};_onMouseLeaveRenderedList=()=>{let{threadsKey:e,changeHoveredMarker:r}=this.props;r(e,null)};_onMouseMove=e=>{let{timeRange:r,width:n,changeMouseTimePosition:o}=this.props;if(!e.currentTarget)return;let a=e.currentTarget.getBoundingClientRect(),i=e.clientX-a.left,s=n-150-15,l=i-150,{start:c,end:d}=r,u=d-c,p=l/s;if(p<0||p>1)o(null);else{let m=c+p*u;o(m)}};_onMouseLeave=()=>{this.props.changeMouseTimePosition(null)};_shouldDisplayTooltips=()=>this.props.rightClickedMarkerIndex===null;_renderRow=(e,r)=>{let{threadsKey:n,getMarker:o,rightClickedMarkerIndex:a,selectedNetworkMarkerIndex:i,hoveredMarkerIndexFromState:s,timeRange:l,width:c}=this.props,d=o(e),u=Pie(d);if(u===null)throw new Error(we`
|
|
146
|
+
The NetworkChart is supposed to only receive Network markers, but some other
|
|
147
|
+
kind of marker payload was passed in.
|
|
148
|
+
`);return(0,zs.jsx)(PT,{index:r,marker:d,markerIndex:e,networkPayload:u,threadsKey:n,timeRange:l,width:c,shouldDisplayTooltips:this._shouldDisplayTooltips,isRightClicked:a===e,isHoveredFromState:s===e,onRightClick:this._onRightClick,isSelected:i===e,onLeftClick:this._onLeftClick,onHover:this._onRowHovered})};render(){let{selectedNetworkMarkerIndex:e,markerIndexes:r,width:n,timeRange:o,disableOverscan:a}=this.props,i=`${o.start}-${o.end}-${n}`;return(0,zs.jsxs)("div",{className:"networkChart",id:"network-chart-tab",role:"tabpanel","aria-labelledby":"network-chart-tab-button",onMouseMove:this._onMouseMove,onMouseLeave:this._onMouseLeave,children:[(0,zs.jsx)(h3,{}),r.length===0?(0,zs.jsx)(T3,{}):(0,zs.jsx)(rr,{id:"MarkerContextMenu",attributes:{className:"treeViewContextMenu"},children:(0,zs.jsx)(Hd,{className:"treeViewBody",ariaRole:"listbox",ariaLabel:"List of all network markers",ariaActiveDescendant:e!==null?`networkChartRowItem-${e}`:void 0,items:r,renderItem:this._renderRow,itemHeight:oN,columnCount:1,focusable:!0,specialItems:this._getSpecialItems(),containerWidth:n,forceRender:i,disableOverscan:a,onCopy:this._onCopy,onKeyDown:this._onKeyDown,ref:this._virtualListRef,onMouseLeaveRenderedList:this._onMouseLeaveRenderedList})})]})}},C3=H({mapStateToProps:t=>({markerIndexes:j.getSearchFilteredNetworkMarkerIndexes(t),scrollToSelectionGeneration:Wo(t),getMarker:j.getMarkerGetter(t),selectedNetworkMarkerIndex:j.getSelectedNetworkMarkerIndex(t),rightClickedMarkerIndex:j.getRightClickedMarkerIndex(t),hoveredMarkerIndexFromState:j.getHoveredMarkerIndex(t),timeRange:XI(t),disableOverscan:Qr(t),threadsKey:vt(t)}),mapDispatchToProps:{changeSelectedNetworkMarker:Km,changeRightClickedMarker:tn,changeHoveredMarker:Ym,changeMouseTimePosition:mi},component:He(aN)});function Pie(t){return!t.data||t.data.type!=="Network"?null:t.data}var RT=T(U());var P3=T(U());var _3=T(E()),iN=class extends P3.PureComponent{render(){let{thread:e,rangeFilteredThread:r,threadName:n}=this.props,o;return e.samples.length===0?o="This thread has no samples.":r.samples.length===0?o="Broaden the selected range to view samples.":o=we`
|
|
149
|
+
Try broadening the selected range, removing search terms, or call tree transforms
|
|
150
|
+
to view samples.
|
|
151
|
+
`,(0,_3.jsx)(Wr,{threadName:n,reason:o,viewName:"flame graph"})}},E3=H({mapStateToProps:t=>({threadName:j.getFriendlyThreadName(t),thread:j.getThread(t),rangeFilteredThread:j.getRangeFilteredThread(t)}),component:iN});var F3=T(U());var R3=T(U()),M3=T(Zr());var L3=T(hy());var lN=T(E()),oc=16,Eie=3,_ie=11,Nie=10;function _T(t){return Math.floor(t+.5)}function N3(t,e){return _T(t/e)*e}var sN=class extends R3.PureComponent{_textMeasurement=null;_textMeasurementCssToDeviceScale=1;componentDidUpdate(e){e.maxStackDepthPlusOne!==this.props.maxStackDepthPlusOne&&this.props.viewport.moveViewport(0,(e.maxStackDepthPlusOne-this.props.maxStackDepthPlusOne)*oc),(!e.viewport.isSizeSet&&this.props.viewport.isSizeSet||this.props.scrollToSelectionGeneration>e.scrollToSelectionGeneration)&&this._scrollSelectionIntoView()}_scrollSelectionIntoView=()=>{let{selectedCallNodeIndex:e,maxStackDepthPlusOne:r,callNodeInfo:n}=this.props;if(e===null)return;let a=n.getCallNodeTable().depth[e],i=(r-a-1)*oc;i<this.props.viewport.viewportTop?this.props.viewport.moveViewport(0,this.props.viewport.viewportTop-i):i+oc>this.props.viewport.viewportBottom&&this.props.viewport.moveViewport(0,this.props.viewport.viewportBottom-(i+oc))};_drawCanvas=(e,r,n)=>{let{thread:o,flameGraphTiming:a,callNodeInfo:i,stackFrameHeight:s,maxStackDepthPlusOne:l,rightClickedCallNodeIndex:c,selectedCallNodeIndex:d,categories:u,viewport:{containerWidth:p,containerHeight:m,viewportTop:f,viewportBottom:h}}=this.props,{hoveredItem:b}=n,{cssToDeviceScale:g,cssToUserScale:y}=r;if(g!==y)throw new Error("FlameGraphCanvasImpl sets scaleCtxToCssPixels={false}, so canvas user space units should be equal to device pixels.");let v=p*g,S=m*g;e.font=`${Nie*g}px sans-serif`,(!this._textMeasurement||this._textMeasurementCssToDeviceScale!==g)&&(this._textMeasurement=new Ls(e),this._textMeasurementCssToDeviceScale=g);let x=this._textMeasurement,w=new Ts(e),I=Math.round(Eie*g);w.set(Zl()),e.fillRect(0,0,v,S);let C=i.getCallNodeTable(),k=Math.floor(l-h/s),N=Math.ceil(l-f/s);for(let O=k;O<N;O++){let L=a[O];if(!L)continue;let F=(l-O-1)*oc-f,R=(l-O)*oc-f,z=_T(F*g),ie=_T(R*g)-1-z,me=z+_T(_ie*g);for(let M=0;M<L.length;M++){let G=L.start[M],B=L.end[M],A=G*v,K=B*v,Z=N3(A,2),ne=N3(K,2)-.8,ue=ne-Z;if(ue<=0)continue;let Xe=L.callNode[M],st=d===Xe,Me=c===Xe,Ve=b&&O===b.depth&&M===b.flameGraphTimingIndex,Ct=st||Me||Ve,q=C.category[Xe],ee=u[q],le=_v(ee.color),pe=Ct?le.getSelectedFillStyle():le.getUnselectedFillStyle();w.set(pe),e.fillRect(Z,z,ue,ie);let he=Z+I,Rt=ne-he;if(Rt>x.minWidth){let Je=C.func[Xe],ln=o.stringTable.getString(o.funcTable.name[Je]),Mt=x.getFittedText(ln,Rt);if(Mt){let yr=Ct?le.getSelectedTextColor():Os();w.set(yr),e.fillText(Mt,he,me)}}}}};_getTimingsForCallNodeIndex=(0,M3.default)(Xk,{cache:new L3.default});_getHoveredStackInfo=({depth:e,flameGraphTimingIndex:r})=>{let{thread:n,unfilteredThread:o,ctssSampleIndexOffset:a,flameGraphTiming:i,callTree:s,callNodeInfo:l,shouldDisplayTooltips:c,categories:d,interval:u,callTreeSummaryStrategy:p,innerWindowIDToPageMap:m,weightType:f,ctssSamples:h,unfilteredCtssSamples:b,tracedTiming:g,displayStackType:y}=this.props;if(!c())return null;let v=i[e];if(!v)return null;let S=v.callNode[r];if(S===void 0)return null;let x=v.end[r]-v.start[r],w=Kt(x);g&&(w=`${vl("tracing-ms",!1,g.total[S])} (${w})`);let I=!n.isJsTracer&&p==="timing";return(0,lN.jsx)(pu,{thread:n,weightType:f,innerWindowIDToPageMap:m,interval:u,callNodeIndex:S,callNodeInfo:l,categories:d,durationText:w,displayData:s.getDisplayData(S),callTreeSummaryStrategy:p,timings:I?this._getTimingsForCallNodeIndex(S,l,o,a,d,h,b):void 0,displayStackType:y})};_getCallNodeIndexFromHoveredItem(e){if(e===null)return null;let{depth:r,flameGraphTimingIndex:n}=e,{flameGraphTiming:o}=this.props;return o[r].callNode[n]}_onSelectItem=e=>{let r=this._getCallNodeIndexFromHoveredItem(e);this.props.onSelectionChange(r)};_onRightClick=e=>{let r=this._getCallNodeIndexFromHoveredItem(e);this.props.onRightClick(r)};_onDoubleClick=e=>{let r=this._getCallNodeIndexFromHoveredItem(e);this.props.onDoubleClick(r)};_hitTest=(e,r)=>{let{flameGraphTiming:n,maxStackDepthPlusOne:o,viewport:{viewportTop:a,containerWidth:i}}=this.props,s=e/i,l=Math.floor(o-(r+a)/oc),c=n[l];if(!c)return null;for(let d=0;d<c.length;d++){let u=c.start[d],p=c.end[d];if(u<s&&p>s)return{depth:l,flameGraphTimingIndex:d}}return null};render(){let{containerWidth:e,containerHeight:r,isDragging:n}=this.props.viewport;return(0,lN.jsx)(Pa,{className:"flameGraphCanvas",containerWidth:e,containerHeight:r,isDragging:n,scaleCtxToCssPixels:!1,onDoubleClickItem:this._onDoubleClick,getHoveredItemInfo:this._getHoveredStackInfo,drawCanvas:this._drawCanvas,hitTest:this._hitTest,onSelectItem:this._onSelectItem,onRightClick:this._onRightClick,drawCanvasAfterRaf:!1})}},D3=Rs(sN);var NT=T(E()),A3=16,O3=.001,cN=class extends F3.PureComponent{_viewport=null;componentDidMount(){document.addEventListener("copy",this._onCopy,!1)}componentWillUnmount(){document.removeEventListener("copy",this._onCopy,!1)}_onSelectedCallNodeChange=e=>{let{callNodeInfo:r,threadsKey:n,changeSelectedCallNode:o}=this.props;o(n,r.getCallNodePathFromIndex(e))};_onRightClickedCallNodeChange=e=>{let{callNodeInfo:r,threadsKey:n,changeRightClickedCallNode:o}=this.props;o(n,r.getCallNodePathFromIndex(e))};_onCallNodeEnterOrDoubleClick=e=>{if(e===null)return;let{callTree:r,updateBottomBoxContentsAndMaybeOpen:n}=this.props,o=r.getBottomBoxInfoForCallNode(e);n("flame-graph",o)};_shouldDisplayTooltips=()=>this.props.rightClickedCallNodeIndex===null;_takeViewportRef=e=>{this._viewport=e};focus=()=>{this._viewport&&this._viewport.focus()};_wideEnough=e=>{let{flameGraphTiming:r,callNodeInfo:n}=this.props,a=n.getCallNodeTable().depth[e],i=r[a],s=i.callNode.indexOf(e);return i.end[s]-i.start[s]>O3};_nextSelectableInRow=(e,r)=>{let{flameGraphTiming:n,callNodeInfo:o}=this.props,a=e,s=o.getCallNodeTable().depth[a],l=n[s],c=l.callNode.indexOf(a);do if(c+=r,a=l.callNode[c],l.end[c]-l.start[c]>O3)break;while(a!==void 0);return a};_handleKeyDown=e=>{let{threadsKey:r,callTree:n,callNodeInfo:o,selectedCallNodeIndex:a,rightClickedCallNodeIndex:i,changeSelectedCallNode:s,handleCallNodeTransformShortcut:l}=this.props,c=o.getCallNodeTable();if(["ArrowDown","ArrowUp","ArrowLeft","ArrowRight"].includes(e.key)){if(a===null){s(r,o.getCallNodePathFromIndex(0));return}switch(e.key){case"ArrowDown":{let u=c.prefix[a];u!==-1&&s(r,o.getCallNodePathFromIndex(u));break}case"ArrowUp":{let[u]=n.getChildren(a);u!==void 0&&this._wideEnough(u)&&s(r,o.getCallNodePathFromIndex(u));break}case"ArrowLeft":case"ArrowRight":{let u=this._nextSelectableInRow(a,e.key==="ArrowLeft"?-1:1);u!==void 0&&s(r,o.getCallNodePathFromIndex(u));break}default:console.error(`An unknown key "${e.key}" was pressed, this shouldn't happen.`)}return}let d=i!==null?i:a;if(d!==null){if(e.key==="Enter"){this._onCallNodeEnterOrDoubleClick(d);return}l(e,r,d)}};_onCopy=e=>{if(document.activeElement===this._viewport){e.preventDefault();let{callNodeInfo:r,selectedCallNodeIndex:n,thread:o}=this.props,a=r.getCallNodeTable();if(n!==null){let i=a.func[n],s=o.stringTable.getString(o.funcTable.name[i]);e.clipboardData.setData("text/plain",s)}}};render(){let{thread:e,unfilteredThread:r,ctssSampleIndexOffset:n,threadsKey:o,maxStackDepthPlusOne:a,flameGraphTiming:i,callTree:s,callNodeInfo:l,timeRange:c,previewSelection:d,rightClickedCallNodeIndex:u,selectedCallNodeIndex:p,scrollToSelectionGeneration:m,callTreeSummaryStrategy:f,categories:h,interval:b,isInverted:g,innerWindowIDToPageMap:y,weightType:v,ctssSamples:S,unfilteredCtssSamples:x,tracedTiming:w,displayStackType:I}=this.props,C=w!==null?$(gU(w),"The flame graph should only ever see non-inverted timings, see UrlState.getInvertCallstack"):null,k=a*A3;return(0,NT.jsx)("div",{className:"flameGraphContent",onKeyDown:this._handleKeyDown,children:(0,NT.jsx)(rr,{id:"CallNodeContextMenu",attributes:{className:"treeViewContextMenu"},children:(0,NT.jsx)(D3,{viewportProps:{timeRange:c,maxViewportHeight:k,maximumZoom:1,previewSelection:d,startsAtBottom:!0,disableHorizontalMovement:!0,viewportNeedsUpdate:Rie,marginLeft:0,marginRight:0,containerRef:this._takeViewportRef},chartProps:{thread:e,innerWindowIDToPageMap:y,weightType:v,unfilteredThread:r,ctssSampleIndexOffset:n,maxStackDepthPlusOne:a,flameGraphTiming:i,callTree:s,callNodeInfo:l,categories:h,selectedCallNodeIndex:p,rightClickedCallNodeIndex:u,scrollToSelectionGeneration:m,callTreeSummaryStrategy:f,stackFrameHeight:A3,onSelectionChange:this._onSelectedCallNodeChange,onRightClick:this._onRightClickedCallNodeChange,onDoubleClick:this._onCallNodeEnterOrDoubleClick,shouldDisplayTooltips:this._shouldDisplayTooltips,interval:b,isInverted:g,ctssSamples:S,unfilteredCtssSamples:x,tracedTiming:C,displayStackType:I}},o)})})}};function Rie(){return!1}var B3=iy({mapStateToProps:t=>({thread:j.getFilteredThread(t),unfilteredThread:j.getThread(t),weightType:j.getWeightTypeForCallTree(t),maxStackDepthPlusOne:j.getFilteredCallNodeMaxDepthPlusOne(t),flameGraphTiming:j.getFlameGraphTiming(t),callTree:j.getCallTree(t),timeRange:de(t),previewSelection:mt(t),callNodeInfo:j.getCallNodeInfo(t),categories:Qe(t),threadsKey:vt(t),selectedCallNodeIndex:j.getSelectedCallNodeIndex(t),rightClickedCallNodeIndex:j.getRightClickedCallNodeIndex(t),scrollToSelectionGeneration:Wo(t),interval:ot(t),isInverted:sr(t),callTreeSummaryStrategy:j.getCallTreeSummaryStrategy(t),innerWindowIDToPageMap:Sn(t),ctssSamples:j.getPreviewFilteredCtssSamples(t),ctssSampleIndexOffset:j.getPreviewFilteredCtssSampleIndexOffset(t),unfilteredCtssSamples:j.getUnfilteredCtssSamples(t),tracedTiming:j.getTracedTiming(t),displayStackType:ui(t)}),mapDispatchToProps:{changeSelectedCallNode:jn,changeRightClickedCallNode:Ul,handleCallNodeTransformShortcut:zl,updateBottomBoxContentsAndMaybeOpen:Kn},options:{forwardRef:!0},component:cN});var Vs=T(E()),dN=class extends RT.PureComponent{_flameGraph=RT.createRef();_onSwitchToNormalCallstackClick=()=>{this.props.changeInvertCallstack(!1)};componentDidMount(){let e=this._flameGraph.current;e&&e.focus()}render(){let{isPreviewSelectionEmpty:e,invertCallstack:r}=this.props;return e?(0,Vs.jsx)(E3,{}):r?(0,Vs.jsxs)("div",{className:"flameGraphDisabledMessage",children:[(0,Vs.jsx)("h3",{children:"The Flame Graph is not available for inverted call stacks"}),(0,Vs.jsxs)("p",{children:[(0,Vs.jsx)("button",{type:"button",onClick:this._onSwitchToNormalCallstackClick,children:"Switch to the normal call stack"})," ","to show the Flame Graph."]})]}):(0,Vs.jsx)(B3,{ref:this._flameGraph})}},H3=iy({mapStateToProps:t=>({invertCallstack:sr(t),isPreviewSelectionEmpty:!j.getHasPreviewFilteredCtssSamples(t)}),mapDispatchToProps:{changeInvertCallstack:Xm},component:dN});var vu=T(E()),Mie=()=>(0,vu.jsxs)("div",{className:"flameGraph",id:"flame-graph-tab",role:"tabpanel","aria-labelledby":"flame-graph-tab-button",children:[(0,vu.jsx)(zd,{hideInvertCallstack:!0}),(0,vu.jsx)(Wd,{}),(0,vu.jsx)(H3,{})]}),U3=Mie;var Z3=T(U());var DT=T(U());var MT=T(Qo()),G3=T(U()),$3=T(xe());var V3=T(E()),Lie=11,Die=3,Aie=5,Oie=10,uN=class extends G3.PureComponent{state={hasFirstDraw:!1};_textMeasurement=null;_textMeasurementCssToDeviceScale=1;drawCanvas=(e,r,n)=>{let{rowHeight:o,jsTracerTimingRows:a,viewport:{viewportTop:i,viewportBottom:s,containerWidth:l,containerHeight:c}}=this.props,{hoveredItem:d}=n,{cssToDeviceScale:u,cssToUserScale:p}=r;if(u!==p)throw new Error("JsTracerCanvasImpl sets scaleCtxToCssPixels={false}, so canvas user space units should be equal to device pixels.");e.font=`${Oie*u}px sans-serif`,(!this._textMeasurement||this._textMeasurementCssToDeviceScale!==u)&&(this._textMeasurement=new Ls(e),this._textMeasurementCssToDeviceScale=u);let m={ctx:e,textMeasurement:this._textMeasurement,fastFillStyle:new Ts(e),startRow:Math.floor(i/o),endRow:Math.min(Math.ceil(s/o),a.length),devicePixels:{containerWidth:l*u,innerContainerWidth:(l-150-15)*u,containerHeight:c*u,textOffsetStart:Die*u,textOffsetTop:Lie*u,rowHeight:o*u,viewportTop:i*u,timelineMarginLeft:150*u,timelineMarginRight:15*u,oneCssPixel:u,rowLabelOffsetLeft:Aie*u}};{let{fastFillStyle:f,devicePixels:h}=m;f.set("#ffffff"),e.fillRect(0,0,h.containerWidth,h.containerHeight)}this.drawEvents(m,d),this.drawSeparatorsAndLabels(m),this.setState(f=>f.hasFirstDraw?null:{hasFirstDraw:!0})};drawOneEvent(e,r,n,o,a,i,s,l){let{ctx:c,textMeasurement:d,fastFillStyle:u,devicePixels:p}=e,m=l?"Highlight":MT.BLUE_40,f=l?"HighlightText":"white";if(u.set(m),i>=1){c.fillRect(r,n+1,o,a-2);let h=r+p.textOffsetStart,b=Math.max(0,o-p.textOffsetStart);if(b>d.minWidth){let g=d.getFittedText(s,b);g&&(u.set(f),c.fillText(g,h,n+p.textOffsetTop))}}else{let h=o*.9+.1;c.fillRect(r,n+2,h,a-4)}}drawEvents(e,r){let{startRow:n,endRow:o,devicePixels:a}=e,{rangeStart:i,rangeEnd:s,jsTracerTimingRows:l,viewport:{viewportLeft:c,viewportRight:d}}=this.props,u=s-i,p=d-c;for(let m=n;m<o;m++){let f=l[m];if(!f)continue;let h=i+u*c,b=i+u*d+a.timelineMarginRight*(p*u/a.containerWidth),g=a.rowHeight-a.oneCssPixel,y=m*a.rowHeight-a.viewportTop,v=a.timelineMarginLeft,S=v+1,x=0,w=I=>{x>0&&(this.drawOneEvent(e,v,I,x,g,x,"",!1),v++,S++,x=0)};for(let I=0;I<f.length;I++){let C=f.start[I],k=f.end[I];if(k>h&&C<b){let N=(C-i)/u,O=(k-i)/u,L=(N-c)*a.innerContainerWidth/p+a.timelineMarginLeft,F=(O-N)*a.innerContainerWidth/p,R=f.label[I],z=r===f.index[I];if(F===0||L+F<a.timelineMarginLeft||L>a.containerWidth-a.timelineMarginRight)continue;let Q=F;L<a.timelineMarginLeft&&(Q=Q-(a.timelineMarginLeft-L),L=a.timelineMarginLeft);let ie=Math.ceil(L);if(L+Q<=ie){L>=S&&(w(y),v=Math.floor(L),S=v+1),x+=Q;continue}else L>S&&(w(y),v=ie-1,S=ie),L=ie,x+=ie-L,w(y);let me=Math.floor(Q);this.drawOneEvent(e,L,y,me,g,F,R,z),v=L+me,S=L+me+1,x=Q-me}w(y)}}}drawSeparatorsAndLabels(e){let{ctx:r,textMeasurement:n,fastFillStyle:o,startRow:a,endRow:i,devicePixels:s}=e,{jsTracerTimingRows:l}=this.props;o.set(MT.GREY_20),r.fillRect(s.timelineMarginLeft-s.oneCssPixel,0,s.oneCssPixel,s.containerHeight);for(let c=a;c<i;c++){let d=(c+1)*s.rowHeight-s.viewportTop-s.oneCssPixel;r.fillRect(0,d,s.containerWidth,s.oneCssPixel)}o.set("#000000");for(let c=a;c<i;c++){let{name:d}=l[c];if(c>0&&d===l[c-1].name)continue;let u=n.getFittedText(d,s.timelineMarginLeft),p=c*s.rowHeight-s.viewportTop;r.fillText(u,s.rowLabelOffsetLeft,p+s.textOffsetTop)}}hitTest=(e,r)=>{if(e<150)return null;let{rangeStart:n,rangeEnd:o,jsTracerTimingRows:a,rowHeight:i,viewport:{viewportLeft:s,viewportRight:l,viewportTop:c,containerWidth:d}}=this.props,u=d-150-15,p=o-n,m=l-s,f=s+m*((e-150)/u),h=n+f*p,b=Math.floor((r+c)/i),g=a[b],y=p*m/u;if(!g)return null;for(let v=0;v<g.length;v++){let S=g.start[v],x=Math.max(S+y,g.end[v]);if(S<=h&&h<x)return g.index[v]}return null};onDoubleClickEvent=e=>{};getHoveredItemInfo=e=>null;render(){let{containerWidth:e,containerHeight:r,isDragging:n}=this.props.viewport;return(0,V3.jsx)(Pa,{className:(0,$3.default)({jsTracerCanvasFadeIn:this.props.doFadeIn,jsTracerCanvas:!0,jsTracerCanvasDrawn:this.state.hasFirstDraw}),containerWidth:e,containerHeight:r,isDragging:n,onDoubleClickItem:this.onDoubleClickEvent,getHoveredItemInfo:this.getHoveredItemInfo,drawCanvas:this.drawCanvas,hitTest:this.hitTest,scaleCtxToCssPixels:!1})}},z3=Rs(uN);var Tu=T(E()),W3=16,pN=class extends DT.PureComponent{getMaximumZoom(){let{timeRange:{start:e,end:r}}=this.props;return .001/(r-e)}render(){let{timeRange:e,threadsKey:r,jsTracerTable:n,jsTracerTimingRows:o,previewSelection:a,updatePreviewSelection:i,doFadeIn:s}=this.props,l=o.length*W3;return(0,Tu.jsx)(z3,{viewportProps:{timeRange:e,previewSelection:a,maxViewportHeight:l,viewportNeedsUpdate:Fie,maximumZoom:this.getMaximumZoom(),marginLeft:150,marginRight:15},chartProps:{jsTracerTimingRows:o,jsTracerTable:n,updatePreviewSelection:i,rangeStart:e.start,rangeEnd:e.end,rowHeight:W3,threadsKey:r,doFadeIn:s}},r)}};function Fie(t,e){return t.jsTracerTimingRows!==e.jsTracerTimingRows}var Bie=H({mapStateToProps:(t,e)=>({timeRange:de(t),stringTable:Rr(t),threadsKey:vt(t),previewSelection:mt(t),jsTracerTimingRows:$(e.showJsTracerSummary?j.getExpensiveJsTracerLeafTiming(t):j.getExpensiveJsTracerTiming(t),"The JS tracer information must exist when mounting this component")}),mapDispatchToProps:{updatePreviewSelection:dt},component:pN}),j3=new WeakMap,mN=class extends DT.PureComponent{state={readyToRenderExpensiveChart:!1};_doFadeIn=!1;constructor(e){super(e);let r=j3.get(e.profile);r===void 0&&(r=new Set,j3.set(e.profile,r)),r.has(e.keyString)||(this._doFadeIn=!0,r.add(e.keyString))}componentDidMount(){this._doFadeIn&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.setState({readyToRenderExpensiveChart:!0})})})}render(){let{jsTracerTable:e,showJsTracerSummary:r}=this.props;return this.state.readyToRenderExpensiveChart||!this._doFadeIn?(0,Tu.jsx)(Bie,{doFadeIn:this._doFadeIn,jsTracerTable:e,showJsTracerSummary:r}):(0,Tu.jsxs)("div",{className:"jsTracerLoader",children:["Re-constructing tracing information from"," ",this.props.jsTracerTable.events.length.toLocaleString()," events. This might take a moment."]})}},LT=class extends DT.PureComponent{render(){let{profile:e,jsTracerTable:r,showJsTracerSummary:n,threadsKey:o}=this.props,a=`${o}-${n?"true":"false"}`;return(0,Tu.jsx)(mN,{keyString:a,jsTracerTable:r,showJsTracerSummary:n,profile:e},a)}};var K3=T(U());var wi=T(E()),fN=class extends K3.PureComponent{_onCheckboxChange=()=>{this.props.changeShowJsTracerSummary(!this.props.showJsTracerSummary)};render(){let{showJsTracerSummary:e}=this.props;return(0,wi.jsx)("div",{className:"jsTracerSettings",children:(0,wi.jsx)("ul",{className:"jsTracerSettingsList",children:(0,wi.jsx)("li",{className:"jsTracerSettingsListItem",children:(0,wi.jsxs)("label",{className:"jsTracerSettingsLabel",children:[(0,wi.jsx)("input",{type:"checkbox",className:"jsTracerSettingsCheckbox",onChange:this._onCheckboxChange,checked:e}),(0,wi.jsx)(P,{id:"JsTracerSettings--show-only-self-time",attrs:{title:!0},children:(0,wi.jsx)("span",{children:"Show only self time"})})]})})})})}},Y3=H({mapStateToProps:t=>({showJsTracerSummary:mm(t)}),mapDispatchToProps:{changeShowJsTracerSummary:r0},component:fN});var q3=T(U());var J3=T(E()),hN=class extends q3.PureComponent{render(){let{threadName:e}=this.props;return(0,J3.jsx)(Wr,{threadName:e,reason:"This thread contains no JS tracer information.",viewName:"js-tracer"})}},X3=H({mapStateToProps:t=>({threadName:j.getFriendlyThreadName(t)}),component:hN});var ki=T(E()),gN=class extends Z3.PureComponent{render(){let{profile:e,jsTracerTable:r,showJsTracerSummary:n,threadsKey:o}=this.props;return(0,ki.jsx)("div",{className:"jsTracer",children:r===null||r.events.length===0?(0,ki.jsx)(X3,{}):(0,ki.jsxs)(ki.Fragment,{children:[(0,ki.jsx)(Y3,{}),(0,ki.jsx)(LT,{profile:e,jsTracerTable:r,showJsTracerSummary:n,threadsKey:o})]})})}},Q3=H({mapStateToProps:t=>({profile:Ne(t),threadsKey:vt(t),jsTracerTable:j.getJsTracerTable(t),showJsTracerSummary:mm(t)}),mapDispatchToProps:{updatePreviewSelection:dt},component:gN});var xu=T(U()),nj=T(Zr());var AT=T(U()),ej=T(xe()),tj=T(E()),Hf=class extends AT.PureComponent{_selectContent(e){let r=e.currentTarget;r.focus(),r.select()}_unselectContent(e){e.currentTarget.setSelectionRange(0,0)}render(){let{tagName:e,content:r,className:n}=this.props;return AT.createElement(e??"div",{className:(0,ej.default)(n,"can-select-content"),title:`${r}
|
|
152
|
+
(click to select)`},(0,tj.jsx)("input",{value:r,className:"can-select-content-input",onFocus:this._selectContent,onBlur:this._unselectContent,readOnly:!0}))}};var vN=T(xe()),Te=T(E());function Su({label:t,value:e,percentage:r,indent:n}){return(0,Te.jsxs)(xu.Fragment,{children:[(0,Te.jsx)("div",{className:(0,vN.default)({"sidebar-label":!0,"sidebar-label-indent":n}),children:t}),(0,Te.jsx)("div",{className:"sidebar-percentage",children:r}),(0,Te.jsx)("div",{className:"sidebar-value",children:e})]})}var yN=class extends xu.PureComponent{_toggleCategory=e=>{let{toggleOpenCategoryInSidebar:r,kind:n}=this.props,{categoryIndex:o}=e.target.dataset;o&&r(n,parseInt(o,10))};render(){let{breakdown:e,categoryList:r,number:n,sidebarOpenCategories:o,kind:a}=this.props,i=e.map((l,c)=>{let d=r[c];return{categoryIndex:c,category:d,value:l.entireCategoryValue||0,subcategories:d.subcategories.map((u,p)=>({index:p,name:u,value:l.subcategoryBreakdown[p]})).sort(({value:u},{value:p})=>p-u).filter(({value:u})=>u)}}).sort(({value:l},{value:c})=>c-l).filter(({value:l})=>l),s=i.reduce((l,{value:c})=>l+Math.abs(c),0);return(0,Te.jsx)(Te.Fragment,{children:i.map(({category:l,value:c,subcategories:d,categoryIndex:u})=>{let p=OB(l),m=o.get(a),f=m!==void 0&&m.has(u);return(0,Te.jsxs)(xu.Fragment,{children:[(0,Te.jsx)(Su,{label:p?(0,Te.jsx)("button",{type:"button","data-category-index":u,onClick:this._toggleCategory,className:(0,vN.default)({"sidebar-toggle":!0,expanded:f}),children:l.name}):l.name,value:n(c),percentage:Kt(c/s)}),(0,Te.jsx)("div",{className:"sidebar-histogram-bar",children:(0,Te.jsx)("div",{className:`sidebar-histogram-bar-color category-color-${l.color}`,style:{width:F1(c/s)}})}),p&&f?d.map(({index:h,name:b,value:g})=>(0,Te.jsx)(Su,{label:b,value:n(g),percentage:Kt(g/s),indent:!0},`subcategory-${h}`)):null]},`category-${u}`)})})}},rj=H({mapStateToProps:t=>({sidebarOpenCategories:UC(t)}),mapDispatchToProps:{toggleOpenCategoryInSidebar:W0},component:yN});function Hie(t){switch(t){case"tracing-ms":return"CallTreeSidebar--running-milliseconds";case"samples":return"CallTreeSidebar--running-sample-count";case"bytes":return"CallTreeSidebar--running-bytes";default:throw Y(t,"Unhandled WeightType.")}}function Uie(t){switch(t){case"tracing-ms":return"CallTreeSidebar--self-milliseconds";case"samples":return"CallTreeSidebar--self-sample-count";case"bytes":return"CallTreeSidebar--self-bytes";default:throw Y(t,"Unhandled WeightType.")}}var bN=class extends xu.PureComponent{_getWeightTypeDetails=(0,nj.default)(e=>{switch(e){case"tracing-ms":return{runningL10nId:"CallTreeSidebar--running-time",selfL10nId:"CallTreeSidebar--self-time",number:r=>Ot(r,3,1)};case"samples":return{runningL10nId:"CallTreeSidebar--running-samples",selfL10nId:"CallTreeSidebar--self-samples",number:r=>Se(r,0)};case"bytes":return{runningL10nId:"CallTreeSidebar--running-size",selfL10nId:"CallTreeSidebar--self-size",number:r=>Ue(r)};default:throw Y(e,"Unhandled WeightType.")}},{cache:new Map});render(){let{selectedNodeIndex:e,name:r,lib:n,timings:o,categoryList:a,weightType:i,selectedNodeTracedSelfAndTotal:s}=this.props,{forPath:{selfTime:l,totalTime:c},rootTime:d}=o;if(e===null)return(0,Te.jsx)("div",{className:"sidebar sidebar-calltree",children:(0,Te.jsx)(P,{id:"CallTreeSidebar--select-a-node",children:(0,Te.jsx)("div",{className:"sidebar-contents-wrapper",children:"Select a node to display some information about it."})})});let{number:u,runningL10nId:p,selfL10nId:m}=this._getWeightTypeDetails(i),f=Math.round(c.value/d*100),h=Math.round(l.value/d*100),b=c.breakdownByCategory,g=l.breakdownByCategory;return(0,Te.jsx)("aside",{className:"sidebar sidebar-calltree",children:(0,Te.jsxs)("div",{className:"sidebar-contents-wrapper",children:[(0,Te.jsxs)("header",{className:"sidebar-titlegroup",children:[(0,Te.jsx)(Hf,{tagName:"h2",className:"sidebar-title",content:r}),n?(0,Te.jsx)(Hf,{tagName:"p",className:"sidebar-subtitle",content:n}):null]}),(0,Te.jsx)("h4",{className:"sidebar-title3",children:(0,Te.jsx)(P,{id:"CallTreeSidebar--call-node-details",children:(0,Te.jsx)("div",{children:"Call node details"})})}),s?(0,Te.jsx)(P,{id:"CallTreeSidebar--traced-running-time",attrs:{label:!0},children:(0,Te.jsx)(Su,{label:"Traced running time",value:Ot(s.total,3,1)})}):null,s?(0,Te.jsx)(P,{id:"CallTreeSidebar--traced-self-time",attrs:{label:!0},children:(0,Te.jsx)(Su,{label:"Traced self time",value:s.self===0?"\u2014":Ot(s.self,3,1)})}):null,(0,Te.jsx)(P,{id:p,attrs:{label:!0},children:(0,Te.jsx)(Su,{label:"",value:c.value?`${u(c.value)}`:"\u2014",percentage:f?f+"%":"\u2014"})}),(0,Te.jsx)(P,{id:m,attrs:{label:!0},children:(0,Te.jsx)(Su,{label:"",value:l.value?`${u(l.value)}`:"\u2014",percentage:h?h+"%":"\u2014"})}),b?(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsxs)("h4",{className:"sidebar-title3 sidebar-title-label",children:[(0,Te.jsx)(P,{id:"CallTreeSidebar--categories",children:(0,Te.jsx)("div",{className:"sidebar-title-label-left",children:"Categories"})}),(0,Te.jsx)(P,{id:Hie(i),children:(0,Te.jsx)("div",{className:"sidebar-title-label-right"})})]}),(0,Te.jsx)(rj,{kind:"total",breakdown:b,categoryList:a,number:u})]}):null,g?(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsxs)("h4",{className:"sidebar-title3 sidebar-title-label",children:[(0,Te.jsx)(P,{id:"CallTreeSidebar--categories",children:(0,Te.jsx)("div",{className:"sidebar-title-label-left",children:"Categories"})}),(0,Te.jsx)(P,{id:Uie(i),children:(0,Te.jsx)("div",{className:"sidebar-title-label-right"})})]}),(0,Te.jsx)(rj,{kind:"self",breakdown:g,categoryList:a,number:u})]}):null]})})}},TN=H({mapStateToProps:t=>({selectedNodeIndex:j.getSelectedCallNodeIndex(t),selectedThreadsKey:vt(t),name:Go(Ld.getName(t)),lib:Ld.getLib(t),timings:Ld.getTimingsForSidebar(t),categoryList:Qe(t),weightType:j.getWeightTypeForCallTree(t),selectedNodeTracedSelfAndTotal:j.getTracedSelfAndTotalForSelectedCallNode(t)}),component:bN});var oj=T(U());var ac=T(E()),SN=class extends oj.PureComponent{_onStackFrameClick=e=>{let{thread:r,selectedTab:n,updateBottomBoxContentsAndMaybeOpen:o}=this.props,a=xb(e,r);o(n,a)};render(){let{marker:e,markerIndex:r,selectedThreadsKey:n}=this.props;return e===null||r===null?(0,ac.jsx)("div",{className:"sidebar sidebar-marker-table",children:(0,ac.jsx)(P,{id:"MarkerSidebar--select-a-marker",children:(0,ac.jsx)("div",{className:"sidebar-contents-wrapper",children:"Select a marker to display some information about it."})})}):(0,ac.jsx)("aside",{className:"sidebar sidebar-marker-table",children:(0,ac.jsx)("div",{className:"sidebar-contents-wrapper",children:(0,ac.jsx)(Nn,{markerIndex:r,marker:e,threadsKey:n,restrictHeightWidth:!1,onStackFrameClick:this._onStackFrameClick})})})}},aj=H({mapStateToProps:t=>({marker:j.getSelectedMarker(t),markerIndex:j.getSelectedMarkerIndex(t),selectedThreadsKey:vt(t),thread:j.getThread(t),selectedTab:Oe(t)}),mapDispatchToProps:{updateBottomBoxContentsAndMaybeOpen:Kn},component:SN});function OT(t){return{calltree:TN,"flame-graph":TN,"stack-chart":null,"marker-chart":null,"marker-table":aj,"network-chart":null,"js-tracer":null}[t]}var ij=T(U());var FT=T(Iv());var De=T(E()),xN=class extends ij.PureComponent{_hidingTimeout=null;_onShow=()=>{this._hidingTimeout&&clearTimeout(this._hidingTimeout),this.props.setContextMenuVisibility(!0)};_onHide=()=>{this._hidingTimeout=setTimeout(()=>{this._hidingTimeout=null,this.props.setContextMenuVisibility(!1)})};_getFunctionName(){let e=this.getRightClickedCallNodeInfo();if(e===null)throw new Error("The context menu assumes there is a selected call node and there wasn't one.");let{callNodeIndex:r,thread:{stringTable:n,funcTable:o},callNodeInfo:a}=e,i=a.funcForNode(r),s=o.isJS[i],l=o.name[i],c=n.getString(l);return s?c:Go(c)}lookupFunctionOnSearchfox(){let e=this._getFunctionName();window.open(`https://searchfox.org/mozilla-central/search?q=${encodeURIComponent(e)}`,"_blank")}copyFunctionName(){(0,FT.default)(this._getFunctionName())}_getFilePath(){let e=this.getRightClickedCallNodeInfo();if(e===null)throw new Error("The context menu assumes there is a selected call node and there wasn't one.");let{callNodeIndex:r,thread:{stringTable:n,funcTable:o,sources:a},callNodeInfo:i}=e,s=i.funcForNode(r),l=o.source[s];if(l===null)return null;let c=a.filename[l];return n.getString(c)}_getFileLineColumn(){let e=this.getRightClickedCallNodeInfo();if(e===null)throw new Error("The context menu assumes there is a selected call node and there wasn't one.");let{callNodeIndex:r,thread:{funcTable:n},callNodeInfo:o}=e,a=o.funcForNode(r),i=n.lineNumber[a],s=n.columnNumber[a];return{line:i,column:s}}showFile(){let{updateBottomBoxContentsAndMaybeOpen:e,selectedTab:r}=this.props,n=this.getRightClickedCallNodeInfo();if(n===null)throw new Error("The context menu assumes there is a selected call node and there wasn't one.");let{callNodeIndex:o,thread:a,callNodeInfo:i,previewFilteredCtssSamples:s}=n,l=Fl(o,i,a,s);e(r,l)}copyUrl(){let e=this._getFilePath();e&&(0,FT.default)(e)}copyStack(){let e=this.getRightClickedCallNodeInfo();if(e===null)throw new Error("The context menu assumes there is a selected call node and there wasn't one.");let{callNodeIndex:r,thread:{funcTable:n,resourceTable:o,stringTable:a,sources:i},callNodeInfo:s}=e,c=s.getCallNodePathFromIndex(r).reverse().map(d=>{let u=n.name[d],p=a.getString(u),m=ps(d,n,o,a,i);return p+(m?` [${m}]`:"")}).join(`
|
|
153
|
+
`);(0,FT.default)(c)}_handleClick=(e,r)=>{let{type:n}=r,o=Ch(n);if(o){this.addTransformToStack(o);return}switch(n){case"show-file":this.showFile();break;case"searchfox":this.lookupFunctionOnSearchfox();break;case"copy-function-name":this.copyFunctionName();break;case"copy-url":this.copyUrl();break;case"copy-stack":this.copyStack();break;case"expand-all":this.expandAll();break;case"show-function-in-devtools":this.showFunctionInDevtools();break;default:throw new Error(`Unknown type ${n}`)}};addTransformToStack(e){let{addTransformToStack:r,addCollapseResourceTransformToStack:n,implementation:o,inverted:a}=this.props,i=this.getRightClickedCallNodeInfo();if(i===null)throw new Error("The context menu assumes there is a selected call node and there wasn't one.");let{threadsKey:s,thread:l,callNodeIndex:c,callNodeInfo:d}=i,u=d.funcForNode(c),p=d.getCallNodePathFromIndex(c),m=d.categoryForNode(c);switch(e){case"focus-subtree":r(s,{type:"focus-subtree",callNodePath:p,implementation:o,inverted:a});break;case"focus-function":r(s,{type:"focus-function",funcIndex:u});break;case"focus-self":r(s,{type:"focus-self",funcIndex:u,implementation:o});break;case"merge-call-node":r(s,{type:"merge-call-node",callNodePath:p,implementation:o});break;case"merge-function":r(s,{type:"merge-function",funcIndex:u});break;case"drop-function":r(s,{type:"drop-function",funcIndex:u});break;case"collapse-resource":{let{funcTable:f}=l,h=f.resource[u];n(s,h,o);break}case"collapse-direct-recursion":{r(s,{type:"collapse-direct-recursion",funcIndex:u,implementation:o});break}case"collapse-recursion":{r(s,{type:"collapse-recursion",funcIndex:u});break}case"collapse-function-subtree":{r(s,{type:"collapse-function-subtree",funcIndex:u});break}case"focus-category":{r(s,{type:"focus-category",category:m});break}case"filter-samples":throw new Error("Filter samples transform can't be applied from the call node context menu.");default:Y(e)}}expandAll(){let{expandAllCallNodeDescendants:e}=this.props,r=this.getRightClickedCallNodeInfo();if(r===null)throw new Error("The context menu assumes there is a selected call node and there wasn't one.");let{threadsKey:n,callNodeIndex:o,callNodeInfo:a}=r;e(n,o,a)}_getTabID(){let e=this.getRightClickedCallNodeInfo();if(e===null)throw new Error("The context menu assumes there is a selected call node and there wasn't one.");let{callNodeInfo:r,callNodeIndex:n}=e,{innerWindowIDToPageMap:o}=this.props,a=r.innerWindowIDForNode(n);if(a&&o){let i=o.get(a);if(i)return i.tabID}return null}showFunctionInDevtools(){let{browserConnectionStatus:e}=this.props;if(e.status!=="ESTABLISHED")return;let r=this._getTabID(),n=this._getFilePath(),{line:o,column:a}=this._getFileLineColumn();if(!r||!n||n==="self-hosted")return;let{browserConnection:i}=e;i.showFunctionInDevtools(r,n,o,a)}getNameForSelectedResource(){let e=this.getRightClickedCallNodeInfo();if(e===null)throw new Error("The context menu assumes there is a selected call node and there wasn't one.");let{callNodeInfo:r,callNodeIndex:n,thread:{funcTable:o,stringTable:a,resourceTable:i,sources:s}}=e,l=r.funcForNode(n);if(l===void 0)return null;if(o.isJS[l]){let p=o.source[l];if(p===null)return null;let m=s.filename[p];return a.getString(m)}let d=o.resource[l];if(d===-1)return null;let u=i.name[d];return a.getString(u)}getRightClickedCallNodeInfo(){let{thread:e,threadsKey:r,previewFilteredCtssSamples:n,callNodeInfo:o,rightClickedCallNodeIndex:a}=this.props;return e&&r!==null&&n!==null&&o&&a!==null?{thread:e,threadsKey:r,previewFilteredCtssSamples:n,callNodeInfo:o,callNodeIndex:a}:null}renderContextMenuContents(){let{inverted:e,selectedTab:r,displaySearchfox:n,categories:o,browserConnectionStatus:a}=this.props,i=this.getRightClickedCallNodeInfo();if(i===null)return console.error("The context menu assumes there is a selected call node and there wasn't one."),(0,De.jsx)("div",{});let{callNodeIndex:s,thread:{funcTable:l},callNodeInfo:c}=i,d=c.categoryForNode(s),u=c.funcForNode(s),p=l.isJS[u],m=d!==-1,f=this.getNameForSelectedResource(),h=m?o[d].name:"",b=r==="calltree",g=this._getFilePath(),y=p&&g,v=g&&ha(g).path.match(/[^\\/]+$/)?.[0],S=c.getCallNodeTable(),x=p&&g&&g!=="self-hosted"&&a.status==="ESTABLISHED"&&this._getTabID();return(0,De.jsxs)(De.Fragment,{children:[v?(0,De.jsxs)(De.Fragment,{children:[this.renderMenuItemWithShortcut({l10nId:"CallNodeContextMenu--show-file",l10nProps:{vars:{fileName:v},elems:{strong:(0,De.jsx)("strong",{})}},onClick:this._handleClick,data:{type:"show-file"},shortcut:"\u23CE",content:`Show <strong>${v}</strong>`}),(0,De.jsx)("div",{className:"react-contextmenu-separator"})]}):null,this.renderTransformMenuItem({l10nId:"CallNodeContextMenu--transform-merge-function",shortcut:"m",icon:"Merge",onClick:this._handleClick,transform:"merge-function",title:"",content:"Merge function"}),e?null:this.renderTransformMenuItem({l10nId:"CallNodeContextMenu--transform-merge-call-node",shortcut:"M",icon:"Merge",onClick:this._handleClick,transform:"merge-call-node",title:"",content:"Merge node only"}),this.renderTransformMenuItem({l10nId:e?"CallNodeContextMenu--transform-focus-function-inverted":"CallNodeContextMenu--transform-focus-function",shortcut:"f",icon:"Focus",onClick:this._handleClick,transform:"focus-function",title:"",content:e?"Focus on function (inverted)":"Focus on function"}),this.renderTransformMenuItem({l10nId:"CallNodeContextMenu--transform-focus-subtree",shortcut:"F",icon:"Focus",onClick:this._handleClick,transform:"focus-subtree",title:"",content:"Focus on subtree only"}),this.renderTransformMenuItem({l10nId:"CallNodeContextMenu--transform-focus-self",shortcut:"S",icon:"FocusSelf",onClick:this._handleClick,transform:"focus-self",title:"",content:"Focus on self only"}),m?this.renderTransformMenuItem({l10nId:"CallNodeContextMenu--transform-focus-category",l10nProps:{vars:{categoryName:h},elems:{strong:(0,De.jsx)("strong",{})}},shortcut:"g",icon:"Focus",onClick:this._handleClick,transform:"focus-category",title:"",content:"Focus on category"}):null,this.renderTransformMenuItem({l10nId:"CallNodeContextMenu--transform-collapse-function-subtree",shortcut:"c",icon:"Collapse",onClick:this._handleClick,transform:"collapse-function-subtree",title:"",content:"Collapse function"}),f?this.renderTransformMenuItem({l10nId:"CallNodeContextMenu--transform-collapse-resource",l10nProps:{vars:{nameForResource:f},elems:{strong:(0,De.jsx)("strong",{})}},shortcut:"C",icon:"Collapse",onClick:this._handleClick,transform:"collapse-resource",title:"",content:`Collapse <strong>${f}</strong>`}):null,Hy(S,u)?this.renderTransformMenuItem({l10nId:"CallNodeContextMenu--transform-collapse-recursion",shortcut:"r",icon:"Collapse",onClick:this._handleClick,transform:"collapse-recursion",title:"",content:"Collapse recursion"}):null,By(S,u)?this.renderTransformMenuItem({l10nId:"CallNodeContextMenu--transform-collapse-direct-recursion-only",shortcut:"R",icon:"Collapse",onClick:this._handleClick,transform:"collapse-direct-recursion",title:"",content:"Collapse direct recursion only"}):null,this.renderTransformMenuItem({l10nId:"CallNodeContextMenu--transform-drop-function",shortcut:"d",icon:"Drop",onClick:this._handleClick,transform:"drop-function",title:"",content:"Drop samples with this function"}),(0,De.jsx)("div",{className:"react-contextmenu-separator"}),b?(0,De.jsxs)(De.Fragment,{children:[this.renderMenuItemWithShortcut({l10nId:"CallNodeContextMenu--expand-all",onClick:this._handleClick,data:{type:"expand-all"},shortcut:"*",content:"Expand all"}),(0,De.jsx)("div",{className:"react-contextmenu-separator"})]}):null,n?(0,De.jsx)(P,{id:"CallNodeContextMenu--searchfox",children:(0,De.jsx)(be,{onClick:this._handleClick,data:{type:"searchfox"},children:"Look up the function name on Searchfox"})}):null,(0,De.jsx)(P,{id:"CallNodeContextMenu--copy-function-name",children:(0,De.jsx)(be,{onClick:this._handleClick,data:{type:"copy-function-name"},children:"Copy function name"})}),y?(0,De.jsx)(P,{id:"CallNodeContextMenu--copy-script-url",children:(0,De.jsx)(be,{onClick:this._handleClick,data:{type:"copy-url"},children:"Copy script URL"})}):null,(0,De.jsx)(P,{id:"CallNodeContextMenu--copy-stack",children:(0,De.jsx)(be,{onClick:this._handleClick,data:{type:"copy-stack"},children:"Copy stack"})}),x?(0,De.jsx)(P,{id:"CallNodeContextMenu--show-the-function-in-devtools",children:(0,De.jsx)(be,{onClick:this._handleClick,data:{type:"show-function-in-devtools"},children:"Show the function in DevTools"})}):null]})}renderTransformMenuItem(e){return(0,De.jsxs)(be,{onClick:e.onClick,data:{type:e.transform},children:[(0,De.jsx)("span",{className:`react-contextmenu-icon callNodeContextMenuIcon${e.icon}`}),(0,De.jsx)(P,{id:e.l10nId,attrs:{title:!0},...e.l10nProps,children:(0,De.jsx)(Gie,{className:"react-contextmenu-item-content",title:e.title,children:e.content})}),(0,De.jsx)("kbd",{className:"callNodeContextMenuShortcut",children:e.shortcut})]})}renderMenuItemWithShortcut(e){return(0,De.jsxs)(be,{onClick:e.onClick,data:{type:e.data.type},children:[(0,De.jsx)(P,{id:e.l10nId,...e.l10nProps,children:(0,De.jsx)("div",{className:"react-contextmenu-item-content",children:e.content})}),(0,De.jsx)("kbd",{className:"callNodeContextMenuShortcut",children:e.shortcut})]})}render(){return this.getRightClickedCallNodeInfo()===null?null:(0,De.jsx)(vo,{id:"CallNodeContextMenu",className:"callNodeContextMenu",onShow:this._onShow,onHide:this._onHide,children:this.renderContextMenuContents()})}},sj=H({mapStateToProps:t=>{let e=Pb(t),r=null,n=null,o=null,a=null,i=null;if(e!==null){let s=dr(e.threadsKey);r=s.getFilteredThread(t),n=e.threadsKey,o=s.getPreviewFilteredCtssSamples(t),a=s.getCallNodeInfo(t),i=s.getRightClickedCallNodeIndex(t)}return{thread:r,threadsKey:n,previewFilteredCtssSamples:o,categories:Qe(t),callNodeInfo:a,rightClickedCallNodeIndex:i,implementation:kr(t),inverted:sr(t),selectedTab:Oe(t),displaySearchfox:vC(t),browserConnectionStatus:Pd(t),innerWindowIDToPageMap:Sn(t)}},mapDispatchToProps:{addTransformToStack:Lr,addCollapseResourceTransformToStack:Bb,expandAllCallNodeDescendants:XP,updateBottomBoxContentsAndMaybeOpen:Kn,setContextMenuVisibility:Vm},component:xN});function Gie(t){return(0,De.jsx)("div",{className:t.className,title:we`${t.title}`,children:t.children})}var IN=T(U());var ic=T(Iv());var oe=T(E()),wN=class extends IN.PureComponent{_setStartRange=e=>{let{updatePreviewSelection:r,previewSelection:n,committedRange:o}=this.props,a=n?n.selectionEnd:o.end;r({isModifying:!1,selectionStart:e,selectionEnd:a})};_setEndRange=e=>{let{updatePreviewSelection:r,committedRange:n,previewSelection:o}=this.props,a=o?o.selectionStart:n.start;e===a&&(e+=1e-4),r({isModifying:!1,selectionStart:a,selectionEnd:e})};setStartRangeFromMarkerStart=()=>{let{marker:e}=this.props;this._setStartRange(e.start)};setStartRangeFromMarkerEnd=()=>{let{marker:e}=this.props;this._setStartRange(e.end||e.start)};setEndRangeFromMarkerStart=()=>{let{marker:e}=this.props;this._setEndRange(e.start)};setEndRangeFromMarkerEnd=()=>{let{marker:e}=this.props;this._setEndRange(e.end||e.start)};setRangeByDuration=()=>{let{marker:e,updatePreviewSelection:r}=this.props;e.end!==null&&r({isModifying:!1,selectionStart:e.start,selectionEnd:e.end})};_isZeroDurationMarker(e){return!e||e.end===null}_convertStackToString(e){let{thread:r,implementationFilter:n}=this.props;return r===null||e===null?"":Fy(e,n,r).reverse().map(({funcName:a,origin:i})=>`${a} [${i}]`).join(`
|
|
154
|
+
`)}copyMarkerJSON=()=>{(0,ic.default)(JSON.stringify(this.props.marker,null,2))};copyMarkerDescription=()=>{let{markerIndex:e,getMarkerLabelToCopy:r}=this.props;(0,ic.default)(r(e))};copyMarkerCause=()=>{let{marker:e}=this.props;if(e.data&&"cause"in e.data&&e.data.cause){let r=this._convertStackToString(e.data.cause.stack);r?(0,ic.default)(r):(0,ic.default)("The stack is empty because all of its frames are filtered out by the implementation filter. Switch the implementation filter in the call tree to see more frames.")}};copyUrl=()=>{let{marker:e}=this.props;e.data&&e.data.type==="Network"&&(0,ic.default)(e.data.URI)};copyPageUrl=()=>{let{marker:e,innerWindowIDToPageMap:r}=this.props,{data:n}=e;if(!n||!("innerWindowID"in n)||!n.innerWindowID||!r)return;let o=r.get(n.innerWindowID);o&&(0,ic.default)(o.url)};selectOtherThreadForIPCMarkers=()=>{let{marker:e,selectTrackFromTid:r}=this.props;if(!e.data||e.data.type!=="IPC")return;let{data:n}=e,o=n.direction==="sending"?n.recvTid:n.sendTid;if(!o){console.warn("Unable to find the other tid for IPC marker");return}r(o)};maybeRenderIPCMarkerMenuItem(){let{marker:e,profiledThreadIds:r}=this.props,{data:n}=e;if(!n||n.type!=="IPC")return null;let o;switch(n.direction){case"sending":if(!n.recvTid)return console.warn("Unable to find the receiver tid for IPC marker"),null;if(!r.has(n.recvTid))return console.warn("Unable to find the receiver thread for IPC marker"),null;o=(0,oe.jsx)(P,{id:"MarkerContextMenu--select-the-receiver-thread",vars:{threadName:n.recvThreadName??""},elems:{strong:(0,oe.jsx)("strong",{})},children:(0,oe.jsxs)(oe.Fragment,{children:["Select the receiver thread \u201C",(0,oe.jsx)("strong",{children:n.recvThreadName??""}),"\u201D"]})});break;case"receiving":if(!n.sendTid)return console.warn("Unable to find the sender tid for IPC marker"),null;if(!r.has(n.sendTid))return console.warn("Unable to find the sender thread for IPC marker"),null;o=(0,oe.jsx)(P,{id:"MarkerContextMenu--select-the-sender-thread",vars:{threadName:n.sendThreadName??""},elems:{strong:(0,oe.jsx)("strong",{})},children:(0,oe.jsxs)(oe.Fragment,{children:["Select the sender thread \u201C",(0,oe.jsx)("strong",{children:n.sendThreadName??""}),"\u201D"]})});break;default:throw Y(n.direction,"Unhandled IPC marker direction type.")}return(0,oe.jsxs)(be,{onClick:this.selectOtherThreadForIPCMarkers,children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuSelectThread"}),o]})}maybeRenderCopyPageUrlItem(){let{marker:e,innerWindowIDToPageMap:r}=this.props,{data:n}=e;return!n||!("innerWindowID"in n)||!n.innerWindowID||!r||!r.get(n.innerWindowID)?null:(0,oe.jsxs)(be,{onClick:this.copyPageUrl,children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuIconCopyUrl"}),(0,oe.jsx)(P,{id:"MarkerContextMenu--copy-page-url",children:"Copy page URL"})]})}_hidingTimeout=null;_onHide=()=>{this._hidingTimeout=setTimeout(()=>{this._hidingTimeout=null,this.props.setContextMenuVisibility(!1)})};_onShow=()=>{this._hidingTimeout&&clearTimeout(this._hidingTimeout),this.props.setContextMenuVisibility(!0)};render(){let{marker:e,previewSelection:r,committedRange:n}=this.props,{data:o}=e,a=r?r.selectionEnd:n.end,i=r?r.selectionStart:n.start,s=e.end||e.start,l=e.start;return(0,oe.jsxs)(vo,{id:"MarkerContextMenu",className:"markerContextMenu",onShow:this._onShow,onHide:this._onHide,children:[(0,oe.jsxs)(be,{onClick:this.setRangeByDuration,disabled:this._isZeroDurationMarker(e),children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuIconSetSelectionFromMarker"}),(0,oe.jsx)(P,{id:"MarkerContextMenu--set-selection-from-duration",children:"Set selection from marker\u2019s duration"})]}),(0,oe.jsx)("div",{className:"react-contextmenu-separator"}),this._isZeroDurationMarker(e)?(0,oe.jsxs)(oe.Fragment,{children:[(0,oe.jsxs)(be,{onClick:this.setStartRangeFromMarkerStart,children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuIconStartSelectionHere"}),(0,oe.jsx)(P,{id:"MarkerContextMenu--start-selection-here",children:"Start selection here"})]}),(0,oe.jsxs)(be,{onClick:this.setEndRangeFromMarkerEnd,children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuIconEndSelectionHere"}),(0,oe.jsx)(P,{id:"MarkerContextMenu--end-selection-here",children:"End selection here"})]})]}):(0,oe.jsxs)(oe.Fragment,{children:[(0,oe.jsxs)(be,{onClick:this.setStartRangeFromMarkerStart,children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuIconStartSelectionAtMarkerStart"}),(0,oe.jsx)(P,{id:"MarkerContextMenu--start-selection-at-marker-start",elems:{strong:(0,oe.jsx)("strong",{})},children:(0,oe.jsxs)("div",{className:"react-contextmenu-item-content",children:["Start selection at marker\u2019s ",(0,oe.jsx)("strong",{children:"start"})]})})]}),(0,oe.jsxs)(be,{onClick:this.setStartRangeFromMarkerEnd,disabled:s>a,children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuIconStartSelectionAtMarkerEnd"}),(0,oe.jsx)(P,{id:"MarkerContextMenu--start-selection-at-marker-end",elems:{strong:(0,oe.jsx)("strong",{})},children:(0,oe.jsxs)("div",{className:"react-contextmenu-item-content",children:["Start selection at marker\u2019s ",(0,oe.jsx)("strong",{children:"end"})]})})]}),(0,oe.jsx)("div",{className:"react-contextmenu-separator"}),(0,oe.jsxs)(be,{onClick:this.setEndRangeFromMarkerStart,disabled:i>l,children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuIconEndSelectionAtMarkerStart"}),(0,oe.jsx)(P,{id:"MarkerContextMenu--end-selection-at-marker-start",elems:{strong:(0,oe.jsx)("strong",{})},children:(0,oe.jsxs)("div",{className:"react-contextmenu-item-content",children:["End selection at marker\u2019s ",(0,oe.jsx)("strong",{children:"start"})]})})]}),(0,oe.jsxs)(be,{onClick:this.setEndRangeFromMarkerEnd,children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuIconEndSelectionAtMarkerEnd"}),(0,oe.jsx)(P,{id:"MarkerContextMenu--end-selection-at-marker-end",elems:{strong:(0,oe.jsx)("strong",{})},children:(0,oe.jsxs)("div",{className:"react-contextmenu-item-content",children:["End selection at marker\u2019s ",(0,oe.jsx)("strong",{children:"end"})]})})]})]}),(0,oe.jsx)("div",{className:"react-contextmenu-separator"}),(0,oe.jsxs)(be,{onClick:this.copyMarkerDescription,children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuIconCopyDescription"}),(0,oe.jsx)(P,{id:"MarkerContextMenu--copy-description",children:"Copy description"})]}),o&&"cause"in o&&o.cause?(0,oe.jsxs)(be,{onClick:this.copyMarkerCause,children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuIconCopyStack"}),(0,oe.jsx)(P,{id:"MarkerContextMenu--copy-call-stack",children:"Copy call stack"})]}):null,o&&o.type==="Network"?(0,oe.jsxs)(be,{onClick:this.copyUrl,children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuIconCopyUrl"}),(0,oe.jsx)(P,{id:"MarkerContextMenu--copy-url",children:"Copy URL"})]}):null,this.maybeRenderCopyPageUrlItem(),(0,oe.jsxs)(be,{onClick:this.copyMarkerJSON,children:[(0,oe.jsx)("span",{className:"react-contextmenu-icon markerContextMenuIconCopyPayload"}),(0,oe.jsx)(P,{id:"MarkerContextMenu--copy-as-json",children:"Copy as JSON"})]}),this.maybeRenderIPCMarkerMenuItem()]})}},$ie=H({mapStateToProps:(t,e)=>{let{threadsKey:r,markerIndex:n}=e.rightClickedMarkerInfo,o=dr(r),a=o.getMarkerGetter(t);return{markerIndex:n,marker:a(n),previewSelection:mt(t),committedRange:de(t),implementationFilter:kr(t),thread:o.getThread(t),getMarkerLabelToCopy:o.getMarkerLabelToCopyGetter(t),profiledThreadIds:bC(t),innerWindowIDToPageMap:Sn(t)}},mapDispatchToProps:{updatePreviewSelection:dt,setContextMenuVisibility:Vm,selectTrackFromTid:OP},component:wN}),kN=class extends IN.PureComponent{render(){let{rightClickedMarkerInfo:e}=this.props;return e===null?null:(0,oe.jsx)($ie,{rightClickedMarkerInfo:e})}},lj=H({mapStateToProps:t=>({rightClickedMarkerInfo:Cb(t)}),component:kN});var Ir=T(E()),zie=768,CN=class extends cj.PureComponent{_onSelectTab=e=>{let{changeSelectedTab:r}=this.props,n=Ih(e);if(!n)throw new Error("Attempted to change to a tab that does not exist.");r(n)};_onClickSidebarButton=()=>{let{selectedTab:e,isSidebarOpen:r,changeSidebarOpenState:n}=this.props;n(e,!r)};componentDidMount(){let e=window.innerWidth,{selectedTab:r,isSidebarOpen:n,changeSidebarOpenState:o}=this.props;e<=zie&&n&&o(r,!1)}render(){let{visibleTabs:e,selectedTab:r,isSidebarOpen:n}=this.props,o=OT(r)!==null;return(0,Ir.jsxs)("div",{className:"Details",children:[(0,Ir.jsxs)("div",{className:"Details-top-bar",children:[(0,Ir.jsx)(uv,{selectedTabSlug:r,visibleTabs:e,onSelectTab:this._onSelectTab}),(0,Ir.jsx)(P,{id:n?"Details--close-sidebar-button":"Details--open-sidebar-button",attrs:{title:!0},vars:{isSidebarOpen:n},children:(0,Ir.jsx)("button",{className:(0,dj.default)("sidebar-open-close-button","photon-button","photon-button-ghost",{"sidebar-open-close-button-isopen":n,"sidebar-open-close-button-isclosed":!n}),title:n?"Close the sidebar":"Open the sidebar",type:"button",disabled:!o,onClick:this._onClickSidebarButton})})]}),(0,Ir.jsx)(P,{id:"Details--error-boundary-message",attrs:{message:!0},children:(0,Ir.jsx)(sv,{message:"Uh oh, some unknown error happened in this panel",children:{calltree:(0,Ir.jsx)(cz,{}),"flame-graph":(0,Ir.jsx)(U3,{}),"stack-chart":(0,Ir.jsx)(r3,{}),"marker-chart":(0,Ir.jsx)(m3,{}),"marker-table":(0,Ir.jsx)(Pz,{}),"network-chart":(0,Ir.jsx)(C3,{}),"js-tracer":(0,Ir.jsx)(Q3,{})}[r]},r)}),(0,Ir.jsx)(sj,{}),(0,Ir.jsx)(lj,{})]})}},uj=H({mapStateToProps:t=>({visibleTabs:j.getUsefulTabs(t),selectedTab:Oe(t),isSidebarOpen:_m(t)}),mapDispatchToProps:{changeSelectedTab:N0,changeSidebarOpenState:L0},component:CN});var Uf=T(E());function Vie({selectedTab:t,isSidebarOpen:e,invalidatePanelLayout:r}){let n=OT(t);return(0,Uf.jsxs)(pj.default,{customClassName:"DetailsContainer",percentage:!0,secondaryInitialSize:20,onDragEnd:r,children:[(0,Uf.jsx)(uj,{}),n&&e?(0,Uf.jsx)(n,{}):null]})}var mj=H({mapStateToProps:t=>({selectedTab:Oe(t),isSidebarOpen:_m(t)}),mapDispatchToProps:{invalidatePanelLayout:nf},component:Vie});var hj=T(U());var AN={};ve(AN,{beginLoadingAssemblyCodeFromBrowserConnection:()=>MN,beginLoadingAssemblyCodeFromUrl:()=>RN,beginLoadingSourceCodeFromBrowserConnection:()=>EN,beginLoadingSourceCodeFromUrl:()=>PN,failLoadingAssemblyCode:()=>DN,failLoadingSourceCode:()=>NN,finishLoadingAssemblyCode:()=>LN,finishLoadingSourceCode:()=>_N});function PN(t,e){return{type:"SOURCE_CODE_LOADING_BEGIN_URL",sourceIndex:t,url:e}}function EN(t){return{type:"SOURCE_CODE_LOADING_BEGIN_BROWSER_CONNECTION",sourceIndex:t}}function _N(t,e){return{type:"SOURCE_CODE_LOADING_SUCCESS",sourceIndex:t,code:e}}function NN(t,e){return{type:"SOURCE_CODE_LOADING_ERROR",sourceIndex:t,errors:e}}function RN(t,e){return{type:"ASSEMBLY_CODE_LOADING_BEGIN_URL",nativeSymbolKey:t,url:e}}function MN(t){return{type:"ASSEMBLY_CODE_LOADING_BEGIN_BROWSER_CONNECTION",nativeSymbolKey:t}}function LN(t,e){return{type:"ASSEMBLY_CODE_LOADING_SUCCESS",nativeSymbolKey:t,instructions:e}}function DN(t,e){return{type:"ASSEMBLY_CODE_LOADING_ERROR",nativeSymbolKey:t,errors:e}}var ON=class{_uint8Array;_bufferView;_position=0;_asciiDecoder=new TextDecoder("ascii",{fatal:!0});constructor(e){this._uint8Array=new Uint8Array(e),this._bufferView=new DataView(e)}readString(e){let r=this.readBuffer(e),n=r.indexOf(0);return n===-1?this._asciiDecoder.decode(r):this._asciiDecoder.decode(r.subarray(0,n))}readBuffer(e){let r=this._uint8Array.subarray(this.position(),this.position()+e);return this.seekBy(e),r}seekBy(e){this._position+=e}seekTo(e){this._position=e}peekUint32(){return this._bufferView.getUint32(this.position(),!0)}position(){return this._position}size(){return this._bufferView.byteLength}};function BT(t,e){let r=parseInt(t,e);if(isNaN(r))throw new Error("Parsing number failed");return r}function wu(t,e){return t===""?null:BT(t,e)}var HT=class t{_fields;static parse(e){let r=new Uint8Array(e),n=[],o=new TextDecoder("utf-8",{fatal:!0});for(;r.length>0;){let a=r.indexOf(32);if(a===-1)throw new Error("Expected space character");let i=BT(o.decode(r.subarray(0,a)),10),l=o.decode(r.subarray(0,i)).match(/^\d+ ([^=]+)=(.*)\n$/);if(l===null)throw new Error("Invalid PAX header data format.");let c=l[1],d=l[2];typeof d=="string"&&d.length===0?d=null:typeof d=="string"&&/^\d+$/.test(d)&&(d=BT(d,10));let u={name:c,value:d};n.push(u),r=r.subarray(i)}return new t(n)}constructor(e){this._fields=e}applyHeader(e){for(let r of this._fields){let n=r.name,o=r.value;n==="path"?(n="name",e.namePrefix!==void 0&&delete e.namePrefix):n==="linkpath"&&(n="linkname"),o===null?delete e[n]:e[n]=o}}},UT=class{_reader;_globalPaxHeader=null;constructor(e){this._reader=new ON(e)}hasNext(){return this._reader.position()+4<this._reader.size()&&this._reader.peekUint32()!==0}next(){return this._readNextFile()}_readNextFile(){let e=this._reader,r=e.position(),n=e.readString(100),o=e.readString(8),a=wu(e.readString(8),8),i=wu(e.readString(8),8),s=BT(e.readString(12),8),l=wu(e.readString(12),8),c=wu(e.readString(8),10),d=e.readString(1),u=e.readString(100),p=e.readString(6),m=null,f=null,h=null,b=null,g=null,y=null;p.indexOf("ustar")>-1&&(m=e.readString(2),f=e.readString(32),h=e.readString(32),b=wu(e.readString(8),10),g=wu(e.readString(8),10),y=e.readString(155),y.length>0&&(n=y+"/"+n));let v=(s-1|511)+1,S=r+512,x=S+v;if(e.seekTo(S),d==="g")return this._globalPaxHeader=HT.parse(e.readBuffer(s)),e.seekTo(x),this._readNextFile();if(d==="x"){let k=HT.parse(e.readBuffer(s));e.seekTo(x);let N=this._readNextFile();return k.applyHeader(N),N}let I=d==="0"||d===""||d==="7"?e.readBuffer(s):null;e.seekTo(x);let C={name:n,type:d,buffer:I,mode:o,uid:a,gid:i,size:s,mtime:l,checksum:c,linkname:u,ustarFormat:p,version:m,uname:f,gname:h,devmajor:b,devminor:g,namePrefix:y};return this._globalPaxHeader!==null&&this._globalPaxHeader.applyHeader(C),C}};async function GT(t,e,r,n,o){let a=[];try{let i=await n.queryBrowserSymbolicationApi(t,e);try{let s=JSON.parse(i);if(!s.error)return{type:"SUCCESS",convertedResponse:o(s)};a.push({type:"BROWSER_API_ERROR",apiErrorMessage:s.error})}catch(s){a.push({type:"BROWSER_API_MALFORMED_RESPONSE",errorMessage:s.toString()})}}catch(i){a.push({type:"BROWSER_CONNECTION_ERROR",browserConnectionErrorMessage:i.toString()})}if(r!==null){let i=r+t;try{let l=await(await n.fetchUrlResponse(i,e)).text();try{let c=JSON.parse(l);if(!c.error)return{type:"SUCCESS",convertedResponse:o(c)};a.push({type:"SYMBOL_SERVER_API_ERROR",apiErrorMessage:c.error})}catch(c){a.push({type:"SYMBOL_SERVER_API_MALFORMED_RESPONSE",errorMessage:c.toString()})}}catch(s){a.push({type:"NETWORK_ERROR",url:i,networkErrorMessage:s.toString()})}}return{type:"ERROR",errors:a}}var ku=class{_browserConnection;_callbacks;constructor(e,r){this._browserConnection=e,this._callbacks=r}async fetchUrlResponse(e,r){this._callbacks.onBeginUrlRequest(e);let n=r!==void 0?{body:r,method:"POST",mode:"cors",credentials:"omit"}:e.startsWith("/")?{}:{credentials:"omit"},o=await fetch(e,n);if(o.status!==200)throw new Error(`The request to ${e} returned HTTP status ${o.status}`);return o}async queryBrowserSymbolicationApi(e,r){let n=this._browserConnection;if(n===null)throw new Error("No connection to the browser.");return this._callbacks.onBeginBrowserConnectionQuery(),n.querySymbolicationApi(e,r)}fetchJSSourceFromBrowser(e){let r=this._browserConnection;if(r===null)throw new Error("No connection to the browser.");return this._callbacks.onBeginBrowserConnectionQuery(),r.getJSSource(e)}};async function fj(t,e,r,n,o,a){let i=[];if(n!==null){let c=jie(r)?r:null,{debugName:d,breakpadId:u,address:p}=n,m=await GT("/source/v1",JSON.stringify({debugName:d,debugId:u,moduleOffset:`0x${p.toString(16)}`,file:t}),c,a,Wie);switch(m.type){case"SUCCESS":return{type:"SUCCESS",source:m.convertedResponse};case"ERROR":{i.push(...m.errors);break}default:throw Y(m)}}if(e!==null)try{let c=await a.fetchJSSourceFromBrowser(e);if(c)return{type:"SUCCESS",source:c}}catch(c){i.push({type:"NOT_PRESENT_IN_BROWSER",sourceUuid:e,url:t,errorMessage:c.toString()})}let s=ha(t),l=cB(s);switch(l.type){case"CORS_ENABLED_SINGLE_FILE":{let{url:c}=l;try{return{type:"SUCCESS",source:await(await a.fetchUrlResponse(c)).text()}}catch(d){i.push({type:"NETWORK_ERROR",url:c,networkErrorMessage:d.toString()})}break}case"CORS_ENABLED_ARCHIVE":{let{archiveUrl:c,pathInArchive:d}=l,u=o.get(c);u===void 0&&(u=(async()=>{let p=await a.fetchUrlResponse(c),m=new Uint8Array(await p.arrayBuffer());return _d(m)?Ed(m):m})(),o.set(c,u));try{let p=await u,m=new UT(p.buffer),f=new TextDecoder;for(;m.hasNext();){let h=m.next();if(h.name===d&&h.buffer!==null)return{type:"SUCCESS",source:f.decode(h.buffer)}}i.push({type:"NOT_PRESENT_IN_ARCHIVE",url:c,pathInArchive:d})}catch(p){i.push({type:"ARCHIVE_PARSING_ERROR",url:c,parsingErrorMessage:p.toString()})}break}case"NO_KNOWN_CORS_URL":{i.push({type:"NO_KNOWN_CORS_URL"});break}default:throw Y(l)}return{type:"ERROR",errors:i}}function Wie(t){if(!("source"in t)||typeof t.source!="string")throw new Error('No string "source" property on API response');return t.source}function jie(t){return po(t)}var FN=class extends hj.default.PureComponent{_archiveCache=new Map;componentDidMount(){this._triggerSourceLoadingIfNeeded()}componentDidUpdate(){this._triggerSourceLoadingIfNeeded()}async _triggerSourceLoadingIfNeeded(){let{sourceViewSourceIndex:e,sourceViewCode:r,sourceViewFile:n,sourceViewSourceUuid:o,beginLoadingSourceCodeFromUrl:a,beginLoadingSourceCodeFromBrowserConnection:i,finishLoadingSourceCode:s,failLoadingSourceCode:l,symbolServerUrl:c,profile:d,browserConnection:u}=this.props;if(e===null||r||!n||!d)return;let p=WB(d,e),m=new ku(u,{onBeginUrlRequest:h=>{a(e,h)},onBeginBrowserConnectionQuery:()=>{i(e)}}),f=await fj(n,o,c,p,this._archiveCache,m);switch(f.type){case"SUCCESS":s(e,f.source);break;case"ERROR":l(e,f.errors);break;default:throw Y(f)}}render(){return null}},gj=H({mapStateToProps:t=>({sourceViewSourceIndex:ya(t),sourceViewFile:Sm(t),sourceViewSourceUuid:SC(t),sourceViewCode:Gm(t),symbolServerUrl:ys(t),profile:Vn(t),browserConnection:Ko(t)}),mapDispatchToProps:{beginLoadingSourceCodeFromUrl:PN,beginLoadingSourceCodeFromBrowserConnection:EN,finishLoadingSourceCode:_N,failLoadingSourceCode:NN},component:FN});var bj=T(U());async function yj(t,e,r,n){let o=Kie(r)?r:null,{debugName:a,breakpadId:i,name:s,codeId:l}=e,{address:c}=t,d=await GT("/asm/v1",JSON.stringify({debugName:a,debugId:i,name:s,codeId:l,startAddress:`0x${c.toString(16)}`,size:`0x${t.functionSize.toString(16)}`,continueUntilFunctionEnd:!t.functionSizeIsKnown}),o,n,Yie);switch(d.type){case"SUCCESS":return{type:"SUCCESS",instructions:d.convertedResponse};case"ERROR":return{type:"ERROR",errors:d.errors};default:throw Y(d,"queryResult.type")}}function Kie(t){return po(t)}function Yie(t){if(!t.startAddress)throw new Error("Missing startAddress field in asm response");if(!t.instructions)throw new Error("Missing instructions field in asm response");if(!Array.isArray(t.instructions))throw new Error("The instructions field in asm response is not an array");let{startAddress:e,instructions:r}=t,n=parseInt(e,16);if(isNaN(n))throw new Error("Invalid startAddress value in asm response");return r.map(o=>{if(!Array.isArray(o))throw new Error("Invalid instruction data (not an array)");if(o.length<2)throw new Error("Invalid instruction data (< 2 elements)");let[a,i]=o;if(typeof a!="number")throw new Error("Invalid instruction offset");if(typeof i!="string")throw new Error("Invalid instruction decodedString value");return{address:n+a,decodedString:i}})}var BN=class extends bj.default.PureComponent{componentDidMount(){this._triggerAssemblyLoadingIfNeeded()}componentDidUpdate(){this._triggerAssemblyLoadingIfNeeded()}_triggerAssemblyLoadingIfNeeded(){let{assemblyViewIsOpen:e,assemblyViewNativeSymbol:r,assemblyViewCode:n}=this.props;e&&r&&!n&&this._fetchAssemblyForNativeSymbol(r)}async _fetchAssemblyForNativeSymbol(e){let{beginLoadingAssemblyCodeFromUrl:r,beginLoadingAssemblyCodeFromBrowserConnection:n,finishLoadingAssemblyCode:o,failLoadingAssemblyCode:a,symbolServerUrl:i,profile:s,browserConnection:l}=this.props;if(s===null)return;let c=s.libs[e.libIndex],{debugName:d,breakpadId:u}=c,p=e.address.toString(16),m=`${d}/${u}/${p}`,f=new ku(l,{onBeginUrlRequest:b=>{r(m,b)},onBeginBrowserConnectionQuery:()=>{n(m)}}),h=await yj(e,c,i,f);switch(h.type){case"SUCCESS":o(m,h.instructions);break;case"ERROR":a(m,h.errors);break;default:throw Y(h)}}render(){return null}},vj=H({mapStateToProps:t=>({assemblyViewNativeSymbol:zo(t),assemblyViewCode:$m(t),assemblyViewIsOpen:Pl(t),symbolServerUrl:ys(t),profile:Vn(t),browserConnection:Ko(t)}),mapDispatchToProps:{beginLoadingAssemblyCodeFromUrl:RN,beginLoadingAssemblyCodeFromBrowserConnection:MN,finishLoadingAssemblyCode:LN,failLoadingAssemblyCode:DN},component:BN});var QT=T(U()),Bj=T(cv()),Hj=T(xe());var zT=T(U());var Ii=T(E()),qie=()=>(0,Ii.jsxs)("div",{className:"codeViewHeader",children:[(0,Ii.jsx)("span",{className:"codeViewHeaderColumn codeViewFixedColumn total",title:`The \u201Ctotal\u201D sample count includes a summary of every sample where this
|
|
155
|
+
line was observed to be on the stack. This includes the time where the
|
|
156
|
+
line was actually running, and the time spent in the callers from this
|
|
157
|
+
line.`,children:"Total"}),(0,Ii.jsx)("span",{className:"codeViewHeaderColumn codeViewFixedColumn self",title:`The \u201Cself\u201D sample count only includes the samples where the line was
|
|
158
|
+
the end of the stack. If this line called into other functions,
|
|
159
|
+
then the \u201Cother\u201D functions\u2019 counts are not included. The \u201Cself\u201D count is useful
|
|
160
|
+
for understanding where time was actually spent in a program.`,children:"Self"}),(0,Ii.jsx)("span",{className:"codeViewHeaderColumn codeViewMainColumn source"})]}),HN=null,$T=class extends zT.PureComponent{_ref=zT.createRef();_editor=null;_scrollToLine(e){this._editor&&this._editor.scrollToLine(e)}_getMaxLineNumber(){let{sourceCode:e,timings:r}=this.props,o=e.split(`
|
|
161
|
+
`).length;return o<=1&&(o=Math.max(1,...r.totalLineHits.keys())+10),o}_getSourceCodeOrFallback(){let{sourceCode:e}=this.props;return e!==""?e:`
|
|
162
|
+
`.repeat(this._getMaxLineNumber())}render(){return(0,Ii.jsxs)("div",{className:"sourceView codeView",children:[(0,Ii.jsx)(qie,{}),(0,Ii.jsx)("div",{className:"codeMirrorContainer",ref:this._ref})]})}componentDidMount(){HN===null&&(HN=import("/SourceView-codemirror-NF5HZACX.js")),(async()=>{let r=await $(HN),n=this._ref.current;if(!n)return;let{SourceViewEditor:o}=r,a=new o(this._getSourceCodeOrFallback(),this.props.filePath,this.props.timings,this.props.highlightedLine,n);this._editor=a,this.props.scrollToLineNumber!==void 0&&this._scrollToLine(Math.max(1,this.props.scrollToLineNumber-5))})()}componentDidUpdate(e){if(!this._editor)return;this.props.filePath!==e.filePath&&this._editor.updateLanguageForFilePath(this.props.filePath);let r=!1;(this.props.sourceCode!==e.sourceCode||this.props.sourceCode===""&&e.sourceCode===""&&this.props.timings!==e.timings)&&(this._editor.setContents(this._getSourceCodeOrFallback()),r=!0),(r||this.props.scrollGeneration!==e.scrollGeneration)&&this.props.scrollToLineNumber!==void 0&&this._scrollToLine(Math.max(1,this.props.scrollToLineNumber-5)),this.props.timings!==e.timings&&this._editor.setTimings(this.props.timings),this.props.highlightedLine!==e.highlightedLine&&this._editor.setHighlightedLine(this.props.highlightedLine)}};var WT=T(U());var Ci=T(E()),Xie=()=>(0,Ci.jsxs)("div",{className:"codeViewHeader",children:[(0,Ci.jsx)("span",{className:"codeViewHeaderColumn codeViewFixedColumn total",title:`The \u201Ctotal\u201D sample count includes a summary of every sample where this
|
|
163
|
+
line was observed to be on the stack. This includes the time where the
|
|
164
|
+
line was actually running, and the time spent in the callers from this
|
|
165
|
+
line.`,children:"Total"}),(0,Ci.jsx)("span",{className:"codeViewHeaderColumn codeViewFixedColumn self",title:`The \u201Cself\u201D sample count only includes the samples where the line was
|
|
166
|
+
the end of the stack. If this line called into other functions,
|
|
167
|
+
then the \u201Cother\u201D functions\u2019 counts are not included. The \u201Cself\u201D count is useful
|
|
168
|
+
for understanding where time was actually spent in a program.`,children:"Self"}),(0,Ci.jsx)("span",{className:"codeViewHeaderColumn codeViewMainColumn assembly"})]}),UN=null,VT=class extends WT.PureComponent{_ref=WT.createRef();_editor=null;_scrollToAddressWithSpaceOnTop(e,r){this._editor&&this._editor.scrollToAddressWithSpaceOnTop(e,r)}_getAssemblyCodeOrFallback(){let{assemblyCode:e}=this.props;if(e.length!==0)return e;let{timings:r,nativeSymbol:n}=this.props,o=[...r.totalAddressHits.keys()];return n!==null&&!r.totalAddressHits.has(n.address)&&o.push(n.address),o.sort((a,i)=>a-i),o.map(a=>({address:a,decodedString:""}))}render(){return(0,Ci.jsxs)("div",{className:"assemblyView codeView",children:[(0,Ci.jsx)(Xie,{}),(0,Ci.jsx)("div",{className:"codeMirrorContainer",ref:this._ref})]})}componentDidMount(){UN===null&&(UN=import("/AssemblyView-codemirror-D6IBMDRW.js")),(async()=>{let r=await $(UN),n=this._ref.current;if(!n)return;let{AssemblyViewEditor:o}=r,a=new o(this._getAssemblyCodeOrFallback(),this.props.timings,this.props.highlightedInstruction,n);this._editor=a,this.props.scrollToInstructionAddress!==void 0&&this._scrollToAddressWithSpaceOnTop(this.props.scrollToInstructionAddress,5)})()}componentDidUpdate(e){if(!this._editor)return;let r=!1;(this.props.assemblyCode!==e.assemblyCode||this.props.assemblyCode.length===0&&e.assemblyCode.length===0&&this.props.timings!==e.timings)&&(this._editor.setContents(this._getAssemblyCodeOrFallback()),r=!0),(r||this.props.scrollGeneration!==e.scrollGeneration)&&this.props.scrollToInstructionAddress!==void 0&&this._scrollToAddressWithSpaceOnTop(this.props.scrollToInstructionAddress,5),this.props.timings!==e.timings&&this._editor.setTimings(this.props.timings),this.props.highlightedInstruction!==e.highlightedInstruction&&this._editor.setHighlightedInstruction(this.props.highlightedInstruction)}};var Tj=T(U()),GN=T(xe());var Gf=T(E()),$N=class extends Tj.default.PureComponent{_onClick=()=>{this.props.assemblyViewIsOpen?this.props.closeAssemblyView():this.props.openAssemblyView()};render(){let{assemblyViewIsOpen:e,isAssemblyViewAvailable:r}=this.props;return e?(0,Gf.jsx)(P,{id:"AssemblyView--hide-button",attrs:{title:!0},children:(0,Gf.jsx)("button",{className:(0,GN.default)("bottom-assembly-button","photon-button","photon-button-ghost","photon-button-ghost--checked"),title:"Hide the assembly view",type:"button",onClick:this._onClick,disabled:!r})}):(0,Gf.jsx)(P,{id:"AssemblyView--show-button",attrs:{title:!0},children:(0,Gf.jsx)("button",{className:(0,GN.default)("bottom-assembly-button","photon-button","photon-button-ghost"),title:"Show the assembly view",type:"button",onClick:this._onClick,disabled:!r})})}},Sj=H({mapStateToProps:t=>({assemblyViewIsOpen:Pl(t),isAssemblyViewAvailable:kP(t)}),mapDispatchToProps:{openAssemblyView:s0,closeAssemblyView:c0},component:$N});var xj=T(U()),zN=T(xe());var na=T(E()),VN=class extends xj.default.PureComponent{_onPreviousClick=()=>{this._changeIndexBy(-1)};_onNextClick=()=>{this._changeIndexBy(1)};_changeIndexBy(e){let{assemblyViewCurrentNativeSymbolEntryIndex:r,assemblyViewNativeSymbolEntryCount:n,changeAssemblyViewNativeSymbolEntryIndex:o}=this.props,a=(r??0)+e;a>=0&&a<n&&o(a)}render(){let{assemblyViewCurrentNativeSymbolEntryIndex:e,assemblyViewNativeSymbolEntryCount:r}=this.props;return e===null||r<=1?null:(0,na.jsxs)(na.Fragment,{children:[(0,na.jsx)(P,{id:"AssemblyView--position-label",vars:{current:e+1,total:r},children:(0,na.jsx)("h3",{className:"bottom-box-title-trailer"})}),(0,na.jsx)(P,{id:"AssemblyView--prev-button",attrs:{title:!0},children:(0,na.jsx)("button",{className:(0,zN.default)("bottom-prev-button","photon-button","photon-button-ghost"),title:"Previous",type:"button",disabled:e<=0,onClick:this._onPreviousClick,children:"\u25C0"})}),(0,na.jsx)(P,{id:"AssemblyView--next-button",attrs:{title:!0},children:(0,na.jsx)("button",{className:(0,zN.default)("bottom-next-button","photon-button","photon-button-ghost"),title:"Next",type:"button",disabled:e>=r-1,onClick:this._onNextClick,children:"\u25B6"})})]})}},wj=H({mapStateToProps:t=>({assemblyViewCurrentNativeSymbolEntryIndex:II(t),assemblyViewNativeSymbolEntryCount:CI(t)}),mapDispatchToProps:{changeAssemblyViewNativeSymbolEntryIndex:l0},component:VN});function kj(t){t.version===void 0&&(t.version=0);for(let e of t.functions)Jie(e,t.version);return t}function Jie(t,e){for(let r of t.passes){for(let n of r.mir.blocks)Zie(n,e);for(let n of r.lir.blocks)ese(n,e)}return t}function Zie(t,e){var r;e===0&&(t.ptr=(r=t.id)!==null&&r!==void 0?r:t.number,t.id=t.number);for(let n of t.instructions)Qie(n,e);return t}function Qie(t,e){return e===0&&(t.ptr=t.id),t}function ese(t,e){var r;e===0&&(t.ptr=(r=t.id)!==null&&r!==void 0?r:t.number,t.id=t.number);for(let n of t.instructions)tse(n,e);return t}function tse(t,e){return e===0&&(t.ptr=t.id,t.mirPtr=null),t}function sc(t,e,r={}){var n,o,a,i;let s=e,l=[],c={get(){return s},set(d){s=d;for(let u of l)u(s)},valueOf(){return s},toString(){return String(s)},[Symbol.toPrimitive](d){return d==="string"?String(s):s},onChange(d){l.push(d)},initial:e,name:t,min:(n=r.min)!==null&&n!==void 0?n:0,max:(o=r.max)!==null&&o!==void 0?o:100,step:(a=r.step)!==null&&a!==void 0?a:1};return((i=r.tweaksObject)!==null&&i!==void 0?i:WN).add(c)}var jT=class{constructor(e){this.container=e.container,this.tweaks=[],this.callbacks=[]}add(e){let r=this.tweaks.find(c=>c.name===e.name);if(r)return r;this.tweaks.push(e);let n=document.createElement("div");this.container.appendChild(n),n.style.display="flex",n.style.alignItems="center",n.style.justifyContent="end",n.style.gap="0.5rem";let o=e.name.replace(/[a-zA-Z0-9]/g,"_"),a=document.createElement("label");n.appendChild(a),a.innerText=e.name,a.htmlFor=`tweak-${o}-input`;let i=document.createElement("input");n.appendChild(i),i.type="number",i.value=String(e),i.id=`tweak-${o}-input`,i.style.width="4rem",i.addEventListener("input",()=>{e.set(i.valueAsNumber)});let s=document.createElement("input");n.appendChild(s),s.type="range",s.value=String(e),s.min=String(e.min),s.max=String(e.max),s.step=e.step===0?"any":String(e.step),s.addEventListener("input",()=>{e.set(s.valueAsNumber)});let l=document.createElement("button");return n.appendChild(l),l.innerText="Reset",l.disabled=e.get()===e.initial,l.addEventListener("click",()=>{e.set(e.initial)}),e.onChange(c=>{i.value=String(c),s.value=String(c),l.disabled=e.get()===e.initial;for(let d of this.callbacks)d(e)}),e}onTweak(e){this.callbacks.push(e)}},Ij=document.createElement("div");Ij.classList.add("tweaks-panel");var WN=new jT({container:Ij});WN.onTweak(t=>{window.dispatchEvent(new CustomEvent("tweak",{detail:t}))});window.tweaks=WN;var rse=document.createElement("div"),nse=new jT({container:rse}),Cj=sc("Test Value",3,{tweaksObject:nse});Cj.set(4);Cj=4;function jN(t,e,r){return Math.max(e,Math.min(r,t))}function KT(t,e,r,n){return(t-e)*Math.pow(r,n)+e}function Ke(t,e,r=!1){if(!t)if(r)console.error(e??"Assertion failed");else throw new Error(e??"Assertion failed")}function oa(t,e){return Ke(t,e),t}var Pj=function(t,e,r,n){function o(a){return a instanceof r?a:new r(function(i){i(a)})}return new(r||(r=Promise))(function(a,i){function s(d){try{c(n.next(d))}catch(u){i(u)}}function l(d){try{c(n.throw(d))}catch(u){i(u)}}function c(d){d.done?a(d.value):o(d.value).then(s,l)}c((n=n.apply(t,e||[])).next())})},Lj=sc("Debug?",0,{min:0,max:1}),Pi=20,$f=44,nn=16,lc=60,cc=12,zf=36,Ej=16,Vf=16,ose=sc("Layout Iterations",2,{min:0,max:6}),_j=sc("Nearly Straight Threshold",30,{min:0,max:200}),ase=sc("Nearly Straight Iterations",8,{min:0,max:10}),Nj=sc("Stop At Pass",30,{min:0,max:30}),ise=1.5,sse=.01,lse=1,cse=.1,YT=40;function qT(t){return t.attributes.includes("loopheader")}function dse(t){return t.loopHeight!==void 0}function Iu(t){if(Ke(t),dse(t))return t;throw new Error("Block is not a pseudo LoopHeader")}var XT=1,Rj=2,KN=4,Wf=0,YN=1,qN=new Proxy(console,{get(t,e){let r=t[e];return typeof r!="function"?r:+Lj?r.bind(t):()=>{}}}),JT=class{constructor(e,r,n={}){var o,a,i,s,l,c;let d=r.mir.blocks;this.viewport=e;let u=e.getBoundingClientRect();this.viewportSize={x:u.width,y:u.height},this.graphContainer=document.createElement("div"),this.graphContainer.classList.add("ig-graph"),this.graphContainer.style.transformOrigin="top left",this.viewport.appendChild(this.graphContainer),this.pass=r,this.blocks=d,this.blocksInOrder=[...d].sort((b,g)=>b.id-g.id),this.blocksByID=new Map,this.blocksByPtr=new Map,this.insPtrsByID=new Map,this.insIDsByPtr=new Map,this.loops=[],this.sampleCounts=n.sampleCounts,this.maxSampleCounts=[0,0],this.heatmapMode=Wf;for(let[b,g]of(a=(o=this.sampleCounts)===null||o===void 0?void 0:o.totalLineHits)!==null&&a!==void 0?a:[])this.maxSampleCounts[Wf]=Math.max(this.maxSampleCounts[Wf],g);for(let[b,g]of(s=(i=this.sampleCounts)===null||i===void 0?void 0:i.selfLineHits)!==null&&s!==void 0?s:[])this.maxSampleCounts[YN]=Math.max(this.maxSampleCounts[YN],g);this.size={x:0,y:0},this.numLayers=0,this.zoom=1,this.translation={x:0,y:0},this.animating=!1,this.targetZoom=1,this.targetTranslation={x:0,y:0},this.startMousePos={x:0,y:0},this.lastMousePos={x:0,y:0},this.selectedBlockPtrs=new Set,this.lastSelectedBlockPtr=0,this.nav={visited:[],currentIndex:-1,siblings:[]},this.highlightedInstructions=[],this.instructionPalette=(l=n.instructionPalette)!==null&&l!==void 0?l:[0,1,2,3,4].map(b=>`var(--ig-highlight-${b})`);let p=new Map;for(let b of r.lir.blocks)p.set(b.id,b);for(let b of d){Ke(b.ptr,"blocks must always have non-null ptrs"),this.blocksByID.set(b.id,b),this.blocksByPtr.set(b.ptr,b);for(let y of b.instructions)this.insPtrsByID.set(y.id,y.ptr),this.insIDsByPtr.set(y.ptr,y.id);if(b.lir=(c=p.get(b.id))!==null&&c!==void 0?c:null,b.lir)for(let y of b.lir.instructions)this.insPtrsByID.set(y.id,y.ptr),this.insIDsByPtr.set(y.ptr,y.id);let g=this.renderBlock(b);if(b.el=g,b.layer=-1,b.loopID=-1,b.attributes.includes("loopheader")){let y=b;y.loopHeight=0,y.parentLoop=null,y.outgoingEdges=[]}}for(let b of d)b.size={x:b.el.clientWidth,y:b.el.clientHeight};for(let b of d)if(b.preds=b.predecessors.map(g=>oa(this.blocksByID.get(g))),b.succs=b.successors.map(g=>oa(this.blocksByID.get(g))),qT(b)){let g=b.preds.filter(y=>y.attributes.includes("backedge"));Ke(g.length===1),b.backedge=g[0]}let[m,f,h]=this.layout();this.render(m,f,h),this.addEventListeners()}layout(){let e=this.blocks.filter(a=>a.predecessors.length===0);for(let a of e){let i=a;i.loopHeight=0,i.parentLoop=null,i.outgoingEdges=[],Object.defineProperty(i,"backedge",{get(){throw new Error("Accessed .backedge on a pseudo loop header! Don't do that.")},configurable:!0})}for(let a of e)this.findLoops(a),this.layer(a);let r=this.makeLayoutNodes();this.straightenEdges(r);let n=this.finagleJoints(r),o=this.verticalize(r,n);return[r,o,n]}findLoops(e,r=null){if(r===null&&(r=[e.id]),!(e.loopID>=0)){if(qT(e)){Ke(e.loopDepth===r.length);let n=r[r.length-1],o=Iu(this.blocksByID.get(n));e.parentLoop=o,r=[...r,e.id]}if(e.loopDepth<r.length-1?r=r.slice(0,e.loopDepth+1):e.loopDepth>=r.length&&(e.loopDepth=r.length-1),e.loopID=r[e.loopDepth],!e.attributes.includes("backedge"))for(let n of e.succs)this.findLoops(n,r)}}layer(e,r=0){if(e.attributes.includes("backedge")){e.layer=e.succs[0].layer;return}if(r<=e.layer)return;e.layer=Math.max(e.layer,r),this.numLayers=Math.max(e.layer+1,this.numLayers);let n=Iu(this.blocksByID.get(e.loopID));for(;n;)n.loopHeight=Math.max(n.loopHeight,e.layer-n.layer+1),n=n.parentLoop;for(let o of e.succs)o.loopDepth<e.loopDepth?Iu(this.blocksByID.get(e.loopID)).outgoingEdges.push(o):this.layer(o,r+1);if(qT(e))for(let o of e.outgoingEdges)this.layer(o,r+e.loopHeight)}makeLayoutNodes(){function e(s,l,c){s.dstNodes[l]=c,c.srcNodes.includes(s)||c.srcNodes.push(s)}let r;{let s={};for(let l of this.blocks)s[l.layer]||(s[l.layer]=[]),s[l.layer].push(l);r=Object.entries(s).map(([l,c])=>[Number(l),c]).sort((l,c)=>l[0]-c[0]).map(([l,c])=>c)}let n=0,o=r.map(()=>[]),a=[],i=new Map;for(let[s,l]of r.entries()){let c=[];for(let m of l)for(let f=a.length-1;f>=0;f--){let h=a[f];h.dstBlock===m&&(c.unshift(h),a.splice(f,1))}let d=new Map;for(let m of a){let f,h=d.get(m.dstBlock.id);if(h)e(m.src,m.srcPort,h),f=h;else{let b={id:n++,pos:{x:Pi,y:Pi},size:{x:0,y:0},block:null,srcNodes:[],dstNodes:[],dstBlock:m.dstBlock,jointOffsets:[],flags:0};e(m.src,m.srcPort,b),o[s].push(b),d.set(m.dstBlock.id,b),f=b}m.src=f,m.srcPort=0}let u=[];for(let m of l){let f=Iu(this.blocksByID.get(m.loopID));for(;qT(f);){let h=u.find(g=>g.loopID===f.id);h?h.block=m:u.push({loopID:f.id,block:m});let b=f.parentLoop;if(!b)break;f=b}}let p=[];for(let m of l){let f={id:n++,pos:{x:Pi,y:Pi},size:m.size,block:m,srcNodes:[],dstNodes:[],jointOffsets:[],flags:0};for(let h of c)h.dstBlock===m&&e(h.src,h.srcPort,f);o[s].push(f),m.layoutNode=f;for(let h of u.filter(b=>b.block===m)){let b=Iu(this.blocksByID.get(h.loopID)).backedge,g={id:n++,pos:{x:Pi,y:Pi},size:{x:0,y:0},block:null,srcNodes:[],dstNodes:[],dstBlock:b,jointOffsets:[],flags:0},y=i.get(b);y?e(g,0,y):(g.flags|=KN,e(g,0,b.layoutNode)),o[s].push(g),i.set(b,g)}if(m.attributes.includes("backedge"))e(m.layoutNode,0,m.succs[0].layoutNode);else for(let[h,b]of m.succs.entries())b.attributes.includes("backedge")?p.push({src:f,srcPort:h,dstBlock:b}):a.push({src:f,srcPort:h,dstBlock:b})}for(let m of p){let f=oa(i.get(m.dstBlock));e(m.src,m.srcPort,f)}}{let s=[];for(let c of pse(o))c.srcNodes.length===0&&s.push(c);let l=new Set;for(let c of s){let d=c;for(;d.block===null&&d.srcNodes.length===0;)use(d),l.add(d),Ke(d.dstNodes.length===1),d=d.dstNodes[0]}for(let c of o)for(let d=c.length-1;d>=0;d--)l.has(c[d])&&c.splice(d,1)}for(let s of o){for(let l=0;l<s.length&&s[l].block===null;l++)s[l].flags|=XT;for(let l=s.length-1;l>=0&&s[l].block===null;l--)s[l].flags|=Rj}for(let s of o)for(let l of s){l.block?Ke(l.dstNodes.length===l.block.successors.length,`expected node ${l.id} for block ${l.block.id} to have ${l.block.successors.length} destination nodes, but got ${l.dstNodes.length} instead`):Ke(l.dstNodes.length===1,`expected dummy node ${l.id} to have only one destination node, but got ${l.dstNodes.length} instead`);for(let c=0;c<l.dstNodes.length;c++)Ke(l.dstNodes[c]!==void 0,`dst slot ${c} of node ${l.id} was undefined`)}return o}straightenEdges(e){var r,n;let o=f=>{for(let h=0;h<f.length-1;h++){let b=f[h],g=f[h+1],y=b.block===null&&g.block!==null,v=b.pos.x+b.size.x+(y?nn:0)+$f;g.pos.x=Math.max(g.pos.x,v)}},a=()=>{for(let f of e)for(let h of f){if(h.block===null)continue;let b=h.block.loopID!==null?Iu(this.blocksByID.get(h.block.loopID)):null;if(b){let g=b.layoutNode;h.pos.x=Math.max(h.pos.x,g.pos.x)}}},i=()=>{var f;let h=new Map;for(let b of XN(e)){let g=b.dstBlock,y=b.pos.x;h.set(g,Math.max((f=h.get(g))!==null&&f!==void 0?f:0,y))}for(let b of XN(e)){let g=b.dstBlock,y=h.get(g);Ke(y,`no position for backedge ${g.id}`),b.pos.x=y}for(let b of e)o(b)},s=()=>{var f;let h=new Map;for(let b of e){let g=0,y=0;for(;g<b.length;g++)if(!(b[g].flags&XT)){y=b[g].pos.x;break}for(g-=1,y-=$f+nn;g>=0;g--){let v=b[g];Ke(v.block===null&&v.flags&XT);let S=y;for(let x of v.srcNodes){let w=x.pos.x+x.dstNodes.indexOf(v)*lc;w<S&&(S=w)}v.dstBlock.layoutNode.pos.x<S&&(S=v.dstBlock.layoutNode.pos.x),v.pos.x=S,y=v.pos.x-$f,h.set(v.dstBlock,Math.min((f=h.get(v.dstBlock))!==null&&f!==void 0?f:1/0,S))}}for(let b of XN(e)){if(!(b.flags&XT))continue;let g=h.get(b.dstBlock);Ke(g,`no position for run to block ${b.dstBlock.id}`),b.pos.x=g}},l=()=>{for(let f=0;f<e.length-1;f++){let h=e[f];o(h);let b=-1;for(let g of h)for(let[y,v]of g.dstNodes.entries()){let S=e[f+1].indexOf(v);if(S>b&&v.srcNodes[0]===g){let x=nn+lc*y,w=nn,I=v.pos.x;v.pos.x=Math.max(v.pos.x,g.pos.x+x-w),v.pos.x!==I&&(b=S)}}}},c=()=>{for(let f of e){for(let h=f.length-1;h>=0;h--){let b=f[h];if(!b.block||b.block.attributes.includes("backedge"))continue;let g=[];for(let y of b.srcNodes){let v=nn+y.dstNodes.indexOf(b)*lc,S=nn;g.push(y.pos.x+v-(b.pos.x+S))}for(let[y,v]of b.dstNodes.entries()){if(v.block===null&&v.dstBlock.attributes.includes("backedge"))continue;let S=nn+y*lc,x=nn;g.push(v.pos.x+x-(b.pos.x+S))}if(!g.includes(0)){g=g.filter(y=>y>0).sort((y,v)=>y-v);for(let y of g){let v=!1;for(let S=h+1;S<f.length;S++){let x=f[S];if(x.flags&Rj)continue;let w=b.pos.x+y,I=b.pos.x+y+b.size.x,C=x.pos.x-$f,k=x.pos.x+x.size.x+$f;I>=C&&w<=k&&(v=!0)}if(!v){b.pos.x+=y;break}}}}o(f)}},d=()=>{for(let f=e.length-1;f>=0;f--){let h=e[f];o(h);for(let b of h)for(let g of b.srcNodes){if(g.block!==null)continue;Math.abs(g.pos.x-b.pos.x)<=_j&&(g.pos.x=Math.max(g.pos.x,b.pos.x),b.pos.x=Math.max(g.pos.x,b.pos.x))}}},u=()=>{for(let f=0;f<e.length;f++){let h=e[f];o(h);for(let b of h){if(b.dstNodes.length===0)continue;let g=b.dstNodes[0];if(g.block!==null)continue;Math.abs(g.pos.x-b.pos.x)<=_j&&(g.pos.x=Math.max(g.pos.x,b.pos.x),b.pos.x=Math.max(g.pos.x,b.pos.x))}}};function p(f,h){let b=[];for(let g=0;g<h;g++)for(let y of f)b.push(y);return b}let m=[...p([l,a,i],ose),i,...p([d,u],ase),c,i,s];Ke(m.length<=((r=Nj.initial)!==null&&r!==void 0?r:1/0),`STOP_AT_PASS was too small - should be at least ${m.length}`),qN.group("Running passes");for(let[f,h]of m.entries())f<Nj&&(qN.log((n=h.name)!==null&&n!==void 0?n:h.toString()),h());qN.groupEnd()}finagleJoints(e){var r;let n=[];for(let o of e){let a=[];for(let d of o)if(d.jointOffsets=new Array(d.dstNodes.length).fill(0),!(!((r=d.block)===null||r===void 0)&&r.attributes.includes("backedge")))for(let[u,p]of d.dstNodes.entries()){let m=d.pos.x+nn+lc*u,f=p.pos.x+nn;Math.abs(f-m)<2*cc||a.push({x1:m,x2:f,src:d,srcPort:u,dst:p})}a.sort((d,u)=>d.x1-u.x1);let i=[],s=[];e:for(let d of a){let u=d.x2-d.x1>=0?i:s,p=null;for(let m=u.length-1;m>=0;m--){let f=u[m],h=!1;for(let b of f){if(d.dst===b.dst){f.push(d);continue e}let g=Math.min(d.x1,d.x2),y=Math.max(d.x1,d.x2),v=Math.min(b.x1,b.x2),S=Math.max(b.x1,b.x2);if(y>=v&&g<=S){h=!0;break}}if(h)break;p=f}p?p.push(d):u.push([d])}let l=Math.max(0,i.length+s.length-1)*Ej,c=-l/2;for(let d of[...i.reverse(),...s]){for(let u of d)u.src.jointOffsets[u.srcPort]=c;c+=Ej}n.push(l)}return Ke(n.length===e.length),n}verticalize(e,r){let n=new Array(e.length),o=Pi;for(let a=0;a<e.length;a++){let i=e[a],s=0;for(let l of i)l.pos.y=o,s=Math.max(s,l.size.y);n[a]=s,o+=s+zf+r[a]+zf}return n}renderBlock(e){let r=document.createElement("div");this.graphContainer.appendChild(r),r.classList.add("ig-block","ig-bg-white");for(let s of e.attributes)r.classList.add(`ig-block-att-${s}`);r.setAttribute("data-ig-block-ptr",`${e.ptr}`),r.setAttribute("data-ig-block-id",`${e.id}`);let n="";e.attributes.includes("loopheader")?n=" (loop header)":e.attributes.includes("backedge")?n=" (backedge)":e.attributes.includes("splitedge")&&(n=" (split edge)");let o=document.createElement("div");o.classList.add("ig-block-header"),o.innerText=`Block ${e.id}${n}`,r.appendChild(o);let a=document.createElement("div");a.classList.add("ig-instructions"),r.appendChild(a);let i=document.createElement("table");if(e.lir){i.innerHTML=`
|
|
169
|
+
<colgroup>
|
|
170
|
+
<col style="width: 1px">
|
|
171
|
+
<col style="width: auto">
|
|
172
|
+
${this.sampleCounts?`
|
|
173
|
+
<col style="width: 1px">
|
|
174
|
+
<col style="width: 1px">
|
|
175
|
+
`:""}
|
|
176
|
+
</colgroup>
|
|
177
|
+
${this.sampleCounts?`
|
|
178
|
+
<thead>
|
|
179
|
+
<tr>
|
|
180
|
+
<th></th>
|
|
181
|
+
<th></th>
|
|
182
|
+
<th class="ig-f6">Total</th>
|
|
183
|
+
<th class="ig-f6">Self</th>
|
|
184
|
+
</tr>
|
|
185
|
+
</thead>
|
|
186
|
+
`:""}
|
|
187
|
+
`;for(let s of e.lir.instructions)i.appendChild(this.renderLIRInstruction(s))}else{i.innerHTML=`
|
|
188
|
+
<colgroup>
|
|
189
|
+
<col style="width: 1px">
|
|
190
|
+
<col style="width: auto">
|
|
191
|
+
<col style="width: 1px">
|
|
192
|
+
</colgroup>
|
|
193
|
+
`;for(let s of e.instructions)i.appendChild(this.renderMIRInstruction(s))}if(a.appendChild(i),e.successors.length===2)for(let[s,l]of[1,0].entries()){let c=document.createElement("div");c.innerText=`${l}`,c.classList.add("ig-edge-label"),c.style.left=`${nn+lc*s}px`,r.appendChild(c)}return o.addEventListener("pointerdown",s=>{s.preventDefault(),s.stopPropagation()}),o.addEventListener("click",s=>{s.stopPropagation(),s.shiftKey||this.selectedBlockPtrs.clear(),this.setSelection([],e.ptr)}),r}render(e,r,n){var o;for(let l of e)for(let c of l)if(c.block!==null){let d=c.block;d.el.style.left=`${c.pos.x}px`,d.el.style.top=`${c.pos.y}px`}let a=0,i=0;for(let l of e)for(let c of l)a=Math.max(a,c.pos.x+c.size.x+Pi),i=Math.max(i,c.pos.y+c.size.y+Pi);let s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.setAttribute("width",`${a}`),s.setAttribute("height",`${i}`),this.graphContainer.appendChild(s),this.size={x:a,y:i};for(let l=0;l<e.length;l++){let c=e[l];for(let d of c){d.block||Ke(d.dstNodes.length===1,`dummy nodes must have exactly one destination, but dummy ${d.id} had ${d.dstNodes.length}`),Ke(d.dstNodes.length===d.jointOffsets.length,"must have a joint offset for each destination");for(let[u,p]of d.dstNodes.entries()){let m=d.pos.x+nn+lc*u,f=d.pos.y+d.size.y;if(!((o=d.block)===null||o===void 0)&&o.attributes.includes("backedge")){let h=d.block.succs[0],b=d.pos.x,g=d.pos.y+Vf,y=h.layoutNode.pos.x+h.size.x,v=h.layoutNode.pos.y+Vf,S=yse(b,g,y,v);s.appendChild(S)}else if(d.flags&KN){let h=oa(p.block),b=d.pos.x+nn,g=d.pos.y+Vf+cc,y=h.layoutNode.pos.x+h.size.x,v=h.layoutNode.pos.y+Vf,S=hse(b,g,y,v);s.appendChild(S)}else if(p.block===null&&p.dstBlock.attributes.includes("backedge")){let h=p.pos.x+nn,b=p.pos.y+(p.flags&KN?Vf+cc:0);if(d.block===null){let g=f-zf,y=fse(m,f,h,b,g,!1);s.appendChild(y)}else{let g=f-d.size.y+r[l]+zf+n[l]/2+d.jointOffsets[u],y=gse(m,f,h,b,g);s.appendChild(y)}}else{let h=p.pos.x+nn,b=p.pos.y,g=f-d.size.y+r[l]+zf+n[l]/2+d.jointOffsets[u],y=mse(m,f,h,b,g,p.block!==null);s.appendChild(y)}}}}if(+Lj)for(let l of e)for(let c of l){let d=document.createElement("div");d.innerHTML=`${c.id}<br><- ${c.srcNodes.map(u=>u.id)}<br>-> ${c.dstNodes.map(u=>u.id)}<br>${c.flags}`,d.style.position="absolute",d.style.border="1px solid black",d.style.backgroundColor="white",d.style.left=`${c.pos.x}px`,d.style.top=`${c.pos.y}px`,d.style.whiteSpace="nowrap",this.graphContainer.appendChild(d)}this.updateHighlightedInstructions(),this.updateHotness()}renderMIRInstruction(e){let r=e.opcode.replace("->","\u2192").replace("<-","\u2190"),n=document.createElement("tr");n.classList.add("ig-ins","ig-ins-mir","ig-can-flash",...e.attributes.map(s=>`ig-ins-att-${s}`)),n.setAttribute("data-ig-ins-ptr",`${e.ptr}`),n.setAttribute("data-ig-ins-id",`${e.id}`);let o=document.createElement("td");o.classList.add("ig-ins-num"),o.innerText=String(e.id),n.appendChild(o);let a=document.createElement("td");a.innerHTML=r.replace(/([A-Za-z0-9_]+)#(\d+)/g,(s,l,c)=>`<span class="ig-use ig-highlightable" data-ig-use="${c}">${l}#${c}</span>`),n.appendChild(a);let i=document.createElement("td");return i.classList.add("ig-ins-type"),i.innerText=e.type==="None"?"":e.type,n.appendChild(i),o.addEventListener("pointerdown",s=>{s.preventDefault(),s.stopPropagation()}),o.addEventListener("click",()=>{this.toggleInstructionHighlight(e.ptr)}),a.querySelectorAll(".ig-use").forEach(s=>{s.addEventListener("pointerdown",l=>{l.preventDefault(),l.stopPropagation()}),s.addEventListener("click",l=>{let c=parseInt(oa(s.getAttribute("data-ig-use")),10);this.jumpToInstruction(c,{zoom:1})})}),n}renderLIRInstruction(e){var r,n,o,a;let i=e.opcode.replace("->","\u2192").replace("<-","\u2190"),s=document.createElement("tr");s.classList.add("ig-ins","ig-ins-lir","ig-hotness"),s.setAttribute("data-ig-ins-ptr",`${e.ptr}`),s.setAttribute("data-ig-ins-id",`${e.id}`);let l=document.createElement("td");l.classList.add("ig-ins-num"),l.innerText=String(e.id),s.appendChild(l);let c=document.createElement("td");if(c.innerText=i,s.appendChild(c),this.sampleCounts){let d=(n=(r=this.sampleCounts)===null||r===void 0?void 0:r.totalLineHits.get(e.id))!==null&&n!==void 0?n:0,u=(a=(o=this.sampleCounts)===null||o===void 0?void 0:o.selfLineHits.get(e.id))!==null&&a!==void 0?a:0,p=document.createElement("td");p.classList.add("ig-ins-samples"),p.classList.toggle("ig-text-dim",d===0),p.innerText=`${d}`,p.title="Color by total count",s.appendChild(p);let m=document.createElement("td");m.classList.add("ig-ins-samples"),m.classList.toggle("ig-text-dim",u===0),m.innerText=`${u}`,m.title="Color by self count",s.appendChild(m);for(let[f,h]of[p,m].entries())h.addEventListener("pointerdown",b=>{b.preventDefault(),b.stopPropagation()}),h.addEventListener("click",()=>{Ke(f===Wf||f===YN),this.heatmapMode=f,this.updateHotness()})}return l.addEventListener("pointerdown",d=>{d.preventDefault(),d.stopPropagation()}),l.addEventListener("click",()=>{this.toggleInstructionHighlight(e.ptr)}),s}renderSelection(){this.graphContainer.querySelectorAll(".ig-block").forEach(e=>{let r=parseInt(oa(e.getAttribute("data-ig-block-ptr")),10);e.classList.toggle("ig-selected",this.selectedBlockPtrs.has(r)),e.classList.toggle("ig-last-selected",this.lastSelectedBlockPtr===r)})}removeNonexistentHighlights(){this.highlightedInstructions=this.highlightedInstructions.filter(e=>this.graphContainer.querySelector(`.ig-ins[data-ig-ins-ptr="${e.ptr}"]`))}updateHighlightedInstructions(){for(let e of this.highlightedInstructions)Ke(this.highlightedInstructions.filter(r=>r.ptr===e.ptr).length===1,`instruction ${e.ptr} was highlighted more than once`);this.graphContainer.querySelectorAll(".ig-ins, .ig-use").forEach(e=>{bse(e)});for(let e of this.highlightedInstructions){let r=this.instructionPalette[e.paletteColor%this.instructionPalette.length],n=this.graphContainer.querySelector(`.ig-ins[data-ig-ins-ptr="${e.ptr}"]`);if(n){Mj(n,r);let o=this.insIDsByPtr.get(e.ptr);this.graphContainer.querySelectorAll(`.ig-use[data-ig-use="${o}"]`).forEach(a=>{Mj(a,r)})}}}updateHotness(){this.graphContainer.querySelectorAll(".ig-ins-lir").forEach(e=>{var r;Ke(e.classList.contains("ig-hotness"));let n=parseInt(oa(e.getAttribute("data-ig-ins-id")),10),o=0;this.sampleCounts&&(o=((r=(this.heatmapMode===Wf?this.sampleCounts.totalLineHits:this.sampleCounts.selfLineHits).get(n))!==null&&r!==void 0?r:0)/this.maxSampleCounts[this.heatmapMode]),e.style.setProperty("--ig-hotness",`${o}`)})}addEventListeners(){this.viewport.addEventListener("wheel",r=>{r.preventDefault();let n=this.zoom;if(r.ctrlKey){n=Math.max(cse,Math.min(lse,this.zoom*Math.pow(ise,-r.deltaY*sse)));let a=n/this.zoom-1;this.zoom=n;let{x:i,y:s}=this.viewport.getBoundingClientRect(),l=r.clientX-i-this.translation.x,c=r.clientY-s-this.translation.y;this.translation.x-=l*a,this.translation.y-=c*a}else this.translation.x-=r.deltaX,this.translation.y-=r.deltaY;let o=this.clampTranslation(this.translation,n);this.translation.x=o.x,this.translation.y=o.y,this.animating=!1,this.updatePanAndZoom()}),this.viewport.addEventListener("pointerdown",r=>{r.pointerType==="mouse"&&!(r.button===0||r.button===1)||(r.preventDefault(),this.viewport.setPointerCapture(r.pointerId),this.startMousePos={x:r.clientX,y:r.clientY},this.lastMousePos={x:r.clientX,y:r.clientY},this.animating=!1)}),this.viewport.addEventListener("pointermove",r=>{if(!this.viewport.hasPointerCapture(r.pointerId))return;let n=r.clientX-this.lastMousePos.x,o=r.clientY-this.lastMousePos.y;this.translation.x+=n,this.translation.y+=o,this.lastMousePos={x:r.clientX,y:r.clientY};let a=this.clampTranslation(this.translation,this.zoom);this.translation.x=a.x,this.translation.y=a.y,this.animating=!1,this.updatePanAndZoom()}),this.viewport.addEventListener("pointerup",r=>{this.viewport.releasePointerCapture(r.pointerId);let n=2,o=this.startMousePos.x-r.clientX,a=this.startMousePos.y-r.clientY;Math.abs(o)<=n&&Math.abs(a)<=n&&this.setSelection([]),this.animating=!1}),new ResizeObserver(r=>{Ke(r.length===1);let n=r[0].contentRect;this.viewportSize.x=n.width,this.viewportSize.y=n.height}).observe(this.viewport)}setSelection(e,r=0){this.setSelectionRaw(e,r),r?this.nav={visited:[r],currentIndex:0,siblings:[r]}:this.nav={visited:[],currentIndex:-1,siblings:[]}}setSelectionRaw(e,r){this.selectedBlockPtrs.clear();for(let n of[...e,r])this.blocksByPtr.has(n)&&this.selectedBlockPtrs.add(n);this.lastSelectedBlockPtr=this.blocksByPtr.has(r)?r:0,this.renderSelection()}navigate(e){let r=this.lastSelectedBlockPtr;if(e==="down"||e==="up")if(r){let n=oa(this.blocksByPtr.get(r)),o=(e==="down"?n.successors:n.predecessors).map(i=>oa(this.blocksByID.get(i)).ptr);n.ptr!==this.nav.visited[this.nav.currentIndex]&&(this.nav.visited=[n.ptr],this.nav.currentIndex=0);let a=this.nav.currentIndex+(e==="down"?1:-1);if(0<=a&&a<this.nav.visited.length)this.nav.currentIndex=a,this.nav.siblings=o;else{let i=o[0];i!==void 0&&(e==="down"?(this.nav.visited.push(i),this.nav.currentIndex+=1,Ke(this.nav.currentIndex===this.nav.visited.length-1)):(this.nav.visited.unshift(i),Ke(this.nav.currentIndex===0)),this.nav.siblings=o)}this.setSelectionRaw([],this.nav.visited[this.nav.currentIndex])}else{let n=this.blocksInOrder,o=n.filter(l=>l.predecessors.length===0),a=n.filter(l=>l.successors.length===0),i=e==="down"?o:a,s=i[0];Ke(s),this.setSelectionRaw([],s.ptr),this.nav={visited:[s.ptr],currentIndex:0,siblings:i.map(l=>l.ptr)}}else if(r!==void 0){let n=this.nav.siblings.indexOf(r);Ke(n>=0,"currently selected node should be in siblings array");let o=n+(e==="right"?1:-1);0<=o&&o<this.nav.siblings.length&&this.setSelectionRaw([],this.nav.siblings[o])}Ke(this.nav.visited.length===0||this.nav.siblings.includes(this.nav.visited[this.nav.currentIndex]),"expected currently visited node to be in the siblings array"),Ke(this.lastSelectedBlockPtr===0||this.nav.siblings.includes(this.lastSelectedBlockPtr),"expected currently selected block to be in siblings array")}toggleInstructionHighlight(e,r){this.removeNonexistentHighlights();let n=this.highlightedInstructions.findIndex(a=>a.ptr===e),o=n>=0;if(r!==void 0&&(o=!r),o)n>=0&&this.highlightedInstructions.splice(n,1);else if(n<0){let a=0;for(;;){if(this.highlightedInstructions.find(i=>i.paletteColor===a)){a+=1;continue}break}this.highlightedInstructions.push({ptr:e,paletteColor:a})}this.updateHighlightedInstructions()}clampTranslation(e,r){let n=YT-this.size.x*r,o=this.viewportSize.x-YT,a=YT-this.size.y*r,i=this.viewportSize.y-YT,s=jN(e.x,n,o),l=jN(e.y,a,i);return{x:s,y:l}}updatePanAndZoom(){let e=this.clampTranslation(this.translation,this.zoom);this.graphContainer.style.transform=`translate(${e.x}px, ${e.y}px) scale(${this.zoom})`}graph2viewport(e,r=this.translation,n=this.zoom){return{x:e.x*n+r.x,y:e.y*n+r.y}}viewport2graph(e,r=this.translation,n=this.zoom){return{x:(e.x-r.x)/n,y:(e.y-r.y)/n}}goToGraphCoordinates(e,r){return Pj(this,arguments,void 0,function*(n,{zoom:o=this.zoom,animate:a=!0}){let i={x:-n.x*o,y:-n.y*o};if(!a){this.animating=!1,this.translation.x=i.x,this.translation.y=i.y,this.zoom=o,this.updatePanAndZoom(),yield new Promise(l=>setTimeout(l,0));return}if(this.targetTranslation=i,this.targetZoom=o,this.animating)return;this.animating=!0;let s=performance.now();for(;this.animating;){let l=yield new Promise(b=>requestAnimationFrame(b)),c=(l-s)/1e3;s=l;let d=1,u=.01,p=1e-6,m=this.targetTranslation.x-this.translation.x,f=this.targetTranslation.y-this.translation.y,h=this.targetZoom-this.zoom;if(this.translation.x=KT(this.translation.x,this.targetTranslation.x,p,c),this.translation.y=KT(this.translation.y,this.targetTranslation.y,p,c),this.zoom=KT(this.zoom,this.targetZoom,p,c),this.updatePanAndZoom(),Math.abs(m)<=d&&Math.abs(f)<=d&&Math.abs(h)<=u){this.translation.x=this.targetTranslation.x,this.translation.y=this.targetTranslation.y,this.zoom=this.targetZoom,this.animating=!1,this.updatePanAndZoom();break}}yield new Promise(l=>setTimeout(l,0))})}jumpToBlock(e,{zoom:r=this.zoom,animate:n=!0,viewportPos:o}={}){let a=this.blocksByPtr.get(e);if(!a)return Promise.resolve();let i;return o?i={x:a.layoutNode.pos.x-o.x/r,y:a.layoutNode.pos.y-o.y/r}:i=this.graphPosToCenterRect(a.layoutNode.pos,a.layoutNode.size,r),this.goToGraphCoordinates(i,{zoom:r,animate:n})}jumpToInstruction(e,r){return Pj(this,arguments,void 0,function*(n,{zoom:o=this.zoom,animate:a=!0}){let i=this.graphContainer.querySelector(`.ig-ins[data-ig-ins-id="${n}"]`);if(!i)return;let s=i.getBoundingClientRect(),l=this.graphContainer.getBoundingClientRect(),c=(s.x-l.x)/this.zoom,d=(s.y-l.y)/this.zoom,u=s.width/this.zoom,p=s.height/this.zoom,m=this.graphPosToCenterRect({x:c,y:d},{x:u,y:p},o);i.classList.add("ig-flash"),yield this.goToGraphCoordinates(m,{zoom:o,animate:a}),i.classList.remove("ig-flash")})}graphPosToCenterRect(e,r,n){let o=this.viewportSize.x/n,a=this.viewportSize.y/n,i=Math.max(20/n,(o-r.x)/2),s=Math.max(20/n,(a-r.y)/2),l=e.x-i,c=e.y-s;return{x:l,y:c}}exportState(){let e={translation:this.translation,zoom:this.zoom,heatmapMode:this.heatmapMode,highlightedInstructions:this.highlightedInstructions,selectedBlockPtrs:this.selectedBlockPtrs,lastSelectedBlockPtr:this.lastSelectedBlockPtr,viewportPosOfSelectedBlock:void 0};return this.lastSelectedBlockPtr&&(e.viewportPosOfSelectedBlock=this.graph2viewport(oa(this.blocksByPtr.get(this.lastSelectedBlockPtr)).layoutNode.pos)),e}restoreState(e,r){this.translation.x=e.translation.x,this.translation.y=e.translation.y,this.zoom=e.zoom,this.heatmapMode=e.heatmapMode,this.highlightedInstructions=e.highlightedInstructions,this.setSelection(Array.from(e.selectedBlockPtrs),e.lastSelectedBlockPtr),this.updatePanAndZoom(),this.updateHotness(),this.updateHighlightedInstructions(),r.preserveSelectedBlockPosition&&this.jumpToBlock(this.lastSelectedBlockPtr,{zoom:this.zoom,animate:!1,viewportPos:e.viewportPosOfSelectedBlock})}};function use(t){for(let e of t.dstNodes){let r=e.srcNodes.indexOf(t);Ke(r!==-1),e.srcNodes.splice(r,1)}}function*XN(t){for(let e of t)for(let r of e)r.block===null&&(yield r)}function*pse(t){for(let e of t)for(let r of e)r.block===null&&r.dstBlock.attributes.includes("backedge")&&(yield r)}function mse(t,e,r,n,o,a,i=1){let s=cc;Ke(e+s<=o&&o<n-s,`downward arrow: x1 = ${t}, y1 = ${e}, x2 = ${r}, y2 = ${n}, ym = ${o}, r = ${s} `,!0),i%2===1&&(t+=.5,r+=.5,o+=.5);let l="";if(l+=`M ${t} ${e} `,Math.abs(r-t)<2*s)l+=`C ${t} ${e+(n-e)/3} ${r} ${e+2*(n-e)/3} ${r} ${n} `;else{let u=Math.sign(r-t);l+=`L ${t} ${o-s} `,l+=`A ${s} ${s} 0 0 ${u>0?0:1} ${t+s*u} ${o} `,l+=`L ${r-s*u} ${o} `,l+=`A ${s} ${s} 0 0 ${u>0?1:0} ${r} ${o+s} `,l+=`L ${r} ${n} `}let c=document.createElementNS("http://www.w3.org/2000/svg","g"),d=document.createElementNS("http://www.w3.org/2000/svg","path");if(d.setAttribute("d",l),d.setAttribute("fill","none"),d.setAttribute("stroke","black"),d.setAttribute("stroke-width",`${i} `),c.appendChild(d),a){let u=ZT(r,n,180);c.appendChild(u)}return c}function fse(t,e,r,n,o,a,i=1){let s=cc;Ke(n+s<=o&&o<=e-s,`upward arrow: x1 = ${t}, y1 = ${e}, x2 = ${r}, y2 = ${n}, ym = ${o}, r = ${s} `,!0),i%2===1&&(t+=.5,r+=.5,o+=.5);let l="";if(l+=`M ${t} ${e} `,Math.abs(r-t)<2*s)l+=`C ${t} ${e+(n-e)/3} ${r} ${e+2*(n-e)/3} ${r} ${n} `;else{let u=Math.sign(r-t);l+=`L ${t} ${o+s} `,l+=`A ${s} ${s} 0 0 ${u>0?1:0} ${t+s*u} ${o} `,l+=`L ${r-s*u} ${o} `,l+=`A ${s} ${s} 0 0 ${u>0?0:1} ${r} ${o-s} `,l+=`L ${r} ${n} `}let c=document.createElementNS("http://www.w3.org/2000/svg","g"),d=document.createElementNS("http://www.w3.org/2000/svg","path");if(d.setAttribute("d",l),d.setAttribute("fill","none"),d.setAttribute("stroke","black"),d.setAttribute("stroke-width",`${i} `),c.appendChild(d),a){let u=ZT(r,n,0);c.appendChild(u)}return c}function hse(t,e,r,n,o=1){let a=cc;Ke(e-a>=n&&t-a>=r,`to backedge: x1 = ${t}, y1 = ${e}, x2 = ${r}, y2 = ${n}, r = ${a} `,!0),o%2===1&&(t+=.5,n+=.5);let i="";i+=`M ${t} ${e} `,i+=`A ${a} ${a} 0 0 0 ${t-a} ${n} `,i+=`L ${r} ${n} `;let s=document.createElementNS("http://www.w3.org/2000/svg","g"),l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",i),l.setAttribute("fill","none"),l.setAttribute("stroke","black"),l.setAttribute("stroke-width",`${o} `),s.appendChild(l);let c=ZT(r,n,270);return s.appendChild(c),s}function gse(t,e,r,n,o,a=1){let i=cc;Ke(e+i<=o&&t<=r&&n<=e,`block to backedge dummy: x1 = ${t}, y1 = ${e}, x2 = ${r}, y2 = ${n}, ym = ${o}, r = ${i} `,!0),a%2===1&&(t+=.5,r+=.5,o+=.5);let s="";s+=`M ${t} ${e} `,s+=`L ${t} ${o-i} `,s+=`A ${i} ${i} 0 0 0 ${t+i} ${o} `,s+=`L ${r-i} ${o} `,s+=`A ${i} ${i} 0 0 0 ${r} ${o-i} `,s+=`L ${r} ${n} `;let l=document.createElementNS("http://www.w3.org/2000/svg","g"),c=document.createElementNS("http://www.w3.org/2000/svg","path");return c.setAttribute("d",s),c.setAttribute("fill","none"),c.setAttribute("stroke","black"),c.setAttribute("stroke-width",`${a} `),l.appendChild(c),l}function yse(t,e,r,n,o=1){Ke(r<t&&n===e,`x1 = ${t}, y1 = ${e}, x2 = ${r}, y2 = ${n} `,!0),o%2===1&&(e+=.5,n+=.5);let a="";a+=`M ${t} ${e} `,a+=`L ${r} ${n} `;let i=document.createElementNS("http://www.w3.org/2000/svg","g"),s=document.createElementNS("http://www.w3.org/2000/svg","path");s.setAttribute("d",a),s.setAttribute("fill","none"),s.setAttribute("stroke","black"),s.setAttribute("stroke-width",`${o} `),i.appendChild(s);let l=ZT(r,n,270);return i.appendChild(l),i}function ZT(t,e,r,n=5){let o=document.createElementNS("http://www.w3.org/2000/svg","path");return o.setAttribute("d",`M 0 0 L ${-n} ${n*1.5} L ${n} ${n*1.5} Z`),o.setAttribute("transform",`translate(${t}, ${e}) rotate(${r})`),o}function Mj(t,e){t.classList.add("ig-highlight"),t.style.setProperty("--ig-highlight-color",e)}function bse(t){t.classList.remove("ig-highlight"),t.style.setProperty("--ig-highlight-color","transparent")}var Ei=T(E(),1),ko=T(U(),1);function JN(...t){let e=[];for(let r of t)if(typeof r=="string")e.push(r);else for(let[n,o]of Object.entries(r))o&&e.push(n);return e.join(" ")}var Dj=Object.prototype.hasOwnProperty;function jf(t,e){var r,n;if(t===e)return!0;if(t&&e&&(r=t.constructor)===e.constructor){if(r===Date)return t.getTime()===e.getTime();if(r===RegExp)return t.toString()===e.toString();if(r===Array){if((n=t.length)===e.length)for(;n--&&jf(t[n],e[n]););return n===-1}if(!r||typeof t=="object"){n=0;for(r in t)if(Dj.call(t,r)&&++n&&!Dj.call(e,r)||!(r in e)||!jf(t[r],e[r]))return!1;return Object.keys(e).length===n}}return t!==t&&e!==e}function Aj({func:t,pass:e=0,sampleCounts:r}){let n=(0,ko.useRef)(null),o=(0,ko.useRef)(null),[a,i]=(0,ko.useState)(e),[s,l]=(0,ko.useState)([null,null,null,null]),[c,d]=(0,ko.useState)([]);(0,ko.useEffect)(()=>{i(e)},[e]),(0,ko.useEffect)(()=>{{let p=[null,null,null,null],m=null;for(let[f,h]of t.passes.entries())h.mir.blocks.length>0&&(p[0]===null&&(p[0]=f),h.lir.blocks.length===0&&(p[1]=f)),h.lir.blocks.length>0&&(m?.lir.blocks.length===0&&(p[2]=f),p[3]=f),m=h;l(p)}{let p=[],m=null;for(let[f,h]of t.passes.entries()){if(m===null){m=h;continue}jf(m.mir,h.mir)&&jf(m.lir,h.lir)&&p.push(f),m=h}d(p)}},[t]);function u(p){var m;if(n.current){let f=(m=o.current)===null||m===void 0?void 0:m.exportState();if(n.current.innerHTML="",o.current=null,p)try{o.current=new JT(n.current,p,{sampleCounts:r}),f&&o.current.restoreState(f,{preserveSelectedBlockPosition:!0})}catch(h){n.current.innerHTML="An error occurred while laying out the graph. See console.",console.error(h)}}}return(0,ko.useEffect)(()=>{let p=t.passes[a];u(p);let m=()=>{u(p)};return window.addEventListener("tweak",m),()=>{window.removeEventListener("tweak",m)}},[t,a,r]),(0,ko.useEffect)(()=>{let p=m=>{var f,h,b,g,y,v,S,x;switch(m.key){case"w":case"s":(f=o.current)===null||f===void 0||f.navigate(m.key==="s"?"down":"up"),(h=o.current)===null||h===void 0||h.jumpToBlock(o.current.lastSelectedBlockPtr);break;case"a":case"d":(b=o.current)===null||b===void 0||b.navigate(m.key==="d"?"right":"left"),(g=o.current)===null||g===void 0||g.jumpToBlock(o.current.lastSelectedBlockPtr);break;case"f":i(w=>{for(let I=w+1;I<t.passes.length;I++)if(!c.includes(I))return I;return w});break;case"r":i(w=>{for(let I=w-1;I>=0;I--)if(!c.includes(I))return I;return w});break;case"1":case"2":case"3":case"4":{let w=["1","2","3","4"].indexOf(m.key),I=s[w];typeof I=="number"&&i(I)}break;case"c":{let w=(y=o.current)===null||y===void 0?void 0:y.blocksByPtr.get((S=(v=o.current)===null||v===void 0?void 0:v.lastSelectedBlockPtr)!==null&&S!==void 0?S:-1);w&&n.current&&((x=o.current)===null||x===void 0||x.jumpToBlock(w.ptr,{zoom:1}))}break}};return window.addEventListener("keydown",p),()=>{window.removeEventListener("keydown",p)}},[t,s,c]),(0,Ei.jsxs)("div",{className:"ig-absolute ig-absolute-fill ig-flex",children:[(0,Ei.jsx)("div",{className:"ig-w5 ig-br ig-flex-shrink-0 ig-overflow-y-auto ig-bg-white",children:t.passes.map((p,m)=>(0,Ei.jsx)("div",{children:(0,Ei.jsxs)("a",{href:"#",className:JN("ig-link-normal ig-pv1 ig-ph2 ig-flex ig-g2",{"ig-bg-primary":a===m}),onClick:f=>{f.preventDefault(),i(m)},children:[(0,Ei.jsx)("div",{className:"ig-w1 ig-tr ig-f6 ig-text-dim",style:{paddingTop:"0.08rem"},children:m}),(0,Ei.jsx)("div",{className:JN({"ig-text-dim":c.includes(m)}),children:p.name})]})},m))}),(0,Ei.jsx)("div",{ref:n,className:"ig-flex-grow-1 ig-overflow-hidden",style:{position:"relative"}})]})}var Oj=T(U()),ZN=T(E());function Fj(t){let e=(0,Oj.useMemo)(()=>t.sourceCode.trim()===""?null:kj(JSON.parse(t.sourceCode)),[t.sourceCode]);return e?.functions[0]?(0,ZN.jsx)(Aj,{func:e.functions[0],sampleCounts:t.timings}):(0,ZN.jsx)("div",{})}var Kf=T(E());function QN({source:t}){switch(t.type){case"URL":{let{url:e}=t,r;try{r=new URL(e).host}catch{r=e}return(0,Kf.jsx)(P,{id:"SourceView--loading-url",vars:{host:r},children:(0,Kf.jsx)("div",{className:"codeLoadingOverlay",children:`Waiting for ${r}\u2026`})})}case"BROWSER_CONNECTION":return(0,Kf.jsx)(P,{id:"SourceView--loading-browser-connection",children:(0,Kf.jsx)("div",{className:"codeLoadingOverlay",children:"Waiting for browser\u2026"})});default:throw Y(t)}}var $t=T(E());function eR({errors:t}){return(0,$t.jsx)("ul",{className:"codeErrorOverlay",children:t.map((e,r)=>{switch(e.type){case"NO_KNOWN_CORS_URL":return(0,$t.jsx)(P,{id:"SourceView--no-known-cors-url",children:(0,$t.jsx)("li",{children:"No known cross-origin-accessible URL."})},r);case"NETWORK_ERROR":{let{url:n,networkErrorMessage:o}=e;return(0,$t.jsx)(P,{id:"SourceView--network-error-when-obtaining-source",vars:{url:n,networkErrorMessage:o},children:(0,$t.jsx)("li",{children:`There was a network error when fetching the URL ${n}: ${o}`})},r)}case"BROWSER_CONNECTION_ERROR":{let{browserConnectionErrorMessage:n}=e;return(0,$t.jsx)(P,{id:"SourceView--browser-connection-error-when-obtaining-source",vars:{browserConnectionErrorMessage:n},children:(0,$t.jsx)("li",{children:`Could not query the browser\u2019s symbolication API: ${n}`})},r)}case"BROWSER_API_ERROR":{let{apiErrorMessage:n}=e;return(0,$t.jsx)(P,{id:"SourceView--browser-api-error-when-obtaining-source",vars:{apiErrorMessage:n},children:(0,$t.jsx)("li",{children:`The browser\u2019s symbolication API returned an error: ${n}`})})}case"SYMBOL_SERVER_API_ERROR":{let{apiErrorMessage:n}=e;return(0,$t.jsx)(P,{id:"SourceView--local-symbol-server-api-error-when-obtaining-source",vars:{apiErrorMessage:n},children:(0,$t.jsx)("li",{children:`The local symbol server\u2019s symbolication API returned an error: ${n}`})})}case"BROWSER_API_MALFORMED_RESPONSE":{let{errorMessage:n}=e;return(0,$t.jsx)(P,{id:"SourceView--browser-api-malformed-response-when-obtaining-source",vars:{errorMessage:n},children:(0,$t.jsx)("li",{children:`The browser\u2019s symbolication API returned a malformed response: ${n}`})})}case"SYMBOL_SERVER_API_MALFORMED_RESPONSE":{let{errorMessage:n}=e;return(0,$t.jsx)(P,{id:"SourceView--local-symbol-server-api-malformed-response-when-obtaining-source",vars:{errorMessage:n},children:(0,$t.jsx)("li",{children:`The local symbol server\u2019s symbolication API returned a malformed response: ${n}`})})}case"NOT_PRESENT_IN_ARCHIVE":{let{url:n,pathInArchive:o}=e;return(0,$t.jsx)(P,{id:"SourceView--not-in-archive-error-when-obtaining-source",vars:{url:n,pathInArchive:o},children:(0,$t.jsx)("li",{children:`The file ${o} was not found in the archive from ${n}.`})})}case"ARCHIVE_PARSING_ERROR":{let{url:n,parsingErrorMessage:o}=e;return(0,$t.jsx)(P,{id:"SourceView--archive-parsing-error-when-obtaining-source",vars:{url:n,parsingErrorMessage:o},children:(0,$t.jsx)("li",{children:`The archive at ${n} could not be parsed: ${o}`})})}case"NOT_PRESENT_IN_BROWSER":{let{sourceUuid:n,url:o,errorMessage:a}=e;return(0,$t.jsx)(P,{id:"SourceView--not-in-browser-error-when-obtaining-js-source",vars:{url:o,sourceUuid:n,errorMessage:a},children:(0,$t.jsx)("li",{children:`The browser was unable to obtain the source file for ${o} with sourceUuid ${n}: ${a}`})})}default:throw Y(e)}})})}var _e=T(E());function vse({errors:t}){return(0,_e.jsx)("div",{className:"sourceCodeErrorOverlay",children:(0,_e.jsxs)("div",{children:[(0,_e.jsx)(P,{id:"BottomBox--source-code-not-available-title",children:(0,_e.jsx)("h3",{children:"Source code not available"})}),(0,_e.jsx)(P,{id:"SourceView--source-not-available-text",elems:{a:(0,_e.jsx)("a",{href:"https://github.com/firefox-devtools/profiler/issues/3741",target:"_blank",rel:"noopener noreferrer"})},children:(0,_e.jsxs)("p",{children:["See",(0,_e.jsx)("a",{href:"https://github.com/firefox-devtools/profiler/issues/3741",target:"_blank",rel:"noopener noreferrer",children:"issue #3741"}),"for supported scenarios and planned improvements."]})}),(0,_e.jsx)(eR,{errors:t})]})})}function Tse({errors:t}){return(0,_e.jsx)("div",{className:"assemblyCodeErrorOverlay",children:(0,_e.jsxs)("div",{children:[(0,_e.jsx)(P,{id:"BottomBox--assembly-code-not-available-title",children:(0,_e.jsx)("h3",{children:"Assembly code not available"})}),(0,_e.jsx)(P,{id:"BottomBox--assembly-code-not-available-text",elems:{a:(0,_e.jsx)("a",{href:"https://github.com/firefox-devtools/profiler/issues/4520",target:"_blank",rel:"noopener noreferrer"})},children:(0,_e.jsxs)("p",{children:["See",(0,_e.jsx)("a",{href:"https://github.com/firefox-devtools/profiler/issues/4520",target:"_blank",rel:"noopener noreferrer",children:"issue #4520"}),"for supported scenarios and planned improvements."]})}),(0,_e.jsx)(eR,{errors:t})]})})}var tR=class extends QT.default.PureComponent{_sourceView=QT.default.createRef();_assemblyView=QT.default.createRef();_onClickCloseButton=()=>{this.props.closeBottomBox()};render(){let{sourceViewFile:e,sourceViewCode:r,globalLineTimings:n,sourceViewScrollGeneration:o,sourceViewScrollToLineNumber:a,sourceViewHighlightedLine:i,assemblyViewIsOpen:s,assemblyViewScrollGeneration:l,assemblyViewScrollToInstructionAddress:c,assemblyViewHighlightedInstruction:d,assemblyViewNativeSymbol:u,assemblyViewCode:p,globalAddressTimings:m}=this.props,f=r&&r.type==="AVAILABLE"?r.code:"",h=e!==null?ha(e).path:null,b=p&&p.type==="AVAILABLE"?p.instructions:[],g=h!==null&&h.endsWith("iongraph.json"),y=e!==null&&!g,v=e!==null&&g,S=(0,_e.jsxs)("div",{className:"bottom-box-header-trailing-buttons",children:[s?(0,_e.jsx)(wj,{}):null,(0,_e.jsx)(Sj,{}),(0,_e.jsx)(P,{id:"SourceView--close-button",attrs:{title:!0},children:(0,_e.jsx)("button",{className:(0,Hj.default)("bottom-close-button","photon-button","photon-button-ghost"),title:"Close the source view",type:"button",onClick:this._onClickCloseButton})})]});return(0,_e.jsx)("div",{className:"bottom-box",children:(0,_e.jsxs)(Bj.default,{customClassName:"bottom-box",percentage:!0,children:[(0,_e.jsxs)("div",{className:"bottom-box-pane",children:[(0,_e.jsxs)("div",{className:"bottom-box-bar",children:[(0,_e.jsx)("h3",{className:"bottom-box-title",children:h??"(no source file)"}),s?null:S]}),(0,_e.jsxs)("div",{className:"bottom-sourceview-wrapper",children:[v?(0,_e.jsx)(Fj,{timings:n,sourceCode:f}):null,y?(0,_e.jsx)($T,{timings:n,sourceCode:f,filePath:h,scrollGeneration:o,scrollToLineNumber:a,highlightedLine:i,ref:this._sourceView}):null,r!==void 0&&r.type==="LOADING"?(0,_e.jsx)(QN,{source:r.source}):null,r!==void 0&&r.type==="ERROR"?(0,_e.jsx)(vse,{errors:r.errors}):null]})]}),s?(0,_e.jsxs)("div",{className:"bottom-box-pane",children:[(0,_e.jsxs)("div",{className:"bottom-box-bar",children:[(0,_e.jsx)("h3",{className:"bottom-box-title",children:u!==null?u.name:"(no native symbol)"}),S]}),(0,_e.jsxs)("div",{className:"bottom-assemblyview-wrapper",children:[u!==null?(0,_e.jsx)(VT,{timings:m,assemblyCode:b,nativeSymbol:u,scrollGeneration:l,scrollToInstructionAddress:c,highlightedInstruction:d,ref:this._assemblyView}):null,p!==void 0&&p.type==="LOADING"?(0,_e.jsx)(QN,{source:p.source}):null,p!==void 0&&p.type==="ERROR"?(0,_e.jsx)(Tse,{errors:Sse(p.errors)}):null]})]}):null]})})}};function Sse(t){return t.map(e=>e)}var Uj=H({mapStateToProps:t=>({sourceViewFile:Sm(t),sourceViewCode:Gm(t),globalLineTimings:j.getSourceViewLineTimings(t),sourceViewScrollGeneration:xI(t),sourceViewScrollToLineNumber:wI(t),sourceViewHighlightedLine:kI(t),assemblyViewNativeSymbol:zo(t),assemblyViewCode:$m(t),globalAddressTimings:j.getAssemblyViewAddressTimings(t),assemblyViewScrollGeneration:PI(t),assemblyViewScrollToInstructionAddress:EI(t),assemblyViewHighlightedInstruction:_I(t),assemblyViewIsOpen:Pl(t)}),mapDispatchToProps:{closeBottomBox:d0},component:tR});var jj=T(U()),Kj=T(Zr());var oR=T(xe());var Gj='data:image/svg+xml,<!-- This Source Code Form is subject to the terms of the Mozilla Public%0A - License, v. 2.0. If a copy of the MPL was not distributed with this%0A - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->%0A<svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">%0A <path fill-rule="evenodd" clip-rule="evenodd" d="M12.5 3.75a1.75 1.75 0 0 0-1.75 1.75v2.375a.875.875 0 0 1-.875.875H6.5a.75.75 0 0 0-.75.75V11h1.5a3.5 3.5 0 1 1 0 7h-1.5v1.5c0 .414.336.75.75.75h12a.75.75 0 0 0 .75-.75v-10a.75.75 0 0 0-.75-.75h-3.375a.875.875 0 0 1-.875-.875V5.5a1.75 1.75 0 0 0-1.75-1.75zM9 5.5a3.5 3.5 0 1 1 7 0V7h2.5A2.5 2.5 0 0 1 21 9.5v10a2.5 2.5 0 0 1-2.5 2.5h-12A2.5 2.5 0 0 1 4 19.5v-2.375c0-.483.392-.875.875-.875H7.25a1.75 1.75 0 1 0 0-3.5H4.875A.875.875 0 0 1 4 11.875V9.5A2.5 2.5 0 0 1 6.5 7H9V5.5z" fill="%23000" />%0A</svg>%0A';var $j='data:image/svg+xml,<!-- This Source Code Form is subject to the terms of the Mozilla Public%0A - License, v. 2.0. If a copy of the MPL was not distributed with this%0A - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->%0A<svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">%0A <path fill-rule="evenodd" clip-rule="evenodd" d="M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zM9.731 4.066a8.257 8.257 0 0 0-5.938 7.09h3.266a13.027 13.027 0 0 1 2.672-7.09zm-2.672 8.84h-3.26a8.258 8.258 0 0 0 5.873 7.01 13.025 13.025 0 0 1-2.613-7.01zm4.911 7.01a11.295 11.295 0 0 1-3.157-7.01h6.369a11.296 11.296 0 0 1-3.212 7.01zm-3.157-8.76a11.298 11.298 0 0 1 3.217-7.072 11.299 11.299 0 0 1 3.161 7.072H8.813zm8.132 0a13.027 13.027 0 0 0-2.616-7.073 8.257 8.257 0 0 1 5.878 7.073h-3.262zm-.008 1.75a13.026 13.026 0 0 1-2.669 7.028 8.257 8.257 0 0 0 5.933-7.028h-3.264z" fill="%23000" />%0A</svg>%0A';var zj=T(E());function eS({favicon:t,origin:e}){let r=t??(e.startsWith("moz-extension://")?Gj:$j);return(0,zj.jsx)(Ps,{iconUrl:r})}var Vj=T(U());var rR=T(xe());var Aa=T(E()),nR=class extends Vj.PureComponent{_handleClick=(e,r)=>{this.props.changeTabFilter(r.id)};renderTabSelectorMenuContents(){let{sortedPageData:e,tabFilter:r}=this.props;return!e||e.length===0?null:(0,Aa.jsxs)(Aa.Fragment,{children:[(0,Aa.jsx)(be,{onClick:this._handleClick,data:{id:null},attributes:{className:(0,rR.default)("tabSelectorMenuItem",{checkable:!0,checked:r===null}),"aria-checked":r===null?"false":"true"},children:(0,Aa.jsx)(P,{id:"TabSelectorMenu--all-tabs-and-windows",children:"All tabs and windows"})}),e.map(({tabID:n,pageData:o})=>(0,Aa.jsxs)(be,{onClick:this._handleClick,data:{id:n},attributes:{className:(0,rR.default)("tabSelectorMenuItem",{checkable:!0,checked:r===n}),"aria-checked":r===n?"false":"true"},children:[(0,Aa.jsx)(eS,{favicon:o.favicon,origin:o.origin}),o.hostname]},n))]})}render(){return(0,Aa.jsx)(vo,{id:"TabSelectorMenu",className:"TabSelectorMenu",children:this.renderTabSelectorMenuContents()})}},Wj=H({mapStateToProps:t=>({tabFilter:hs(t),sortedPageData:hC(t)}),mapDispatchToProps:{changeTabFilter:E0},component:nR});var on=T(E()),aR=class extends jj.default.PureComponent{_getItemsWithFirstElement=(0,Kj.default)((e,r)=>[e,...r],{limit:1});_onFirstItemClick=e=>{this._showTabSelectorMenu(e)};_showTabSelectorMenu=e=>{if(this.props.items.length>0||this.props.uncommittedItem)return;let r=e.currentTarget.getBoundingClientRect();Zo({data:null,id:"TabSelectorMenu",position:{x:r.left,y:r.bottom},target:e.target})};render(){let{className:e,items:r,selectedItem:n,uncommittedItem:o,onPop:a,rootRange:i,pageDataByTabID:s,tabFilter:l,profileTimelineUnit:c}=this.props,d,u=!1;if(s&&s.size>0){let m=l!==null?s.get(l):null,f=m?(0,on.jsxs)(on.Fragment,{children:[(0,on.jsx)(eS,{favicon:m.favicon,origin:m.origin}),(0,on.jsxs)("span",{title:m.origin,children:[m.hostname," (",Fo(i.end-i.start,c),")"]})]}):(0,on.jsx)(P,{id:"ProfileFilterNavigator--full-range-with-duration",vars:{fullRangeDuration:Fo(i.end-i.start,c)},children:"Full Range"});r.length===0&&!o?(u=!0,d=(0,on.jsx)("span",{className:(0,oR.default)("filterNavigatorBarItemContent","profileFilterNavigator--tab-selector","button"),children:f})):d=(0,on.jsx)("span",{className:(0,oR.default)("filterNavigatorBarItemContent","profileFilterNavigator--tab-selector"),children:f})}else d=(0,on.jsx)(P,{id:"ProfileFilterNavigator--full-range-with-duration",vars:{fullRangeDuration:Fo(i.end-i.start,c)},children:"Full Range"});let p=this._getItemsWithFirstElement(d,r);return(0,on.jsxs)(on.Fragment,{children:[(0,on.jsx)(Vd,{className:e,items:p,selectedItem:n,uncommittedItem:o,onPop:a,onFirstItemClick:u?this._onFirstItemClick:void 0}),s&&s.size>0?(0,on.jsx)(Wj,{}):null]})}},Yj=H({mapStateToProps:t=>{let e=YI(t),r=mt(t),n=vn(t),o=r?Fo(r.selectionEnd-r.selectionStart,n):void 0,a=db(t),i=hs(t),s=Vo(t);return{className:"profileFilterNavigator",items:e,selectedItem:e.length,uncommittedItem:o,pageDataByTabID:a,tabFilter:i,rootRange:s,profileTimelineUnit:n}},mapDispatchToProps:{onPop:o0},component:aR});var T5=T(U()),S5=T(xe());var Yf=T(U()),iR=T(xe());var qj=T(U()),Xj=T(xe());var Cu=T(E()),tS=class extends qj.PureComponent{closeTimeout=null;state={open:!1,isClosing:!1,openGeneration:0};open(){this.state.open||this.setState({open:!0})}close(){this.setState(e=>{if(!e.open)return null;let r=e.openGeneration+1;return this.closeTimeout&&clearTimeout(this.closeTimeout),this.closeTimeout=setTimeout(this._onCloseAnimationFinish(r),400),{open:!1,isClosing:!0,openGeneration:r}})}_onCloseAnimationFinish(e){return()=>{this.setState(r=>r.openGeneration===e?{isClosing:!1}:null)}}_onArrowPanelClick=e=>{e.target.className!=="arrowPanelArrow"&&e.stopPropagation()};componentDidUpdate(e,r){!r.open&&this.state.open&&this.props.onOpen(),!this.state.open&&r.isClosing&&!this.state.isClosing&&this.props.onClose()}componentWillUnmount(){this.closeTimeout!==null&&clearTimeout(this.closeTimeout)}render(){let{className:e,children:r}=this.props,{open:n,isClosing:o}=this.state;return!n&&!o?null:(0,Cu.jsx)("div",{className:"arrowPanelAnchor",children:(0,Cu.jsxs)("div",{className:(0,Xj.default)("arrowPanel",{open:n},e),onClick:this._onArrowPanelClick,children:[(0,Cu.jsx)("div",{className:"arrowPanelArrow"}),(0,Cu.jsx)("div",{className:"arrowPanelContent",children:r})]})})}};var qf=T(E()),_i=class extends Yf.PureComponent{_panel=null;_buttonRef=Yf.createRef();_wrapperRef=Yf.createRef();constructor(e){super(e),this.state={open:!!e.open}}componentDidMount(){window.addEventListener("click",this._onWindowClick),window.addEventListener("keydown",this._onKeyDown),this.state.open&&this.openPanel()}componentDidUpdate(e){!e.open&&this.props.open&&(this.setState({open:!0}),this.openPanel())}componentWillUnmount(){window.removeEventListener("keydown",this._onKeyDown),window.removeEventListener("click",this._onWindowClick)}_onPanelOpen=()=>{this.setState({open:!0}),this.props.onPanelOpen&&this.props.onPanelOpen()};_onPanelClose=()=>{this.setState({open:!1}),this.isFocusWithin()&&this.focus(),this.props.onPanelClose&&this.props.onPanelClose()};_takePanelRef=e=>{this._panel=e};openPanel(){this._panel&&this._panel.open()}closePanel(){this._panel&&this.state.open&&this._panel.close()}_onWindowClick=()=>{this.closePanel()};_onButtonClick=()=>{this.state.open||setTimeout(()=>this.openPanel())};_onKeyDown=e=>{e.key==="Escape"&&this.closePanel()};focus(){this._buttonRef.current&&this._buttonRef.current.focus()}isFocusWithin(){try{if(this._wrapperRef.current)return this._wrapperRef.current.matches(":focus-within")}catch{}return!1}render(){let{className:e,label:r,panelContent:n,panelClassName:o,buttonClassName:a,title:i}=this.props,{open:s}=this.state;return(0,qf.jsxs)("div",{className:(0,iR.default)("buttonWithPanel",e,{open:s}),ref:this._wrapperRef,children:[(0,qf.jsx)("button",{type:"button",className:(0,iR.default)("buttonWithPanelButton",a),"aria-expanded":s,title:s?void 0:i,onClick:this._onButtonClick,ref:this._buttonRef,children:r}),(0,qf.jsx)(tS,{className:o,onOpen:this._onPanelOpen,onClose:this._onPanelClose,ref:this._takePanelRef,children:n})]})}};var Jj=T(U());var nS=T(U());var Ye=T(E()),rS=class extends nS.PureComponent{render(){let{profilerOverhead:e}=this.props,r=new Map,n=0,o=0,a=0,i=0,s=["Overhead","Cleaning","Counter","Interval","Lockings"],l={Overhead:"MenuButtons--metaOverheadStatistics-statkeys-overhead",Cleaning:"MenuButtons--metaOverheadStatistics-statkeys-cleaning",Counter:"MenuButtons--metaOverheadStatistics-statkeys-counter",Interval:"MenuButtons--metaOverheadStatistics-statkeys-interval",Lockings:"MenuButtons--metaOverheadStatistics-statkeys-lockings"};for(let c of e){let{statistics:d}=c;if(d===void 0)continue;let{samplingCount:u}=d;n+=d.overheadDurations*u,o+=d.overheadPercentage*u,a+=d.profiledDuration*u,i+=u;for(let p of s){let m=d[`max${p}`],f=d[`mean${p}`],h=d[`min${p}`],b=r.get(p);b===void 0&&(b=new sR,r.set(p,b)),b.accumulate(h,m,f,u)}}return r.size>0?(0,Ye.jsxs)("details",{children:[(0,Ye.jsx)("summary",{className:"arrowPanelSubTitle",children:(0,Ye.jsx)(P,{id:"MenuButtons--metaOverheadStatistics-subtitle",children:"Profiler overhead"})}),(0,Ye.jsxs)("div",{className:"arrowPanelSection",children:[(0,Ye.jsxs)("div",{className:"metaInfoGrid",children:[(0,Ye.jsx)("div",{}),(0,Ye.jsx)("div",{children:(0,Ye.jsx)(P,{id:"MenuButtons--metaOverheadStatistics-mean",children:"Mean"})}),(0,Ye.jsx)("div",{children:(0,Ye.jsx)(P,{id:"MenuButtons--metaOverheadStatistics-max",children:"Max"})}),(0,Ye.jsx)("div",{children:(0,Ye.jsx)(P,{id:"MenuButtons--metaOverheadStatistics-min",children:"Min"})}),[...r].map(([c,d])=>(0,Ye.jsxs)(nS.Fragment,{children:[(0,Ye.jsx)(P,{id:l[c],attrs:{title:!0},children:(0,Ye.jsx)("div",{})}),(0,Ye.jsx)("div",{children:Oo(d.mean)}),(0,Ye.jsx)("div",{children:Oo(d.max)}),(0,Ye.jsx)("div",{children:Oo(d.min)})]},c))]}),n!==0?(0,Ye.jsxs)("div",{className:"metaInfoRow",children:[(0,Ye.jsx)("span",{className:"metaInfoWideLabel",children:(0,Ye.jsx)(P,{id:"MenuButtons--metaOverheadStatistics-overhead-duration",children:"Overhead Durations:"})}),(0,Ye.jsx)("span",{className:"metaInfoValueRight",children:Oo(n/i)})]}):null,o!==0?(0,Ye.jsxs)("div",{className:"metaInfoRow",children:[(0,Ye.jsx)("span",{className:"metaInfoWideLabel",children:(0,Ye.jsx)(P,{id:"MenuButtons--metaOverheadStatistics-overhead-percentage",children:"Overhead Percentage:"})}),(0,Ye.jsx)("span",{className:"metaInfoValueRight",children:Kt(o/i)})]}):null,a!==0?(0,Ye.jsxs)("div",{className:"metaInfoRow",children:[(0,Ye.jsx)("span",{className:"metaInfoWideLabel",children:(0,Ye.jsx)(P,{id:"MenuButtons--metaOverheadStatistics-profiled-duration",children:"Profiled Duration:"})}),(0,Ye.jsx)("span",{className:"metaInfoValueRight",children:Oo(a/i)})]}):null]})]}):null}},sR=class{_accumulatedMax=0;_accumulatedMin=0;_accumulatedMean=0;_accumulatedWeight=0;accumulate(e,r,n,o){this._accumulatedWeight+=o,this._accumulatedMin+=e*o,this._accumulatedMax+=r*o,this._accumulatedMean+=n*o}get min(){return this._accumulatedMin/this._accumulatedWeight}get max(){return this._accumulatedMax/this._accumulatedWeight}get mean(){return this._accumulatedMean/this._accumulatedWeight}};var W=T(E()),dR=class extends Jj.PureComponent{state={showsMoreInfo:!1};renderSymbolication(){let{profile:e,symbolicationStatus:r,resymbolicateProfile:n}=this.props,o=e.meta.symbolicated;if(!(e.meta.symbolicationNotSupported!==!0))return null;switch(r){case"DONE":return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--symbols",children:"Symbols:"})}),(0,W.jsx)(P,{id:o?"MenuButtons--metaInfo--profile-symbolicated":"MenuButtons--metaInfo--profile-not-symbolicated"})]}),(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel"}),(0,W.jsx)("button",{onClick:n,type:"button",className:"photon-button photon-button-micro",children:(0,W.jsx)(P,{id:o?"MenuButtons--metaInfo--resymbolicate-profile":"MenuButtons--metaInfo--symbolicate-profile"})})]})]});case"SYMBOLICATING":return(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--symbols",children:"Symbols:"})}),(0,W.jsx)(P,{id:o?"MenuButtons--metaInfo--attempting-resymbolicate":"MenuButtons--metaInfo--currently-symbolicating"})]});default:throw Y(r,"Unhandled SymbolicationStatus.")}}_handleMoreInfoButtonClick=e=>{e.preventDefault(),this.setState(r=>({showsMoreInfo:!r.showsMoreInfo}))};_renderMoreInfoSection(e){return(0,W.jsxs)("div",{children:[(0,W.jsx)("h2",{className:"metaInfoSubTitle",children:e.label}),(0,W.jsx)("div",{className:"metaInfoSection",children:e.entries.map(({label:r,format:n,value:o})=>(0,W.jsxs)("div",{className:"moreInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoWideLabel",children:r}),(0,W.jsx)("div",{className:"moreInfoValue",children:ms("moreInfo",n,o,tt.withBackingArray([]))})]},r))})]},e.label)}_renderMoreInfo(){return(0,W.jsxs)("details",{className:"metaInfoRow",open:this.state.showsMoreInfo,children:[(0,W.jsx)("summary",{className:"moreInfoSummary photon-button photon-button-default photon-button-micro",onClick:this._handleMoreInfoButtonClick,children:(0,W.jsx)(P,{id:this.state.showsMoreInfo?"MenuButtons--index--hide-moreInfo-button":"MenuButtons--index--show-moreInfo-button",children:this.state.showsMoreInfo?"Show Less":"Show More"})}),(0,W.jsx)("div",{className:"moreInfoPart",children:this.props.profileExtraInfo.map(this._renderMoreInfoSection)})]})}_renderRecordingInfo(){let{meta:e}=this.props.profile,{configuration:r}=e,{timelineUnit:n}=this.props;return(0,W.jsxs)("div",{className:"metaInfoSection",children:[e.profilingStartTime!==void 0&&e.startTime?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--profiling-started",children:"Recording started:"})}),cR(e.startTime+e.profilingStartTime)]}):null,e.profilingStartTime!==void 0&&e.profilingEndTime?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--profiling-session",children:"Recording length:"})}),Yt(e.profilingEndTime-e.profilingStartTime)]}):null,e.fileName?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--file-name",children:"File name:"})}),e.fileName]}):null,e.fileSize?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--file-size",children:"File size:"})}),Ue(e.fileSize)]}):null,e.profilingStartTime===void 0&&e.startTime?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--main-process-started",children:"Main process started:"})}),cR(e.startTime)]}):null,e.endTime?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--main-process-ended",children:"Main process ended:"})}),cR(e.endTime)]}):null,e.interval?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--interval",children:"Interval:"})}),n==="bytes"?Ue(e.interval):Yt(e.interval,4,1)]}):null,r?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--buffer-capacity",children:"Buffer capacity:"})}),Ue(r.capacity*8,0)]}),(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--buffer-duration",children:"Buffer duration:"})}),r.duration?(0,W.jsx)(P,{id:"MenuButtons--metaInfo--buffer-duration-seconds",vars:{configurationDuration:r.duration},children:"{$configurationDuration} seconds"}):(0,W.jsx)(P,{id:"MenuButtons--metaInfo--buffer-duration-unlimited",children:"Unlimited"})]}),(0,W.jsxs)("div",{className:"metaInfoSection",children:[lR("MenuButtons--metaInfo-renderRowOfList-label-features",r.features),lR("MenuButtons--metaInfo-renderRowOfList-label-threads-filter",r.threads)]})]}):null,this.renderSymbolication()]})}_renderApplicationSection(){let{meta:e}=this.props.profile;return!e.product&&!e.profilingStartTime&&!e.updateChannel&&!e.appBuildID&&e.debug===void 0&&!e.extensions&&!e.arguments?null:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("h2",{className:"metaInfoSubTitle",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--application",children:"Application"})}),(0,W.jsxs)("div",{className:"metaInfoSection",children:[e.product?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--name-and-version",children:"Name and version:"})}),sm(e)]}):null,e.profilingStartTime?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--application-uptime2",children:"Uptime:"})}),Yt(e.profilingStartTime)]}):null,e.updateChannel?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--update-channel",children:"Update channel:"})}),e.updateChannel]}):null,e.appBuildID?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--build-id",children:"Build ID:"})}),e.sourceURL&&/^https?:\/\//i.test(e.sourceURL)?(0,W.jsx)("a",{href:e.sourceURL,title:e.sourceURL,target:"_blank",rel:"noopener noreferrer",children:e.appBuildID}):e.appBuildID]}):null,e.debug!==void 0?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--build-type",children:"Build type:"})}),(0,W.jsx)(P,{id:e.debug?"MenuButtons--metaInfo--build-type-debug":"MenuButtons--metaInfo--build-type-opt"})]}):null,e.extensions?lR("MenuButtons--metaInfo-renderRowOfList-label-extensions",Array.from(e.extensions.name).sort()):null,e.arguments?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--arguments",children:"Arguments:"})}),(0,W.jsx)("div",{className:"metaInfoLargeContent",children:e.arguments})]}):null]})]})}_renderPlatformSection(){let{meta:e}=this.props.profile;if(!e.device&&!e.oscpu&&!e.platform&&!e.abi&&!e.CPUName&&!e.physicalCPUs&&!e.logicalCPUs&&!e.mainMemory)return null;let r=lm(e),n=null;return e.physicalCPUs&&e.logicalCPUs?n=(0,W.jsx)(P,{id:"MenuButtons--metaInfo--physical-and-logical-cpu",vars:{physicalCPUs:e.physicalCPUs,logicalCPUs:e.logicalCPUs}}):e.physicalCPUs?n=(0,W.jsx)(P,{id:"MenuButtons--metaInfo--physical-cpu",vars:{physicalCPUs:e.physicalCPUs}}):e.logicalCPUs&&(n=(0,W.jsx)(P,{id:"MenuButtons--metaInfo--logical-cpu",vars:{logicalCPUs:e.logicalCPUs}})),(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("h2",{className:"metaInfoSubTitle",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--platform",children:"Platform"})}),(0,W.jsxs)("div",{className:"metaInfoSection",children:[e.device?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--device",children:"Device:"})}),e.device]}):null,r?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--os",children:"OS:"})}),r]}):null,e.abi?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--abi",children:"ABI:"})}),e.abi]}):null,e.CPUName?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--cpu-model",children:"CPU model:"})}),e.CPUName]}):null,n?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--cpu-cores",children:"CPU cores:"})}),n]}):null,e.mainMemory?(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--main-memory",children:"Main memory:"})}),Ue(e.mainMemory)]}):null]})]})}_renderVisualMetricsSection(){let{meta:e}=this.props.profile;return e.visualMetrics?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("h2",{className:"metaInfoSubTitle",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--visual-metrics",children:"Visual metrics"})}),(0,W.jsxs)("div",{className:"metaInfoSection",children:[(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"visualMetricsLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--speed-index",children:"Speed Index:"})}),e.visualMetrics.SpeedIndex]}),(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"visualMetricsLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--perceptual-speed-index",children:"Perceptual Speed Index:"})}),e.visualMetrics.PerceptualSpeedIndex]}),(0,W.jsxs)("div",{className:"metaInfoRow",children:[(0,W.jsx)("span",{className:"visualMetricsLabel",children:(0,W.jsx)(P,{id:"MenuButtons--metaInfo--contentful-speed-Index",children:"Contentful Speed Index:"})}),e.visualMetrics.ContentfulSpeedIndex]})]})]}):null}render(){let{profilerOverhead:e}=this.props.profile;return(0,W.jsxs)(W.Fragment,{children:[this._renderRecordingInfo(),this._renderApplicationSection(),this._renderPlatformSection(),this._renderVisualMetricsSection(),e?(0,W.jsx)(rS,{profilerOverhead:e}):null,this.props.profileExtraInfo.length!==0?this._renderMoreInfo():null]})}};function lR(t,e){return e.length?(0,W.jsxs)("div",{className:"metaInfoRow metaInfoListRow",children:[(0,W.jsx)("span",{className:"metaInfoLabel",children:(0,W.jsx)(P,{id:t})}),(0,W.jsx)("ul",{className:"metaInfoList",children:e.map(r=>(0,W.jsx)("li",{className:"metaInfoListItem",children:r},r))})]}):null}function cR(t){return new Date(t).toLocaleString(void 0,{month:"short",year:"numeric",day:"numeric",weekday:"short",hour:"numeric",minute:"numeric"})}var Zj=H({mapStateToProps:t=>({profile:Ne(t),symbolicationStatus:_l(t),profileExtraInfo:TC(t),timelineUnit:vn(t)}),mapDispatchToProps:{resymbolicateProfile:S0},component:dR});var TR=T(U()),g5=T(xe());var bR={};ve(bR,{attemptToPublish:()=>pR,encodeSanitizedProfile:()=>aS,hideStaleProfile:()=>yR,profilePublished:()=>hR,profileSanitized:()=>fR,resetUploadState:()=>mR,revertToPrePublishedState:()=>gR,sanitizedProfileEncodingCompleted:()=>a5,sanitizedProfileEncodingFailed:()=>i5,sanitizedProfileEncodingStarted:()=>o5,updateSharingOption:()=>uR,updateUploadProgress:()=>c5,uploadCompressionStarted:()=>s5,uploadFailed:()=>d5,uploadStarted:()=>l5});var kse=`${xc}/compressed-store`,Qj="application/vnd.firefox-profiler+json;version=1.0",oS=class extends Error{name="UploadAbortedError"};function e5(){let t=new XMLHttpRequest,e=!1;return{abortUpload:()=>{e=!0,t.abort()},startUpload:(r,n)=>new Promise((o,a)=>{if(e){a(new oS("The request was already aborted."));return}t.onload=()=>{t.status===413?a(new Error(we`
|
|
194
|
+
The profile size is too large.
|
|
195
|
+
You can try enabling some of the privacy features to trim its size down.
|
|
196
|
+
`)):t.status>=200&&t.status<=299?o(t.responseText):a(new Error(`xhr onload with status != 200, xhr.statusText: ${t.statusText}`))},t.onerror=()=>{console.error("There was an XHR network error in uploadBinaryProfileData()",t);let i="Unable to make a connection to publish the profile.";t.statusText&&(i+=` The error response was: ${t.statusText}`),a(new Error(i))},t.onabort=()=>{a(new oS("The error has been aborted by the user."))},t.upload.onprogress=i=>{n&&i.lengthComputable&&n(i.loaded/i.total)},t.open("POST",kse),t.setRequestHeader("Accept",Qj),t.send(r)})}}async function t5({profileToken:t,jwtToken:e}){let r=`${xc}/profile/${t}`,n=await fetch(r,{method:"DELETE",headers:{Accept:Qj,"Content-Type":"application/json",Authorization:`Bearer ${e}`}});if(!n.ok)throw new Error(`An error happened while deleting the profile with the token "${t}": ${n.statusText} (${n.status})`)}function Ise(t){if(!r5(t))return console.error("The token is an invalid JWT token."),null;try{let e=t.split(".")[1],r=Pse(e);return JSON.parse(r)}catch(e){return console.error(`We got an unexpected error when trying to decode the JWT token '${t}':`,e),null}}var Cse=/^(?:[a-zA-Z0-9_-])+\.(?:[a-zA-Z0-9_-])+\.(?:[a-zA-Z0-9_-])+$/;function r5(t){return Cse.test(t)}function Pse(t){let e=t.replace(/[-_]/g,r=>{switch(r){case"-":return"+";case"_":return"/";default:throw new Error(`Unexpected match ${r}`)}});return atob(e)}function n5(t){if(r5(t)){let e=Ise(t);if(!e)throw new Error("The JWT token that's been returned by the server is incorrect.");let{profileToken:r}=e;if(!r)throw new Error("The JWT token returned by the server doesn't contain a profile token.");return r}return t}function uR(t,e){return{type:"UPDATE_SHARING_OPTION",slug:t,value:e}}function o5(t){return{type:"SANITIZED_PROFILE_ENCODING_STARTED",sanitizedProfile:t}}function a5(t,e){return{type:"SANITIZED_PROFILE_ENCODING_COMPLETED",sanitizedProfile:t,profileData:e}}function i5(t,e){return{type:"SANITIZED_PROFILE_ENCODING_FAILED",sanitizedProfile:t,error:e}}function s5(t){return{type:"UPLOAD_COMPRESSION_STARTED",abortFunction:t}}function l5(){return{type:"UPLOAD_STARTED"}}function c5(t){return{type:"UPDATE_UPLOAD_PROGRESS",uploadProgress:t}}function d5(t){return{type:"UPLOAD_FAILED",error:t}}async function Ese(t,e,r,n){let o=Vr(n),a=u=>({start:u.start-o,end:u.end-o}),i=eb(n),s=FI(n),l,c=Fm(n);if(c){let{committedRanges:u,translationMaps:p}=r;l=s(fR(t,u,p,i,null))}else l=s(hR(t,i,null));let d=Ne(n).meta;try{await LP({profileToken:t,jwtToken:e,publishedDate:new Date,name:i,preset:null,meta:{product:d.product,abi:d.abi,platform:d.platform,toolkit:d.toolkit,misc:d.misc,oscpu:d.oscpu,updateChannel:d.updateChannel,appBuildID:d.appBuildID},urlPath:l,publishedRange:c&&c.shouldFilterToCommittedRange?a(c.shouldFilterToCommittedRange):a(de(n))})}catch(u){u.name==="InvalidStateError"?console.error(xr`
|
|
197
|
+
A DOMException 'InvalidStateError' was thrown when storing the profile data to a local indexedDB.
|
|
198
|
+
Are you in private mode?
|
|
199
|
+
We'll ignore the error, but you won't be able to act on this profile's data in the future.
|
|
200
|
+
`):console.error("An error was thrown while storing the profile data to a local indexedDB.",u)}}function _se(t){if(t.type==="ERROR")throw t.error;return t.profileData}function aS(t){return(e,r)=>{let n=r(),o=Rb(n).profile;if(t?.sanitizedProfile===o)return t;let a=Bm(n);if(a.phase==="DONE"&&a.sanitizedProfile===o)return{sanitizedProfile:o,encodingPromise:Promise.resolve({type:"SUCCESS",profileData:a.profileData})};let i=(async function(){try{e(o5(o));let s=await $2(eU(o)),l=new Blob([s],{type:"application/octet-binary"});return e(a5(o,l)),{type:"SUCCESS",profileData:l}}catch(s){return e(i5(o,s)),console.error("Error while compressing the profile data",s),{type:"ERROR",error:s}}})();return{sanitizedProfile:o,encodingPromise:i}}}function pR(t){return async(e,r)=>{try{Ge({hitType:"event",eventCategory:"profile upload",eventAction:"start"});let n=r(),o=eb(n),a=Hm(n),{abortUpload:i,startUpload:s}=e5();e(s5(()=>{e({type:"UPLOAD_ABORTED"}),i()}));let c=Rb(n),u=await e(aS(t)).encodingPromise;if(a!==Hm(r()))return!1;let p=_se(u);e(l5());let m=await s(p,b=>{e(c5(b))}),f=n5(m);if(await Ese(f,m===f?null:m,c,n),a!==Hm(r()))return!1;if(Fm(n)){let{committedRanges:b,translationMaps:g,profile:y}=c;await e(yR()),e(fR(f,b,g,o,n)),gd(()=>{e(ef(y))})}else{let b=ir(n);e(hR(f,o,b==="unpublished"||b==="from-browser"||b==="from-post-message"?null:n))}Ge({hitType:"event",eventCategory:"profile upload",eventAction:"succeeded"})}catch(n){return n.name==="UploadAbortedError"?Ge({hitType:"event",eventCategory:"profile upload",eventAction:"aborted"}):(e(d5(n)),Ge({hitType:"event",eventCategory:"profile upload",eventAction:"failed"})),!1}return!0}}function mR(){return{type:"UPLOAD_RESET"}}function fR(t,e,r,n,o){return{type:"SANITIZED_PROFILE_PUBLISHED",hash:t,committedRanges:e,translationMaps:r,profileName:n,prePublishedState:o}}function hR(t,e,r){return{type:"PROFILE_PUBLISHED",hash:t,profileName:e,prePublishedState:r}}function gR(){return async(t,e)=>{let r=$(Mb(e()),"Expected to find an original profile when reverting to it.");await t(yR()),t({type:"REVERT_TO_PRE_PUBLISHED_STATE",prePublishedState:r})}}function yR(){return t=>(t({type:"HIDE_STALE_PROFILE"}),new Promise(e=>{setTimeout(e,300)}))}var iS=T(U()),p5=T(E()),u5=({blob:t,children:e,...r})=>{let[n,o]=(0,iS.useState)("");return(0,iS.useEffect)(()=>{let a=URL.createObjectURL(t);return o(a),()=>URL.revokeObjectURL(a)},[t]),(0,p5.jsx)("a",{href:n,...r,children:e})};var m5=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],f5=t=>{if(!Number.isFinite(t))throw new TypeError(`Expected a finite number, got ${typeof t}: ${t}`);let e=t<0;if(e&&(t=-t),t<1)return(e?"-":"")+t+" B";let r=Math.min(Math.floor(Math.log10(t)/3),m5.length-1),n=Number((t/Math.pow(1e3,r)).toPrecision(3)),o=m5[r];return(e?"-":"")+n+" "+o};var h5='data:image/svg+xml,<!-- This Source Code Form is subject to the terms of the Mozilla Public%0A - License, v. 2.0. If a copy of the MPL was not distributed with this%0A - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->%0A<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="%23000" d="M14.742 12.106L9.789 2.2a2 2 0 0 0-3.578 0l-4.953 9.91A2 2 0 0 0 3.047 15h9.905a2 2 0 0 0 1.79-2.894zM7 5a1 1 0 0 1 2 0v4a1 1 0 0 1-2 0zm1 8.25A1.25 1.25 0 1 1 9.25 12 1.25 1.25 0 0 1 8 13.25z"></path></svg>%0A';var ye=T(E()),vR=class extends TR.PureComponent{_inflightEncoding;componentDidMount(){this._inflightEncoding=this.props.encodeSanitizedProfile()}_onCheckboxChange=e=>{let r=e.target.name;this.props.updateSharingOption(r,e.target.checked),this._inflightEncoding=this.props.encodeSanitizedProfile(this._inflightEncoding)};_renderCheckbox(e,r,n){let{checkedSharingOptions:o}=this.props;return(0,ye.jsxs)("label",{className:"photon-label publishPanelDataChoicesLabel",children:[(0,ye.jsx)("input",{type:"checkbox",className:"photon-checkbox photon-checkbox-default",name:e,onChange:this._onCheckboxChange,checked:o[e]}),(0,ye.jsx)(P,{id:r}),n]})}_onSubmit=()=>{this.props.attemptToPublish(this._inflightEncoding)};_renderPublishPanel(){let{shouldShowPreferenceOption:e,profileContainsPrivateBrowsingInformation:r,sanitizedProfileEncodingState:n,downloadFileName:o,shouldSanitizeByDefault:a,isRepublish:i}=this.props;return(0,ye.jsx)("div",{"data-testid":"PublishPanel-container",children:(0,ye.jsxs)("form",{className:"publishPanelContent photon-body-10",onSubmit:this._onSubmit,children:[(0,ye.jsx)("h1",{className:"publishPanelTitle photon-title-40",children:i?(0,ye.jsx)(P,{id:"MenuButtons--publish--reupload-performance-profile",children:"Re-upload Performance Profile"}):(0,ye.jsx)(P,{id:"MenuButtons--publish--share-performance-profile",children:"Share Performance Profile"})}),(0,ye.jsxs)("p",{className:"publishPanelInfoDescription",children:[(0,ye.jsx)(P,{id:"MenuButtons--publish--info-description",children:"Upload your profile and make it accessible to anyone with the link."})," ",a?(0,ye.jsx)(P,{id:"MenuButtons--publish--info-description-default",children:"By default, your personal data is removed."}):(0,ye.jsx)(P,{id:"MenuButtons--publish--info-description-firefox-nightly2",children:"This profile is from Firefox Nightly, so by default most information is included."})]}),(0,ye.jsx)("h3",{className:"photon-title-10",children:(0,ye.jsx)(P,{id:"MenuButtons--publish--include-additional-data",children:"Include additional data that may be identifiable"})}),(0,ye.jsxs)("div",{className:"publishPanelDataChoices",children:[this._renderCheckbox("includeHiddenThreads","MenuButtons--publish--renderCheckbox-label-hidden-threads"),this._renderCheckbox("includeFullTimeRange","MenuButtons--publish--renderCheckbox-label-hidden-time"),this._renderCheckbox("includeScreenshots","MenuButtons--publish--renderCheckbox-label-include-screenshots"),this._renderCheckbox("includeUrls","MenuButtons--publish--renderCheckbox-label-resource"),this._renderCheckbox("includeExtension","MenuButtons--publish--renderCheckbox-label-extension"),e?this._renderCheckbox("includePreferenceValues","MenuButtons--publish--renderCheckbox-label-preference"):null,r?this._renderCheckbox("includePrivateBrowsingData","MenuButtons--publish--renderCheckbox-label-private-browsing",(0,ye.jsx)(P,{id:"MenuButtons--publish--renderCheckbox-label-private-browsing-warning-image",attrs:{title:!0},children:(0,ye.jsx)("img",{className:"publishPanelDataChoicesIndicator",src:h5,title:"This profile contains private browsing data"})})):null]}),n.phase==="ERROR"?(0,ye.jsx)("div",{className:"photon-message-bar photon-message-bar-error photon-message-bar-inner-content",children:(0,ye.jsx)("div",{className:"photon-message-bar-inner-text",children:(0,ye.jsx)(P,{id:"MenuButtons--publish--error-while-compressing",children:"Error while compressing, try unchecking some checkboxes to reduce the profile size."})})}):null,(0,ye.jsxs)("div",{className:"publishPanelButtons",children:[(0,ye.jsx)(sS,{downloadFileName:o,sanitizedProfileEncodingState:n}),(0,ye.jsxs)("button",{type:"submit",className:"photon-button photon-button-primary publishPanelButton publishPanelButtonsUpload",disabled:n.phase==="ERROR",children:[(0,ye.jsx)("span",{className:"publishPanelButtonsSvg publishPanelButtonsSvgUpload"}),(0,ye.jsx)(P,{id:"MenuButtons--publish--button-upload",children:"Upload"})]})]})]})})}_renderUploadPanel(){let{uploadProgress:e,uploadProgressString:r,abortFunction:n,downloadFileName:o,sanitizedProfileEncodingState:a}=this.props;return(0,ye.jsxs)("div",{className:"publishPanelUpload photon-body-10","data-testid":"PublishPanel-container",children:[(0,ye.jsxs)("div",{className:"publishPanelUploadTop",children:[(0,ye.jsx)("div",{className:"publishPanelUploadTitle photon-title-20",children:(0,ye.jsx)(P,{id:"MenuButtons--publish--upload-title",children:"Uploading profile\u2026"})}),(0,ye.jsx)("div",{className:"publishPanelUploadPercentage",children:r}),(0,ye.jsx)("div",{className:"publishPanelUploadBar",children:(0,ye.jsx)("div",{className:"publishPanelUploadBarInner",style:{width:`${e*100}%`}})})]}),(0,ye.jsxs)("div",{className:"publishPanelButtons",children:[(0,ye.jsx)(sS,{downloadFileName:o,sanitizedProfileEncodingState:a}),(0,ye.jsx)("button",{type:"button",className:"photon-button photon-button-default publishPanelButton publishPanelButtonsCancelUpload",onClick:n,children:(0,ye.jsx)(P,{id:"MenuButtons--publish--cancel-upload",children:"Cancel Upload"})})]})]})}_renderErrorPanel(){let{uploadError:e,resetUploadState:r}=this.props,n="There was an unknown error when trying to upload the profile.";return e&&typeof e=="object"&&"message"in e&&typeof e.message=="string"?n=e.message:typeof e=="string"&&(n=e),(0,ye.jsxs)("div",{className:"publishPanelUpload photon-body-10","data-testid":"PublishPanel-container",children:[(0,ye.jsxs)("div",{className:"photon-message-bar photon-message-bar-error photon-message-bar-inner-content",children:[(0,ye.jsx)("div",{className:"photon-message-bar-inner-text",children:(0,ye.jsx)(P,{id:"MenuButtons--publish--message-something-went-wrong",children:"Uh oh, something went wrong when uploading the profile."})}),(0,ye.jsx)("button",{className:"photon-button photon-button-micro photon-message-bar-action-button",type:"button",onClick:r,children:(0,ye.jsx)(P,{id:"MenuButtons--publish--message-try-again",children:"Try again"})})]}),(0,ye.jsx)("div",{className:"publishPanelError",children:n})]})}render(){let{uploadPhase:e}=this.props;switch(e){case"error":return this._renderErrorPanel();case"local":case"uploaded":return this._renderPublishPanel();case"uploading":case"compressing":return this._renderUploadPanel();default:throw Y(e)}}},y5=H({mapStateToProps:t=>({profile:Ne(t),rootRange:Vo(t),shouldShowPreferenceOption:bm(t),profileContainsPrivateBrowsingInformation:Tm(t),checkedSharingOptions:Nb(t),downloadFileName:fP(t),sanitizedProfileEncodingState:Bm(t),uploadPhase:pi(t),uploadProgress:Ad(t),uploadProgressString:gP(t),uploadError:hP(t),shouldSanitizeByDefault:yP(t),abortFunction:Um(t)}),mapDispatchToProps:{updateSharingOption:uR,encodeSanitizedProfile:aS,attemptToPublish:pR,resetUploadState:mR},component:vR}),sS=class extends TR.PureComponent{render(){let{sanitizedProfileEncodingState:e,downloadFileName:r}=this.props,n="photon-button publishPanelButton publishPanelButtonsDownload";switch(e.phase){case"DONE":{let{profileData:o}=e;return(0,ye.jsxs)(u5,{blob:o,download:`${r}.gz`,className:n,children:[(0,ye.jsx)("span",{className:"publishPanelButtonsSvg publishPanelButtonsSvgDownload"}),(0,ye.jsx)(P,{id:"MenuButtons--publish--download",children:"Download"})," ",(0,ye.jsxs)("span",{className:"menuButtonsDownloadSize",children:["(",f5(o.size),")"]})]})}case"ERROR":return(0,ye.jsx)("button",{type:"button",className:n,disabled:!0,children:(0,ye.jsx)(P,{id:"MenuButtons--publish--download",children:"Download"})});case"INITIAL":case"ENCODING":return(0,ye.jsx)("button",{type:"button",className:(0,g5.default)(n,"publishPanelButtonDisabled"),children:(0,ye.jsx)(P,{id:"MenuButtons--publish--compressing",children:"Compressing\u2026"})});default:throw Y(e)}}};var b5=T(U()),SR=T(ls());var lS=T(E()),cS=class extends b5.PureComponent{_permalinkTextField=null;_takePermalinkTextFieldRef=e=>{this._permalinkTextField=e};state={fullUrl:"",shortUrl:""};_shortenUrlAndFocusTextFieldOnCompletion=async()=>{let{fullUrl:e}=this.state,r=window.location.href;if(e!==r){let o=this.props.injectedUrlShortener||vb;try{let a=await o(r);(0,SR.flushSync)(()=>{this.setState({shortUrl:a,fullUrl:r})})}catch(a){console.warn("Unable to shorten the URL.",a),(0,SR.flushSync)(()=>{this.setState({shortUrl:r,fullUrl:""})})}}let n=this._permalinkTextField;n&&(n.focus(),n.select())};_onPermalinkPanelClose=()=>{this._permalinkTextField&&this._permalinkTextField.blur()};render(){return(0,lS.jsx)(P,{id:"MenuButtons--permalink--button",attrs:{label:!0},children:(0,lS.jsx)(_i,{buttonClassName:"menuButtonsButton menuButtonsButton-hasIcon menuButtonsPermalinkButtonButton",label:"Permalink",open:this.props.isNewlyPublished,onPanelOpen:this._shortenUrlAndFocusTextFieldOnCompletion,onPanelClose:this._onPermalinkPanelClose,panelClassName:"menuButtonsPermalinkPanel",panelContent:(0,lS.jsx)("input",{"data-testid":"MenuButtonsPermalink-input",type:"text",className:"menuButtonsPermalinkTextField photon-input",value:this.state.shortUrl,readOnly:!0,ref:this._takePermalinkTextFieldRef})})})}};var Jf=T(U());var v5=T(xe());var zt=T(E()),dS=class extends Jf.PureComponent{_hasBeenDeleted=!1;_componentDeleteButtonRef=Jf.default.createRef();onCloseConfirmDialog=()=>{this._hasBeenDeleted&&this.props.onCloseSuccessMessage(),this.props.onCloseConfirmDialog()};onProfileDeleted=()=>{this._hasBeenDeleted=!0};onProfileDeleteCanceled=()=>{this._componentDeleteButtonRef.current&&this._componentDeleteButtonRef.current.closePanel()};render(){let{profileName:e,smallProfileName:r,buttonClassName:n,jwtToken:o,profileToken:a}=this.props;return(0,zt.jsx)(P,{id:"ProfileDeleteButton--delete-button",attrs:{label:!0,title:!0},vars:{smallProfileName:r},children:(0,zt.jsx)(_i,{ref:this._componentDeleteButtonRef,buttonClassName:(0,v5.default)(n,"photon-button","photon-button-default"),panelClassName:"profileDeletePanel",label:"Delete",title:`Click here to delete the profile ${r}`,onPanelOpen:this.props.onOpenConfirmDialog,onPanelClose:this.onCloseConfirmDialog,panelContent:(0,zt.jsx)(Xf,{profileName:e,profileToken:a,jwtToken:o,onProfileDeleted:this.onProfileDeleted,onProfileDeleteCanceled:this.onProfileDeleteCanceled})})})}},Xf=class extends Jf.PureComponent{state={error:null,status:"idle"};onConfirmDeletion=async()=>{let{profileToken:e,jwtToken:r}=this.props;this.setState({status:"working"});try{if(!r)throw new Error("We have no JWT token for this profile, so we can't delete it. This shouldn't happen.");await t5({profileToken:e,jwtToken:r}),await cG(e),this.setState({status:"deleted"}),this.props.onProfileDeleted()}catch(n){this.setState({error:n,status:"idle"}),console.error("An error was triggered when we tried to delete a profile.",n)}};preventClick(e){e.preventDefault()}_renderPossibleErrorMessage(){let{error:e}=this.state;return e?(0,zt.jsx)(P,{id:"ProfileDeletePanel--delete-error",elems:{a:(0,zt.jsx)("a",{href:"#",title:e.message,onClick:this.preventClick})},children:(0,zt.jsxs)("p",{className:"profileDeleteButtonError",children:["An error happened while deleting this profile."," ",(0,zt.jsx)("a",{children:"Hover to know more."})]})}):null}render(){let{profileName:e}=this.props,{status:r}=this.state;return r==="deleted"?(0,zt.jsx)(xR,{}):(0,zt.jsxs)("div",{className:"confirmDialog",children:[(0,zt.jsx)(P,{id:"ProfileDeletePanel--dialog-title",vars:{profileName:e},children:(0,zt.jsxs)("h2",{className:"confirmDialogTitle",children:["Delete ",e]})}),(0,zt.jsxs)("div",{className:"confirmDialogContent",children:[(0,zt.jsx)(P,{id:"ProfileDeletePanel--dialog-confirmation-question",children:"Are you sure you want to delete uploaded data for this profile? Links that were previously shared will no longer work."}),this._renderPossibleErrorMessage()]}),(0,zt.jsxs)("div",{className:"confirmDialogButtons",children:[(0,zt.jsx)(P,{id:"ProfileDeletePanel--dialog-cancel-button",attrs:{value:!0},children:(0,zt.jsx)("input",{type:"button",className:"photon-button photon-button-default",value:"Cancel",disabled:r==="working",onClick:this.props.onProfileDeleteCanceled})}),(0,zt.jsx)(P,{id:r==="working"?"ProfileDeletePanel--dialog-deleting-button":"ProfileDeletePanel--dialog-delete-button",attrs:{value:!0},children:(0,zt.jsx)("input",{type:"button",className:"photon-button photon-button-destructive",value:r==="working"?"Deleting\u2026":"Delete",disabled:r==="working",onClick:this.onConfirmDeletion})})]})]})}};function xR(t){return(0,zt.jsx)(P,{id:"ProfileDeletePanel--message-success",children:(0,zt.jsx)("p",{className:"profileDeleteButtonSuccess",children:"The uploaded data was successfully deleted."})})}var qe=T(E()),wR=class extends T5.PureComponent{state={metaInfoPanelState:"initial"};componentDidMount(){this.props.dismissNewlyPublished()}_getUploadedStatus(e,r){switch(e){case"public":case"compare":return"uploaded";case"from-browser":case"from-post-message":case"unpublished":case"from-file":case"local":return"local";case"from-url":return po(r)?"local":"uploaded";case"none":case"uploaded-recordings":throw new Error(`The datasource ${e} shouldn't happen here.`);default:throw Y(e)}}_deleteThisProfileOnServer=()=>{this.setState({metaInfoPanelState:"delete-confirmation"})};_onProfileDeleted=()=>{this.props.profileRemotelyDeleted()};_resetMetaInfoState=()=>{this.setState({metaInfoPanelState:"initial"})};_renderUploadedProfileActions(e){return(0,qe.jsxs)("div",{className:"profileInfoUploadedActions",children:[(0,qe.jsxs)("div",{className:"profileInfoUploadedDate",children:[(0,qe.jsx)("span",{className:"profileInfoUploadedLabel",children:(0,qe.jsx)(P,{id:"MenuButtons--index--profile-info-uploaded-label",children:"Uploaded:"})}),Rse(e.publishedDate)]}),(0,qe.jsx)("div",{className:"profileInfoUploadedActionsButtons",children:(0,qe.jsx)("button",{type:"button",className:"photon-button photon-button-default photon-button-micro",onClick:this._deleteThisProfileOnServer,title:e.jwtToken===null?"This profile cannot be deleted because we lack the authorization information.":void 0,disabled:e.jwtToken===null,children:(0,qe.jsx)(P,{id:"MenuButtons--index--profile-info-uploaded-actions",children:"Delete"})})})]})}_renderMetaInfoPanel(){let{currentProfileUploadedInformation:e}=this.props,{metaInfoPanelState:r}=this.state;switch(r){case"initial":return(0,qe.jsxs)(qe.Fragment,{children:[(0,qe.jsx)("h2",{className:"metaInfoSubTitle",children:(0,qe.jsx)(P,{id:"MenuButtons--index--metaInfo-subtitle",children:"Profile Information"})}),e?this._renderUploadedProfileActions(e):null,(0,qe.jsx)(Zj,{})]});case"delete-confirmation":if(e){let{name:n,profileToken:o,jwtToken:a}=e;if(!a)throw new Error(`We're in the state "delete-confirmation" but there's no JWT token for this profile, this should not happen.`);let i=o.slice(0,6),s=n||`Profile #${i}`;return(0,qe.jsx)(Xf,{profileName:s,profileToken:o,jwtToken:a,onProfileDeleted:this._onProfileDeleted,onProfileDeleteCanceled:this._resetMetaInfoState})}return(0,qe.jsx)(xR,{});default:throw Y(r,"Unhandled metaInfoPanelState")}}_renderMetaInfoButton(){return(0,qe.jsx)(P,{id:"MenuButtons--index--metaInfo-button",attrs:{label:!0},children:(0,qe.jsx)(_i,{buttonClassName:"menuButtonsButton menuButtonsMetaInfoButtonButton menuButtonsButton-hasIcon",label:"",onPanelClose:this._resetMetaInfoState,panelClassName:"metaInfoPanel",panelContent:this._renderMetaInfoPanel()})})}_renderPublishPanel(){let{uploadPhase:e,dataSource:r,abortFunction:n,profileUrl:o}=this.props;if(e==="uploading"||e==="compressing")return(0,qe.jsx)("button",{type:"button",className:"menuButtonsButton menuButtonsShareButtonButton menuButtonsButton-hasIcon menuButtonsShareButtonButton-uploading",onClick:n,children:(0,qe.jsx)(P,{id:"MenuButtons--index--cancel-upload",children:"Cancel Upload"})});let s=this._getUploadedStatus(r,o)==="uploaded",l=e==="error",c="MenuButtons--index--share-upload";return s&&(c="MenuButtons--index--share-re-upload"),l&&(c="MenuButtons--index--share-error-uploading"),(0,qe.jsx)(P,{id:c,attrs:{label:!0},children:(0,qe.jsx)(_i,{buttonClassName:(0,S5.default)("menuButtonsButton menuButtonsShareButtonButton menuButtonsButton-hasIcon",{menuButtonsShareButtonError:l}),panelClassName:"publishPanelPanel",label:"",panelContent:(0,qe.jsx)(y5,{isRepublish:s})})})}_renderPermalink(){let{dataSource:e,isNewlyPublished:r,injectedUrlShortener:n,profileUrl:o}=this.props;return this._getUploadedStatus(e,o)==="uploaded"?(0,qe.jsx)(cS,{isNewlyPublished:r,injectedUrlShortener:n}):null}_renderRevertProfile(){let{hasPrePublishedState:e,revertToPrePublishedState:r}=this.props;return e?(0,qe.jsx)("button",{type:"button",className:"menuButtonsButton menuButtonsButton-hasIcon menuButtonsRevertButton",onClick:r,children:(0,qe.jsx)(P,{id:"MenuButtons--index--revert",children:"Revert to Original Profile"})}):null}render(){return(0,qe.jsxs)(qe.Fragment,{children:[this._renderRevertProfile(),this._renderMetaInfoButton(),this._renderPublishPanel(),this._renderPermalink(),(0,qe.jsxs)("a",{href:"/docs/",target:"_blank",className:"menuButtonsButton menuButtonsButton-hasLeftBorder",title:"Open the documentation in a new window",children:[(0,qe.jsx)(P,{id:"MenuButtons--index--docs",children:"Docs"}),(0,qe.jsx)("i",{className:"open-in-new"})]})]})}},x5=H({mapStateToProps:t=>({rootRange:Vo(t),dataSource:ir(t),profileUrl:ii(t),isNewlyPublished:LC(t),uploadPhase:pi(t),hasPrePublishedState:bP(t),abortFunction:Um(t),currentProfileUploadedInformation:BC(t)}),mapDispatchToProps:{dismissNewlyPublished:F0,revertToPrePublishedState:gR,profileRemotelyDeleted:z0},component:wR});function Rse(t){return t.toLocaleString(void 0,{month:"short",year:"numeric",day:"numeric",weekday:"short",hour:"numeric",minute:"numeric"})}var w5=T(U());var kR=class extends w5.PureComponent{async updateCurrentProfileInformationState(){let{hash:e,setCurrentProfileUploadedInformation:r}=this.props,n=await DP(e);this.props.hash===e&&r(n||null)}componentDidMount(){this.updateCurrentProfileInformationState()}componentDidUpdate(){this.updateCurrentProfileInformationState()}render(){return null}},k5=H({mapStateToProps:t=>({hash:Cl(t)}),mapDispatchToProps:{setCurrentProfileUploadedInformation:$0},component:kR});var I5=T(U());var dc=T(E());function Mse(t){return t===1?"library":"libraries"}function Lse(t){switch(t.length){case 0:return"";case 1:return t[0];default:return t.slice(0,t.length-1).join(", ")+" and "+t[t.length-1]}}var IR=class extends I5.PureComponent{render(){let{symbolicationStatus:e,waitingForLibs:r}=this.props;if(e==="SYMBOLICATING"){if(r.size>0){let n=Array.from(r.values()).map(o=>o.debugName);return(0,dc.jsxs)("div",{className:"symbolicationStatusOverlay",children:[(0,dc.jsx)("span",{className:"symbolicationStatusOverlayThrobber"}),`Waiting for symbols for ${Mse(n.length)} ${Lse(n)}...`]})}return(0,dc.jsxs)("div",{className:"symbolicationStatusOverlay",children:[(0,dc.jsx)("span",{className:"symbolicationStatusOverlayThrobber"}),"Symbolicating call stacks..."]})}return(0,dc.jsx)("div",{className:"symbolicationStatusOverlay hidden"})}},C5=H({mapStateToProps:t=>({symbolicationStatus:_l(t),waitingForLibs:qt(t).waitingForLibs}),component:IR});var uS=T(U());var Ni=T(E()),CR=class extends uS.PureComponent{state={focusedWithKey:null,focusGeneration:0};inputRef=uS.createRef();blurInput(){this.setState(e=>({focusedWithKey:null,focusGeneration:e.focusGeneration+1}))}getKey(){return`${this.props.profileNameWithDefault}-${this.state.focusGeneration}`}changeProfileNameIfChanged=e=>{let{changeProfileName:r,profileNameWithDefault:n}=this.props,o=e.currentTarget.value.trim();this.blurInput(),o!==n&&r(o||null)};blurOnEscapeOrEnter=e=>{switch(e.key){case"Escape":{this.blurInput();break}case"Enter":{let r={currentTarget:e.currentTarget};this.changeProfileNameIfChanged(r);break}default:}};handleButtonFocus=()=>{this.setState({focusedWithKey:this.getKey()});let e=this.inputRef.current;e&&requestAnimationFrame(()=>{e.focus(),e.select()})};render(){let{focusedWithKey:e}=this.state,{profileNameWithDefault:r}=this.props,n=this.getKey(),o=e===n;return(0,Ni.jsxs)(Ni.Fragment,{children:[(0,Ni.jsx)(P,{id:"ProfileName--edit-profile-name-button",attrs:{title:!0},children:(0,Ni.jsx)("button",{type:"button",style:{display:o?"none":void 0},title:"Edit the profile name",className:"profileNameButton menuButtonsButton menuButtonsButton-hasRightBorder menuButtonsButton-hasIcon",onFocus:this.handleButtonFocus,onClick:this.handleButtonFocus,children:r})}),(0,Ni.jsx)(P,{id:"ProfileName--edit-profile-name-input",attrs:{title:!0,"aria-label":!0},children:(0,Ni.jsx)("input",{className:"profileNameInput photon-input",style:{display:o?void 0:"none"},defaultValue:r,"aria-label":"Profile name",title:"Edit the profile name",onBlur:this.changeProfileNameIfChanged,ref:this.inputRef,onKeyDown:this.blurOnEscapeOrEnter},n)})]})}},P5=H({mapStateToProps:t=>({profileNameWithDefault:BI(t)}),mapDispatchToProps:{changeProfileName:i0},component:CR});var E5=T(U());var PR=class extends E5.PureComponent{manageBeforeUnloadListener(){let{isUploading:e}=this.props;e?window.addEventListener("beforeunload",this.handleUnload):window.removeEventListener("beforeunload",this.handleUnload)}handleUnload=e=>{e.preventDefault(),e.returnValue="Are you sure you want to close while uploading?"};componentDidMount(){this.manageBeforeUnloadListener()}componentDidUpdate(){this.manageBeforeUnloadListener()}componentWillUnmount(){window.removeEventListener("beforeunload",this.handleUnload)}render(){return!1}},_5=H({mapStateToProps:t=>({isUploading:pi(t)==="uploading"}),component:PR});var mS=T(U()),ER=T(xe());var Pe=T(E()),pS=class extends mS.PureComponent{state={isOpen:!1,focusAfterClosed:null};_focusArea=mS.createRef();componentDidMount(){window.addEventListener("keydown",this._handleKeyPress)}_focus(){requestAnimationFrame(()=>{let e=this._focusArea.current;e&&e.focus()})}_open=e=>{if(e.isOpen)return e;let r=document.activeElement;return this._trapFocus(),this._focus(),{isOpen:!0,focusAfterClosed:r}};_close=e=>{let{focusAfterClosed:r,isOpen:n}=e;return n?(this._untrapFocus(),r&&requestAnimationFrame(()=>{r.focus()}),{isOpen:!1,focusAfterClosed:null}):e};_handleCloseClick=()=>{if(this.state.isOpen){let e=this.state.focusAfterClosed;this._untrapFocus(),this.setState({isOpen:!1,focusAfterClosed:null}),e&&"focus"in e&&requestAnimationFrame(()=>{e.focus()})}};_handleKeyPress=e=>{let r=e.target;switch(e.key){case"?":{if(r.tagName==="INPUT"||r.tagName==="TEXTAREA"||r.tagName==="SELECT"||r.isContentEditable)return;this.setState(n=>n.isOpen?this._close(n):this._open(n));break}case"Escape":{this.setState(this._close);break}default:}};componentWillUnmount(){window.removeEventListener("keydown",this._handleKeyPress),this._untrapFocus()}_trapFocus(){document.addEventListener("focus",this._trapFocusHandler,!0)}_untrapFocus(){document.removeEventListener("focus",this._trapFocusHandler,!0)}_trapFocusHandler=e=>{let r=this._focusArea.current;r&&(r.contains(e.target)||r.focus())};maybeRenderShortcuts(){return this.state.isOpen?(0,Pe.jsxs)(Pe.Fragment,{children:[(0,Pe.jsxs)("div",{className:"appKeyboardShortcutsHeader",children:[(0,Pe.jsx)("div",{className:"appKeyboardShortcutsHeaderTitle",id:"AppKeyboardShortcutsHeaderTitle",children:"Keyboard shortcuts"}),(0,Pe.jsx)("button",{type:"button",className:"appKeyboardShortcutsHeaderClose",onClick:this._handleCloseClick,children:"Close"})]}),(0,Pe.jsxs)("div",{className:"appKeyboardShortcutsContent",children:[(0,Pe.jsxs)("div",{className:"appKeyboardShortcutsColumn",children:[(0,Pe.jsx)("h2",{children:"Call Tree"}),(0,Pe.jsx)(nr,{label:"Close call node",shortcut:"ArrowLeft"}),(0,Pe.jsx)(nr,{label:"Open call node",shortcut:"ArrowRight"}),(0,Pe.jsx)(nr,{label:"Open all child call nodes",shortcut:"*"}),(0,Pe.jsx)(nr,{label:"Copy call node label",shortcut:"ctrl,c",macShortcut:"cmd,c"}),(0,Pe.jsx)("h2",{children:"Flame Graph"}),(0,Pe.jsx)(nr,{label:"Move view up",shortcut:"w"}),(0,Pe.jsx)(nr,{label:"Move view down",shortcut:"s"}),(0,Pe.jsx)(nr,{label:"Move selection up",shortcut:"ArrowUp"}),(0,Pe.jsx)(nr,{label:"Move selection down",shortcut:"ArrowDown"}),(0,Pe.jsx)(nr,{label:"Move selection left",shortcut:"ArrowLeft"}),(0,Pe.jsx)(nr,{label:"Move selection right",shortcut:"ArrowRight"}),(0,Pe.jsx)(nr,{label:"Copy call node label",shortcut:"ctrl,c",macShortcut:"cmd,c"}),(0,Pe.jsx)("h2",{children:"Marker Table"}),(0,Pe.jsx)(nr,{label:"Copy marker label",shortcut:"ctrl,c",macShortcut:"cmd,c"})]}),(0,Pe.jsxs)("div",{className:"appKeyboardShortcutsColumn",children:[(0,Pe.jsx)("h2",{children:"Timeline"}),(0,Pe.jsx)(nr,{label:"Select multiple threads",shortcut:"ctrl,click",macShortcut:"cmd,click"}),(0,Pe.jsx)("h2",{children:"Call Tree Transforms"}),(0,Pe.jsx)(nr,{label:"Merge function",shortcut:"m"}),(0,Pe.jsx)(nr,{label:"Merge node only",shortcut:"M"}),(0,Pe.jsx)(nr,{label:"Focus on function",shortcut:"f"}),(0,Pe.jsx)(nr,{label:"Focus on subtree only",shortcut:"F"}),(0,Pe.jsx)(nr,{label:"Collapse function",shortcut:"c"}),(0,Pe.jsx)(nr,{label:"Collapse library",shortcut:"C"}),(0,Pe.jsx)(nr,{label:"Drop samples with this function",shortcut:"d"})]})]})]}):null}render(){let{wrapperClassName:e,children:r}=this.props,{isOpen:n}=this.state;return(0,Pe.jsxs)(Pe.Fragment,{children:[(0,Pe.jsx)("div",{className:(0,ER.default)(e,{appKeyboardShortcutsNoInteract:n}),children:r}),(0,Pe.jsx)("div",{className:(0,ER.default)({appKeyboardShortcuts:!0,open:n}),children:(0,Pe.jsx)("div",{className:"appKeyboardShortcutsBox",ref:this._focusArea,tabIndex:0,role:"dialog","aria-modal":"true","aria-labelledby":"AppKeyboardShortcutsHeaderTitle",children:this.maybeRenderShortcuts()})})]})}};function nr(t){let e=t.shortcut;return t.macShortcut&&window.navigator.platform.includes("Mac")&&(e=t.macShortcut),(0,Pe.jsxs)("div",{className:"appKeyboardShortcutsRow",children:[(0,Pe.jsx)("div",{className:"appKeyboardShortcutsLabel",children:t.label}),e.split(",").map((r,n)=>(0,Pe.jsx)("kbd",{className:"appKeyboardShortcutsShortcut",children:r},n))]})}var MR={};ve(MR,{changeExpandedZipFile:()=>NR,changeSelectedZipFile:()=>_R,returnToZipFileList:()=>Qf,showErrorForNoFileInZip:()=>N5,viewProfileFromPathInZipFile:()=>RR,viewProfileFromZip:()=>Zf});function _R(t){return{type:"CHANGE_SELECTED_ZIP_FILE",selectedZipFileIndex:t}}function NR(t){return{type:"CHANGE_EXPANDED_ZIP_FILES",expandedZipFileIndexes:t}}function Zf(t,e=!1){return async(r,n)=>{let o=Cd(n()),a=o.path[t],i=o.file[t];if(!i)throw new Error("Attempted to load an archive that did not exist or was a directory.");r({type:"PROCESS_PROFILE_FROM_ZIP_FILE",pathInZipFile:a});try{let s=await Al(await i.async("string"),a),l=jo(n());l.pathInZipFile===a&&l.phase==="PROCESS_PROFILE_FROM_ZIP_FILE"&&await r(Vl(s,{pathInZipFile:a},e))}catch(s){console.error("Failed to process the profile in the archive with the following error:"),console.error(s),r({type:"FAILED_TO_PROCESS_PROFILE_FROM_ZIP_FILE",error:s})}}}function RR(t){return(e,r)=>{let o=Cd(r()).path.indexOf(t);return o===-1?(e(N5(t)),Promise.resolve()):e(Zf(o))}}function Qf(){return{type:"RETURN_TO_ZIP_FILE_LIST"}}function N5(t){return{type:"FILE_NOT_FOUND_IN_ZIP_FILE",pathInZipFile:t}}var x6=T(U());var iL=T(U());var d6=T(U());var u6=T(xe());var a4=T(U()),i4=T(xe());var L5=T(U());var R5=T(U()),M5=T(xe());var fS=T(Qo());var Eu=T(E()),Pu=class extends R5.PureComponent{_canvas=null;_takeCanvasRef=e=>this._canvas=e;_resizeListener=()=>this.forceUpdate();_renderCanvas(){let e=this._canvas;e!==null&&ct("ThreadHeightGraph render",()=>{this.drawCanvas(e)})}componentDidMount(){window.addEventListener("resize",this._resizeListener),this.forceUpdate()}componentWillUnmount(){window.removeEventListener("resize",this._resizeListener)}drawCanvas(e){let{thread:r,samplesSelectedStates:n,interval:o,rangeStart:a,rangeEnd:i,categories:s,stacksGrowFromCeiling:l,maxValue:c,heightFunc:d}=this.props,u=e.ownerDocument?e.ownerDocument.defaultView?.devicePixelRatio??1:1,p=e.getBoundingClientRect();e.width=Math.round(p.width*u),e.height=Math.round(p.height*u);let m=e.getContext("2d"),f=[a,i],h=f[1]-f[0],b=e.width/h,g=e.height/c,y=o*b,v=y<2?1.2:1,S=Math.max(.8,y*v),x=f[0]-S/b,w=f[1],I=Ae(r.samples.time,x),C=Ae(r.samples.time,w,I),k={height:[],xPos:[]},N={height:[],xPos:[]},O={height:[],xPos:[]},L=.25/b,F=-1/0;for(let Q=I;Q<C;Q++){let ie=r.samples.time[Q];if(ie<F)continue;let me=d(Q);if(me===null)continue;let M=me*g,G=(ie-f[0])*b,B;if(n!==null&&n[Q]==="SELECTED")B=O;else{let A=$(r.samples.stack[Q],"A stack must exist for this sample, since a callNodeIndex exists."),K=r.stackTable.category[A];s[K].name==="Idle"?B=N:B=k}B.height.push(M),B.xPos.push(G),F=ie+L}function R(Q,ie){if(Q.xPos.length!==0){m.fillStyle=ie;for(let me=0;me<Q.height.length;me++){let M=Q.height[me],G=l?0:e.height-M,B=Q.xPos[me];m&&m.fillRect(B,G,S,M)}}}let z="#c5e1fe";R(k,fS.BLUE_40),R(O,fS.BLUE_70),R(N,z)}_onClick=e=>{let r=this._canvas;if(r){let{rangeStart:n,rangeEnd:o,thread:a,interval:i}=this.props,s=r.getBoundingClientRect(),l=e.pageX-s.left,c=n+l/s.width*(o-n),d=NB(a.samples,c,i);if(a.samples.stack[d]===null)return;this.props.onSampleClick(e,d)}};render(){this._renderCanvas();let{className:e,trackName:r}=this.props;return(0,Eu.jsx)("div",{className:e,children:(0,Eu.jsxs)("canvas",{className:(0,M5.default)(`${this.props.className}Canvas`,"threadHeightGraphCanvas"),ref:this._takeCanvasRef,onClick:this._onClick,children:[(0,Eu.jsxs)("h2",{children:["Stack Graph for ",r]}),(0,Eu.jsx)("p",{children:"This graph charts the stack height of each sample."})]})})}};var D5=T(E()),hS=class extends L5.PureComponent{_heightFunction=e=>{let{callNodeInfo:r,sampleNonInvertedCallNodes:n}=this.props,o=n[e];return o===null?null:r.getCallNodeTable().depth[o]};render(){let{className:e,thread:r,samplesSelectedStates:n,interval:o,rangeStart:a,rangeEnd:i,callNodeInfo:s,categories:l,trackName:c,onSampleClick:d}=this.props,u=s.getCallNodeTable(),p=0;for(let m=0;m<u.depth.length;m++)u.depth[m]>p&&(p=u.depth[m]);return(0,D5.jsx)(Pu,{heightFunc:this._heightFunction,maxValue:p,className:e,trackName:c,interval:o,thread:r,samplesSelectedStates:n,rangeStart:a,rangeEnd:i,categories:l,onSampleClick:d})}};var A5=T(U());var O5=T(E()),gS=class extends A5.PureComponent{_heightFunction=e=>{let{thread:r}=this.props,{samples:n}=r;return e>=n.length-1?0:$(n.threadCPURatio)[e+1]||0};render(){let{className:e,thread:r,samplesSelectedStates:n,interval:o,rangeStart:a,rangeEnd:i,categories:s,trackName:l,onSampleClick:c}=this.props;return(0,O5.jsx)(Pu,{heightFunc:this._heightFunction,maxValue:1,className:e,trackName:l,interval:o,thread:r,samplesSelectedStates:n,rangeStart:a,rangeEnd:i,categories:s,onSampleClick:c})}};var TS=T(U()),U5=T(xe());var bS=T(U(),1),DR=T(U(),1),Ri=T(U(),1),Dse=Object.defineProperty,Ase=(t,e,r)=>e in t?Dse(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,eh=(t,e,r)=>Ase(t,typeof e!="symbol"?e+"":e,r),LR=new Map,yS=new WeakMap,F5=0,Ose;function Fse(t){return t?(yS.has(t)||(F5+=1,yS.set(t,F5.toString())),yS.get(t)):"0"}function Bse(t){return Object.keys(t).sort().filter(e=>t[e]!==void 0).map(e=>`${e}_${e==="root"?Fse(t.root):t[e]}`).toString()}function Hse(t){let e=Bse(t),r=LR.get(e);if(!r){let n=new Map,o,a=new IntersectionObserver(i=>{i.forEach(s=>{var l;let c=s.isIntersecting&&o.some(d=>s.intersectionRatio>=d);t.trackVisibility&&typeof s.isVisible>"u"&&(s.isVisible=c),(l=n.get(s.target))==null||l.forEach(d=>{d(c,s)})})},t);o=a.thresholds||(Array.isArray(t.threshold)?t.threshold:[t.threshold||0]),r={id:e,observer:a,elements:n},LR.set(e,r)}return r}function Use(t,e,r={},n=Ose){if(typeof window.IntersectionObserver>"u"&&n!==void 0){let l=t.getBoundingClientRect();return e(n,{isIntersecting:n,target:t,intersectionRatio:typeof r.threshold=="number"?r.threshold:0,time:0,boundingClientRect:l,intersectionRect:l,rootBounds:l}),()=>{}}let{id:o,observer:a,elements:i}=Hse(r),s=i.get(t)||[];return i.has(t)||i.set(t,s),s.push(e),a.observe(t),function(){s.splice(s.indexOf(e),1),s.length===0&&(i.delete(t),a.unobserve(t)),i.size===0&&(a.disconnect(),LR.delete(o))}}function Gse(t){return typeof t.children!="function"}var Rn=class extends bS.Component{constructor(t){super(t),eh(this,"node",null),eh(this,"_unobserveCb",null),eh(this,"lastInView"),eh(this,"handleNode",e=>{this.node&&(this.unobserve(),!e&&!this.props.triggerOnce&&!this.props.skip&&(this.setState({inView:!!this.props.initialInView,entry:void 0}),this.lastInView=this.props.initialInView)),this.node=e||null,this.observeNode()}),eh(this,"handleChange",(e,r)=>{let n=this.lastInView;this.lastInView=e,!(n===void 0&&!e)&&(e&&this.props.triggerOnce&&this.unobserve(),Gse(this.props)||this.setState({inView:e,entry:r}),this.props.onChange&&this.props.onChange(e,r))}),this.state={inView:!!t.initialInView,entry:void 0},this.lastInView=t.initialInView}componentDidMount(){this.unobserve(),this.observeNode()}componentDidUpdate(t){(t.rootMargin!==this.props.rootMargin||t.root!==this.props.root||t.threshold!==this.props.threshold||t.skip!==this.props.skip||t.trackVisibility!==this.props.trackVisibility||t.delay!==this.props.delay)&&(this.unobserve(),this.observeNode())}componentWillUnmount(){this.unobserve()}observeNode(){if(!this.node||this.props.skip)return;let{threshold:t,root:e,rootMargin:r,trackVisibility:n,delay:o,fallbackInView:a}=this.props;this.lastInView===void 0&&(this.lastInView=this.props.initialInView),this._unobserveCb=Use(this.node,this.handleChange,{threshold:t,root:e,rootMargin:r,trackVisibility:n,delay:o},a)}unobserve(){this._unobserveCb&&(this._unobserveCb(),this._unobserveCb=null)}render(){let{children:t}=this.props;if(typeof t=="function"){let{inView:m,entry:f}=this.state;return t({inView:m,entry:f,ref:this.handleNode})}let{as:e,triggerOnce:r,threshold:n,root:o,rootMargin:a,onChange:i,skip:s,trackVisibility:l,delay:c,initialInView:d,fallbackInView:u,...p}=this.props;return bS.createElement(e||"div",{ref:this.handleNode,...p},t)}};var B5,H5,v1e=(H5=(B5="useInsertionEffect"in Ri?Ri.useInsertionEffect:void 0)!=null?B5:Ri.useLayoutEffect)!=null?H5:Ri.useEffect;var Nu=T(Qo());var vS=T(U());var Ft=T(E()),AR=class extends vS.PureComponent{render(){let{cpuRatio:e,timeRange:r}=this.props,o=`${Kt(e)} (average over ${Ot(r)})`;return(0,Ft.jsxs)("div",{className:"tooltipDetails",children:[(0,Ft.jsx)("div",{className:"tooltipLabel",children:"CPU:"}),(0,Ft.jsx)("div",{children:o})]})}},OR=class extends vS.PureComponent{render(){let{sampleIndex:e,rangeFilteredThread:r,categories:n,implementationFilter:o}=this.props,{samples:a,stackTable:i}=r,s=a.stack[e];if(s===null)return"No stack information";let l=i.category[s],c=i.subcategory[s],d=n[l].color;return(0,Ft.jsxs)(Ft.Fragment,{children:[(0,Ft.jsxs)("div",{className:"tooltipDetails",children:[(0,Ft.jsx)("div",{className:"tooltipLabel",children:"Category:"}),(0,Ft.jsxs)("div",{children:[(0,Ft.jsx)("span",{className:`colored-square category-color-${d}`}),wl(n,l,c)]})]}),(0,Ft.jsx)("div",{className:"tooltipDetails",children:(0,Ft.jsx)("div",{className:"tooltipLabel",children:"Stack:"})}),(0,Ft.jsx)(gu,{maxStacks:20,stackIndex:s,thread:r,implementationFilter:o,categories:n})]})}},_u=class extends vS.PureComponent{render(){let{cpuRatioInTimeRange:e,sampleIndex:r,rangeFilteredThread:n,categories:o,implementationFilter:a,zeroAt:i,profileTimelineUnit:s,interval:l}=this.props,c=!1,d=null;if(r!==null){let{samples:u}=n,p=u.time[r];c=DB(r,n),d=Fo(p-i,s,l/10)}return(0,Ft.jsxs)(Ft.Fragment,{children:[d!==null?(0,Ft.jsxs)("div",{className:"tooltipDetails",children:[(0,Ft.jsx)("div",{className:"tooltipLabel",children:"Sampled at:"}),(0,Ft.jsx)("div",{children:d})]}):null,e===null?null:(0,Ft.jsx)(AR,{cpuRatio:e.cpuRatio,timeRange:e.timeRange}),c&&e!==null?(0,Ft.jsx)(fu,{}):null,!c||r===null?null:(0,Ft.jsx)(OR,{sampleIndex:r,rangeFilteredThread:n,categories:o,implementationFilter:a})]})}};var Oa=T(E()),FR=class extends TS.default.PureComponent{_canvas=null;_takeCanvasRef=e=>this._canvas=e;_canvasState={renderScheduled:!1,inView:!1};_renderCanvas(){if(!this._canvasState.inView){this._canvasState.renderScheduled=!0;return}this._canvasState.renderScheduled=!1;let e=this._canvas;e!==null&&ct("ThreadSampleGraph render",()=>{this.drawCanvas(e)})}_observerCallback=(e,r)=>{this._canvasState.inView=e,this._canvasState.renderScheduled&&this._renderCanvas()};componentDidMount(){this._renderCanvas(),window.addEventListener("profiler-theme-change",this._onThemeChange)}componentWillUnmount(){window.removeEventListener("profiler-theme-change",this._onThemeChange)}_onThemeChange=()=>{this._renderCanvas()};componentDidUpdate(){this._renderCanvas()}drawCanvas(e){let{thread:r,interval:n,rangeStart:o,rangeEnd:a,samplesSelectedStates:i,categories:s,width:l,height:c}=this.props,d=e.ownerDocument&&e.ownerDocument.defaultView?.devicePixelRatio||1;e.width=Math.round(l*d),e.height=Math.round(c*d);let u=e.getContext("2d"),p=a-o,m=e.width/p,f=n*m,h=f<2?1.2:1,b=Math.max(.8,f*h),g=Math.min(b,10),y=o-b/m,v=a,S=Ae(r.samples.time,y),x=Ae(r.samples.time,v,S),w=[],I=[],C=[],k=.25/m,N=-1/0;for(let F=S;F<x;F++){let R=r.samples.time[F];if(R<N)continue;let z=r.samples.stack[F];if(z===null)continue;let Q=(R-o)*m-g/2,ie;if(i!==null&&i[F]==="SELECTED")ie=C;else{let me=r.stackTable.category[z];s[me].name==="Idle"?ie=I:ie=w}ie.push(Q),N=R+k}function O(F,R){if(F.length!==0){u.fillStyle=R;for(let z=0;z<F.length;z++){let ie=F[z];u.fillRect(ie,0,g,e.height)}}}let L=Cn("#c5e1fe","#15336c");O(w,Cn(Nu.BLUE_40,Nu.BLUE_50)),O(C,Cn(Nu.BLUE_70,Bz)),O(I,L)}render(){let{trackName:e}=this.props;return(0,Oa.jsx)(Rn,{onChange:this._observerCallback,children:(0,Oa.jsxs)("canvas",{className:(0,U5.default)(`${this.props.className}Canvas`,"threadSampleGraphCanvas"),ref:this._takeCanvasRef,children:[(0,Oa.jsxs)("h2",{children:["Stack Graph for ",e]}),(0,Oa.jsx)("p",{children:"This graph charts the stack height of each sample."})]})})}},BR=class extends TS.PureComponent{state={hoveredPixelState:null,mouseX:0,mouseY:0};_onClick=e=>{let r=this._getSampleAtMouseEvent(e);this.props.onSampleClick(e,r?.sample??null)};_onMouseLeave=()=>{this.setState({hoveredPixelState:null})};_onMouseMove=e=>{let r=e.currentTarget;if(!r)return;let n=r.getBoundingClientRect();this.setState({hoveredPixelState:this._getSampleAtMouseEvent(e),mouseX:e.pageX,mouseY:n.bottom-Ms})};_getSampleAtMouseEvent(e){let r=e.currentTarget;if(!r)return null;let{rangeStart:n,rangeEnd:o,thread:a,interval:i}=this.props,s=r.getBoundingClientRect(),l=e.nativeEvent.offsetX,c=n+l/s.width*(o-n),d=o-n,u=s.width/d,p=i*u,m=p<2?1.2:1,f=Math.max(.8,p*m),b=Math.min(f,10)/2/2/s.width*d,g=RB(a.samples,c,b);return g===null||a.samples.stack[g]===null?null:{sample:g,cpuRatioInTimeRange:null}}render(){let{className:e,trackName:r,timelineType:n,categories:o,implementationFilter:a,thread:i,interval:s,rangeStart:l,rangeEnd:c,samplesSelectedStates:d,width:u,height:p,zeroAt:m,profileTimelineUnit:f}=this.props,{hoveredPixelState:h,mouseX:b,mouseY:g}=this.state;return(0,Oa.jsxs)("div",{className:e,onMouseMove:this._onMouseMove,onMouseLeave:this._onMouseLeave,onClick:this._onClick,children:[(0,Oa.jsx)(FR,{className:e,trackName:r,interval:s,thread:i,rangeStart:l,rangeEnd:c,samplesSelectedStates:d,categories:o,width:u,height:p}),h===null?null:(0,Oa.jsx)(at,{mouseX:b,mouseY:g,children:(0,Oa.jsx)(_u,{sampleIndex:h.sample,cpuRatioInTimeRange:n==="cpu-category"?h.cpuRatioInTimeRange:null,rangeFilteredThread:i,categories:o,implementationFilter:a,zeroAt:m,profileTimelineUnit:f,interval:s})})]})}},G5=He(BR);var j5=T(U()),K5=T(xe());var wS=T(U());var $5=[3,2,2],SS=7,HR=$se(SS,$5);function z5(t){let e=zse(t),r=Vse(t.categoryDrawStyles,e),n=new UR(t,e,r),{averageCPUPerPixel:o,upperGraphEdge:a}=n.run(),i=r;return{fills:i,fillsQuerier:new GR(t,i,o,a)}}var UR=class{renderedComponentSettings;mutablePercentageBuffers;mutableFills;constructor(e,r,n){this.renderedComponentSettings=e,this.mutablePercentageBuffers=r,this.mutableFills=n}run(){this._accumulateSampleCategories();let e=this._accumulateUpperEdge().slice();for(let n of this.mutableFills)W5(n.perPixelContribution,$5);let r=this._accumulateUpperEdge();return{averageCPUPerPixel:e,upperGraphEdge:r}}_accumulateUpperEdge(){let{mutableFills:e}=this;{let{accumulatedUpperEdge:n,perPixelContribution:o}=e[0];for(let a=0;a<o.length;a++)n[a]=o[a]}let r=e[0].accumulatedUpperEdge;for(let{perPixelContribution:n,accumulatedUpperEdge:o}of e.slice(1)){for(let a=0;a<n.length;a++)o[a]=r[a]+n[a];r=o}return r}_accumulateSampleCategories(){let{fullThread:e,rangeFilteredThread:{samples:r,stackTable:n},interval:o,greyCategoryIndex:a,enableCPUUsage:i,sampleIndexOffset:s}=this.renderedComponentSettings;if(r.length===0)return;let l=r.time[0]-o,c=r.time[0];s>0&&(l=e.samples.time[s-1]);let{threadCPURatio:d}=r;for(let b=0;b<r.length-1;b++){let g=r.time[b+1],y=r.stack[b],v=y===null?a:n.category[y],S=1,x=1;i&&d&&(S=d[b],x=d[b+1]),this._accumulateInCategory(v,b,l,c,g,S,x),l=c,c=g}let u=r.length-1,p=r.stack[u],m=p!==null?n.category[p]:a,f=1,h=1;if(i&&d){f=d[u];let b=s+u+1;b<e.samples.length?h=$(e.samples.threadCPURatio)[b]:h=f}this._accumulateInCategory(m,r.length-1,l,c,c+o,f,h)}_accumulateInCategory(e,r,n,o,a,i,s){let{rangeEnd:l,rangeStart:c}=this.renderedComponentSettings;if(o<c||o>=l)return;let d=this.mutablePercentageBuffers[e],u=this._pickPercentageBuffer(d,r);V5(u,this.renderedComponentSettings,n,o,a,i,s,c)}_pickPercentageBuffer(e,r){let{samplesSelectedStates:n}=this.renderedComponentSettings;if(!n)return e.selectedPercentageAtPixel;switch(n[r]){case"FILTERED_OUT_BY_TRANSFORM":return e.filteredOutByTransformPercentageAtPixel;case"UNSELECTED_ORDERED_BEFORE_SELECTED":return e.beforeSelectedPercentageAtPixel;case"SELECTED":return e.selectedPercentageAtPixel;case"UNSELECTED_ORDERED_AFTER_SELECTED":return e.afterSelectedPercentageAtPixel;default:throw new Error("Unexpected samplesSelectedStates value")}}},GR=class{renderedComponentSettings;fills;averageCPUPerPixel;upperGraphEdge;constructor(e,r,n,o){this.renderedComponentSettings=e,this.fills=r,this.averageCPUPerPixel=n,this.upperGraphEdge=o}getSampleAndCpuRatioAtClick(e,r,n){let{rangeFilteredThread:{samples:o,stackTable:a},canvasPixelWidth:i,canvasPixelHeight:s}=this.renderedComponentSettings,{devicePixelRatio:l}=window,c=Math.floor(e*l),d=Math.floor(r*l);if(c<0||c>=i||d<0||d>=s)return null;let u=this._categoryAtDevicePixel(c,d),p=this._getSamplesAtTime(n),m=this._getCPURatioAtX(c,p);if(u===null)return m===null?null:{sample:null,cpuRatioInTimeRange:m};let{category:f,categoryLowerEdge:h,yPercentage:b}=u,g=h;for(let{sample:y,contribution:v}of p){let S=o.stack[y];if(S===null){console.error(`Stack index was null for sample index ${y}, this shouldn't happen normally, please fix your source of data.`);continue}if(a.category[S]!==f)continue;let w=g+v;if(b<=w)return{sample:y,cpuRatioInTimeRange:m};g=w}return null}_getCPURatioAtX(e,r){let{rangeFilteredThread:{samples:n},interval:o}=this.renderedComponentSettings;if(r.length===0||!n.threadCPURatio)return null;let i=this.averageCPUPerPixel[e],s=0;for(let{sample:l}of r)s+=l===0?o:n.time[l]-n.time[l-1];return{cpuRatio:i,timeRange:s}}_categoryAtDevicePixel(e,r){let{canvasPixelHeight:n}=this.renderedComponentSettings,o=1-r/n,a=null,i=0,s=0;for(let{category:l,accumulatedUpperEdge:c}of this.fills){let d=c[e];if(l!==a&&(a=l,i=s),d!==s){if(o<=d)return{category:l,categoryLowerEdge:i,yPercentage:o};s=d}}return null}_getSamplesAtTime(e){let{rangeStart:r,treeOrderSampleComparator:n,xPixelsPerMs:o}=this.renderedComponentSettings,a=(e-r)*o|0,[i,s]=this._getSampleRangeContributingToPixelWhenSmoothed(a),l=[];for(let c=i;c<s;c++){let d=this._getSmoothedContributionFromSampleToPixel(a,c);d>0&&l.push({sample:c,contribution:d})}return n&&l.sort((c,d)=>{let u=c.sample,p=d.sample;return n(u,p)}),l}_getSampleRangeContributingToPixelWhenSmoothed(e){let{rangeFilteredThread:{samples:r},rangeStart:n,xPixelsPerMs:o}=this.renderedComponentSettings,a=n+(e-SS)/o,i=n+(e+SS)/o,s=Ae(r.time,a),l=Ae(r.time,i);return[Math.max(0,s-1),Math.min(r.length-1,l)+1]}_getSmoothedContributionFromSampleToPixel(e,r){let{rangeFilteredThread:{samples:n},enableCPUUsage:o,interval:a,sampleIndexOffset:i,fullThread:s,xPixelsPerMs:l,rangeStart:c}=this.renderedComponentSettings,d=e-SS,u=new Float32Array(HR.length),p=n.time[r],m=r+i,f=m>0?s.samples.time[m-1]:p-a,h=m+1<s.samples.length?s.samples.time[m+1]:p+a,b=1,g=1,{threadCPURatio:y}=n;if(o&&y){b=y[r];let x=$(s.samples.threadCPURatio);m+1<x.length?g=x[m+1]:g=b}let v=c+d/l;V5(u,this.renderedComponentSettings,f,p,h,b,g,v);let S=0;for(let x=0;x<HR.length;x++)S+=HR[x]*u[x];return S}};function $se(t,e){let r=t+1+t,n=new Float32Array(r);return n[t]=1,W5(n,e),n}function zse({categoryDrawStyles:t,canvasPixelWidth:e}){return t.map(()=>({beforeSelectedPercentageAtPixel:new Float32Array(e),selectedPercentageAtPixel:new Float32Array(e),afterSelectedPercentageAtPixel:new Float32Array(e),filteredOutByTransformPercentageAtPixel:new Float32Array(e),filteredOutByTabPercentageAtPixel:new Float32Array(e)}))}function Vse(t,e){let n=t.map((o,a)=>a).sort((o,a)=>t[a].gravity-t[o].gravity).map(o=>{let a=t[o],i=e[o];return[{category:a.category,fillStyle:a.getUnselectedFillStyle(),perPixelContribution:i.beforeSelectedPercentageAtPixel,accumulatedUpperEdge:new Float32Array(i.beforeSelectedPercentageAtPixel.length)},{category:a.category,fillStyle:a.getSelectedFillStyle(),perPixelContribution:i.selectedPercentageAtPixel,accumulatedUpperEdge:new Float32Array(i.beforeSelectedPercentageAtPixel.length)},{category:a.category,fillStyle:a.getUnselectedFillStyle(),perPixelContribution:i.afterSelectedPercentageAtPixel,accumulatedUpperEdge:new Float32Array(i.beforeSelectedPercentageAtPixel.length)},{category:a.category,fillStyle:a.filteredOutByTransformFillStyle,perPixelContribution:i.filteredOutByTransformPercentageAtPixel,accumulatedUpperEdge:new Float32Array(i.beforeSelectedPercentageAtPixel.length)}]});return[].concat(...n)}function V5(t,e,r,n,o,a,i,s){let{xPixelsPerMs:l}=e,c=(r+n)/2,d=(n+o)/2,u=(c-s)*l,p=(d-s)*l;u<0&&(u=0),p>t.length-1&&(p=t.length-1);let m=(n-s)*l,f=u|0,h=p|0,b=m|0;for(let g=f;g<=b;g++)t[g]+=a;t[f]-=a*(u-f),t[b]-=a*(1-(m-b));for(let g=b;g<=h;g++)t[g]+=i;t[b]-=i*(m-b),t[h]-=i*(1-(p-h))}function Wse(t,e,r){if(t.length<r){e.set(t);return}let n=0;for(let o=0;o<=r;++o)n+=t[o];e[0]=n/(r*2+1);for(let o=1;o<r+1;++o)n+=t[o+r],e[o]=n/(r*2+1);for(let o=r+1;o<t.length-r;++o)n-=t[o-r-1],n+=t[o+r],e[o]=n/(r*2+1);for(let o=t.length-r;o<t.length;++o)n-=t[o-r-1],e[o]=n/(r*2+1)}function W5(t,e){let r=t,n=new Float32Array(t.length);for(let o of e)Wse(r,n,o),[n,r]=[r,n];if(n===t)for(let o=0;o<t.length;o++)t[o]=r[o]}var Ru=T(E()),xS=class extends wS.PureComponent{_canvas=wS.createRef();_categoryDrawStyles=null;_canvasState={renderScheduled:!1,inView:!1};_renderCanvas(){if(!this._canvasState.inView){this._canvasState.renderScheduled=!0;return}this._canvasState.renderScheduled=!1;let e=this._canvas.current;e!==null&&ct("ThreadActivityGraph render",()=>{this.drawCanvas(e)})}_getCategoryDrawStyles(e){return this._categoryDrawStyles===null&&(this._categoryDrawStyles=this.props.categories.map(({color:r},n)=>{let o=ff(r);return{...o,category:n,filteredOutByTransformFillStyle:jse(e,o.getUnselectedFillStyle())}})),this._categoryDrawStyles}_observerCallback=(e,r)=>{this._canvasState.inView=e,this._canvasState.renderScheduled&&this._renderCanvas()};componentDidMount(){this._renderCanvas(),window.addEventListener("profiler-theme-change",this._onThemeChange)}componentWillUnmount(){window.removeEventListener("profiler-theme-change",this._onThemeChange)}_onThemeChange=()=>{this._categoryDrawStyles=null,this._renderCanvas()};componentDidUpdate(){this._renderCanvas()}drawCanvas(e){let{fullThread:r,rangeFilteredThread:n,interval:o,rangeStart:a,rangeEnd:i,sampleIndexOffset:s,samplesSelectedStates:l,treeOrderSampleComparator:c,categories:d,enableCPUUsage:u,width:p,height:m}=this.props,f=e.getContext("2d"),h=Math.round(p*window.devicePixelRatio),b=Math.round(m*window.devicePixelRatio);e.width=h,e.height=b;let{fills:g,fillsQuerier:y}=z5({canvasPixelWidth:h,canvasPixelHeight:b,fullThread:r,rangeFilteredThread:n,interval:o,rangeStart:a,rangeEnd:i,sampleIndexOffset:s,samplesSelectedStates:l,enableCPUUsage:u,xPixelsPerMs:h/(i-a),treeOrderSampleComparator:c,greyCategoryIndex:d.findIndex(S=>S.color==="grey")||0,categoryDrawStyles:this._getCategoryDrawStyles(f)});this.props.passFillsQuerier(y),f.globalCompositeOperation="lighter";let v=new Float32Array(h);for(let{fillStyle:S,accumulatedUpperEdge:x}of g){if(S==="transparent"){v=x;continue}f.fillStyle=S;let w=0;for(;w<h;){let I=Kse(x,v,w);if(I>=h)break;let C=h;f.beginPath(),f.moveTo(I,(1-v[I])*b);for(let k=I+1;k<h;k++){let N=v[k],O=x[k];if(f.lineTo(k,(1-N)*b),N===O){C=k;break}}for(let k=C-1;k>=I;k--)f.lineTo(k,(1-x[k])*b);f.closePath(),f.fill(),w=C}v=x}}render(){let{className:e,trackName:r,onClick:n}=this.props;return(0,Ru.jsx)(Rn,{onChange:this._observerCallback,children:(0,Ru.jsxs)("canvas",{className:e,ref:this._canvas,onClick:n,children:[(0,Ru.jsxs)("h2",{children:["Activity Graph for ",r]}),(0,Ru.jsx)("p",{children:"This graph shows a visual chart of thread activity."})]})})}};function jse(t,e){if(e==="transparent")return"transparent";let r=document.createElement("canvas"),n=Math.round(window.devicePixelRatio);r.width=4*n,r.height=4*n;let o=r.getContext("2d");o.scale(n,n);let a=o.createLinearGradient(0,0,4,4);return a.addColorStop(0,e),a.addColorStop(.25,e),a.addColorStop(.25,"transparent"),a.addColorStop(.5,"transparent"),a.addColorStop(.5,e),a.addColorStop(.75,e),a.addColorStop(.75,"transparent"),a.addColorStop(1,"transparent"),o.fillStyle=a,o.fillRect(0,0,4,4),t.createPattern(r,"repeat")}function Kse(t,e,r){for(let n=r;n<t.length;n++)if(t[n]!==e[n])return n;return t.length}var Mu=T(E()),$R=class extends j5.PureComponent{_fillsQuerier=null;state={hoveredPixelState:null,mouseX:0,mouseY:0};_onMouseLeave=()=>{this.setState({hoveredPixelState:null})};_onMouseMove=e=>{let r=e.currentTarget;if(!r)return;let n=r.getBoundingClientRect();this.setState({hoveredPixelState:this._getSampleAtMouseEvent(e),mouseX:e.pageX,mouseY:n.bottom-Ms})};_setFillsQuerier=e=>{this._fillsQuerier=e};_getSampleAtMouseEvent(e){let{width:r}=this.props,n=this._fillsQuerier;if(!e.currentTarget||!n)return null;let{rangeStart:a,rangeEnd:i}=this.props,s=e.nativeEvent.offsetX,l=e.nativeEvent.offsetY,c=a+s/r*(i-a);return n.getSampleAndCpuRatioAtClick(s,l,c)}_onClick=e=>{let r=this._getSampleAtMouseEvent(e);this.props.onSampleClick(e,r?r.sample:null)};render(){let{fullThread:e,rangeFilteredThread:r,categories:n,trackName:o,interval:a,rangeStart:i,rangeEnd:s,sampleIndexOffset:l,samplesSelectedStates:c,treeOrderSampleComparator:d,enableCPUUsage:u,implementationFilter:p,width:m,height:f,timelineType:h,zeroAt:b,profileTimelineUnit:g}=this.props,{hoveredPixelState:y,mouseX:v,mouseY:S}=this.state;return(0,Mu.jsxs)("div",{className:this.props.className,onMouseMove:this._onMouseMove,onMouseLeave:this._onMouseLeave,children:[(0,Mu.jsx)(xS,{className:(0,K5.default)(`${this.props.className}Canvas`,"threadActivityGraphCanvas"),trackName:o,fullThread:e,rangeFilteredThread:r,interval:a,rangeStart:i,rangeEnd:s,sampleIndexOffset:l,samplesSelectedStates:c,treeOrderSampleComparator:d,categories:n,passFillsQuerier:this._setFillsQuerier,onClick:this._onClick,enableCPUUsage:u,width:m,height:f}),y===null?null:(0,Mu.jsx)(at,{mouseX:v,mouseY:S,children:(0,Mu.jsx)(_u,{sampleIndex:y.sample,cpuRatioInTimeRange:h==="cpu-category"?y.cpuRatioInTimeRange:null,rangeFilteredThread:r,categories:n,implementationFilter:p,zeroAt:b,profileTimelineUnit:g,interval:a})})]})}},Y5=He($R);var oh=T(U()),J5=T(xe()),Z5=T(Zr());var Ee=T(Qo());var ht={top:0,height:6,_background:["black",Ee.GREY_40],getBackground:function(){return As(this._background)},squareCorners:!1,_borderLeft:null,hasBorderLeft:function(){return this._borderLeft!==null},getBorderLeft:function(){return As(this._borderLeft)},_borderRight:null,hasBorderRight:function(){return this._borderRight!==null},getBorderRight:function(){return As(this._borderRight)}},nh={...ht,top:6,_background:Ee.ORANGE_50},th={...nh,_background:"#ffc600"};function zR(t){let{data:e,name:r}=t;return r in rh?rh[r]:e&&e.type in rh?rh[e.type]:rh.default}var rh={default:ht,RefreshDriverTick:{...ht,_background:"rgba(237, 237, 240, 0.05)",height:18,squareCorners:!0},RD:{...ht,_background:"rgba(237, 237, 240, 0.05)",height:18,squareCorners:!0},Scripts:{...ht,_background:Ee.ORANGE_70,top:6},"requestAnimationFrame callbacks":{...ht,_background:Ee.ORANGE_70,top:6},Styles:{...ht,_background:[Ee.TEAL_50,Ee.TEAL_70],top:7},FireScrollEvent:{...ht,_background:Ee.ORANGE_70,top:7},Reflow:{...ht,_background:Ee.BLUE_50,top:7},DispatchSynthMouseMove:{...ht,_background:Ee.ORANGE_70,top:8},DisplayList:{...ht,_background:Ee.PURPLE_50,top:9},LayerBuilding:{...ht,_background:Ee.ORANGE_50,top:9},Rasterize:{...ht,_background:[Ee.GREEN_50,Ee.GREEN_60],top:10},ForwardTransaction:{...ht,_background:Ee.RED_70,top:11},NotifyDidPaint:{...ht,_background:Ee.GREY_40,top:12},LayerTransaction:{...ht,_background:Ee.RED_70},Composite:{...ht,_background:Ee.BLUE_50},Vsync:{...ht,_background:"rgb(255, 128, 0)"},LayerContentGPU:{...ht,_background:"rgba(0,200,0,0.5)"},LayerCompositorGPU:{...ht,_background:"rgba(0,200,0,0.5)"},LayerOther:{...ht,_background:"rgb(200,0,0)"},Jank:{...ht,_background:["hsl(347, 100%, 60%)","hsl(347, 75%, 40%)"],_borderLeft:[Ee.RED_50,Ee.RED_70],_borderRight:[Ee.RED_50,Ee.RED_70],squareCorners:!0},"BHR-detected hang":{...ht,_background:["hsl(347, 100%, 60%)","hsl(347, 75%, 40%)"],_borderLeft:[Ee.RED_50,Ee.RED_70],_borderRight:[Ee.RED_50,Ee.RED_70],squareCorners:!0},GCMajor:{...nh,squareCorners:!0,top:0},GCSlice:nh,GCMinor:nh,"GC Interrupt":nh,CC:{...th,squareCorners:!0,top:0},CCSlice:th,ForgetSkippable:th,IdleCCSlice:th,IdleForgetSkippable:th,FileIO:{...ht,_background:Ee.BLUE_50},IPCOut:{...ht,_background:Ee.BLUE_50,top:2},SyncIPCOut:{...ht,_background:Ee.BLUE_70,top:6},IPCIn:{...ht,_background:Ee.PURPLE_40,top:13},SyncIPCIn:{...ht,_background:Ee.PURPLE_70,top:17}},q5={HOVERED:"hsla(0,0%,100%,0.3)",PRESSED:"rgba(0,0,0,0.3)"};var Mi=T(E()),Yse=.3;function X5(t,e,r,n,o,a){let i=Math.min(n/2,Math.min(o/2,a)),s=r+o;t.fillRect(e+i,r,n-2*i,i),t.fillRect(e,r+i,n,o-2*i),t.fillRect(e+i,s-i,n-2*i,i)}var VR=class extends oh.PureComponent{_canvas=oh.createRef();_requestedAnimationFrame=!1;_canvasState={renderScheduled:!1,inView:!1};_getMarkerState(e){let{hoveredMarker:r,mouseDownMarker:n,rightClickedMarker:o}=this.props;return o===e?"PRESSED":n!==null?e===n&&e===r?"PRESSED":"NONE":e===r?"HOVERED":"NONE"}drawCanvas(e){let{rangeStart:r,rangeEnd:n,width:o,height:a,getMarker:i,markerIndexes:s}=this.props;if(a===0||o===0)return;let l=e.ownerDocument?e.ownerDocument.defaultView?.devicePixelRatio??1:1,c=Math.round(o*l),d=Math.round(a*l);(e.width!==c||e.height!==d)&&(e.width=c,e.height=d);let u=e.getContext("2d");if(u==null)return;u.clearRect(0,0,c,d),u.scale(l,l);let p=null;for(let m of s){let f=i(m),{start:h,end:b}=f,g=b===null?0:b-h,y=(h-r)/(n-r)*o;if(y=Math.round(y*l)/l,p===y&&g===0)continue;p=y;let v=Number.isFinite(g)?Math.max(g/(n-r)*o,Yse/l):Number.MAX_SAFE_INTEGER,S=zR(f);u.fillStyle=S.getBackground(),S.squareCorners?u.fillRect(y,S.top,v,S.height):X5(u,y,S.top,v,S.height,1/l),S.hasBorderLeft()&&(u.fillStyle=S.getBorderLeft(),u.fillRect(y,S.top,1,S.height)),S.hasBorderRight()&&(u.fillStyle=S.getBorderRight(),u.fillRect(y+v-1,S.top,1,S.height));let x=this._getMarkerState(f);(x==="HOVERED"||x==="PRESSED")&&(u.fillStyle=q5[x],S.squareCorners?u.fillRect(y,S.top,v,S.height):X5(u,y,S.top,v,S.height,1/l))}u.scale(1/l,1/l)}_scheduleDraw(){if(!this._canvasState.inView){this._canvasState.renderScheduled=!0;return}this._canvasState.renderScheduled=!1,this._requestedAnimationFrame||(this._requestedAnimationFrame=!0,window.requestAnimationFrame(()=>{this._requestedAnimationFrame=!1;let e=this._canvas.current;e&&ct("TimelineMarkers render",()=>{this.drawCanvas(e)})}))}_observerCallback=(e,r)=>{this._canvasState.inView=e,this._canvasState.renderScheduled&&this._scheduleDraw()};componentDidMount(){this._scheduleDraw(),window.addEventListener("profiler-theme-change",this._onThemeChange)}componentWillUnmount(){window.removeEventListener("profiler-theme-change",this._onThemeChange)}_onThemeChange=()=>{this._scheduleDraw()};componentDidUpdate(){this._scheduleDraw()}render(){return(0,Mi.jsx)(Rn,{onChange:this._observerCallback,children:(0,Mi.jsx)("canvas",{className:"timelineMarkersCanvas",ref:this._canvas,onMouseDown:this.props.onMouseDown,onMouseMove:this.props.onMouseMove,onMouseUp:this.props.onMouseUp,onMouseOut:this.props.onMouseOut})})}},uc=class extends oh.PureComponent{state={hoveredMarkerIndex:null,mouseDownMarker:null,mouseX:0,mouseY:0};_hitTest(e){let n=e.currentTarget.getBoundingClientRect(),{width:o,rangeStart:a,rangeEnd:i,getMarker:s,markerIndexes:l}=this.props,c=e.pageX-n.left,d=e.pageY-n.top,u=i-a,p=a+c/o*u,m=u/o*window.devicePixelRatio;for(let f=l.length-1;f>=0;f--){let h=l[f],b=s(h),{start:g,end:y}=b,v=y===null?0:y-g,S=Math.max(v,m);if(p<g||p>=g+S)continue;let x=zR(b);if(d>=x.top&&d<x.top+x.height)return h}return null}_onMouseMove=e=>{let r=this._hitTest(e);r!==null?this.setState({hoveredMarkerIndex:r,mouseX:e.pageX,mouseY:e.pageY}):this.state.hoveredMarkerIndex!==null&&!window.persistTooltips&&this.setState({hoveredMarkerIndex:null})};_onMouseDown=e=>{let r=this._hitTest(e),{changeRightClickedMarker:n,threadsKey:o,getMarker:a}=this.props;if(e.button===2)n(o,r);else{let i=r!==null?a(r):null;if(this.setState({mouseDownMarker:i}),i!==null){let s=e.currentTarget;s.setCapture&&s.setCapture()}}};_onMouseUp=e=>{let{mouseDownMarker:r}=this.state;if(r!==null){let n=this._hitTest(e),o=n===null?null:this.props.getMarker(n);if(r===o&&o!==null){e.stopPropagation();let{onSelect:a,rangeStart:i,rangeEnd:s}=this.props,{start:l,end:c}=Tb(i,s,o);a(l,c)}this.setState({hoveredMarkerIndex:n,mouseDownMarker:null})}};_onMouseOut=()=>{window.persistTooltips||this.setState({hoveredMarkerIndex:null})};render(){let{additionalClassName:e,isSelected:r,isModifyingSelection:n,threadsKey:o,testId:a,rightClickedMarker:i,getMarker:s}=this.props,{mouseDownMarker:l,hoveredMarkerIndex:c,mouseX:d,mouseY:u}=this.state,p=!n&&!l&&!i,m=c===null?null:s(c);return(0,Mi.jsxs)("div",{"data-testid":a,className:(0,J5.default)("timelineMarkers",e,r?"selected":null),children:[(0,Mi.jsx)(rr,{id:"MarkerContextMenu",disable:c===null&&i===null,children:(0,Mi.jsx)(VR,{width:this.props.width,height:this.props.height,rangeStart:this.props.rangeStart,rangeEnd:this.props.rangeEnd,getMarker:this.props.getMarker,markerIndexes:this.props.markerIndexes,hoveredMarker:m,mouseDownMarker:l,rightClickedMarker:i,onMouseDown:this._onMouseDown,onMouseMove:this._onMouseMove,onMouseUp:this._onMouseUp,onMouseOut:this._onMouseOut})}),p&&c!==null&&m?(0,Mi.jsx)(at,{mouseX:d,mouseY:u,children:(0,Mi.jsx)(Nn,{markerIndex:c,marker:m,threadsKey:o,restrictHeightWidth:!0,hideFilterButton:!0})}):null]})}},ah=(0,Z5.default)((t,e)=>zB(t,e),{limit:1}),Q5=H({mapStateToProps:(t,e)=>{let{threadsKey:r}=e,n=dr(r),o=kt(t);return{getMarker:n.getMarkerGetter(t),markerIndexes:n.getTimelineJankMarkerIndexes(t),isSelected:ah(o,r),isModifyingSelection:Qr(t),testId:"TimelineMarkersJank",rightClickedMarker:n.getRightClickedMarker(t)}},mapDispatchToProps:{changeRightClickedMarker:tn},component:He(uc)}),e4=H({mapStateToProps:(t,e)=>{let{threadsKey:r}=e,n=dr(r),o=kt(t);return{additionalClassName:n.getThread(t).isMainThread?"timelineMarkersGeckoMain":null,getMarker:n.getMarkerGetter(t),markerIndexes:n.getTimelineOverviewMarkerIndexes(t),isSelected:ah(o,r),isModifyingSelection:Qr(t),testId:"TimelineMarkersOverview",rightClickedMarker:n.getRightClickedMarker(t)}},mapDispatchToProps:{changeRightClickedMarker:tn},component:He(uc)}),t4=H({mapStateToProps:(t,e)=>{let{threadsKey:r}=e,n=dr(r),o=kt(t);return{getMarker:n.getMarkerGetter(t),markerIndexes:n.getTimelineFileIoMarkerIndexes(t),isSelected:ah(o,r),isModifyingSelection:Qr(t),testId:"TimelineMarkersFileIo",rightClickedMarker:n.getRightClickedMarker(t)}},mapDispatchToProps:{changeRightClickedMarker:tn},component:He(uc)}),kS=H({mapStateToProps:(t,e)=>{let{threadsKey:r}=e,n=dr(r),o=kt(t);return{getMarker:n.getMarkerGetter(t),markerIndexes:n.getTimelineMemoryMarkerIndexes(t),isSelected:ah(o,r),isModifyingSelection:Qr(t),additionalClassName:"timelineMarkersMemory",testId:"TimelineMarkersMemory",rightClickedMarker:n.getRightClickedMarker(t)}},mapDispatchToProps:{changeRightClickedMarker:tn},component:He(uc)}),r4=H({mapStateToProps:(t,e)=>{let{threadsKey:r}=e,n=dr(r),o=kt(t);return{getMarker:n.getMarkerGetter(t),markerIndexes:n.getTimelineIPCMarkerIndexes(t),isSelected:ah(o,r),isModifyingSelection:Qr(t),additionalClassName:"timelineMarkersIPC",testId:"TimelineMarkersIPC",rightClickedMarker:n.getRightClickedMarker(t)}},mapDispatchToProps:{changeRightClickedMarker:tn},component:He(uc)});var o4=T(U());var n4=T(U());var IS=T(E()),Ws=class extends n4.PureComponent{state={isMouseOver:!1,mouseX:0,mouseY:0};componentWillUnmount(){document.removeEventListener("mousemove",this._onMouseMove,!1)}_onMouseEnter=()=>{this.setState({isMouseOver:!0}),document.addEventListener("mousemove",this._onMouseMove,!1)};_onMouseLeave=()=>{window.persistTooltips||this.setState({isMouseOver:!1}),document.removeEventListener("mousemove",this._onMouseMove,!1)};_onMouseMove=e=>{this.setState({mouseX:e.pageX,mouseY:e.pageY})};render(){let{children:e,tooltip:r,...n}=this.props,{mouseX:o,mouseY:a,isMouseOver:i}=this.state,s=i;return(0,IS.jsxs)("div",{onMouseEnter:this._onMouseEnter,onMouseLeave:this._onMouseLeave,...n,children:[e,s&&r?(0,IS.jsx)(at,{mouseX:o,mouseY:a,children:r}):null]})}};var pc=T(E()),WR=class extends o4.PureComponent{render(){let e=qse(this.props);return(0,pc.jsxs)("div",{className:"timelineEmptyThreadIndicator",children:[e.startup?(0,pc.jsx)(Ws,{style:e.startup,className:"timelineEmptyThreadIndicatorBlock timelineEmptyThreadIndicatorStartup",tooltip:"This thread hasn't started yet"}):null,e.shutdown?(0,pc.jsx)(Ws,{style:e.shutdown,className:"timelineEmptyThreadIndicatorBlock timelineEmptyThreadIndicatorShutdown",tooltip:"This thread has shut down here"}):null,e.emptyBufferStart?(0,pc.jsx)(Ws,{style:e.emptyBufferStart,className:"timelineEmptyThreadIndicatorBlock timelineEmptyThreadIndicatorEmptyBuffer",tooltip:(0,pc.jsx)("span",{className:"timelineEmptyThreadIndicatorLongTooltip",children:we`
|
|
201
|
+
This buffer was empty. Either the profiler was still initializing for
|
|
202
|
+
a new thread, or the profiling buffer was full. Increase your buffer
|
|
203
|
+
size before recording to potentially include more samples.
|
|
204
|
+
`})}):null]})}};function qse(t){let{rangeStart:e,rangeEnd:r,width:n,unfilteredSamplesRange:o,interval:a,thread:{processShutdownTime:i,registerTime:s,unregisterTime:l}}=t,c=r-e,d=n/c,u=l===null?i:l,p=null;s>e&&(p={left:0,width:Math.min(n,(s-e)*d)});let m=null;u!==null&&u<r&&(m={right:0,width:Math.min(n,(r-u)*d)});let f=null;return o!==null&&o.start>=e+a&&s<r&&(f={left:Math.max(0,s-e)*d,width:Math.min(n,(o.start-Math.max(s,e))*d)}),{startup:p,shutdown:m,emptyBufferStart:f}}var Io=He(WR);var an=T(E()),jR=class extends a4.PureComponent{_onSampleClick=(e,r)=>{let n=Md(e);if(n.ctrlOrMeta||n.shift)return;let{threadsKey:o,selectSelfCallNode:a,focusCallTree:i,selectedThreadIndexes:s,callTreeVisible:l}=this.props;s.size===1&&(a(o,r),r!==null&&l&&i()),typeof o=="number"&&s.has(o)&&e.stopPropagation()};_onMarkerSelect=(e,r)=>{let{rangeStart:n,rangeEnd:o,updatePreviewSelection:a}=this.props;a({isModifying:!1,selectionStart:Math.max(n,e),selectionEnd:Math.min(o,r)})};componentDidUpdate(){let{threadsKey:e,height:r,reportTrackThreadHeight:n}=this.props;n(e,r)}render(){let{fullThread:e,filteredThread:r,rangeFilteredThread:n,threadsKey:o,interval:a,rangeStart:i,rangeEnd:s,sampleIndexOffset:l,callNodeInfo:c,unfilteredSamplesRange:d,categories:u,timelineType:p,hasFileIoMarkers:m,showMemoryMarkers:f,sampleNonInvertedCallNodes:h,samplesSelectedStates:b,treeOrderSampleComparator:g,trackType:y,trackName:v,enableCPUUsage:S,isExperimentalCPUGraphsEnabled:x,implementationFilter:w,zeroAt:I,profileTimelineUnit:C}=this.props,k=r.processType,N=k!=="plugin",O=(r.showMarkersInTimeline||r.name==="GeckoMain"||r.name==="Compositor"||r.name==="Renderer"||r.name==="AndroidUI (JVM)"||r.name==="CrRendererMain"||r.name==="Merged thread"||r.name.startsWith("MediaDecoderStateMachine"))&&k!=="plugin";return(0,an.jsxs)("div",{className:(0,i4.default)("timelineTrackThread",y),children:[y==="expanded"&&f?(0,an.jsx)(kS,{rangeStart:i,rangeEnd:s,threadsKey:o,onSelect:this._onMarkerSelect}):null,y==="expanded"&&m?(0,an.jsx)(t4,{rangeStart:i,rangeEnd:s,threadsKey:o,onSelect:this._onMarkerSelect}):null,N?(0,an.jsx)(Q5,{rangeStart:i,rangeEnd:s,threadsKey:o,onSelect:this._onMarkerSelect}):null,y==="expanded"&&O?(0,an.jsx)(e4,{rangeStart:i,rangeEnd:s,threadsKey:o,onSelect:this._onMarkerSelect}):null,(p==="category"||p==="cpu-category")&&!r.isJsTracer?(0,an.jsxs)(an.Fragment,{children:[(0,an.jsx)(Y5,{className:"threadActivityGraph",trackName:v,interval:a,fullThread:e,rangeFilteredThread:n,rangeStart:i,rangeEnd:s,sampleIndexOffset:l,onSampleClick:this._onSampleClick,categories:u,samplesSelectedStates:b,treeOrderSampleComparator:g,enableCPUUsage:S,implementationFilter:w,timelineType:p,zeroAt:I,profileTimelineUnit:C}),y==="expanded"?(0,an.jsx)(G5,{className:"threadSampleGraph",trackName:v,interval:a,thread:r,rangeStart:i,rangeEnd:s,samplesSelectedStates:b,categories:u,onSampleClick:this._onSampleClick,timelineType:p,implementationFilter:w,zeroAt:I,profileTimelineUnit:C}):null,x&&n.samples.threadCPURatio!==void 0?(0,an.jsx)(gS,{className:"threadCPUGraph",trackName:v,interval:a,thread:r,rangeStart:i,rangeEnd:s,callNodeInfo:c,samplesSelectedStates:b,categories:u,onSampleClick:this._onSampleClick}):null]}):(0,an.jsx)(hS,{className:"threadStackGraph",trackName:v,interval:a,thread:r,rangeStart:i,rangeEnd:s,callNodeInfo:c,sampleNonInvertedCallNodes:h,samplesSelectedStates:b,categories:u,onSampleClick:this._onSampleClick}),(0,an.jsx)(Io,{thread:r,interval:a,rangeStart:i,rangeEnd:s,unfilteredSamplesRange:d})]})}},CS=H({mapStateToProps:(t,e)=>{let{threadsKey:r}=e,n=dr(r),o=kt(t),a=de(t),i=n.getThread(t),s=NI(t),l=s==="cpu-category"&&i.samples.threadCPURatio!==void 0;return{fullThread:i,filteredThread:n.getFilteredThread(t),rangeFilteredThread:n.getRangeFilteredThread(t),callNodeInfo:n.getCallNodeInfo(t),sampleNonInvertedCallNodes:n.getSampleIndexToNonInvertedCallNodeIndexForFilteredThread(t),unfilteredSamplesRange:n.unfilteredSamplesRange(t),interval:ot(t),rangeStart:a.start,rangeEnd:a.end,sampleIndexOffset:n.getFilteredSampleIndexOffset(t),categories:Qe(t),timelineType:s,hasFileIoMarkers:n.getTimelineFileIoMarkerIndexes(t).length!==0,samplesSelectedStates:n.getSamplesSelectedStatesInFilteredThread(t),treeOrderSampleComparator:n.getTreeOrderComparatorInFilteredThread(t),selectedThreadIndexes:o,enableCPUUsage:l,isExperimentalCPUGraphsEnabled:Rm(t),implementationFilter:kr(t),callTreeVisible:n.getUsefulTabs(t).includes("calltree"),zeroAt:Vr(t),profileTimelineUnit:vn(t)}},mapDispatchToProps:{updatePreviewSelection:dt,changeSelectedCallNode:jn,focusCallTree:FP,selectSelfCallNode:AP,reportTrackThreadHeight:O0},component:He(jR)});var PS=T(U());var s4=T(ls());var Li=T(E()),KR=class extends PS.PureComponent{state={offsetX:null,pageX:null,containerTop:null};findScreenshotAtMouse(e){let{width:r,rangeStart:n,rangeEnd:o,screenshots:a}=this.props,i=o-n,s=e/r*i+n;for(let l=a.length-1;l>=0;l--){let c=a[l].start;if(s>=c)return s>(a[l].end||1/0)?null:l}return null}_handleMouseLeave=()=>{this.setState({offsetX:null,pageX:null,containerTop:null})};_handleMouseMove=e=>{let{top:r,left:n}=e.currentTarget.getBoundingClientRect();this.setState({pageX:e.pageX,offsetX:e.pageX-n,containerTop:r})};_selectScreenshotOnClick=e=>{let{screenshots:r,updatePreviewSelection:n,isMakingPreviewSelection:o}=this.props;if(o)return;let{left:a}=e.currentTarget.getBoundingClientRect(),i=e.pageX-a,s=this.findScreenshotAtMouse(i);if(s===null)return;let{start:l,end:c}=r[s];c!==null&&n({isModifying:!1,selectionStart:l,selectionEnd:c})};render(){let{screenshots:e,thread:r,isMakingPreviewSelection:n,width:o,rangeStart:a,rangeEnd:i}=this.props,{pageX:s,offsetX:l,containerTop:c}=this.state,d=null;if(l!==null){let u=this.findScreenshotAtMouse(l);u!==null&&(d=e[u].data)}return(0,Li.jsxs)("div",{className:"timelineTrackScreenshot",style:{height:50},onMouseLeave:this._handleMouseLeave,onMouseMove:this._handleMouseMove,onClick:this._selectScreenshotOnClick,children:[(0,Li.jsx)(qR,{thread:r,width:o,rangeStart:a,rangeEnd:i,screenshots:e,trackHeight:50}),d?(0,Li.jsx)(YR,{thread:r,isMakingPreviewSelection:n,width:o,pageX:s,offsetX:l,containerTop:c,rangeEnd:i,rangeStart:a,trackHeight:50,payload:d}):null]})}},Xse=[],l4=H({mapStateToProps:(t,e)=>{let{threadIndex:r,windowId:n}=e,o=gt(r),{start:a,end:i}=de(t);return{thread:o.getRangeFilteredThread(t),screenshots:o.getRangeFilteredScreenshotsById(t).get(n)||Xse,threadName:o.getFriendlyThreadName(t),rangeStart:a,rangeEnd:i,isMakingPreviewSelection:Qr(t)}},mapDispatchToProps:{updatePreviewSelection:dt},component:He(KR)}),Jse=350,Zse=100,YR=class extends PS.PureComponent{_screenshotHoverElement=$(document.querySelector("#screenshot-hover"),"Expected to find a screenshot hover element.");render(){let{thread:e,isMakingPreviewSelection:r,width:n,pageX:o,offsetX:a,containerTop:i,trackHeight:s,payload:l}=this.props;if(a===null||o===null||l.url===void 0)return null;let{url:c}=l,d=r?Zse:Jse,{width:u,height:p}=Oy(l,d),m=(i||0)+(s-p)*.5;m=Math.floor(m),m<0&&(m=0);let f=o-u*.5,h=o-a;return f<0?f=0:f+u>n+h&&(f=h+n-u),f=Math.floor(f),(0,s4.createPortal)((0,Li.jsx)("div",{className:"timelineTrackScreenshotHover",style:{left:f,top:m},children:(0,Li.jsx)("img",{className:"timelineTrackScreenshotHoverImg",src:e.stringTable.getString(c),style:{height:p,width:u}})}),this._screenshotHoverElement)}},qR=class extends PS.PureComponent{render(){let{thread:e,width:r,rangeStart:n,rangeEnd:o,screenshots:a,trackHeight:i}=this.props;if(a.length===0)return null;let s=[],l=o-n,c=i*.75,d=f=>r*(f-n)/l,u=Math.max(d(a[0].start),0),p=Math.min(d(a[a.length-1].end||1/0),r),m=0;for(let f=u;f<p;f+=c){for(let S=m;S<a.length&&d(a[S].start)<=f;S++)m=S;let h=a[m].data;if(h.url===void 0)continue;let{url:b,windowWidth:g,windowHeight:y}=h,v=i*g/y;s.push((0,Li.jsx)("div",{className:"timelineTrackScreenshotImgContainer",style:{left:f,width:Math.min(c,p-f)},children:(0,Li.jsx)("img",{className:"timelineTrackScreenshotImg",src:e.stringTable.getString(b),style:{width:v,height:i}})},f))}return s.length>0?s:null}};var e6=T(U());var t6=T(xe());var d4=T(U());var ZR=T(U());var jr=T(E()),XR=class extends ZR.PureComponent{_canvas=null;_requestedAnimationFrame=!1;drawCanvas(e){let{rangeStart:r,rangeEnd:n,height:o,width:a,lineWidth:i,interval:s,thread:l,eventDelays:c}=this.props;if(a===0)return;let d=e.getContext("2d"),u=window.devicePixelRatio,p=a*u,m=o*u,f=i*u,h=f*.5,b=m-f,g=n-r,y=p/g,v=s*y;e.width=Math.round(p),e.height=Math.round(m),d.clearRect(0,0,p,m);let{samples:S}=l;if(S.length===0)return;let{delayRange:x}=c;{d.lineWidth=f,d.lineJoin="bevel",d.strokeStyle="rgba(255, 0, 57, 0.7)",d.fillStyle="rgba(255, 0, 57, 0.3)",d.beginPath();let w=0,I=0;for(let C=0;C<S.length;C++){w=(S.time[C]-r)*y;let k=c.eventDelays[C]/x;I=b-b*k+h,C===0?d.moveTo(w,I):d.lineTo(w,I)}d.lineTo(w+v,I),d.stroke(),d.lineTo(w+v,m),d.lineTo(p*(S.time[0]-r)/g+s,m),d.fill()}}_scheduleDraw(){this._requestedAnimationFrame||(this._requestedAnimationFrame=!0,window.requestAnimationFrame(()=>{this._requestedAnimationFrame=!1;let e=this._canvas;e&&this.drawCanvas(e)}))}_takeCanvasRef=e=>{this._canvas=e};render(){return this._scheduleDraw(),(0,jr.jsx)("canvas",{className:"timelineTrackEventDelayCanvas",ref:this._takeCanvasRef})}},JR=class extends ZR.PureComponent{state={hoveredDelay:null,mouseX:0,mouseY:0};_onMouseLeave=()=>{this.setState({hoveredDelay:null})};_onMouseMove=e=>{let{pageX:r,pageY:n}=e,{left:o}=e.currentTarget.getBoundingClientRect(),{width:a,rangeStart:i,rangeEnd:s,interval:l,thread:c}=this.props,d=s-i,u=i+(r-o)/a*d,{samples:p}=c;if(u<p.time[0]||u>p.time[p.length-1]+l)this.setState({hoveredDelay:null});else{let m,f=Ae(p.time,u);if(f>0&&f<p.time.length){let h=u-p.time[f-1],b=p.time[f]-u;h<b?m=f-1:m=f}else m=f;m===p.length&&(m=p.time.length-1),this.setState({mouseX:r,mouseY:n,hoveredDelay:m})}};_renderTooltip(e){let{eventDelays:r}=this.props.eventDelays,{delayRange:n}=this.props.eventDelays;return(0,jr.jsxs)("div",{className:"timelineTrackEventDelayTooltip",children:[(0,jr.jsxs)("div",{className:"timelineTrackEventDelayTooltipLine",children:[(0,jr.jsx)("span",{className:"timelineTrackEventDelayTooltipNumber",children:Ot(r[e])})," event delay"]}),(0,jr.jsxs)("div",{className:"timelineTrackEventDelayTooltipLine",children:[(0,jr.jsx)("span",{className:"timelineTrackEventDelayTooltipNumber",children:Ot(n)})," delay range in graph"]})]})}_renderEventDelayDot(e){let{rangeStart:r,rangeEnd:n,graphHeight:o,width:a,lineWidth:i,thread:s,eventDelays:l}=this.props,{samples:c}=s,d=n-r,{delayRange:u}=l,p=a*(c.time[e]-r)/d,m=l.eventDelays[e]/u,f=o-i/2,h=f-m*f+i/2;return(0,jr.jsx)("div",{style:{left:p,top:h},className:"timelineTrackEventDelayGraphDot"})}render(){let{hoveredDelay:e,mouseX:r,mouseY:n}=this.state,{filteredThread:o,interval:a,rangeStart:i,rangeEnd:s,unfilteredSamplesRange:l,graphHeight:c,width:d,lineWidth:u,eventDelays:p,thread:m}=this.props;return(0,jr.jsxs)("div",{className:"timelineTrackEventDelayGraph",onMouseMove:this._onMouseMove,onMouseLeave:this._onMouseLeave,children:[(0,jr.jsx)(XR,{rangeStart:i,rangeEnd:s,height:c,width:d,lineWidth:u,interval:a,eventDelays:p,thread:m}),e===null?null:(0,jr.jsxs)(jr.Fragment,{children:[this._renderEventDelayDot(e),(0,jr.jsx)(at,{mouseX:r,mouseY:n,children:this._renderTooltip(e)})]}),(0,jr.jsx)(Io,{thread:o,interval:a,rangeStart:i,rangeEnd:s,unfilteredSamplesRange:l})]})}},c4=H({mapStateToProps:(t,e)=>{let{threadIndex:r}=e,{start:n,end:o}=de(t),a=gt(r);return{threadIndex:r,rangeStart:n,rangeEnd:o,interval:ot(t),thread:a.getThread(t),filteredThread:a.getFilteredThread(t),unfilteredSamplesRange:a.unfilteredSamplesRange(t),eventDelays:a.getProcessedEventDelays(t)}},component:He(JR)});var QR=T(E()),ES=class extends d4.PureComponent{render(){let{threadIndex:e}=this.props,r=40;return(0,QR.jsx)("div",{className:"timelineTrackEventDelay",style:{height:r,"--graph-height":`${r}px`,"--markers-height":"0px"},children:(0,QR.jsx)(c4,{threadIndex:e,lineWidth:2,graphHeight:r})})}};var ih=T(U());var u4=T(U());var aa=T(E()),_S=class extends u4.PureComponent{_onMouseDown=e=>{e.button===2&&this.props.onRightClick&&e.currentTarget&&this.props.onRightClick(parseInt(e.currentTarget.dataset.markerIndex)),e.stopPropagation()};render(){let{getMarker:e,verticalMarkerIndexes:r,innerWindowIDToPageMap:n,rangeStart:o,rangeEnd:a,zeroAt:i,width:s,shouldShowTooltip:l}=this.props;return r.map(c=>{let d=e(c),u="#000";switch(d.name){case"Navigation::Start":u="var(--grey-40)";break;case"Load":u="var(--red-60)";break;case"DOMContentLoaded":u="var(--blue-50)";break;case"FirstContentfulPaint":case"FirstContentfulComposite":case"LargestContentfulPaint":u="var(--magenta-60)";break;default:u="#000";break}let p=a-o,m=s/p,f=d.end!==null?d.end:d.start,h=(f-o)*m,b=null,{data:g}=d;if(n&&g&&g.type==="tracing"&&g.category==="Navigation"&&g.innerWindowID){let y=n.get(g.innerWindowID);y&&(b=(0,aa.jsx)("div",{className:"timelineVerticalIndicatorsUrl",children:uU(y.url)}))}return(0,aa.jsx)(Ws,{"data-testid":"vertical-indicator-line",style:{"--vertical-indicator-color":u,left:h},className:"timelineVerticalIndicatorsLine",onMouseDown:this._onMouseDown,"data-marker-index":c,tooltip:l?(0,aa.jsxs)(aa.Fragment,{children:[(0,aa.jsxs)("div",{children:[(0,aa.jsx)("span",{className:"timelineVerticalIndicatorsSwatch",style:{backgroundColor:u}})," ",d.name,(0,aa.jsx)("span",{className:"timelineVerticalIndicatorsDim",children:" at "}),(0,aa.jsx)("span",{className:"timelineVerticalIndicatorsTime",children:fa(f-i)})," "]}),b]}):null},c)})}};var Di=T(E()),eM=class extends ih.PureComponent{_requestedAnimationFrame=!1;_canvas=ih.default.createRef();_hitTest(e){let{rangeStart:r,rangeEnd:n,networkTiming:o,width:a}=this.props,{offsetX:i,offsetY:s}=e.nativeEvent,l=Math.floor(s/5),c=n-r,d=r+i/a*c,p=5/a*c,m=null,f=-1/0;for(let h=l;h<o.length;h+=7){let b=o[h],g=Ae(b.start,d)-1;if(g<0)continue;let y=b.start[g],v=b.end[g];v-y<p&&(v=y+p),!(v<d)&&y>f&&(f=y,m=b.index[g])}return m}_onMouseLeave=()=>{this.props.onHoveredMarkerChange(null)};_onMouseMove=e=>{let r=this._hitTest(e);this.props.onHoveredMarkerChange(r,e.pageX,e.pageY)};_scheduleDraw(){this._requestedAnimationFrame||(this._requestedAnimationFrame=!0,window.requestAnimationFrame(()=>{this._requestedAnimationFrame=!1;let e=this._canvas.current;e&&this.drawCanvas(e)}))}drawCanvas(e){let{rangeStart:r,rangeEnd:n,networkTiming:o,hoveredMarkerIndex:a,rightClickedMarkerIndex:i,selectedNetworkMarkerIndex:s,width:l}=this.props,c="rgba(0, 127, 255, 0.3)",d="#0069aa",u=n-r,p=window.devicePixelRatio,m=5*p;e.width=Math.round(l*p),e.height=Math.round(35*p);let f=e.getContext("2d");f.clearRect(0,0,e.width,e.height),f.strokeStyle=c,f.lineCap="round",f.lineWidth=m*.75;let h=null,b=null,g=null;for(let y=0;y<o.length;y++){let v=o[y];for(let S=0;S<v.length;S++){let x=e.width/u*(v.start[S]-r),w=e.width/u*(v.end[S]-r),I=y%7*m+m*.5,C=new Path2D;switch(C.moveTo(x,I),C.lineTo(w,I),v.index[S]){case i:b=C;break;case a:h=C;break;case s:g=C;break;default:f.stroke(C)}}}(h||b||g)&&(f.strokeStyle=d,h&&f.stroke(h),b&&f.stroke(b),g&&f.stroke(g))}render(){return this._scheduleDraw(),(0,Di.jsx)("canvas",{className:"timelineTrackNetworkCanvas",ref:this._canvas,onMouseMove:this._onMouseMove,onMouseLeave:this._onMouseLeave})}},tM=class extends ih.PureComponent{state={hoveredMarkerIndex:null,mouseX:0,mouseY:0};_onHoveredMarkerChange=(e,r,n)=>{let{threadIndex:o,changeHoveredMarker:a}=this.props;a(o,e),e===null?window.persistTooltips||this.setState({hoveredMarkerIndex:null}):this.setState({hoveredMarkerIndex:e,mouseX:r??0,mouseY:n??0})};_onMouseDown=e=>{e.button===2?this._onRightClick():this._onLeftClick()};_onRightClick=()=>{let{threadIndex:e,changeRightClickedMarker:r}=this.props,{hoveredMarkerIndex:n}=this.state;r(e,n)};_onLeftClick=()=>{let{threadIndex:e,changeSelectedNetworkMarker:r}=this.props,{hoveredMarkerIndex:n}=this.state;n!==null&&r(e,n)};_onVerticalIndicatorRightClick=e=>{let{threadIndex:r,changeRightClickedMarker:n}=this.props;n(r,e)};render(){let{innerWindowIDToPageMap:e,rangeStart:r,rangeEnd:n,getMarker:o,verticalMarkerIndexes:a,zeroAt:i,networkTiming:s,isModifyingSelection:l,threadIndex:c,width:d,rightClickedMarkerIndex:u,selectedNetworkMarkerIndex:p,hoveredMarkerIndexFromState:m}=this.props,{hoveredMarkerIndex:f,mouseX:h,mouseY:b}=this.state,g=f===null?null:o(f),y=!l&&u===null;return(0,Di.jsx)("div",{className:"timelineTrackNetwork",style:{height:35},onMouseDown:this._onMouseDown,children:(0,Di.jsxs)(rr,{id:"MarkerContextMenu",disable:f===null&&u===null,attributes:{className:"treeViewContextMenu"},children:[(0,Di.jsx)(eM,{rangeStart:r,rangeEnd:n,networkTiming:s,hoveredMarkerIndex:f===null?m:f,rightClickedMarkerIndex:u,selectedNetworkMarkerIndex:p,width:d,onHoveredMarkerChange:this._onHoveredMarkerChange}),(0,Di.jsx)(_S,{verticalMarkerIndexes:a,getMarker:o,innerWindowIDToPageMap:e,rangeStart:r,rangeEnd:n,zeroAt:i,width:d,onRightClick:this._onVerticalIndicatorRightClick,shouldShowTooltip:u===null}),y&&f!==null&&g?(0,Di.jsx)(at,{mouseX:h,mouseY:b,children:(0,Di.jsx)(Nn,{className:"tooltipNetwork",markerIndex:f,marker:g,threadsKey:c,restrictHeightWidth:!0,hideFilterButton:!0})}):null]})})}},f4=H({mapStateToProps:(t,e)=>{let{threadIndex:r}=e,n=gt(r),{start:o,end:a}=de(t),i=n.getNetworkTrackTiming(t);return{getMarker:n.getMarkerGetter(t),innerWindowIDToPageMap:Sn(t),networkTiming:i,rangeStart:o,rangeEnd:a,zeroAt:Vr(t),isModifyingSelection:Qr(t),verticalMarkerIndexes:n.getTimelineVerticalMarkerIndexes(t),rightClickedMarkerIndex:n.getRightClickedMarkerIndex(t),selectedNetworkMarkerIndex:n.getSelectedNetworkMarkerIndex(t),hoveredMarkerIndexFromState:n.getHoveredMarkerIndex(t)}},mapDispatchToProps:{changeRightClickedMarker:tn,changeSelectedNetworkMarker:Km,changeHoveredMarker:Ym},component:He(tM)});var y4=T(U());var oM=T(U());var Vt=T(E()),rM=class extends oM.PureComponent{_canvas=null;_requestedAnimationFrame=!1;_canvasState={renderScheduled:!1,inView:!1};drawCanvas(e){let{rangeStart:r,rangeEnd:n,counter:o,height:a,width:i,lineWidth:s,interval:l,accumulatedSamples:c,counterSampleRange:d}=this.props;if(i===0)return;let u=e.getContext("2d"),p=window.devicePixelRatio,m=i*p,f=a*p,h=s*p,b=h*.5,g=f-h,y=n-r,v=m/y,S=l*v;e.width=Math.round(m),e.height=Math.round(f),u.clearRect(0,0,m,f);let x=o.samples;if(x.length===0)return;let{minCount:w,countRange:I,accumulatedCounts:C}=c,[k,N]=d;{u.lineWidth=h,u.lineJoin="bevel",u.strokeStyle=wo(o.color||_h),u.fillStyle=La(o.color||_h),u.beginPath();let O=0,L=0,F=0;for(let R=k;R<N;R++){O=(x.time[R]-r)*v;let z=(C[R]-w)/I;L=g-g*z+b,R===0?(F=O,u.moveTo(O,L)):u.lineTo(O,L)}u.lineTo(O+S,L),u.stroke(),u.lineTo(O+S,f),u.lineTo(F,f),u.fill()}}_scheduleDraw(){if(!this._canvasState.inView){this._canvasState.renderScheduled=!0;return}this._canvasState.renderScheduled=!1,this._requestedAnimationFrame||(this._requestedAnimationFrame=!0,window.requestAnimationFrame(()=>{this._requestedAnimationFrame=!1;let e=this._canvas;e&&this.drawCanvas(e)}))}_takeCanvasRef=e=>{this._canvas=e};_observerCallback=(e,r)=>{this._canvasState.inView=e,this._canvasState.renderScheduled&&this._scheduleDraw()};componentDidMount(){this._scheduleDraw()}componentDidUpdate(){this._scheduleDraw()}render(){return(0,Vt.jsx)(Rn,{onChange:this._observerCallback,children:(0,Vt.jsx)("canvas",{className:"timelineTrackMemoryCanvas",ref:this._takeCanvasRef})})}},nM=class extends oM.PureComponent{state={hoveredCounter:null,mouseX:0,mouseY:0};_onMouseLeave=()=>{window.persistTooltips||this.setState({hoveredCounter:null})};_onMouseMove=e=>{let{pageX:r,pageY:n}=e,{left:o}=e.currentTarget.getBoundingClientRect(),{width:a,rangeStart:i,rangeEnd:s,counter:l,interval:c,counterSampleRange:d}=this.props,u=s-i,p=i+(r-o)/a*u;if(l.samples.length===0)throw new Error("No sample group found for memory counter");let{samples:m}=l;if(p<m.time[0]||p>m.time[m.length-1]+c)this.setState({hoveredCounter:null});else{let f,[h,b]=d,g=Ae(m.time,p,h,b);if(g>0&&g<m.time.length){let y=p-m.time[g-1],v=m.time[g]-p;y<v?f=g-1:f=g}else f=g;f===m.length&&(f=m.time.length-1),this.setState({mouseX:r,mouseY:n,hoveredCounter:f})}};_renderTooltip(e){let{accumulatedSamples:r,counter:n,rangeStart:o,rangeEnd:a}=this.props,{mouseX:i,mouseY:s}=this.state,{samples:l}=n;if(l.length===0)throw new Error("No accumulated sample found for memory counter");let c=l.time[e];if(c<o||c>a)return null;let{minCount:d,countRange:u,accumulatedCounts:p}=r,m=p[e]-d,f=l.number!==void 0?l.number[e]:null;return(0,Vt.jsx)(at,{mouseX:i,mouseY:s,children:(0,Vt.jsxs)("div",{className:"timelineTrackMemoryTooltip",children:[(0,Vt.jsxs)("div",{className:"timelineTrackMemoryTooltipLine",children:[(0,Vt.jsx)("span",{className:"timelineTrackMemoryTooltipNumber",children:Ue(m)}),(0,Vt.jsx)(P,{id:"TrackMemoryGraph--relative-memory-at-this-time",children:"relative memory at this time"})]}),(0,Vt.jsxs)("div",{className:"timelineTrackMemoryTooltipLine",children:[(0,Vt.jsx)("span",{className:"timelineTrackMemoryTooltipNumber",children:Ue(u)}),(0,Vt.jsx)(P,{id:"TrackMemoryGraph--memory-range-in-graph",children:"memory range in graph"})]}),f!==null?(0,Vt.jsxs)("div",{className:"timelineTrackMemoryTooltipLine",children:[(0,Vt.jsx)("span",{className:"timelineTrackMemoryTooltipNumber",children:Se(f,2,0)}),(0,Vt.jsx)(P,{id:"TrackMemoryGraph--allocations-and-deallocations-since-the-previous-sample",children:"allocations and deallocations since the previous sample"})]}):null]})})}_renderMemoryDot(e){let{counter:r,rangeStart:n,rangeEnd:o,graphHeight:a,width:i,lineWidth:s,accumulatedSamples:l}=this.props,{samples:c}=r;if(c.length===0)throw new Error("No sample found for memory counter");let d=o-n,u=c.time[e];if(u<n||u>o)return null;let p=i*(u-n)/d,{minCount:m,countRange:f,accumulatedCounts:h}=l,b=(h[e]-m)/f,g=a-s/2,y=g-b*g+s/2;return(0,Vt.jsx)("div",{style:{left:p,top:y,backgroundColor:Da(r.color||_h)},className:"timelineTrackMemoryGraphDot"})}render(){let{hoveredCounter:e}=this.state,{filteredThread:r,interval:n,rangeStart:o,rangeEnd:a,unfilteredSamplesRange:i,counter:s,counterSampleRange:l,graphHeight:c,width:d,lineWidth:u,accumulatedSamples:p}=this.props;return(0,Vt.jsxs)("div",{className:"timelineTrackMemoryGraph",onMouseMove:this._onMouseMove,onMouseLeave:this._onMouseLeave,children:[(0,Vt.jsx)(rM,{rangeStart:o,rangeEnd:a,counter:s,counterSampleRange:l,height:c,width:d,lineWidth:u,interval:n,accumulatedSamples:p}),e===null?null:(0,Vt.jsxs)(Vt.Fragment,{children:[this._renderMemoryDot(e),this._renderTooltip(e)]}),(0,Vt.jsx)(Io,{thread:r,interval:n,rangeStart:o,rangeEnd:a,unfilteredSamplesRange:i})]})}},h4=H({mapStateToProps:(t,e)=>{let{counterIndex:r}=e,n=Xt(r),o=n.getCounter(t),{start:a,end:i}=de(t),s=n.getCommittedRangeCounterSampleRange(t),l=gt(o.mainThreadIndex);return{counter:o,threadIndex:o.mainThreadIndex,accumulatedSamples:n.getAccumulateCounterSamples(t),rangeStart:a,rangeEnd:i,counterSampleRange:s,interval:ot(t),filteredThread:l.getFilteredThread(t),unfilteredSamplesRange:l.unfilteredSamplesRange(t)}},component:He(nM)});var sh=T(E()),iM=class extends y4.PureComponent{_onMarkerSelect=(e,r)=>{let{rangeStart:n,rangeEnd:o,updatePreviewSelection:a}=this.props;a({isModifying:!1,selectionStart:Math.max(n,e),selectionEnd:Math.min(o,r)})};render(){let{counterIndex:e,rangeStart:r,rangeEnd:n,threadIndex:o}=this.props;return(0,sh.jsxs)("div",{className:"timelineTrackMemory",style:{height:40,"--graph-height":`${25}px`,"--markers-height":`${15}px`},children:[(0,sh.jsx)(kS,{rangeStart:r,rangeEnd:n,threadsKey:o,onSelect:this._onMarkerSelect}),(0,sh.jsx)(h4,{counterIndex:e,lineWidth:2,graphHeight:25})]})}},b4=H({mapStateToProps:(t,e)=>{let{counterIndex:r}=e,o=Xt(r).getCounter(t),{start:a,end:i}=de(t);return{threadIndex:o.mainThreadIndex,rangeStart:a,rangeEnd:i}},mapDispatchToProps:{updatePreviewSelection:dt},component:iM});var L4=T(U());var wM=T(U());var sM=4883333333333333e-25;var lM=class{constructor(e){this.allowRatings=!1,this.options=e,this.KWH_PER_BYTE_FOR_NETWORK=sM}perByte(e,r){if(e<1)return 0;if(r){let o=e*72e-12*0,a=e*sM*475;return o+a}let n=72e-12+sM;return e*n*519}},cM=lM;var Lu={GIGABYTE:1e9};var tle={AFG:123.71,AFRICA:545.09,ALB:24.42,DZA:633.65,ASM:647.06,AGO:167.22,ATG:611.11,ARG:344.83,ARM:243.52,ABW:550,ASEAN:573.65,ASIA:572.12,AUS:553.76,AUT:102.62,AZE:632.89,BHS:653.66,BHR:902.41,BGD:694.63,BRB:600,BLR:323.63,BEL:117.58,BLZ:155.56,BEN:590,BTN:24.19,BOL:468.02,BIH:638.05,BWA:849.42,BRA:106.06,BRN:892.67,BGR:264.21,BFA:554.91,BDI:230.77,CPV:480,KHM:497.46,CMR:285.71,CAN:184.99,CYM:642.86,CAF:0,TCD:615.39,CHL:265.52,CHN:557.5,COL:285.8,COM:642.86,COG:713.73,COD:27.04,COK:250,CRI:63.01,CIV:393.53,HRV:174.48,CUB:638.98,CYP:512.24,CZE:413.86,DNK:143.3,DJI:450,DMA:600,DOM:565.97,ECU:209.7,EGY:574.5,SLV:99.29,GNQ:605.1,ERI:590.91,EST:341.02,SWZ:142.86,ETH:23.55,EU:213.02,EUROPE:285,FLK:1e3,FRO:354.17,FJI:278.26,FIN:72.25,FRA:44.18,GUF:204.08,PYF:436.62,G20:468.38,G7:343.3,GAB:429.47,GMB:666.67,GEO:143.06,DEU:342.06,GHA:452.86,GRC:319.76,GRL:111.11,GRD:666.67,GLP:493.9,GUM:611.11,GTM:272.66,GIN:182.72,GNB:625,GUY:634.33,HTI:534.65,HND:289.5,HKG:681.99,HUN:182.82,ISL:28.33,IND:708.96,IDN:682.43,IRN:648.68,IRQ:689.4,IRL:279.79,ISR:567.26,ITA:287.75,JAM:561.25,JPN:483.73,JOR:539.21,KAZ:801.79,KEN:84.83,KIR:500,XKX:958.72,KWT:637.24,KGZ:152.65,LAO:232.12,"LATIN AMERICA AND CARIBBEAN":254.21,LVA:136.22,LBN:369.47,LSO:20.83,LBR:435.9,LBY:830.53,LTU:139.34,LUX:134.62,MAC:448.98,MDG:477.27,MWI:54.65,MYS:604.43,MDV:611.77,MLI:394.5,MLT:484.16,MTQ:516.78,MRT:481.71,MUS:633.03,MEX:483.14,"MIDDLE EAST":637.24,MDA:629.56,MNG:784.01,MNE:413.51,MSR:1e3,MAR:577.65,MOZ:127.81,MMR:569.69,NAM:47.62,NRU:750,NPL:23.36,NLD:252.7,NCL:585.76,NZL:120.11,NIC:288.33,NER:687.5,NGA:507.85,"NORTH AMERICA":358.36,PRK:344.26,MKD:568.97,NOR:30.75,OCEANIA:495.47,OECD:337.99,OMN:545.33,PAK:398.61,PSE:460.78,PAN:258.74,PNG:513.74,PRY:24.86,PER:263.27,POL:614.98,PRT:111.8,PRI:664.53,QAT:602.83,REU:525.22,ROU:245.55,RUS:446.17,RWA:301.89,KNA:636.36,LCA:650,SPM:600,VCT:600,WSM:400,STP:555.56,SAU:691.95,SEN:535.4,SRB:670.8,SYC:571.43,SLE:47.62,SGP:498.74,SVK:96.49,SVN:227.11,SLB:636.36,SOM:523.81,ZAF:713.9,KOR:415.65,SSD:610.17,ESP:146.15,LKA:509.78,SDN:214.33,SUR:383.18,SWE:35.89,CHE:36.72,SYR:682.27,TWN:635.15,TJK:98.7,TZA:371.59,THA:555.43,PHL:613.38,TGO:478.26,TON:571.43,TTO:682.11,TUN:560.25,TUR:469.7,TKM:1306.3,TCA:653.85,UGA:57.39,UKR:250.47,ARE:467.51,GBR:215.79,USA:383.55,URY:96.7,UZB:1121.18,VUT:500,VEN:180.25,VNM:486.13,VGB:647.06,VIR:641.79,WORLD:472.94,YEM:586.32,ZMB:111,ZWE:298.44},rle="average",js={data:tle,type:rle};var v4=.81,dM=.52,uM=.14,pM=.15,mM=.19,Ai=js.data.WORLD,T4=50,Du=.75,Au=.25,Ou=.02,NS={OPERATIONAL_KWH_PER_GB_DATACENTER:.055,OPERATIONAL_KWH_PER_GB_NETWORK:.059,OPERATIONAL_KWH_PER_GB_DEVICE:.08,EMBODIED_KWH_PER_GB_DATACENTER:.012,EMBODIED_KWH_PER_GB_NETWORK:.013,EMBODIED_KWH_PER_GB_DEVICE:.081,GLOBAL_GRID_INTENSITY:494},S4={FIFTH_PERCENTILE:.095,TENTH_PERCENTILE:.186,TWENTIETH_PERCENTILE:.341,THIRTIETH_PERCENTILE:.493,FORTIETH_PERCENTILE:.656,FIFTIETH_PERCENTILE:.846},mc={FIFTH_PERCENTILE:.04,TENTH_PERCENTILE:.079,TWENTIETH_PERCENTILE:.145,THIRTIETH_PERCENTILE:.209,FORTIETH_PERCENTILE:.278,FIFTIETH_PERCENTILE:.359};var nle=NS.GLOBAL_GRID_INTENSITY,Bu=t=>parseFloat(t.toFixed(2)),Fu=(t,e)=>t<=e;function fM(t={},e=3,r=!1){let n=e===4?nle:Ai;if(typeof t!="object")throw new Error("Options must be an object");let o={};function a(i,s){var l,c;s||s===0?typeof s=="object"?(js.data[(l=s.country)==null?void 0:l.toUpperCase()]||(console.warn('"'.concat(s.country,`" is not a valid country. Please use a valid 3 digit ISO 3166 country code.
|
|
205
|
+
See https://developers.thegreenwebfoundation.org/co2js/data/ for more information.
|
|
206
|
+
Falling back to global average grid intensity.`)),o.gridIntensity[i]={value:n}),o.gridIntensity[i]={country:s.country,value:parseFloat(js.data[(c=s.country)==null?void 0:c.toUpperCase()])}):typeof s=="number"?o.gridIntensity[i]={value:s}:(o.gridIntensity[i]={value:n},console.warn("The ".concat(i," grid intensity must be a number or an object. You passed in a ").concat(typeof s,`.
|
|
207
|
+
Falling back to global average grid intensity.`))):o.gridIntensity[i]={value:n}}if(t?.gridIntensity){o.gridIntensity={};let{device:i,dataCenter:s,network:l}=t.gridIntensity;a("device",i),a("dataCenter",s),a("network",l)}else o.gridIntensity={device:{value:n},dataCenter:{value:n},network:{value:n}};return t?.greenHostingFactor||t.greenHostingFactor===0&&e===4?typeof t.greenHostingFactor=="number"?t.greenHostingFactor>=0&&t.greenHostingFactor<=1?o.greenHostingFactor=t.greenHostingFactor:(o.greenHostingFactor=0,console.warn("The returnVisitPercentage option must be a number between 0 and 1. You passed in ".concat(t.returnVisitPercentage,`.
|
|
208
|
+
Falling back to default value.`))):(o.greenHostingFactor=0,console.warn("The returnVisitPercentage option must be a number. You passed in a ".concat(typeof t.returnVisitPercentage,`.
|
|
209
|
+
Falling back to default value.`))):e===4&&(o.greenHostingFactor=0),r&&(o.greenHostingFactor=1),o}function x4(t={},e=3,r=!1){if(typeof t!="object")throw new Error("Options must be an object");let n=fM(t,e,r);return t?.dataReloadRatio||t.dataReloadRatio===0?typeof t.dataReloadRatio=="number"?t.dataReloadRatio>=0&&t.dataReloadRatio<=1?n.dataReloadRatio=t.dataReloadRatio:(n.dataReloadRatio=e===3?Ou:0,console.warn("The dataReloadRatio option must be a number between 0 and 1. You passed in ".concat(t.dataReloadRatio,`.
|
|
210
|
+
Falling back to default value.`))):(n.dataReloadRatio=e===3?Ou:0,console.warn("The dataReloadRatio option must be a number. You passed in a ".concat(typeof t.dataReloadRatio,`.
|
|
211
|
+
Falling back to default value.`))):(n.dataReloadRatio=e===3?Ou:0,console.warn("The dataReloadRatio option must be a number. You passed in a ".concat(typeof t.dataReloadRatio,`.
|
|
212
|
+
Falling back to default value.`))),t?.firstVisitPercentage||t.firstVisitPercentage===0?typeof t.firstVisitPercentage=="number"?t.firstVisitPercentage>=0&&t.firstVisitPercentage<=1?n.firstVisitPercentage=t.firstVisitPercentage:(n.firstVisitPercentage=e===3?Du:1,console.warn("The firstVisitPercentage option must be a number between 0 and 1. You passed in ".concat(t.firstVisitPercentage,`.
|
|
213
|
+
Falling back to default value.`))):(n.firstVisitPercentage=e===3?Du:1,console.warn("The firstVisitPercentage option must be a number. You passed in a ".concat(typeof t.firstVisitPercentage,`.
|
|
214
|
+
Falling back to default value.`))):(n.firstVisitPercentage=e===3?Du:1,console.warn("The firstVisitPercentage option must be a number. You passed in a ".concat(typeof t.firstVisitPercentage,`.
|
|
215
|
+
Falling back to default value.`))),t?.returnVisitPercentage||t.returnVisitPercentage===0?typeof t.returnVisitPercentage=="number"?t.returnVisitPercentage>=0&&t.returnVisitPercentage<=1?n.returnVisitPercentage=t.returnVisitPercentage:(n.returnVisitPercentage=e===3?Au:0,console.warn("The returnVisitPercentage option must be a number between 0 and 1. You passed in ".concat(t.returnVisitPercentage,`.
|
|
216
|
+
Falling back to default value.`))):(n.returnVisitPercentage=e===3?Au:0,console.warn("The returnVisitPercentage option must be a number. You passed in a ".concat(typeof t.returnVisitPercentage,`.
|
|
217
|
+
Falling back to default value.`))):(n.returnVisitPercentage=e===3?Au:0,console.warn("The returnVisitPercentage option must be a number. You passed in a ".concat(typeof t.returnVisitPercentage,`.
|
|
218
|
+
Falling back to default value.`))),n}function RS(t,e){let{FIFTH_PERCENTILE:r,TENTH_PERCENTILE:n,TWENTIETH_PERCENTILE:o,THIRTIETH_PERCENTILE:a,FORTIETH_PERCENTILE:i,FIFTIETH_PERCENTILE:s}=S4;return e===4&&(r=mc.FIFTH_PERCENTILE,n=mc.TENTH_PERCENTILE,o=mc.TWENTIETH_PERCENTILE,a=mc.THIRTIETH_PERCENTILE,i=mc.FORTIETH_PERCENTILE,s=mc.FIFTIETH_PERCENTILE),Fu(t,r)?"A+":Fu(t,n)?"A":Fu(t,o)?"B":Fu(t,a)?"C":Fu(t,i)?"D":Fu(t,s)?"E":"F"}var ole=Object.defineProperty,ale=Object.defineProperties,ile=Object.getOwnPropertyDescriptors,w4=Object.getOwnPropertySymbols,sle=Object.prototype.hasOwnProperty,lle=Object.prototype.propertyIsEnumerable,k4=(t,e,r)=>e in t?ole(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,MS=(t,e)=>{for(var r in e||(e={}))sle.call(e,r)&&k4(t,r,e[r]);if(w4)for(var r of w4(e))lle.call(e,r)&&k4(t,r,e[r]);return t},LS=(t,e)=>ale(t,ile(e)),hM=class{constructor(e){this.allowRatings=!0,this.options=e,this.version=3}energyPerByteByComponent(e){let n=e/Lu.GIGABYTE*v4;return{consumerDeviceEnergy:n*dM,networkEnergy:n*uM,productionEnergy:n*mM,dataCenterEnergy:n*pM}}co2byComponent(e,r=Ai,n={}){let o=Ai,a=Ai,i=Ai,s=Ai;if(n?.gridIntensity){let{device:c,network:d,dataCenter:u}=n.gridIntensity;(c?.value||c?.value===0)&&(o=c.value),(d?.value||d?.value===0)&&(a=d.value),(u?.value||u?.value===0)&&(i=u.value)}r===!0&&(i=T4);let l={};for(let[c,d]of Object.entries(e))c.startsWith("dataCenterEnergy")?l[c.replace("Energy","CO2")]=d*i:c.startsWith("consumerDeviceEnergy")?l[c.replace("Energy","CO2")]=d*o:c.startsWith("networkEnergy")?l[c.replace("Energy","CO2")]=d*a:l[c.replace("Energy","CO2")]=d*s;return l}perByte(e,r=!1,n=!1,o=!1,a={}){e<1&&(e=0);let i=this.energyPerByteByComponent(e,a);if(typeof r!="boolean")throw new Error("perByte expects a boolean for the carbon intensity value. Received: ".concat(r));let s=this.co2byComponent(i,r,a),c=Object.values(s).reduce((u,p)=>u+p),d=null;return o&&(d=this.ratingScale(c)),n?o?LS(MS({},s),{total:c,rating:d}):LS(MS({},s),{total:c}):o?{total:c,rating:d}:c}perVisit(e,r=!1,n=!1,o=!1,a={}){let i=this.energyPerVisitByComponent(e,a);if(typeof r!="boolean")throw new Error("perVisit expects a boolean for the carbon intensity value. Received: ".concat(r));let s=this.co2byComponent(i,r,a),c=Object.values(s).reduce((u,p)=>u+p),d=null;return o&&(d=this.ratingScale(c)),n?o?LS(MS({},s),{total:c,rating:d}):LS(MS({},s),{total:c}):o?{total:c,rating:d}:c}energyPerByte(e){let r=this.energyPerByteByComponent(e);return Object.values(r).reduce((o,a)=>o+a)}energyPerVisitByComponent(e,r={},n=Du,o=Au,a=Ou){(r.dataReloadRatio||r.dataReloadRatio===0)&&(a=r.dataReloadRatio),(r.firstVisitPercentage||r.firstVisitPercentage===0)&&(n=r.firstVisitPercentage),(r.returnVisitPercentage||r.returnVisitPercentage===0)&&(o=r.returnVisitPercentage);let i=this.energyPerByteByComponent(e),s={},l=Object.values(i);for(let[c,d]of Object.entries(i))s["".concat(c," - first")]=d*n,s["".concat(c," - subsequent")]=d*o*a;return s}energyPerVisit(e){let r=0,n=0,o=Object.entries(this.energyPerVisitByComponent(e));for(let[a,i]of o)a.indexOf("first")>0&&(r+=i);for(let[a,i]of o)a.indexOf("subsequent")>0&&(n+=i);return r+n}emissionsPerVisitInGrams(e,r=Ai){return Bu(e*r)}annualEnergyInKwh(e,r=1e3){return e*r*12}annualEmissionsInGrams(e,r=1e3){return e*r*12}annualSegmentEnergy(e){return{consumerDeviceEnergy:Bu(e*dM),networkEnergy:Bu(e*uM),dataCenterEnergy:Bu(e*pM),productionEnergy:Bu(e*mM)}}ratingScale(e){return RS(e,this.version)}},DS=hM;var cle=Object.defineProperty,dle=Object.defineProperties,ule=Object.getOwnPropertyDescriptors,I4=Object.getOwnPropertySymbols,ple=Object.prototype.hasOwnProperty,mle=Object.prototype.propertyIsEnumerable,C4=(t,e,r)=>e in t?cle(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Hu=(t,e)=>{for(var r in e||(e={}))ple.call(e,r)&&C4(t,r,e[r]);if(I4)for(var r of I4(e))mle.call(e,r)&&C4(t,r,e[r]);return t},lh=(t,e)=>dle(t,ule(e)),{OPERATIONAL_KWH_PER_GB_DATACENTER:fle,OPERATIONAL_KWH_PER_GB_NETWORK:hle,OPERATIONAL_KWH_PER_GB_DEVICE:gle,EMBODIED_KWH_PER_GB_DATACENTER:yle,EMBODIED_KWH_PER_GB_NETWORK:ble,EMBODIED_KWH_PER_GB_DEVICE:vle,GLOBAL_GRID_INTENSITY:Uu}=NS;function P4(t,e){let r=t.dataCenter+t.network+t.device,n=e.dataCenter+e.network+e.device,o=t.dataCenter+e.dataCenter,a=t.network+e.network,i=t.device+e.device;return{dataCenterOperationalCO2e:t.dataCenter,networkOperationalCO2e:t.network,consumerDeviceOperationalCO2e:t.device,dataCenterEmbodiedCO2e:e.dataCenter,networkEmbodiedCO2e:e.network,consumerDeviceEmbodiedCO2e:e.device,totalEmbodiedCO2e:n,totalOperationalCO2e:r,dataCenterCO2e:o,networkCO2e:a,consumerDeviceCO2e:i}}function E4(t,e){return t?1:e?.greenHostingFactor||e?.greenHostingFactor===0?e.greenHostingFactor:0}var gM=class{constructor(e){this.allowRatings=!0,this.options=e,this.version=4}operationalEnergyPerSegment(e){let r=e/Lu.GIGABYTE,n=r*fle,o=r*hle,a=r*gle;return{dataCenter:n,network:o,device:a}}operationalEmissions(e,r={}){let{dataCenter:n,network:o,device:a}=this.operationalEnergyPerSegment(e),i=Uu,s=Uu,l=Uu;if(r?.gridIntensity){let{device:p,network:m,dataCenter:f}=r.gridIntensity;(p?.value||p?.value===0)&&(l=p.value),(m?.value||m?.value===0)&&(s=m.value),(f?.value||f?.value===0)&&(i=f.value)}let c=n*i,d=o*s,u=a*l;return{dataCenter:c,network:d,device:u}}embodiedEnergyPerSegment(e){let r=e/Lu.GIGABYTE,n=r*yle,o=r*ble,a=r*vle;return{dataCenter:n,network:o,device:a}}embodiedEmissions(e){let{dataCenter:r,network:n,device:o}=this.embodiedEnergyPerSegment(e),a=Uu,i=Uu,s=Uu,l=r*a,c=n*i,d=o*s;return{dataCenter:l,network:c,device:d}}perByte(e,r=!1,n=!1,o=!1,a={}){if(e<1)return 0;let i=this.operationalEmissions(e,a),s=this.embodiedEmissions(e),l=E4(r,a),c={dataCenter:i.dataCenter*(1-l)+s.dataCenter,network:i.network+s.network,device:i.device+s.device},d=c.dataCenter+c.network+c.device,u=null;if(o&&(u=this.ratingScale(d)),n){let p=Hu({},P4(i,s));return o?lh(Hu({},p),{total:d,rating:u}):lh(Hu({},p),{total:d})}return o?{total:d,rating:u}:d}perVisit(e,r=!1,n=!1,o=!1,a={}){let i=1,s=0,l=0,c=E4(r,a),d=this.operationalEmissions(e,a),u=this.embodiedEmissions(e);if(e<1)return 0;(a.firstVisitPercentage||a.firstVisitPercentage===0)&&(i=a.firstVisitPercentage),(a.returnVisitPercentage||a.returnVisitPercentage===0)&&(s=a.returnVisitPercentage),(a.dataReloadRatio||a.dataReloadRatio===0)&&(l=a.dataReloadRatio);let p=d.dataCenter*(1-c)+u.dataCenter+d.network+u.network+d.device+u.device,m=p*l,f=p*i+m*s,h=null;if(o&&(h=this.ratingScale(f)),n){let b=lh(Hu({},P4(d,u)),{firstVisitCO2e:p,returnVisitCO2e:m});return o?lh(Hu({},b),{total:f,rating:h}):lh(Hu({},b),{total:f})}return o?{total:f,rating:h}:f}ratingScale(e){return RS(e,this.version)}},yM=gM;var Tle=Object.defineProperty,OS=Object.getOwnPropertySymbols,N4=Object.prototype.hasOwnProperty,R4=Object.prototype.propertyIsEnumerable,_4=(t,e,r)=>e in t?Tle(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,AS=(t,e)=>{for(var r in e||(e={}))N4.call(e,r)&&_4(t,r,e[r]);if(OS)for(var r of OS(e))R4.call(e,r)&&_4(t,r,e[r]);return t},bM=(t,e)=>{var r={};for(var n in t)N4.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&OS)for(var n of OS(t))e.indexOf(n)<0&&R4.call(t,n)&&(r[n]=t[n]);return r},vM=class{constructor(e){if(this.model=new DS,e?.model==="1byte")this.model=new cM;else if(e?.model==="swd")this.model=new DS,e?.version===4&&(this.model=new yM);else if(!e?.model)console.warn(`------
|
|
219
|
+
WARNING: We are changing the default estimation model in CO2.js to Sustainable Web Design v4 in the next version (v0.18) of CO2.js. This change will take place in February 2026.
|
|
220
|
+
|
|
221
|
+
If you would like to keep using Sustainable Web Design v3, please make sure to explicitly set it in your code. See https://developers.thegreenwebfoundation.org/co2js/models/#using-sustainable-web-design-model-version-3 for details.
|
|
222
|
+
------
|
|
223
|
+
`);else if(e?.model)throw new Error('"'.concat(e.model,`" is not a valid model. Please use "1byte" for the OneByte model, and "swd" for the Sustainable Web Design model.
|
|
224
|
+
See https://developers.thegreenwebfoundation.org/co2js/models/ to learn more about the models available in CO2.js.`));if(e?.rating&&typeof e.rating!="boolean")throw new Error(`The rating option must be a boolean. Please use true or false.
|
|
225
|
+
See https://developers.thegreenwebfoundation.org/co2js/options/ to learn more about the options available in CO2.js.`);let r=!!this.model.allowRatings;if(this._segment=e?.results==="segment",this._rating=e?.rating===!0,!r&&this._rating)throw new Error(`The rating system is not supported in the model you are using. Try using the Sustainable Web Design model instead.
|
|
226
|
+
See https://developers.thegreenwebfoundation.org/co2js/models/ to learn more about the models available in CO2.js.`)}perByte(e,r=!1){return this.model.perByte(e,r,this._segment,this._rating)}perVisit(e,r=!1){var n;if((n=this.model)!=null&&n.perVisit)return this.model.perVisit(e,r,this._segment,this._rating);throw new Error(`The perVisit() method is not supported in the model you are using. Try using perByte() instead.
|
|
227
|
+
See https://developers.thegreenwebfoundation.org/co2js/methods/ to learn more about the methods available in CO2.js.`)}perByteTrace(e,r=!1,n={}){let o=fM(n,this.model.version,r),a=o,{gridIntensity:i}=a,l=bM(a,["gridIntensity"]),{dataReloadRatio:c,firstVisitPercentage:d,returnVisitPercentage:u}=l,p=bM(l,["dataReloadRatio","firstVisitPercentage","returnVisitPercentage"]);return{co2:this.model.perByte(e,r,this._segment,this._rating,o),green:r,variables:AS({description:"Below are the variables used to calculate this CO2 estimate.",bytes:e,gridIntensity:AS({description:"The grid intensity (grams per kilowatt-hour) used to calculate this CO2 estimate."},o.gridIntensity)},p)}}perVisitTrace(e,r=!1,n={}){var o;if((o=this.model)!=null&&o.perVisit){let a=x4(n,this.model.version,r),i=a,{gridIntensity:s}=i,l=bM(i,["gridIntensity"]);return{co2:this.model.perVisit(e,r,this._segment,this._rating,a),green:r,variables:AS({description:"Below are the variables used to calculate this CO2 estimate.",bytes:e,gridIntensity:AS({description:"The grid intensity (grams per kilowatt-hour) used to calculate this CO2 estimate."},a.gridIntensity)},l)}}else throw new Error(`The perVisitTrace() method is not supported in the model you are using. Try using perByte() instead.
|
|
228
|
+
See https://developers.thegreenwebfoundation.org/co2js/methods/ to learn more about the methods available in CO2.js.`)}SustainableWebDesignV3(){return new DS}SustainableWebDesignV4(){return new yM}OneByte(){return new cM}},TM=vM;var Sle=Object.getOwnPropertyNames,xle=(t,e)=>function(){return e||(0,t[Sle(t)[0]])((e={exports:{}}).exports,e),e.exports},wle=xle({"src/hosting-json.js"(t,e){async function r(c,d){return typeof c=="string"?n(c,d):a(c,d)}function n(c,d){return d.indexOf(c)>-1}function o(c){return Object.entries(c).filter(([p,m])=>m.green).map(([p,m])=>m.url)}function a(c,d){let u=[];for(let p of c)d.indexOf(p)>-1&&u.push(p);return u}function i(c,d){return typeof c=="string"?s(c,d):l(c,d)}function s(c,d){return d.indexOf(c)>-1?c:{url:c,green:!1}}function l(c,d){let u={};for(let p of c)u[p]=s(p,d);return u}e.exports={check:r,greenDomainsFromResults:o,find:i}}}),kle=wle();var pr=T(E()),SM=class extends wM.PureComponent{_canvas=null;_requestedAnimationFrame=!1;_canvasState={renderScheduled:!1,inView:!1};drawCanvas(e){let{rangeStart:r,rangeEnd:n,counter:o,height:a,width:i,lineWidth:s,interval:l,maxCounterSampleCountPerMs:c,counterSampleRange:d}=this.props;if(i===0)return;let u=e.getContext("2d"),p=window.devicePixelRatio,m=i*p,f=a*p,h=s*p,b=h*.5,g=f-h,y=n-r,v=m/y,S=l*v;e.width=Math.round(m),e.height=Math.round(f),u.clearRect(0,0,m,f);let x=o.samples;if(x.length===0)return;let[w,I]=d,C=c;{u.lineWidth=h,u.lineJoin="bevel",u.strokeStyle=wo(o.color||Nh),u.fillStyle=La(o.color||Nh),u.beginPath();let k=R=>Math.round((x.time[R]-r)*v),N=R=>{let z=x.count[R];if(!z)return f+b;let Q=R===0?l:x.time[R]-x.time[R-1],ie=z/Q/C;return g-g*ie+b},O=k(w),L=O,F=N(w);u.moveTo(L,F);for(let R=w+1;R<I;R++){L=k(R),F=N(R),u.lineTo(L,F);let z=[F];for(;R+1<I&&k(R+1)===L;)z.push(N(++R));if(z.length>2){let ie=Math.max(...z);ie!==F&&(F=ie,u.lineTo(L,F));let me=Math.min(...z);me!==F&&(F=me,u.lineTo(L,F))}let Q=z[z.length-1];Q!==F&&(F=Q,u.lineTo(L,F))}u.lineTo(L+S,F),u.stroke(),u.lineTo(L+S,f),u.lineTo(O,f),u.fill()}}_scheduleDraw(){if(!this._canvasState.inView){this._canvasState.renderScheduled=!0;return}this._canvasState.renderScheduled=!1,this._requestedAnimationFrame||(this._requestedAnimationFrame=!0,window.requestAnimationFrame(()=>{this._requestedAnimationFrame=!1;let e=this._canvas;e&&this.drawCanvas(e)}))}_takeCanvasRef=e=>{this._canvas=e};_observerCallback=(e,r)=>{this._canvasState.inView=e,this._canvasState.renderScheduled&&this._scheduleDraw()};componentDidMount(){this._scheduleDraw()}componentDidUpdate(){this._scheduleDraw()}render(){return(0,pr.jsx)(Rn,{onChange:this._observerCallback,children:(0,pr.jsx)("canvas",{className:"timelineTrackBandwidthCanvas",ref:this._takeCanvasRef})})}},xM=class extends wM.PureComponent{state={hoveredCounter:null,mouseX:0,mouseY:0};_onMouseLeave=()=>{window.persistTooltips||this.setState({hoveredCounter:null})};_onMouseMove=e=>{let{pageX:r,pageY:n}=e,{left:o}=e.currentTarget.getBoundingClientRect(),{width:a,rangeStart:i,rangeEnd:s,counter:l,interval:c,counterSampleRange:d}=this.props,u=s-i,p=i+(r-o)/a*u;if(l.samples.length===0)throw new Error("No sample group found for bandwidth counter");let{samples:m}=l;if(p<m.time[0]||p>m.time[m.length-1]+c)this.setState({hoveredCounter:null});else{let f,[h,b]=d,g=Ae(m.time,p,h,b);if(g>0&&g<m.time.length){let y=p-m.time[g-1],v=m.time[g]-p;y<v?f=g-1:f=g;let S=x=>Math.round((x-i)/u*a+o);for(let x=f-1;S(m.time[x])===r&&x>0;--x)m.count[x]>m.count[f]&&(f=x);for(let x=f+1;S(m.time[x])===r&&x<m.time.length;++x)m.count[x]>m.count[f]&&(f=x)}else f=g;f===m.length&&(f=m.time.length-1),this.setState({mouseX:r,mouseY:n,hoveredCounter:f})}};_co2=null;_formatDataTransferValue(e,r){this._co2||(this._co2=new TM({model:"swd"}));let n=this._co2.perByteTrace(e,!1,{gridIntensity:{device:0}}),o=Se(typeof n.co2=="number"?n.co2:n.co2.total),a=Ue(e);return(0,pr.jsx)(P,{id:r,vars:{value:a,carbonValue:o},attrs:{label:!0},children:(0,pr.jsx)(re,{label:"",children:a})})}_renderTooltip(e){let{accumulatedSamples:r,counter:n,rangeStart:o,rangeEnd:a,interval:i,previewSelection:s}=this.props,{mouseX:l,mouseY:c}=this.state,{samples:d}=n;if(d.length===0)throw new Error("No accumulated sample found for bandwidth counter");let u=d.time[e];if(u<o||u>a)return null;let{minCount:p,countRange:m,accumulatedCounts:f}=r,h=f[e]-p,b=d.number!==void 0?d.number[e]:null,g=e===0?i:d.time[e]-d.time[e-1],y=d.count[e]/g,v=0;if(s){let[x,w]=zn(d,s.selectionStart,s.selectionEnd);for(let I=x;I<w;I++)v+=d.count[I]}let S;return b!==null&&(S=Se(b,2,0)),(0,pr.jsx)(at,{mouseX:l,mouseY:c,children:(0,pr.jsx)("div",{className:"timelineTrackBandwidthTooltip",children:(0,pr.jsxs)(hu,{children:[this._formatDataTransferValue(y*1e3,"TrackBandwidthGraph--speed"),b!==null?(0,pr.jsx)(P,{id:"TrackBandwidthGraph--read-write-operations-since-the-previous-sample",vars:{value:S||""},attrs:{label:!0},children:(0,pr.jsx)(re,{label:"",children:S})}):null,(0,pr.jsx)(fu,{}),this._formatDataTransferValue(h,"TrackBandwidthGraph--cumulative-bandwidth-at-this-time"),this._formatDataTransferValue(m,"TrackBandwidthGraph--total-bandwidth-in-graph"),s?this._formatDataTransferValue(v,"TrackBandwidthGraph--total-bandwidth-in-range"):null]})})})}_renderBandwidthDot(e){let{counter:r,rangeStart:n,rangeEnd:o,graphHeight:a,width:i,lineWidth:s,maxCounterSampleCountPerMs:l,interval:c}=this.props,{samples:d}=r;if(d.length===0)throw new Error("No sample found for bandwidth counter");let u=o-n,p=d.time[e];if(p<n||p>o)return null;let m=i*(p-n)/u,f=l,h=e===0?c:d.time[e]-d.time[e-1],b=d.count[e]/h/f,g=a-s/2,y=g-b*g+s/2;return(0,pr.jsx)("div",{style:{left:m,top:y,backgroundColor:Da(r.color||Nh)},className:"timelineTrackBandwidthGraphDot"})}render(){let{hoveredCounter:e}=this.state,{filteredThread:r,interval:n,rangeStart:o,rangeEnd:a,unfilteredSamplesRange:i,counter:s,counterSampleRange:l,graphHeight:c,width:d,lineWidth:u,accumulatedSamples:p,maxCounterSampleCountPerMs:m}=this.props;return(0,pr.jsxs)("div",{className:"timelineTrackBandwidthGraph",onMouseMove:this._onMouseMove,onMouseLeave:this._onMouseLeave,children:[(0,pr.jsx)(SM,{rangeStart:o,rangeEnd:a,counter:s,counterSampleRange:l,height:c,width:d,lineWidth:u,interval:n,accumulatedSamples:p,maxCounterSampleCountPerMs:m}),e===null?null:(0,pr.jsxs)(pr.Fragment,{children:[this._renderBandwidthDot(e),this._renderTooltip(e)]}),(0,pr.jsx)(Io,{thread:r,interval:n,rangeStart:o,rangeEnd:a,unfilteredSamplesRange:i})]})}},M4=H({mapStateToProps:(t,e)=>{let{counterIndex:r}=e,n=Xt(r),o=n.getCounter(t),{start:a,end:i}=de(t),s=n.getCommittedRangeCounterSampleRange(t),l=gt(o.mainThreadIndex);return{counter:o,threadIndex:o.mainThreadIndex,maxCounterSampleCountPerMs:n.getMaxRangeCounterSampleCountPerMs(t),accumulatedSamples:n.getAccumulateCounterSamples(t),rangeStart:a,rangeEnd:i,counterSampleRange:s,interval:ot(t),filteredThread:l.getFilteredThread(t),unfilteredSamplesRange:l.unfilteredSamplesRange(t),previewSelection:mt(t)}},component:He(xM)});var IM=T(E()),kM=class extends L4.PureComponent{render(){let{counterIndex:e}=this.props;return(0,IM.jsx)("div",{className:"timelineTrackBandwidth",style:{height:25,"--graph-height":`${25}px`},children:(0,IM.jsx)(M4,{counterIndex:e,lineWidth:2,graphHeight:25})})}},D4=H({mapStateToProps:(t,e)=>{let{counterIndex:r}=e,o=Xt(r).getCounter(t),{start:a,end:i}=de(t);return{threadIndex:o.mainThreadIndex,rangeStart:a,rangeEnd:i}},component:kM});var O4=T(U());var PM=T(E()),CM=class extends O4.PureComponent{_onMarkerSelect=(e,r)=>{let{rangeStart:n,rangeEnd:o,updatePreviewSelection:a}=this.props;a({isModifying:!1,selectionStart:Math.max(n,e),selectionEnd:Math.min(o,r)})};render(){let{rangeStart:e,rangeEnd:r,threadIndex:n}=this.props;return(0,PM.jsx)("div",{style:{height:25,"--markers-height":`${25}px`},children:(0,PM.jsx)(r4,{rangeStart:e,rangeEnd:r,threadsKey:n,onSelect:this._onMarkerSelect})})}},F4=H({mapStateToProps:t=>{let{start:e,end:r}=de(t);return{rangeStart:e,rangeEnd:r}},mapDispatchToProps:{updatePreviewSelection:dt},component:CM});var U4=T(U());var NM=T(U());var B4=T(Qo());var Mn=T(E()),EM=class extends NM.PureComponent{_canvas=null;_requestedAnimationFrame=!1;drawCanvas(e){let{rangeStart:r,rangeEnd:n,counter:o,height:a,width:i,lineWidth:s,interval:l,maxCounterSampleCountPerMs:c,counterSampleRange:d}=this.props;if(i===0)return;let u=e.getContext("2d"),p=window.devicePixelRatio,m=i*p,f=a*p,h=s*p,b=h*.5,g=f-h,y=n-r,v=m/y,S=l*v;e.width=Math.round(m),e.height=Math.round(f),u.clearRect(0,0,m,f);let x=o.samples;if(x.length===0)return;let[w,I]=d,C=c;{u.lineWidth=h,u.lineJoin="bevel",u.strokeStyle=B4.GREY_50,u.fillStyle="#73737388",u.beginPath();let k=0,N=0,O=0;for(let L=w;L<I;L++){k=(x.time[L]-r)*v;let F=L===0?l:x.time[L]-x.time[L-1],R=x.count[L]/F/C;N=g-g*R+b,L===0?(O=k,u.moveTo(k,N)):u.lineTo(k,N)}u.lineTo(k+S,N),u.stroke(),u.lineTo(k+S,f),u.lineTo(O,f),u.fill()}}_scheduleDraw(){this._requestedAnimationFrame||(this._requestedAnimationFrame=!0,window.requestAnimationFrame(()=>{this._requestedAnimationFrame=!1;let e=this._canvas;e&&this.drawCanvas(e)}))}_takeCanvasRef=e=>{this._canvas=e};render(){return this._scheduleDraw(),(0,Mn.jsx)("canvas",{className:"timelineTrackProcessCPUCanvas",ref:this._takeCanvasRef})}},_M=class extends NM.PureComponent{state={hoveredCounter:null,mouseX:0,mouseY:0};_onMouseLeave=()=>{this.setState({hoveredCounter:null})};_onMouseMove=e=>{let{pageX:r,pageY:n}=e,{left:o}=e.currentTarget.getBoundingClientRect(),{width:a,rangeStart:i,rangeEnd:s,counter:l,interval:c,counterSampleRange:d}=this.props,u=s-i,p=i+(r-o)/a*u,{samples:m}=l;if(p<m.time[0]||p>m.time[m.length-1]+c)this.setState({hoveredCounter:null});else{let f,[h,b]=d,g=Ae(m.time,p,h,b);if(g>0&&g<m.time.length){let y=p-m.time[g-1],v=m.time[g]-p;y<v?f=g-1:f=g}else f=g;f===m.length&&(f=m.time.length-1),this.setState({mouseX:r,mouseY:n,hoveredCounter:f})}};_renderTooltip(e){let{counter:r,maxCounterSampleCountPerMs:n,interval:o,rangeStart:a,rangeEnd:i}=this.props,{mouseX:s,mouseY:l}=this.state,{samples:c}=r;if(c.length===0)throw new Error("No sample found for process CPU counter");let d=c.time[e];if(d<a||d>i)return null;let u=n,p=c.count[e],m=e===0?o:c.time[e]-c.time[e-1],f=p/m/u;return(0,Mn.jsx)(at,{mouseX:s,mouseY:l,children:(0,Mn.jsx)("div",{className:"timelineTrackProcessCPUTooltip",children:(0,Mn.jsxs)("div",{className:"timelineTrackProcessCPUTooltipLine",children:["CPU:"," ",(0,Mn.jsx)("span",{className:"timelineTrackProcessCPUTooltipNumber",children:Kt(f)})]})})})}_renderDot(e){let{counter:r,rangeStart:n,rangeEnd:o,graphHeight:a,width:i,lineWidth:s,maxCounterSampleCountPerMs:l,interval:c}=this.props,{samples:d}=r,u=o-n,p=d.time[e];if(p<n||p>o)return null;let m=i*(d.time[e]-n)/u;if(d.length===0)throw new Error("No sample found for process CPU counter");let f=l,h=e===0?c:d.time[e]-d.time[e-1],b=d.count[e]/h/f,g=a-s/2,y=g-b*g+s/2;return(0,Mn.jsx)("div",{style:{left:m,top:y},className:"timelineTrackProcessCPUGraphDot"})}render(){let{hoveredCounter:e}=this.state,{filteredThread:r,interval:n,rangeStart:o,rangeEnd:a,unfilteredSamplesRange:i,counter:s,counterSampleRange:l,graphHeight:c,width:d,lineWidth:u,maxCounterSampleCountPerMs:p}=this.props;return(0,Mn.jsxs)("div",{className:"timelineTrackProcessCPUGraph",onMouseMove:this._onMouseMove,onMouseLeave:this._onMouseLeave,children:[(0,Mn.jsx)(EM,{rangeStart:o,rangeEnd:a,counter:s,counterSampleRange:l,height:c,width:d,lineWidth:u,interval:n,maxCounterSampleCountPerMs:p}),e===null?null:(0,Mn.jsxs)(Mn.Fragment,{children:[this._renderDot(e),this._renderTooltip(e)]}),(0,Mn.jsx)(Io,{thread:r,interval:n,rangeStart:o,rangeEnd:a,unfilteredSamplesRange:i})]})}},H4=H({mapStateToProps:(t,e)=>{let{counterIndex:r}=e,n=Xt(r),o=n.getCounter(t),{start:a,end:i}=de(t),s=n.getCommittedRangeCounterSampleRange(t),l=gt(o.mainThreadIndex);return{counter:o,threadIndex:o.mainThreadIndex,maxCounterSampleCountPerMs:n.getMaxCounterSampleCountPerMs(t),rangeStart:a,rangeEnd:i,counterSampleRange:s,interval:ot(t),filteredThread:l.getFilteredThread(t),unfilteredSamplesRange:l.unfilteredSamplesRange(t)}},component:He(_M)});var MM=T(E()),RM=class extends U4.PureComponent{render(){let{counterIndex:e}=this.props;return(0,MM.jsx)("div",{className:"timelineTrackProcessCPU",style:{height:25,"--graph-height":`${25}px`},children:(0,MM.jsx)(H4,{counterIndex:e,lineWidth:2,graphHeight:25})})}},G4=H({mapStateToProps:(t,e)=>{let{counterIndex:r}=e,o=Xt(r).getCounter(t),{start:a,end:i}=de(t);return{threadIndex:o.mainThreadIndex,rangeStart:a,rangeEnd:i}},mapDispatchToProps:{updatePreviewSelection:dt},component:RM});var K4=T(U());var OM=T(U());var V4=T(U());var $4=Number.isNaN||function(e){return typeof e=="number"&&e!==e};function Ple(t,e){return!!(t===e||$4(t)&&$4(e))}function Ele(t,e){if(t.length!==e.length)return!1;for(var r=0;r<t.length;r++)if(!Ple(t[r],e[r]))return!1;return!0}function z4(t,e){e===void 0&&(e=Ele);var r=null;function n(){for(var o=[],a=0;a<arguments.length;a++)o[a]=arguments[a];if(r&&r.lastThis===this&&e(o,r.lastArgs))return r.lastResult;var i=t.apply(this,o);return r={lastResult:i,lastArgs:o,lastThis:this},i}return n.clear=function(){r=null},n}var Oi=T(E()),LM=class extends V4.PureComponent{_computePowerSumForRange(e,r){let{counter:n}=this.props,o=n.samples,[a,i]=zn(o,e,r),s=0;for(let l=a;l<i;l++)s+=o.count[l];return s*1e-12}_computeCO2eFromPower(e){let r=e/1e3,n=this.props.meta.gramsOfCO2ePerKWh||js.data.WORLD;return r*n}_computePowerSumForCommittedRange=z4(({start:e,end:r})=>this._computePowerSumForRange(e,r));_formatPowerValue(e,r,n,o,a){let i,s,l,c=this._computeCO2eFromPower(e);return e>1e3?(i=Se(e/1e3,3),l=Se(c/1e3,2),s=r):e>1?(i=Se(e,3),l=Se(c,3),s=n):e===0?(i=0,l=0,s=n):e<.001?(i=Se(e*1e6),l=Se(c*1e3),s=a):(i=Se(e*1e3),l=Se(c*1e3),s=o),(0,Oi.jsx)(P,{id:s,vars:{value:i,carbonValue:l},attrs:{label:!0},children:(0,Oi.jsx)(re,{label:"",children:i})})}maybeRenderForPreviewSelection(e){if(!e)return null;let{selectionStart:r,selectionEnd:n}=e,o=n-r;if(o===0)return null;let a=this._computePowerSumForRange(r,n);return(0,Oi.jsxs)(Oi.Fragment,{children:[this._formatPowerValue(a,"TrackPower--tooltip-energy-carbon-used-in-preview-kilowatthour","TrackPower--tooltip-energy-carbon-used-in-preview-watthour","TrackPower--tooltip-energy-carbon-used-in-preview-milliwatthour","TrackPower--tooltip-energy-carbon-used-in-preview-microwatthour"),this._formatPowerValue(1e3*3600*a/o,"TrackPower--tooltip-average-power-kilowatt","TrackPower--tooltip-average-power-watt","TrackPower--tooltip-average-power-milliwatt","TrackPower--tooltip-average-power-microwatt")]})}render(){let{counter:e,counterSampleIndex:r,interval:n,committedRange:o,previewSelection:a}=this.props,i=e.samples,s=i.count[r],l=r===0?n:i.time[r]-i.time[r-1],c=s*1e-12/l*1e3*3600;return(0,Oi.jsx)("div",{className:"timelineTrackPowerTooltip",children:(0,Oi.jsxs)(hu,{children:[this._formatPowerValue(c,"TrackPower--tooltip-power-kilowatt","TrackPower--tooltip-power-watt","TrackPower--tooltip-power-milliwatt","TrackPower--tooltip-power-microwatt"),this.maybeRenderForPreviewSelection(a),this._formatPowerValue(this._computePowerSumForCommittedRange(o),"TrackPower--tooltip-energy-carbon-used-in-range-kilowatthour","TrackPower--tooltip-energy-carbon-used-in-range-watthour","TrackPower--tooltip-energy-carbon-used-in-range-milliwatthour","TrackPower--tooltip-energy-carbon-used-in-range-microwatthour")]})})}},W4=H({mapStateToProps:t=>({interval:ot(t),meta:Tn(t),committedRange:de(t),previewSelection:mt(t)}),component:LM});var Zn=T(E()),DM=class extends OM.PureComponent{_canvas=null;_canvasState={renderScheduled:!1,inView:!1};drawCanvas(e){let{rangeStart:r,rangeEnd:n,counter:o,height:a,width:i,lineWidth:s,interval:l,maxCounterSampleCountPerMs:c,counterSampleRange:d}=this.props;if(i===0)return;let u=e.getContext("2d"),p=window.devicePixelRatio,m=i*p,f=a*p,h=s*p,b=h*.5,g=f-h,y=n-r,v=m/y,S=l*v;e.width=Math.round(m),e.height=Math.round(f),u.clearRect(0,0,m,f);let x=o.samples;if(x.length===0)return;let[w,I]=d,C=c;{u.lineWidth=h,u.lineJoin="bevel",u.strokeStyle=wo(o.color||Mh),u.fillStyle=La(o.color||Mh),u.beginPath();let k=z=>Math.round((x.time[z]-r)*v),N=z=>{let Q=z===0?l:x.time[z]-x.time[z-1];return x.count[z]/Q},O=z=>{if(!z)return f+b;let Q=z/C;return Math.round(g-g*Q+b)},L=k(w),F=L,R=O(N(w));u.moveTo(F,R);for(let z=w+1;z<I;z++){let Q=[N(z)];for(F=k(z),R=O(Q[0]),u.lineTo(F,R);z+1<I&&k(z+1)===F;)Q.push(N(++z));if(Q.length>2){let me=O(Math.min(...Q));me!==R&&(R=me,u.lineTo(F,R));let M=O(Math.max(...Q));M!==R&&(R=M,u.lineTo(F,R))}let ie=O(Q[Q.length-1]);ie!==R&&(R=ie,u.lineTo(F,R))}u.lineTo(F+S,R),u.stroke(),u.lineTo(F+S,f),u.lineTo(L,f),u.fill()}}_renderCanvas(){if(!this._canvasState.inView){this._canvasState.renderScheduled=!0;return}this._canvasState.renderScheduled=!1;let e=this._canvas;e&&ct("TrackPowerCanvas render",()=>{this.drawCanvas(e)})}_takeCanvasRef=e=>{this._canvas=e};_observerCallback=(e,r)=>{this._canvasState.inView=e,this._canvasState.renderScheduled&&this._renderCanvas()};render(){return this._renderCanvas(),(0,Zn.jsx)(Rn,{onChange:this._observerCallback,children:(0,Zn.jsx)("canvas",{className:"timelineTrackPowerCanvas",ref:this._takeCanvasRef})})}},AM=class extends OM.PureComponent{state={hoveredCounter:null,mouseX:0,mouseY:0};_onMouseLeave=()=>{this.setState({hoveredCounter:null})};_onMouseMove=e=>{let{pageX:r,pageY:n}=e,{left:o}=e.currentTarget.getBoundingClientRect(),{width:a,rangeStart:i,rangeEnd:s,counter:l,interval:c,counterSampleRange:d}=this.props,u=s-i,p=i+(r-o)/a*u,{samples:m}=l;if(p<m.time[0]||p>m.time[m.length-1]+c)this.setState({hoveredCounter:null});else{let f,[h,b]=d,g=Ae(m.time,p,h,b);if(g>0&&g<m.time.length){let y=p-m.time[g-1],v=m.time[g]-p;y<v?f=g-1:f=g;let S=x=>Math.round((x-i)/u*a+o);for(let x=f-1;S(m.time[x])===r&&x>0;--x)m.count[x]>m.count[f]&&(f=x);for(let x=f+1;S(m.time[x])===r&&x<m.time.length;++x)m.count[x]>m.count[f]&&(f=x)}else f=g;f===m.length&&(f=m.time.length-1),this.setState({mouseX:r,mouseY:n,hoveredCounter:f})}};_renderTooltip(e){let{counter:r,rangeStart:n,rangeEnd:o}=this.props,{mouseX:a,mouseY:i}=this.state,{samples:s}=r;if(s.length===0)throw new Error("No sample found for power counter");let l=s.time[e];return l<n||l>o?null:(0,Zn.jsx)(at,{mouseX:a,mouseY:i,children:(0,Zn.jsx)(W4,{counter:r,counterSampleIndex:e})})}_renderDot(e){let{counter:r,rangeStart:n,rangeEnd:o,graphHeight:a,width:i,lineWidth:s,maxCounterSampleCountPerMs:l,interval:c}=this.props,{samples:d}=r,u=o-n,p=d.time[e];if(p<n||p>o)return null;let m=i*(p-n)/u;if(d.length===0)throw new Error("No sample found for power counter");let f=l,h=e===0?c:d.time[e]-d.time[e-1],b=d.count[e]/h/f,g=a-s/2,y=g-b*g+s/2;return(0,Zn.jsx)("div",{style:{left:m,top:y,backgroundColor:Da(r.color||Mh)},className:"timelineTrackPowerGraphDot"})}render(){let{hoveredCounter:e}=this.state,{filteredThread:r,interval:n,rangeStart:o,rangeEnd:a,unfilteredSamplesRange:i,counter:s,counterSampleRange:l,graphHeight:c,width:d,lineWidth:u,maxCounterSampleCountPerMs:p}=this.props;return(0,Zn.jsxs)("div",{className:"timelineTrackPowerGraph",onMouseMove:this._onMouseMove,onMouseLeave:this._onMouseLeave,children:[(0,Zn.jsx)(DM,{rangeStart:o,rangeEnd:a,counter:s,counterSampleRange:l,height:c,width:d,lineWidth:u,interval:n,maxCounterSampleCountPerMs:p}),e===null?null:(0,Zn.jsxs)(Zn.Fragment,{children:[this._renderDot(e),this._renderTooltip(e)]}),(0,Zn.jsx)(Io,{thread:r,interval:n,rangeStart:o,rangeEnd:a,unfilteredSamplesRange:i})]})}},j4=H({mapStateToProps:(t,e)=>{let{counterIndex:r}=e,n=Xt(r),o=n.getCounter(t),{start:a,end:i}=de(t),s=n.getCommittedRangeCounterSampleRange(t),l=gt(o.mainThreadIndex);return{counter:o,threadIndex:o.mainThreadIndex,maxCounterSampleCountPerMs:n.getMaxRangeCounterSampleCountPerMs(t),rangeStart:a,rangeEnd:i,counterSampleRange:s,interval:ot(t),filteredThread:l.getFilteredThread(t),unfilteredSamplesRange:l.unfilteredSamplesRange(t)}},component:He(AM)});var HM=T(E()),BM=class extends K4.PureComponent{render(){let{counterIndex:e}=this.props;return(0,HM.jsx)("div",{className:"timelineTrackPower",style:{height:25,"--graph-height":`${25}px`},children:(0,HM.jsx)(j4,{counterIndex:e,lineWidth:2,graphHeight:25})})}},Y4=H({mapStateToProps:(t,e)=>{let{counterIndex:r}=e,o=Xt(r).getCounter(t),{start:a,end:i}=de(t);return{threadIndex:o.mainThreadIndex,rangeStart:a,rangeEnd:i}},mapDispatchToProps:{updatePreviewSelection:dt},component:BM});var Z4=T(U());var $M=T(U());var Ln=T(E());function X4(t,e,r,n){let o;switch(t){case"line":case"line-filled":o=(n-e)/(r-e);break;case"bar":o=n/r;break;default:throw Y(t,`The type ${t} is unexpected in _calculateUnitValue`)}return o*.85}var UM=class extends $M.PureComponent{_canvas=null;_requestedAnimationFrame=!1;_canvasState={renderScheduled:!1,inView:!1};drawCanvas(e){let{rangeStart:r,rangeEnd:n,markerSchema:o,markerSampleRanges:a,collectedSamples:i,valueBounds:s,height:l,width:c,getMarker:d}=this.props;if(c===0)return;let{name:u,graphs:p}=o;if(p===void 0)throw new Error("No track config for marker");let m=e.getContext("2d"),f=window.devicePixelRatio,h=c*f,b=l*f,g=n-r,y=h/g;e.width=Math.round(h),e.height=Math.round(b),m.clearRect(0,0,h,b);let v=2*f;if(m.lineWidth=v,m.lineJoin="bevel",i.numbersPerLine.length===0)throw new Error("No lines for marker "+u);let{minNumber:S,maxNumber:x}=s,[w,I]=a;for(let C=0;C<p.length;C++){let{type:k,color:N}=p[C],O=i.numbersPerLine[C];m.strokeStyle=wo(N||Rh);let L=z=>Math.round((z-r)*y),F=k==="bar"?0:v*.5,R=z=>{let Q=X4(k,S,x,O[z]);return Math.floor(b-b*Q-F)};switch(k){case"line":case"line-filled":{let z=0,Q=0,ie=0;m.beginPath();for(let me=w;me<I;me++){let M=d(i.markerIndexes[me]);z=L(M.start),Q=R(me),me===w?(ie=z,m.moveTo(z,Q)):m.lineTo(z,Q),M.end&&(z=L(M.end),m.lineTo(z,Q))}m.stroke(),k==="line-filled"&&(m.lineTo(z,b),m.lineTo(ie,b),m.fillStyle=La(N||Rh),m.fill(),m.closePath());break}case"bar":m.fillStyle=m.strokeStyle;for(let z=w;z<I;z++){let Q=d(i.markerIndexes[z]),ie=L(Q.start),me=R(z);for(;z+1<I;){let M=d(i.markerIndexes[z+1]);if(L(M.start)!==ie||L(M.end||M.start)!==L(Q.end||Q.start))break;Q=M,me=Math.min(me,R(++z))}if(me!==b){let M=Q.end?Math.max(ie+1,L(Q.end)):ie+1;m.fillRect(ie,me,M-ie,b-me)}}break;default:throw new Error("Unsupported type "+k)}}}_scheduleDraw(){if(!this._canvasState.inView){this._canvasState.renderScheduled=!0;return}this._canvasState.renderScheduled=!1,this._requestedAnimationFrame||(this._requestedAnimationFrame=!0,window.requestAnimationFrame(()=>{this._requestedAnimationFrame=!1;let e=this._canvas;e&&ct("TrackCustomMarkerCanvas render",()=>{this.drawCanvas(e)})}))}_takeCanvasRef=e=>{this._canvas=e};_observerCallback=(e,r)=>{this._canvasState.inView=e,this._canvasState.renderScheduled&&this._scheduleDraw()};componentDidMount(){this._scheduleDraw()}componentDidUpdate(){this._scheduleDraw()}render(){return(0,Ln.jsx)(Rn,{onChange:this._observerCallback,children:(0,Ln.jsx)("canvas",{className:"timelineTrackCustomMarkerCanvas",ref:this._takeCanvasRef})})}},GM=class extends $M.PureComponent{state={hoveredCounter:null,mouseX:0,mouseY:0};_onMouseLeave=()=>{window.persistTooltips||this.setState({hoveredCounter:null})};_onMouseMove=e=>{let{pageX:r,pageY:n}=e,{left:o}=e.currentTarget.getBoundingClientRect(),{width:a,rangeStart:i,rangeEnd:s,markerSampleRanges:l,collectedSamples:c,getMarker:d}=this.props,u=s-i,p=i+(r-o)/a*u,m=c.markerIndexes.map(h=>d(h)),f=m.map(h=>h.start);if(f.length===0||p<f[0]||p>f[f.length-1]+(m[f.length-1].end||0))this.setState({hoveredCounter:null});else{let h,[b,g]=l,y=Ae(f,p,b,g);if(y>0&&y<f.length){let v=p-f[y-1],S=f[y]-p,x=m[y-1].end;x&&x>p||v<S?h=y-1:h=y}else h=y;h===f.length&&(h=f.length-1),this.setState({mouseX:r,mouseY:n,hoveredCounter:h})}};_renderTooltip(e){let{collectedSamples:r,rangeStart:n,rangeEnd:o,markerSchema:a,threadIndex:i,getMarker:s}=this.props,{mouseX:l,mouseY:c}=this.state;if(r.numbersPerLine.length===0)throw new Error("No samples for marker "+a.name);let d=r.markerIndexes[e],u=s(d),p=u.start;return(u.end||p)<n||p>o?null:(0,Ln.jsx)(at,{mouseX:l,mouseY:c,children:(0,Ln.jsx)(Nn,{markerIndex:d,marker:u,threadsKey:i,restrictHeightWidth:!0,hideFilterButton:!0})})}_renderDot(e){let{markerSchema:r,rangeStart:n,rangeEnd:o,graphHeight:a,width:i,collectedSamples:s,valueBounds:l,getMarker:c}=this.props,{graphs:d}=r;if(d===void 0)throw new Error("No track config for marker");let u=o-n,p=c(s.markerIndexes[e]),m=p.start;if((p.end||m)<n||m>o)return null;let f=i*(m-n)/u,{minNumber:h,maxNumber:b}=l,{numbersPerLine:g}=s,y=[];for(let v=0;v<d.length;v++){let{type:S,color:x}=d[v],w=g[v],I=X4(S,h,b,w[e]),C=2/2,k=a-C,N=k-I*k-C,O={left:f,top:N};if(O.backgroundColor=Da(x||Rh),p.end){let L=i*(p.end-p.start)/u,F=6;if(L>F){O.marginLeft=0,f<0&&(L+=f,O.left=0,O.borderTopLeftRadius=0,O.borderBottomLeftRadius=0);let R=Math.max(f,0);O.width=Math.min(L,i-R),L>i-R&&(O.borderTopRightRadius=0,O.borderBottomRightRadius=0)}else O.marginLeft=-(F-L)/2}y.push((0,Ln.jsx)("div",{style:O,className:"timelineTrackCustomMarkerGraphDot"},v))}return(0,Ln.jsx)(Ln.Fragment,{children:y})}render(){let{hoveredCounter:e}=this.state,{rangeStart:r,rangeEnd:n,markerSchema:o,markerSampleRanges:a,graphHeight:i,width:s,collectedSamples:l,valueBounds:c,getMarker:d}=this.props;return(0,Ln.jsxs)("div",{className:"timelineTrackCustomMarkerGraph",onMouseMove:this._onMouseMove,onMouseLeave:this._onMouseLeave,children:[(0,Ln.jsx)(UM,{rangeStart:r,rangeEnd:n,markerSchema:o,markerSampleRanges:a,height:i,width:s,collectedSamples:l,valueBounds:c,getMarker:d}),e===null?null:(0,Ln.jsxs)(Ln.Fragment,{children:[this._renderDot(e),this._renderTooltip(e)]})]})}},J4=H({mapStateToProps:(t,e)=>{let{threadIndex:r,markerSchema:n,markerName:o}=e,{start:a,end:i}=de(t),s=gt(r),l=s.getMarkerTrackSelectors(n,o);return{markerSampleRanges:l.getCommittedRangeMarkerSampleRange(t),collectedSamples:l.getCollectedCustomMarkerSamples(t),valueBounds:l.getCommittedRangeMarkerSampleValueBounds(t),rangeStart:a,rangeEnd:i,getMarker:s.getMarkerGetter(t)}},component:He(GM)});var VM=T(E()),zM=class extends Z4.PureComponent{render(){let{markerSchema:e,markerName:r,threadIndex:n}=this.props;return(0,VM.jsx)("div",{className:"timelineTrackCustomMarker",style:{height:25,"--graph-height":`${25}px`},children:(0,VM.jsx)(J4,{threadIndex:n,markerSchema:e,markerName:r,graphHeight:25})})}},Q4=H({mapStateToProps:(t,e)=>{let{start:r,end:n}=de(t);return{rangeStart:r,rangeEnd:n}},component:zM});var mr=T(E()),WM=class extends e6.PureComponent{_onContextMenu=()=>{this.props.changeRightClickedTrack(this._getTrackReference())};_selectCurrentTrack=e=>{this.props.selectTrackWithModifiers(this._getTrackReference(),Md(e))};_getTrackReference(){let{pid:e,trackIndex:r}=this.props;return{type:"local",pid:e,trackIndex:r}}_hideCurrentTrack=e=>{let{pid:r,trackIndex:n,hideLocalTrack:o}=this.props;o(r,n),e.stopPropagation()};renderTrack(){let{localTrack:e,trackName:r}=this.props;switch(e.type){case"thread":return(0,mr.jsx)(CS,{threadsKey:e.threadIndex,trackType:"expanded",trackName:r});case"network":return(0,mr.jsx)(f4,{threadIndex:e.threadIndex});case"memory":return(0,mr.jsx)(b4,{counterIndex:e.counterIndex});case"bandwidth":return(0,mr.jsx)(D4,{counterIndex:e.counterIndex});case"ipc":return(0,mr.jsx)(F4,{threadIndex:e.threadIndex});case"event-delay":return(0,mr.jsx)(ES,{threadIndex:e.threadIndex});case"process-cpu":return(0,mr.jsx)(G4,{counterIndex:e.counterIndex});case"power":return(0,mr.jsx)(Y4,{counterIndex:e.counterIndex});case"marker":return(0,mr.jsx)(Q4,{threadIndex:e.threadIndex,markerSchema:e.markerSchema,markerName:e.markerName});default:return console.error("Unhandled localTrack type",e),null}}componentDidMount(){let{isSelected:e}=this.props;e&&this.props.setIsInitialSelectedPane(!0)}render(){let{isSelected:e,isHidden:r,titleText:n,trackName:o,style:a}=this.props;return r?(0,mr.jsx)("li",{className:"timelineTrackHidden"}):(0,mr.jsx)("li",{className:"timelineTrack timelineTrackLocal",style:a,children:(0,mr.jsxs)(rr,{id:"TimelineTrackContextMenu",renderTag:"div",attributes:{className:(0,t6.default)("timelineTrackRow timelineTrackLocalRow",{selected:e}),onContextMenu:this._onContextMenu},children:[(0,mr.jsxs)("div",{className:"timelineTrackLabel timelineTrackLocalLabel timelineTrackLocalGrippy",title:n,onClick:this._selectCurrentTrack,children:[(0,mr.jsx)("button",{type:"button",className:"timelineTrackNameButton",children:o}),(0,mr.jsx)(P,{id:"TrackNameButton--hide-track",attrs:{title:!0},children:(0,mr.jsx)("button",{type:"button",className:"timelineTrackCloseButton",title:"Hide track",onClick:this._hideCurrentTrack})})]}),(0,mr.jsx)("div",{className:"timelineTrackTrack",onClick:this._selectCurrentTrack,children:this.renderTrack()})]})})}},r6=H({mapStateToProps:(t,{pid:e,localTrack:r,trackIndex:n})=>{let o,a=!1,i=kt(t);switch(r.type){case"thread":{let s=r.threadIndex,l=Oe(t),c=gt(s);a=i.has(s)&&l!=="network-chart",o=c.getThreadProcessDetails(t);break}case"network":{let s=r.threadIndex,l=Oe(t);a=i.has(s)&&l==="network-chart";break}case"marker":case"ipc":{let s=r.threadIndex,l=Oe(t);a=i.has(s)&&l==="marker-chart";break}case"event-delay":{let s=r.threadIndex,l=gt(s);a=i.has(s),o="Event Delay of "+l.getThreadProcessDetails(t);break}case"memory":case"bandwidth":case"process-cpu":case"power":{o=Xt(r.counterIndex).getDescription(t);break}default:throw Y(r,"Unhandled LocalTrack type.")}return{trackName:pC(t,e,n),titleText:o,isSelected:a,isHidden:gs(t,e).has(n)}},mapDispatchToProps:{changeRightClickedTrack:Gl,selectTrackWithModifiers:Od,hideLocalTrack:Wm},component:WM});var o6=T(U());var YM=T(U());var FS=T(Qo());var Qn=T(E()),jM=class extends YM.PureComponent{_canvas=null;_requestedAnimationFrame=!1;drawCanvas(e){let{rangeStart:r,rangeEnd:n,progressGraphData:o,height:a,width:i,lineWidth:s,interval:l}=this.props;if(i===0)return;let c=e.getContext("2d"),d=window.devicePixelRatio,u=i*d,p=a*d,m=s*d,f=m*.5,h=p-m;if(e.width=Math.round(u),e.height=Math.round(p),c.clearRect(0,0,u,p),o.length!==0){let b=n-r;c.lineWidth=m,c.strokeStyle=FS.BLUE_50,c.fillStyle="#0a84ff88",c.beginPath();let g=0,y=0,v=0;for(let S=0;S<o.length;S++){g=u*((o[S].timestamp??0)-r)/b;let x=o[S].percent/100;y=h-h*x+f,S===0?c.moveTo(g,y):(c.lineTo(g,v),c.lineTo(g,y)),v=y}g=u*(n-r)/b,c.lineTo(g,y),c.stroke(),c.lineTo(g+l,p),c.lineTo(u*((o[0].timestamp??0)-r)/b+l,p),c.fill()}}_scheduleDraw(){this._requestedAnimationFrame||(this._requestedAnimationFrame=!0,window.requestAnimationFrame(()=>{this._requestedAnimationFrame=!1;let e=this._canvas;e&&this.drawCanvas(e)}))}_takeCanvasRef=e=>{this._canvas=e};render(){return this._scheduleDraw(),(0,Qn.jsx)("canvas",{className:"timelineTrackVisualProgressCanvas",ref:this._takeCanvasRef})}},KM=class extends YM.PureComponent{state={hoveredVisualProgress:null,mouseX:0,mouseY:0};_onMouseLeave=()=>{this.setState({hoveredVisualProgress:null})};_onMouseMove=e=>{let{pageX:r,pageY:n}=e,{left:o}=e.currentTarget.getBoundingClientRect(),{width:a,rangeStart:i,rangeEnd:s,progressGraphData:l,interval:c}=this.props,d=s-i,u=i+(r-o)/a*d;if(u<(l[0].timestamp??0)||u>(l[l.length-1].timestamp??0)+c)this.setState({hoveredVisualProgress:null});else{let p=l.map(({timestamp:f})=>f??0),m=Ae(p,u);m===l.length&&(m=l.length-1),this.setState({mouseX:r,mouseY:n,hoveredVisualProgress:m})}};_renderTooltip(e){let{progressGraphData:r,graphDotTooltipText:n}=this.props,o=r[e].percent/100;return(0,Qn.jsx)("div",{className:"timelineTrackVisualProgressTooltip",children:(0,Qn.jsxs)("div",{className:"timelineTrackVisualProgressTooltipLine",children:[(0,Qn.jsx)("span",{className:"timelineTrackVisualProgressTooltipNumber",children:Kt(o)}),n]})})}_renderVisualProgressDot(e){let{progressGraphData:r,rangeStart:n,rangeEnd:o,graphHeight:a,width:i,lineWidth:s}=this.props,l=o-n,c=i*((r[e].timestamp??0)-n)/l,d=r[e].percent/100,u=a-s/2,p=u-d*u+s/2;return(0,Qn.jsx)("div",{style:{left:c,top:p,"--dot-color":FS.BLUE_60},className:"timelineTrackVisualProgressGraphDot"})}render(){let{hoveredVisualProgress:e,mouseX:r,mouseY:n}=this.state,{interval:o,rangeStart:a,rangeEnd:i,graphHeight:s,width:l,lineWidth:c,progressGraphData:d}=this.props;return(0,Qn.jsxs)("div",{className:"timelineTrackVisualProgressGraph",onMouseMove:this._onMouseMove,onMouseLeave:this._onMouseLeave,children:[(0,Qn.jsx)(jM,{rangeStart:a,rangeEnd:i,progressGraphData:d,height:s,width:l,lineWidth:c,interval:o}),e===null?null:(0,Qn.jsxs)(Qn.Fragment,{children:[this._renderVisualProgressDot(e),(0,Qn.jsx)(at,{mouseX:r,mouseY:n,children:this._renderTooltip(e)})]})]})}},n6=H({mapStateToProps:t=>{let{start:e,end:r}=de(t);return{rangeStart:e,rangeEnd:r,interval:ot(t)}},component:He(KM)});var XM=T(E()),qM=class extends o6.PureComponent{render(){let{progressGraphData:e,graphDotTooltipText:r}=this.props;return(0,XM.jsx)("div",{className:"timelineTrackVisualProgress",style:{height:40,"--graph-height":`${40}px`},children:(0,XM.jsx)(n6,{progressGraphData:e,lineWidth:2,graphHeight:40,graphDotTooltipText:r})})}},BS=H({mapStateToProps:t=>{let{start:e,end:r}=de(t);return{rangeStart:e,rangeEnd:r}},mapDispatchToProps:{updatePreviewSelection:dt},component:qM});var $u=T(U()),l6=T(sx()),c6=T(i6());function Co(t,e){let r=window.getComputedStyle;return parseFloat(r(t).getPropertyValue(e))||0}function Mle(t,e){let r=Co(t,"border-top-width"),n=Co(t,"border-right-width"),o=Co(t,"border-bottom-width"),a=Co(t,"border-left-width");return new DOMRect(e.left+a,e.top+r,e.width-a-n,e.height-r-o)}function Lle(t,e){let r=Co(t,"padding-top"),n=Co(t,"padding-right"),o=Co(t,"padding-bottom"),a=Co(t,"padding-left");return new DOMRect(e.left+a,e.top+r,e.width-a-n,e.height-r-o)}function Dle(t,e){let r=Co(t,"margin-top"),n=Co(t,"margin-right"),o=Co(t,"margin-bottom"),a=Co(t,"margin-left");return new DOMRect(e.left-a,e.top-r,e.width+a+n,e.height+r+o)}function ch(t){let e=t.getClientRects();if(e.length!==1)return new DOMRect(0,0,0,0);let r=e[0];return Lle(t,Mle(t,s6(r)))}function s6(t){return new DOMRect(t.left,t.top,t.width,t.height)}function dh(t){let e=t.getClientRects();return e.length!==1?new DOMRect(0,0,0,0):Dle(t,s6(e[0]))}function sn(t,e){return t[e]}var ZM=T(E()),Gu=class extends $u.PureComponent{_xy={horizontal:{pageXY:"pageX",translateXY:"translateX",lefttop:"left",rightbottom:"right"},vertical:{pageXY:"pageY",translateXY:"translateY",lefttop:"top",rightbottom:"bottom"}};state={phase:"RESTING",manipulatingIndex:-1,destinationIndex:-1,manipulationDelta:0,adjustPrecedingBy:0,adjustSucceedingBy:0,finalOffset:0};_onMouseDown=e=>{let r=e.currentTarget;if(e.target===r||!(e.target instanceof HTMLElement)||e.button!==0)return;let n=e.target,{grippyClassName:o}=this.props;if(n.matches(`.${o}, .${o} *`)){for(;n instanceof HTMLElement&&n.parentNode!==r;)n=n.parentNode;n instanceof HTMLElement&&this._startDraggingElement(r,n,e)}};_getXY(){return this._xy[this.props.orient]}_startDraggingElement(e,r,n){let o=this._getXY(),a=n[o.pageXY],i=dh(r),s=ch(e),l=sn(i,o.lefttop)-sn(s,o.lefttop),c=sn(s,o.rightbottom)-sn(i,o.rightbottom),d=Array.from(e.children);if(d.length<2)return;let u=!0,p=-1,m=d.map((v,S)=>{if(v===r)return p=S,u=!1,0;let x=dh(v);return u?sn(x,o.lefttop)-sn(i,o.lefttop):sn(x,o.rightbottom)-sn(i,o.rightbottom)});if(p===-1)return;let f=m.map((v,S)=>S===m.length-1?0:(m[S+1]+v)/2);f.pop();let h=p===d.length-1?sn(s,o.rightbottom):sn(dh(d[p+1]),o.lefttop),b=p===0?sn(s,o.lefttop):sn(dh(d[p-1]),o.rightbottom);this.setState({manipulatingIndex:p,manipulationDelta:0,destinationIndex:p,adjustPrecedingBy:h-sn(i,o.lefttop),adjustSucceedingBy:b-sn(i,o.rightbottom)});let g=v=>{this.state.phase==="RESTING"&&this.setState({phase:"MANIPULATING"});let S=(0,l6.default)(v[o.pageXY]-a,-l,c);this.setState({manipulationDelta:S,destinationIndex:Ae(f,S)})},y=v=>{if(window.removeEventListener("mousemove",g,!0),window.removeEventListener("mouseup",y,!0),this.state.phase==="RESTING")return;g(v);let S=this.state.destinationIndex;this.setState({phase:"FINISHING",finalOffset:m[S]}),setTimeout(()=>{if(this.setState({phase:"RESTING"}),p!==S){let x=(0,c6.default)(this.props.order,p,S);this.props.onChangeOrder(x)}},200)};window.addEventListener("mousemove",g,!0),window.addEventListener("mouseup",y,!0)}render(){let{className:e,order:r,innerElementRef:n}=this.props,o=$u.Children.toArray(this.props.children),a=r.map(m=>o[m]),i=this.props.tagName,s=this._getXY();if(this.state.phase==="RESTING")return(0,ZM.jsx)(i,{className:e,onMouseDown:this._onMouseDown,ref:n,children:a});let{phase:l,manipulatingIndex:c,destinationIndex:d,adjustPrecedingBy:u,adjustSucceedingBy:p}=this.state;return(0,ZM.jsx)(i,{className:e,ref:n,children:a.map((m,f)=>{let h={transition:"200ms ease-in-out transform",willChange:"transform",position:"relative",zIndex:1,transform:""};return f===c?(h.zIndex=2,l==="MANIPULATING"?(delete h.transition,h.transform=`${s.translateXY}(${this.state.manipulationDelta}px)`):h.transform=`${s.translateXY}(${this.state.finalOffset}px)`):f<c&&f>=d?h.transform=`${s.translateXY}(${u}px)`:f>c&&f<=d&&(h.transform=`${s.translateXY}(${p}px)`),$u.cloneElement(m,{style:h})})})}};var fr=T(E()),QM=class extends d6.PureComponent{_container=null;_isInitialSelectedPane=null;_onContextMenu=()=>{let{changeRightClickedTrack:e,trackReference:r}=this.props;e(r)};_selectCurrentTrack=e=>{let{selectTrackWithModifiers:r,trackReference:n}=this.props;r(n,Md(e))};_hideCurrentTrack=e=>{let{trackIndex:r,hideGlobalTrack:n}=this.props;n(r),e.stopPropagation()};renderTrack(){let{globalTrack:e,processesWithMemoryTrack:r,progressGraphData:n,trackName:o}=this.props;switch(e.type){case"process":{let{mainThreadIndex:a}=e;return a===null?(0,fr.jsx)("div",{className:"timelineTrackThreadBlank",style:{"--timeline-track-thread-blank-height":`${30}px`}}):(0,fr.jsx)(CS,{threadsKey:a,showMemoryMarkers:!r.has(e.pid),trackType:"expanded",trackName:o})}case"screenshots":{let{threadIndex:a,id:i}=e;return(0,fr.jsx)(l4,{threadIndex:a,windowId:i})}case"visual-progress":{if(!n)throw new Error("Visual progress graph data is missing");return(0,fr.jsx)(BS,{progressGraphData:n,graphDotTooltipText:" visual completeness at this time"})}case"perceptual-visual-progress":{if(!n)throw new Error("Perceptual visual progress graph data is missing");return(0,fr.jsx)(BS,{progressGraphData:n,graphDotTooltipText:" perceptual visual completeness at this time"})}case"contentful-visual-progress":{if(!n)throw new Error("Contentful visual progress graph data is missing");return(0,fr.jsx)(BS,{progressGraphData:n,graphDotTooltipText:" contentful visual completeness at this time"})}default:return console.error("Unhandled globalTrack type",e),null}}_changeLocalTrackOrder=e=>{let{globalTrack:r,changeLocalTrackOrder:n}=this.props;r.type==="process"&&n(r.pid,e)};renderLocalTracks(e){let{localTracks:r,localTrackOrder:n}=this.props;return(0,fr.jsx)(Gu,{tagName:"ol",className:"timelineTrackLocalTracks",order:n,orient:"vertical",grippyClassName:"timelineTrackLocalGrippy",onChangeOrder:this._changeLocalTrackOrder,children:r.map((o,a)=>(0,fr.jsx)(r6,{pid:e,localTrack:o,trackIndex:a,setIsInitialSelectedPane:this.setIsInitialSelectedPane},a))})}_takeContainerRef=e=>{let{isSelected:r}=this.props;this._container=e,r&&this.setIsInitialSelectedPane(!0)};setIsInitialSelectedPane=e=>{this._isInitialSelectedPane=e};componentDidMount(){this._isInitialSelectedPane&&this._container!==null&&this.props.setInitialSelected(this._container)}render(){let{isSelected:e,isHidden:r,titleText:n,trackName:o,style:a,localTracks:i,pid:s,globalTrack:l,totalTrackCount:c}=this.props;return r?(0,fr.jsx)("li",{className:"timelineTrackHidden"}):(0,fr.jsxs)("li",{ref:this._takeContainerRef,className:"timelineTrack",style:a,children:[(0,fr.jsxs)(rr,{id:"TimelineTrackContextMenu",renderTag:"div",attributes:{className:(0,u6.default)("timelineTrackRow timelineTrackGlobalRow",{selected:e}),onContextMenu:this._onContextMenu},children:[(0,fr.jsxs)("div",{className:"timelineTrackLabel timelineTrackGlobalGrippy",title:n,onClick:this._selectCurrentTrack,children:[(0,fr.jsxs)("button",{type:"button",className:"timelineTrackNameButton",children:[o,s!==null&&s!=="0"&&l.type==="process"&&l.mainThreadIndex!==null?(0,fr.jsxs)("div",{className:"timelineTrackNameButtonAdditionalDetails",children:["PID: ",s]}):null]}),c>1?(0,fr.jsx)(P,{id:"TrackNameButton--hide-process",attrs:{title:!0},children:(0,fr.jsx)("button",{type:"button",className:"timelineTrackCloseButton",title:"Hide process",onClick:this._hideCurrentTrack})}):null]}),(0,fr.jsx)("div",{className:"timelineTrackTrack",onClick:this._selectCurrentTrack,children:this.renderTrack()})]}),i.length>0&&s!==null?this.renderLocalTracks(s):null]})}},Ale=[],Ole=[],p6=H({mapStateToProps:(t,{trackIndex:e})=>{let r=ft(t),n=r[e],o=Oe(t),a=null,i=!1,s,l=Ale,c=Ole,d=null,u=null;switch(n.type){case"process":{if(n.mainThreadIndex!==null){a=n.mainThreadIndex;let p=gt(a);i=kt(t).has(a)&&o!=="network-chart",s=p.getThreadProcessDetails(t)}d=n.pid,l=li(t,d),c=fo(t,d);break}case"screenshots":break;case"visual-progress":s="Visual Progress",u=ZI(t);break;case"perceptual-visual-progress":s="Perceptual Visual Progress",u=QI(t);break;case"contentful-visual-progress":s="Contentful Visual Progress",u=eC(t);break;default:throw new Error(`Unhandled GlobalTrack type ${n}`)}return{trackName:uC(t,e),titleText:s,globalTrack:n,isSelected:i,localTrackOrder:l,localTracks:c,pid:d,isHidden:lr(t).has(e),selectedTab:o,processesWithMemoryTrack:cC(t),progressGraphData:u,totalTrackCount:r.length}},mapDispatchToProps:{changeRightClickedTrack:Gl,changeLocalTrackOrder:jP,selectTrackWithModifiers:Od,hideGlobalTrack:$l},component:QM});var m6=T(U());var uh=T(E()),HS=class extends m6.PureComponent{_pickNotchLength(e,r){return e==="bytes"?z1(r):V1(r)}_getNotches(){if(this.props.width===0)return{notches:[],notchTime:0,unit:"ms"};let{zeroAt:e,rangeStart:r,rangeEnd:n,width:o,unit:a}=this.props,i=o/(n-r),l=55/i,c=this._pickNotchLength(a,l),d=Math.ceil((r-e)/c),u=Math.floor((n-e)/c),p=[];for(let m=d;m<=u;m++)p.push({time:m*c,pos:(m*c-(r-e))*i});return{notches:p,notchTime:c,unit:a}}render(){let{notches:e,notchTime:r,unit:n}=this._getNotches();return(0,uh.jsx)("div",{className:"timelineRuler",style:{"--timeline-ruler-height":`${20}px`},children:(0,uh.jsx)("ol",{className:"timelineRulerContainer",children:e.map(({time:o,pos:a},i)=>(0,uh.jsx)("li",{className:"timelineRulerNotch",style:{left:`${a}px`},children:(0,uh.jsx)("span",{className:"timelineRulerNotchText",children:n==="bytes"?Ue(o,3,2,r):Yt(o,2,2,r)})},i))})})}};var g6=T(U()),ph=T(sx());var mh=T(xe());var f6=T(U()),h6=T(E()),zu=class extends f6.PureComponent{_container=null;_handlers=null;state={dragging:!1};_takeContainerRef=e=>{this._container=e};_onMouseDown=e=>{if(!this._container||e.button!==0)return;e.stopPropagation(),e.preventDefault(),this.setState({dragging:!0});let r=e.pageX,n=e.pageY,o=this.props.value,a=s=>{this.props.onMove(o,s.pageX-r,s.pageY-n,!0),s.preventDefault()},i=s=>{this.props.onMove(o,s.pageX-r,s.pageY-n,!1),s.stopPropagation(),s.preventDefault(),this._uninstallMoveAndUpHandlers(),this.setState({dragging:!1})};this._installMoveAndUpHandlers(a,i)};_installMoveAndUpHandlers(e,r){this._uninstallMoveAndUpHandlers(),this._handlers={mouseMoveHandler:e,mouseUpHandler:r},window.addEventListener("mousemove",e,!0),window.addEventListener("mouseup",r,!0)}_uninstallMoveAndUpHandlers(){if(this._handlers){let{mouseMoveHandler:e,mouseUpHandler:r}=this._handlers;window.removeEventListener("mousemove",e,!0),window.removeEventListener("mouseup",r,!0),this._handlers=null}}componentWillUnmount(){this._uninstallMoveAndUpHandlers()}render(){let{children:e,className:r}=this.props;return(0,h6.jsx)("div",{className:this.state.dragging?r+" dragging":r,onMouseDown:this._onMouseDown,ref:this._takeContainerRef,children:e})}};var Kr=T(E()),eL=class extends g6.PureComponent{_handlers=null;_container=null;_containerCreated=e=>{this._container=e};_onMouseDown=e=>{if(!this._container||e.button!==0||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;let r=ch(this._container);if(e.pageX<r.left||e.pageX>=r.right||e.pageY<r.top||e.pageY>=r.bottom)return;e.preventDefault();let{committedRange:n}=this.props,o=3,a=e.pageX,i=(a-r.left)/r.width*(n.end-n.start)+n.start,s=!1,l=u=>{let m=(u.pageX-r.left)/r.width*(n.end-n.start)+n.start,f=(0,ph.default)(Math.min(i,m),n.start,n.end),h=(0,ph.default)(Math.max(i,m),n.start,n.end);return{selectionStart:f,selectionEnd:h}},c=u=>{if(!((u.buttons&1)>0)){let{previewSelection:m}=this.props;if(s=!1,this._uninstallMoveAndClickHandlers(),m){let{selectionStart:f,selectionEnd:h}=m;this.props.updatePreviewSelection({selectionStart:f,selectionEnd:h,isModifying:!1})}return}if(s||Math.abs(u.pageX-a)>=o){s=!0;let{selectionStart:m,selectionEnd:f}=l(u);this.props.updatePreviewSelection({selectionStart:m,selectionEnd:f,isModifying:!0})}},d=u=>{if(s){let{selectionStart:m,selectionEnd:f}=l(u);this.props.updatePreviewSelection({selectionStart:m,selectionEnd:f,isModifying:!1}),u.stopPropagation(),this._uninstallMoveAndClickHandlers();return}let{previewSelection:p}=this.props;if(p){let m=(u.pageX-r.left)/r.width*(n.end-n.start)+n.start,{selectionStart:f,selectionEnd:h}=p;(m<f||m>=h)&&(u.stopPropagation(),this.props.updatePreviewSelection(null))}this._uninstallMoveAndClickHandlers()};this._installMoveAndClickHandlers(c,d)};_installMoveAndClickHandlers(e,r){this._uninstallMoveAndClickHandlers(),this._handlers={mouseMoveHandler:e,mouseClickHandler:r},window.addEventListener("mousemove",e,!0),window.addEventListener("click",r,!0)}_uninstallMoveAndClickHandlers(){if(this._handlers){let{mouseMoveHandler:e,mouseClickHandler:r}=this._handlers;window.removeEventListener("mousemove",e,!0),window.removeEventListener("click",r,!0),this._handlers=null}}_onMouseMove=e=>{if(!this._container)return;let{width:r,committedRange:n,changeMouseTimePosition:o}=this.props;if(r===0)return;let a=ch(this._container);if(e.pageX<a.left||e.pageX>=a.right||e.pageY<a.top||e.pageY>=a.bottom)o(null);else{let i=e.pageX-a.left,s=(n.end-n.start)*i/r+n.start;o(s)}};_onMouseLeave=()=>{this.props.changeMouseTimePosition(null)};_makeOnMove=e=>(r,n,o,a)=>{this._onMove(r,e,n,a)};_onMove(e,r,n,o){let{committedRange:a,width:i,updatePreviewSelection:s}=this.props,l=n/i*(a.end-a.start),c=r(l),d=(0,ph.default)(e.selectionStart+c.startDelta,a.start,a.end),u=(0,ph.default)(e.selectionEnd+c.endDelta,a.start,a.end),p=o&&!!c.startDelta,m=o&&!!c.endDelta;d>u&&([d,u]=[u,d],[p,m]=[m,p]),s({isModifying:o,selectionStart:d,selectionEnd:u,draggingStart:p,draggingEnd:m})}_rangeStartOnMove=this._makeOnMove(e=>({startDelta:e,endDelta:0}));_moveRangeOnMove=this._makeOnMove(e=>({startDelta:e,endDelta:e}));_rangeEndOnMove=this._makeOnMove(e=>({startDelta:0,endDelta:e}));_zoomButtonOnMouseDown=e=>{e.stopPropagation()};_zoomButtonOnClick=e=>{e.stopPropagation();let{previewSelection:r,zeroAt:n,commitRange:o}=this.props;r&&o(r.selectionStart-n,r.selectionEnd-n)};renderSelectionOverlay(e){let{committedRange:r,width:n,profileTimelineUnit:o}=this.props,{selectionStart:a,selectionEnd:i}=e;if(!Number.isFinite(a)||!Number.isFinite(i))return null;let s=(a-r.start)/(r.end-r.start)*n,l=(i-a)/(r.end-r.start)*n;return(0,Kr.jsxs)("div",{className:"timelineSelectionOverlay",children:[(0,Kr.jsx)("div",{className:"timelineSelectionDimmerBefore",style:{width:`${s}px`}}),(0,Kr.jsxs)("div",{className:"timelineSelectionOverlayWrapper",children:[(0,Kr.jsxs)("div",{className:(0,mh.default)("timelineSelectionGrippy",{draggingStart:e.draggingStart,draggingEnd:e.draggingEnd}),style:{width:`${l}px`},children:[(0,Kr.jsx)(zu,{className:"timelineSelectionGrippyRangeStart",value:e,onMove:this._rangeStartOnMove}),(0,Kr.jsx)(zu,{className:"timelineSelectionGrippyMoveRange",value:e,onMove:this._moveRangeOnMove}),(0,Kr.jsx)(zu,{className:"timelineSelectionGrippyRangeEnd",value:e,onMove:this._rangeEndOnMove})]}),(0,Kr.jsxs)("div",{className:"timelineSelectionOverlayInner",children:[(0,Kr.jsx)("span",{className:(0,mh.default)("timelineSelectionOverlayRange",{hidden:!e.isModifying}),children:Fo(i-a,o)}),(0,Kr.jsx)("button",{className:(0,mh.default)("timelineSelectionOverlayZoomButton",{hidden:e.isModifying}),type:"button",onMouseDown:this._zoomButtonOnMouseDown,onClick:this._zoomButtonOnClick})]})]}),(0,Kr.jsx)("div",{className:"timelineSelectionDimmerAfter"})]})}render(){let{children:e,previewSelection:r,className:n,mouseTimePosition:o,width:a,committedRange:i,zeroAt:s,profileTimelineUnit:l}=this.props,c=null;o!==null&&(c=a*(o-i.start)/(i.end-i.start));let d=null;return o!==null&&Number.isFinite(o)&&(d=Fo(o-s,l,(i.end-i.start)/a)),(0,Kr.jsxs)("div",{className:(0,mh.default)("timelineSelection",n),ref:this._containerCreated,onMouseDown:this._onMouseDown,onMouseMove:this._onMouseMove,onMouseLeave:this._onMouseLeave,children:[e,r?this.renderSelectionOverlay(r):null,(0,Kr.jsx)("div",{className:"timelineSelectionHoverLine",style:{visibility:r?.isModifying||c===null||isNaN(c)?"hidden":void 0,left:c===null?"0":`${c}px`},children:(0,Kr.jsx)("span",{className:"timelineSelectionOverlayTime",children:d})})]})}},y6=H({mapStateToProps:t=>({previewSelection:mt(t),committedRange:de(t),zeroAt:Vr(t),profileTimelineUnit:vn(t),mouseTimePosition:qI(t)}),mapDispatchToProps:{updatePreviewSelection:dt,commitRange:n0,changeMouseTimePosition:mi},component:eL});var b6=T(U()),tL=T(xe());var Fi=T(E()),US=class extends b6.PureComponent{_container=null;_contentsWrapper=null;_scrolledToInitialSelected=!1;state={overflowsOnTop:!1,overflowsOnRight:!1,overflowsOnBottom:!1,overflowsOnLeft:!1};_takeContainerRef=e=>{this._container=e};_takeContainerWrapperRef=e=>{this._contentsWrapper=e};_onScroll=()=>{this._updateIndicatorStatus()};componentDidMount(){this._updateIndicatorStatus()}componentDidUpdate(e){this._updateIndicatorStatus();let{initialSelected:r,forceLayoutGeneration:n}=this.props,o=this._container;if(n!==void 0&&n!==e.forceLayoutGeneration&&r&&o!==null){let a=r.offsetTop+r.offsetHeight,i=o.offsetTop+o.offsetHeight;a>i&&(o.scrollTop=r.offsetTop)}!this._scrolledToInitialSelected&&r&&this._container&&(this._container.scrollTop=r.offsetTop,this._scrolledToInitialSelected=!0)}_updateIndicatorStatus(){let e=this._container,r=this._contentsWrapper;if(e&&r){let n=e.getBoundingClientRect(),o=r.getBoundingClientRect(),a=1/window.devicePixelRatio;this.setState({overflowsOnTop:o.top<=n.top-a,overflowsOnRight:o.right>=n.right+a,overflowsOnBottom:o.bottom>=n.bottom+a,overflowsOnLeft:o.left<=n.left-a})}}render(){let{className:e,children:r}=this.props;return(0,Fi.jsxs)("div",{className:(0,tL.default)("overflowEdgeIndicator",e,this.state),children:[(0,Fi.jsx)("div",{className:"overflowEdgeIndicatorEdge topEdge"}),(0,Fi.jsx)("div",{className:"overflowEdgeIndicatorEdge rightEdge"}),(0,Fi.jsx)("div",{className:"overflowEdgeIndicatorEdge bottomEdge"}),(0,Fi.jsx)("div",{className:"overflowEdgeIndicatorEdge leftEdge"}),(0,Fi.jsx)("div",{className:(0,tL.default)("overflowEdgeIndicatorScrollbox",`${e}Scrollbox`),onScroll:this._onScroll,ref:this._takeContainerRef,children:(0,Fi.jsx)("div",{className:"overflowEdgeIndicatorContentsWrapper",ref:this._takeContainerWrapperRef,children:r})})]})}};var Wu=T(U());var $S=T(U()),v6=T(xe());var Vu=T(E()),GS=class extends $S.PureComponent{searchFieldInput=$S.createRef();_onSearchFieldChange=e=>{this.props.onSearch(e.currentTarget.value)};focus=()=>{this.searchFieldInput.current&&this.searchFieldInput.current.focus()};_onFormSubmit(e){e.preventDefault()}_onClearButtonClick=()=>{this.searchFieldInput.current&&this.searchFieldInput.current.focus(),this.props.onSearch("")};render(){let{currentSearchString:e,className:r}=this.props;return(0,Vu.jsxs)("form",{className:(0,v6.default)("trackSearchField",r),onSubmit:this._onFormSubmit,children:[(0,Vu.jsx)(P,{id:"TrackSearchField--search-input",attrs:{placeholder:!0,title:!0},children:(0,Vu.jsx)("input",{type:"search",name:"search",placeholder:"Enter filter terms",className:"trackSearchFieldInput photon-input",required:!0,title:"Only display tracks that match a certain text",value:e,onChange:this._onSearchFieldChange,ref:this.searchFieldInput,autoComplete:"off"})}),(0,Vu.jsx)("input",{type:"reset",className:"trackSearchFieldButton",onClick:this._onClearButtonClick,tabIndex:-1})]})}};var zS=class extends ws{hideMenu=e=>{e.keyCode===27&&Yn()}};var rL=T(xe());var ke=T(E()),nL=class extends Wu.PureComponent{state={searchFilter:""};_globalTrackClickTimeout=null;_trackSearchFieldElem=Wu.default.createRef();_showAllTracks=()=>{let{showAllTracks:e}=this.props;e()};_showMatchingTracks=()=>{let{showProvidedTracks:e,globalTracks:r,globalTrackNames:n,localTracksByPid:o,localTrackNamesByPid:a,threads:i}=this.props,{searchFilter:s}=this.state,l=rb(r,n,i,s),c=nb(o,a,i,s);if(l===null||c===null)return;let d=new Map(c);for(let u of l){let p=r[u];if(p.type!=="process"||!p.pid)continue;let m=$(o.get(p.pid),"Expected to find local tracks for the given pid"),f=d.get(p.pid);(f===void 0||m.length!==f.size)&&d.set(p.pid,new Set(m.keys()))}e(l,d)};_hideMatchedTracks=()=>{let{globalTracks:e,globalTrackNames:r,localTracksByPid:n,localTrackNamesByPid:o,threads:a,hideProvidedTracks:i}=this.props,{searchFilter:s}=this.state,l=rb(e,r,a,s),c=nb(n,o,a,s);if(l===null||c===null){console.warn("Unexpected null search filtered tracks");return}i(l,c)};_hideRightClickedTrack=()=>{let{rightClickedTrack:e,hideLocalTrack:r,hideGlobalTrack:n}=this.props;if(e!==null){if(e.type==="global"){n(e.trackIndex);return}r(e.pid,e.trackIndex)}};_toggleGlobalTrackVisibility=(e,r)=>{let{trackIndex:n}=r,{hiddenGlobalTracks:o,hideGlobalTrack:a,showGlobalTrack:i,globalTracks:s}=this.props;if(!(e.detail>2)){if(e.detail===2){this._globalTrackClickTimeout!==null&&clearTimeout(this._globalTrackClickTimeout),this._globalTrackClickTimeout=null;let l=s[n];if(l.type==="process"){this._showLocalTracksInProcess(e,{trackIndex:n,pid:l.pid});return}}this._globalTrackClickTimeout=setTimeout(()=>{o.has(n)?i(n):a(n)},150)}};_toggleLocalTrackVisibility=(e,r)=>{let{trackIndex:n,pid:o,globalTrackIndex:a}=r,{hiddenLocalTracksByPid:i,hideLocalTrack:s,showLocalTrack:l,hiddenGlobalTracks:c,showGlobalTrack:d,localTrackOrderByPid:u}=this.props,p=$(i.get(o),"Expected to find hidden local tracks for the given pid");c.has(a)?(d(a),$(u.get(o),"Expected to find local tracks for the given pid").forEach(f=>{f===n?l(o,n):s(o,f)})):p.has(n)?l(o,n):s(o,n)};_getRightClickedTrackType=()=>{let{rightClickedTrack:e,localTracksByPid:r,globalTracks:n}=this.props;if(e===null)throw new Error("Attempted to get the track type with no right clicked track.");let o;switch(e.type){case"local":{o=$(r.get(e.pid))[e.trackIndex];break}case"global":o=n[e.trackIndex];break;default:throw Y(e)}return o.type};_hideTracksByType=e=>{let{rightClickedTrack:r,globalTracks:n,localTracksByPid:o,hideProvidedTracks:a}=this.props;if(r===null)throw new Error("Attempted to hide tracks by type with no right clicked track.");let i=this._getRightClickedTrackType(),s=JH(n,i),l=ZH(o,i);if(s===null||l===null){console.warn("Unexpected null type filtered tracks");return}a(s,l)};_isolateProcess=()=>{let{isolateProcess:e,rightClickedTrack:r}=this.props;if(r===null)throw new Error("Attempted to isolate the process with no right clicked track.");if(r.type==="local")throw new Error("Attempting to isolate a process track with a local track is selected.");e(r.trackIndex)};_isolateScreenshot=()=>{let{isolateScreenshot:e,rightClickedTrack:r}=this.props;if(r===null)throw new Error("Attempted to isolate the screenshot with no right clicked track.");if(r.type!=="global")throw new Error("Attempting to isolate a screenshot track with a local track is selected.");e(r.trackIndex)};_isolateProcessMainThread=()=>{let{isolateProcessMainThread:e,rightClickedTrack:r}=this.props;if(r===null)throw new Error("Attempted to isolate the process main thread with no right clicked track.");if(r.type==="local")throw new Error("Attempting to isolate a process track with a local track is selected.");e(r.trackIndex)};_isolateLocalTrack=()=>{let{isolateLocalTrack:e,rightClickedTrack:r}=this.props;if(r===null)throw new Error("Attempted to isolate the local track with no right clicked track.");if(r.type==="global")throw new Error("Attempting to isolate a local track with a global track is selected.");let{pid:n,trackIndex:o}=r;e(n,o)};_showLocalTracksInProcess=(e,r)=>{let{trackIndex:n,pid:o}=r,{showGlobalTrackIncludingLocalTracks:a}=this.props;a(n,o)};_globalTrackHasSearchFilterMatchedChildren(e,r){if(!("pid"in e)||!e.pid||r===null)return!1;let n=r.get(e.pid);return n?n.size!==0:!1}renderGlobalTrack(e,r,n){let{hiddenGlobalTracks:o,globalTrackNames:a,globalTracks:i}=this.props,s=o.has(e),l=i[e],c=this._globalTrackHasSearchFilterMatchedChildren(l,n),d=r&&!r.has(e);if(d&&!c)return null;let u=r!==null&&!d,p=`${a[e]}`;l.type==="process"&&(p+=` (Process ID: ${l.pid})`);let m=be;return(0,ke.jsxs)(Wu.default.Fragment,{children:[(0,ke.jsxs)(m,{preventClose:!0,data:{trackIndex:e},onClick:this._toggleGlobalTrackVisibility,role:"menuitemcheckbox",attributes:{className:(0,rL.default)("timelineTrackContextMenuItem",{checkable:!0,checked:!s}),title:p,"aria-checked":s?"false":"true"},children:[(0,ke.jsx)("span",{children:a[e]}),(0,ke.jsx)("span",{className:"timelineTrackContextMenuSpacer"}),l.type==="process"&&(0,ke.jsxs)("span",{className:"timelineTrackContextMenuPid",children:["(",l.pid,")"]})]}),l.type==="process"?this.renderLocalTracks(e,l.pid,u,n):null]},e)}renderLocalTracks(e,r,n,o){let{hiddenLocalTracksByPid:a,localTrackOrderByPid:i,localTrackNamesByPid:s,hiddenGlobalTracks:l,localTracksByPid:c}=this.props,d=l.has(e),u=i.get(r),p=a.get(r),m=s.get(r),f=c.get(r),h=null;if(o!==null&&!n&&(h=o.get(r)),u===void 0||p===void 0||m===void 0||f===void 0)return console.error("Unable to find local track information for the given pid:",r),null;let b=[];for(let g of u){if(h&&!h.has(g))continue;let y=!p.has(g)&&!d,v=be;b.push((0,ke.jsx)(v,{preventClose:!0,data:{pid:r,trackIndex:g,globalTrackIndex:e},onClick:this._toggleLocalTrackVisibility,role:"menuitemcheckbox",attributes:{className:(0,rL.default)("checkable indented",{checked:y}),"aria-checked":y?"true":"false"},children:m[g]},g))}return b}getRightClickedTrackName(e){let{globalTrackNames:r,localTrackNamesByPid:n}=this.props;if(e.type==="global")return r[e.trackIndex];let o=n.get(e.pid);return o===void 0?(console.error("Expected to find a local track name for the given pid."),"Unknown Track"):o[e.trackIndex]}renderIsolateProcess(){let{rightClickedTrack:e,globalTracks:r,globalTrackOrder:n,hiddenGlobalTracks:o,hiddenLocalTracksByPid:a,localTracksByPid:i}=this.props;if(e===null||e.type!=="global"||r.length===1)return null;let s=r[e.trackIndex];if(s.type!=="process")return null;let l=o.size===n.length-1;if(!l&&s.mainThreadIndex===null){let c=i.get(s.pid),d=a.get(s.pid);if(c===void 0||d===void 0)return console.error("Local track information for the given pid."),null;let u=!1;for(let p=0;p<c.length;p++)if(c[p].type==="thread"&&!d.has(p)){u=!0;break}u||(l=!0)}return(0,ke.jsx)(be,{onClick:this._isolateProcess,disabled:l,children:(0,ke.jsx)(P,{id:"TrackContextMenu--only-show-this-process",children:"Only show this process"})})}renderIsolateProcessMainThread(){let{rightClickedTrack:e,globalTracks:r,hiddenGlobalTracks:n,hiddenLocalTracksByPid:o,localTrackOrderByPid:a}=this.props;if(e===null||e.type!=="global")return null;let i=r[e.trackIndex];if(i.type!=="process"||i.mainThreadIndex===null)return null;let s=o.get(i.pid),l=a.get(i.pid);if(s===void 0||l===void 0)return console.error("Expected to find local track information for the given pid."),null;let c=s.size===l.length&&r.length-n.size===1,d=this.getRightClickedTrackName(e);return(0,ke.jsx)(be,{onClick:this._isolateProcessMainThread,disabled:c,children:(0,ke.jsx)(P,{id:"TrackContextMenu--only-show-track",vars:{trackName:d},children:(0,ke.jsxs)(ke.Fragment,{children:["Only show ",`\u201C${d}\u201D`]})})})}renderIsolateLocalTrack(){let{rightClickedTrack:e,globalTracks:r,hiddenGlobalTracks:n,hiddenLocalTracksByPid:o,localTrackOrderByPid:a}=this.props;if(e===null||e.type==="global")return null;let i=o.get(e.pid),s=a.get(e.pid);if(i===void 0||s===void 0)return console.error("Expected to find local track information for the given pid."),null;let l=r.length-n.size===1&&s.length-i.size===1,c=this.getRightClickedTrackName(e);return(0,ke.jsx)(be,{onClick:this._isolateLocalTrack,disabled:l,children:(0,ke.jsx)(P,{id:"TrackContextMenu--only-show-track",vars:{trackName:c},children:(0,ke.jsxs)(ke.Fragment,{children:["Only show ","\u201CrightClickedTrackName}\u201D"]})})})}renderShowLocalTracksInThisProcess(){let{rightClickedTrack:e,globalTracks:r,localTracksByPid:n,hiddenLocalTracksByPid:o}=this.props;if(e===null)return null;let{trackIndex:a}=e,i;if(e.type==="global"){let d=r[a];if(!d||d.type!=="process")return null;i=d.pid}else i=e.pid;let s=n.get(i);if(!s||!s.length)return null;let l=o.get(i),c=!l||l.size===0;return(0,ke.jsx)(be,{onClick:this._showLocalTracksInProcess,disabled:c,data:{trackIndex:a,pid:i},children:(0,ke.jsx)(P,{id:"TrackContextMenu--show-local-tracks-in-process",children:"Show all tracks in this process"})})}getVisibleScreenshotTracks(){let{globalTracks:e,hiddenGlobalTracks:r}=this.props;return e.filter((o,a)=>o.type==="screenshots"&&!r.has(a))}renderIsolateScreenshot(){let{rightClickedTrack:e,globalTracks:r}=this.props;if(e===null||e.type!=="global"||r[e.trackIndex].type!=="screenshots")return null;let o=this.getVisibleScreenshotTracks().length<=1;return(0,ke.jsx)(be,{onClick:this._isolateScreenshot,disabled:o,children:(0,ke.jsx)(P,{id:"TrackContextMenu--hide-other-screenshots-tracks",children:"Hide other Screenshots tracks"})})}renderHideTrack(){let{rightClickedTrack:e}=this.props;if(e===null)return null;let r=e.trackIndex,n=this.getRightClickedTrackName(e);return(0,ke.jsx)(be,{preventClose:!1,onClick:this._hideRightClickedTrack,children:(0,ke.jsx)(P,{id:"TrackContextMenu--hide-track",vars:{trackName:n},children:(0,ke.jsxs)(ke.Fragment,{children:["Hide ",`\u201C${n}\u201D`]})})},r)}renderHideTrackByType(){let{rightClickedTrack:e}=this.props;if(e===null)return null;let r=["screenshots","memory","network","ipc","event-delay"],n=this._getRightClickedTrackType();return r.includes(n)?(0,ke.jsx)(be,{preventClose:!1,onClick:this._hideTracksByType,children:(0,ke.jsx)(P,{id:"TrackContextMenu--hide-all-tracks-by-selected-track-type",vars:{type:n},children:(0,ke.jsxs)(ke.Fragment,{children:["Hide all tracks of type \u201C",n,"\u201D"]})})}):null}renderShowAllTracks(){let{rightClickedTrack:e}=this.props;if(e!==null)return null;let n=[...this.props.hiddenLocalTracksByPid.values()].reduce((o,a)=>o+a.size,0)+this.props.hiddenGlobalTracks.size===0;return(0,ke.jsx)(be,{onClick:this._showAllTracks,disabled:n,children:(0,ke.jsx)(P,{id:"TrackContextMenu--show-all-tracks",children:"Show all tracks"})})}renderShowProvidedTracks(){let{rightClickedTrack:e}=this.props;return e!==null?null:(0,ke.jsx)(be,{onClick:this._showMatchingTracks,children:(0,ke.jsx)(P,{id:"TrackContextMenu--show-all-matching-tracks",children:"Show all matching tracks"})})}renderHideMatchingTracks(e,r){let{rightClickedTrack:n,hiddenGlobalTracks:o,globalTracks:a,hiddenLocalTracksByPid:i,localTracksByPid:s}=this.props;if(n!==null)return null;let l=()=>{let p=0;for(let[f,h]of r){let b=$(a.findIndex(w=>w.type==="process"&&w.pid===f));if(o.has(b))continue;let g=a[b];if(("mainThreadIndex"in g?g.mainThreadIndex:null)!==null)continue;let v=$(s.get(f)),S=$(i.get(f));S.size+h.size-ci(S,h).size===v.length&&(p+=1)}return o.size+e.size-ci(o,e).size+p<a.length},c=()=>[...e].some(p=>!o.has(p)),d=()=>{let p=new Set;for(let f of o){let h=a[f];h.type==="process"&&p.add(h.pid)}let m=!1;for(let[f,h]of r){if(p.has(f))continue;let b=$(i.get(f));if(m=[...h].some(g=>!b.has(g)),m)break}return m},u=!l()||!c()&&!d();return(0,ke.jsx)(be,{onClick:this._hideMatchedTracks,disabled:u,children:(0,ke.jsx)(P,{id:"TrackContextMenu--hide-all-matching-tracks",children:"Hide all matching tracks"})})}renderTrackSearchField(){let{rightClickedTrack:e}=this.props,{searchFilter:r}=this.state;return e!==null?null:(0,ke.jsxs)(Wu.default.Fragment,{children:[(0,ke.jsx)(GS,{className:"trackContextMenuSearchField",currentSearchString:r,onSearch:this._onSearch,ref:this._trackSearchFieldElem}),(0,ke.jsx)("div",{className:"react-contextmenu-separator"})]})}_onSearch=e=>{this.setState({searchFilter:e})};_onShow=()=>{let e=this._trackSearchFieldElem.current;e&&setTimeout(()=>{e.focus()})};_onHide=()=>{this.setState({searchFilter:""})};render(){let{threads:e,globalTrackOrder:r,globalTracks:n,globalTrackNames:o,localTracksByPid:a,localTrackNamesByPid:i,rightClickedTrack:s}=this.props,{searchFilter:l}=this.state,c=this.renderIsolateProcessMainThread(),d=this.renderIsolateProcess(),u=this.renderIsolateLocalTrack(),p=this.renderIsolateScreenshot(),m=this.renderShowLocalTracksInThisProcess(),f=this.renderHideTrack(),h=this.renderHideTrackByType(),b=c||d||u||p||m||f||h?(0,ke.jsx)("div",{className:"react-contextmenu-separator"}):null,g=rb(n,o,e,l),y=nb(a,i,e,l),v=r.map(x=>{let w=n[x];return s===null?this.renderGlobalTrack(x,g,y):s.type==="global"&&s.trackIndex===x?this.renderGlobalTrack(x,g,y):s.type==="local"&&w.type==="process"&&s.pid===w.pid?this.renderGlobalTrack(x,g,y):null}),S=v.every(x=>x===null);return(0,ke.jsxs)(zS,{id:"TimelineTrackContextMenu",className:"timelineTrackContextMenu",onShow:this._onShow,onHide:this._onHide,children:[this.renderTrackSearchField(),l?this.renderShowProvidedTracks():this.renderShowAllTracks(),l&&g&&y?this.renderHideMatchingTracks(g,y):null,s===null?(0,ke.jsx)("div",{className:"react-contextmenu-separator"}):null,c,d,u,p,f,h,m?(0,ke.jsx)("div",{className:"react-contextmenu-separator"}):null,m,b,S?(0,ke.jsx)(P,{id:"TrackContextMenu--no-results-found",vars:{searchFilter:l},elems:{span:(0,ke.jsx)("span",{className:"trackContextMenuSearchFilter"})},children:(0,ke.jsxs)(be,{disabled:!0,children:["No results found for \u201C",(0,ke.jsx)("span",{className:"trackContextMenuSearchFilter",children:l}),"\u201D"]})}):v]})}},T6=H({mapStateToProps:t=>({threads:Ut(t),globalTrackOrder:bn(t),hiddenGlobalTracks:lr(t),rightClickedTrack:ab(t),globalTracks:ft(t),hiddenLocalTracksByPid:mo(t),localTrackOrderByPid:si(t),rightClickedThreadIndex:dC(t),globalTrackNames:sb(t),localTracksByPid:Mr(t),localTrackNamesByPid:lb(t)}),mapDispatchToProps:{hideGlobalTrack:$l,showAllTracks:HP,showGlobalTrack:zm,showGlobalTrackIncludingLocalTracks:$P,isolateProcess:zP,isolateLocalTrack:YP,isolateProcessMainThread:WP,isolateScreenshot:VP,hideLocalTrack:Wm,showLocalTrack:Ob,showProvidedTracks:UP,hideProvidedTracks:GP},component:nL});var hr=T(E()),oL=class extends iL.PureComponent{_showMenu=e=>{let r=e.currentTarget.getBoundingClientRect();this.props.changeRightClickedTrack(null),Zo({data:null,id:"TimelineTrackContextMenu",position:{x:r.left,y:r.bottom},target:e.target})};render(){let{trackCount:e}=this.props;return(0,hr.jsx)(P,{id:"FullTimeline--tracks-button",elems:{span:(0,hr.jsx)("span",{className:"timelineSettingsHiddenTracksNumber"})},vars:{visibleTrackCount:e.total-e.hidden,totalTrackCount:e.total},children:(0,hr.jsxs)("button",{type:"button",onClick:this._showMenu,className:"timelineSettingsHiddenTracks",children:[(0,hr.jsx)("span",{className:"timelineSettingsHiddenTracksNumber",children:e.total-e.hidden})," / ",(0,hr.jsxs)("span",{className:"timelineSettingsHiddenTracksNumber",children:[e.total," "]}),"tracks"]})})}},aL=class extends iL.PureComponent{state={initialSelected:null};setInitialSelected=e=>{this.setState({initialSelected:e})};render(){let{globalTracks:e,globalTrackOrder:r,changeGlobalTrackOrder:n,committedRange:o,zeroAt:a,profileTimelineUnit:i,width:s,globalTrackReferences:l,panelLayoutGeneration:c,trackCount:d,changeRightClickedTrack:u,innerElementRef:p}=this.props;return(0,hr.jsxs)(hr.Fragment,{children:[(0,hr.jsxs)(y6,{width:s,children:[(0,hr.jsxs)("div",{className:"timelineHeader",children:[d.total>1?(0,hr.jsx)(oL,{trackCount:d,changeRightClickedTrack:u}):(0,hr.jsx)("div",{className:"timelineSettingsHiddenTracksSpacer"}),(0,hr.jsx)(HS,{zeroAt:a,rangeStart:o.start,rangeEnd:o.end,width:s,unit:i})]}),(0,hr.jsx)(US,{className:"tracksContainer timelineOverflowEdgeIndicator",panelLayoutGeneration:c,initialSelected:this.state.initialSelected,children:(0,hr.jsx)(Gu,{tagName:"ol",className:"timelineThreadList",grippyClassName:"timelineTrackGlobalGrippy",order:r,orient:"vertical",onChangeOrder:n,innerElementRef:p,children:e.map((m,f)=>(0,hr.jsx)(p6,{trackIndex:f,trackReference:l[f],setInitialSelected:this.setInitialSelected},f))})})]}),d.total>1?(0,hr.jsx)(T6,{}):null]})}},S6=H({mapStateToProps:t=>({globalTracks:ft(t),globalTrackOrder:bn(t),globalTrackReferences:iC(t),committedRange:de(t),zeroAt:Vr(t),profileTimelineUnit:vn(t),panelLayoutGeneration:Nm(t),trackCount:mC(t)}),mapDispatchToProps:{changeGlobalTrackOrder:BP,changeRightClickedTrack:Gl},component:He(aL)});var w6=T(E()),VS=class extends x6.PureComponent{_removeWheelListener=null;preventPinchToZoom(e){e.ctrlKey&&e.preventDefault()}_onTimelineMountWithRef=e=>{if(this._removeWheelListener&&(this._removeWheelListener(),this._removeWheelListener=null),!e)return;let r=e;r.addEventListener("wheel",this.preventPinchToZoom,{passive:!1}),this._removeWheelListener=()=>{r.removeEventListener("wheel",this.preventPinchToZoom,{passive:!1})}};componentWillUnmount(){this._removeWheelListener&&(this._removeWheelListener(),this._removeWheelListener=null)}render(){return(0,w6.jsx)(S6,{innerElementRef:this._onTimelineMountWithRef})}};var dL=T(cv());var lL=T(U());var k6=T(E()),sL=class extends lL.PureComponent{_dom=null;componentDidMount(){let e=document.createElement("style");e.textContent=this.props.content;let r=document.head;r&&(r.appendChild(e),this._dom=e)}componentDidUpdate(e){let r=this._dom;e.content!==this.props.content&&r&&(r.textContent=this.props.content)}componentWillUnmount(){let e=this._dom;e&&(e.remove(),this._dom=null)}render(){return null}},WS=class extends lL.PureComponent{render(){let e=`
|
|
229
|
+
.${this.props.className} {
|
|
230
|
+
background-image: url("${NH(this.props.url)}");
|
|
231
|
+
}
|
|
232
|
+
`;return(0,k6.jsx)(sL,{content:e})}};var uL=T(xe());var C6=T(U());var I6=T(U());var Ks=T(E()),jS=class extends I6.PureComponent{state={isNoticeDisplayed:!0};_onHideClick=()=>{this.setState({isNoticeDisplayed:!1}),this.props.onClose&&this.props.onClose()};render(){if(!this.state.isNoticeDisplayed)return null;let{message:e,actionText:r,actionTitle:n,actionOnClick:o}=this.props;return(0,Ks.jsx)("div",{className:"warningMessageBarWrapper",children:(0,Ks.jsxs)("div",{className:"photon-message-bar photon-message-bar-warning warningMessageBar",children:[(0,Ks.jsxs)("div",{className:"photon-message-bar-inner-content",children:[(0,Ks.jsx)("div",{className:"photon-message-bar-inner-text",children:e}),r?(0,Ks.jsx)("button",{className:"photon-button photon-button-micro photon-message-bar-action-button",type:"button",title:n,"aria-label":n,onClick:o,children:r}):null]}),(0,Ks.jsx)("button",{className:"photon-button photon-message-bar-close-button",type:"button","aria-label":"Hide the message",title:"Hide the message",onClick:this._onHideClick})]})})}};var ju=T(E()),cL=class extends C6.PureComponent{render(){let{meta:e}=this.props;return(0,ju.jsx)(ju.Fragment,{children:e.debug?(0,ju.jsx)(P,{id:"DebugWarning--warning-message",attrs:{message:!0},children:(0,ju.jsx)(jS,{message:"This profile was recorded in a build without release optimizations. Performance observations might not apply to the release population."})}):null})}},P6=H({mapStateToProps:t=>({meta:Tn(t)}),component:cL});var Nt=T(E()),pL=class extends E6.PureComponent{render(){let{hasZipFile:e,returnToZipFileList:r,invalidatePanelLayout:n,timelineHeight:o,isUploading:a,uploadProgress:i,isHidingStaleProfile:s,hasSanitizedProfile:l,icons:c,isBottomBoxOpen:d}=this.props;return(0,Nt.jsxs)(pS,{wrapperClassName:(0,uL.default)({profileViewerWrapper:!0,profileViewerWrapperBackground:l}),children:[[...c].map(([u,p])=>(0,Nt.jsx)(WS,{className:p,url:u},p)),(0,Nt.jsxs)("div",{className:(0,uL.default)({profileViewer:!0,profileViewerFadeInSanitized:l&&!s,profileViewerFadeOut:s}),style:o===null?{}:{"--profile-viewer-splitter-max-height":`${o}px`},children:[(0,Nt.jsxs)("div",{className:"profileViewerTopBar",children:[e?(0,Nt.jsx)("button",{type:"button",className:"profileViewerZipButton",title:"View all files in the archive",onClick:r}):null,(0,Nt.jsx)(P5,{}),(0,Nt.jsx)(Yj,{}),(0,Nt.jsx)("div",{className:"profileViewerSpacer"}),(0,Nt.jsx)(x5,{}),a?(0,Nt.jsx)("div",{className:"publishPanelUploadBarInner",style:{width:`${i*100}%`}}):null]}),(0,Nt.jsxs)(dL.default,{customClassName:"profileViewerSplitter",vertical:!0,percentage:!1,primaryIndex:1,secondaryInitialSize:270,onDragEnd:n,children:[(0,Nt.jsx)(VS,{}),(0,Nt.jsxs)(dL.default,{vertical:!0,percentage:!0,primaryIndex:0,secondaryInitialSize:40,onDragEnd:n,children:[(0,Nt.jsx)(mj,{}),d?(0,Nt.jsx)(Uj,{}):null]})]}),(0,Nt.jsx)("div",{id:"screenshot-hover"}),(0,Nt.jsx)(C5,{}),(0,Nt.jsx)(_5,{}),(0,Nt.jsx)(P6,{}),(0,Nt.jsx)(k5,{}),(0,Nt.jsx)(gj,{}),(0,Nt.jsx)(vj,{})]})]})}},KS=H({mapStateToProps:t=>({hasZipFile:wm(t),timelineHeight:HC(t),uploadProgress:Ad(t),isUploading:pi(t)==="uploading",isHidingStaleProfile:vP(t),hasSanitizedProfile:TP(t),icons:Eb(t),isBottomBoxOpen:OI(t)}),mapDispatchToProps:{returnToZipFileList:Qf,invalidatePanelLayout:nf},component:pL});var vL=T(U());var hL=T(U()),gL=T(xe());var Bi=T(E());function Ku(t){t.preventDefault()}var mL=class extends hL.PureComponent{_enteredElements=new Set;_updateDragLocation(e){let r=this._enteredElements.size>0?"INSIDE":"OUTSIDE",n=e.currentTarget;if(this._enteredElements=new Set([...this._enteredElements].filter(a=>n.contains(a))),e.target instanceof HTMLElement){let a=e.target;e.type==="dragenter"?this._enteredElements.add(a):e.type==="dragleave"&&this._enteredElements.delete(a)}let o=this._enteredElements.size>0?"INSIDE":"OUTSIDE";return[r,o]}_resetDragLocation(){this._enteredElements=new Set}componentDidMount(){document.addEventListener("drag",Ku,!1),document.addEventListener("dragover",Ku,!1),document.addEventListener("drop",Ku,!1)}componentWillUnmount(){document.removeEventListener("drag",Ku,!1),document.removeEventListener("dragover",Ku,!1),document.removeEventListener("drop",Ku,!1)}_onDragEnter=e=>{e.preventDefault();let[r,n]=this._updateDragLocation(e);r==="OUTSIDE"&&n==="INSIDE"&&this.props.startDragging()};_onDragLeave=e=>{e.preventDefault();let[r,n]=this._updateDragLocation(e);r==="INSIDE"&&n==="OUTSIDE"&&this.props.stopDragging()};_handleProfileDrop=e=>{if(e.preventDefault(),this._resetDragLocation(),this.props.stopDragging(),!e.dataTransfer||!this.props.isNewProfileLoadAllowed)return;let{files:r}=e.dataTransfer;r.length>0&&this.props.retrieveProfileFromFile(r[0],this.props.browserConnection)};render(){let{className:e,children:r}=this.props;return(0,Bi.jsxs)(Bi.Fragment,{children:[(0,Bi.jsx)("div",{className:(0,gL.default)(e,"dragAndDropArea"),onDragEnter:this._onDragEnter,onDragLeave:this._onDragLeave,onDrop:this._handleProfileDrop,children:r}),this.props.useDefaultOverlay?(0,Bi.jsx)(Yu,{isDefault:!0}):null]})}},_6=H({mapStateToProps:t=>({isNewProfileLoadAllowed:hb(t),useDefaultOverlay:!FC(t),browserConnection:Ko(t)}),mapDispatchToProps:{retrieveProfileFromFile:rf,startDragging:B0,stopDragging:H0},component:mL}),fL=class extends hL.PureComponent{componentDidMount(){this.props.isDefault||this.props.registerDragAndDropOverlay()}componentWillUnmount(){this.props.isDefault||this.props.unregisterDragAndDropOverlay()}render(){return(0,Bi.jsx)("div",{className:(0,gL.default)("dragAndDropOverlayWrapper",this.props.isDragging&&this.props.isNewProfileLoadAllowed?"dragging":!1),children:(0,Bi.jsx)("div",{className:"dragAndDropOverlay",children:"Drop a saved profile here"})})}},Yu=H({mapStateToProps:t=>({isDragging:OC(t),isNewProfileLoadAllowed:hb(t)}),mapDispatchToProps:{registerDragAndDropOverlay:U0,unregisterDragAndDropOverlay:G0},component:fL});var St=T(E()),yL=class extends vL.PureComponent{_handleClick=e=>{if(e.metaKey||e.ctrlKey)return;e.preventDefault();let{viewProfileFromZip:r,displayData:{zipTableIndex:n}}=this.props;n!==null&&r(n)};render(){let{name:e,url:r}=this.props.displayData;return r?(0,St.jsx)("a",{href:r,onClick:this._handleClick,children:e}):e}},Fle=H({mapDispatchToProps:{viewProfileFromZip:Zf},component:yL}),bL=class extends vL.PureComponent{_fixedColumns=[];_mainColumn={propName:"name",titleL10nId:"",component:Fle};_treeView=null;_takeTreeViewRef=e=>this._treeView=e;constructor(e){super(e);let{expandedZipFileIndexes:r,zipFileTree:n,changeExpandedZipFile:o}=this.props;r.length===0&&n&&o([...n.getAllDescendants(null)])}componentDidMount(){let{zipFileState:e,pathInZipFile:r,zipFileTree:n}=this.props;if(e.phase==="NO_ZIP_FILE"&&r&&!n)throw new Error("The zipFileTree should exist if this component was mounted");this.focus()}componentDidUpdate(e){let{pathInZipFile:r,zipFileState:n,viewProfileFromPathInZipFile:o,returnToZipFileList:a}=this.props;r!==n.pathInZipFile&&(r===null?a():o(r)),e.zipFileState.phase!=="LIST_FILES_IN_ZIP_FILE"&&this.props.zipFileState.phase==="LIST_FILES_IN_ZIP_FILE"&&this.focus()}focus(){let e=this._treeView;e&&e.focus()}_renderMessage(e){return(0,St.jsx)("section",{className:"zipFileViewer",children:(0,St.jsxs)("div",{className:"zipFileViewerSection",children:[(0,St.jsxs)("header",{className:"zipFileViewerHeader",children:[(0,St.jsx)("h1",{children:"Firefox Profiler"}),(0,St.jsx)("p",{children:"Choose a profile from this archive"})]}),(0,St.jsx)("div",{className:"zipFileViewerMessage",children:e}),(0,St.jsx)(Yu,{})]})})}_renderBackButton(){return(0,St.jsx)("button",{type:"button",className:"homeSectionInstallButton",onClick:this.props.returnToZipFileList,children:"\u2190 Back to archive list"},"backButton")}_onEnterKey=e=>{this.props.viewProfileFromZip(e)};render(){let{zipFileState:e,zipFileTree:r,zipFileMaxDepth:n,selectedZipFileIndex:o,expandedZipFileIndexes:a,changeSelectedZipFile:i,changeExpandedZipFile:s,pathInZipFile:l,zipFileErrorMessage:c}=this.props;if(!r)return console.error("No zipFileTree was found in a ZipFileViewer."),null;let{phase:d}=e;switch(d){case"NO_ZIP_FILE":return console.error("Loaded the ZipFileViewer component when there is no archive file."),this._renderMessage((0,St.jsx)("span",{children:"Error: No archive file was found."}));case"LIST_FILES_IN_ZIP_FILE":return(0,St.jsx)("section",{className:"zipFileViewer",children:(0,St.jsxs)("div",{className:"zipFileViewerSection",children:[(0,St.jsxs)("header",{className:"zipFileViewerHeader",children:[(0,St.jsx)("h1",{children:"Firefox Profiler"}),(0,St.jsx)("p",{children:"Choose a profile from this archive"})]}),(0,St.jsx)(Is,{maxNodeDepth:n,tree:r,fixedColumns:this._fixedColumns,mainColumn:this._mainColumn,onSelectionChange:i,onExpandedNodesChange:s,selectedNodeId:o,expandedNodeIds:a,ref:this._takeTreeViewRef,rowHeight:30,indentWidth:15,onEnterKey:this._onEnterKey,viewOptions:xd}),(0,St.jsx)(Yu,{})]})});case"PROCESS_PROFILE_FROM_ZIP_FILE":return this._renderMessage((0,St.jsx)("span",{children:"Loading the profile from the archive..."}));case"FAILED_TO_PROCESS_PROFILE_FROM_ZIP_FILE":return this._renderMessage([(0,St.jsx)("p",{children:"Unable to load the profile at this path:"},"message"),(0,St.jsxs)("span",{className:"zipFileViewerUntrustedFilePath",children:["/",l]},"path"),(0,St.jsx)("p",{children:c},"error"),this._renderBackButton()]);case"FILE_NOT_FOUND_IN_ZIP_FILE":return this._renderMessage([(0,St.jsx)("span",{children:"Failed to find a file in the zip at the following path:"},"message"),(0,St.jsxs)("span",{className:"zipFileViewerUntrustedFilePath",children:["/",l]},"path"),this._renderBackButton()]);case"VIEW_PROFILE_IN_ZIP_FILE":return(0,St.jsx)(KS,{});default:throw Y(d)}}},N6=H({mapStateToProps:t=>{let e=CC(t);if(e===null)throw new Error("The zipFileTree should exist if the ZipFileViewer is mounted.");return{zipFileState:jo(t),pathInZipFile:Zy(t),zipFileTree:e,zipFileMaxDepth:IC(t),selectedZipFileIndex:xC(t),expandedZipFileIndexes:wC(t),zipFileErrorMessage:kC(t)}},mapDispatchToProps:{changeSelectedZipFile:_R,changeExpandedZipFile:NR,viewProfileFromZip:Zf,viewProfileFromPathInZipFile:RR,returnToZipFileList:Qf},component:bL});var tx=T(U());var D6=T(U());var R6=T(U());var M6=T(E()),TL=class extends R6.PureComponent{onClick=e=>{let{setDataSource:r,dataSource:n}=this.props;e.ctrlKey||e.metaKey||(e.preventDefault(),r(n))};render(){let{className:e,children:r,dataSource:n}=this.props,o=n==="none"?"/":`/${n}/`;return(0,M6.jsx)("a",{className:e,href:o,onClick:this.onClick,children:r})}},Ys=H({mapDispatchToProps:{setDataSource:Jm},component:TL});var L6=T(U());var qs=T(E()),YS=class extends L6.PureComponent{state={currentTheme:Ds()};componentDidMount(){window.addEventListener("storage",this._handleStorageChange),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",this._handleSystemPreferenceChange)}componentWillUnmount(){window.removeEventListener("storage",this._handleStorageChange),window.matchMedia("(prefers-color-scheme: dark)").removeEventListener("change",this._handleSystemPreferenceChange)}_handleStorageChange=e=>{(e.key==="theme"||e.key===null)&&this.setState({currentTheme:Ds()})};_handleSystemPreferenceChange=()=>{this.state.currentTheme==="system"&&this.setState({currentTheme:Ds()})};_handleLightClick=()=>{Yd("light"),this.setState({currentTheme:"light"})};_handleSystemClick=()=>{Yd("system"),this.setState({currentTheme:"system"})};_handleDarkClick=()=>{Yd("dark"),this.setState({currentTheme:"dark"})};_renderIconButton(e,r,n,o){let a=this.state.currentTheme===e;return(0,qs.jsx)(P,{id:r,attrs:{title:!0},children:(0,qs.jsx)("button",{type:"button",className:`themeToggleButton ${a?"themeToggleButton-active":""}`,onClick:o,"aria-label":e,children:n})})}render(){return(0,qs.jsxs)("div",{className:"themeToggle",children:[this._renderIconButton("light","ThemeToggle--light",(0,qs.jsx)("span",{className:"themeToggleIcon themeToggleIcon--light"}),this._handleLightClick),this._renderIconButton("system","ThemeToggle--system",(0,qs.jsx)("span",{className:"themeToggleIcon themeToggleIcon--system"}),this._handleSystemClick),this._renderIconButton("dark","ThemeToggle--dark",(0,qs.jsx)("span",{className:"themeToggleIcon themeToggleIcon--dark"}),this._handleDarkClick)]})}};var gr=T(E()),Xs=class extends D6.PureComponent{render(){return(0,gr.jsx)("header",{children:(0,gr.jsxs)("h1",{className:"appHeader",children:[(0,gr.jsx)(P,{id:"AppHeader--app-header",elems:{header:(0,gr.jsx)(Ys,{dataSource:"none",className:"appHeaderLink",children:(0,gr.jsx)(gr.Fragment,{})}),subheader:(0,gr.jsx)("span",{className:"appHeaderSubtext"})},children:(0,gr.jsxs)("span",{className:"appHeaderSlogan",children:[(0,gr.jsx)(Ys,{dataSource:"none",className:"appHeaderLink",children:"Vernier Profiler"})," ","\u2013"," ",(0,gr.jsx)("span",{className:"appHeaderSubtext",children:"Web app for Ruby performance analysis"})]})}),(0,gr.jsxs)("div",{className:"appHeaderRightControls",children:[(0,gr.jsx)(YS,{}),(0,gr.jsx)(P,{id:"AppHeader--github-icon",attrs:{title:!0},children:(0,gr.jsx)("a",{className:"appHeaderGithubIcon",href:"https://github.com/jhawthorn/vernier",target:"_blank",rel:"noopener noreferrer",title:"Go to our Git repository (this opens in a new window)",children:(0,gr.jsx)("svg",{width:"22",height:"22",className:"octicon octicon-mark-github",viewBox:"0 0 16 16",version:"1.1","aria-label":"github",children:(0,gr.jsx)("path",{fillRule:"evenodd",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"})})})})]})]})})}};var qS=T(U()),O6=T(xe());var fh=T(E());function A6({meta:t}){let e=sm(t),r=lm(t);return(0,fh.jsxs)("div",{className:"profileMetaInfoSummary",children:[(0,fh.jsx)("div",{className:"profileMetaInfoSummaryProductAndVersion","data-product":t.product,children:e}),(0,fh.jsx)("div",{className:"profileMetaInfoSummaryPlatform","data-toolkit":r,children:r})]})}var it=T(E());function Ble(t){return!Number.isFinite(t.start)||!Number.isFinite(t.end)?"":fa(t.end-t.start,3,1)}var SL=class extends qS.default.PureComponent{state={confirmDialogIsOpen:!1};onOpenConfirmDialog=()=>{this.setState({confirmDialogIsOpen:!0})};onCloseConfirmDialog=()=>{this.setState({confirmDialogIsOpen:!1})};onCloseSuccessMessage=()=>{this.props.onProfileDelete()};render(){let{uploadedProfileInformation:e,withActionButtons:r}=this.props,{confirmDialogIsOpen:n}=this.state,{urlPath:o}=e;o.startsWith("/")||(o="/"+o);let a=e.profileToken.slice(0,6),i=e.name?e.name:`Profile #${a}`,s=e.name?e.name:"#"+a;return(0,it.jsxs)("li",{className:(0,O6.default)("publishedProfilesListItem",{publishedProfilesListItem_ConfirmDialogIsOpen:n}),children:[(0,it.jsx)(P,{id:"ListOfPublishedProfiles--published-profiles-link",attrs:{title:!0},vars:{smallProfileName:s},children:(0,it.jsxs)("a",{className:"publishedProfilesLink",href:o,title:`Click here to load profile ${s}`,children:[(0,it.jsx)("div",{className:"publishedProfilesDate",children:(0,it.jsx)(P,{id:"NumberFormat--short-date",vars:{date:e.publishedDate}})}),(0,it.jsxs)("div",{className:"publishedProfilesInfo",children:[(0,it.jsxs)("div",{className:"publishedProfilesName",children:[(0,it.jsx)("strong",{children:i})," (",Ble(e.publishedRange),")"]}),(0,it.jsx)(A6,{meta:e.meta})]})]})}),r?(0,it.jsx)("div",{className:"publishedProfilesActionButtons",children:e.jwtToken?(0,it.jsx)(dS,{buttonClassName:"publishedProfilesDeleteButton",profileName:i,smallProfileName:s,jwtToken:e.jwtToken,profileToken:e.profileToken,onOpenConfirmDialog:this.onOpenConfirmDialog,onCloseConfirmDialog:this.onCloseConfirmDialog,onCloseSuccessMessage:this.onCloseSuccessMessage}):(0,it.jsx)(P,{id:"ListOfPublishedProfiles--published-profiles-delete-button-disabled",attrs:{title:!0},children:(0,it.jsx)("button",{className:"publishedProfilesDeleteButton photon-button photon-button-default",type:"button",title:"This profile cannot be deleted because we lack the authorization information.",disabled:!0,children:"Delete"})})}):null]})}},qu=class extends qS.PureComponent{_isMounted=!1;state={uploadedProfileInformationList:null};_refreshList=async()=>{let e=await lG();this._isMounted&&this.setState({uploadedProfileInformationList:e.reverse()})};async componentDidMount(){this._isMounted=!0,this._refreshList(),window.addEventListener("focus",this._refreshList)}componentWillUnmount(){this._isMounted=!1,window.removeEventListener("focus",this._refreshList)}onProfileDelete=()=>{this._refreshList()};render(){let{limit:e,withActionButtons:r}=this.props,{uploadedProfileInformationList:n}=this.state;if(!n)return null;let o=n;if(!o.length)return(0,it.jsx)("p",{className:"photon-body-30",children:(0,it.jsx)(P,{id:"ListOfPublishedProfiles--uploaded-profile-information-list-empty",children:"No profile has been uploaded yet!"})});let a=e?o.slice(0,e):o,i=o.length-a.length,s;return i>0?s=(0,it.jsx)(P,{id:"ListOfPublishedProfiles--uploaded-profile-information-label",vars:{profilesRestCount:i},children:(0,it.jsxs)(it.Fragment,{children:["See and manage all your recordings (",i," more)"]})}):s=(0,it.jsx)(P,{id:"ListOfPublishedProfiles--uploaded-profile-information-list",vars:{uploadedProfileCount:o.length},children:(0,it.jsx)(it.Fragment,{children:"Manage this recording"})}),(0,it.jsxs)(it.Fragment,{children:[(0,it.jsx)("ul",{className:"publishedProfilesList",children:a.map(l=>(0,it.jsx)(SL,{onProfileDelete:this.onProfileDelete,uploadedProfileInformation:l,withActionButtons:r},l.profileToken))}),r?null:(0,it.jsx)("p",{children:(0,it.jsx)(Ys,{dataSource:"uploaded-recordings",children:s})})]})}};var Xu="/perf-screenshot-2024-02-29-4YCKHIPD.png";var F6="/firefox-profiler-button-2021-05-06-ZEMGS6NI.jpg";function XS(){return XS=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},XS.apply(null,arguments)}function JS(t,e){if(t==null)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(e.indexOf(n)!==-1)continue;r[n]=t[n]}return r}function ZS(t,e){return ZS=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},ZS(t,e)}function QS(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,ZS(t,e)}function xL(t,e){return t.classList?!!e&&t.classList.contains(e):(" "+(t.className.baseVal||t.className)+" ").indexOf(" "+e+" ")!==-1}function wL(t,e){t.classList?t.classList.add(e):xL(t,e)||(typeof t.className=="string"?t.className=t.className+" "+e:t.setAttribute("class",(t.className&&t.className.baseVal||"")+" "+e))}function B6(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function kL(t,e){t.classList?t.classList.remove(e):typeof t.className=="string"?t.className=B6(t.className,e):t.setAttribute("class",B6(t.className&&t.className.baseVal||"",e))}var _L=T(U());var hh=T(U()),gh=T(ls());var IL={disabled:!1};var H6=T(U()),CL=H6.default.createContext(null);var ex=function(e){return e.scrollTop};var yh="unmounted",fc="exited",hc="entering",Zu="entered",PL="exiting",Hi=(function(t){QS(e,t);function e(n,o){var a;a=t.call(this,n,o)||this;var i=o,s=i&&!i.isMounting?n.enter:n.appear,l;return a.appearStatus=null,n.in?s?(l=fc,a.appearStatus=hc):l=Zu:n.unmountOnExit||n.mountOnEnter?l=yh:l=fc,a.state={status:l},a.nextCallback=null,a}e.getDerivedStateFromProps=function(o,a){var i=o.in;return i&&a.status===yh?{status:fc}:null};var r=e.prototype;return r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(o){var a=null;if(o!==this.props){var i=this.state.status;this.props.in?i!==hc&&i!==Zu&&(a=hc):(i===hc||i===Zu)&&(a=PL)}this.updateStatus(!1,a)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var o=this.props.timeout,a,i,s;return a=i=s=o,o!=null&&typeof o!="number"&&(a=o.exit,i=o.enter,s=o.appear!==void 0?o.appear:i),{exit:a,enter:i,appear:s}},r.updateStatus=function(o,a){if(o===void 0&&(o=!1),a!==null)if(this.cancelNextCallback(),a===hc){if(this.props.unmountOnExit||this.props.mountOnEnter){var i=this.props.nodeRef?this.props.nodeRef.current:gh.default.findDOMNode(this);i&&ex(i)}this.performEnter(o)}else this.performExit();else this.props.unmountOnExit&&this.state.status===fc&&this.setState({status:yh})},r.performEnter=function(o){var a=this,i=this.props.enter,s=this.context?this.context.isMounting:o,l=this.props.nodeRef?[s]:[gh.default.findDOMNode(this),s],c=l[0],d=l[1],u=this.getTimeouts(),p=s?u.appear:u.enter;if(!o&&!i||IL.disabled){this.safeSetState({status:Zu},function(){a.props.onEntered(c)});return}this.props.onEnter(c,d),this.safeSetState({status:hc},function(){a.props.onEntering(c,d),a.onTransitionEnd(p,function(){a.safeSetState({status:Zu},function(){a.props.onEntered(c,d)})})})},r.performExit=function(){var o=this,a=this.props.exit,i=this.getTimeouts(),s=this.props.nodeRef?void 0:gh.default.findDOMNode(this);if(!a||IL.disabled){this.safeSetState({status:fc},function(){o.props.onExited(s)});return}this.props.onExit(s),this.safeSetState({status:PL},function(){o.props.onExiting(s),o.onTransitionEnd(i.exit,function(){o.safeSetState({status:fc},function(){o.props.onExited(s)})})})},r.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(o,a){a=this.setNextCallback(a),this.setState(o,a)},r.setNextCallback=function(o){var a=this,i=!0;return this.nextCallback=function(s){i&&(i=!1,a.nextCallback=null,o(s))},this.nextCallback.cancel=function(){i=!1},this.nextCallback},r.onTransitionEnd=function(o,a){this.setNextCallback(a);var i=this.props.nodeRef?this.props.nodeRef.current:gh.default.findDOMNode(this),s=o==null&&!this.props.addEndListener;if(!i||s){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[i,this.nextCallback],c=l[0],d=l[1];this.props.addEndListener(c,d)}o!=null&&setTimeout(this.nextCallback,o)},r.render=function(){var o=this.state.status;if(o===yh)return null;var a=this.props,i=a.children,s=a.in,l=a.mountOnEnter,c=a.unmountOnExit,d=a.appear,u=a.enter,p=a.exit,m=a.timeout,f=a.addEndListener,h=a.onEnter,b=a.onEntering,g=a.onEntered,y=a.onExit,v=a.onExiting,S=a.onExited,x=a.nodeRef,w=JS(a,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return hh.default.createElement(CL.Provider,{value:null},typeof i=="function"?i(o,w):hh.default.cloneElement(hh.default.Children.only(i),w))},e})(hh.default.Component);Hi.contextType=CL;Hi.propTypes={};function Ju(){}Hi.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Ju,onEntering:Ju,onEntered:Ju,onExit:Ju,onExiting:Ju,onExited:Ju};Hi.UNMOUNTED=yh;Hi.EXITED=fc;Hi.ENTERING=hc;Hi.ENTERED=Zu;Hi.EXITING=PL;var U6=Hi;var Gle=function(e,r){return e&&r&&r.split(" ").forEach(function(n){return wL(e,n)})},EL=function(e,r){return e&&r&&r.split(" ").forEach(function(n){return kL(e,n)})},NL=(function(t){QS(e,t);function e(){for(var n,o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return n=t.call.apply(t,[this].concat(a))||this,n.appliedClasses={appear:{},enter:{},exit:{}},n.onEnter=function(s,l){var c=n.resolveArguments(s,l),d=c[0],u=c[1];n.removeClasses(d,"exit"),n.addClass(d,u?"appear":"enter","base"),n.props.onEnter&&n.props.onEnter(s,l)},n.onEntering=function(s,l){var c=n.resolveArguments(s,l),d=c[0],u=c[1],p=u?"appear":"enter";n.addClass(d,p,"active"),n.props.onEntering&&n.props.onEntering(s,l)},n.onEntered=function(s,l){var c=n.resolveArguments(s,l),d=c[0],u=c[1],p=u?"appear":"enter";n.removeClasses(d,p),n.addClass(d,p,"done"),n.props.onEntered&&n.props.onEntered(s,l)},n.onExit=function(s){var l=n.resolveArguments(s),c=l[0];n.removeClasses(c,"appear"),n.removeClasses(c,"enter"),n.addClass(c,"exit","base"),n.props.onExit&&n.props.onExit(s)},n.onExiting=function(s){var l=n.resolveArguments(s),c=l[0];n.addClass(c,"exit","active"),n.props.onExiting&&n.props.onExiting(s)},n.onExited=function(s){var l=n.resolveArguments(s),c=l[0];n.removeClasses(c,"exit"),n.addClass(c,"exit","done"),n.props.onExited&&n.props.onExited(s)},n.resolveArguments=function(s,l){return n.props.nodeRef?[n.props.nodeRef.current,s]:[s,l]},n.getClassNames=function(s){var l=n.props.classNames,c=typeof l=="string",d=c&&l?l+"-":"",u=c?""+d+s:l[s],p=c?u+"-active":l[s+"Active"],m=c?u+"-done":l[s+"Done"];return{baseClassName:u,activeClassName:p,doneClassName:m}},n}var r=e.prototype;return r.addClass=function(o,a,i){var s=this.getClassNames(a)[i+"ClassName"],l=this.getClassNames("enter"),c=l.doneClassName;a==="appear"&&i==="done"&&c&&(s+=" "+c),i==="active"&&o&&ex(o),s&&(this.appliedClasses[a][i]=s,Gle(o,s))},r.removeClasses=function(o,a){var i=this.appliedClasses[a],s=i.base,l=i.active,c=i.done;this.appliedClasses[a]={},s&&EL(o,s),l&&EL(o,l),c&&EL(o,c)},r.render=function(){var o=this.props,a=o.classNames,i=JS(o,["classNames"]);return _L.default.createElement(U6,XS({},i,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},e})(_L.default.Component);NL.defaultProps={classNames:""};NL.propTypes={};var RL=NL;var V=T(E()),ML=class extends tx.PureComponent{_fileInput=null;state={isLoadFromUrlPressed:!1};_takeInputRef=e=>{this._fileInput=e};_uploadProfileFromFile=async()=>{this._fileInput&&this._fileInput.files?.[0]&&this.props.onLoadProfileFromFileRequested(this._fileInput.files[0])};_loadFromFilePressed=()=>{this._fileInput&&this._fileInput.click()};_loadFromUrlPressed=e=>{e.preventDefault(),this.setState(r=>({isLoadFromUrlPressed:!r.isLoadFromUrlPressed}))};render(){return(0,V.jsxs)("div",{className:"homeSectionLoadProfile",children:[(0,V.jsxs)("div",{className:"homeSectionActionButtons",children:[(0,V.jsx)("input",{className:"homeSectionUploadFromFileInput",type:"file",ref:this._takeInputRef,onChange:this._uploadProfileFromFile}),(0,V.jsx)(P,{id:"Home--upload-from-file-input-button",children:(0,V.jsx)("button",{type:"button",className:"homeSectionButton",onClick:this._loadFromFilePressed,children:"Load a profile from file"})}),(0,V.jsx)(P,{id:"Home--upload-from-url-button",children:(0,V.jsx)("button",{type:"button",className:"homeSectionButton",onClick:this._loadFromUrlPressed,"aria-expanded":this.state.isLoadFromUrlPressed,children:"Load a profile from a URL"})})]}),this.state.isLoadFromUrlPressed?(0,V.jsx)(LL,{onLoadProfileFromUrlRequested:this.props.onLoadProfileFromUrlRequested}):null]})}},LL=class extends tx.PureComponent{state={value:""};handleChange=e=>{e.preventDefault(),this.setState({value:e.currentTarget.value})};_upload=e=>{e.preventDefault(),this.state.value&&this.props.onLoadProfileFromUrlRequested(this.state.value)};render(){return(0,V.jsxs)("form",{className:"homeSectionLoadFromUrl",onSubmit:this._upload,children:[(0,V.jsx)("input",{className:"homeSectionLoadFromUrlInput photon-input",type:"url",placeholder:"https://",value:this.state.value,onChange:this.handleChange,autoFocus:!0}),(0,V.jsx)(P,{id:"Home--load-from-url-submit-button",attrs:{value:!0},children:(0,V.jsx)("input",{type:"submit",className:"homeSectionButton homeSectionLoadFromUrlSubmitButton",value:"Load"})})]})}};function bh(){return(0,V.jsxs)("a",{href:"/docs/",className:"homeSectionButton",children:[(0,V.jsx)("span",{className:"homeSectionDocsIcon"}),(0,V.jsx)(P,{id:"Home--documentation-button",children:"Documentation"})]})}function vh(t){return(0,V.jsx)(RL,{...t,classNames:"homeTransition",timeout:300,exit:!1})}var DL=class extends tx.PureComponent{constructor(e){super(e);let r="other-browser";$le()?Vle()?r="firefox-android":(r="checking-webchannel",NG().then(n=>{this.setState({popupInstallPhase:n?"popup-enabled":"suggest-enable-popup"})},()=>{this.setState({popupInstallPhase:"webchannel-unavailable"})})):zle()&&(r="suggest-chrome-extension"),this.state={popupInstallPhase:r}}_renderInstructions(){let{popupInstallPhase:e}=this.state;switch(e){case"checking-webchannel":case"suggest-enable-popup":return this._renderEnablePopupInstructions(!0);case"webchannel-unavailable":return this._renderEnablePopupInstructions(!1);case"popup-enabled":return this._renderRecordInstructions(F6);case"firefox-android":return this._renderFenixInstructions();case"suggest-chrome-extension":return this._renderChromeInstructions();case"other-browser":return this._renderOtherBrowserInstructions();default:throw Y(e,"Unhandled PopupInstallPhase")}}_enableMenuButton=e=>{e.preventDefault(),RG().then(()=>{this.setState({popupInstallPhase:"popup-enabled"})},r=>{console.error("Unable to enable the profiler popup button.",r)})};_renderEnablePopupInstructions(e){return(0,V.jsx)(vh,{children:(0,V.jsxs)("div",{className:"homeInstructions","data-testid":"home-enable-popup-instructions",children:[(0,V.jsx)("img",{className:"homeSectionScreenshot",src:Xu,alt:"screenshot of profiler.firefox.com"}),(0,V.jsxs)("div",{children:[(0,V.jsx)(P,{id:"Home--enable-button-unavailable",attrs:{title:!e},children:(0,V.jsxs)("button",{type:"button",className:"homeSectionButton",onClick:this._enableMenuButton,disabled:!e,title:e?void 0:"This profiler instance was unable to connect to the WebChannel, so it cannot enable the profiler menu button.",children:[(0,V.jsx)("span",{className:"homeSectionPlus",children:"+"}),(0,V.jsx)(P,{id:"Home--menu-button",children:"Enable Profiler Menu Button"})]})}),(0,V.jsx)(bh,{}),e?(0,V.jsx)(P,{id:"Home--menu-button-instructions",children:(0,V.jsx)("p",{children:"Enable the profiler menu button to start recording a performance profile in Firefox, then analyze it and share it with profiler.firefox.com."})}):(0,V.jsx)(P,{id:"Home--web-channel-unavailable",elems:{code:(0,V.jsx)("code",{})},children:(0,V.jsxs)("p",{children:["This profiler instance was unable to connect to the WebChannel. This usually means that it\u2019s running on a different host from the one that is specified in the preference"," ",(0,V.jsx)("code",{children:"devtools.performance.recording.ui-base-url"}),". If you would like to capture new profiles with this instance, and give it programmatic control of the profiler menu button, you can go to ",(0,V.jsx)("code",{children:"about:config"}),"and change the preference."]})}),(0,V.jsx)(P,{id:"Home--profile-firefox-android-instructions",elems:{a:(0,V.jsx)("a",{href:"https://profiler.firefox.com/docs/#/./guide-profiling-android-directly-on-device?id=profiling-firefox-for-android-directly-on-device"})},children:(0,V.jsxs)("p",{children:["You can also profile Firefox for Android. For more information, please consult this documentation:"," ",(0,V.jsx)("a",{children:"Profiling Firefox for Android directly on device"}),"."]})})]})]})},0)}_renderFenixInstructions(){return(0,V.jsx)(vh,{children:(0,V.jsxs)("div",{className:"homeInstructions","data-testid":"home-fenix-instructions",children:[(0,V.jsx)("img",{className:"homeSectionScreenshot",src:Xu,alt:"screenshot of profiler.firefox.com"}),(0,V.jsxs)("div",{children:[(0,V.jsx)(bh,{}),(0,V.jsx)(P,{id:"Home--fenix-instructions-directly",elems:{a:(0,V.jsx)("a",{href:"https://profiler.firefox.com/docs/#/./guide-profiling-android-directly-on-device?id=profiling-firefox-for-android-directly-on-device"})},children:(0,V.jsxs)("p",{children:["Firefox for Android can be profiled directly on this device. For more information, read"," ",(0,V.jsx)("a",{children:"Profiling Firefox for Android directly on device"}),"."]})}),(0,V.jsx)(P,{id:"Home--fenix-instructions-remotely",elems:{a:(0,V.jsx)("a",{href:"https://profiler.firefox.com/docs/#/./guide-remote-profiling?id=remote-profiling-firefox-for-android"})},children:(0,V.jsxs)("p",{children:["You can also profile Firefox for Android remotely from Firefox for desktop. For more information, please consult this documentation: ",(0,V.jsx)("a",{children:"Profiling Firefox for Android remotely"}),"."]})})]})]})},0)}_renderChromeInstructions(){let e="https://chromewebstore.google.com/detail/firefox-profiler/ljmahpnflmbkgaipnfbpgjipcnahlghn";return(0,V.jsx)(vh,{children:(0,V.jsxs)("div",{className:"homeInstructions","data-testid":"home-enable-popup-instructions",children:[(0,V.jsx)("img",{className:"homeSectionScreenshot",src:Xu,alt:"screenshot of profiler.firefox.com"}),(0,V.jsxs)("div",{children:[(0,V.jsxs)("a",{className:"homeSectionButton",href:e,target:"_blank",rel:"noreferrer",children:[(0,V.jsx)("span",{className:"homeSectionPlus",children:"+"}),(0,V.jsx)(P,{id:"Home--install-chrome-extension",children:"Install the Chrome extension"})]}),(0,V.jsx)(bh,{}),(0,V.jsx)(P,{id:"Home--chrome-extension-instructions",elems:{a:(0,V.jsx)("a",{href:e,target:"_blank",rel:"noreferrer"})},children:(0,V.jsxs)("p",{children:["Use the ",(0,V.jsx)("a",{children:"Firefox Profiler extension for Chrome"})," to capture performance profiles in Chrome and analyze them in the Firefox Profiler. Install the extension from the Chrome Web Store."]})}),(0,V.jsx)(P,{id:"Home--chrome-extension-recording-instructions",children:(0,V.jsx)("p",{children:"Once installed, use the extension\u2019s toolbar icon or the shortcuts to start and stop profiling. You can also export profiles and load them here for detailed analysis."})}),this._renderShortcuts()]})]})},0)}_renderRecordInstructions(e){return(0,V.jsx)(vh,{children:(0,V.jsxs)("div",{className:"homeInstructions","data-testid":"home-record-instructions",children:[(0,V.jsx)("img",{className:"homeSectionScreenshot",src:e,alt:"Screenshot of the profiler settings from the Firefox menu."}),(0,V.jsxs)("div",{children:[(0,V.jsx)(bh,{}),(0,V.jsx)(P,{id:"Home--record-instructions",elems:{kbd:(0,V.jsx)("kbd",{})},children:(0,V.jsxs)("p",{children:["To start profiling, click on the profiling button, or use the keyboard shortcuts. The icon is blue when a profile is recording. Hit ",(0,V.jsx)("kbd",{children:"Capture"})," to load the data into profiler.firefox.com."]})}),this._renderShortcuts(),(0,V.jsx)(P,{id:"Home--profile-firefox-android-instructions",elems:{a:(0,V.jsx)("a",{href:"https://profiler.firefox.com/docs/#/./guide-profiling-android-directly-on-device?id=profiling-firefox-for-android-directly-on-device"})},children:(0,V.jsxs)("p",{children:["You can also profile Firefox for Android. For more information, please consult this documentation:"," ",(0,V.jsx)("a",{children:"Profiling Firefox for Android directly on device"}),"."]})})]})]})},1)}_renderOtherBrowserInstructions(){return(0,V.jsx)(vh,{children:(0,V.jsxs)("div",{className:"homeInstructions","data-testid":"home-other-browser-instructions",children:[(0,V.jsx)("img",{className:"homeSectionScreenshot",src:Xu,alt:"screenshot of profiler.firefox.com"}),(0,V.jsxs)("div",{children:[(0,V.jsx)(bh,{}),(0,V.jsx)(P,{id:"Home--instructions-content",elems:{a:(0,V.jsx)("a",{href:"https://www.mozilla.org/en-US/firefox/new/"})},children:(0,V.jsxs)("p",{children:["Recording performance profiles requires"," ",(0,V.jsx)("a",{href:"https://www.mozilla.org/en-US/firefox/new/",children:"Firefox"}),". However, existing profiles can be viewed in any modern browser."]})}),(0,V.jsx)(P,{id:"Home--profile-firefox-android-instructions",elems:{a:(0,V.jsx)("a",{href:"https://profiler.firefox.com/docs/#/./guide-profiling-android-directly-on-device?id=profiling-firefox-for-android-directly-on-device"})},children:(0,V.jsxs)("p",{children:["You can also profile Firefox for Android. For more information, please consult this documentation:"," ",(0,V.jsx)("a",{children:"Profiling Firefox for Android directly on device"}),"."]})})]})]})},0)}_renderShortcuts(){return(0,V.jsxs)("div",{children:[(0,V.jsxs)("p",{children:[(0,V.jsx)("kbd",{children:"Ctrl"}),"+",(0,V.jsx)("kbd",{children:"Shift"}),"+",(0,V.jsx)("kbd",{children:"1"})," ",(0,V.jsx)(P,{id:"Home--record-instructions-start-stop",children:"Stop and start profiling"})]}),(0,V.jsxs)("p",{children:[(0,V.jsx)("kbd",{children:"Ctrl"}),"+",(0,V.jsx)("kbd",{children:"Shift"}),"+",(0,V.jsx)("kbd",{children:"2"})," ",(0,V.jsx)(P,{id:"Home--record-instructions-capture-load",children:"Capture and load profile"})]})]})}_onLoadProfileFromFileRequested=e=>{this.props.retrieveProfileFromFile(e,this.props.browserConnection)};_onLoadProfileFromUrlRequested=e=>{this.props.triggerLoadingFromUrl(e)};render(){let{specialMessage:e}=this.props;return(0,V.jsx)("div",{className:"home",children:(0,V.jsxs)("main",{className:"homeSection",children:[(0,V.jsx)(Xs,{}),e?(0,V.jsx)("div",{className:"homeSpecialMessage",children:e}):null,(0,V.jsx)(P,{id:"Home--profiler-motto",children:(0,V.jsx)("p",{children:"Capture a performance profile. Analyze it. Share it. Make Ruby faster."})}),(0,V.jsxs)("div",{className:"homeInstructions","data-testid":"home-enable-popup-instructions",children:[(0,V.jsx)("img",{className:"homeSectionScreenshot",src:Xu,alt:"screenshot of profiler.firefox.com"}),(0,V.jsxs)("div",{children:["Capture a profile from your ruby program by installing the `vernier` gem and then recording a profile using one of the following:",(0,V.jsx)("br",{}),(0,V.jsx)("br",{}),"To profile a single expensive method call",(0,V.jsxs)("pre",{children:['Vernier.profile(out: "profile.vernier.json") do',(0,V.jsx)("br",{}),"\xA0\xA0some_slow_method()",(0,V.jsx)("br",{}),"end"]}),"To profile a full program run (great for measuring test runs)",(0,V.jsx)("pre",{children:"$ vernier run -- bundle exec ruby ..."}),"Or browse a demo:",(0,V.jsxs)("ul",{children:[(0,V.jsx)("li",{children:(0,V.jsx)("a",{href:"/from-url/https%3A%2F%2Fraw.githubusercontent.com%2Fjhawthorn%2Fvernier-examples%2Fmain%2Fsimple_rails_request.json/calltree/?globalTrackOrder=0&thread=0&timelineType=category&v=10",children:"Simple Rails request"})}),(0,V.jsx)("li",{children:(0,V.jsx)("a",{href:"/from-url/https%3A%2F%2Fjhawthorn.github.io%2Fvernier-examples%2Fbundler.json/stack-chart/?globalTrackOrder=0&hiddenLocalTracksByPid=727970-0&thread=0&timelineType=category&v=10",children:"bundler (bundle lock)"})})]}),"For more options check the ",(0,V.jsx)("a",{href:"https://github.com/jhawthorn/vernier#README",children:"README on GitHub"})]})]}),(0,V.jsxs)("section",{className:"homeAdditionalContent",children:[(0,V.jsx)("h2",{className:"homeAdditionalContentTitle protocol-display-xs",children:(0,V.jsx)(P,{id:"Home--additional-content-title",children:"Load existing profiles"})}),(0,V.jsxs)("section",{className:"homeActions",children:[(0,V.jsx)(P,{id:"Home--additional-content-content",elems:{strong:(0,V.jsx)("strong",{})},children:(0,V.jsxs)("p",{children:["You can ",(0,V.jsx)("strong",{children:"drag and drop"})," a profile file here to load it, or:"]})}),(0,V.jsx)(ML,{onLoadProfileFromFileRequested:this._onLoadProfileFromFileRequested,onLoadProfileFromUrlRequested:this._onLoadProfileFromUrlRequested}),(0,V.jsxs)("p",{children:["This web interface is just a few modifications on top of the",(0,V.jsx)("a",{href:"https://profiler.firefox.com/",children:"Firefox profiler"})," to adapt better to Ruby profiling. Vernier profiles are compatble with either tool."]}),(0,V.jsx)(P,{id:"Home--compare-recordings-info",elems:{a:(0,V.jsx)(Ys,{dataSource:"compare",children:"Compare"})},children:(0,V.jsxs)("p",{children:["You can also compare recordings."," ",(0,V.jsx)(Ys,{dataSource:"compare",children:"Open the comparing interface."})]})})]}),(0,V.jsxs)("section",{children:[(0,V.jsx)("h2",{className:"homeRecentUploadedRecordingsTitle protocol-display-xxs",children:(0,V.jsx)(P,{id:"Home--your-recent-uploaded-recordings-title",children:"Your recent uploaded recordings"})}),(0,V.jsx)(qu,{limit:3,withActionButtons:!1})]})]}),(0,V.jsx)(Yu,{})]})})}};function $le(){return!!navigator.userAgent.match(/Firefox\/\d+\.\d+/)}function zle(){return!!navigator.userAgent.match(/Chrome\/\d+\.\d+/)}function Vle(){return!!navigator.userAgent.match(/\bAndroid\b/i)}var AL=H({mapStateToProps:t=>({browserConnection:Ko(t)}),mapDispatchToProps:{retrieveProfileFromFile:rf,triggerLoadingFromUrl:T0},component:DL});var G6=T(U());var Fr=T(E()),OL=class extends G6.PureComponent{state={profile1:"",profile2:""};handleInputChange=e=>{let{name:r,value:n}=e.target;this.setState(o=>({...o,[r]:n}))};handleFormSubmit=e=>{e.preventDefault();let{profile1:r,profile2:n}=this.state,{changeProfilesToCompare:o}=this.props;o([r,n])};render(){let{profile1:e,profile2:r}=this.state;return(0,Fr.jsxs)("main",{className:"compareHome",children:[(0,Fr.jsx)(Xs,{}),(0,Fr.jsx)("h2",{className:"photon-title-20",children:(0,Fr.jsx)(P,{id:"CompareHome--instruction-title",children:"Enter the profile URLs that you\u2019d like to compare"})}),(0,Fr.jsx)("p",{className:"photon-body-20",children:(0,Fr.jsx)(P,{id:"CompareHome--instruction-content",children:"The tool will extract the data from the selected track and range for each profile, and put them both on the same view to make them easy to compare."})}),(0,Fr.jsxs)("form",{className:"compareHomeForm",onSubmit:this.handleFormSubmit,children:[(0,Fr.jsx)("label",{className:"compareHomeFormLabel",htmlFor:"compareHomeProfile1",children:(0,Fr.jsx)(P,{id:"CompareHome--form-label-profile1",children:"Profile 1:"})}),(0,Fr.jsx)("input",{name:"profile1",id:"compareHomeProfile1",className:"photon-input",type:"url",required:!0,placeholder:"http://",onChange:this.handleInputChange,value:e}),(0,Fr.jsx)("label",{className:"compareHomeFormLabel",htmlFor:"compareHomeProfile2",children:(0,Fr.jsx)(P,{id:"CompareHome--form-label-profile2",children:"Profile 2:"})}),(0,Fr.jsx)("input",{name:"profile2",id:"compareHomeProfile2",className:"photon-input",type:"url",required:!0,placeholder:"http://",onChange:this.handleInputChange,value:r}),(0,Fr.jsx)(P,{id:"CompareHome--submit-button",attrs:{value:!0},children:(0,Fr.jsx)("input",{className:"compareHomeSubmitButton photon-button photon-button-primary",type:"submit",value:"Retrieve profiles"})})]})]})}},$6=H({mapDispatchToProps:{changeProfilesToCompare:R0},component:OL});var z6=T(U());var gc=T(E()),rx=class extends z6.PureComponent{render(){return(0,gc.jsxs)("main",{className:"uploadedRecordingsHome",children:[(0,gc.jsx)(Xs,{}),(0,gc.jsx)("h2",{className:"photon-title-30",children:(0,gc.jsx)(P,{id:"UploadedRecordingsHome--title",children:"Uploaded Recordings"})}),(0,gc.jsx)(qu,{withActionButtons:!0})]})}};var Cr=T(E()),Wle=Object.freeze({"from-browser":"AppViewRouter--error-unpublished","from-post-message":"AppViewRouter--error-from-post-message",unpublished:"AppViewRouter--error-unpublished","from-file":"AppViewRouter--error-from-file",local:"AppViewRouter--error-local",public:"AppViewRouter--error-public","from-url":"AppViewRouter--error-from-url",compare:"AppViewRouter--error-compare"}),FL=class extends V6.PureComponent{render(){let{view:e,dataSource:r,profilesToCompare:n,hasZipFile:o}=this.props,a=e.phase;switch(r){case"none":return(0,Cr.jsx)(AL,{});case"compare":if(n===null)return(0,Cr.jsx)($6,{});break;case"uploaded-recordings":return(0,Cr.jsx)(rx,{});case"from-browser":case"from-post-message":case"unpublished":case"from-file":case"local":case"public":case"from-url":break;default:throw Y(r)}switch(a){case"INITIALIZING":case"PROFILE_LOADED":case"DATA_RELOAD":return(0,Cr.jsx)(Zb,{});case"FATAL_ERROR":{let i=Wle[r]||"AppViewRouter--error-public",s=null;return e.error&&(e.error.name==="SafariLocalhostHTTPLoadError"?i="AppViewRouter--error-from-localhost-url-safari":(console.error(e.error),s=(0,Cr.jsxs)(Cr.Fragment,{children:[(0,Cr.jsx)("p",{children:e.error.toString()}),(0,Cr.jsx)("p",{children:"The full stack has been written to the Web Console."})]}))),(0,Cr.jsx)(P,{id:i,attrs:{title:!0},elems:{a:(0,Cr.jsx)("a",{href:"https://bugs.webkit.org/show_bug.cgi?id=171934",target:"_blank",rel:"noopener noreferrer"})},children:(0,Cr.jsx)(Fd,{additionalMessage:s,showLoader:!1,showBackHomeLink:r==="from-file",children:`missing translation for ${i}`})})}case"DATA_LOADED":return o?(0,Cr.jsx)(N6,{}):(0,Cr.jsx)(KS,{});case"TRANSITIONING_FROM_STALE_PROFILE":return null;default:if(a!=="ROUTE_NOT_FOUND")throw Y(a);return(0,Cr.jsx)(P,{id:"AppViewRouter--route-not-found--home",attrs:{specialMessage:!0},children:(0,Cr.jsx)(AL,{specialMessage:"The URL you tried to reach was not recognized."})})}}},W6=H({mapStateToProps:t=>({view:ho(t),dataSource:ir(t),profilesToCompare:cm(t),hasZipFile:wm(t)}),component:FL});var j6=T(U());var BL=class extends j6.PureComponent{_retrieveProfileFromDataSource=async()=>{let{dataSource:e,browserConnectionStatus:r,hash:n,profileUrl:o,profilesToCompare:a,retrieveProfileFromBrowser:i,retrieveProfileFromStore:s,retrieveProfileOrZipFromUrl:l,retrieveProfilesToCompare:c}=this.props;switch(e){case"from-browser":{i(r);break}case"from-file":break;case"local":break;case"public":s(n).catch(d=>console.error(d));break;case"from-url":l(o).catch(d=>console.error(d));break;case"compare":a&&c(a);break;case"from-post-message":case"uploaded-recordings":case"unpublished":case"none":break;default:throw Y(e)}};componentDidUpdate(e){e.dataSource==="none"&&this.props.dataSource!=="none"?this._retrieveProfileFromDataSource():this.props.dataSource==="compare"&&!e.profilesToCompare&&this.props.profilesToCompare&&this.props.retrieveProfilesToCompare(this.props.profilesToCompare)}render(){return null}},K6=H({mapStateToProps:t=>({dataSource:ir(t),hash:Cl(t),profileUrl:ii(t),profilesToCompare:cm(t),browserConnectionStatus:Pd(t)}),mapDispatchToProps:{retrieveProfileFromStore:Wb,retrieveProfileOrZipFromUrl:tf,retrieveProfileFromBrowser:zb,retrieveProfilesToCompare:jb},component:BL});var Q6=T(U());try{self["workbox:window:7.3.0"]&&_()}catch{}function Y6(t,e){return new Promise((function(r){var n=new MessageChannel;n.port1.onmessage=function(o){r(o.data)},t.postMessage(e,[n.port2])}))}function q6(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function X6(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,Kle(n.key),n)}}function jle(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r)return(r=r.call(t)).next.bind(r);if(Array.isArray(t)||(r=(function(o,a){if(o){if(typeof o=="string")return q6(o,a);var i={}.toString.call(o).slice(8,-1);return i==="Object"&&o.constructor&&(i=o.constructor.name),i==="Map"||i==="Set"?Array.from(o):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?q6(o,a):void 0}})(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
233
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function GL(t,e){return GL=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},GL(t,e)}function Kle(t){var e=(function(r,n){if(typeof r!="object"||!r)return r;var o=r[Symbol.toPrimitive];if(o!==void 0){var a=o.call(r,n||"default");if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(r)})(t,"string");return typeof e=="symbol"?e:e+""}try{self["workbox:core:7.3.0"]&&_()}catch{}var HL=function(){var t=this;this.promise=new Promise((function(e,r){t.resolve=e,t.reject=r}))};function UL(t,e){var r=location.href;return new URL(t,r).href===new URL(e,r).href}var Th=function(t,e){this.type=t,Object.assign(this,e)};function Js(t,e,r){return r?e?e(t):t:(t&&t.then||(t=Promise.resolve(t)),e?t.then(e):t)}function Yle(){}var qle={type:"SKIP_WAITING"};function J6(t,e){if(!e)return t&&t.then?t.then(Yle):Promise.resolve()}var Z6=(function(t){function e(a,i){var s,l;return i===void 0&&(i={}),(s=t.call(this)||this).nn={},s.tn=0,s.rn=new HL,s.en=new HL,s.on=new HL,s.un=0,s.an=new Set,s.cn=function(){var c=s.fn,d=c.installing;s.tn>0||!UL(d.scriptURL,s.sn.toString())||performance.now()>s.un+6e4?(s.vn=d,c.removeEventListener("updatefound",s.cn)):(s.hn=d,s.an.add(d),s.rn.resolve(d)),++s.tn,d.addEventListener("statechange",s.ln)},s.ln=function(c){var d=s.fn,u=c.target,p=u.state,m=u===s.vn,f={sw:u,isExternal:m,originalEvent:c};!m&&s.mn&&(f.isUpdate=!0),s.dispatchEvent(new Th(p,f)),p==="installed"?s.wn=self.setTimeout((function(){p==="installed"&&d.waiting===u&&s.dispatchEvent(new Th("waiting",f))}),200):p==="activating"&&(clearTimeout(s.wn),m||s.en.resolve(u))},s.yn=function(c){var d=s.hn,u=d!==navigator.serviceWorker.controller;s.dispatchEvent(new Th("controlling",{isExternal:u,originalEvent:c,sw:d,isUpdate:s.mn})),u||s.on.resolve(d)},s.gn=(l=function(c){var d=c.data,u=c.ports,p=c.source;return Js(s.getSW(),(function(){s.an.has(p)&&s.dispatchEvent(new Th("message",{data:d,originalEvent:c,ports:u,sw:p}))}))},function(){for(var c=[],d=0;d<arguments.length;d++)c[d]=arguments[d];try{return Promise.resolve(l.apply(this,c))}catch(u){return Promise.reject(u)}}),s.sn=a,s.nn=i,navigator.serviceWorker.addEventListener("message",s.gn),s}var r,n;n=t,(r=e).prototype=Object.create(n.prototype),r.prototype.constructor=r,GL(r,n);var o=e.prototype;return o.register=function(a){var i=(a===void 0?{}:a).immediate,s=i!==void 0&&i;try{var l=this;return Js((function(c,d){var u=c();return u&&u.then?u.then(d):d(u)})((function(){if(!s&&document.readyState!=="complete")return J6(new Promise((function(c){return window.addEventListener("load",c)})))}),(function(){return l.mn=!!navigator.serviceWorker.controller,l.dn=l.pn(),Js(l.bn(),(function(c){l.fn=c,l.dn&&(l.hn=l.dn,l.en.resolve(l.dn),l.on.resolve(l.dn),l.dn.addEventListener("statechange",l.ln,{once:!0}));var d=l.fn.waiting;return d&&UL(d.scriptURL,l.sn.toString())&&(l.hn=d,Promise.resolve().then((function(){l.dispatchEvent(new Th("waiting",{sw:d,wasWaitingBeforeRegister:!0}))})).then((function(){}))),l.hn&&(l.rn.resolve(l.hn),l.an.add(l.hn)),l.fn.addEventListener("updatefound",l.cn),navigator.serviceWorker.addEventListener("controllerchange",l.yn),l.fn}))})))}catch(c){return Promise.reject(c)}},o.update=function(){try{return this.fn?Js(J6(this.fn.update())):Js()}catch(a){return Promise.reject(a)}},o.getSW=function(){return this.hn!==void 0?Promise.resolve(this.hn):this.rn.promise},o.messageSW=function(a){try{return Js(this.getSW(),(function(i){return Y6(i,a)}))}catch(i){return Promise.reject(i)}},o.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&Y6(this.fn.waiting,qle)},o.pn=function(){var a=navigator.serviceWorker.controller;return a&&UL(a.scriptURL,this.sn.toString())?a:void 0},o.bn=function(){try{var a=this;return Js((function(i,s){try{var l=i()}catch(c){return s(c)}return l&&l.then?l.then(void 0,s):l})((function(){return Js(navigator.serviceWorker.register(a.sn,a.nn),(function(i){return a.un=performance.now(),i}))}),(function(i){throw i})))}catch(i){return Promise.reject(i)}},(function(a,i,s){return i&&X6(a.prototype,i),s&&X6(a,s),Object.defineProperty(a,"prototype",{writable:!1}),a})(e,[{key:"active",get:function(){return this.en.promise}},{key:"controlling",get:function(){return this.on.promise}}])})((function(){function t(){this.Pn=new Map}var e=t.prototype;return e.addEventListener=function(r,n){this.jn(r).add(n)},e.removeEventListener=function(r,n){this.jn(r).delete(n)},e.dispatchEvent=function(r){r.target=this;for(var n,o=jle(this.jn(r.type));!(n=o()).done;)(0,n.value)(r)},e.jn=function(r){return this.Pn.has(r)||this.Pn.set(r,new Set),this.Pn.get(r)},t})());var Wt=T(E()),$L=class extends Q6.PureComponent{state={installStatus:"idle",isNoticeDisplayed:!1,updatedWhileNotReady:!1};_workbox=null;_installServiceWorker(){if(!("serviceWorker"in navigator))return;let e=this._workbox=new Z6("/sw.js",{updateViaCache:"none"});e.register(),e.addEventListener("installing",()=>{console.log("[ServiceWorker] An update has been found and the browser is downloading the new assets.")}),e.addEventListener("installed",()=>{console.log("[ServiceWorker] App is ready for offline usage!")}),e.addEventListener("waiting",()=>{console.log("[ServiceWorker] We have downloaded the new assets and we are ready to go."),this.setState({installStatus:"pending",isNoticeDisplayed:!0})}),e.addEventListener("controlling",()=>{if(console.log("[ServiceWorker] The new version of the application has started handling the fetch requests."),this.state.installStatus==="activating"){this.reloadPage();return}let r=!this._hasDataSourceProfile()||this._isProfileLoadedAndReady();this.setState({installStatus:"controlling",updatedWhileNotReady:!r})})}_hasDataSourceProfile(){let{dataSource:e}=this.props;switch(e){case"none":case"uploaded-recordings":return!1;case"from-file":case"from-browser":case"from-post-message":case"unpublished":case"public":case"from-url":case"compare":case"local":return!0;default:throw Y(e)}}_isProfileLoadedAndReady(){let{phase:e,symbolicationStatus:r}=this.props;if(e!=="DATA_LOADED")return!1;switch(r){case"DONE":return!0;case"SYMBOLICATING":return!1;default:throw Y(r)}}_canUpdateServiceWorker(){let{dataSource:e,profileUrl:r}=this.props;switch(e){case"none":case"uploaded-recordings":return!0;case"from-file":case"from-browser":case"from-post-message":case"unpublished":return!1;case"from-url":if(po(r))return!1;case"public":case"compare":case"local":return this._isProfileLoadedAndReady();default:throw Y(e)}}componentDidMount(){this._installServiceWorker()}componentDidUpdate(){let{phase:e,dataSource:r}=this.props,{installStatus:n}=this.state;this._workbox&&n!=="idle"&&e==="FATAL_ERROR"&&r!=="from-file"&&(this._workbox.messageSkipWaiting(),this.reloadPage())}applyServiceWorkerUpdate=()=>{let e=this._workbox;e&&(this.setState({installStatus:"activating"}),e.messageSkipWaiting())};reloadPage=()=>{window.location.reload()};_onCloseNotice=()=>{this.setState({isNoticeDisplayed:!1})};renderButton(){let{installStatus:e}=this.state;switch(e){case"activating":return(0,Wt.jsx)(P,{id:"ServiceWorkerManager--applying-button",children:(0,Wt.jsx)("button",{className:"photon-button photon-button-micro photon-message-bar-action-button",type:"button",children:"Applying\u2026"})});case"idle":throw new Error("We tried to render the notice's button but because we're in status 'idle', there should be no notice.");case"pending":return(0,Wt.jsx)(P,{id:"ServiceWorkerManager--pending-button",children:(0,Wt.jsx)("button",{className:"photon-button photon-button-micro photon-message-bar-action-button",type:"button",onClick:this.applyServiceWorkerUpdate,children:"Apply and reload"})});case"controlling":return(0,Wt.jsx)(P,{id:"ServiceWorkerManager--installed-button",children:(0,Wt.jsx)("button",{className:"photon-button photon-button-micro photon-message-bar-action-button",type:"button",onClick:this.reloadPage,children:"Reload the application"})});default:throw Y(e)}}render(){let{isNoticeDisplayed:e,updatedWhileNotReady:r}=this.state;return e?r?(0,Wt.jsx)("div",{className:"serviceworker-ready-notice-wrapper",children:(0,Wt.jsxs)("div",{className:"photon-message-bar photon-message-bar-warning serviceworker-ready-notice",children:[(0,Wt.jsxs)("div",{className:"photon-message-bar-inner-content",children:[(0,Wt.jsx)("div",{className:"photon-message-bar-inner-text",children:(0,Wt.jsx)(P,{id:"ServiceWorkerManager--updated-while-not-ready",children:"A new version of the application was applied before this page was fully loaded. You might see malfunctions."})}),this._canUpdateServiceWorker()?this.renderButton():null]}),(0,Wt.jsx)(P,{id:"ServiceWorkerManager--hide-notice-button",attrs:{"aria-label":!0,title:!0},children:(0,Wt.jsx)("button",{"aria-label":"Hide the reload notice",title:"Hide the reload notice",className:"photon-button photon-message-bar-close-button",type:"button",onClick:this._onCloseNotice})})]})}):this._canUpdateServiceWorker()?(0,Wt.jsx)("div",{className:"serviceworker-ready-notice-wrapper",children:(0,Wt.jsxs)("div",{className:"photon-message-bar serviceworker-ready-notice",children:[(0,Wt.jsxs)("div",{className:"photon-message-bar-inner-content",children:[(0,Wt.jsx)("div",{className:"photon-message-bar-inner-text",children:(0,Wt.jsx)(P,{id:"ServiceWorkerManager--new-version-is-ready",children:"A new version of the application has been downloaded and is ready to use."})}),this.renderButton()]}),(0,Wt.jsx)(P,{id:"ServiceWorkerManager--hide-notice-button",attrs:{"aria-label":!0,title:!0},children:(0,Wt.jsx)("button",{"aria-label":"Hide the reload notice",title:"Hide the reload notice",className:"photon-button photon-message-bar-close-button",type:"button",onClick:this._onCloseNotice})})]})}):null:null}},e7=H({mapStateToProps:t=>({phase:ho(t).phase,dataSource:ir(t),profileUrl:ii(t),symbolicationStatus:_l(t)}),component:$L});var t7=T(U());var yc=" \u2013 ",bc="Vernier Profiler",zL=class extends t7.PureComponent{_updateTitle(){let{profile:e,profileNameFromUrl:r,formattedMetaInfoString:n,fileNameInZipFilePath:o,listingZipFile:a,dataSource:i}=this.props;switch(i){case"none":document.title=bc;break;case"uploaded-recordings":document.title="Uploaded Recordings"+yc+bc;break;case"compare":document.title="Compare Profiles"+yc+bc;break;case"public":case"local":case"unpublished":case"from-browser":case"from-post-message":case"from-file":case"from-url":if(r)document.title=r+yc+bc;else if(e){let{meta:s}=e,l="";n&&(l+=n),s.startTime>0&&(l+=yc+Xle(s.startTime+(s.profilingStartTime||0))),i==="public"&&(l+=` (${i})`),l!==""&&(l+=yc),l+=bc,o&&(l=o+yc+l),document.title=l}else a?document.title="Archive Contents"+yc+bc:document.title=bc;break;default:throw Y(i)}}componentDidMount(){this._updateTitle()}componentDidUpdate(){this._updateTitle()}render(){return null}};function Xle(t){return new Date(t).toLocaleString(void 0,{timeZone:"UTC",timeZoneName:"short"})}var r7=H({mapStateToProps:t=>({profileNameFromUrl:dm(t),fileNameInZipFilePath:fm(t),formattedMetaInfoString:Qy(t),profile:Vn(t),dataSource:ir(t),listingZipFile:jo(t).phase==="LIST_FILES_IN_ZIP_FILE"}),component:zL});var Jle="([a-z]{2,3}|\\*)",Zle="(?:-([a-z]{4}|\\*))",Qle="(?:-([a-z]{2}|\\*))",ece="(?:-(([0-9][a-z0-9]{3}|[a-z0-9]{5,8})|\\*))",tce=new RegExp(`^${Jle}${Zle}?${Qle}?${ece}?$`,"i"),Zs=class{constructor(e){let r=tce.exec(e.replace(/_/g,"-"));if(!r){this.isWellFormed=!1;return}let[,n,o,a,i]=r;n&&(this.language=n.toLowerCase()),o&&(this.script=o[0].toUpperCase()+o.slice(1)),a&&(this.region=a.toUpperCase()),this.variant=i,this.isWellFormed=!0}isEqual(e){return this.language===e.language&&this.script===e.script&&this.region===e.region&&this.variant===e.variant}matches(e,r=!1,n=!1){return(this.language===e.language||r&&this.language===void 0||n&&e.language===void 0)&&(this.script===e.script||r&&this.script===void 0||n&&e.script===void 0)&&(this.region===e.region||r&&this.region===void 0||n&&e.region===void 0)&&(this.variant===e.variant||r&&this.variant===void 0||n&&e.variant===void 0)}toString(){return[this.language,this.script,this.region,this.variant].filter(e=>e!==void 0).join("-")}clearVariants(){this.variant=void 0}clearRegion(){this.region=void 0}addLikelySubtags(){let e=nce(this.toString().toLowerCase());return e?(this.language=e.language,this.script=e.script,this.region=e.region,this.variant=e.variant,!0):!1}},n7={ar:"ar-arab-eg","az-arab":"az-arab-ir","az-ir":"az-arab-ir",be:"be-cyrl-by",da:"da-latn-dk",el:"el-grek-gr",en:"en-latn-us",fa:"fa-arab-ir",ja:"ja-jpan-jp",ko:"ko-kore-kr",pt:"pt-latn-br",sr:"sr-cyrl-rs","sr-ru":"sr-latn-ru",sv:"sv-latn-se",ta:"ta-taml-in",uk:"uk-cyrl-ua",zh:"zh-hans-cn","zh-hant":"zh-hant-tw","zh-hk":"zh-hant-hk","zh-mo":"zh-hant-mo","zh-tw":"zh-hant-tw","zh-gb":"zh-hant-gb","zh-us":"zh-hant-us"},rce=["az","bg","cs","de","es","fi","fr","hu","it","lt","lv","nl","pl","ro","ru"];function nce(t){if(Object.prototype.hasOwnProperty.call(n7,t))return new Zs(n7[t]);let e=new Zs(t);return e.language&&rce.includes(e.language)?(e.region=e.language.toUpperCase(),e):null}function VL(t,e,r){let n=new Set,o=new Map;for(let a of e)new Zs(a).isWellFormed&&o.set(a,new Zs(a));e:for(let a of t){let i=a.toLowerCase(),s=new Zs(i);if(s.language!==void 0){for(let l of o.keys())if(i===l.toLowerCase()){if(n.add(l),o.delete(l),r==="lookup")return Array.from(n);if(r==="filtering")continue;continue e}for(let[l,c]of o.entries())if(c.matches(s,!0,!1)){if(n.add(l),o.delete(l),r==="lookup")return Array.from(n);if(r==="filtering")continue;continue e}if(s.addLikelySubtags()){for(let[l,c]of o.entries())if(c.matches(s,!0,!1)){if(n.add(l),o.delete(l),r==="lookup")return Array.from(n);if(r==="filtering")continue;continue e}}s.clearVariants();for(let[l,c]of o.entries())if(c.matches(s,!0,!0)){if(n.add(l),o.delete(l),r==="lookup")return Array.from(n);if(r==="filtering")continue;continue e}if(s.clearRegion(),s.addLikelySubtags()){for(let[l,c]of o.entries())if(c.matches(s,!0,!1)){if(n.add(l),o.delete(l),r==="lookup")return Array.from(n);if(r==="filtering")continue;continue e}}s.clearRegion();for(let[l,c]of o.entries())if(c.matches(s,!0,!0)){if(n.add(l),o.delete(l),r==="lookup")return Array.from(n);if(r==="filtering")continue;continue e}}}return Array.from(n)}function WL(t,e,{strategy:r="filtering",defaultLocale:n}={}){let o=VL(Array.from(t??[]).map(String),Array.from(e??[]).map(String),r);if(r==="lookup"){if(n===void 0)throw new Error("defaultLocale cannot be undefined for strategy `lookup`");o.length===0&&o.push(n)}else n&&!o.includes(n)&&o.push(n);return o}var ox=T(U());var Qu=T(E()),jL=class extends ox.PureComponent{async _setupLocalization(){let{requestedLocales:e,pseudoStrategy:r,receiveL10n:n}=this.props;if(!e)return;let o=WL(e,rv,{defaultLocale:aE}),a=o.indexOf(aE),i=o.slice(0,a+1),s=await Promise.all(i.map(c$)),l=d$(s,r),c=new cd(l),d=o[0],u=u$(d,r);n(c,d,u)}componentDidMount(){this._setupLocalization()}componentDidUpdate(){this._setupLocalization()}render(){return null}},KL=class extends ox.PureComponent{componentDidMount(){let{requestL10n:e}=this.props;e(this._getPersistedLocale()??Array.from(navigator.languages))}componentDidUpdate(){this._persistCurrentLocale()}_getPersistedLocale(){let e;try{e=localStorage.getItem("requestedLocales")}catch(r){console.warn("We got an error while trying to retrieve the previously requested locale. Cookies might be blocked in this browser.",r)}if(e)try{let r=JSON.parse(e);if(Array.isArray(r)&&r.length)return r;console.warn(`The stored locale information (${e}) looks incorrect.`)}catch{console.warn(`We got an error when trying to parse the previously stored locale information (${e}).`)}return null}_persistCurrentLocale(){let{requestedLocales:e}=this.props;if(e)try{localStorage.setItem("requestedLocales",JSON.stringify(e))}catch(r){console.warn("We got an error when trying to save the current requested locale. We may run in private mode.",r)}}render(){return null}},Sh=null,nx=class extends ox.PureComponent{state={requestedLocales:null,pseudoStrategy:null,localization:new cd([]),primaryLocale:null,direction:"ltr"};componentDidMount(){this._updateLocalizationDocumentAttribute(),Sh=this}componentWillUnmount(){Sh===this&&(Sh=null)}componentDidUpdate(){this._updateLocalizationDocumentAttribute()}_updateLocalizationDocumentAttribute(){let{primaryLocale:e,direction:r}=this.state;e&&($(document.documentElement).setAttribute("dir",r),$(document.documentElement).setAttribute("lang",e))}_requestL10n=e=>{this.setState({requestedLocales:e})};_receiveL10n=(e,r,n)=>{this.setState({localization:e,primaryLocale:r,direction:n})};togglePseudoStrategy=e=>{this.setState({pseudoStrategy:e})};render(){let{primaryLocale:e,localization:r,requestedLocales:n,pseudoStrategy:o}=this.state,{children:a}=this.props,i={primaryLocale:e,requestL10n:this._requestL10n};return(0,Qu.jsxs)(nv.Provider,{value:i,children:[(0,Qu.jsx)(KL,{requestL10n:this._requestL10n,requestedLocales:n}),(0,Qu.jsx)(jL,{requestedLocales:n,pseudoStrategy:o,receiveL10n:this._receiveL10n}),e?(0,Qu.jsx)(Nk,{l10n:r,children:a}):null]})}};function o7(t){Sh&&Sh.togglePseudoStrategy(t)}var Dn=T(E()),ax=class extends a7.PureComponent{render(){let{store:e}=this.props;return(0,Dn.jsx)(v$,{message:"Uh oh, some unknown error happened in profiler.firefox.com.",children:(0,Dn.jsx)(m1,{store:e,children:(0,Dn.jsx)(nx,{children:(0,Dn.jsx)(P,{id:"Root--error-boundary-message",attrs:{message:!0},children:(0,Dn.jsx)(sv,{message:"Uh oh, some unknown error happened in profiler.firefox.com.",children:(0,Dn.jsx)(_6,{children:(0,Dn.jsxs)(VG,{children:[(0,Dn.jsx)(e7,{}),(0,Dn.jsx)(K6,{}),(0,Dn.jsx)(W6,{}),(0,Dn.jsx)(av,{}),(0,Dn.jsx)(r7,{})]})})})})})})})}};function oce(t){return({dispatch:r,getState:n})=>o=>a=>typeof a=="function"?a(r,n,t):o(a)}var i7=oce();var F5e=T(l7());var ace=(t={phase:"INITIALIZING"},e)=>{switch(e.type){case"TEMPORARY_ERROR":return{phase:"INITIALIZING",additionalData:{message:e.error.message,attempt:e.error.attempt}};case"FATAL_ERROR":return{phase:"FATAL_ERROR",error:e.error};case"WAITING_FOR_PROFILE_FROM_BROWSER":case"WAITING_FOR_PROFILE_FROM_URL":case"WAITING_FOR_PROFILE_FROM_FILE":return{phase:"INITIALIZING"};case"ROUTE_NOT_FOUND":return{phase:"ROUTE_NOT_FOUND"};case"REVERT_TO_PRE_PUBLISHED_STATE":case"SANITIZED_PROFILE_PUBLISHED":return{phase:"TRANSITIONING_FROM_STALE_PROFILE"};case"PROFILE_LOADED":return{phase:"PROFILE_LOADED"};case"DATA_RELOAD":return{phase:"DATA_RELOAD"};case"RECEIVE_ZIP_FILE":case"VIEW_FULL_PROFILE":case"CHANGE_TAB_FILTER":return{phase:"DATA_LOADED"};default:return t}},ice=(t="initial-load",e)=>{switch(e.type){case"START_FETCHING_PROFILES":return"loading-profile";case"ROUTE_NOT_FOUND":case"FATAL_ERROR":case"URL_SETUP_DONE":return"done";default:return t}},sce=(t=!1,e)=>e.type==="HAS_ZOOMED_VIA_MOUSEWHEEL"?!0:t;function lce(){let t={};return ni.forEach(e=>t[e]=!1),t.calltree=!0,t["marker-table"]=!0,t}var cce=(t=lce(),e)=>{if(e.type==="CHANGE_SIDEBAR_OPEN_STATE"){let{tab:r,isOpen:n}=e;return{...t,[r]:n}}else return t},dce=(t=0,e)=>{switch(e.type){case"INCREMENT_PANEL_LAYOUT_GENERATION":case"CHANGE_SIDEBAR_OPEN_STATE":case"HIDE_GLOBAL_TRACK":case"SHOW_ALL_TRACKS":case"SHOW_PROVIDED_TRACKS":case"HIDE_PROVIDED_TRACKS":case"SHOW_GLOBAL_TRACK":case"SHOW_GLOBAL_TRACK_INCLUDING_LOCAL_TRACKS":case"ISOLATE_PROCESS":case"ISOLATE_PROCESS_MAIN_THREAD":case"HIDE_LOCAL_TRACK":case"SHOW_LOCAL_TRACK":case"ISOLATE_LOCAL_TRACK":case"TOGGLE_RESOURCES_PANEL":case"ENABLE_EXPERIMENTAL_CPU_GRAPHS":case"ENABLE_EXPERIMENTAL_PROCESS_CPU_TRACKS":case"CHANGE_TAB_FILTER":case"COMMIT_RANGE":case"POP_COMMITTED_RANGES":case"UPDATE_BOTTOM_BOX":case"CLOSE_BOTTOM_BOX_FOR_TAB":return t+1;default:return t}},uce=(t="calltree",e)=>{switch(e.type){case"SELECT_TRACK":case"CHANGE_SELECTED_TAB":return e.selectedTab!=="network-chart"?e.selectedTab:t;case"FOCUS_CALL_TREE":return oi.includes(t)?t:"calltree";default:return t}},pce=(t={},e)=>{if(e.type==="UPDATE_TRACK_THREAD_HEIGHT"){let r={...t};return r[e.threadsKey]=e.height,r}else return t},mce=(t=!1,e)=>{switch(e.type){case"PROFILE_PUBLISHED":case"SANITIZED_PROFILE_PUBLISHED":return!0;case"DISMISS_NEWLY_PUBLISHED":return!1;default:return t}},fce=(t=!1,e)=>{switch(e.type){case"START_DRAGGING":return!0;case"STOP_DRAGGING":return!1;default:return t}},hce=(t=!1,e)=>{switch(e.type){case"REGISTER_DRAG_AND_DROP_OVERLAY":return!0;case"UNREGISTER_DRAG_AND_DROP_OVERLAY":return!1;default:return t}},gce=(t=!1,e)=>e.type==="ENABLE_EVENT_DELAY_TRACKS"?!0:t,yce=(t=!1,e)=>e.type==="ENABLE_EXPERIMENTAL_CPU_GRAPHS"?!0:t,bce=(t=!1,e)=>e.type==="ENABLE_EXPERIMENTAL_PROCESS_CPU_TRACKS"?!0:t,vce=(t=null,e)=>e.type==="SET_CURRENT_PROFILE_UPLOADED_INFORMATION"?e.uploadedProfileInformation:t,Tce=wr({eventDelayTracks:gce,cpuGraphs:yce,processCPUTracks:bce}),Sce=(t={status:"NO_ATTEMPT"},e)=>e.type==="UPDATE_BROWSER_CONNECTION_STATUS"?e.browserConnectionStatus:t,xce=(t=new Map,e)=>{if(e.type==="TOGGLE_SIDEBAR_OPEN_CATEGORY"){let r=new Map(t),n=r.get(e.kind);return n===void 0&&(n=new Set),n.has(e.category)?n.delete(e.category):n.add(e.category),r.set(e.kind,n),r}else return t},wce=wr({view:ace,urlSetupPhase:ice,hasZoomedViaMousewheel:sce,isSidebarOpenPerPanel:cce,panelLayoutGeneration:dce,lastVisibleThreadTabSlug:uce,trackThreadHeights:pce,isNewlyPublished:mce,isDragAndDropDragging:fce,isDragAndDropOverlayRegistered:hce,experimental:Tce,currentProfileUploadedInformation:vce,browserConnectionStatus:Sce,sidebarOpenCategories:xce}),c7=wce;var kce=(t=new Map,e)=>{switch(e.type){case"ICON_HAS_LOADED":{let{icon:r,className:n}=e.iconWithClassName;return new Map([...t.entries(),[r,n]])}case"ICON_BATCH_ADD":{let r=new Map([...t.entries()]);for(let{icon:n,className:o}of e.icons)r.set(n,o);return r}default:return t}},d7=kce;var Ice=(t={phase:"NO_ZIP_FILE",zip:null,pathInZipFile:null},e)=>{switch(e.type){case"UPDATE_URL_STATE":return e.newUrlState&&e.newUrlState.pathInZipFile===null&&t.phase==="VIEW_PROFILE_IN_ZIP_FILE"?Qs(t,{phase:"LIST_FILES_IN_ZIP_FILE",zip:t.zip,pathInZipFile:null}):t;case"RECEIVE_ZIP_FILE":return Qs(t,{phase:"LIST_FILES_IN_ZIP_FILE",zip:e.zip,pathInZipFile:null});case"RETURN_TO_ZIP_FILE_LIST":case"DISMISS_PROCESS_PROFILE_FROM_ZIP_ERROR":return Qs(t,{phase:"LIST_FILES_IN_ZIP_FILE",zip:$(t.zip),pathInZipFile:null});case"PROCESS_PROFILE_FROM_ZIP_FILE":return Qs(t,{phase:"PROCESS_PROFILE_FROM_ZIP_FILE",zip:$(t.zip),pathInZipFile:e.pathInZipFile});case"FILE_NOT_FOUND_IN_ZIP_FILE":return Qs(t,{phase:"FILE_NOT_FOUND_IN_ZIP_FILE",zip:$(t.zip),pathInZipFile:e.pathInZipFile});case"FAILED_TO_PROCESS_PROFILE_FROM_ZIP_FILE":return Qs(t,{phase:"FAILED_TO_PROCESS_PROFILE_FROM_ZIP_FILE",zip:$(t.zip),pathInZipFile:$(t.pathInZipFile)});case"FATAL_ERROR":return t.phase==="NO_ZIP_FILE"||t.phase==="LIST_FILES_IN_ZIP_FILE"?t:Qs(t,{phase:"FAILED_TO_PROCESS_PROFILE_FROM_ZIP_FILE",zip:$(t.zip),pathInZipFile:$(t.pathInZipFile)});case"VIEW_FULL_PROFILE":return t.phase==="NO_ZIP_FILE"?t:Qs(t,{phase:"VIEW_PROFILE_IN_ZIP_FILE",zip:$(t.zip),pathInZipFile:$(t.pathInZipFile)});case"PROFILE_PUBLISHED":case"SANITIZED_PROFILE_PUBLISHED":case"WAITING_FOR_PROFILE_FROM_FILE":return{phase:"NO_ZIP_FILE",zip:null,pathInZipFile:null};default:return t}},Cce=(t=null,e)=>{switch(e.type){case"FAILED_TO_PROCESS_PROFILE_FROM_ZIP_FILE":case"FATAL_ERROR":return e.error;default:return t}};function Qs(t,e){let r=t.phase;if(r===e.phase)return e;let n;switch(r){case"NO_ZIP_FILE":n=["LIST_FILES_IN_ZIP_FILE","PROCESS_PROFILE_FROM_ZIP_FILE"];break;case"LIST_FILES_IN_ZIP_FILE":n=["PROCESS_PROFILE_FROM_ZIP_FILE","FILE_NOT_FOUND_IN_ZIP_FILE"];break;case"PROCESS_PROFILE_FROM_ZIP_FILE":n=["VIEW_PROFILE_IN_ZIP_FILE","FAILED_TO_PROCESS_PROFILE_FROM_ZIP_FILE","LIST_FILES_IN_ZIP_FILE"];break;case"FILE_NOT_FOUND_IN_ZIP_FILE":n=["LIST_FILES_IN_ZIP_FILE"];break;case"FAILED_TO_PROCESS_PROFILE_FROM_ZIP_FILE":n=["LIST_FILES_IN_ZIP_FILE"];break;case"VIEW_PROFILE_IN_ZIP_FILE":n=["LIST_FILES_IN_ZIP_FILE"];break;default:throw new Error(`Unhandled ZipFileState "${r}"`)}if(!n.includes(e.phase))throw console.error("Previous ZipFileState:",t),console.error("Next ZipFileState:",e),new Error(we`
|
|
234
|
+
Attempted to transition the ZipFileState from the phase “${t.phase}”
|
|
235
|
+
to “${e.phase}”, however “${t.phase}” can only transition to
|
|
236
|
+
“${n.join("\u201D, \u201C")}”.
|
|
237
|
+
`);return e}var Pce=(t=null,e)=>e.type==="CHANGE_SELECTED_ZIP_FILE"?e.selectedZipFileIndex:t,Ece=(t=[],e)=>e.type==="CHANGE_EXPANDED_ZIP_FILES"?e.expandedZipFileIndexes:t,_ce=wr({zipFile:Ice,error:Cce,selectedZipFileIndex:Pce,expandedZipFileIndexes:Ece}),u7=_ce;function p7(){return{includeHiddenThreads:!1,includeAllTabs:!1,includeFullTimeRange:!1,includeScreenshots:!1,includeUrls:!1,includeExtension:!1,includePreferenceValues:!1,includePrivateBrowsingData:!1}}function Nce(){return{includeHiddenThreads:!0,includeAllTabs:!0,includeFullTimeRange:!0,includeScreenshots:!0,includeUrls:!0,includeExtension:!0,includePreferenceValues:!0,includePrivateBrowsingData:!1}}var Rce=(t=p7(),e)=>{switch(e.type){case"PROFILE_LOADED":return _b(e.profile)?p7():Nce();case"UPDATE_SHARING_OPTION":return{...t,[e.slug]:e.value};default:return t}},Mce=(t="local",e)=>{switch(e.type){case"UPLOAD_COMPRESSION_STARTED":return"compressing";case"UPLOAD_STARTED":return"uploading";case"PROFILE_PUBLISHED":case"SANITIZED_PROFILE_PUBLISHED":return"uploaded";case"UPLOAD_FAILED":return"error";case"UPLOAD_ABORTED":case"UPLOAD_RESET":return"local";default:return t}},Lce=(t=0,e)=>{switch(e.type){case"UPDATE_UPLOAD_PROGRESS":return e.uploadProgress;case"UPLOAD_STARTED":case"UPLOAD_ABORTED":case"UPLOAD_RESET":case"PROFILE_PUBLISHED":case"SANITIZED_PROFILE_PUBLISHED":case"UPLOAD_COMPRESSION_STARTED":case"UPLOAD_FAILED":return 0;default:return t}},Dce=(t=null,e)=>{switch(e.type){case"UPLOAD_FAILED":return e.error;case"UPLOAD_COMPRESSION_STARTED":return null;default:return t}},m7=()=>{},Ace=(t=m7,e)=>{switch(e.type){case"UPLOAD_ABORTED":case"PROFILE_PUBLISHED":case"SANITIZED_PROFILE_PUBLISHED":case"UPLOAD_FAILED":return m7;case"UPLOAD_COMPRESSION_STARTED":return e.abortFunction;default:return t}},Oce=(t=0,e)=>{switch(e.type){case"PROFILE_PUBLISHED":case"SANITIZED_PROFILE_PUBLISHED":case"UPLOAD_ABORTED":case"UPLOAD_FAILED":case"HIDE_STALE_PROFILE":return t+1;default:return t}},Fce=wr({phase:Mce,uploadProgress:Lce,abortFunction:Ace,error:Dce,generation:Oce}),Bce=(t=null,e)=>{switch(e.type){case"SANITIZED_PROFILE_PUBLISHED":case"PROFILE_PUBLISHED":return e.prePublishedState;case"REVERT_TO_PRE_PUBLISHED_STATE":return null;default:return t}},Hce=(t=!1,e)=>{switch(e.type){case"HIDE_STALE_PROFILE":return!0;case"VIEW_FULL_PROFILE":return!1;default:return t}},Uce=(t=!1,e)=>e.type==="HIDE_STALE_PROFILE"?!0:t,Gce=(t={phase:"INITIAL"},e)=>{switch(e.type){case"SANITIZED_PROFILE_ENCODING_STARTED":{let{sanitizedProfile:r}=e;return{phase:"ENCODING",sanitizedProfile:r}}case"SANITIZED_PROFILE_ENCODING_COMPLETED":{let{sanitizedProfile:r,profileData:n}=e;return t.phase==="ENCODING"&&t.sanitizedProfile===r?{phase:"DONE",sanitizedProfile:r,profileData:n}:t}case"SANITIZED_PROFILE_ENCODING_FAILED":{let{sanitizedProfile:r,error:n}=e;return t.phase==="ENCODING"&&t.sanitizedProfile===r?{phase:"ERROR",sanitizedProfile:r,error:n}:t}default:return t}},$ce=wr({checkedSharingOptions:Rce,sanitizedProfileEncodingState:Gce,upload:Fce,isHidingStaleProfile:Hce,hasSanitizedProfile:Uce,prePublishedState:Bce}),f7=$ce;var zce=(t=new Map,e)=>{switch(e.type){case"SOURCE_CODE_LOADING_BEGIN_URL":{let{sourceIndex:r,url:n}=e,o=new Map(t);return o.set(r,{type:"LOADING",source:{type:"URL",url:n}}),o}case"SOURCE_CODE_LOADING_BEGIN_BROWSER_CONNECTION":{let{sourceIndex:r}=e,n=new Map(t);return n.set(r,{type:"LOADING",source:{type:"BROWSER_CONNECTION"}}),n}case"SOURCE_CODE_LOADING_SUCCESS":{let{sourceIndex:r,code:n}=e,o=new Map(t);return o.set(r,{type:"AVAILABLE",code:n}),o}case"SOURCE_CODE_LOADING_ERROR":{let{sourceIndex:r,errors:n}=e,o=new Map(t);return o.set(r,{type:"ERROR",errors:n}),o}case"SANITIZED_PROFILE_PUBLISHED":{if(!e.translationMaps)return t;let{oldSourceToNewSourcePlusOne:r}=e.translationMaps,n=new Map;for(let[o,a]of t){let i=r[o];if(i===0)continue;let s=i-1;n.set(s,a)}return n}default:return t}},Vce=(t=new Map,e)=>{switch(e.type){case"ASSEMBLY_CODE_LOADING_BEGIN_URL":{let{nativeSymbolKey:r,url:n}=e,o=new Map(t);return o.set(r,{type:"LOADING",source:{type:"URL",url:n}}),o}case"ASSEMBLY_CODE_LOADING_BEGIN_BROWSER_CONNECTION":{let{nativeSymbolKey:r}=e,n=new Map(t);return n.set(r,{type:"LOADING",source:{type:"BROWSER_CONNECTION"}}),n}case"ASSEMBLY_CODE_LOADING_SUCCESS":{let{nativeSymbolKey:r,instructions:n}=e,o=new Map(t);return o.set(r,{type:"AVAILABLE",instructions:n}),o}case"ASSEMBLY_CODE_LOADING_ERROR":{let{nativeSymbolKey:r,errors:n}=e,o=new Map(t);return o.set(r,{type:"ERROR",errors:n}),o}default:return t}},Wce=wr({sourceCodeCache:zce,assemblyCodeCache:Vce}),h7=Wce;var jce=t=>(e,r)=>r.type==="REVERT_TO_PRE_PUBLISHED_STATE"?r.prePublishedState:t(e,r),Kce=jce(wr({app:c7,profileView:n2,urlState:Wy,icons:d7,zippedProfiles:u7,publish:f7,code:h7})),g7=Kce;function YL(){let t=null,e=i7,r=t?vI(e,t):vI(e);return bI(g7,r)}var vc=Object.assign({},j0,h0,u0,bR,_0,MR,AN);var xh=Object.defineProperty;function y7(t,e,r=window){return xh(r,"profile",{enumerable:!0,get(){return va.profile.getProfile(t())}}),xh(r,"filteredThread",{enumerable:!0,get(){return va.selectedThread.getFilteredThread(t())}}),xh(r,"callTree",{enumerable:!0,get(){return va.selectedThread.getCallTree(t())}}),xh(r,"filteredMarkers",{enumerable:!0,get(){let n=t(),o=va.selectedThread.getMarkerGetter(n);return va.selectedThread.getPreviewFilteredMarkerIndexes(n).map(o)}}),xh(r,"selectedMarker",{enumerable:!0,get(){return va.selectedThread.getSelectedMarker(t())}}),r.experimental={enableEventDelayTracks(){e(vc.enableEventDelayTracks())&&console.log(xr`
|
|
238
|
+
✅ The event delay tracks are now enabled and should be displayed in the timeline.
|
|
239
|
+
👉 Note that this is an experimental feature that might still have bugs.
|
|
240
|
+
💡 As an experimental feature their presence isn't persisted as a URL parameter like the other things.
|
|
241
|
+
`)},enableCPUGraphs(){e(vc.enableExperimentalCPUGraphs())&&console.log(xr`
|
|
242
|
+
✅ The CPU graphs are now enabled and should be displayed in the timeline.
|
|
243
|
+
👉 Note that this is an experimental feature that might still have bugs.
|
|
244
|
+
💡 As an experimental feature their presence isn't persisted as a URL parameter like the other things.
|
|
245
|
+
`)},enableProcessCPUTracks(){e(vc.enableExperimentalProcessCPUTracks())&&console.log(xr`
|
|
246
|
+
✅ The process CPU tracks are now enabled and should be displayed in the timeline.
|
|
247
|
+
👉 Note that this is an experimental feature that might still have bugs.
|
|
248
|
+
💡 As an experimental feature their presence isn't persisted as a URL parameter like the other things.
|
|
249
|
+
`)}},r.togglePseudoLocalization=function(n){if(n!==void 0&&n!=="accented"&&n!=="bidi"){console.log(xr`
|
|
250
|
+
❗ The pseudo strategy "${n}" is unknown.
|
|
251
|
+
💡 Valid strategies are: "accented" or "bidi".
|
|
252
|
+
Please try again 😊
|
|
253
|
+
`);return}o7(n??null),console.log(n?xr`
|
|
254
|
+
✅ The pseudo strategy "${n}" is now enabled for the localization.
|
|
255
|
+
👉 To disable it, you can call togglePseudoLocalization() again without a parameter.
|
|
256
|
+
`:xr`
|
|
257
|
+
✅ The pseudo strategy is now disabled.
|
|
258
|
+
`)},r.toggleTimelineType=function(n){if(n!=="cpu-category"&&n!=="category"&&n!=="stack"){console.log(xr`
|
|
259
|
+
❗ The timeline type "${n}" is unknown.
|
|
260
|
+
💡 Valid types are: "cpu-category", "category", or "stack".
|
|
261
|
+
Please try again 😊
|
|
262
|
+
`);return}e(vc.changeTimelineType(n)),console.log(xr`
|
|
263
|
+
✅ The timeline type "${n}" is now enabled for the timeline.
|
|
264
|
+
`)},r.toggleDarkMode=function(){let n=Ds(),o,a;n==="system"?(o="light",a="\u2705 Theme set to: light"):n==="light"?(o="dark",a="\u2705 Theme set to: dark"):(o="system",a="\u2705 Theme set to: system (follows OS preference)"),Yd(o),console.log(a)},r.retrieveRawProfileDataFromBrowser=async function(){let n=await Jb();return await vc.unwrapBrowserConnection(n).getProfile({onThirtySecondTimeout:()=>{console.log(we`
|
|
265
|
+
We were unable to connect to the browser within thirty seconds.
|
|
266
|
+
This might be because the profile is big or your machine is slower than usual.
|
|
267
|
+
Still waiting...
|
|
268
|
+
`)}})},r.saveToDisk=async function(n,o){if(n==null){console.error("We can't save a null or undefined variable.");return}let a=typeof n=="string"||String(n)==="[object ArrayBuffer]"?n:JSON.stringify(n),i=new Blob([a],{type:"application/octet-stream"}),s=URL.createObjectURL(i),l=document.createElement("a");l.href=s,l.download=o??"profile.data",l.click(),URL.revokeObjectURL(s)},r.extractGeckoLogs=function(){function n(l,c){return String(l).padStart(c,"0")}function o(l){let c=new Date(l),d=Math.trunc((l-Math.trunc(l))*10**6);return`${c.getUTCFullYear()}-${n(c.getUTCMonth()+1,2)}-${n(c.getUTCDate(),2)} ${n(c.getUTCHours(),2)}:${n(c.getUTCMinutes(),2)}:${n(c.getUTCSeconds(),2)}.${n(c.getUTCMilliseconds(),3)}${n(d,6)} UTC`}let a=[],i=va.profile.getProfile(t()),s=va.profile.getPreviewSelectionRange(t());for(let l of i.threads){let{markers:c}=l;for(let d=0;d<c.length;d++){let u=c.startTime[d];if(u!==null&&c.data[d]&&c.data[d]?.type==="Log"&&u>=s.start&&u<=s.end){let p=c.data[d],m=c.startTime[d];if(p&&m!==null&&p.module&&p.name){let f=o(i.meta.startTime+m),h=l.processName??"Unknown Process",b=p.module,g=b.includes("/")?"":"D/",y=`${f} - [${h} ${l.pid}: ${l.name}]: ${g}${b} ${p.name.trim()}`;a.push(y)}}}}return a.sort().join(`
|
|
269
|
+
`)},r.totalMarkerDuration=function(n){if(!Array.isArray(n))return console.error("totalMarkerDuration expects an array of markers"),0;let o=0;for(let a of n)a&&typeof a.start=="number"&&typeof a.end=="number"&&(o+=a.end-a.start);return console.log(`Total marker duration: ${Yt(o)}`),o},r.shortenUrl=vb,r.getState=t,r.selectors=va,r.dispatch=e,r.actions=vc,r.persistTooltips=!1,r}function b7(){let t="font-size: 130%;",e="font-weight: bold;",r="font-style: italic; text-decoration: underline;";console.log(["%c __ _ __ "," / _(_) / _| ","| |_ _ _ __ ___| |_ _____ __ ","| _| | '__/ _ \\ _/ _ \\ \\/ / ","| | | | | | __/ || (_) > < __ _ _ ","|_| |_|_| \\___|_| \\___/_/\\_\\ / _(_) | "," ,. ,. _ __ _ __ ___ | |_ _| | ___ _ _ "," | \\ / | | '_ \\| '__/ _ \\| _| | |/ _ \\ '_| "," |/ \\ _ / \\| | |_) | | | (_) | | | | | __/ | "," | | | .__/|_| \\___/|_| |_|_|\\___|_| "," / - - \\ |_| "," ,- V__V -. "," -= __- * - .,=- "," `\\_ - _/ "," `-----' "].join(`
|
|
270
|
+
`),"font-family: Menlo, monospace;"),console.log(xr`
|
|
271
|
+
%cThe following profiler information and tools are available via the console:%c
|
|
272
|
+
|
|
273
|
+
%cwindow.profile%c - The currently loaded profile
|
|
274
|
+
%cwindow.filteredThread%c - The current filtered thread
|
|
275
|
+
%cwindow.filteredMarkers%c - The current filtered and processed markers
|
|
276
|
+
%cwindow.selectedMarker%c - The selected processed marker in the current thread
|
|
277
|
+
%cwindow.callTree%c - The call tree of the current filtered thread
|
|
278
|
+
%cwindow.totalMarkerDuration%c - Calculate total duration of a marker array (e.g., totalMarkerDuration(filteredMarkers))
|
|
279
|
+
%cwindow.getState%c - The function that returns the current Redux state.
|
|
280
|
+
%cwindow.selectors%c - All the selectors that are used to get data from the Redux state.
|
|
281
|
+
%cwindow.dispatch%c - The function to dispatch a Redux action to change the state.
|
|
282
|
+
%cwindow.actions%c - All the actions that can be dispatched to change the state.
|
|
283
|
+
%cwindow.experimental%c - The object that holds flags of all the experimental features.
|
|
284
|
+
%cwindow.togglePseudoLocalization%c - Enable pseudo localizations by passing "accented" or "bidi" to this function, or disable using no parameters.
|
|
285
|
+
%cwindow.toggleTimelineType%c - Toggle timeline graph type by passing "cpu-category", "category", or "stack".
|
|
286
|
+
%cwindow.toggleDarkMode%c - Cycle through theme preferences: system, light, dark.
|
|
287
|
+
%cwindow.retrieveRawProfileDataFromBrowser%c - Retrieve the profile attached to the current tab and returns it. Use "await" to call it, and use saveToDisk to save it.
|
|
288
|
+
%cwindow.extractGeckoLogs%c - Retrieve recorded logs in the current range, using the MOZ_LOG format. Use with "copy" or "saveToDisk".
|
|
289
|
+
%cwindow.saveToDisk%c - Saves to a file the parameter passed to it, with an optional filename parameter. You can use that to save the profile returned by "retrieveRawProfileDataFromBrowser" or the data returned by "extractGeckoLogs".
|
|
290
|
+
|
|
291
|
+
The profile format is documented here:
|
|
292
|
+
%chttps://github.com/firefox-devtools/profiler/blob/main/docs-developer/processed-profile-format.md%c
|
|
293
|
+
|
|
294
|
+
The CallTree class's source code is available here:
|
|
295
|
+
%chttps://github.com/firefox-devtools/profiler/blob/main/src/profile-logic/call-tree.js%c
|
|
296
|
+
`,t,"",e,"",e,"",e,"",e,"",e,"",e,"",e,"",e,"",e,"",e,"",e,"",e,"",e,"",e,"",e,"",e,"",e,"",r,"",r,"")}var S7=T(E());KE();window.geckoProfilerPromise=new Promise(function(t){window.connectToGeckoProfiler=t});var v7=document.getElementById("svg-filters");if(v7){let t=()=>{let n=["--button-icon-color","--button-icon-hover-color","--button-icon-active-color"];for(let o of n){let a=document.getElementById(o);if(a||(v7.insertAdjacentHTML("beforeend",`<filter id="${o}" color-interpolation-filters="sRGB">
|
|
297
|
+
<feFlood />
|
|
298
|
+
<feComposite operator="in" in2="SourceAlpha" />
|
|
299
|
+
</filter>`),a=document.getElementById(o)),!a)continue;let i=a.querySelector("feFlood");if(!i)continue;let s=document.documentElement?getComputedStyle(document.documentElement).getPropertyValue(o):"";i.setAttribute("flood-color",s)}};t();let e=window.matchMedia("(forced-colors: active)"),r=window.matchMedia("(prefers-color-scheme: dark)");e.addEventListener("change",t),r.addEventListener("change",()=>{t(),KE()})}var qL=YL(),Yce=(0,T7.createRoot)($(document.getElementById("root"),"Unable to find the DOM element to attach the React element to."));Yce.render((0,S7.jsx)(ax,{store:qL}));y7(qL.getState,qL.dispatch);b7();
|
|
300
|
+
/*! Bundled license information:
|
|
301
|
+
|
|
302
|
+
react/cjs/react.production.min.js:
|
|
303
|
+
(**
|
|
304
|
+
* @license React
|
|
305
|
+
* react.production.min.js
|
|
306
|
+
*
|
|
307
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
308
|
+
*
|
|
309
|
+
* This source code is licensed under the MIT license found in the
|
|
310
|
+
* LICENSE file in the root directory of this source tree.
|
|
311
|
+
*)
|
|
312
|
+
|
|
313
|
+
scheduler/cjs/scheduler.production.min.js:
|
|
314
|
+
(**
|
|
315
|
+
* @license React
|
|
316
|
+
* scheduler.production.min.js
|
|
317
|
+
*
|
|
318
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
319
|
+
*
|
|
320
|
+
* This source code is licensed under the MIT license found in the
|
|
321
|
+
* LICENSE file in the root directory of this source tree.
|
|
322
|
+
*)
|
|
323
|
+
|
|
324
|
+
react-dom/cjs/react-dom.production.min.js:
|
|
325
|
+
(**
|
|
326
|
+
* @license React
|
|
327
|
+
* react-dom.production.min.js
|
|
328
|
+
*
|
|
329
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
330
|
+
*
|
|
331
|
+
* This source code is licensed under the MIT license found in the
|
|
332
|
+
* LICENSE file in the root directory of this source tree.
|
|
333
|
+
*)
|
|
334
|
+
|
|
335
|
+
use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js:
|
|
336
|
+
(**
|
|
337
|
+
* @license React
|
|
338
|
+
* use-sync-external-store-with-selector.production.js
|
|
339
|
+
*
|
|
340
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
341
|
+
*
|
|
342
|
+
* This source code is licensed under the MIT license found in the
|
|
343
|
+
* LICENSE file in the root directory of this source tree.
|
|
344
|
+
*)
|
|
345
|
+
|
|
346
|
+
react/cjs/react-jsx-runtime.production.min.js:
|
|
347
|
+
(**
|
|
348
|
+
* @license React
|
|
349
|
+
* react-jsx-runtime.production.min.js
|
|
350
|
+
*
|
|
351
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
352
|
+
*
|
|
353
|
+
* This source code is licensed under the MIT license found in the
|
|
354
|
+
* LICENSE file in the root directory of this source tree.
|
|
355
|
+
*)
|
|
356
|
+
|
|
357
|
+
classnames/index.js:
|
|
358
|
+
(*!
|
|
359
|
+
Copyright (c) 2018 Jed Watson.
|
|
360
|
+
Licensed under the MIT License (MIT), see
|
|
361
|
+
http://jedwatson.github.io/classnames
|
|
362
|
+
*)
|
|
363
|
+
|
|
364
|
+
object-assign/index.js:
|
|
365
|
+
(*
|
|
366
|
+
object-assign
|
|
367
|
+
(c) Sindre Sorhus
|
|
368
|
+
@license MIT
|
|
369
|
+
*)
|
|
370
|
+
|
|
371
|
+
react/cjs/react.production.min.js:
|
|
372
|
+
(** @license React v16.14.0
|
|
373
|
+
* react.production.min.js
|
|
374
|
+
*
|
|
375
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
376
|
+
*
|
|
377
|
+
* This source code is licensed under the MIT license found in the
|
|
378
|
+
* LICENSE file in the root directory of this source tree.
|
|
379
|
+
*)
|
|
380
|
+
*/
|
|
381
|
+
//# sourceMappingURL=/index-P5VLDZC7.js.map
|