bippy 0.6.1-dev.3a24abf → 0.6.1-dev.93556ef

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.
Files changed (51) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +26 -1
  3. package/dist/core.cjs +1 -1
  4. package/dist/core.d.cts +39 -42
  5. package/dist/core.d.ts +39 -42
  6. package/dist/core.js +1 -1
  7. package/dist/core2.cjs +1 -1
  8. package/dist/core2.d.cts +11 -3
  9. package/dist/core2.d.ts +11 -3
  10. package/dist/core2.js +1 -1
  11. package/dist/{types.d.cts → errors.d.cts} +187 -68
  12. package/dist/{types.d.ts → errors.d.ts} +187 -68
  13. package/dist/index.cjs +1 -1
  14. package/dist/index.d.cts +11 -3
  15. package/dist/index.d.ts +11 -3
  16. package/dist/index.iife.js +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/install-hook-only.cjs +1 -1
  19. package/dist/install-hook-only.d.cts +8 -0
  20. package/dist/install-hook-only.d.ts +8 -0
  21. package/dist/install-hook-only.iife.js +1 -1
  22. package/dist/install-hook-only.js +1 -1
  23. package/dist/rdt-hook.cjs +1 -1
  24. package/dist/rdt-hook.js +1 -1
  25. package/dist/source.cjs +13 -14
  26. package/dist/source.d.cts +86 -69
  27. package/dist/source.d.ts +86 -69
  28. package/dist/source.js +13 -14
  29. package/package.json +10 -6
  30. package/src/core.ts +246 -293
  31. package/src/errors.ts +34 -0
  32. package/src/install-hook-only.ts +2 -2
  33. package/src/rdt-hook.ts +152 -110
  34. package/src/react-internals/generated/react-work-tags.ts +318 -0
  35. package/src/react-internals/index.ts +67 -0
  36. package/src/react-internals/semver.ts +80 -0
  37. package/src/{types.ts → react-internals/types.ts} +13 -86
  38. package/src/source/error-stack.ts +11 -0
  39. package/src/source/get-display-name-from-source.ts +44 -40
  40. package/src/source/get-source.ts +42 -26
  41. package/src/source/index.ts +11 -1
  42. package/src/source/inspect-hooks.ts +220 -207
  43. package/src/source/owner-stack.ts +86 -128
  44. package/src/source/parse-debug-stack.ts +4 -4
  45. package/src/source/parse-hook-names.ts +14 -53
  46. package/src/source/parse-stack.ts +14 -31
  47. package/src/source/renderer-dispatchers.ts +30 -0
  48. package/src/source/symbolication.ts +703 -135
  49. package/src/generated/react-work-tags.ts +0 -169
  50. package/src/react-internals.ts +0 -67
  51. package/src/unsubscribe.ts +0 -17
