harperdb 4.7.3 → 4.7.5

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 (41) hide show
  1. package/README.md +1 -1
  2. package/bin/harperdb.js +80 -80
  3. package/bin/lite.js +75 -75
  4. package/components/EntryHandler.d.ts +2 -1
  5. package/components/Scope.d.ts +7 -0
  6. package/index.d.ts +3 -1
  7. package/launchServiceScripts/launchNatsIngestService.js +75 -75
  8. package/launchServiceScripts/launchNatsReplyService.js +75 -75
  9. package/launchServiceScripts/launchUpdateNodes4-0-0.js +75 -75
  10. package/npm-shrinkwrap.json +268 -268
  11. package/package.json +2 -2
  12. package/resources/DatabaseTransaction.d.ts +8 -0
  13. package/resources/IterableEventQueue.d.ts +9 -22
  14. package/resources/RequestTarget.d.ts +3 -29
  15. package/resources/ResourceInterface.d.ts +67 -39
  16. package/resources/Table.d.ts +27 -60
  17. package/resources/blob.d.ts +3 -4
  18. package/resources/tracked.d.ts +6 -6
  19. package/security/user.d.ts +81 -0
  20. package/server/jobs/jobProcess.js +75 -75
  21. package/server/operationsServer.d.ts +2 -2
  22. package/server/replication/knownNodes.d.ts +3 -2
  23. package/server/threads/threadServer.js +77 -77
  24. package/studio/web/assets/index-CNPtE0XQ.js +601 -0
  25. package/studio/web/assets/index-DAAAZCZd.css +4 -0
  26. package/studio/web/assets/{index-6-gJ5WC3.js → index-Dn_IqWNq.js} +1 -1
  27. package/studio/web/assets/{index-CSgNoGnC.js → index-OhIVM2M0.js} +10 -10
  28. package/studio/web/assets/{index-C03Y4API.css → index-YHth6Ryl.css} +1 -1
  29. package/studio/web/assets/index.lazy-D173BYf8.js +287 -0
  30. package/studio/web/assets/{profiler-CM1hwYor.js → profiler-DjvgK9z4.js} +1 -1
  31. package/studio/web/assets/{react-redux-Btk0svtM.js → react-redux-DQ-bSEyM.js} +1 -1
  32. package/studio/web/assets/{startRecording-DnAWdg8O.js → startRecording-DGFXrb7c.js} +1 -1
  33. package/studio/web/index.html +2 -2
  34. package/studio/web/running.css +148 -0
  35. package/studio/web/running.html +84 -72
  36. package/studio/web/running.js +111 -0
  37. package/utility/hdbTerms.d.ts +2 -0
  38. package/utility/scripts/restartHdb.js +75 -75
  39. package/studio/web/assets/index-BP6iofXy.css +0 -4
  40. package/studio/web/assets/index-CrWTuyjE.js +0 -490
  41. package/studio/web/assets/index.lazy-Cn-3uXi8.js +0 -287
