1!function(){try{var t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};t.SENTRY_RELEASE={id:"e9cc7b2420e5d76423b99ff4271bbeade7bff705"},t._sentryModuleMetadata=t._sentryModuleMetadata||{},t._sentryModuleMetadata[(new t.Error).stack]=function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];if(null!=n)for(var r in n)n.hasOwnProperty(r)&&(t[r]=n[r])}return t}({},t._sentryModuleMetadata[(new t.Error).stack],{"_sentryBundlerPluginAppKey:finviz":!0});var e=(new t.Error).stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="b251a397-69f8-4488-9082-f9c12d9bc0a8",t._sentryDebugIdIdentifier="sentry-dbid-b251a397-69f8-4488-9082-f9c12d9bc0a8")}catch(t){}}(),(self.webpackChunkFinvizModern=self.webpackChunkFinvizModern||[]).push([[4395],{46165(t,e,n){n.r(e),n.d(e,{replayCanvasIntegration:()=>N});var r=n(25440),s=Object.defineProperty,a=(t,e,n)=>((t,e,n)=>e in t?s(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n)(t,"symbol"!=typeof e?e+"":e,n);class o{constructor(){a(this,"idNodeMap",new Map),a(this,"nodeMetaMap",new WeakMap)}getId(t){if(!t)return-1;const e=this.getMeta(t)?.id;return e??-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){const e=this.getId(t);this.idNodeMap.delete(e),t.childNodes&&t.childNodes.forEach(t=>this.removeNodeFromMap(t))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,e){const n=e.id;this.idNodeMap.set(n,t),this.nodeMetaMap.set(t,e)}replace(t,e){const n=this.getNode(t);if(n){const t=this.nodeMetaMap.get(n);t&&this.nodeMetaMap.set(e,t)}this.idNodeMap.set(t,e)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function i(t,e,n=1/0,r=0){return t?t.nodeType!==t.ELEMENT_NODE||r>n?-1:e(t)?r:i(t.parentNode,e,n,r+1):-1}function c(t,e){return n=>{const r=n;if(null===r)return!1;try{if(t)if("string"==typeof t){if(r.matches(`.${t}`))return!0}else if(function(t,e){for(let n=t.classList.length;n--;){const r=t.classList[n];if(e.test(r))return!0}return!1}(r,t))return!0;return!(!e||!r.matches(e))}catch{return!1}}}const h="Please stop import mirror directly. Instead of that,\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\r\nor you can use record.mirror to access the mirror instance during recording.";let u={map:{},getId:()=>(console.error(h),-1),getNode:()=>(console.error(h),null),removeNodeFromMap(){console.error(h)},has:()=>(console.error(h),!1),reset(){console.error(h)}};function d(t,e,n,r,s=window){const a=s.Object.getOwnPropertyDescriptor(t,e);return s.Object.defineProperty(t,e,r?n:{set(t){y(()=>{n.set.call(this,t)},0),a&&a.set&&a.set.call(this,t)}}),()=>d(t,e,a||{},!0)}function f(t,e,n){try{if(!(e in t))return()=>{};const r=t[e],s=n(r);return"function"==typeof s&&(s.prototype=s.prototype||{},Object.defineProperties(s,{__rrweb_original__:{enumerable:!1,value:r}})),t[e]=s,()=>{t[e]=r}}catch{return()=>{}}}function p(t,e,n,r,s){if(!t)return!1;const a=function(t){if(!t)return null;try{return t.nodeType===t.ELEMENT_NODE?t:t.parentElement}catch(t){return null}}(t);if(!a)return!1;const o=c(e,n);if(!s){const t=r&&a.matches(r);return o(a)&&!t}const h=i(a,o);let u=-1;return!(h<0)&&(r&&(u=i(a,c(null,r))),h>-1&&u<0||h<u)}"undefined"!=typeof window&&window.Proxy&&window.Reflect&&(u=new Proxy(u,{get:(t,e,n)=>("map"===e&&console.error(h),Reflect.get(t,e,n))})),Date.now().toString();const l={};function g(t){const e=l[t];if(e)return e;const n=window.document;let r=window[t];if(n&&"function"==typeof n.createElement)try{const e=n.createElement("iframe");e.hidden=!0,n.head.appendChild(e);const s=e.contentWindow;s&&s[t]&&(r=s[t]),n.head.removeChild(e)}catch(t){}return l[t]=r.bind(window)}function m(...t){return g("requestAnimationFrame")(...t)}function y(...t){return g("setTimeout")(...t)}var w=(t=>(t[t["2D"]=0]="2D",t[t.WebGL=1]="WebGL",t[t.WebGL2=2]="WebGL2",t))(w||{});let b;const v=t=>{if(!b)return t;return(...e)=>{try{return t(...e)}catch(t){if(b&&!0===b(t))return()=>{};throw t}}};for(var M="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
1+/",C="undefined"==typeof Uint8Array?[]:new Uint8Array(256),S=0;S<64;S++)C[M.charCodeAt(S)]=S;const k=new Map;const L=(t,e,n)=>{if(!t||!A(t,e)&&"object"!=typeof t)return;const r=function(t,e){let n=k.get(t);return n||(n=new Map,k.set(t,n)),n.has(e)||n.set(e,[]),n.get(e)}(n,t.constructor.name);let s=r.indexOf(t);return-1===s&&(s=r.length,r.push(t)),s};function I(t,e,n){if(t instanceof Array)return t.map(t=>I(t,e,n));if(null===t)return t;if(t instanceof Float32Array||t instanceof Float64Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Int16Array||t instanceof Int8Array||t instanceof Uint8ClampedArray){return{rr_type:t.constructor.name,args:[Object.values(t)]}}if(t instanceof ArrayBuffer){return{rr_type:t.constructor.name,base64:function(t){var e,n=new Uint8Array(t),r=n.length,s="";for(e=0;e<r;e+=3)s+=M[n[e]>>2],s+=M[(3&n[e])<<4|n[e+1]>>4],s+=M[(15&n[e+1])<<2|n[e+2]>>6],s+=M[63&n[e+2]];return r%3==2?s=s.substring(0,s.length-1)+"=":r%3==1&&(s=s.substring(0,s.length-2)+"=="),s}(t)}}if(t instanceof DataView){return{rr_type:t.constructor.name,args:[I(t.buffer,e,n),t.byteOffset,t.byteLength]}}if(t instanceof HTMLImageElement){const e=t.constructor.name,{src:n}=t;return{rr_type:e,src:n}}if(t instanceof HTMLCanvasElement){return{rr_type:"HTMLImageElement",src:t.toDataURL()}}if(t instanceof ImageData){return{rr_type:t.constructor.name,args:[I(t.data,e,n),t.width,t.height]}}if(A(t,e)||"object"==typeof t){return{rr_type:t.constructor.name,index:L(t,e,n)}}return t}const _=(t,e,n)=>t.map(t=>I(t,e,n)),A=(t,e)=>{const n=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(t=>"function"==typeof e[t]);return Boolean(n.find(n=>t instanceof e[n]))};function E(t,e,n,r,s){const a=[];try{const o=f(t.HTMLCanvasElement.prototype,"getContext",function(t){return function(a,...o){if(!p(this,e,n,r,!0)){const t=function(t){return"experimental-webgl"===t?"webgl":t}(a);if("__context"in this||(this.__context=t),s&&["webgl","webgl2"].includes(t))if(o[0]&&"object"==typeof o[0]){const t=o[0];t.preserveDrawingBuffer||(t.preserveDrawingBuffer=!0)}else o.splice(0,1,{preserveDrawingBuffer:!0})}return t.apply(this,[a,...o])}});a.push(o)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{a.forEach(t=>t())}}function O(t,e,n,r,s,a,o,i){const c=[],h=Object.getOwnPropertyNames(t);for(const o of h)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(o))try{if("function"!=typeof t[o])continue;const h=f(t,o,function(t){return function(...c){const h=t.apply(this,c);if(L(h,i,this),"tagName"in this.canvas&&!p(this.canvas,r,s,a,!0)){const t=_(c,i,this),r={type:e,property:o,args:t};n(this.canvas,r)}return h}});c.push(h)}catch{const r=d(t,o,{set(t){n(this.canvas,{type:e,property:o,args:[t],setter:!0})}});c.push(r)}return c}class W{constructor(t){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.shadowDoms=new Set,this.windowsSet=new WeakSet,this.windows=[],this.restoreHandlers=[],this.frozen=!1,this.locked=!1,this.snapshotInProgressMap=new Map,this.worker=null,this.lastSnapshotTime=0,this.processMutation=(t,e)=>{!(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId)&&this.rafStamps.invokeId||(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(t)||this.pendingCanvasMutations.set(t,[]),this.pendingCanvasMutations.get(t).push(e)};const{enableManualSnapshot:e,sampling:n="all",win:r,recordCanvas:s,errorHandler:a}=t;t.sampling=n,this.mutationCb=t.mutationCb,this.mirror=t.mirror,this.options=t,a&&(b=a),(s&&"number"==typeof n||e)&&(this.worker=this.initFPSWorker()),this.addWindow(r),e||v(()=>{s&&"all"===n&&(this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher()),s&&"number"==typeof n&&this.initCanvasFPSObserver()})()}reset(){this.pendingCanvasMutations.clear(),this.restoreHandlers.forEac
1h(t=>{try{t()}catch(t){}}),this.restoreHandlers=[],this.windowsSet=new WeakSet,this.windows=[],this.shadowDoms=new Set,this.worker?.terminate(),this.worker=null,this.snapshotInProgressMap=new Map}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}addWindow(t){const{sampling:e="all",blockClass:n,blockSelector:r,unblockSelector:s,recordCanvas:a,enableManualSnapshot:o}=this.options;if(!this.windowsSet.has(t)){if(o)return this.windowsSet.add(t),void this.windows.push(new WeakRef(t));v(()=>{if(a&&"all"===e&&this.initCanvasMutationObserver(t,n,r,s),a&&"number"==typeof e){const e=E(t,n,r,s,!0);this.restoreHandlers.push(()=>{e()})}})(),this.windowsSet.add(t),this.windows.push(new WeakRef(t))}}addShadowRoot(t){this.shadowDoms.add(new WeakRef(t))}resetShadowRoots(){this.shadowDoms=new Set}snapshot(t,e){e?.skipRequestAnimationFrame?this.takeSnapshot(performance.now(),!0,t):m(e=>this.takeSnapshot(e,!0,t))}initFPSWorker(){const t=new Worker(function(){const t=new Blob(['for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t="undefined"==typeof Uint8Array?[]:new Uint8Array(256),a=0;a<64;a++)t[e.charCodeAt(a)]=a;var n=function(t){var a,n=new Uint8Array(t),r=n.length,s="";for(a=0;a<r;a+=3)s+=e[n[a]>>2],s+=e[(3&n[a])<<4|n[a+1]>>4],s+=e[(15&n[a+1])<<2|n[a+2]>>6],s+=e[63&n[a+2]];return r%3==2?s=s.substring(0,s.length-1)+"=":r%3==1&&(s=s.substring(0,s.length-2)+"=="),s};const r=new Map,s=new Map;const i=self;i.onmessage=async function(e){if(!("OffscreenCanvas"in globalThis))return i.postMessage({id:e.data.id});{const{id:t,bitmap:a,width:o,height:f,maxCanvasSize:c,dataURLOptions:g}=e.data,u=async function(e,t,a){const r=e+"-"+t;if("OffscreenCanvas"in globalThis){if(s.has(r))return s.get(r);const i=new OffscreenCanvas(e,t);i.getContext("2d");const o=await i.convertToBlob(a),f=await o.arrayBuffer(),c=n(f);return s.set(r,c),c}return""}(o,f,g),[h,d]=function(e,t,a){if(!a)return[e,t];const[n,r]=a;if(e<=n&&t<=r)return[e,t];let s=e,i=t;return s>n&&(i=Math.floor(n*t/e),s=n),i>r&&(s=Math.floor(r*e/t),i=r),[s,i]}(o,f,c),l=new OffscreenCanvas(h,d),w=l.getContext("bitmaprenderer"),p=h===o&&d===f?a:await createImageBitmap(a,{resizeWidth:h,resizeHeight:d,resizeQuality:"low"});w?.transferFromImageBitmap(p),a.close();const y=await l.convertToBlob(g),v=y.type,b=await y.arrayBuffer(),m=n(b);if(p.close(),!r.has(t)&&await u===m)return r.set(t,m),i.postMessage({id:t});if(r.get(t)===m)return i.postMessage({id:t});i.postMessage({id:t,type:v,base64:m,width:o,height:f}),r.set(t,m)}};']);return URL.createObjectURL(t)}());return t.onmessage=t=>{const e=t.data,{id:n}=e;if(this.snapshotInProgressMap.set(n,!1),!("base64"in e))return;const{base64:r,type:s,width:a,height:o}=e;this.mutationCb({id:n,type:w["2D"],commands:[{property:"clearRect",args:[0,0,a,o]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:r}],type:s}]},0,0,a,o]}]})},t}initCanvasFPSObserver(){let t;if(!this.windows.length&&!this.shadowDoms.size)return;const e=n=>{this.takeSnapshot(n,!1),t=m(e)};t=m(e),this.restoreHandlers.push(()=>{t&&cancelAnimationFrame(t)})}initCanvasMutationObserver(t,e,n,r){const s=E(t,e,n,r,!1),a=function(t,e,n,r,s){const a=[],o=Object.getOwnPropertyNames(e.CanvasRenderingContext2D.prototype);for(const i of o)try{if("function"!=typeof e.CanvasRenderingContext2D.prototype[i])continue;const o=f(e.CanvasRenderingContext2D.prototype,i,function(a){return function(...o){return p(this.canvas,n,r,s,!0)||y(()=>{const n=_(o,e,this);t(this.canvas,{type:w["2D"],property:i,args:n})},0),a.apply(this,o)}});a.push(o)}catch{const n=d(e.CanvasRenderingContext2D.prototype,i,{set(e){t(this.canvas,{type:w["2D"],property:i,args:[e],setter:!0})}});a.push(n)}return()=>{a.forEach(t=>t())}}(this.processMutation.bind(this),t,e,n,r),o=function(t,e,n,r,s){const a=[];return a.push(...O(e.WebGLRenderingContext.prototype,w.WebGL,t,n,r,s,0,e)),void 0!==e.WebGL2RenderingContext&&a.push(...O(e.WebGL2RenderingContext.prototype,w.WebGL2,t,n,r,s,0,e)),()=>{a.forEach(t=>t())}}(this.processMutation.bind(this),t,e,n,r,this.mirror);this.restoreHandlers.push(()=>{s(),a(),o()})}getCanvasElements(t,e,n){const r=[],s=s=>{s.querySelectorAll("canvas").forEach(s=>{p(s,t,e,n,!0)||r.push(s)})};for(const t of this.windows){const e=t.deref();let n;try{n=e&&e.document}catch{}n&&s(n)}for(const t of this.shadowDoms){const e=t.deref();e&&s(e)}return r}takeSnapshot(t,e,n){const{sampling:r,blockClass:s,blockSelector:a,unblockSelector:o,dataURLOptions:i,maxCanvasSize:c}=this.options,h=1e3/("all"===r?2:r||2);
1if(this.lastSnapshotTime&&t-this.lastSnapshotTime<h)return!1;this.lastSnapshotTime=t;return(n?[n]:this.getCanvasElements(s,a,o)).forEach(t=>{const n=this.mirror.getId(t);if(this.mirror.hasNode(t)&&t.width&&t.height&&!this.snapshotInProgressMap.get(n)){if(this.snapshotInProgressMap.set(n,!0),!e&&["webgl","webgl2"].includes(t.__context)){const e=t.getContext(t.__context);!1===e?.getContextAttributes()?.preserveDrawingBuffer&&e.clear(e.COLOR_BUFFER_BIT)}createImageBitmap(t).then(e=>{this.worker?.postMessage({id:n,bitmap:e,width:t.width,height:t.height,dataURLOptions:i,maxCanvasSize:c},[e])}).catch(t=>{v(()=>{throw this.snapshotInProgressMap.delete(n),t})()})}}),!0}startPendingCanvasMutationFlusher(){m(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const t=e=>{this.rafStamps.latestId=e,m(t)};m(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,e)=>{const n=this.mirror.getId(e);this.flushPendingCanvasMutationFor(e,n)}),m(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,e){if(this.frozen||this.locked)return;const n=this.pendingCanvasMutations.get(t);if(!n||-1===e)return;const r=n.map(t=>{const{type:e,...n}=t;return n}),{type:s}=n[0];this.mutationCb({id:e,type:s,commands:r}),this.pendingCanvasMutations.delete(t)}}try{if(2!==Array.from([1],t=>2*t)[0]){const t=document.createElement("iframe");document.body.appendChild(t),Array.from=t.contentWindow?.Array.from||Array.from,document.body.removeChild(t)}}catch(t){console.debug("Unable to override Array.from",t)}var R,x;new o,(x=R||(R={}))[x.NotStarted=0]="NotStarted",x[x.Running=1]="Running",x[x.Stopped=2]="Stopped";const P={low:{sampling:{canvas:1},dataURLOptions:{type:"image/webp",quality:.25}},medium:{sampling:{canvas:2},dataURLOptions:{type:"image/webp",quality:.4}},high:{sampling:{canvas:4},dataURLOptions:{type:"image/webp",quality:.5}}},D=1280,N=(0,r._C)((t={})=>{const[e,n]=t.maxCanvasSize||[],r={quality:t.quality||"medium",enableManualSnapshot:t.enableManualSnapshot,maxCanvasSize:[e?Math.min(e,D):D,n?Math.min(n,D):D]};let s,a;const o=new Promise(t=>a=t);return{name:"ReplayCanvas",getOptions(){const{quality:t,enableManualSnapshot:e,maxCanvasSize:n}=r;return{enableManualSnapshot:e,recordCanvas:!0,getCanvasManager:t=>{const r=new W({...t,enableManualSnapshot:e,maxCanvasSize:n,errorHandler:t=>{try{"object"==typeof t&&(t.__rrweb__=!0)}catch{}}});return s=r,a(r),r},...P[t]||P.medium}},async snapshot(t,e){(s||await o).snapshot(t,e)}}})}}]); 2//# sourceMappingURL=4395.v1.dfee252b.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.