package/dist/source.js CHANGED
@@ -6,19 +6,18 @@
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
- import{i as e,r as t}from"./rdt-hook.js";import{B as n,G as r,K as i,O as a,Q as o,U as s,X as c,a as l,at as u,it as d,m as f,nt as ee,q as p,rt as m,z as te}from"./core2.js";const ne=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,re=[`rsc://`,`file:///`,`webpack-internal://`,`webpack://`,`node:`,`turbopack://`,`metro://`,`/app-pages-browser/`,`/(app-pages-browser)/`],ie=[`rsc://`,`about://React/`],ae=[`<anonymous>`,`eval`,``],oe=/\.(cjs|cts|js|jsx|mdx|mjs|mts|ts|tsx)$/,se=/(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i,ce=/^\?[\w~.-]+(?:=[^&#]*)?(?:&[\w~.-]+(?:=[^&#]*)?)*$/,le=/\(at [^)]+\)$/,ue=[`react_stack_bottom_frame`,`react-stack-bottom-frame`],de=/(^|@)\S+:\d+/,fe=/^\s*at .*(\S+:\d+|\(native\))/m,pe=/^(eval@)?(\[native code\])?$/,h=(e,t)=>{if(t?.includeInElement!==!1){let n=e.split(`
10
- `),r=[];for(let e of n)if(/^\s*at\s+/.test(e)){let t=he(e,void 0)[0];t&&r.push(t)}else if(/^\s*in\s+/.test(e)){let t=e.replace(/^\s*in\s+/,``).replace(/\s*\(at .*\)$/,``);r.push({functionName:t,source:e})}else if(e.match(de)){let t=ge(e,void 0)[0];t&&r.push(t)}return g(r,t)}return e.match(fe)?he(e,t):ge(e,t)},me=e=>{if(!e.includes(`:`))return[e,void 0,void 0];let t=e.startsWith(`(`)&&/:\d+\)$/.test(e)?e.slice(1,-1):e,n=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(t);return n?[n[1],n[2]||void 0,n[3]||void 0]:[t,void 0,void 0]},g=(e,t)=>t&&t.slice!==null&&t.slice!==void 0?Array.isArray(t.slice)?e.slice(t.slice[0],t.slice[1]):e.slice(0,t.slice):e,he=(e,t)=>g(e.split(`
11
- `).filter(e=>!!e.match(fe)),t).map(e=>{let t=e;t.includes(`(eval `)&&(t=t.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));let n=t.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),r=n.match(/ (\(.+\)$)/);n=r?n.replace(r[0],``):n;let i=me(r?r[1]:n);return{functionName:r&&n||void 0,fileName:[`eval`,`<anonymous>`].includes(i[0])?void 0:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}),ge=(e,t)=>g(e.split(`
12
- `).filter(e=>!e.match(pe)),t).map(e=>{let t=e;if(t.includes(` > eval`)&&(t=t.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),!t.includes(`@`)&&!t.includes(`:`))return{functionName:t};{let e=/(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/,n=t.match(e),r=n&&n[1]?n[1]:void 0,i=me(t.replace(e,``));return{functionName:r,fileName:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}}),_e=new WeakMap,ve=e=>ue.some(t=>e.includes(t)),ye=e=>{let t=e.getFunctionName?.()??``;if(t)return t;let n=e.getTypeName?.()??``,r=e.getMethodName?.()??``;return n&&r?`${n}.${r}`:r},be=e=>{let t=[];for(let n=1;n<e.length;n++){let r=e[n],i=ye(r);if(ve(i))return{frames:t,isTrusted:!0};if(r.isNative?.()){t.push({functionName:i||void 0});continue}let a=r.getScriptNameOrSourceURL?.()??``;!a&&r.isEval?.()&&(a=r.getEvalOrigin?.()??``),t.push({functionName:i&&i!==`<anonymous>`?i:void 0,fileName:a&&a!==`<anonymous>`?a:void 0,lineNumber:r.getLineNumber?.()??void 0,columnNumber:r.getColumnNumber?.()??void 0,enclosingLineNumber:r.getEnclosingLineNumber?.()??void 0,enclosingColumnNumber:r.getEnclosingColumnNumber?.()??void 0,source:` at ${r.toString()}`})}return{frames:t,isTrusted:!1}},xe=e=>{let t=-1;for(let n of ue)if(t=e.indexOf(n),t!==-1)break;let n=t===-1?e:e.slice(0,e.lastIndexOf(`
13
- `,t));return{frames:h(n).slice(1),isTrusted:t!==-1}},_=e=>{let t=_e.get(e);if(t)return t;let n=null,r=(e,t)=>{n=be(t);let r=`${e.name||`Error`}: ${e.message||``}`;for(let e of t)r+=`\n at ${e.toString()}`;return r},i=Error.prepareStackTrace;Error.prepareStackTrace=r;let a;try{a=String(e.stack)}finally{Error.prepareStackTrace=i}let o=n??xe(a);return _e.set(e,o),o};var Se=44,Ce=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,we=new Uint8Array(64),v=new Uint8Array(128);for(let e=0;e<Ce.length;e++){let t=Ce.charCodeAt(e);we[e]=t,v[t]=e}function y(e,t){let n=0,r=0,i=0;do i=v[e.next()],n|=(i&31)<<r,r+=5;while(i&32);let a=n&1;return n>>>=1,a&&(n=-2147483648|-n),t+n}function b(e,t){return e.pos>=t?!1:e.peek()!==Se}var Te=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return r===-1?t.length:r}};function Ee(e){let{length:t}=e,n=new Te(e),r=[],i=0,a=0,o=0,s=0,c=0;do{let e=n.indexOf(`;`),t=[],l=!0,u=0;for(i=0;n.pos<e;){let r;i=y(n,i),i<u&&(l=!1),u=i,b(n,e)?(a=y(n,a),o=y(n,o),s=y(n,s),b(n,e)?(c=y(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||De(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function De(e){e.sort(Oe)}function Oe(e,t){return e[0]-t[0]}const x=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,ke=/^data:application\/json[^,]+base64,/,Ae=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,S=new Map,C=new Map,je=(e,t,n,r,i)=>{if(n<0||n>=e.length)return null;let a=e[n];if(!a||a.length===0)return null;let o=null,s=0,c=a.length-1;for(;s<=c;){let e=s+c>>1;a[e][0]<=r?(o=a[e],s=e+1):c=e-1}if(!o||o.length<4)return null;let[,l,u,d]=o;if(l===void 0||u===void 0||d===void 0)return null;let f=t[l];return f?{columnNumber:d,fileName:f,lineNumber:u+1,isIgnoreListed:i?.has(l)??!1}:null},w=(e,t,n)=>{if(e.sections){let r=t-1,i=null;for(let t of e.sections)if(r>t.offset.line||r===t.offset.line&&n>=t.offset.column)i=t;else break;if(!i)return null;let a=r-i.offset.line,o=r===i.offset.line?n-i.offset.column:n;return je(i.map.mappings,i.map.sources,a,o,i.map.ignoredSourceIndices)}return je(e.mappings,e.sources,t-1,n,e.ignoredSourceIndices)},Me=(e,t)=>{let n,r=t.length;for(;r>0&&!n;){let e=t.lastIndexOf(`
14
- `,r-1)+1,i=t.slice(e,r).match(Ae);i&&(n=i[1]||i[2]),r=e-1}if(!n)return null;let i=x.test(n);if(!(ke.test(n)||i||n.startsWith(`/`))){let t=e.split(`/`);t[t.length-1]=n,n=t.join(`/`)}return n},Ne=e=>{let t=e.ignoreList??e.x_google_ignoreList;return Array.isArray(t)&&t.length>0?new Set(t):void 0},Pe=(e,t)=>{if(!e||x.test(t)||t.startsWith(`/`))return t;let n=e.endsWith(`/`)?e:`${e}/`,r=t.replace(/^\.\//,``);if(x.test(n))try{return new URL(r,n).toString()}catch{}return`${n}${r}`},Fe=e=>e.sources.map(t=>Pe(e.sourceRoot,t)),Ie=e=>({file:e.file,ignoredSourceIndices:Ne(e),mappings:Ee(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:Fe(e),sourcesContent:e.sourcesContent,version:3}),Le=e=>{let t=e.sections.map(({map:e,offset:t})=>({map:{...e,ignoredSourceIndices:Ne(e),mappings:Ee(e.mappings),sources:Fe(e)},offset:t})),n=new Set;for(let e of t)for(let t of e.map.sources)n.add(t);return{file:e.file,mappings:[],names:[],sections:t,sourceRoot:void 0,sources:Array.from(n),sourcesContent:void 0,version:3}},Re=e=>{if(!e)return!1;let t=e.trim();if(!t)return!1;let n=t.match(x);if(!n)return!0;let r=n[0].toLowerCase();return r===`http:`||r===`https:`},ze=async(e,t)=>{if(!Re(e))return null;let n=t??(typeof globalThis.fetch==`function`?globalThis.fetch.bind(globalThis):void 0);if(!n)return null;let r=await n(e);if(!r.ok)return null;let i=await r.text();if(!i)return null;let a=Me(e,i);if(!a||!Re(a)&&!ke.test(a))return null;let o=await n(a);if(!o.ok)return null;try{let e=await o.json();return`sections`in e?Le(e):Ie(e)}catch{return null}},T=async(e,t=!0,n)=>{if(t&&S.has(e))return S.get(e)??null;let r=t?C.get(e):void 0;if(r)return(await r).sourceMap;let i=ze(e,n).then(e=>({sourceMap:e,isTransientFailure:!1}),()=>({sourceMap:null,isTransientFailure:!0}));t&&C.set(e,i);let{sourceMap:a,isTransientFailure:o}=await i;return t&&(C.delete(e),o||S.set(e,a)),a},E=async(e,t=!0,n)=>await Promise.all(e.map(async e=>{if(!e.fileName)return e;let r=await T(e.fileName,t,n);if(!r||typeof e.lineNumber!=`number`||typeof e.columnNumber!=`number`)return e;let i=w(r,e.lineNumber,e.columnNumber);return i?{...e,source:i.fileName&&e.source?e.source.replace(e.fileName,i.fileName):e.source,fileName:i.fileName,lineNumber:i.lineNumber,columnNumber:i.columnNumber,isIgnoreListed:i.isIgnoreListed,isSymbolicated:!0}:e})),D=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack==`string`,Be=e=>`tag`in e&&typeof e.tag==`number`,Ve=e=>e._debugOwner??void 0,He=e=>{let t=null;if(a(e,n=>{if(n===e)return!1;let r=n._debugOwner;return(r===e||e.alternate!==null&&r===e.alternate)&&n._debugStack instanceof Error&&(t=n._debugStack,!0)}),!t)return null;let{frames:n,isTrusted:r}=_(t);if(!r)return null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t.fileName)return{...t,lineNumber:t.enclosingLineNumber||t.lineNumber,columnNumber:t.enclosingColumnNumber||t.columnNumber}}return null},Ue=()=>{let n=e(),r=new Set([...t,...n.renderers.values()]),i=[],a=new Set;for(let e of r){let t=e.currentDispatcherRef;!t||a.has(t)||(a.add(t),i.push(t))}return i},We=()=>{let e=[];for(let t of Ue()){let n=`H`in t?t.H:t.current;e.push({currentDispatcherRef:t,value:n}),`H`in t?t.H=null:t.current=null}return e},Ge=e=>{for(let{currentDispatcherRef:t,value:n}of e)`H`in t?t.H=n:t.current=n},O=e=>`\n in ${e}`,Ke=(e,t)=>{let n=O(e);return t&&(n+=` (at ${t})`),n};let k=!1;const A=new WeakMap,j=(e,t)=>{if(!e||k)return``;let n=A.get(e);if(n!==void 0)return n;let r=Error.prepareStackTrace;Error.prepareStackTrace=void 0,k=!0;let i=We(),a=console.error,o=console.warn;console.error=()=>{},console.warn=()=>{};try{let n={DetermineComponentFrameRoot(){let n;try{if(t){let t=function(){throw Error()};if(Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){n=e}Reflect.construct(e,[],t)}else{try{Function.prototype.apply.call(t,void 0,[])}catch(e){n=e}Function.prototype.apply.call(e,t.prototype,[])}}else{try{throw Error()}catch(e){n=e}let t=Function.prototype.apply.call(e,void 0,[]);typeof t==`object`&&t&&`catch`in t&&typeof t.catch==`function`&&t.catch(()=>void 0)}}catch(e){if(e instanceof Error&&n instanceof Error&&typeof e.stack==`string`)return[e.stack,n.stack]}return[null,null]}};Object.defineProperty(n.DetermineComponentFrameRoot,"displayName",{value:`DetermineComponentFrameRoot`}),Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,`name`)?.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});let[r,i]=n.DetermineComponentFrameRoot();if(r&&i){let t=r.split(`
9
+ import{a as e,r as t}from"./rdt-hook.js";import{F as n,I as r,L as i,M as a,N as o,O as s,P as c,a as l,m as u}from"./core2.js";const d=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,ee=[`rsc://`,`file:///`,`webpack-internal://`,`webpack://`,`node:`,`turbopack://`,`metro://`,`/app-pages-browser/`,`/(app-pages-browser)/`],te=[`rsc://`,`about://React/`],f=[`<anonymous>`,`eval`,``],p=/\.(cjs|cts|js|jsx|mdx|mjs|mts|ts|tsx)$/,ne=/(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i,re=/^\?[\w~.-]+(?:=[^&#]*)?(?:&[\w~.-]+(?:=[^&#]*)?)*$/,ie=/\(at [^)]+\)$/,m=[`react_stack_bottom_frame`,`react-stack-bottom-frame`],ae=Error,oe=()=>ae.prepareStackTrace,h=e=>{ae.prepareStackTrace=e},se=/(^|@)\S+:\d+/,ce=/^\s*at .*(\S+:\d+|\(native\))/m,le=/^(eval@)?(\[native code\])?$/,g=(e,t)=>{if(t?.includeInElement!==!1){let t=e.split(`
10
+ `),n=[];for(let e of t)if(/^\s*at\s+/.test(e)){let t=de(e)[0];t&&n.push(t)}else if(/^\s*in\s+/.test(e)){let t=e.replace(/^\s*in\s+/,``).replace(/\s*\(at .*\)$/,``);n.push({functionName:t,source:e})}else if(e.match(se)){let t=fe(e)[0];t&&n.push(t)}return n}return e.match(ce)?de(e):fe(e)},ue=e=>{if(!e.includes(`:`))return[e,void 0,void 0];let t=e.startsWith(`(`)&&/:\d+\)$/.test(e)?e.slice(1,-1):e,n=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(t);return n?[n[1],n[2]||void 0,n[3]||void 0]:[t,void 0,void 0]},de=e=>e.split(`
11
+ `).filter(e=>!!e.match(ce)).map(e=>{let t=e;t.includes(`(eval `)&&(t=t.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));let n=t.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),r=n.match(/ (\(.+\)$)/);n=r?n.replace(r[0],``):n;let i=ue(r?r[1]:n);return{functionName:r&&n||void 0,fileName:[`eval`,`<anonymous>`,`(native)`].includes(i[0])?void 0:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}),fe=e=>e.split(`
12
+ `).filter(e=>!e.match(le)).map(e=>{let t=e;if(t.includes(` > eval`)&&(t=t.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),!t.includes(`@`)&&!t.includes(`:`))return{functionName:t};{let e=/(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/,n=t.match(e),r=n&&n[1]?n[1]:void 0,i=ue(t.replace(e,``));return{functionName:r,fileName:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:t}}}),pe=new WeakMap,me=e=>m.some(t=>e.includes(t)),he=e=>{let t=e.getFunctionName?.()??``;if(t)return t;let n=e.getTypeName?.()??``,r=e.getMethodName?.()??``;return n&&r?`${n}.${r}`:r},ge=e=>{let t=[];for(let n=1;n<e.length;n++){let r=e[n],i=he(r);if(me(i))return{frames:t,isTrusted:!0};if(r.isNative?.()){t.push({functionName:i||void 0});continue}let a=r.getScriptNameOrSourceURL?.()??``;!a&&r.isEval?.()&&(a=r.getEvalOrigin?.()??``),t.push({functionName:i&&i!==`<anonymous>`?i:void 0,fileName:a&&a!==`<anonymous>`?a:void 0,lineNumber:r.getLineNumber?.()??void 0,columnNumber:r.getColumnNumber?.()??void 0,enclosingLineNumber:r.getEnclosingLineNumber?.()??void 0,enclosingColumnNumber:r.getEnclosingColumnNumber?.()??void 0,source:` at ${r.toString()}`})}return{frames:t,isTrusted:!1}},_e=e=>{let t=-1;for(let n of m)if(t=e.indexOf(n),t!==-1)break;let n=t===-1?e:e.slice(0,e.lastIndexOf(`
13
+ `,t));return{frames:g(n).slice(1),isTrusted:t!==-1}},_=e=>{let t=pe.get(e);if(t)return t;let n=null,r=(e,t)=>{n=ge(t);let r=`${e.name||`Error`}: ${e.message||``}`;for(let e of t)r+=`\n at ${e.toString()}`;return r},i=oe();h(r);let a;try{a=String(e.stack)}finally{h(i)}let o=n??_e(a);return pe.set(e,o),o},ve=()=>{let n=e(),r=new Set([...t,...n.renderers.values()]),i=[],a=new Set;for(let e of r){let t=e.currentDispatcherRef;!t||a.has(t)||(a.add(t),i.push(t))}return i},ye=e=>`H`in e?e.H:e.current,v=(e,t)=>{`H`in e?e.H=t:e.current=t};var be=44,xe=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Se=new Uint8Array(64),Ce=new Uint8Array(128);for(let e=0;e<xe.length;e++){let t=xe.charCodeAt(e);Se[e]=t,Ce[t]=e}function y(e,t){let n=0,r=0,i=0;do i=Ce[e.next()],n|=(i&31)<<r,r+=5;while(i&32);let a=n&1;return n>>>=1,a&&(n=-2147483648|-n),t+n}function we(e,t){return e.pos>=t?!1:e.peek()!==be}var Te=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return r===-1?t.length:r}};function Ee(e){let{length:t}=e,n=new Te(e),r=[],i=0,a=0,o=0,s=0,c=0;do{let e=n.indexOf(`;`),t=[],l=!0,u=0;for(i=0;n.pos<e;){let r;i=y(n,i),i<u&&(l=!1),u=i,we(n,e)?(a=y(n,a),o=y(n,o),s=y(n,s),we(n,e)?(c=y(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||De(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function De(e){e.sort(Oe)}function Oe(e,t){return e[0]-t[0]}const b=/^data:application\/json(?:;[^,]*)?,/i,ke=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,Ae=new Map,je=new WeakMap;var Me=class extends Error{};const Ne=new Map,Pe=new WeakMap,Fe=new Set([`chrome-extension:`,`moz-extension:`,`safari-web-extension:`]),x=new Set([`http:`,`https:`,...Fe]),Ie=(e,t,n,r)=>{let[,i,a,o,s]=e;if(i===void 0||a===void 0||o===void 0)return null;let c=t[i];return c?{columnNumber:o,fileName:c,functionName:s===void 0?void 0:r?.[s]||void 0,isIgnoreListed:n?.has(i)??!1,lineNumber:a+1}:null},Le=(e,t,n,r,i,a)=>{if(n<0||n>=e.length)return null;let o=e[n];if(!o||o.length===0)return null;let s=null,c=0,l=o.length-1;for(;c<=l;){let e=c+l>>1;o[e][0]<=r?(s=o[e],c=e+1):l=e-1}return!s||s.length<4?null:Ie(s,t,i,a)},S=(e,t,n)=>{if(e.sections){let r=t-1,i=null;for(let t of e.sections)if(r>t.offset.line||r===t.offset.line&&n>=t.offset.column)i=t;else break;if(!i)return null;let a=r-i.offset.line,o=r===i.offset.line?n-i.offset.column:n;return Le(i.map.mappings,i.map.sources,a,o,i.map.ignoredSourceIndices,i.map.names)}return Le(e.mappings,e.sources,t-1,n,e.ignoredSourceIndices,e.names)},Re=(e,t,n,r,i)=>{if(!n)return null;let a=n.indexOf(r);if(a===-1)return null;let o=null;for(let r of e)for(let e of r){if(e[4]!==a)continue;let r=Ie(e,t,i,n);if(r){if(!r.isIgnoreListed)return r;o??=r}}return o},ze=(e,t)=>{if(e.sections){let n=null;for(let r of e.sections){let e=Re(r.map.mappings,r.map.sources,r.map.names,t,r.map.ignoredSourceIndices);if(e){if(!e.isIgnoreListed)return e;n??=e}}return n}return Re(e.mappings,e.sources,e.names,t,e.ignoredSourceIndices)},Be=(e,t,n)=>{if(!t)return null;let r=e.indexOf(n);return r===-1?null:t[r]??null},C=(e,t)=>{let n=Be(e.sources,e.sourcesContent,t);if(n!==null)return n;if(!e.sections)return null;for(let n of e.sections){let e=Be(n.map.sources,n.map.sourcesContent,t);if(e!==null)return e}return null},w=(e,t)=>{if(b.test(e))return e;try{return new URL(e,t).toString()}catch{try{let n=new URL(e,new URL(t,`https://bippy.invalid/`));return`${n.pathname}${n.search}${n.hash}`}catch{return null}}},Ve=e=>{try{let t=new URL(e),n=t.pathname.lastIndexOf(`.bundle`);if(n===-1)return null;let r=t.pathname.slice(n+7);if(r&&!r.startsWith(`//&`))return null;if(t.pathname=`${t.pathname.slice(0,n)}.map`,r){let e=new URLSearchParams(r.slice(3));for(let[n,r]of e)t.searchParams.set(n,r)}return t.hash=``,t.toString()}catch{return null}},He=(e,t,n)=>{let r=n.headers.get(`sourcemap`)??n.headers.get(`x-sourcemap`);if(r)return w(r.trim(),e);let i,a=t.length;for(;a>0&&!i;){let e=t.lastIndexOf(`
14
+ `,a-1)+1,n=t.slice(e,a).match(ke);n&&(i=n[1]||n[2]),a=e-1}return i?w(i,e):Ve(e)},T=e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`version`),n=Reflect.get(e,`mappings`),r=Reflect.get(e,`file`),i=Reflect.get(e,`names`),a=Reflect.get(e,`sourceRoot`),o=Reflect.get(e,`sources`),s=Reflect.get(e,`sourcesContent`),c=Reflect.get(e,`ignoreList`),l=Reflect.get(e,`x_google_ignoreList`);if(t!==3||typeof n!=`string`||r!==void 0&&typeof r!=`string`||i!==void 0&&(!Array.isArray(i)||i.some(e=>typeof e!=`string`))||a!==void 0&&typeof a!=`string`||s!==void 0&&(!Array.isArray(s)||s.some(e=>typeof e!=`string`&&e!==null))||c!==void 0&&(!Array.isArray(c)||c.some(e=>!Number.isInteger(e)||e<0))||l!==void 0&&(!Array.isArray(l)||l.some(e=>!Number.isInteger(e)||e<0))||!Array.isArray(o)||o.some(e=>typeof e!=`string`)||s&&s.length!==o.length)return!1;let u=o.length;return[...c??[],...l??[]].every(e=>e<u)},Ue=e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`version`),n=Reflect.get(e,`sections`);return t!==3||!Array.isArray(n)?!1:n.every(e=>{if(typeof e!=`object`||!e)return!1;let t=Reflect.get(e,`map`),n=Reflect.get(e,`url`),r=Reflect.get(e,`offset`);if(typeof r!=`object`||!r)return!1;let i=Reflect.get(r,`column`),a=Reflect.get(r,`line`);return T(t)!==(typeof n==`string`&&n.length>0)&&typeof i==`number`&&Number.isInteger(i)&&i>=0&&typeof a==`number`&&Number.isInteger(a)&&a>=0})},We=e=>{let t=e.ignoreList??e.x_google_ignoreList;return t?.length?new Set(t):void 0},Ge=(e,t,n)=>{if(!e||d.test(t)||t.startsWith(`/`))return t;let r=e.endsWith(`/`)?e:`${e}/`,i=t.replace(/^\.\//,``);try{let e=d.test(r)?r:new URL(r,n).toString();return new URL(i,e).toString()}catch{let e=`${r}${i}`.split(`/`),t=[];for(let n of e)n===`..`?t.pop():n!==`.`&&t.push(n);return t.join(`/`)}},Ke=(e,t)=>e.sources.map(n=>Ge(e.sourceRoot,n,t)),qe=(e,t)=>{try{return{file:e.file,ignoredSourceIndices:We(e),mappings:Ee(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:Ke(e,t),sourcesContent:e.sourcesContent,version:3}}catch{return null}},Je=async(e,t,n)=>{let r=[],i=-1,a=-1;for(let o of e.sections){if(o.offset.line<i||o.offset.line===i&&o.offset.column<=a)return null;i=o.offset.line,a=o.offset.column;let e=o.url?w(o.url,t):null,s=o.map??(e?await n(e):null);if(!s)return null;let c=e??t;try{r.push({map:{...s,ignoredSourceIndices:We(s),mappings:Ee(s.mappings),sources:Ke(s,c)},offset:o.offset})}catch{return null}}let o=new Set;for(let e of r)for(let t of e.map.sources)o.add(t);return{file:e.file,mappings:[],names:[],sections:r,sourceRoot:void 0,sources:Array.from(o),sourcesContent:void 0,version:3}},Ye=(e,t=!1)=>{if(!e)return!1;let n=e.trim();if(!n)return!1;let r=n.match(d);if(!r)return!0;let i=r[0].toLowerCase();return t||x.has(i)},Xe=()=>typeof window>`u`&&typeof process<`u`&&typeof process.versions?.node==`string`,Ze=e=>{try{let t=new URL(e);return(t.protocol===`http:`||t.protocol===`https:`)&&!t.username&&!t.password}catch{return!1}},E=e=>{try{return new URL(e).protocol}catch{return null}},D=e=>{let t=E(e);return t!==null&&Fe.has(t)},Qe=(e,t)=>{try{let n=new URL(e),r=new URL(t);return n.protocol===r.protocol&&n.host===r.host}catch{return!1}},$e=(e,t,n,r)=>{if(b.test(t))return!0;if(!Ye(t,r))return!1;let i=E(e),a=E(t),o=i!==null&&!x.has(i)||a!==null&&!x.has(a);return!(n||o||D(e)||D(t))||Qe(e,t)},et=e=>e===408||e===425||e===429||e>=500,tt=e=>{if(e.ok)return!0;if(et(e.status))throw new Me;return!1},nt=(e,t,n)=>!n||t.url.length===0||Qe(e,t.url),rt=e=>{if(e.timeoutMs===void 0||e.timeoutMs<0)return{cleanup:()=>{},signal:e.signal};let t=new AbortController,r=()=>t.abort(e.signal?.reason);e.signal?.aborted?r():e.signal?.addEventListener(`abort`,r,{once:!0});let i=setTimeout(()=>t.abort(new n(`Source map request timed out`)),e.timeoutMs);return{cleanup:()=>{clearTimeout(i),e.signal?.removeEventListener(`abort`,r)},signal:t.signal}},it=async(e,t)=>{let n=Number(e.headers.get(`content-length`));if(Number.isFinite(n)&&n>t)return null;if(!e.body){let n=await e.text();return new TextEncoder().encode(n).byteLength>t?null:n}let r=e.body.getReader(),i=new TextDecoder,a=[],o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)return await r.cancel(),null;a.push(i.decode(n,{stream:!0}))}return a.push(i.decode()),a.join(``)}finally{r.releaseLock()}},at=e=>{try{if(typeof globalThis.atob==`function`)return new TextDecoder().decode(Uint8Array.from(globalThis.atob(e),e=>e.charCodeAt(0)))}catch{return null}let t=e.replace(/\s/g,``).replace(/=+$/,``),n=[],r=0,i=0;for(let e of t){let t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.indexOf(e);if(t===-1)return null;r=r*64+t,i+=6,i>=8&&(i-=8,n.push(Math.floor(r/2**i)&255),r%=2**i)}return new TextDecoder().decode(Uint8Array.from(n))},ot=(e,t)=>{let n=e.indexOf(`,`);if(n===-1)return null;let r=e.slice(0,n),i=e.slice(n+1);if(i.length>t*2)return null;try{let e=r.toLowerCase().includes(`;base64`)?at(i):decodeURIComponent(i);return e===null||new TextEncoder().encode(e).byteLength>t?null:JSON.parse(e)}catch{return null}},st=async(e,t,n,r,i)=>{if(b.test(e))return ot(e,r);let a=await t(e,{redirect:i?`error`:`follow`,signal:n});if(!tt(a)||!nt(e,a,i))return null;let o=await it(a,r);if(o===null)return null;try{return JSON.parse(o)}catch{return null}},ct=async(e,t,n={})=>{let r=t!==void 0;if(!Ye(e,r))return null;let i=Xe(),a=i||D(e);if(i&&!t&&(!n.allowUnsafeServerFetch||!Ze(e)))return null;let o=t??(typeof globalThis.fetch==`function`?globalThis.fetch.bind(globalThis):void 0);if(!o)return null;let s=n.maxBundleSizeBytes??26214400,c=n.maxSourceMapSizeBytes??104857600;if(s<0||c<0)return null;let l=rt(n);try{let t=await o(e,{redirect:a?`error`:`follow`,signal:l.signal});if(!tt(t)||!nt(e,t,a))return null;let n=await it(t,s);if(n===null)return null;let i=He(e,n,t);if(!i||!$e(e,i,a,r))return null;let u=await st(i,o,l.signal,c,a);return T(u)?qe(u,i):Ue(u)?Je(u,i,async t=>{if(!$e(e,t,a,r))return null;let n=await st(t,o,l.signal,c,a);return T(n)?n:null}):null}finally{l.cleanup()}},lt=(e,t,n)=>{if(!n)return t;let r=e.get(n);return r||(r=new Map,e.set(n,r)),r},ut=e=>lt(je,Ae,e),dt=e=>lt(Pe,Ne,e),ft=(e,t)=>t.allowUnsafeServerFetch===void 0&&t.maxBundleSizeBytes===void 0&&t.maxSourceMapSizeBytes===void 0&&t.timeoutMs===void 0?e:`${e}\0${t.allowUnsafeServerFetch??``}\0${t.maxBundleSizeBytes??``}\0${t.maxSourceMapSizeBytes??``}\0${t.timeoutMs??``}`,O=async(e,t=!0,n,r={})=>{let i=t&&r.signal===void 0,a=ut(n),o=dt(n),s=ft(e,r);if(i&&a.has(s))return a.get(s)??null;let c=i?o.get(s):void 0;if(c)return(await c).sourceMap;let l=ct(e,n,r).then(e=>({sourceMap:e,isTransientFailure:!1}),()=>({sourceMap:null,isTransientFailure:!0}));i&&o.set(s,l);let{sourceMap:u,isTransientFailure:d}=await l;return i&&(o.delete(s),d||a.set(s,u)),u},k=async(e,t=!0,n)=>Promise.all(e.map(async e=>{if(!e.fileName)return e;let r=await O(e.fileName,t,n);if(!r||typeof e.lineNumber!=`number`||typeof e.columnNumber!=`number`)return e;let i=S(r,e.lineNumber,e.columnNumber);return i?{...e,source:i.fileName&&e.source?e.source.replace(e.fileName,i.fileName):e.source,fileName:i.fileName,functionName:i.functionName??e.functionName,lineNumber:i.lineNumber,columnNumber:i.columnNumber,isIgnoreListed:i.isIgnoreListed,isSymbolicated:!0}:e})),A=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack==`string`,pt=e=>`tag`in e&&typeof e.tag==`number`,j=e=>{let t=null;if(s(e,n=>{if(n===e)return!1;let r=n._debugOwner;return(r===e||e.alternate!==null&&r===e.alternate)&&n._debugStack instanceof Error&&(t=n._debugStack,!0)}),!t)return null;let{frames:n,isTrusted:r}=_(t);if(!r)return null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t.fileName)return{...t,lineNumber:t.enclosingLineNumber||t.lineNumber,columnNumber:t.enclosingColumnNumber||t.columnNumber}}return null},mt=()=>{let e=[];for(let t of ve())e.push({currentDispatcherRef:t,value:ye(t)}),v(t,null);return e},ht=e=>{for(let{currentDispatcherRef:t,value:n}of e)v(t,n)},M=e=>`\n in ${e}`,gt=(e,t)=>{let n=M(e);return t&&(n+=` (at ${t})`),n};let N=!1;const P=new WeakMap,F=(e,t)=>{if(!e||N)return``;let n=P.get(e);if(n!==void 0)return n;let r=oe();h(void 0),N=!0;let i=mt(),a=console.error,o=console.warn;console.error=()=>{},console.warn=()=>{};try{let n={DetermineComponentFrameRoot(){let n;try{if(t){let t=function(){throw Error()};if(Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){n=e}Reflect.construct(e,[],t)}else{try{Function.prototype.apply.call(t,void 0,[])}catch(e){n=e}Function.prototype.apply.call(e,t.prototype,[])}}else{try{throw Error()}catch(e){n=e}let t=Function.prototype.apply.call(e,void 0,[]);typeof t==`object`&&t&&`catch`in t&&typeof t.catch==`function`&&t.catch(()=>void 0)}}catch(e){if(e instanceof Error&&n instanceof Error&&typeof e.stack==`string`)return[e.stack,n.stack]}return[null,null]}};Object.defineProperty(n.DetermineComponentFrameRoot,"displayName",{value:`DetermineComponentFrameRoot`}),Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,`name`)?.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});let[r,i]=n.DetermineComponentFrameRoot();if(r&&i){let t=r.split(`
15
15
  `),n=i.split(`
16
- `),a=0,o=0;for(;a<t.length&&!t[a].includes(`DetermineComponentFrameRoot`);)a++;for(;o<n.length&&!n[o].includes(`DetermineComponentFrameRoot`);)o++;if(a===t.length||o===n.length)for(a=t.length-1,o=n.length-1;a>=1&&o>=0&&t[a]!==n[o];)o--;for(;a>=1&&o>=0;a--,o--)if(t[a]!==n[o]){if(a!==1||o!==1)do if(a--,o--,o<0||t[a]!==n[o]){let n=`\n${t[a].replace(` at new `,` at `)}`,r=l(e);return r&&n.includes(`<anonymous>`)&&(n=n.replace(`<anonymous>`,r)),A.set(e,n),n}while(a>=1&&o>=0);break}}}finally{k=!1,Error.prepareStackTrace=r,Ge(i),console.error=a,console.warn=o}let s=e?l(e):``,c=s?O(s):``;return A.set(e,c),c},qe=(e,t)=>{let a=``;switch(e.tag){case te:a=O(`Activity`);break;case n:a=j(e.type,!0);break;case s:a=j(f(e.type)??e.type,!1);break;case r:case ee:a=j(e.type,!1);break;case i:case p:case c:typeof e.type==`string`&&(a=O(e.type));break;case o:a=O(`Lazy`);break;case m:a=e.child!==t&&t!==null?O(`Suspense Fallback`):O(`Suspense`);break;case d:a=O(`SuspenseList`);break;case u:a=O(`ViewTransition`);break;default:return``}return a},Je=e=>{try{let t=``,n=e,r=null;do{t+=qe(n,r);let e=n._debugInfo;if(e&&Array.isArray(e))for(let n=e.length-1;n>=0;n--){let r=e[n];typeof r.name==`string`&&(t+=Ke(r.name,r.env))}r=n,n=n.return}while(n);return t}catch(e){return e instanceof Error?`\nError generating stack: ${e.message}\n${e.stack}`:``}},M=e=>{let t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;let n=e;if(!n)return``;Error.prepareStackTrace=t,n.startsWith(`Error: react-stack-top-frame
17
- `)&&(n=n.slice(29));let r=n.indexOf(`
18
- `);r!==-1&&(n=n.slice(r+1));let i=Math.max(n.indexOf(`react_stack_bottom_frame`),n.indexOf(`react-stack-bottom-frame`));if(i!==-1&&(i=n.lastIndexOf(`
19
- `,i)),i!==-1)n=n.slice(0,i);else return``;return n},Ye=e=>!!(e.functionName&&e.fileName&&N(e.fileName)),Xe=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,Ze=e=>{let t=new Map;for(let n of e)for(let e of n.stackFrames){if(!Ye(e))continue;let n=e.functionName,r=t.get(n)??[];r.some(t=>Xe(t,e))||(r.push(e),t.set(n,r))}return t},Qe=(e,t,n)=>{if(!e.functionName)return{...e,isServer:!0};let r=t.get(e.functionName);if(!r||r.length===0)return{...e,isServer:!0};let i=n.get(e.functionName)??0,a=r[i%r.length];return n.set(e.functionName,i+1),{...e,isServer:!0,fileName:a.fileName,lineNumber:a.lineNumber,columnNumber:a.columnNumber,source:e.source?.replace(`(at Server)`,`(${a.fileName}:${a.lineNumber}:${a.columnNumber})`)}},N=e=>ie.some(t=>e.startsWith(t)),$e=e=>!e.isServer&&e.fileName&&N(e.fileName)?{...e,isServer:!0}:e,et=e=>{let t=[],n=e;for(;n;)if(Be(n)){let e=n;if(n=Ve(e),n&&D(e)){let{frames:n,isTrusted:r}=_(e._debugStack);if(r)for(let e of n)t.push($e(e))}}else{let e=n;if(n=e.owner,n&&e.debugStack instanceof Error)for(let n of _(e.debugStack).frames)t.push({...n,isServer:!0})}return t},tt=e=>{let t=[];return a(e,e=>{if(!D(e))return;let n=typeof e.type==`string`?e.type:l(e.type)||`<anonymous>`;t.push({componentName:n,stackFrames:h(M(e._debugStack?.stack))})},!0),t},P=async(e,t=!0,n)=>{let r=tt(e),i=h(Je(e)),a=Ze(r),o=new Map,s=i.map(e=>(e.source?.includes(`(at Server)`)??!1)||e.source!==null&&e.source!==void 0&&le.test(e.source)?Qe(e,a,o):e).filter((e,t,n)=>{if(t===0)return!0;let r=n[t-1];return e.functionName!==r.functionName});return E(s,t,n)},nt=e=>!!e.fileName&&!e.isIgnoreListed,rt=async(e,t=!0,n)=>{let r=et(e);if(r.length>0){let i=He(e)??{};i.functionName=l(e.type)??i.functionName;let a=await E([i,...r],t,n);if(a.some((e,t)=>t>0&&nt(e)))return a}return P(e,t,n)},it=e=>{let t=e._debugSource;return t?typeof t==`object`&&!!t&&`fileName`in t&&typeof t.fileName==`string`&&`lineNumber`in t&&typeof t.lineNumber==`number`:!1},F=e=>e.fileName?{fileName:e.fileName,lineNumber:e.lineNumber,columnNumber:e.columnNumber,functionName:e.functionName}:null,at=e=>{if(!D(e))return null;let{frames:t,isTrusted:n}=_(e._debugStack);if(!n)return null;for(let e of t)if(e.fileName)return e;return null},ot=async(e,t=!0,n)=>{if(it(e))return e._debugSource||null;let r=at(e)??He(e);if(r){let[e]=await E([r],t,n),i=F(e);if(i)return i}let i=await P(e,t,n);for(let e of i)if(e.fileName)return F(e);return null},I=e=>e.split(`/`).filter(Boolean).length,st=e=>e.split(`/`).filter(Boolean)[0]??null,ct=e=>{let t=e.indexOf(`/`,1);if(t===-1)return e;let n=e.slice(0,t);if(I(n)!==1)return e;let r=e.slice(t);if(!oe.test(r)||I(r)<2)return e;let i=st(r);return!i||i.startsWith(`@`)||i.length>4?e:r},L=e=>{if(!e||ae.some(t=>t===e))return``;let t=e,n=/^[a-zA-Z]:[\\/]/.test(t),r=t.startsWith(`http://`)||t.startsWith(`https://`);if(r)try{t=new URL(t).pathname}catch{}if(r&&(t=ct(t)),t.startsWith(`about://React/`)){let e=t.slice(14),n=e.indexOf(`/`),r=e.indexOf(`:`);t=n!==-1&&(r===-1||n<r)?e.slice(n+1):e}let i=!0;for(;i;){i=!1;for(let e of re)if(t.startsWith(e)){t=t.slice(e.length),e===`file:///`&&(t=`/${t.replace(/^\/+/,``)}`),i=!0;break}}if(!n&&ne.test(t)){let e=t.match(ne);e&&(t=t.slice(e[0].length))}if(t.startsWith(`//`)){let e=t.indexOf(`/`,2);t=e===-1?``:t.slice(e)}let a=t.indexOf(`?`);if(a!==-1){let e=t.slice(a);ce.test(e)&&(t=t.slice(0,a))}return t},lt=e=>{let t=L(e);return!(!t||!oe.test(t)||se.test(t))},ut=(e,t)=>{let n=e.split(`
20
- `),r=t-1;if(r<0||r>=n.length)return null;let i=Math.max(0,r-5),a=Math.min(n.length,r+5),o=n.slice(i,a).join(`
21
- `),s=/(?:^|export\s+)(?:const|let|var)\s+(\w+)\s*=/m,c=/(?:^|export\s+)function\s+(\w+)/m,l=/(?:^|export\s+)class\s+(\w+)/m,u=o.match(s);if(u?.[1])return u[1];let d=o.match(c);if(d?.[1])return d[1];let f=o.match(l);return f?.[1]?f[1]:null},dt=async(e,t=!0,n)=>{let r=(await P(e,t,n)).filter(e=>e.fileName)[0];if(!r?.fileName)return l(e.type);let i=await T(r.fileName,t,n);if(!i)return l(e.type);let a=null;if(typeof r.lineNumber==`number`&&typeof r.columnNumber==`number`&&(a=w(i,r.lineNumber,r.columnNumber)),!a?.fileName||!a.lineNumber||!i.sourcesContent)return l(e.type);let o=i.sources.indexOf(a.fileName);if(o===-1||!i.sourcesContent[o])return l(e.type);let s=i.sourcesContent[o];return ut(s,a.lineNumber)||l(e.type)},R=Symbol.for(`react.context`),ft=Symbol.for(`react.memo_cache_sentinel`);let z=[],B=null,V=null,H=null,U=null,W=0,G=null;const K=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render."),q=e=>h(e.stack||``,{includeInElement:!1}),J=()=>{let e=H;return e!==null&&(H=e.next),e},Y=e=>{if(V===null)return e._currentValue;if(U===null)throw Error(`Context reads do not line up with context dependencies.`);if(Object.prototype.hasOwnProperty.call(U,`memoizedValue`)){let e=U.memoizedValue;return U=U.next,e}return e._currentValue},pt=()=>{let n=e(),r=[...t,...n.renderers.values()];for(let e of r){let t=e.currentDispatcherRef;if(t&&typeof t==`object`)return t}return null},mt=e=>`H`in e?e.H:e.current,ht=(e,t)=>{`H`in e?e.H=t:e.current=t},X=(e,t,n,r=null)=>{z.push({displayName:r,primitive:e,stackError:Error(),value:t,dispatcherHookName:n})},gt=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.then==`function`){let e=G!==null&&W<G.length?G[W++]:t;switch(e.status){case`fulfilled`:return X(`Promise`,e.value,`Use`),e.value;case`rejected`:throw e.reason}throw X(`Unresolved`,e,`Use`),K}if(t.$$typeof===R&&`_currentValue`in t){let e=t,n=Y(e);return X(`Context (use)`,n,`Use`,e.displayName||`Context`),n}}throw Error(`An unsupported type was passed to use(): `+String(e))},_t=e=>{let t=Y(e);return X(`Context`,t,`Context`,e.displayName||null),t},vt=e=>{let t=J(),n=t===null?typeof e==`function`?e():e:t.memoizedState;return X(`State`,n,`State`),[n,()=>{}]},yt=(e,t,n)=>{let r=J(),i=r===null?n===void 0?t:n(t):r.memoizedState;return X(`Reducer`,i,`Reducer`),[i,()=>{}]},bt=e=>{let t=J(),n=t===null?{current:e}:t.memoizedState;return X(`Ref`,n.current,`Ref`),n},xt=()=>{let e=J();return X(`CacheRefresh`,e===null?()=>{}:e.memoizedState,`CacheRefresh`),()=>{}},St=e=>{J(),X(`LayoutEffect`,e,`LayoutEffect`)},Ct=e=>{J(),X(`InsertionEffect`,e,`InsertionEffect`)},wt=e=>{J(),X(`Effect`,e,`Effect`)},Tt=e=>{J();let t;typeof e==`object`&&e&&`current`in e&&(t=e.current),X(`ImperativeHandle`,t,`ImperativeHandle`)},Et=(e,t)=>{X(`DebugValue`,typeof t==`function`?t(e):e,`DebugValue`)},Dt=e=>{let t=J();return X(`Callback`,t===null?e:t.memoizedState[0],`Callback`),e},Ot=e=>{let t=J(),n=t===null?e():t.memoizedState[0];return X(`Memo`,n,`Memo`),n},kt=(e,t)=>{let n=J();J();let r=n===null?t():n.memoizedState;return X(`SyncExternalStore`,r,`SyncExternalStore`),r},At=()=>{let e=J();J();let t=e!==null&&e.memoizedState;return X(`Transition`,t,`Transition`),[t,()=>{}]},jt=e=>{let t=J(),n=t===null?e:t.memoizedState;return X(`DeferredValue`,n,`DeferredValue`),n},Mt=()=>{let e=J(),t=e===null?``:e.memoizedState;return X(`Id`,t,`Id`),t},Nt=e=>{let t=V;if(t==null)return[];let n=t.updateQueue?.memoCache;if(n==null)return[];let r=n.data[n.index];return r===void 0&&(r=n.data[n.index]=Array.from({length:e},()=>ft)),n.index++,r},Pt=e=>{let t=J(),n=t===null?e:t.memoizedState;return X(`Optimistic`,n,`Optimistic`),[n,()=>{}]},Ft=(e,t)=>{let n,r=null;if(e!==null){let t=e.memoizedState;if(typeof t==`object`&&t&&`then`in t&&typeof t.then==`function`){let e=t;switch(e.status){case`fulfilled`:n=e.value;break;case`rejected`:r=e.reason;break;default:r=K,n=e}}else n=t}else n=t;return{value:n,error:r}},It=e=>(t,n)=>{let r=J();J(),J();let i=Error(),{value:a,error:o}=Ft(r,n);if(z.push({displayName:null,primitive:e,stackError:i,value:a,dispatcherHookName:e}),o!==null)throw o;return[a,()=>{},!1]},Lt=It(`ActionState`),Z={readContext:Y,use:gt,useCallback:Dt,useContext:_t,useEffect:wt,useImperativeHandle:Tt,useLayoutEffect:St,useInsertionEffect:Ct,useMemo:Ot,useReducer:yt,useRef:bt,useState:vt,useDebugValue:Et,useDeferredValue:jt,useTransition:At,useSyncExternalStore:kt,useId:Mt,useHostTransitionStatus:()=>{let e=Y({_currentValue:null});return X(`HostTransitionStatus`,e,`HostTransitionStatus`),e},useFormState:It(`FormState`),useActionState:Lt,useOptimistic:Pt,useMemoCache:Nt,useCacheRefresh:xt,useEffectEvent:e=>(J(),X(`EffectEvent`,e,`EffectEvent`),e)},Rt=typeof Proxy>`u`?Z:new Proxy(Z,{get(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let n=Error(`Missing method in Dispatcher: `+t);throw n.name=`ReactDebugToolsUnsupportedHookError`,n}}),zt=()=>{if(B!==null)return B;let e=new Map,t;try{if(Z.useContext({_currentValue:null}),Z.useState(null),Z.useReducer(e=>e,null),Z.useRef(null),typeof Z.useCacheRefresh==`function`&&Z.useCacheRefresh(),Z.useLayoutEffect(()=>{}),Z.useInsertionEffect(()=>{}),Z.useEffect(()=>{}),Z.useImperativeHandle(void 0,()=>null),Z.useDebugValue(null),Z.useCallback(()=>{}),Z.useTransition(),Z.useSyncExternalStore(()=>()=>{},()=>null,()=>null),Z.useDeferredValue(null),Z.useMemo(()=>null),Z.useOptimistic(null,e=>e),Z.useFormState(e=>e,null),Z.useActionState(e=>e,null),Z.useHostTransitionStatus(),typeof Z.useMemoCache==`function`&&Z.useMemoCache(0),typeof Z.use==`function`){Z.use({$$typeof:R,_currentValue:null}),Z.use({then(){},status:`fulfilled`,value:null});try{Z.use({then(){}})}catch{}}Z.useId(),typeof Z.useEffectEvent==`function`&&Z.useEffectEvent(()=>{})}finally{t=z,z=[]}for(let n of t)e.set(n.primitive,q(n.stackError));return B=e,B};let Bt=0;const Q=(e,t,n)=>{if(n>=t.length)return-1;let r=t[n].source;hookSearch:for(let i=0;i<e.length;i++)if(e[i].source===r){for(let r=n+1,a=i+1;r<t.length&&a<e.length;r++,a++)if(e[a].source!==t[r].source)continue hookSearch;return i}return-1},Vt=(e,t)=>{let n=Q(t,e,Bt);if(n!==-1)return n;for(let r=0;r<e.length&&r<5;r++)if(n=Q(t,e,r),n!==-1)return Bt=r,n;return-1},$=e=>{if(!e)return``;let t=e.lastIndexOf(`[as `);if(t!==-1)return $(e.slice(t+4,-1));if(t=e.lastIndexOf(`.`),t=t===-1?0:t+1,e.slice(t).startsWith(`unstable_`)&&(t+=9),e.slice(t).startsWith(`experimental_`)&&(t+=13),e.slice(t,t+3)===`use`){if(e.length-t===3)return`Use`;t+=3}return e.slice(t)},Ht=(e,t)=>{let n=$(e);return t===`HostTransitionStatus`?n===t||n===`FormStatus`:n===t},Ut=(e,t)=>{let n=zt().get(t.primitive);if(n===void 0)return-1;for(let r=0;r<n.length&&r<e.length;r++)if(n[r].source!==e[r].source)return r<e.length-1&&Ht(e[r].functionName,t.dispatcherHookName)&&r++,r<e.length-1&&Ht(e[r].functionName,t.dispatcherHookName)&&r++,r;return-1},Wt=(e,t)=>{let n=q(t.stackError),r=Vt(e,n),i=Ut(n,t);return r===-1||i===-1||r-i<2?i===-1?[null,null]:[n[i-1]??null,null]:[n[i-1]??null,n.slice(i,r-1)]},Gt=new Set([`Context`,`Context (use)`,`DebugValue`,`Promise`,`Unresolved`,`HostTransitionStatus`]),Kt=(e,t)=>{let n=[],r=null,i=n,a=0,o=[];for(let s of t){let[t,c]=Wt(e,s),l=s.displayName;if(l===null&&t!==null&&(l=$(t.functionName)||$(s.dispatcherHookName)),c!==null){let e=0;if(r!==null){for(;e<c.length&&e<r.length&&c[c.length-e-1].source===r[r.length-e-1].source;)e++;for(let t=r.length-1;t>e;t--)i=o.pop()??n}for(let t=c.length-e-1;t>=1;t--){let e=[],n=c[t],r={id:null,isStateEditable:!1,name:$(c[t-1].functionName),value:void 0,subHooks:e,hookSource:{lineNumber:n.lineNumber??null,columnNumber:n.columnNumber??null,functionName:n.functionName??null,fileName:n.fileName??null}};i.push(r),o.push(i),i=e}r=c}let{primitive:u}=s,d=Gt.has(u)?null:a++,f=u===`Reducer`||u===`State`,ee=l||u,p=c?.[0],m={lineNumber:p?.lineNumber??null,columnNumber:p?.columnNumber??null,functionName:p?.functionName??null,fileName:p?.fileName??null};i.push({id:d,isStateEditable:f,name:ee,value:s.value,subHooks:[],hookSource:m})}return qt(n,null),n},qt=(e,t)=>{let n=[];for(let t=0;t<e.length;t++){let r=e[t];r.name===`DebugValue`&&r.subHooks.length===0?(e.splice(t,1),t--,n.push(r)):qt(r.subHooks,r)}t!==null&&(n.length===1?t.value=n[0].value:n.length>1&&(t.value=n.map(({value:e})=>e)))},Jt=(e,t)=>{let n=t;for(;n;){if(n.tag===10){let t=n.type;`_context`in t&&t._context!==void 0&&(t=t._context),e.has(t)||(e.set(t,t._currentValue),t._currentValue=n.memoizedProps.value)}n=n.return}},Yt=e=>{e.forEach((e,t)=>{t._currentValue=e})},Xt=e=>{if(e===K)return;if(e instanceof Error&&e.name===`ReactDebugToolsUnsupportedHookError`)throw e;let t=Error(`Error rendering inspected component`,{cause:e});throw t.name=`ReactDebugToolsRenderError`,t.cause=e,t},Zt=(e,t)=>{if(e&&typeof e==`object`&&`defaultProps`in e&&e.defaultProps){let n={...t},r=e.defaultProps;for(let e in r)n[e]===void 0&&(n[e]=r[e]);return n}return t},Qt=()=>{let e={};for(let t in console)try{e[t]=console[t],console[t]=()=>{}}catch{}return e},$t=e=>{for(let t in e)try{console[t]=e[t]}catch{}},en=(e,t)=>{let n=mt(e);ht(e,Rt);let r=[],i;try{i=Error(),t()}catch(e){Xt(e)}finally{r=z,z=[],ht(e,n)}let a=i===void 0?[]:q(i);return Kt(a,r)},tn=()=>{let e=pt();if(!e)throw Error(`No React renderer found. Make sure React is loaded and bippy's hook is installed.`);return e},nn=e=>{if(Object.prototype.hasOwnProperty.call(e,`dependencies`)){let t=e.dependencies;U=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`dependencies_old`)){let t=e.dependencies_old;U=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`dependencies_new`)){let t=e.dependencies_new;U=t===null?null:t.firstContext}else if(Object.prototype.hasOwnProperty.call(e,`contextDependencies`)){let t=e.contextDependencies;U=t===null?null:t.first}else throw Error(`Unsupported React version.`)},rn=e=>{let t=tn();if(e.tag!==0&&e.tag!==15&&e.tag!==11)throw Error(`Unknown Fiber. Needs to be a function component to inspect hooks.`);zt(),H=e.memoizedState,V=e;let n=e.dependencies&&e.dependencies._debugThenableState,r=n?n.thenables||n:null;G=Array.isArray(r)?r:null,W=0,nn(e);let i=e.type,a=e.memoizedProps;i!==e.elementType&&(a=Zt(i,a));let o=Qt(),s=new Map;try{return U!==null&&!Object.prototype.hasOwnProperty.call(U,`memoizedValue`)&&Jt(s,e),e.tag===11?en(t,()=>{i.render(a,e.ref)}):en(t,()=>{i(a)})}finally{V=null,H=null,U=null,G=null,W=0,Yt(s),$t(o)}},an=new Set([`Effect`,`LayoutEffect`,`InsertionEffect`,`ImperativeHandle`,`DebugValue`]),on=/(?:const|let|var)\s+((?:\[[\s\S]*?\]|\w+))\s*=\s*(?:[\w$.]+\.)*use[A-Z]\w*\s*(?:<[\s\S]*?>)?\s*\(/g,sn=e=>`${e.fileName??``}:${e.lineNumber??0}:${e.columnNumber??0}`,cn=e=>{let t=[],n=e=>{for(let r of e)an.has(r.name)||(t.push(r),r.subHooks.length>0&&n(r.subHooks))};return n(e),t},ln=(e,t,n)=>{if(!t)return null;let r=e.indexOf(n);return r===-1?null:t[r]??null},un=(e,t)=>{let n=ln(e.sources,e.sourcesContent,t);if(n)return n;if(e.sections)for(let n of e.sections){let e=ln(n.map.sources,n.map.sourcesContent,t);if(e)return e}return null},dn=e=>{let t=e.trim();if(t.startsWith(`[`)){let e=t.match(/\[\s*(\w+)/);return e?e[1]:null}return/^\w+$/.test(t)?t:null},fn=(e,t,n)=>{let r=e.split(`
16
+ `),a=0,o=0;for(;a<t.length&&!t[a].includes(`DetermineComponentFrameRoot`);)a++;for(;o<n.length&&!n[o].includes(`DetermineComponentFrameRoot`);)o++;if(a===t.length||o===n.length)for(a=t.length-1,o=n.length-1;a>=1&&o>=0&&t[a]!==n[o];)o--;for(;a>=1&&o>=0;a--,o--)if(t[a]!==n[o]){if(a!==1||o!==1)do if(a--,o--,o<0||t[a]!==n[o]){let n=`\n${t[a].replace(` at new `,` at `)}`,[r]=g(n);if(!r?.fileName)continue;let i=l(e);return i&&n.includes(`<anonymous>`)&&(n=n.replace(`<anonymous>`,i)),P.set(e,n),n}while(a>=1&&o>=0);break}}}finally{N=!1,h(r),ht(i),console.error=a,console.warn=o}let s=l(e),c=s?M(s):``;return P.set(e,c),c},_t=(e,t)=>{let n=``,r=i(e);switch(e.tag){case r.ActivityComponent:n=M(`Activity`);break;case r.ClassComponent:n=F(e.type,!0);break;case r.ForwardRef:n=F(u(e.type)??e.type,!1);break;case r.FunctionComponent:case r.SimpleMemoComponent:n=F(u(e.type)??e.type,!1);break;case r.HostComponent:case r.HostHoistable:case r.HostSingleton:typeof e.type==`string`&&(n=M(e.type));break;case r.LazyComponent:n=M(`Lazy`);break;case r.SuspenseComponent:n=e.child!==t&&t!==null?M(`Suspense Fallback`):M(`Suspense`);break;case r.SuspenseListComponent:n=M(`SuspenseList`);break;case r.ViewTransitionComponent:n=M(`ViewTransition`);break;default:return``}return n},vt=e=>{try{let t=``,n=e,r=null;do{t+=_t(n,r);let e=n._debugInfo;if(e&&Array.isArray(e))for(let n=e.length-1;n>=0;n--){let r=e[n];typeof r.name==`string`&&(t+=gt(r.name,r.env))}r=n,n=n.return}while(n);return t}catch(e){return e instanceof Error?`\nBippy couldn’t generate the stack: ${e.message}\n${e.stack}`:``}},yt=e=>{let t=e;if(!t)return``;t.startsWith(`Error: react-stack-top-frame
17
+ `)&&(t=t.slice(29));let n=t.indexOf(`
18
+ `);n!==-1&&(t=t.slice(n+1));let r=Math.max(...m.map(e=>t.indexOf(e)));if(r!==-1&&(r=t.lastIndexOf(`
19
+ `,r)),r!==-1)t=t.slice(0,r);else return``;return t},bt=e=>!!(e.functionName&&e.fileName&&wt(e.fileName)),xt=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,St=e=>{let t=new Map;for(let n of e){if(!bt(n))continue;let e=n.functionName,r=t.get(e)??[];r.some(e=>xt(e,n))||(r.push(n),t.set(e,r))}return t},Ct=(e,t,n)=>{if(!e.functionName)return{...e,isServer:!0};let r=t.get(e.functionName);if(!r||r.length===0)return{...e,isServer:!0};let i=n.get(e.functionName)??0,a=r[i%r.length];return n.set(e.functionName,i+1),{...e,isServer:!0,fileName:a.fileName,lineNumber:a.lineNumber,columnNumber:a.columnNumber,source:e.source?.replace(`(at Server)`,`(${a.fileName}:${a.lineNumber}:${a.columnNumber})`)}},wt=e=>te.some(t=>e.startsWith(t)),Tt=e=>!e.isServer&&e.fileName&&wt(e.fileName)?{...e,isServer:!0}:e,Et=e=>{let t=[],n=e;for(;n;)if(pt(n)){let e=n;if(n=e._debugOwner,n&&A(e)){let{frames:n,isTrusted:r}=_(e._debugStack);if(r)for(let e of n)t.push(Tt(e))}}else{let e=n;if(n=e.owner,n&&e.debugStack instanceof Error)for(let n of _(e.debugStack).frames)t.push({...n,isServer:!0})}return t},Dt=e=>{let t=[];return s(e,e=>{if(!A(e))return;let{frames:n,isTrusted:r}=_(e._debugStack);r&&t.push(...n)},!0),t},Ot=e=>{let t=Dt(e),n=g(vt(e)),r=St(t),i=new Map;return n.map(e=>e.source!==void 0&&ie.test(e.source)?Ct(e,r,i):e).filter((e,t,n)=>{if(t===0)return!0;let r=n[t-1];return e.functionName!==r.functionName})},I=async(e,t=!0,n)=>k(Ot(e),t,n),kt=e=>!!e.fileName&&!e.isIgnoreListed,At=async(e,t=!0,n)=>{let r=Et(e);if(r.length>0){let i=j(e)??{};i.functionName=l(e.type)??i.functionName;let a=await k([i,...r],t,n);if(a.some((e,t)=>t>0&&kt(e)))return a}return I(e,t,n)},jt=e=>{let t=e._debugSource;return t?typeof t==`object`&&typeof t.fileName==`string`&&t.fileName!==`(native)`&&typeof t.lineNumber==`number`:!1},L=e=>e.fileName?{fileName:e.fileName,lineNumber:e.lineNumber,columnNumber:e.columnNumber,functionName:e.functionName}:null,Mt=e=>{if(!A(e))return null;let{frames:t,isTrusted:n}=_(e._debugStack);if(!n)return null;for(let e of t)if(e.fileName)return e;return null},Nt=async(e,t,n)=>{let r=l(e.type);if(!r)return null;let i=g(Error().stack??``),a=new Set;for(let e of i){let i=e.fileName;if(!i||a.has(i))continue;a.add(i);let o=await O(i,t,n);if(!o)continue;let s=ze(o,r);if(s&&!s.isIgnoreListed)return L(s)}return null},Pt=async(e,t=!0,n)=>{if(jt(e))return e._debugSource;let r=Mt(e)??j(e);if(r){let[e]=await k([r],t,n),i=L(e);if(i)return i}let i=await I(e,t,n);for(let e of i)if(e.fileName)return L(e);return Nt(e,t,n)},Ft=e=>e.split(`/`).filter(Boolean).length,It=e=>{let t=e.indexOf(`/`,1);if(t===-1)return e;let n=e.slice(0,t);if(Ft(n)!==1)return e;let r=e.slice(t);if(!p.test(r))return e;let i=r.split(`/`).filter(Boolean);if(i.length<2)return e;let a=i[0];return a.startsWith(`@`)||a.length>4?e:r},Lt=e=>{if(!e||f.some(t=>t===e))return``;let t=e,n=/^[a-zA-Z]:[\\/]/.test(t);if(t.startsWith(`http://`)||t.startsWith(`https://`)){try{t=new URL(t).pathname}catch{}t=It(t)}if(t.startsWith(`about://React/`)){let e=t.slice(14),n=e.indexOf(`/`),r=e.indexOf(`:`);t=n!==-1&&(r===-1||n<r)?e.slice(n+1):e}let r=!0;for(;r;){r=!1;for(let e of ee)if(t.startsWith(e)){t=t.slice(e.length),e===`file:///`&&(t=`/${t.replace(/^\/+/,``)}`),r=!0;break}}if(!n){let e=t.match(d);e&&(t=t.slice(e[0].length))}if(t.startsWith(`//`)){let e=t.indexOf(`/`,2);t=e===-1?``:t.slice(e)}let i=t.indexOf(`?`);if(i!==-1){let e=t.slice(i);re.test(e)&&(t=t.slice(0,i))}return t},Rt=e=>{let t=Lt(e);return!(!t||!p.test(t)||ne.test(t))},zt=[/(?:^|export\s+)(?:const|let|var)\s+(\w+)\s*=/,/(?:^|export\s+)function\s+(\w+)/,/(?:^|export\s+)class\s+(\w+)/],Bt=e=>{for(let t of zt){let n=e.match(t);if(n?.[1])return n[1]}return null},Vt=(e,t)=>{let n=e.split(`
20
+ `),r=t-1;if(r<0||r>=n.length)return null;for(let e=0;e<=5;e++){let t=e===0?[r]:[r-e,r+e];for(let e of t){if(e<0||e>=n.length)continue;let t=Bt(n[e]);if(t)return t}}return null},Ht=async(e,t=!0,n)=>{let r=j(e)??Ot(e).find(e=>e.fileName);if(!r?.fileName)return l(e.type);let i=await O(r.fileName,t,n);if(!i)return l(e.type);let a=null;if(typeof r.lineNumber==`number`&&typeof r.columnNumber==`number`&&(a=S(i,r.lineNumber,r.columnNumber)),!a?.fileName||!a.lineNumber)return l(e.type);let o=C(i,a.fileName);return(o?Vt(o,a.lineNumber):null)||(a.functionName??l(e.type))},Ut=Symbol.for(`react.context`),Wt=Symbol.for(`react.memo_cache_sentinel`);let R=[],z=null,B=null,V=null,H=null,U=0,W=null;const G=Error("Suspense interrupted this render. This error is an internal implementation detail of `use`."),K=e=>g(e.stack||``,{includeInElement:!1}),q=()=>{let e=V;return e!==null&&(V=e.next),e},J=e=>typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`,Gt=e=>typeof e==`object`&&!!e&&`current`in e,Y=e=>typeof e==`object`&&!!e&&`_currentValue`in e,Kt=e=>typeof e==`object`&&!!e&&`context`in e&&`next`in e,qt=e=>typeof e==`object`&&!!e&&`render`in e&&typeof e.render==`function`,X=e=>{if(B===null)return e._currentValue;if(H===null)throw new o(`Context reads don’t match context dependencies.`);if(Object.hasOwn(H,`memoizedValue`)){let e=H.memoizedValue;return H=H.next,e}return e._currentValue},Z=(e,t,n,r=null)=>{R.push({displayName:r,primitive:e,stackError:Error(),value:t,dispatcherHookName:n})},Jt=e=>{if(typeof e==`object`&&e){if(J(e)){let t=W!==null&&U<W.length?W[U++]:e,n=J(t)?t:e;switch(n.status){case`fulfilled`:return Z(`Promise`,n.value,`Use`),n.value;case`rejected`:throw n.reason}throw Z(`Unresolved`,n,`Use`),G}if(`$$typeof`in e&&e.$$typeof===Ut&&Y(e)){let t={_currentValue:e._currentValue,displayName:typeof e.displayName==`string`?e.displayName:void 0},n=X(t);return Z(`Context (use)`,n,`Use`,t.displayName??`Context`),n}}throw new o(`use() received an unsupported value: `+String(e))},Yt=e=>{let t=X(e);return Z(`Context`,t,`Context`,e.displayName??null),t},Xt=e=>{let t=q(),n=t===null?typeof e==`function`?e():e:t.memoizedState;return Z(`State`,n,`State`),[n,()=>{}]},Zt=(e,t,n)=>{let r=q(),i=r===null?n===void 0?t:n(t):r.memoizedState;return Z(`Reducer`,i,`Reducer`),[i,()=>{}]},Qt=e=>{let t=q(),n=Gt(t?.memoizedState)?t.memoizedState:{current:e};return Z(`Ref`,n.current,`Ref`),n},$t=()=>{let e=q();return Z(`CacheRefresh`,e===null?()=>{}:e.memoizedState,`CacheRefresh`),()=>{}},en=e=>{q(),Z(`LayoutEffect`,e,`LayoutEffect`)},tn=e=>{q(),Z(`InsertionEffect`,e,`InsertionEffect`)},nn=e=>{q(),Z(`Effect`,e,`Effect`)},rn=e=>{q();let t=Gt(e)?e.current:void 0;Z(`ImperativeHandle`,t,`ImperativeHandle`)},an=(e,t)=>{Z(`DebugValue`,typeof t==`function`?t(e):e,`DebugValue`)},on=e=>{let t=q();return Z(`Callback`,Array.isArray(t?.memoizedState)?t.memoizedState[0]:e,`Callback`),e},sn=e=>{let t=q(),n=Array.isArray(t?.memoizedState)?t.memoizedState[0]:e();return Z(`Memo`,n,`Memo`),n},cn=(e,t)=>{let n=q();q();let r=n===null?t():n.memoizedState;return Z(`SyncExternalStore`,r,`SyncExternalStore`),r},ln=()=>{let e=q();q();let t=e?.memoizedState===!0;return Z(`Transition`,t,`Transition`),[t,()=>{}]},un=e=>{let t=q(),n=t===null?e:t.memoizedState;return Z(`DeferredValue`,n,`DeferredValue`),n},dn=()=>{let e=q(),t=typeof e?.memoizedState==`string`?e.memoizedState:``;return Z(`Id`,t,`Id`),t},fn=e=>{let t=B;if(t==null)return[];let n=t.updateQueue?.memoCache;if(n==null)return[];let r=n.data[n.index];return r===void 0&&(r=n.data[n.index]=Array.from({length:e},()=>Wt)),n.index++,r},pn=e=>{let t=q(),n=t===null?e:t.memoizedState;return Z(`Optimistic`,n,`Optimistic`),[n,()=>{}]},mn=(e,t)=>{let n,r=null;if(e!==null){let t=e.memoizedState;if(J(t))switch(t.status){case`fulfilled`:n=t.value;break;case`rejected`:r=t.reason;break;default:r=G,n=t}else n=t}else n=t;return{value:n,error:r}},hn=e=>(t,n)=>{let r=q();q(),q();let{value:i,error:a}=mn(r,n);if(Z(e,i,e),a!==null)throw a;return[i,()=>{},!1]},gn=hn(`ActionState`),Q={readContext:X,use:Jt,useCallback:on,useContext:Yt,useEffect:nn,useImperativeHandle:rn,useLayoutEffect:en,useInsertionEffect:tn,useMemo:sn,useReducer:Zt,useRef:Qt,useState:Xt,useDebugValue:an,useDeferredValue:un,useTransition:ln,useSyncExternalStore:cn,useId:dn,useHostTransitionStatus:()=>{let e=X({_currentValue:null});return Z(`HostTransitionStatus`,e,`HostTransitionStatus`),e},useFormState:hn(`FormState`),useActionState:gn,useOptimistic:pn,useMemoCache:fn,useCacheRefresh:$t,useEffectEvent:e=>(q(),Z(`EffectEvent`,e,`EffectEvent`),e)},_n=new Proxy(Q,{get(e,t){if(Object.hasOwn(e,t))return Reflect.get(e,t);throw new r(`The React dispatcher is missing method `+t)}}),vn=()=>{if(z!==null)return z;let e=new Map,t;try{Q.useContext({_currentValue:null}),Q.useState(null),Q.useReducer(e=>e,null),Q.useRef(null),Q.useCacheRefresh(),Q.useLayoutEffect(()=>{}),Q.useInsertionEffect(()=>{}),Q.useEffect(()=>{}),Q.useImperativeHandle(void 0),Q.useDebugValue(null),Q.useCallback(()=>{}),Q.useTransition(),Q.useSyncExternalStore(()=>()=>{},()=>null),Q.useDeferredValue(null),Q.useMemo(()=>null),Q.useOptimistic(null),Q.useFormState(e=>e,null),Q.useActionState(e=>e,null),Q.useHostTransitionStatus(),Q.use({$$typeof:Ut,_currentValue:null});let e=Promise.resolve(null);Reflect.set(e,`status`,`fulfilled`),Reflect.set(e,`value`,null),Q.use(e);try{Q.use(new Promise(()=>{}))}catch{}Q.useId(),Q.useEffectEvent(()=>{})}finally{t=R,R=[]}for(let n of t)e.set(n.primitive,K(n.stackError));return z=e,z};let yn=0;const bn=(e,t,n)=>{if(n>=t.length)return-1;let r=t[n].source;hookSearch:for(let i=0;i<e.length;i++)if(e[i].source===r){for(let r=n+1,a=i+1;r<t.length&&a<e.length;r++,a++)if(e[a].source!==t[r].source)continue hookSearch;return i}return-1},xn=(e,t)=>{let n=bn(t,e,yn);if(n!==-1)return n;for(let r=0;r<e.length&&r<5;r++)if(n=bn(t,e,r),n!==-1)return yn=r,n;return-1},$=e=>{if(!e)return``;let t=e.lastIndexOf(`[as `);if(t!==-1)return $(e.slice(t+4,-1));if(t=e.lastIndexOf(`.`),t=t===-1?0:t+1,e.slice(t).startsWith(`unstable_`)&&(t+=9),e.slice(t).startsWith(`experimental_`)&&(t+=13),e.slice(t,t+3)===`use`){if(e.length-t===3)return`Use`;t+=3}return e.slice(t)},Sn=(e,t)=>{let n=$(e);return t===`HostTransitionStatus`?n===t||n===`FormStatus`:n===t},Cn=(e,t)=>{let n=vn().get(t.primitive);if(n===void 0)return-1;for(let r=0;r<n.length&&r<e.length;r++)if(n[r].source!==e[r].source)return r<e.length-1&&Sn(e[r].functionName,t.dispatcherHookName)&&r++,r<e.length-1&&Sn(e[r].functionName,t.dispatcherHookName)&&r++,r;return-1},wn=(e,t)=>{let n=K(t.stackError),r=xn(e,n),i=Cn(n,t);return r===-1||i===-1||r-i<2?i===-1?[null,null]:[n[i-1]??null,null]:[n[i-1]??null,n.slice(i,r-1)]},Tn=new Set([`Context`,`Context (use)`,`DebugValue`,`Promise`,`Unresolved`,`HostTransitionStatus`]),En=(e,t)=>{let n=[],r=null,i=n,a=0,o=[];for(let s of t){let[t,c]=wn(e,s),l=s.displayName;if(l===null&&t!==null&&(l=$(t.functionName)||$(s.dispatcherHookName)),c!==null){let e=0;if(r!==null){for(;e<c.length&&e<r.length&&c[c.length-e-1].source===r[r.length-e-1].source;)e++;for(let t=r.length-1;t>e;t--)i=o.pop()??n}for(let t=c.length-e-1;t>=1;t--){let e=[],n=c[t],r={id:null,isStateEditable:!1,name:$(c[t-1].functionName),value:void 0,subHooks:e,hookSource:{lineNumber:n.lineNumber??null,columnNumber:n.columnNumber??null,functionName:n.functionName??null,fileName:n.fileName??null}};i.push(r),o.push(i),i=e}r=c}let{primitive:u}=s,d=Tn.has(u)?null:a++,ee=u===`Reducer`||u===`State`,te=l||u,f=c?.[0],p={lineNumber:f?.lineNumber??null,columnNumber:f?.columnNumber??null,functionName:f?.functionName??null,fileName:f?.fileName??null};i.push({id:d,isStateEditable:ee,name:te,value:s.value,subHooks:[],hookSource:p})}return Dn(n,null),n},Dn=(e,t)=>{let n=[];for(let t=0;t<e.length;t++){let r=e[t];r.name===`DebugValue`&&r.subHooks.length===0?(e.splice(t,1),t--,n.push(r)):Dn(r.subHooks,r)}t!==null&&(n.length===1?t.value=n[0].value:n.length>1&&(t.value=n.map(({value:e})=>e)))},On=(e,t)=>{let n=t;for(;n;){if(n.tag===i(n).ContextProvider){let t=n.type,r=typeof t==`object`&&t&&`_context`in t?t._context:void 0,i=Y(r)?r:Y(t)?t:null;i&&!e.has(i)&&(e.set(i,i._currentValue),i._currentValue=n.memoizedProps.value)}n=n.return}},kn=e=>{e.forEach((e,t)=>{t._currentValue=e})},An=e=>{if(e!==G)throw e instanceof r?e:new c(`Bippy couldn’t render the inspected component`,e)},jn=(e,t)=>{if(e&&typeof e==`object`&&`defaultProps`in e&&typeof e.defaultProps==`object`&&e.defaultProps!==null){let n={...t},r=e.defaultProps;for(let[e,t]of Object.entries(r))n[e]===void 0&&(n[e]=t);return n}return t},Mn=()=>{let e={};for(let t in console)try{e[t]=Reflect.get(console,t),Reflect.set(console,t,()=>{})}catch{}return e},Nn=e=>{for(let t in e)try{Reflect.set(console,t,e[t])}catch{}},Pn=(e,t)=>{let n=ye(e);v(e,_n);let r=[],i;try{i=Error(),t()}catch(e){An(e)}finally{r=R,R=[],v(e,n)}let a=i===void 0?[]:K(i);return En(a,r)},Fn=()=>{let e=ve()[0];if(!e)throw new o(`Bippy couldn’t find a React renderer. Load React and install Bippy’s hook.`);return e},In=e=>{let t=[`dependencies_old`,`dependencies_new`].find(t=>Object.hasOwn(e,t));if(Object.hasOwn(e,`dependencies`)){let t=e.dependencies;H=t===null?null:t.firstContext}else if(t){let n=Reflect.get(e,t),r=typeof n==`object`&&n&&`firstContext`in n?n.firstContext:null;H=Kt(r)?r:null}else if(Object.hasOwn(e,`contextDependencies`)){let t=Reflect.get(e,`contextDependencies`),n=typeof t==`object`&&t&&`first`in t?t.first:null;H=Kt(n)?n:null}else throw new o(`Bippy doesn’t support this React version.`)},Ln=e=>{let t=Fn(),n=i(e);if(e.tag!==n.FunctionComponent&&e.tag!==n.SimpleMemoComponent&&e.tag!==n.ForwardRef)throw new o(`Hook inspection requires a function component Fiber.`);vn(),V=e.memoizedState,B=e;let r=e.dependencies?._debugThenableState,a=Array.isArray(r)?r:r?.thenables;W=Array.isArray(a)?a:null,U=0,In(e);let s=e.type,c=e.memoizedProps;s!==e.elementType&&(c=jn(s,c));let l=Mn(),u=new Map;try{if(H!==null&&!Object.hasOwn(H,`memoizedValue`)&&On(u,e),e.tag===n.ForwardRef){if(!qt(s))throw new o(`ForwardRef fiber is missing its render function.`);return Pn(t,()=>{s.render(c,e.ref)})}if(typeof s!=`function`)throw new o(`Function component fiber is missing its component function.`);return Pn(t,()=>{s(c)})}finally{B=null,V=null,H=null,W=null,U=0,kn(u),Nn(l)}},Rn=new Set([`Effect`,`LayoutEffect`,`InsertionEffect`,`ImperativeHandle`,`DebugValue`]),zn=/(?:const|let|var)\s+((?:\[[\s\S]*?\]|\w+))\s*=\s*(?:[\w$.]+\.)*use[A-Z]\w*\s*(?:<[\s\S]*?>)?\s*\(/g,Bn=e=>`${e.fileName??``}:${e.lineNumber??0}:${e.columnNumber??0}`,Vn=e=>{let t=[],n=e=>{for(let r of e)Rn.has(r.name)||(t.push(r),r.subHooks.length>0&&n(r.subHooks))};return n(e),t},Hn=e=>{let t=e.trim();if(t.startsWith(`[`)){let e=t.match(/\[\s*(\w+)/);return e?e[1]:null}return/^\w+$/.test(t)?t:null},Un=(e,t,n)=>{let r=e.split(`
22
21
  `),i=t-1;if(i<0||i>=r.length)return null;let a=Math.max(0,i-10),o=r.slice(a,i+1).join(`
23
- `),s=[...o.matchAll(on)],c=o.lastIndexOf(`
24
- `)+1+n,l=s.filter(e=>e.index<=c).at(-1);return l?dn(l[1]):null},pn=async(e,t,n,r)=>{let{sourceMapsByFile:i,sourceContentCache:a,fetchFn:o}=r;i.has(e)||i.set(e,await T(e,!0,o));let s=i.get(e)??null;if(s){let r=w(s,t,n);if(r?.fileName&&r.lineNumber!==void 0){let t=`sourcemap:${e}:${r.fileName}`;a.has(t)||a.set(t,un(s,r.fileName));let n=a.get(t)??null;if(n)return{sourceCode:n,lineNumber:r.lineNumber,columnNumber:r.columnNumber??0}}}if(!a.has(e))try{let t=await(o??fetch)(e);a.set(e,t.ok?await t.text():null)}catch{a.set(e,null)}let c=a.get(e)??null;return c?{sourceCode:c,lineNumber:t,columnNumber:n}:null},mn=async(e,t)=>{let n=new Map,r=cn(e);if(r.length===0)return n;let i={sourceMapsByFile:new Map,sourceContentCache:new Map,fetchFn:t};return await Promise.all(r.map(async e=>{let t=e.hookSource;if(!t||!t.fileName||t.lineNumber===null||t.columnNumber===null)return;let r=await pn(t.fileName,t.lineNumber,t.columnNumber,i);if(!r)return;let a=fn(r.sourceCode,r.lineNumber,r.columnNumber);if(a){let e=sn(t);n.set(e,a)}})),n};export{M as formatOwnerStack,dt as getDisplayNameFromSource,rn as getFiberHooks,rt as getOwnerStack,P as getParentStack,ot as getSource,w as getSourceFromSourceMap,T as getSourceMap,D as hasDebugStack,lt as isSourceFile,L as normalizeFileName,mn as parseHookNames,h as parseStack,E as symbolicateStack};
22
+ `),s=[...o.matchAll(zn)],c=o.lastIndexOf(`
23
+ `)+1+n,l=s.filter(e=>e.index<=c).at(-1);return l?Hn(l[1]):null},Wn=async(e,t,n,r)=>{let{sourceContentCache:i,fetchFn:a}=r,o=await O(e,!0,a);if(o){let e=S(o,t,n);if(e?.fileName&&e.lineNumber!==void 0){let t=C(o,e.fileName);if(t)return{sourceCode:t,lineNumber:e.lineNumber,columnNumber:e.columnNumber??0}}}if(!i.has(e))try{let t=await(a??fetch)(e);i.set(e,t.ok?await t.text():null)}catch{i.set(e,null)}let s=i.get(e)??null;return s?{sourceCode:s,lineNumber:t,columnNumber:n}:null},Gn=async(e,t)=>{let n=new Map,r=Vn(e);if(r.length===0)return n;let i={sourceContentCache:new Map,fetchFn:t};return await Promise.all(r.map(async e=>{let t=e.hookSource;if(!t||!t.fileName||t.lineNumber===null||t.columnNumber===null)return;let r=await Wn(t.fileName,t.lineNumber,t.columnNumber,i);if(!r)return;let a=Un(r.sourceCode,r.lineNumber,r.columnNumber);if(a){let e=Bn(t);n.set(e,a)}})),n};export{a as BippyError,o as BippyHookInspectionError,c as BippyHookRenderError,n as BippySourceMapError,r as BippyUnsupportedHookError,yt as formatOwnerStack,Ht as getDisplayNameFromSource,Ln as getFiberHooks,At as getOwnerStack,I as getParentStack,Pt as getSource,C as getSourceContentFromSourceMap,S as getSourceFromSourceMap,ze as getSourceFromSourceMapByFunctionName,O as getSourceMap,A as hasDebugStack,Rt as isSourceFile,Lt as normalizeFileName,Gn as parseHookNames,g as parseStack,k as symbolicateStack};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bippy",
3
- "version": "0.6.1-dev.3a24abf",
3
+ "version": "0.6.1-dev.93556ef",
4
4
  "description": "hack into react internals",
5
5
  "keywords": [
6
6
  "bippy",
@@ -112,7 +112,7 @@
112
112
  "publint": "^0.3.0",
113
113
  "react": "19.0.0",
114
114
  "react-babylonjs": "^4.0.2",
115
- "react-devtools-core": "^7.0.1",
115
+ "react-devtools-core": "7.0.1",
116
116
  "react-devtools-inline": "^6.0.1",
117
117
  "react-dom": "19.0.0",
118
118
  "react-konva": "^19.2.5",
@@ -120,16 +120,20 @@
120
120
  "remotion": "^4.0.496",
121
121
  "three": "^0.185.1",
122
122
  "tsx": "^4.21.0",
123
- "vite-plus": "latest"
123
+ "typescript": "^5.9.3",
124
+ "vite-plus": "latest",
125
+ "zod": "^4.4.3"
124
126
  },
125
127
  "peerDependencies": {
126
128
  "react": ">=17.0.1"
127
129
  },
128
130
  "scripts": {
129
- "build": "NODE_ENV=production vp pack && tsx scripts/append-banner.ts",
131
+ "build": "NODE_ENV=production vp pack",
132
+ "check:react-internals": "tsx scripts/generate-react-internals.ts --check",
133
+ "coverage": "vp test --coverage",
130
134
  "dev": "NODE_ENV=development vp pack --watch",
135
+ "generate:react-internals": "tsx scripts/generate-react-internals.ts",
131
136
  "publint": "publint",
132
- "test": "vp test",
133
- "coverage": "vp test --coverage"
137
+ "test": "vp test"
134
138
  }
135
139
  }