@@ -1 +1 @@
1
- import{R as J,X,aj as z,ak as K,al as x,am as Q,an as b,q as P,ao as W,ap as g,aq as Y,O as Z,M as $,l as ee,ar as te,as as ne}from"./index-CrWTuyjE.js";function se(e){let t=0;for(const r of e)r.stackId!==void 0&&t++;return t}const h=new Map;function re(e,t){h.set(t,e)}function oe(e){return h.get(e)}function O(e){for(const t of h.keys())t<e&&h.delete(t)}function ae({rawRumEvent:e,startTime:t}){if(e.type!==J.LONG_TASK)return;const r=e.long_task.id;re(r,t)}function ie(e,t,r){const o={application:{id:t}};r&&(o.session={id:r});const{ids:l,names:p}=le(e.views);l.length&&(o.view={id:l,name:p});const u=e.longTasks.map(f=>f.id).filter(f=>f!==void 0);return u.length&&(o.long_task={id:u}),o}function le(e){const t={ids:[],names:[]};for(const r of e)t.ids.push(r.viewId),r.viewName&&t.names.push(r.viewName);return t.names=Array.from(new Set(t.names)),t}const ce=(e,t,r)=>{const{profilingEndpointBuilder:o,applicationId:l}=t,p=ue(e,t,r),u=fe(e,p),f=o.build("fetch",u);return X("Sending profile to public profiling intake",{profilingIntakeURL:f,applicationId:l,sessionId:r}),fetch(f,{body:u.data,method:"POST"})};function ue(e,t,r){const o=z(t),l=ie(e,t.applicationId,r),p=de(o);return{...l,attachments:["wall-time.json"],start:new Date(e.startClocks.timeStamp).toISOString(),end:new Date(e.endClocks.timeStamp).toISOString(),family:"chrome",runtime:"chrome",format:"json",version:4,tags_profiler:p.join(","),_dd:{clock_drift:K()}}}function de(e){return e.concat(["language:javascript","runtime:chrome","family:chrome","host:browser"])}function fe(e,t){const r=new Blob([JSON.stringify(e)],{type:"application/json"}),o=new FormData;return o.append("event",new Blob([JSON.stringify(t)],{type:"application/json"}),"event.json"),o.append("wall-time.json",r,"wall-time.json"),{data:o,bytesCount:0}}const pe={sendProfile:ce},me=/\/(?![vV]\d{1,2}\/)([^/\d?]*\d+[^/?]*)/g;function ve(e){return e?e.replace(me,"/?"):"/"}const _=(e,t)=>e||ve(t),be={sampleIntervalMs:10,collectIntervalMs:6e4,minProfileDurationMs:5e3,minNumberOfSamples:50};function he(e,t,r,o,l=be){const p=x(Q.LONG_ANIMATION_FRAME);let u;const f=[];let a={state:"stopped"};function N(n){a.state!=="running"&&(u=n?{startClocks:n.startClocks,viewId:n.id,viewName:_(n.name,document.location.pathname)}:void 0,f.push(P(e,window,"visibilitychange",R).stop,P(e,window,"beforeunload",j).stop),v())}async function L(){await T("stopped"),f.forEach(n=>n()),O(b().relative),o.set({status:"stopped",error_reason:void 0})}function D(n){if(n.state==="running")return{cleanupTasks:n.cleanupTasks,observer:n.observer};const s=[];let i;if(e.trackLongTasks){i=new PerformanceObserver(A),i.observe({entryTypes:[B()]});const c=t.subscribe(12,m=>{ae(m)});s.push(()=>i?.disconnect()),s.push(c.unsubscribe)}const d=t.subscribe(2,c=>{const m={viewId:c.id,viewName:_(c.name,document.location.pathname),startClocks:c.startClocks};w(m),u=m});return s.push(d.unsubscribe),{cleanupTasks:s,observer:i}}function v(){const n=W().Profiler;if(!n)throw o.set({status:"error",error_reason:"not-supported-by-browser"}),new Error("RUM Profiler is not supported in this browser.");k(a).catch(g);const{cleanupTasks:s,observer:i}=D(a);let d;try{d=new n({sampleInterval:l.sampleIntervalMs,maxBufferSize:Math.round(l.collectIntervalMs*1.5/l.sampleIntervalMs)})}catch(c){c instanceof Error&&c.message.includes("disabled by Document Policy")?(Y.warn("[DD_RUM] Profiler startup failed. Ensure your server includes the `Document-Policy: js-profiling` response header when serving HTML pages.",c),o.set({status:"error",error_reason:"missing-document-policy-header"})):o.set({status:"error",error_reason:"unexpected-exception"});return}o.set({status:"running",error_reason:void 0}),a={state:"running",startClocks:b(),profiler:d,timeoutId:Z(v,l.collectIntervalMs),longTasks:[],views:[],cleanupTasks:s,observer:i},w(u),d.addEventListener("samplebufferfull",y)}async function k(n){var s,i;if(n.state!=="running")return;E((i=(s=n.observer)===null||s===void 0?void 0:s.takeRecords())!==null&&i!==void 0?i:[]),$(n.timeoutId),n.profiler.removeEventListener("samplebufferfull",y);const{startClocks:d,longTasks:c,views:m}=n,V=b();await n.profiler.stop().then(I=>{const S=b(),G=c.length>0,H=ee(d.timeStamp,S.timeStamp)<l.minProfileDurationMs,q=se(I.samples)<l.minNumberOfSamples;!G&&(H||q)||(M(Object.assign(I,{startClocks:d,endClocks:S,clocksOrigin:te(),longTasks:c,views:m,sampleInterval:l.sampleIntervalMs})),O(V.relative))}).catch(g)}async function T(n){a.state==="running"&&(a.cleanupTasks.forEach(s=>s()),await k(a),a={state:n})}function w(n){a.state!=="running"||!n||a.views.push(n)}function M(n){var s;const i=(s=r.findTrackedSession())===null||s===void 0?void 0:s.id;pe.sendProfile(n,e,i).catch(g)}function y(){v()}function A(n){E(n.getEntries())}function E(n){if(a.state==="running")for(const s of n){if(s.duration<l.sampleIntervalMs)continue;const i=ne(s.startTime),d=oe(i.relative);a.longTasks.push({id:d,duration:s.duration,entryType:s.entryType,startClocks:i})}}function R(){document.visibilityState==="hidden"&&a.state==="running"?T("paused").catch(g):document.visibilityState==="visible"&&a.state==="paused"&&v()}function j(){v()}function B(){return p?"long-animation-frame":"longtask"}function C(){return a.state==="stopped"}function F(){return a.state==="running"}function U(){return a.state==="paused"}return{start:N,stop:L,isStopped:C,isRunning:F,isPaused:U}}export{be as DEFAULT_RUM_PROFILER_CONFIGURATION,he as createRumProfiler};
1
+ import{R as J,X,aj as z,ak as K,al as x,am as Q,an as b,q as P,ao as W,ap as g,aq as Y,O as Z,M as $,l as ee,ar as te,as as ne}from"./index-CNPtE0XQ.js";function se(e){let t=0;for(const r of e)r.stackId!==void 0&&t++;return t}const h=new Map;function re(e,t){h.set(t,e)}function oe(e){return h.get(e)}function O(e){for(const t of h.keys())t<e&&h.delete(t)}function ae({rawRumEvent:e,startTime:t}){if(e.type!==J.LONG_TASK)return;const r=e.long_task.id;re(r,t)}function ie(e,t,r){const o={application:{id:t}};r&&(o.session={id:r});const{ids:l,names:p}=le(e.views);l.length&&(o.view={id:l,name:p});const u=e.longTasks.map(f=>f.id).filter(f=>f!==void 0);return u.length&&(o.long_task={id:u}),o}function le(e){const t={ids:[],names:[]};for(const r of e)t.ids.push(r.viewId),r.viewName&&t.names.push(r.viewName);return t.names=Array.from(new Set(t.names)),t}const ce=(e,t,r)=>{const{profilingEndpointBuilder:o,applicationId:l}=t,p=ue(e,t,r),u=fe(e,p),f=o.build("fetch",u);return X("Sending profile to public profiling intake",{profilingIntakeURL:f,applicationId:l,sessionId:r}),fetch(f,{body:u.data,method:"POST"})};function ue(e,t,r){const o=z(t),l=ie(e,t.applicationId,r),p=de(o);return{...l,attachments:["wall-time.json"],start:new Date(e.startClocks.timeStamp).toISOString(),end:new Date(e.endClocks.timeStamp).toISOString(),family:"chrome",runtime:"chrome",format:"json",version:4,tags_profiler:p.join(","),_dd:{clock_drift:K()}}}function de(e){return e.concat(["language:javascript","runtime:chrome","family:chrome","host:browser"])}function fe(e,t){const r=new Blob([JSON.stringify(e)],{type:"application/json"}),o=new FormData;return o.append("event",new Blob([JSON.stringify(t)],{type:"application/json"}),"event.json"),o.append("wall-time.json",r,"wall-time.json"),{data:o,bytesCount:0}}const pe={sendProfile:ce},me=/\/(?![vV]\d{1,2}\/)([^/\d?]*\d+[^/?]*)/g;function ve(e){return e?e.replace(me,"/?"):"/"}const _=(e,t)=>e||ve(t),be={sampleIntervalMs:10,collectIntervalMs:6e4,minProfileDurationMs:5e3,minNumberOfSamples:50};function he(e,t,r,o,l=be){const p=x(Q.LONG_ANIMATION_FRAME);let u;const f=[];let a={state:"stopped"};function N(n){a.state!=="running"&&(u=n?{startClocks:n.startClocks,viewId:n.id,viewName:_(n.name,document.location.pathname)}:void 0,f.push(P(e,window,"visibilitychange",R).stop,P(e,window,"beforeunload",j).stop),v())}async function L(){await T("stopped"),f.forEach(n=>n()),O(b().relative),o.set({status:"stopped",error_reason:void 0})}function D(n){if(n.state==="running")return{cleanupTasks:n.cleanupTasks,observer:n.observer};const s=[];let i;if(e.trackLongTasks){i=new PerformanceObserver(A),i.observe({entryTypes:[B()]});const c=t.subscribe(12,m=>{ae(m)});s.push(()=>i?.disconnect()),s.push(c.unsubscribe)}const d=t.subscribe(2,c=>{const m={viewId:c.id,viewName:_(c.name,document.location.pathname),startClocks:c.startClocks};w(m),u=m});return s.push(d.unsubscribe),{cleanupTasks:s,observer:i}}function v(){const n=W().Profiler;if(!n)throw o.set({status:"error",error_reason:"not-supported-by-browser"}),new Error("RUM Profiler is not supported in this browser.");k(a).catch(g);const{cleanupTasks:s,observer:i}=D(a);let d;try{d=new n({sampleInterval:l.sampleIntervalMs,maxBufferSize:Math.round(l.collectIntervalMs*1.5/l.sampleIntervalMs)})}catch(c){c instanceof Error&&c.message.includes("disabled by Document Policy")?(Y.warn("[DD_RUM] Profiler startup failed. Ensure your server includes the `Document-Policy: js-profiling` response header when serving HTML pages.",c),o.set({status:"error",error_reason:"missing-document-policy-header"})):o.set({status:"error",error_reason:"unexpected-exception"});return}o.set({status:"running",error_reason:void 0}),a={state:"running",startClocks:b(),profiler:d,timeoutId:Z(v,l.collectIntervalMs),longTasks:[],views:[],cleanupTasks:s,observer:i},w(u),d.addEventListener("samplebufferfull",y)}async function k(n){var s,i;if(n.state!=="running")return;E((i=(s=n.observer)===null||s===void 0?void 0:s.takeRecords())!==null&&i!==void 0?i:[]),$(n.timeoutId),n.profiler.removeEventListener("samplebufferfull",y);const{startClocks:d,longTasks:c,views:m}=n,V=b();await n.profiler.stop().then(I=>{const S=b(),G=c.length>0,H=ee(d.timeStamp,S.timeStamp)<l.minProfileDurationMs,q=se(I.samples)<l.minNumberOfSamples;!G&&(H||q)||(M(Object.assign(I,{startClocks:d,endClocks:S,clocksOrigin:te(),longTasks:c,views:m,sampleInterval:l.sampleIntervalMs})),O(V.relative))}).catch(g)}async function T(n){a.state==="running"&&(a.cleanupTasks.forEach(s=>s()),await k(a),a={state:n})}function w(n){a.state!=="running"||!n||a.views.push(n)}function M(n){var s;const i=(s=r.findTrackedSession())===null||s===void 0?void 0:s.id;pe.sendProfile(n,e,i).catch(g)}function y(){v()}function A(n){E(n.getEntries())}function E(n){if(a.state==="running")for(const s of n){if(s.duration<l.sampleIntervalMs)continue;const i=ne(s.startTime),d=oe(i.relative);a.longTasks.push({id:d,duration:s.duration,entryType:s.entryType,startClocks:i})}}function R(){document.visibilityState==="hidden"&&a.state==="running"?T("paused").catch(g):document.visibilityState==="visible"&&a.state==="paused"&&v()}function j(){v()}function B(){return p?"long-animation-frame":"longtask"}function C(){return a.state==="stopped"}function F(){return a.state==="running"}function U(){return a.state==="paused"}return{start:N,stop:L,isStopped:C,isRunning:F,isPaused:U}}export{be as DEFAULT_RUM_PROFILER_CONFIGURATION,he as createRumProfiler};
@@ -1,4 +1,4 @@
1
- import{aH as Te,a6 as b}from"./index-CrWTuyjE.js";function E(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Ne=typeof Symbol=="function"&&Symbol.observable||"@@observable",ue=Ne,q=()=>Math.random().toString(36).substring(7).split("").join("."),xe={INIT:`@@redux/INIT${q()}`,REPLACE:`@@redux/REPLACE${q()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${q()}`},U=xe;function Se(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function _e(e,t,r){if(typeof e!="function")throw new Error(E(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(E(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(E(1));return r(_e)(e,t)}let s=e,n=t,o=new Map,c=o,a=0,u=!1;function i(){c===o&&(c=new Map,o.forEach((d,S)=>{c.set(S,d)}))}function f(){if(u)throw new Error(E(3));return n}function l(d){if(typeof d!="function")throw new Error(E(4));if(u)throw new Error(E(5));let S=!0;i();const h=a++;return c.set(h,d),function(){if(S){if(u)throw new Error(E(6));S=!1,i(),c.delete(h),o=null}}}function y(d){if(!Se(d))throw new Error(E(7));if(typeof d.type>"u")throw new Error(E(8));if(typeof d.type!="string")throw new Error(E(17));if(u)throw new Error(E(9));try{u=!0,n=s(n,d)}finally{u=!1}return(o=c).forEach(h=>{h()}),d}function v(d){if(typeof d!="function")throw new Error(E(10));s=d,y({type:U.REPLACE})}function p(){const d=l;return{subscribe(S){if(typeof S!="object"||S===null)throw new Error(E(11));function h(){const g=S;g.next&&g.next(f())}return h(),{unsubscribe:d(h)}},[ue](){return this}}}return y({type:U.INIT}),{dispatch:y,subscribe:l,getState:f,replaceReducer:v,[ue]:p}}function Me(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:U.INIT})>"u")throw new Error(E(12));if(typeof r(void 0,{type:U.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(E(13))})}function zt(e){const t=Object.keys(e),r={};for(let o=0;o<t.length;o++){const c=t[o];typeof e[c]=="function"&&(r[c]=e[c])}const s=Object.keys(r);let n;try{Me(r)}catch(o){n=o}return function(c={},a){if(n)throw n;let u=!1;const i={};for(let f=0;f<s.length;f++){const l=s[f],y=r[l],v=c[l],p=y(v,a);if(typeof p>"u")throw a&&a.type,new Error(E(14));i[l]=p,u=u||p!==v}return u=u||s.length!==Object.keys(c).length,u?i:c}}function ce(e,t){return function(...r){return t(e.apply(this,r))}}function Vt(e,t){if(typeof e=="function")return ce(e,t);if(typeof e!="object"||e===null)throw new Error(E(16));const r={};for(const s in e){const n=e[s];typeof n=="function"&&(r[s]=ce(n,t))}return r}function Ae(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...s)=>t(r(...s)))}function Dt(...e){return t=>(r,s)=>{const n=t(r,s);let o=()=>{throw new Error(E(15))};const c={getState:n.getState,dispatch:(u,...i)=>o(u,...i)},a=e.map(u=>u(c));return o=Ae(...a)(n.dispatch),{...n,dispatch:o}}}function Kt(e){return Se(e)&&"type"in e&&typeof e.type=="string"}function Ie(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function Fe(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function $e(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(s=>typeof s=="function"?`function ${s.name||"unnamed"}()`:typeof s).join(", ");throw new TypeError(`${t}[${r}]`)}}var ie=e=>Array.isArray(e)?e:[e];function ke(e){const t=Array.isArray(e[0])?e[0]:e;return $e(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function We(e,t){const r=[],{length:s}=e;for(let n=0;n<s;n++)r.push(e[n].apply(null,t));return r}var Ue=class{constructor(e){this.value=e}deref(){return this.value}},Le=typeof WeakRef<"u"?WeakRef:Ue,je=0,ae=1;function W(){return{s:je,v:void 0,o:null,p:null}}function me(e,t={}){let r=W();const{resultEqualityCheck:s}=t;let n,o=0;function c(){let a=r;const{length:u}=arguments;for(let l=0,y=u;l<y;l++){const v=arguments[l];if(typeof v=="function"||typeof v=="object"&&v!==null){let p=a.o;p===null&&(a.o=p=new WeakMap);const w=p.get(v);w===void 0?(a=W(),p.set(v,a)):a=w}else{let p=a.p;p===null&&(a.p=p=new Map);const w=p.get(v);w===void 0?(a=W(),p.set(v,a)):a=w}}const i=a;let f;if(a.s===ae)f=a.v;else if(f=e.apply(null,arguments),o++,s){const l=n?.deref?.()??n;l!=null&&s(l,f)&&(f=l,o!==0&&o--),n=typeof f=="object"&&f!==null||typeof f=="function"?new Le(f):f}return i.s=ae,i.v=f,f}return c.clearCache=()=>{r=W(),c.resetResultsCount()},c.resultsCount=()=>o,c.resetResultsCount=()=>{o=0},c}function Ye(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,s=(...n)=>{let o=0,c=0,a,u={},i=n.pop();typeof i=="object"&&(u=i,i=n.pop()),Ie(i,`createSelector expects an output function after the inputs, but received: [${typeof i}]`);const f={...r,...u},{memoize:l,memoizeOptions:y=[],argsMemoize:v=me,argsMemoizeOptions:p=[]}=f,w=ie(y),d=ie(p),S=ke(n),h=l(function(){return o++,i.apply(null,arguments)},...w),m=v(function(){c++;const R=We(S,arguments);return a=h.apply(null,R),a},...d);return Object.assign(m,{resultFunc:i,memoizedResultFunc:h,dependencies:S,dependencyRecomputations:()=>c,resetDependencyRecomputations:()=>{c=0},lastResult:()=>a,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:l,argsMemoize:v})};return Object.assign(s,{withTypes:()=>s}),s}var ze=Ye(me),Ve=Object.assign((e,t=ze)=>{Fe(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const r=Object.keys(e),s=r.map(o=>e[o]);return t(s,(...o)=>o.reduce((c,a,u)=>(c[r[u]]=a,c),{}))},{withTypes:()=>Ve}),G={exports:{}},H={};/**
1
+ import{aH as Te,a6 as b}from"./index-CNPtE0XQ.js";function E(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Ne=typeof Symbol=="function"&&Symbol.observable||"@@observable",ue=Ne,q=()=>Math.random().toString(36).substring(7).split("").join("."),xe={INIT:`@@redux/INIT${q()}`,REPLACE:`@@redux/REPLACE${q()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${q()}`},U=xe;function Se(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function _e(e,t,r){if(typeof e!="function")throw new Error(E(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(E(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(E(1));return r(_e)(e,t)}let s=e,n=t,o=new Map,c=o,a=0,u=!1;function i(){c===o&&(c=new Map,o.forEach((d,S)=>{c.set(S,d)}))}function f(){if(u)throw new Error(E(3));return n}function l(d){if(typeof d!="function")throw new Error(E(4));if(u)throw new Error(E(5));let S=!0;i();const h=a++;return c.set(h,d),function(){if(S){if(u)throw new Error(E(6));S=!1,i(),c.delete(h),o=null}}}function y(d){if(!Se(d))throw new Error(E(7));if(typeof d.type>"u")throw new Error(E(8));if(typeof d.type!="string")throw new Error(E(17));if(u)throw new Error(E(9));try{u=!0,n=s(n,d)}finally{u=!1}return(o=c).forEach(h=>{h()}),d}function v(d){if(typeof d!="function")throw new Error(E(10));s=d,y({type:U.REPLACE})}function p(){const d=l;return{subscribe(S){if(typeof S!="object"||S===null)throw new Error(E(11));function h(){const g=S;g.next&&g.next(f())}return h(),{unsubscribe:d(h)}},[ue](){return this}}}return y({type:U.INIT}),{dispatch:y,subscribe:l,getState:f,replaceReducer:v,[ue]:p}}function Me(e){Object.keys(e).forEach(t=>{const r=e[t];if(typeof r(void 0,{type:U.INIT})>"u")throw new Error(E(12));if(typeof r(void 0,{type:U.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(E(13))})}function zt(e){const t=Object.keys(e),r={};for(let o=0;o<t.length;o++){const c=t[o];typeof e[c]=="function"&&(r[c]=e[c])}const s=Object.keys(r);let n;try{Me(r)}catch(o){n=o}return function(c={},a){if(n)throw n;let u=!1;const i={};for(let f=0;f<s.length;f++){const l=s[f],y=r[l],v=c[l],p=y(v,a);if(typeof p>"u")throw a&&a.type,new Error(E(14));i[l]=p,u=u||p!==v}return u=u||s.length!==Object.keys(c).length,u?i:c}}function ce(e,t){return function(...r){return t(e.apply(this,r))}}function Vt(e,t){if(typeof e=="function")return ce(e,t);if(typeof e!="object"||e===null)throw new Error(E(16));const r={};for(const s in e){const n=e[s];typeof n=="function"&&(r[s]=ce(n,t))}return r}function Ae(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...s)=>t(r(...s)))}function Dt(...e){return t=>(r,s)=>{const n=t(r,s);let o=()=>{throw new Error(E(15))};const c={getState:n.getState,dispatch:(u,...i)=>o(u,...i)},a=e.map(u=>u(c));return o=Ae(...a)(n.dispatch),{...n,dispatch:o}}}function Kt(e){return Se(e)&&"type"in e&&typeof e.type=="string"}function Ie(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function Fe(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function $e(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){const r=e.map(s=>typeof s=="function"?`function ${s.name||"unnamed"}()`:typeof s).join(", ");throw new TypeError(`${t}[${r}]`)}}var ie=e=>Array.isArray(e)?e:[e];function ke(e){const t=Array.isArray(e[0])?e[0]:e;return $e(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function We(e,t){const r=[],{length:s}=e;for(let n=0;n<s;n++)r.push(e[n].apply(null,t));return r}var Ue=class{constructor(e){this.value=e}deref(){return this.value}},Le=typeof WeakRef<"u"?WeakRef:Ue,je=0,ae=1;function W(){return{s:je,v:void 0,o:null,p:null}}function me(e,t={}){let r=W();const{resultEqualityCheck:s}=t;let n,o=0;function c(){let a=r;const{length:u}=arguments;for(let l=0,y=u;l<y;l++){const v=arguments[l];if(typeof v=="function"||typeof v=="object"&&v!==null){let p=a.o;p===null&&(a.o=p=new WeakMap);const w=p.get(v);w===void 0?(a=W(),p.set(v,a)):a=w}else{let p=a.p;p===null&&(a.p=p=new Map);const w=p.get(v);w===void 0?(a=W(),p.set(v,a)):a=w}}const i=a;let f;if(a.s===ae)f=a.v;else if(f=e.apply(null,arguments),o++,s){const l=n?.deref?.()??n;l!=null&&s(l,f)&&(f=l,o!==0&&o--),n=typeof f=="object"&&f!==null||typeof f=="function"?new Le(f):f}return i.s=ae,i.v=f,f}return c.clearCache=()=>{r=W(),c.resetResultsCount()},c.resultsCount=()=>o,c.resetResultsCount=()=>{o=0},c}function Ye(e,...t){const r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,s=(...n)=>{let o=0,c=0,a,u={},i=n.pop();typeof i=="object"&&(u=i,i=n.pop()),Ie(i,`createSelector expects an output function after the inputs, but received: [${typeof i}]`);const f={...r,...u},{memoize:l,memoizeOptions:y=[],argsMemoize:v=me,argsMemoizeOptions:p=[]}=f,w=ie(y),d=ie(p),S=ke(n),h=l(function(){return o++,i.apply(null,arguments)},...w),m=v(function(){c++;const R=We(S,arguments);return a=h.apply(null,R),a},...d);return Object.assign(m,{resultFunc:i,memoizedResultFunc:h,dependencies:S,dependencyRecomputations:()=>c,resetDependencyRecomputations:()=>{c=0},lastResult:()=>a,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:l,argsMemoize:v})};return Object.assign(s,{withTypes:()=>s}),s}var ze=Ye(me),Ve=Object.assign((e,t=ze)=>{Fe(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const r=Object.keys(e),s=r.map(o=>e[o]);return t(s,(...o)=>o.reduce((c,a,u)=>(c[r[u]]=a,c),{}))},{withTypes:()=>Ve}),G={exports:{}},H={};/**
2
2
  * @license React
3
3
  * use-sync-external-store-with-selector.production.js
4
4
  *
@@ -1,2 +1,2 @@
1
- import{s as O,C as b,b as gt,i as j,g as V,N as S,P as q,S as Tt,a as G,c as Et,d as yt,e as J,r as Nt,f as wt,h as vt,j as Mt,k as Q,t as v,l as Z,m as tt,n as A,o as R,p as M,q as It,u as et,v as nt,w as Ct,x as C,y as D,R as Rt,A as xt,z as x,B as bt,D as _t,E as Dt,F as Lt,G as At,H as zt,I as Ot,J as Vt,K as Pt,L as kt,M as Ft,O as Bt,Q as Ut,T as Ht,U as Gt,V as Wt,W as $t,X as Yt}from"./index-CrWTuyjE.js";const P=new WeakMap;function w(t){return P.has(t)}function Xt(t){let n=t;for(;n;){if(!w(n)&&!j(n))return!1;n=V(n)}return!0}function g(t){return P.get(t)}function Kt(t,n){P.set(t,n)}function k(t,n){const e=t.tagName,o=t.value;if(O(t,n)){const s=t.type;return e==="INPUT"&&(s==="button"||s==="submit"||s==="reset")?o:!o||e==="OPTION"?void 0:b}if(e==="OPTION"||e==="SELECT")return t.value;if(!(e!=="INPUT"&&e!=="TEXTAREA"))return o}const jt=/url\((?:(')([^']*)'|(")([^"]*)"|([^)]*))\)/gm,qt=/^[A-Za-z]+:|^\/\//,Jt=/^["']?data:.*,/i;function Qt(t,n){return t.replace(jt,(e,o,s,r,a,i)=>{const u=s||a||i;if(!n||!u||qt.test(u)||Jt.test(u))return e;const f=o||r||"";return`url(${f}${Zt(u,n)}${f})`})}function Zt(t,n){try{return gt(t,n).href}catch{return t}}const te=/[^a-z1-6-_]/;function st(t){const n=t.toLowerCase().trim();return te.test(n)?"div":n}function W(t,n){return`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${t}' height='${n}' style='background-color:silver'%3E%3C/svg%3E`}const N={FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Focus:6,ViewEnd:7,VisualViewport:8,FrustrationRecord:9},I={Document:0,DocumentType:1,Element:2,Text:3,CDATA:4,DocumentFragment:11},T={Mutation:0,MouseMove:1,MouseInteraction:2,Scroll:3,ViewportResize:4,Input:5,TouchMove:6,MediaInteraction:7,StyleSheetRule:8},E={MouseUp:0,MouseDown:1,Click:2,ContextMenu:3,DblClick:4,Focus:5,Blur:6,TouchStart:7,TouchEnd:9},$={Play:0,Pause:1};function ot(t){if(!(t===void 0||t.length===0))return t.map(n=>{const e=n.cssRules||n.rules;return{cssRules:Array.from(e,r=>r.cssText),disabled:n.disabled||void 0,media:n.media.length>0?Array.from(n.media):void 0}})}const ee=1e6;function rt(t,n,e,o){if(n===S.HIDDEN)return null;const s=t.getAttribute(e);if(n===S.MASK&&e!==q&&!Tt.includes(e)&&e!==o.actionNameAttribute){const r=t.tagName;switch(e){case"title":case"alt":case"placeholder":return b}if(r==="IMG"&&(e==="src"||e==="srcset")){const a=t;if(a.naturalWidth>0)return W(a.naturalWidth,a.naturalHeight);const{width:i,height:u}=t.getBoundingClientRect();return i>0||u>0?W(i,u):G}if(r==="SOURCE"&&(e==="src"||e==="srcset"))return G;if(r==="A"&&e==="href")return b;if(s&&e.startsWith("data-"))return b;if(r==="IFRAME"&&e==="srcdoc")return b}return!s||typeof s!="string"?s:Et(s,ee)}function F(){return{cssText:{count:0,max:0,sum:0},serializationDuration:{count:0,max:0,sum:0}}}function L(t,n,e){t[n].count+=1,t[n].max=Math.max(t[n].max,e),t[n].sum+=e}function ne(t,n){for(const e of["cssText","serializationDuration"])t[e].count+=n[e].count,t[e].max=Math.max(t[e].max,n[e].max),t[e].sum+=n[e].sum}function se(t,n,e){if(n===S.HIDDEN)return{};const o={},s=st(t.tagName),r=t.ownerDocument;for(let c=0;c<t.attributes.length;c+=1){const l=t.attributes.item(c).name,m=rt(t,n,l,e.configuration);m!==null&&(o[l]=m)}if(t.value&&(s==="textarea"||s==="select"||s==="option"||s==="input")){const c=k(t,n);c!==void 0&&(o.value=c)}if(s==="option"&&n===S.ALLOW){const c=t;c.selected&&(o.selected=c.selected)}if(s==="link"){const c=Array.from(r.styleSheets).find(l=>l.href===t.href),d=z(c);d&&c&&(L(e.serializationContext.serializationStats,"cssText",d.length),o._cssText=d)}if(s==="style"&&t.sheet){const c=z(t.sheet);c&&(L(e.serializationContext.serializationStats,"cssText",c.length),o._cssText=c)}const a=t;if(s==="input"&&(a.type==="radio"||a.type==="checkbox")&&(n===S.ALLOW?o.checked=!!a.checked:O(a,n)&&delete o.checked),s==="audio"||s==="video"){const c=t;o.rr_mediaState=c.paused?"paused":"played"}let i,u;const f=e.serializationContext;switch(f.status){case 0:i=Math.round(t.scrollTop),u=Math.round(t.scrollLeft),(i||u)&&f.elementsScrollPositions.set(t,{scrollTop:i,scrollLeft:u});break;case 1:f.elementsScrollPositions.has(t)&&({scrollTop:i,scrollLeft:u}=f.elementsScrollPositions.get(t));break}return u&&(o.rr_scrollLeft=u),i&&(o.rr_scrollTop=i),o}function z(t){if(!t)return null;let n;try{n=t.rules||t.cssRules}catch{}if(!n)return null;const e=Array.from(n,yt()?oe:it).join("");return Qt(e,t.href)}function oe(t){if(ie(t)&&t.selectorText.includes(":")){const n=/(\[[\w-]+[^\\])(:[^\]]+\])/g;return t.cssText.replace(n,"$1\\$2")}return it(t)}function it(t){return re(t)&&z(t.styleSheet)||t.cssText}function re(t){return"styleSheet"in t}function ie(t){return"selectorText"in t}function B(t,n){const e=ce(t,n);if(!e)return null;const o=g(t)||ue(),s=e;return s.id=o,Kt(t,o),n.serializedNodeIds&&n.serializedNodeIds.add(o),s}let ae=1;function ue(){return ae++}function U(t,n){const e=[];return Q(t,o=>{const s=B(o,n);s&&e.push(s)}),e}function ce(t,n){switch(t.nodeType){case t.DOCUMENT_NODE:return le(t,n);case t.DOCUMENT_FRAGMENT_NODE:return de(t,n);case t.DOCUMENT_TYPE_NODE:return fe(t);case t.ELEMENT_NODE:return pe(t,n);case t.TEXT_NODE:return me(t,n);case t.CDATA_SECTION_NODE:return Se()}}function le(t,n){return{type:I.Document,childNodes:U(t,n),adoptedStyleSheets:ot(t.adoptedStyleSheets)}}function de(t,n){const e=j(t);return e&&n.serializationContext.shadowRootsController.addShadowRoot(t),{type:I.DocumentFragment,childNodes:U(t,n),isShadowRoot:e,adoptedStyleSheets:e?ot(t.adoptedStyleSheets):void 0}}function fe(t){return{type:I.DocumentType,name:t.name,publicId:t.publicId,systemId:t.systemId}}function pe(t,n){const e=st(t.tagName),o=he(t)||void 0,s=Nt(wt(t),n.parentNodePrivacyLevel);if(s===S.HIDDEN){const{width:i,height:u}=t.getBoundingClientRect();return{type:I.Element,tagName:e,attributes:{rr_width:`${i}px`,rr_height:`${u}px`,[q]:vt},childNodes:[],isSVG:o}}if(s===S.IGNORE)return;const r=se(t,s,n);let a=[];if(Mt(t)&&e!=="style"){let i;n.parentNodePrivacyLevel===s&&n.ignoreWhiteSpace===(e==="head")?i=n:i={...n,parentNodePrivacyLevel:s,ignoreWhiteSpace:e==="head"},a=U(t,i)}return{type:I.Element,tagName:e,attributes:r,childNodes:a,isSVG:o}}function he(t){return t.tagName==="svg"||t instanceof SVGElement}function me(t,n){const e=J(t,n.ignoreWhiteSpace||!1,n.parentNodePrivacyLevel);if(e!==void 0)return{type:I.Text,textContent:e}}function Se(){return{type:I.CDATA,textContent:""}}function ge(t,n,e){const o=v(),s=B(t,{serializationContext:e,parentNodePrivacyLevel:n.defaultPrivacyLevel,configuration:n});return L(e.serializationStats,"serializationDuration",Z(o,v())),s}function at(t){return!!t.changedTouches}function _(t){return t.composed===!0&&tt(t.target)?t.composedPath()[0]:t.target}const Y=25;function Te(t){return Math.abs(t.pageTop-t.offsetTop-window.scrollY)>Y||Math.abs(t.pageLeft-t.offsetLeft-window.scrollX)>Y}const Ee=(t,n)=>{const e=window.visualViewport,o={layoutViewportX:t,layoutViewportY:n,visualViewportX:t,visualViewportY:n};if(e)Te(e)?(o.layoutViewportX=Math.round(t+e.offsetLeft),o.layoutViewportY=Math.round(n+e.offsetTop)):(o.visualViewportX=Math.round(t-e.offsetLeft),o.visualViewportY=Math.round(n-e.offsetTop));else return o;return o},ut=t=>({scale:t.scale,offsetLeft:t.offsetLeft,offsetTop:t.offsetTop,pageLeft:t.pageLeft,pageTop:t.pageTop,height:t.height,width:t.width});function y(t,n){return{data:{source:t,...n},type:N.IncrementalSnapshot,timestamp:v()}}const ye=50;function Ne(t,n){const{throttled:e,cancel:o}=A(r=>{const a=_(r);if(w(a)){const i=ct(r);if(!i)return;const u={id:g(a),timeOffset:0,x:i.x,y:i.y};n(y(at(r)?T.TouchMove:T.MouseMove,{positions:[u]}))}},ye,{trailing:!1}),{stop:s}=R(t,document,["mousemove","touchmove"],e,{capture:!0,passive:!0});return{stop:()=>{s(),o()}}}function ct(t){let{clientX:n,clientY:e}=at(t)?t.changedTouches[0]:t;if(window.visualViewport){const{visualViewportX:o,visualViewportY:s}=Ee(n,e);n=o,e=s}if(!(!Number.isFinite(n)||!Number.isFinite(e)))return{x:n,y:e}}const X={pointerup:E.MouseUp,mousedown:E.MouseDown,click:E.Click,contextmenu:E.ContextMenu,dblclick:E.DblClick,focus:E.Focus,blur:E.Blur,touchstart:E.TouchStart,touchend:E.TouchEnd};function we(t,n,e){const o=s=>{const r=_(s);if(M(r,t.defaultPrivacyLevel)===S.HIDDEN||!w(r))return;const a=g(r),i=X[s.type];let u;if(i!==E.Blur&&i!==E.Focus){const c=ct(s);if(!c)return;u={id:a,type:i,x:c.x,y:c.y}}else u={id:a,type:i};const f={id:e.getIdForEvent(s),...y(T.MouseInteraction,u)};n(f)};return R(t,document,Object.keys(X),o,{capture:!0,passive:!0})}const ve=100;function lt(t,n,e,o=document){const{throttled:s,cancel:r}=A(i=>{const u=_(i);if(!u||M(u,t.defaultPrivacyLevel)===S.HIDDEN||!w(u))return;const f=g(u),c=u===document?{scrollTop:nt(),scrollLeft:et()}:{scrollTop:Math.round(u.scrollTop),scrollLeft:Math.round(u.scrollLeft)};e.set(u,c),n(y(T.Scroll,{id:f,x:c.scrollLeft,y:c.scrollTop}))},ve),{stop:a}=It(t,o,"scroll",s,{capture:!0,passive:!0});return{stop:()=>{a(),r()}}}const Me=200;function Ie(t,n){const e=Ct(t).subscribe(o=>{n(y(T.ViewportResize,o))});return{stop:()=>{e.unsubscribe()}}}function Ce(t,n){const e=window.visualViewport;if(!e)return{stop:C};const{throttled:o,cancel:s}=A(()=>{n({data:ut(e),type:N.VisualViewport,timestamp:v()})},Me,{trailing:!1}),{stop:r}=R(t,e,["resize","scroll"],o,{capture:!0,passive:!0});return{stop:()=>{r(),s()}}}function Re(t,n){return R(t,document,["play","pause"],e=>{const o=_(e);!o||M(o,t.defaultPrivacyLevel)===S.HIDDEN||!w(o)||n(y(T.MediaInteraction,{id:g(o),type:e.type==="play"?$.Play:$.Pause}))},{capture:!0,passive:!0})}function xe(t){function n(s,r){s&&w(s.ownerNode)&&r(g(s.ownerNode))}const e=[D(CSSStyleSheet.prototype,"insertRule",({target:s,parameters:[r,a]})=>{n(s,i=>t(y(T.StyleSheetRule,{id:i,adds:[{rule:r,index:a}]})))}),D(CSSStyleSheet.prototype,"deleteRule",({target:s,parameters:[r]})=>{n(s,a=>t(y(T.StyleSheetRule,{id:a,removes:[{index:r}]})))})];typeof CSSGroupingRule<"u"?o(CSSGroupingRule):(o(CSSMediaRule),o(CSSSupportsRule));function o(s){e.push(D(s.prototype,"insertRule",({target:r,parameters:[a,i]})=>{n(r.parentStyleSheet,u=>{const f=K(r);f&&(f.push(i||0),t(y(T.StyleSheetRule,{id:u,adds:[{rule:a,index:f}]})))})}),D(s.prototype,"deleteRule",({target:r,parameters:[a]})=>{n(r.parentStyleSheet,i=>{const u=K(r);u&&(u.push(a),t(y(T.StyleSheetRule,{id:i,removes:[{index:u}]})))})}))}return{stop:()=>{e.forEach(s=>s.stop())}}}function K(t){const n=[];let e=t;for(;e.parentRule;){const a=Array.from(e.parentRule.cssRules).indexOf(e);n.unshift(a),e=e.parentRule}if(!e.parentStyleSheet)return;const s=Array.from(e.parentStyleSheet.cssRules).indexOf(e);return n.unshift(s),n}function be(t,n){return R(t,window,["focus","blur"],()=>{n({data:{has_focus:document.hasFocus()},type:N.Focus,timestamp:v()})})}function _e(t,n,e){const o=t.subscribe(12,s=>{var r,a;s.rawRumEvent.type===Rt.ACTION&&s.rawRumEvent.action.type===xt.CLICK&&(!((a=(r=s.rawRumEvent.action.frustration)===null||r===void 0?void 0:r.type)===null||a===void 0)&&a.length)&&"events"in s.domainContext&&s.domainContext.events&&s.domainContext.events.length&&n({timestamp:s.rawRumEvent.date,type:N.FrustrationRecord,data:{frustrationTypes:s.rawRumEvent.action.frustration.type,recordIds:s.domainContext.events.map(i=>e.getIdForEvent(i))}})});return{stop:()=>{o.unsubscribe()}}}function De(t,n){const e=t.subscribe(5,()=>{n({timestamp:v(),type:N.ViewEnd})});return{stop:()=>{e.unsubscribe()}}}function dt(t,n,e=document){const o=t.defaultPrivacyLevel,s=new WeakMap,r=e!==document,{stop:a}=R(t,e,r?["change"]:["input","change"],c=>{const d=_(c);(d instanceof HTMLInputElement||d instanceof HTMLTextAreaElement||d instanceof HTMLSelectElement)&&u(d)},{capture:!0,passive:!0});let i;if(r)i=C;else{const c=[x(HTMLInputElement.prototype,"value",u),x(HTMLInputElement.prototype,"checked",u),x(HTMLSelectElement.prototype,"value",u),x(HTMLTextAreaElement.prototype,"value",u),x(HTMLSelectElement.prototype,"selectedIndex",u)];i=()=>{c.forEach(d=>d.stop())}}return{stop:()=>{i(),a()}};function u(c){const d=M(c,o);if(d===S.HIDDEN)return;const l=c.type;let m;if(l==="radio"||l==="checkbox"){if(O(c,d))return;m={isChecked:c.checked}}else{const p=k(c,d);if(p===void 0)return;m={text:p}}f(c,m);const h=c.name;l==="radio"&&h&&c.checked&&document.querySelectorAll(`input[type="radio"][name="${CSS.escape(h)}"]`).forEach(p=>{p!==c&&f(p,{isChecked:!1})})}function f(c,d){if(!w(c))return;const l=s.get(c);(!l||l.text!==d.text||l.isChecked!==d.isChecked)&&(s.set(c,d),n(y(T.Input,{id:g(c),...d})))}}const Le=100,Ae=16;function ze(t){let n=C,e=[];function o(){n(),t(e),e=[]}const{throttled:s,cancel:r}=A(o,Ae,{leading:!1});return{addMutations:a=>{e.length===0&&(n=bt(s,{timeout:Le})),e.push(...a)},flush:o,stop:()=>{n(),r()}}}function ft(t,n,e,o){const s=_t();if(!s)return{stop:C,flush:C};const r=ze(i=>{Oe(i.concat(a.takeRecords()),t,n,e)}),a=new s(Dt(r.addMutations));return a.observe(o,{attributeOldValue:!0,attributes:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),{stop:()=>{a.disconnect(),r.stop()},flush:()=>{r.flush()}}}function Oe(t,n,e,o){const s=new Map;t.filter(l=>l.type==="childList").forEach(l=>{l.removedNodes.forEach(m=>{pt(m,o.removeShadowRoot)})});const r=t.filter(l=>l.target.isConnected&&Xt(l.target)&&M(l.target,e.defaultPrivacyLevel,s)!==S.HIDDEN),a=F(),{adds:i,removes:u,hasBeenSerialized:f}=Ve(r.filter(l=>l.type==="childList"),e,a,o,s),c=Pe(r.filter(l=>l.type==="characterData"&&!f(l.target)),e,s),d=ke(r.filter(l=>l.type==="attributes"&&!f(l.target)),e,s);!c.length&&!d.length&&!u.length&&!i.length||n(y(T.Mutation,{adds:i,removes:u,texts:c,attributes:d}),a)}function Ve(t,n,e,o,s){const r=new Set,a=new Map;for(const h of t)h.addedNodes.forEach(p=>{r.add(p)}),h.removedNodes.forEach(p=>{r.has(p)||a.set(p,h.target),r.delete(p)});const i=Array.from(r);Fe(i);const u=new Set,f={status:2,serializationStats:e,shadowRootsController:o},c=[];for(const h of i){if(l(h))continue;const p=M(h.parentNode,n.defaultPrivacyLevel,s);if(p===S.HIDDEN||p===S.IGNORE)continue;const mt=v(),H=B(h,{serializedNodeIds:u,parentNodePrivacyLevel:p,serializationContext:f,configuration:n});if(L(e,"serializationDuration",Z(mt,v())),!H)continue;const St=V(h);c.push({nextId:m(h),parentId:g(St),node:H})}const d=[];return a.forEach((h,p)=>{w(p)&&d.push({parentId:g(h),id:g(p)})}),{adds:c,removes:d,hasBeenSerialized:l};function l(h){return w(h)&&u.has(g(h))}function m(h){let p=h.nextSibling;for(;p;){if(w(p))return g(p);p=p.nextSibling}return null}}function Pe(t,n,e){var o;const s=[],r=new Set,a=t.filter(i=>r.has(i.target)?!1:(r.add(i.target),!0));for(const i of a){if(i.target.textContent===i.oldValue)continue;const f=M(V(i.target),n.defaultPrivacyLevel,e);f===S.HIDDEN||f===S.IGNORE||s.push({id:g(i.target),value:(o=J(i.target,!1,f))!==null&&o!==void 0?o:null})}return s}function ke(t,n,e){const o=[],s=new Map,r=t.filter(i=>{const u=s.get(i.target);return u&&u.has(i.attributeName)?!1:(u?u.add(i.attributeName):s.set(i.target,new Set([i.attributeName])),!0)}),a=new Map;for(const i of r){if(i.target.getAttribute(i.attributeName)===i.oldValue)continue;const f=M(i.target,n.defaultPrivacyLevel,e),c=rt(i.target,f,i.attributeName,n);let d;if(i.attributeName==="value"){const m=k(i.target,f);if(m===void 0)continue;d=m}else typeof c=="string"?d=c:d=null;let l=a.get(i.target);l||(l={id:g(i.target),attributes:{}},o.push(l),a.set(i.target,l)),l.attributes[i.attributeName]=d}return o}function Fe(t){t.sort((n,e)=>{const o=n.compareDocumentPosition(e);return o&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:o&Node.DOCUMENT_POSITION_CONTAINS||o&Node.DOCUMENT_POSITION_FOLLOWING?1:o&Node.DOCUMENT_POSITION_PRECEDING?-1:0})}function pt(t,n){tt(t)&&n(t.shadowRoot),Q(t,e=>pt(e,n))}function Be(){const t=new WeakMap;return{set(n,e){n===document&&!document.scrollingElement||t.set(n===document?document.scrollingElement:n,e)},get(n){return t.get(n)},has(n){return t.has(n)}}}const Ue=(t,n,e)=>{const o=new Map,s={addShadowRoot:r=>{if(o.has(r))return;const a=ft(n,t,s,r),i=dt(t,n,r),u=lt(t,n,e,r);o.set(r,{flush:()=>a.flush(),stop:()=>{a.stop(),i.stop(),u.stop()}})},removeShadowRoot:r=>{const a=o.get(r);a&&(a.stop(),o.delete(r))},stop:()=>{o.forEach(({stop:r})=>r())},flush:()=>{o.forEach(({flush:r})=>r())}};return s};function He(t,n,e,o,s,r){const a=(u,f)=>{const{width:c,height:d}=Lt();r({data:{height:d,href:window.location.href,width:c},type:N.Meta,timestamp:u}),r({data:{has_focus:document.hasFocus()},type:N.Focus,timestamp:u});const l=F();r({data:{node:ge(document,o,{status:f,elementsScrollPositions:t,serializationStats:l,shadowRootsController:n}),initialOffset:{left:et(),top:nt()}},type:N.FullSnapshot,timestamp:u},l),window.visualViewport&&r({data:ut(window.visualViewport),type:N.VisualViewport,timestamp:u})};a(v(),0);const{unsubscribe:i}=e.subscribe(2,u=>{s(),a(u.startClocks.timeStamp,1)});return{stop:i}}function Ge(){const t=new WeakMap;let n=1;return{getIdForEvent(e){return t.has(e)||t.set(e,n++),t.get(e)}}}function We(t){const{emit:n,configuration:e,lifeCycle:o}=t;if(!n)throw new Error("emit function is required");const s=(l,m)=>{n(l,m),At("record",{record:l});const h=t.viewHistory.findView();zt(h.id)},r=Be(),a=Ue(e,s,r),{stop:i}=He(r,a,o,e,u,s);function u(){a.flush(),c.flush()}const f=Ge(),c=ft(s,e,a,document),d=[c,Ne(e,s),we(e,s,f),lt(e,s,r,document),Ie(e,s),dt(e,s),Re(e,s),xe(s),be(e,s),Ce(e,s),_e(o,s,f),De(o,l=>{u(),s(l)})];return{stop:()=>{a.stop(),d.forEach(l=>l.stop()),i()},flushMutations:u,shadowRootsController:a}}function $e(t,n,e,o){const s=new FormData;s.append("segment",new Blob([t],{type:"application/octet-stream"}),`${n.session.id}-${n.start}`);const r={raw_segment_size:o,compressed_segment_size:t.byteLength,...n},a=JSON.stringify(r);return s.append("event",new Blob([a],{type:"application/json"})),{data:s,bytesCount:t.byteLength,cssText:e.cssText,isFullSnapshot:n.index_in_view===0,rawSize:o,recordCount:n.records_count,serializationDuration:e.serializationDuration}}function Ye({context:t,creationReason:n,encoder:e}){let o=0;const s=t.view.id,r=Ot(s),a={start:1/0,end:-1/0,creation_reason:n,records_count:0,has_full_snapshot:!1,index_in_view:r,source:"browser",...t},i=F();Vt(s);function u(c,d,l){a.start=Math.min(a.start,c.timestamp),a.end=Math.max(a.end,c.timestamp),a.records_count+=1,a.has_full_snapshot||(a.has_full_snapshot=c.type===N.FullSnapshot),d&&ne(i,d);const m=e.isEmpty?'{"records":[':",";e.write(m+JSON.stringify(c),h=>{o+=h,l(o)})}function f(c){if(e.isEmpty)throw new Error("Empty segment flushed");e.write(`],${JSON.stringify(a).slice(1)}
1
+ import{s as O,C as b,b as gt,i as j,g as V,N as S,P as q,S as Tt,a as G,c as Et,d as yt,e as J,r as Nt,f as wt,h as vt,j as Mt,k as Q,t as v,l as Z,m as tt,n as A,o as R,p as M,q as It,u as et,v as nt,w as Ct,x as C,y as D,R as Rt,A as xt,z as x,B as bt,D as _t,E as Dt,F as Lt,G as At,H as zt,I as Ot,J as Vt,K as Pt,L as kt,M as Ft,O as Bt,Q as Ut,T as Ht,U as Gt,V as Wt,W as $t,X as Yt}from"./index-CNPtE0XQ.js";const P=new WeakMap;function w(t){return P.has(t)}function Xt(t){let n=t;for(;n;){if(!w(n)&&!j(n))return!1;n=V(n)}return!0}function g(t){return P.get(t)}function Kt(t,n){P.set(t,n)}function k(t,n){const e=t.tagName,o=t.value;if(O(t,n)){const s=t.type;return e==="INPUT"&&(s==="button"||s==="submit"||s==="reset")?o:!o||e==="OPTION"?void 0:b}if(e==="OPTION"||e==="SELECT")return t.value;if(!(e!=="INPUT"&&e!=="TEXTAREA"))return o}const jt=/url\((?:(')([^']*)'|(")([^"]*)"|([^)]*))\)/gm,qt=/^[A-Za-z]+:|^\/\//,Jt=/^["']?data:.*,/i;function Qt(t,n){return t.replace(jt,(e,o,s,r,a,i)=>{const u=s||a||i;if(!n||!u||qt.test(u)||Jt.test(u))return e;const f=o||r||"";return`url(${f}${Zt(u,n)}${f})`})}function Zt(t,n){try{return gt(t,n).href}catch{return t}}const te=/[^a-z1-6-_]/;function st(t){const n=t.toLowerCase().trim();return te.test(n)?"div":n}function W(t,n){return`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${t}' height='${n}' style='background-color:silver'%3E%3C/svg%3E`}const N={FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Focus:6,ViewEnd:7,VisualViewport:8,FrustrationRecord:9},I={Document:0,DocumentType:1,Element:2,Text:3,CDATA:4,DocumentFragment:11},T={Mutation:0,MouseMove:1,MouseInteraction:2,Scroll:3,ViewportResize:4,Input:5,TouchMove:6,MediaInteraction:7,StyleSheetRule:8},E={MouseUp:0,MouseDown:1,Click:2,ContextMenu:3,DblClick:4,Focus:5,Blur:6,TouchStart:7,TouchEnd:9},$={Play:0,Pause:1};function ot(t){if(!(t===void 0||t.length===0))return t.map(n=>{const e=n.cssRules||n.rules;return{cssRules:Array.from(e,r=>r.cssText),disabled:n.disabled||void 0,media:n.media.length>0?Array.from(n.media):void 0}})}const ee=1e6;function rt(t,n,e,o){if(n===S.HIDDEN)return null;const s=t.getAttribute(e);if(n===S.MASK&&e!==q&&!Tt.includes(e)&&e!==o.actionNameAttribute){const r=t.tagName;switch(e){case"title":case"alt":case"placeholder":return b}if(r==="IMG"&&(e==="src"||e==="srcset")){const a=t;if(a.naturalWidth>0)return W(a.naturalWidth,a.naturalHeight);const{width:i,height:u}=t.getBoundingClientRect();return i>0||u>0?W(i,u):G}if(r==="SOURCE"&&(e==="src"||e==="srcset"))return G;if(r==="A"&&e==="href")return b;if(s&&e.startsWith("data-"))return b;if(r==="IFRAME"&&e==="srcdoc")return b}return!s||typeof s!="string"?s:Et(s,ee)}function F(){return{cssText:{count:0,max:0,sum:0},serializationDuration:{count:0,max:0,sum:0}}}function L(t,n,e){t[n].count+=1,t[n].max=Math.max(t[n].max,e),t[n].sum+=e}function ne(t,n){for(const e of["cssText","serializationDuration"])t[e].count+=n[e].count,t[e].max=Math.max(t[e].max,n[e].max),t[e].sum+=n[e].sum}function se(t,n,e){if(n===S.HIDDEN)return{};const o={},s=st(t.tagName),r=t.ownerDocument;for(let c=0;c<t.attributes.length;c+=1){const l=t.attributes.item(c).name,m=rt(t,n,l,e.configuration);m!==null&&(o[l]=m)}if(t.value&&(s==="textarea"||s==="select"||s==="option"||s==="input")){const c=k(t,n);c!==void 0&&(o.value=c)}if(s==="option"&&n===S.ALLOW){const c=t;c.selected&&(o.selected=c.selected)}if(s==="link"){const c=Array.from(r.styleSheets).find(l=>l.href===t.href),d=z(c);d&&c&&(L(e.serializationContext.serializationStats,"cssText",d.length),o._cssText=d)}if(s==="style"&&t.sheet){const c=z(t.sheet);c&&(L(e.serializationContext.serializationStats,"cssText",c.length),o._cssText=c)}const a=t;if(s==="input"&&(a.type==="radio"||a.type==="checkbox")&&(n===S.ALLOW?o.checked=!!a.checked:O(a,n)&&delete o.checked),s==="audio"||s==="video"){const c=t;o.rr_mediaState=c.paused?"paused":"played"}let i,u;const f=e.serializationContext;switch(f.status){case 0:i=Math.round(t.scrollTop),u=Math.round(t.scrollLeft),(i||u)&&f.elementsScrollPositions.set(t,{scrollTop:i,scrollLeft:u});break;case 1:f.elementsScrollPositions.has(t)&&({scrollTop:i,scrollLeft:u}=f.elementsScrollPositions.get(t));break}return u&&(o.rr_scrollLeft=u),i&&(o.rr_scrollTop=i),o}function z(t){if(!t)return null;let n;try{n=t.rules||t.cssRules}catch{}if(!n)return null;const e=Array.from(n,yt()?oe:it).join("");return Qt(e,t.href)}function oe(t){if(ie(t)&&t.selectorText.includes(":")){const n=/(\[[\w-]+[^\\])(:[^\]]+\])/g;return t.cssText.replace(n,"$1\\$2")}return it(t)}function it(t){return re(t)&&z(t.styleSheet)||t.cssText}function re(t){return"styleSheet"in t}function ie(t){return"selectorText"in t}function B(t,n){const e=ce(t,n);if(!e)return null;const o=g(t)||ue(),s=e;return s.id=o,Kt(t,o),n.serializedNodeIds&&n.serializedNodeIds.add(o),s}let ae=1;function ue(){return ae++}function U(t,n){const e=[];return Q(t,o=>{const s=B(o,n);s&&e.push(s)}),e}function ce(t,n){switch(t.nodeType){case t.DOCUMENT_NODE:return le(t,n);case t.DOCUMENT_FRAGMENT_NODE:return de(t,n);case t.DOCUMENT_TYPE_NODE:return fe(t);case t.ELEMENT_NODE:return pe(t,n);case t.TEXT_NODE:return me(t,n);case t.CDATA_SECTION_NODE:return Se()}}function le(t,n){return{type:I.Document,childNodes:U(t,n),adoptedStyleSheets:ot(t.adoptedStyleSheets)}}function de(t,n){const e=j(t);return e&&n.serializationContext.shadowRootsController.addShadowRoot(t),{type:I.DocumentFragment,childNodes:U(t,n),isShadowRoot:e,adoptedStyleSheets:e?ot(t.adoptedStyleSheets):void 0}}function fe(t){return{type:I.DocumentType,name:t.name,publicId:t.publicId,systemId:t.systemId}}function pe(t,n){const e=st(t.tagName),o=he(t)||void 0,s=Nt(wt(t),n.parentNodePrivacyLevel);if(s===S.HIDDEN){const{width:i,height:u}=t.getBoundingClientRect();return{type:I.Element,tagName:e,attributes:{rr_width:`${i}px`,rr_height:`${u}px`,[q]:vt},childNodes:[],isSVG:o}}if(s===S.IGNORE)return;const r=se(t,s,n);let a=[];if(Mt(t)&&e!=="style"){let i;n.parentNodePrivacyLevel===s&&n.ignoreWhiteSpace===(e==="head")?i=n:i={...n,parentNodePrivacyLevel:s,ignoreWhiteSpace:e==="head"},a=U(t,i)}return{type:I.Element,tagName:e,attributes:r,childNodes:a,isSVG:o}}function he(t){return t.tagName==="svg"||t instanceof SVGElement}function me(t,n){const e=J(t,n.ignoreWhiteSpace||!1,n.parentNodePrivacyLevel);if(e!==void 0)return{type:I.Text,textContent:e}}function Se(){return{type:I.CDATA,textContent:""}}function ge(t,n,e){const o=v(),s=B(t,{serializationContext:e,parentNodePrivacyLevel:n.defaultPrivacyLevel,configuration:n});return L(e.serializationStats,"serializationDuration",Z(o,v())),s}function at(t){return!!t.changedTouches}function _(t){return t.composed===!0&&tt(t.target)?t.composedPath()[0]:t.target}const Y=25;function Te(t){return Math.abs(t.pageTop-t.offsetTop-window.scrollY)>Y||Math.abs(t.pageLeft-t.offsetLeft-window.scrollX)>Y}const Ee=(t,n)=>{const e=window.visualViewport,o={layoutViewportX:t,layoutViewportY:n,visualViewportX:t,visualViewportY:n};if(e)Te(e)?(o.layoutViewportX=Math.round(t+e.offsetLeft),o.layoutViewportY=Math.round(n+e.offsetTop)):(o.visualViewportX=Math.round(t-e.offsetLeft),o.visualViewportY=Math.round(n-e.offsetTop));else return o;return o},ut=t=>({scale:t.scale,offsetLeft:t.offsetLeft,offsetTop:t.offsetTop,pageLeft:t.pageLeft,pageTop:t.pageTop,height:t.height,width:t.width});function y(t,n){return{data:{source:t,...n},type:N.IncrementalSnapshot,timestamp:v()}}const ye=50;function Ne(t,n){const{throttled:e,cancel:o}=A(r=>{const a=_(r);if(w(a)){const i=ct(r);if(!i)return;const u={id:g(a),timeOffset:0,x:i.x,y:i.y};n(y(at(r)?T.TouchMove:T.MouseMove,{positions:[u]}))}},ye,{trailing:!1}),{stop:s}=R(t,document,["mousemove","touchmove"],e,{capture:!0,passive:!0});return{stop:()=>{s(),o()}}}function ct(t){let{clientX:n,clientY:e}=at(t)?t.changedTouches[0]:t;if(window.visualViewport){const{visualViewportX:o,visualViewportY:s}=Ee(n,e);n=o,e=s}if(!(!Number.isFinite(n)||!Number.isFinite(e)))return{x:n,y:e}}const X={pointerup:E.MouseUp,mousedown:E.MouseDown,click:E.Click,contextmenu:E.ContextMenu,dblclick:E.DblClick,focus:E.Focus,blur:E.Blur,touchstart:E.TouchStart,touchend:E.TouchEnd};function we(t,n,e){const o=s=>{const r=_(s);if(M(r,t.defaultPrivacyLevel)===S.HIDDEN||!w(r))return;const a=g(r),i=X[s.type];let u;if(i!==E.Blur&&i!==E.Focus){const c=ct(s);if(!c)return;u={id:a,type:i,x:c.x,y:c.y}}else u={id:a,type:i};const f={id:e.getIdForEvent(s),...y(T.MouseInteraction,u)};n(f)};return R(t,document,Object.keys(X),o,{capture:!0,passive:!0})}const ve=100;function lt(t,n,e,o=document){const{throttled:s,cancel:r}=A(i=>{const u=_(i);if(!u||M(u,t.defaultPrivacyLevel)===S.HIDDEN||!w(u))return;const f=g(u),c=u===document?{scrollTop:nt(),scrollLeft:et()}:{scrollTop:Math.round(u.scrollTop),scrollLeft:Math.round(u.scrollLeft)};e.set(u,c),n(y(T.Scroll,{id:f,x:c.scrollLeft,y:c.scrollTop}))},ve),{stop:a}=It(t,o,"scroll",s,{capture:!0,passive:!0});return{stop:()=>{a(),r()}}}const Me=200;function Ie(t,n){const e=Ct(t).subscribe(o=>{n(y(T.ViewportResize,o))});return{stop:()=>{e.unsubscribe()}}}function Ce(t,n){const e=window.visualViewport;if(!e)return{stop:C};const{throttled:o,cancel:s}=A(()=>{n({data:ut(e),type:N.VisualViewport,timestamp:v()})},Me,{trailing:!1}),{stop:r}=R(t,e,["resize","scroll"],o,{capture:!0,passive:!0});return{stop:()=>{r(),s()}}}function Re(t,n){return R(t,document,["play","pause"],e=>{const o=_(e);!o||M(o,t.defaultPrivacyLevel)===S.HIDDEN||!w(o)||n(y(T.MediaInteraction,{id:g(o),type:e.type==="play"?$.Play:$.Pause}))},{capture:!0,passive:!0})}function xe(t){function n(s,r){s&&w(s.ownerNode)&&r(g(s.ownerNode))}const e=[D(CSSStyleSheet.prototype,"insertRule",({target:s,parameters:[r,a]})=>{n(s,i=>t(y(T.StyleSheetRule,{id:i,adds:[{rule:r,index:a}]})))}),D(CSSStyleSheet.prototype,"deleteRule",({target:s,parameters:[r]})=>{n(s,a=>t(y(T.StyleSheetRule,{id:a,removes:[{index:r}]})))})];typeof CSSGroupingRule<"u"?o(CSSGroupingRule):(o(CSSMediaRule),o(CSSSupportsRule));function o(s){e.push(D(s.prototype,"insertRule",({target:r,parameters:[a,i]})=>{n(r.parentStyleSheet,u=>{const f=K(r);f&&(f.push(i||0),t(y(T.StyleSheetRule,{id:u,adds:[{rule:a,index:f}]})))})}),D(s.prototype,"deleteRule",({target:r,parameters:[a]})=>{n(r.parentStyleSheet,i=>{const u=K(r);u&&(u.push(a),t(y(T.StyleSheetRule,{id:i,removes:[{index:u}]})))})}))}return{stop:()=>{e.forEach(s=>s.stop())}}}function K(t){const n=[];let e=t;for(;e.parentRule;){const a=Array.from(e.parentRule.cssRules).indexOf(e);n.unshift(a),e=e.parentRule}if(!e.parentStyleSheet)return;const s=Array.from(e.parentStyleSheet.cssRules).indexOf(e);return n.unshift(s),n}function be(t,n){return R(t,window,["focus","blur"],()=>{n({data:{has_focus:document.hasFocus()},type:N.Focus,timestamp:v()})})}function _e(t,n,e){const o=t.subscribe(12,s=>{var r,a;s.rawRumEvent.type===Rt.ACTION&&s.rawRumEvent.action.type===xt.CLICK&&(!((a=(r=s.rawRumEvent.action.frustration)===null||r===void 0?void 0:r.type)===null||a===void 0)&&a.length)&&"events"in s.domainContext&&s.domainContext.events&&s.domainContext.events.length&&n({timestamp:s.rawRumEvent.date,type:N.FrustrationRecord,data:{frustrationTypes:s.rawRumEvent.action.frustration.type,recordIds:s.domainContext.events.map(i=>e.getIdForEvent(i))}})});return{stop:()=>{o.unsubscribe()}}}function De(t,n){const e=t.subscribe(5,()=>{n({timestamp:v(),type:N.ViewEnd})});return{stop:()=>{e.unsubscribe()}}}function dt(t,n,e=document){const o=t.defaultPrivacyLevel,s=new WeakMap,r=e!==document,{stop:a}=R(t,e,r?["change"]:["input","change"],c=>{const d=_(c);(d instanceof HTMLInputElement||d instanceof HTMLTextAreaElement||d instanceof HTMLSelectElement)&&u(d)},{capture:!0,passive:!0});let i;if(r)i=C;else{const c=[x(HTMLInputElement.prototype,"value",u),x(HTMLInputElement.prototype,"checked",u),x(HTMLSelectElement.prototype,"value",u),x(HTMLTextAreaElement.prototype,"value",u),x(HTMLSelectElement.prototype,"selectedIndex",u)];i=()=>{c.forEach(d=>d.stop())}}return{stop:()=>{i(),a()}};function u(c){const d=M(c,o);if(d===S.HIDDEN)return;const l=c.type;let m;if(l==="radio"||l==="checkbox"){if(O(c,d))return;m={isChecked:c.checked}}else{const p=k(c,d);if(p===void 0)return;m={text:p}}f(c,m);const h=c.name;l==="radio"&&h&&c.checked&&document.querySelectorAll(`input[type="radio"][name="${CSS.escape(h)}"]`).forEach(p=>{p!==c&&f(p,{isChecked:!1})})}function f(c,d){if(!w(c))return;const l=s.get(c);(!l||l.text!==d.text||l.isChecked!==d.isChecked)&&(s.set(c,d),n(y(T.Input,{id:g(c),...d})))}}const Le=100,Ae=16;function ze(t){let n=C,e=[];function o(){n(),t(e),e=[]}const{throttled:s,cancel:r}=A(o,Ae,{leading:!1});return{addMutations:a=>{e.length===0&&(n=bt(s,{timeout:Le})),e.push(...a)},flush:o,stop:()=>{n(),r()}}}function ft(t,n,e,o){const s=_t();if(!s)return{stop:C,flush:C};const r=ze(i=>{Oe(i.concat(a.takeRecords()),t,n,e)}),a=new s(Dt(r.addMutations));return a.observe(o,{attributeOldValue:!0,attributes:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),{stop:()=>{a.disconnect(),r.stop()},flush:()=>{r.flush()}}}function Oe(t,n,e,o){const s=new Map;t.filter(l=>l.type==="childList").forEach(l=>{l.removedNodes.forEach(m=>{pt(m,o.removeShadowRoot)})});const r=t.filter(l=>l.target.isConnected&&Xt(l.target)&&M(l.target,e.defaultPrivacyLevel,s)!==S.HIDDEN),a=F(),{adds:i,removes:u,hasBeenSerialized:f}=Ve(r.filter(l=>l.type==="childList"),e,a,o,s),c=Pe(r.filter(l=>l.type==="characterData"&&!f(l.target)),e,s),d=ke(r.filter(l=>l.type==="attributes"&&!f(l.target)),e,s);!c.length&&!d.length&&!u.length&&!i.length||n(y(T.Mutation,{adds:i,removes:u,texts:c,attributes:d}),a)}function Ve(t,n,e,o,s){const r=new Set,a=new Map;for(const h of t)h.addedNodes.forEach(p=>{r.add(p)}),h.removedNodes.forEach(p=>{r.has(p)||a.set(p,h.target),r.delete(p)});const i=Array.from(r);Fe(i);const u=new Set,f={status:2,serializationStats:e,shadowRootsController:o},c=[];for(const h of i){if(l(h))continue;const p=M(h.parentNode,n.defaultPrivacyLevel,s);if(p===S.HIDDEN||p===S.IGNORE)continue;const mt=v(),H=B(h,{serializedNodeIds:u,parentNodePrivacyLevel:p,serializationContext:f,configuration:n});if(L(e,"serializationDuration",Z(mt,v())),!H)continue;const St=V(h);c.push({nextId:m(h),parentId:g(St),node:H})}const d=[];return a.forEach((h,p)=>{w(p)&&d.push({parentId:g(h),id:g(p)})}),{adds:c,removes:d,hasBeenSerialized:l};function l(h){return w(h)&&u.has(g(h))}function m(h){let p=h.nextSibling;for(;p;){if(w(p))return g(p);p=p.nextSibling}return null}}function Pe(t,n,e){var o;const s=[],r=new Set,a=t.filter(i=>r.has(i.target)?!1:(r.add(i.target),!0));for(const i of a){if(i.target.textContent===i.oldValue)continue;const f=M(V(i.target),n.defaultPrivacyLevel,e);f===S.HIDDEN||f===S.IGNORE||s.push({id:g(i.target),value:(o=J(i.target,!1,f))!==null&&o!==void 0?o:null})}return s}function ke(t,n,e){const o=[],s=new Map,r=t.filter(i=>{const u=s.get(i.target);return u&&u.has(i.attributeName)?!1:(u?u.add(i.attributeName):s.set(i.target,new Set([i.attributeName])),!0)}),a=new Map;for(const i of r){if(i.target.getAttribute(i.attributeName)===i.oldValue)continue;const f=M(i.target,n.defaultPrivacyLevel,e),c=rt(i.target,f,i.attributeName,n);let d;if(i.attributeName==="value"){const m=k(i.target,f);if(m===void 0)continue;d=m}else typeof c=="string"?d=c:d=null;let l=a.get(i.target);l||(l={id:g(i.target),attributes:{}},o.push(l),a.set(i.target,l)),l.attributes[i.attributeName]=d}return o}function Fe(t){t.sort((n,e)=>{const o=n.compareDocumentPosition(e);return o&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:o&Node.DOCUMENT_POSITION_CONTAINS||o&Node.DOCUMENT_POSITION_FOLLOWING?1:o&Node.DOCUMENT_POSITION_PRECEDING?-1:0})}function pt(t,n){tt(t)&&n(t.shadowRoot),Q(t,e=>pt(e,n))}function Be(){const t=new WeakMap;return{set(n,e){n===document&&!document.scrollingElement||t.set(n===document?document.scrollingElement:n,e)},get(n){return t.get(n)},has(n){return t.has(n)}}}const Ue=(t,n,e)=>{const o=new Map,s={addShadowRoot:r=>{if(o.has(r))return;const a=ft(n,t,s,r),i=dt(t,n,r),u=lt(t,n,e,r);o.set(r,{flush:()=>a.flush(),stop:()=>{a.stop(),i.stop(),u.stop()}})},removeShadowRoot:r=>{const a=o.get(r);a&&(a.stop(),o.delete(r))},stop:()=>{o.forEach(({stop:r})=>r())},flush:()=>{o.forEach(({flush:r})=>r())}};return s};function He(t,n,e,o,s,r){const a=(u,f)=>{const{width:c,height:d}=Lt();r({data:{height:d,href:window.location.href,width:c},type:N.Meta,timestamp:u}),r({data:{has_focus:document.hasFocus()},type:N.Focus,timestamp:u});const l=F();r({data:{node:ge(document,o,{status:f,elementsScrollPositions:t,serializationStats:l,shadowRootsController:n}),initialOffset:{left:et(),top:nt()}},type:N.FullSnapshot,timestamp:u},l),window.visualViewport&&r({data:ut(window.visualViewport),type:N.VisualViewport,timestamp:u})};a(v(),0);const{unsubscribe:i}=e.subscribe(2,u=>{s(),a(u.startClocks.timeStamp,1)});return{stop:i}}function Ge(){const t=new WeakMap;let n=1;return{getIdForEvent(e){return t.has(e)||t.set(e,n++),t.get(e)}}}function We(t){const{emit:n,configuration:e,lifeCycle:o}=t;if(!n)throw new Error("emit function is required");const s=(l,m)=>{n(l,m),At("record",{record:l});const h=t.viewHistory.findView();zt(h.id)},r=Be(),a=Ue(e,s,r),{stop:i}=He(r,a,o,e,u,s);function u(){a.flush(),c.flush()}const f=Ge(),c=ft(s,e,a,document),d=[c,Ne(e,s),we(e,s,f),lt(e,s,r,document),Ie(e,s),dt(e,s),Re(e,s),xe(s),be(e,s),Ce(e,s),_e(o,s,f),De(o,l=>{u(),s(l)})];return{stop:()=>{a.stop(),d.forEach(l=>l.stop()),i()},flushMutations:u,shadowRootsController:a}}function $e(t,n,e,o){const s=new FormData;s.append("segment",new Blob([t],{type:"application/octet-stream"}),`${n.session.id}-${n.start}`);const r={raw_segment_size:o,compressed_segment_size:t.byteLength,...n},a=JSON.stringify(r);return s.append("event",new Blob([a],{type:"application/json"})),{data:s,bytesCount:t.byteLength,cssText:e.cssText,isFullSnapshot:n.index_in_view===0,rawSize:o,recordCount:n.records_count,serializationDuration:e.serializationDuration}}function Ye({context:t,creationReason:n,encoder:e}){let o=0;const s=t.view.id,r=Ot(s),a={start:1/0,end:-1/0,creation_reason:n,records_count:0,has_full_snapshot:!1,index_in_view:r,source:"browser",...t},i=F();Vt(s);function u(c,d,l){a.start=Math.min(a.start,c.timestamp),a.end=Math.max(a.end,c.timestamp),a.records_count+=1,a.has_full_snapshot||(a.has_full_snapshot=c.type===N.FullSnapshot),d&&ne(i,d);const m=e.isEmpty?'{"records":[':",";e.write(m+JSON.stringify(c),h=>{o+=h,l(o)})}function f(c){if(e.isEmpty)throw new Error("Empty segment flushed");e.write(`],${JSON.stringify(a).slice(1)}
2
2
  `),e.finish(d=>{Pt(a.view.id,d.rawBytesCount),c(a,i,d)})}return{addRecord:u,flush:f}}const Xe=5*Ut;let ht=6e4;function Ke(t,n,e,o,s,r){return je(t,()=>qe(n.applicationId,e,o),s,r)}function je(t,n,e,o){let s={status:0,nextSegmentCreationReason:"init"};const{unsubscribe:r}=t.subscribe(2,()=>{i("view_change")}),{unsubscribe:a}=t.subscribe(11,u=>{i(u.reason)});function i(u){s.status===1&&(s.segment.flush((f,c,d)=>{const l=$e(d.output,f,c,d.rawBytesCount);kt(u)?e.sendOnExit(l):e.send(l)}),Ft(s.expirationTimeoutId)),u!=="stop"?s={status:0,nextSegmentCreationReason:u}:s={status:2}}return{addRecord:(u,f)=>{if(s.status!==2){if(s.status===0){const c=n();if(!c)return;s={status:1,segment:Ye({encoder:o,context:c,creationReason:s.nextSegmentCreationReason}),expirationTimeoutId:Bt(()=>{i("segment_duration_limit")},Xe)}}s.segment.addRecord(u,f,c=>{c>ht&&i("segment_bytes_limit")})}},stop:()=>{i("stop"),r(),a()}}}function qe(t,n,e){const o=n.findTrackedSession(),s=e.findView();if(!(!o||!s))return{application:{id:t},session:{id:o.id},view:{id:s.id}}}function Je(t,n){if(!t.metricsEnabled)return{stop:C};const{unsubscribe:e}=n.subscribe(o=>{if(o.type==="failure"||o.type==="queue-full"||o.type==="success"&&o.payload.isFullSnapshot){const s=Qe(o.type,o.bandwidth,o.payload);Ht("Segment network request metrics",{metrics:s})}});return{stop:e}}function Qe(t,n,e){return{cssText:{count:e.cssText.count,max:e.cssText.max,sum:e.cssText.sum},isFullSnapshot:e.isFullSnapshot,ongoingRequests:{count:n.ongoingRequestCount,totalSize:n.ongoingByteCount},recordCount:e.recordCount,result:t,serializationDuration:{count:e.serializationDuration.count,max:e.serializationDuration.max,sum:e.serializationDuration.sum},size:{compressed:e.bytesCount,raw:e.rawSize}}}function Ze(t){const n=Gt();return{addRecord:e=>{const o=t.findView();n.send("record",e,o.id)}}}function en(t,n,e,o,s,r,a){const i=[],u=l=>{t.notify(14,{error:l}),Yt("Error reported to customer",{"error.message":l.message})},f=a||Wt([n.sessionReplayEndpointBuilder],ht,u);let c;if($t())({addRecord:c}=Ze(o));else{const l=Ke(t,n,e,o,f,s);c=l.addRecord,i.push(l.stop);const m=Je(r,f.observable);i.push(m.stop)}const{stop:d}=We({emit:c,configuration:n,lifeCycle:t,viewHistory:o});return i.push(d),{stop:()=>{i.forEach(l=>l())}}}export{en as startRecording};
@@ -7,8 +7,8 @@
7
7
  <link rel="icon" type="dynamic-favicon" href="/favicon_purple.png" />
8
8
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
9
  <title>Harper Fabric</title>
10
- <script type="module" crossorigin src="/assets/index-CrWTuyjE.js"></script>
11
- <link rel="stylesheet" crossorigin href="/assets/index-BP6iofXy.css">
10
+ <script type="module" crossorigin src="/assets/index-CNPtE0XQ.js"></script>
11
+ <link rel="stylesheet" crossorigin href="/assets/index-DAAAZCZd.css">
12
12
  </head>
13
13
 
14
14
  <body>
@@ -0,0 +1,148 @@
1
+ * {
2
+ padding: 0;
3
+ margin: 0;
4
+ }
5
+
6
+ #app-bg-color,
7
+ #app-bg-grid {
8
+ bottom: 0;
9
+ left: 0;
10
+ position: fixed;
11
+ right: 0;
12
+ top: 0;
13
+ z-index: -2;
14
+ }
15
+
16
+ #app-bg-color {
17
+ background: linear-gradient(45deg, #312556, #403b8a, #7a3a87);
18
+ }
19
+
20
+ #app-bg-grid {
21
+ inset: 0;
22
+ height: 100%;
23
+ width: 100%;
24
+ opacity: 0.05;
25
+ }
26
+
27
+ .orb-container {
28
+ display: flex;
29
+ justify-content: center;
30
+ align-items: center;
31
+ min-height: 100vh; /* Centers the orb vertically */
32
+ }
33
+
34
+ .orb {
35
+ background-color: hsl(151.07, 49.12%, 55.29%);
36
+ border-radius: 50%;
37
+ animation: pulse 15s ease-in-out forwards;
38
+ opacity: 0.01;
39
+ }
40
+
41
+ @keyframes pulse {
42
+ 0% {
43
+ opacity: 0.01;
44
+ transform: scale(1);
45
+ box-shadow: 0 0 0 hsla(151.07, 49.12%, 55.29%, 0);
46
+ }
47
+ 50% {
48
+ opacity: 0.1;
49
+ transform: scale(1.2);
50
+ box-shadow: 0 0 30px hsla(151.07, 49.12%, 55.29%, 0.9);
51
+ }
52
+ 100% {
53
+ opacity: 0;
54
+ transform: scale(1);
55
+ box-shadow: 0 0 0 hsla(151.07, 49.12%, 55.29%, 0);
56
+ }
57
+ }
58
+
59
+ #content {
60
+ display: flex;
61
+ flex-direction: column;
62
+ justify-content: center;
63
+ align-items: center;
64
+ font-family: helvetica, sans-serif;
65
+ color: #efefef;
66
+ line-height: 1.5;
67
+ max-width: 800px;
68
+ margin: 0 auto;
69
+ padding: 5em;
70
+ }
71
+
72
+ a {
73
+ color: hsl(0, 0%, 80%);
74
+
75
+ &:hover {
76
+ color: hsl(0, 0%, 95%);
77
+ }
78
+ }
79
+
80
+ h1 {
81
+ margin-bottom: 0.5em;
82
+ }
83
+
84
+ .card {
85
+ background: hsl(0, 0%, 95%);
86
+ border-radius: 6px;
87
+ color: black;
88
+ box-shadow: 0 4px 8px hsla(0, 0%, 0%, 0.2);
89
+ margin: 1em 0;
90
+
91
+ padding: 1em 2em 1em 1em;
92
+
93
+ svg {
94
+ width: 4em;
95
+ height: 2em;
96
+ margin-top: 0.25em;
97
+ }
98
+
99
+ p {
100
+ margin: 1em 0 0.5em;
101
+ }
102
+
103
+ a {
104
+ display: inline-block;
105
+ color: white;
106
+ background-color: black;
107
+ border-radius: 1em;
108
+ padding: 0.5em 2em;
109
+ margin: 0.5em 0;
110
+ text-decoration: none;
111
+ box-shadow: 0 4px 8px hsla(0, 0%, 0%, 0.2);
112
+ transition: all 0.3s ease-in-out;
113
+
114
+ &:hover {
115
+ background-color: hsla(0, 0%, 0%, 0.8);
116
+ box-shadow: 0 4px 8px hsla(0, 0%, 0%, 0.4);
117
+ }
118
+ }
119
+ }
120
+
121
+ .badge {
122
+ color: hsl(232.92, 80.9%, 60.98%);
123
+ background: hsl(240, 100%, 88.43%);
124
+ border: 1px solid hsl(241.05, 100%, 77.65%);
125
+ border-radius: 0.5em;
126
+ align-self: center;
127
+ font-size: 0.75em;
128
+ padding: 0.25em 0.5em;
129
+ }
130
+
131
+ .flex-row {
132
+ display: flex;
133
+ flex-direction: row;
134
+ gap: 1em;
135
+ align-items: flex-start;
136
+ }
137
+
138
+ .code-snippet {
139
+ background-color: black;
140
+ border-radius: 0.5em;
141
+ padding: 0.5em 2em;
142
+ color: white;
143
+
144
+ code {
145
+ font-family: Consolas, Courier New, serif;
146
+ white-space: pre-wrap;
147
+ }
148
+ }
@@ -5,86 +5,98 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/HDBDogOnly.svg" />
6
6
  <link rel="icon" type="dynamic-favicon" href="/favicon_purple.png" />
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
- <style>
9
- * {
10
- padding: 0;
11
- margin: 0;
12
- }
8
+ <link rel="stylesheet" href="./running.css" type="text/css" />
9
+ </head>
13
10
 
14
- #app-bg-color,
15
- #app-bg-dots {
16
- bottom: 0;
17
- height: 100vh;
18
- left: 0;
19
- position: fixed;
20
- right: 0;
21
- top: 0;
22
- width: 100vw;
23
- }
11
+ <body>
24
12
 
25
- #app-bg-color {
26
- background: linear-gradient(45deg, #312556, #403b8a, #7a3a87) !important;
27
- z-index: -2;
28
- }
13
+ <div id="content">
29
14
 
30
- #app-bg-dots {
31
- background: radial-gradient(#403b8a 1px, transparent 0);
32
- background-size: 3px 3px;
33
- z-index: -1;
34
- }
15
+ <img src="/HDBDogOnly.svg" width="100px" height="100px" alt="Harper Logo" />
35
16
 
36
- #content {
37
- display: flex;
38
- flex-direction: column;
39
- justify-content: center;
40
- align-items: center;
41
- width: 100vw;
42
- height: 100vh;
43
- font-family: helvetica, sans-serif;
44
- color: #efefef;
45
- font-size: 12px;
46
- line-height: 1.5;
47
- }
17
+ <h1>Server is Running!</h1>
18
+ <p>
19
+ Your Harper server is up and running. Choose how you'd like to get started:
20
+ </p>
48
21
 
49
- ul {
50
- margin: 0;
51
- padding-inline-start: 10px;
52
- }
22
+ <div class="card flex-row">
23
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="hsl(232.92, 80.9%, 60.98%)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles w-6 h-6 text-blue-600 flex-shrink-0 mt-1" aria-hidden="true">
24
+ <path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path>
25
+ <path d="M20 3v4"></path>
26
+ <path d="M22 5h-4"></path>
27
+ <path d="M4 17v2"></path>
28
+ <path d="M5 18H3"></path>
29
+ </svg>
53
30
 
54
- a {
55
- color: #efefef;
56
- }
31
+ <div>
32
+ <div class="flex-row">
33
+ <h2>Connect to Harper Fabric</h2>
34
+ <span class="badge">
35
+ Most Popular
36
+ </span>
37
+ </div>
38
+ <p>
39
+ Connect your server to Harper Fabric for cloud management, monitoring, and seamless collaboration.
40
+ Access your instance from anywhere with full observability.
41
+ </p>
42
+ <a id="connectToHarperFabricAnchor" href="https://fabric.harper.fast/" target="_blank">
43
+ Connect to Harper Fabric
44
+ </a>
45
+ </div>
46
+ </div>
57
47
 
58
- hr {
59
- width: 153px;
60
- background-color: #efefef;
61
- /* Modern Browsers */
62
- border: 0 none;
63
- color: #efefef;
64
- height: 1px !important;
65
- overflow: hidden;
66
- margin: 10px 0;
67
- }
68
- </style>
69
- </head>
48
+ <div class="card flex-row">
49
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal w-6 h-6 text-slate-600 flex-shrink-0 mt-1" aria-hidden="true">
50
+ <path d="M12 19h8"></path>
51
+ <path d="m4 17 6-6-6-6"></path>
52
+ </svg>
70
53
 
71
- <body>
72
- <div id="content">
73
- <img src="/HDBDogOnly.svg" width="100px" height="100px" alt="Harper Logo" />
74
- <hr />
75
- Harper is running!
76
- <hr />
77
- Ready to learn more?
78
- <ul>
79
- <li><a href="https://studio.harperdb.io" target="_blank" rel="noopener noreferrer">
80
- Harper Studio</a></li>
81
- <li><a href="https://docs.harperdb.io" target="_blank" rel="noopener noreferrer">
82
- Harper Documentation</a></li>
83
- <li><a href="https://api.harperdb.io/" target="_blank" rel="noopener noreferrer">
84
- Harper API Examples</a></li>
85
- </ul>
54
+ <div>
55
+ <h2>Manage Harper Offline</h2>
56
+ <p>
57
+ Prefer to work locally? Enable Harper Studio to configure and manage your instance
58
+ directly from your development environment.
59
+ </p>
60
+ <p>
61
+ Turn on localStudio in your harperdb-config.yaml:
62
+ </p>
63
+ <div class="code-snippet">
64
+ <code content="yaml">localStudio:
65
+ enabled: true</code>
66
+ </div>
67
+ <p>
68
+ Then refresh this page!
69
+ </p>
70
+ </div>
71
+ </div>
72
+
73
+ <!-- {/* Footer */}-->
74
+ <div class="text-center text-slate-500">
75
+ <p>
76
+ Need help?
77
+ <a href="https://docs.harperdb.io/docs" target="_blank" rel="noopener noreferrer">
78
+ Check out our docs.
79
+ </a>
80
+ </p>
81
+ </div>
82
+
83
+ </div>
84
+
85
+ <div id="app-bg-color">
86
+ <div class="orb-container">
87
+ <div class="orb"></div>
88
+ </div>
86
89
  </div>
87
- <div id="app-bg-color"></div>
88
- <div id="app-bg-dots"></div>
90
+ <svg id="app-bg-grid" xmlns="http://www.w3.org/2000/svg">
91
+ <defs>
92
+ <pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse">
93
+ <animateTransform attributeType="xml" attributeName="patternTransform" type="translate" from="0 0" to="-40 -40"
94
+ begin="0" dur="5s" repeatCount="indefinite"></animateTransform>
95
+ <path d="M 40 0 L 0 0 0 40" fill="none" stroke="currentColor" />
96
+ </pattern>
97
+ </defs>
98
+ <rect width="100%" height="100%" fill="url(#grid)" />
99
+ </svg>
100
+ <script src="./running.js" async></script>
89
101
  </body>
90
102
  </html>
@@ -0,0 +1,111 @@
1
+ (function() {
2
+ const anchor = document.getElementById('connectToHarperFabricAnchor');
3
+ if (!anchor) {
4
+ return;
5
+ }
6
+ anchor.setAttribute('href', calculateCreateClusterDeepLink());
7
+
8
+ const container = document.getElementById('app-bg-color');
9
+ if (!container) {
10
+ return;
11
+ }
12
+
13
+ // Remove the centered single orb if present
14
+ const existingCentered = container.querySelector('.orb-container');
15
+ if (existingCentered) existingCentered.remove();
16
+
17
+ const ORB_COUNT = 6;
18
+ const MIN_SIZE = 120; // px
19
+ const MAX_SIZE = 640; // px
20
+ const FILL_DURATION = 15_000; // ms
21
+ const REPLACE_EVERY = 15_000; // ms
22
+
23
+ let addTimer = null;
24
+ let replaceTimer = null;
25
+ let createdCount = 0;
26
+
27
+ window.addEventListener('beforeunload', beforeUnload);
28
+ startStaggeredFill();
29
+
30
+ function randomInt(min, max) {
31
+ return Math.floor(Math.random() * (max - min + 1)) + min;
32
+ }
33
+
34
+ function createOrb() {
35
+ const vw = window.innerWidth;
36
+ const vh = window.innerHeight;
37
+ const size = randomInt(MIN_SIZE, MAX_SIZE);
38
+ const left = randomInt(0, Math.max(0, vw - size));
39
+ const top = randomInt(0, Math.max(0, vh - size));
40
+
41
+ const orb = document.createElement('div');
42
+ orb.className = 'orb auto';
43
+ orb.style.position = 'fixed';
44
+ orb.style.width = size + 'px';
45
+ orb.style.height = size + 'px';
46
+ orb.style.left = left + 'px';
47
+ orb.style.top = top + 'px';
48
+ orb.style.animationDelay = (Math.random() * 15).toFixed(2) + 's';
49
+ orb.style.pointerEvents = 'none';
50
+ container.appendChild(orb);
51
+
52
+ return orb;
53
+ }
54
+
55
+ function startStaggeredFill() {
56
+ const interval = Math.max(150, Math.floor(FILL_DURATION / ORB_COUNT));
57
+ addTimer = setInterval(executeStaggeredFillStep, interval);
58
+ }
59
+
60
+ function executeStaggeredFillStep() {
61
+ createOrb();
62
+ createdCount++;
63
+ if (createdCount >= ORB_COUNT) {
64
+ clearInterval(addTimer);
65
+ addTimer = null;
66
+
67
+ const orbsNow = container.querySelectorAll('.orb.auto');
68
+ if (orbsNow.length > 0) {
69
+ const idxNow = Math.floor(Math.random() * orbsNow.length);
70
+ orbsNow[idxNow].remove();
71
+ createOrb();
72
+ }
73
+
74
+ replaceTimer = setInterval(executeGentleRefreshCycle, REPLACE_EVERY);
75
+ }
76
+ }
77
+
78
+ function executeGentleRefreshCycle() {
79
+ const orbs = container.querySelectorAll('.orb.auto');
80
+ if (orbs.length !== 0) {
81
+ const idx = Math.floor(Math.random() * orbs.length);
82
+ const toRemove = orbs[idx];
83
+ toRemove.remove();
84
+ createOrb();
85
+ }
86
+ }
87
+
88
+ function beforeUnload() {
89
+ if (addTimer) {
90
+ clearInterval(addTimer);
91
+ }
92
+ if (replaceTimer) {
93
+ clearInterval(replaceTimer);
94
+ }
95
+ }
96
+
97
+ function calculateCreateClusterDeepLink() {
98
+ // NOTE: This is also embedded in src/config/deepLinks.ts
99
+ return 'https://fabric.harper.fast/#/?createCluster=' + encodeURIComponent(JSON.stringify({
100
+ deploymentDescription: 'Self-Hosted',
101
+ performanceDescription: 'Self Supported and Managed',
102
+ instances: [
103
+ {
104
+ secure: String(location.protocol === 'https:'),
105
+ fqdn: location.hostname,
106
+ port: parseInt(location.port, 10),
107
+ },
108
+ ],
109
+ }));
110
+ }
111
+ })();
@@ -596,9 +596,11 @@ export declare const CONFIG_PARAMS: {
596
596
  readonly STORAGE_PREFETCHWRITES: "storage_prefetchWrites";
597
597
  readonly STORAGE_ENCRYPTION: "storage_encryption";
598
598
  readonly STORAGE_MAXTRANSACTIONQUEUETIME: "storage_maxTransactionQueueTime";
599
+ readonly STORAGE_MAXTRANSACTIONOPENTIME: "storage_maxTransactionOpenTime";
599
600
  readonly STORAGE_DEBUGLONGTRANSACTIONS: "storage_debugLongTransactions";
600
601
  readonly STORAGE_PATH: "storage_path";
601
602
  readonly STORAGE_BLOBPATHS: "storage_blobPaths";
603
+ readonly STORAGE_BLOBCLEANUPSPEED: "storage_blobCleanupSpeed";
602
604
  readonly STORAGE_AUDIT_PATH: "storage_audit_path";
603
605
  readonly STORAGE_MAXFREESPACETOLOAD: "storage_maxFreeSpaceToLoad";
604
606
  readonly STORAGE_MAXFREESPACETORETAIN: "storage_maxFreeSpaceToRetain";