Spaces:
Running
Running
Guenther Schmuelling
commited on
Commit
·
27e3c14
1
Parent(s):
0f10d0e
init
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +1 -0
- assets/index-2aWEXBOj.js +0 -0
- assets/index-DqUFTG0G.css +1 -0
- assets/llm-worker-CKHJqaHO.js +0 -0
- assets/stt-worker-DP5PGwR7.js +0 -0
- assets/tts-worker-g3xHhJq6.js +0 -0
- dist/ort-wasm-simd-threaded.jsep.mjs +0 -0
- dist/ort-wasm-simd-threaded.jsep.wasm +3 -0
- dist/ort.all.bundle.min.mjs +0 -0
- dist/ort.all.bundle.min.mjs.map +0 -0
- dist/ort.all.js +0 -0
- dist/ort.all.min.js +0 -0
- dist/ort.all.min.js.map +0 -0
- dist/ort.all.min.mjs +0 -0
- dist/ort.all.min.mjs.map +0 -0
- dist/ort.all.mjs +0 -0
- dist/ort.bundle.min.mjs +0 -0
- dist/ort.bundle.min.mjs.map +0 -0
- dist/ort.js +0 -0
- dist/ort.min.js +0 -0
- dist/ort.min.js.map +0 -0
- dist/ort.min.mjs +0 -0
- dist/ort.min.mjs.map +0 -0
- dist/ort.mjs +0 -0
- dist/ort.node.min.js +7 -0
- dist/ort.node.min.js.map +0 -0
- dist/ort.node.min.mjs +8 -0
- dist/ort.node.min.mjs.map +0 -0
- dist/ort.wasm.bundle.min.mjs +7 -0
- dist/ort.wasm.bundle.min.mjs.map +0 -0
- dist/ort.wasm.js +0 -0
- dist/ort.wasm.min.js +8 -0
- dist/ort.wasm.min.js.map +0 -0
- dist/ort.wasm.min.mjs +7 -0
- dist/ort.wasm.min.mjs.map +0 -0
- dist/ort.wasm.mjs +0 -0
- dist/ort.webgl.js +0 -0
- dist/ort.webgl.min.js +0 -0
- dist/ort.webgl.min.js.map +0 -0
- dist/ort.webgl.min.mjs +0 -0
- dist/ort.webgl.min.mjs.map +0 -0
- dist/ort.webgl.mjs +0 -0
- dist/ort.webgpu.bundle.min.mjs +0 -0
- dist/ort.webgpu.bundle.min.mjs.map +0 -0
- dist/ort.webgpu.js +0 -0
- dist/ort.webgpu.min.js +0 -0
- dist/ort.webgpu.min.js.map +0 -0
- dist/ort.webgpu.min.mjs +0 -0
- dist/ort.webgpu.min.mjs.map +0 -0
- dist/ort.webgpu.mjs +0 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
*.png filter=lfs diff=lfs merge=lfs -text
|
assets/index-2aWEXBOj.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
assets/index-DqUFTG0G.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--drop-shadow-lg:0 4px 4px #00000026;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.right-3{right:calc(var(--spacing)*3)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-3{bottom:calc(var(--spacing)*3)}.z-10{z-index:10}.m-1{margin:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-3{margin-block:calc(var(--spacing)*3)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[200px\]{max-height:200px}.min-h-6{min-height:calc(var(--spacing)*6)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-\[550px\]{width:550px}.w-\[600px\]{width:600px}.w-full{width:100%}.w-screen{width:100vw}.max-w-\[80\%\]{max-width:80%}.max-w-\[360px\]{max-width:360px}.max-w-\[500px\]{max-width:500px}.max-w-\[960px\]{max-width:960px}.min-w-6{min-width:calc(var(--spacing)*6)}.flex-1{flex:1}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-blue-500{border-color:var(--color-blue-500)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.bg-black{background-color:var(--color-black)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.stroke-gray-600{stroke:var(--color-gray-600)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-gray-50{color:var(--color-gray-50)}.text-gray-200{color:var(--color-gray-200)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}@media (hover:hover){.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-gray-400:disabled{color:var(--color-gray-400)}.disabled\:placeholder-gray-200:disabled::placeholder{color:var(--color-gray-200)}@media (prefers-color-scheme:dark){.dark\:border-gray-500{border-color:var(--color-gray-500)}.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:bg-blue-600{background-color:var(--color-blue-600)}.dark\:bg-gray-100{background-color:var(--color-gray-100)}.dark\:bg-gray-300{background-color:var(--color-gray-300)}.dark\:bg-gray-600{background-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-900{background-color:var(--color-gray-900)}.dark\:stroke-gray-400{stroke:var(--color-gray-400)}.dark\:text-black{color:var(--color-black)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-800{color:var(--color-gray-800)}.dark\:text-white{color:var(--color-white)}.dark\:placeholder-gray-300::placeholder{color:var(--color-gray-300)}@media (hover:hover){.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}}.dark\:disabled\:placeholder-gray-500:disabled::placeholder{color:var(--color-gray-500)}}}.scrollbar-thin::-webkit-scrollbar{width:.5rem}.scrollbar-thin::-webkit-scrollbar-track{background-color:#f3f4f6;border-radius:9999px}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:9999px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:#6b7280}.animation-delay-200{animation-delay:.2s}.animation-delay-400{animation-delay:.4s}.overflow-wrap-anywhere{overflow-wrap:anywhere}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}@scope (.markdown){pre{margin:.5rem 0;white-space:break-spaces}code{padding:.2em .4em;border-radius:4px;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:.9em}pre,code{background-color:#f2f2f2}@media (prefers-color-scheme: dark){pre,code{background-color:#333}}pre:has(code){padding:1rem .5rem}pre>code{padding:0}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:2em;margin:1rem 0}h2{font-size:1.5em;margin:.83rem 0}h3{font-size:1.25em;margin:.67rem 0}h4{font-size:1em;margin:.5rem 0}h5{font-size:.875em;margin:.33rem 0}h6{font-size:.75em;margin:.25rem 0}h1,h2,h3,h4,h5,h6:first-child{margin-top:0}ul{list-style-type:disc;margin-left:1.5rem}ol{list-style-type:decimal;margin-left:1.5rem}li{margin:.25rem 0}p:not(:first-child){margin-top:.75rem}p:not(:last-child){margin-bottom:.75rem}ul>li{margin-left:1rem}table,th,td{border:1px solid lightgray;padding:.25rem}@media (prefers-color-scheme: dark){table,th,td{border:1px solid #f2f2f2}}}
|
assets/llm-worker-CKHJqaHO.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
assets/stt-worker-DP5PGwR7.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
assets/tts-worker-g3xHhJq6.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort-wasm-simd-threaded.jsep.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort-wasm-simd-threaded.jsep.wasm
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:16dac16d51f355edbc0ae874f3361d2e11ba5546856f6820538017215a123fb6
|
| 3 |
+
size 40061627
|
dist/ort.all.bundle.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.all.bundle.min.mjs.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.all.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.all.min.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.all.min.js.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.all.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.all.min.mjs.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.all.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.bundle.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.bundle.min.mjs.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.min.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.min.js.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.min.mjs.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.node.min.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.23.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
"use strict";var wt=Object.create;var ie=Object.defineProperty;var yt=Object.getOwnPropertyDescriptor;var ht=Object.getOwnPropertyNames;var St=Object.getPrototypeOf,Et=Object.prototype.hasOwnProperty;var C=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ae=(e,t)=>{for(var n in t)ie(e,n,{get:t[n],enumerable:!0})},ae=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ht(t))!Et.call(e,r)&&r!==n&&ie(e,r,{get:()=>t[r],enumerable:!(o=yt(t,r))||o.enumerable});return e},G=(e,t,n)=>(ae(e,t,"default"),n&&ae(n,t,"default")),Ot=(e,t,n)=>(n=e!=null?wt(St(e)):{},ae(t||!e||!e.__esModule?ie(n,"default",{value:e,enumerable:!0}):n,e)),Be=e=>ae(ie({},"__esModule",{value:!0}),e);var H,ue=C(()=>{"use strict";H=!!(typeof process<"u"&&process.versions&&process.versions.node)});var Tt,vt,V,ke,Ce,Pt,It,Lt,_t,De,We,he=C(()=>{"use strict";ue();Tt=H||typeof location>"u"?void 0:location.origin,vt=()=>{if(!H)return typeof document<"u"?document.currentScript?.src:typeof self<"u"?self.location?.href:void 0},V=vt(),ke=()=>{if(V&&!V.startsWith("blob:"))return V.substring(0,V.lastIndexOf("/")+1)},Ce=(e,t)=>{try{let n=t??V;return(n?new URL(e,n):new URL(e)).origin===Tt}catch{return!1}},Pt=(e,t)=>{let n=t??V;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},It=(e,t)=>`${t??"./"}${e}`,Lt=async e=>{let n=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(n)},_t=async e=>(await import(/*webpackIgnore:true*/e)).default,De=void 0,We=async(e,t,n)=>{if(!e&&!t&&De&&V&&Ce(V))return[void 0,De];{let o="ort-wasm-simd-threaded.mjs",r=e??Pt(o,t),a=!H&&n&&r&&!Ce(r,t),s=a?await Lt(r):r??It(o,t);return[a?s:void 0,await _t(s)]}}});var Se,Ee,ce,Fe,Ut,xt,At,Re,y,Y=C(()=>{"use strict";he();Ee=!1,ce=!1,Fe=!1,Ut=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},xt=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},At=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},Re=async e=>{if(Ee)return Promise.resolve();if(ce)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Fe)throw new Error("previous call to 'initializeWebAssembly()' failed.");ce=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd==="relaxed"){if(!At())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!xt())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let o=Ut();n>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+n+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=n=1);let r=e.wasmPaths,a=typeof r=="string"?r:void 0,s=r?.mjs,i=s?.href??s,c=r?.wasm,f=c?.href??c,l=e.wasmBinary,[d,u]=await We(i,a,n>1),p=!1,S=[];if(t>0&&S.push(new Promise(O=>{setTimeout(()=>{p=!0,O()},t)})),S.push(new Promise((O,x)=>{let b={numThreads:n};if(l)b.wasmBinary=l;else if(f||a)b.locateFile=g=>f??a+g;else if(i&&i.indexOf("blob:")!==0)b.locateFile=g=>new URL(g,i).href;else if(d){let g=ke();g&&(b.locateFile=D=>g+D)}u(b).then(g=>{ce=!1,Ee=!0,Se=g,O(),d&&URL.revokeObjectURL(d)},g=>{ce=!1,Fe=!0,x(g)})})),await Promise.race(S),p)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},y=()=>{if(Ee&&Se)return Se;throw new Error("WebAssembly is not initialized yet.")}});var B,te,w,le=C(()=>{"use strict";Y();B=(e,t)=>{let n=y(),o=n.lengthBytesUTF8(e)+1,r=n._malloc(o);return n.stringToUTF8(e,r,o),t.push(r),r},te=(e,t,n,o)=>{if(typeof e=="object"&&e!==null){if(n.has(e))throw new Error("Circular reference in options");n.add(e)}Object.entries(e).forEach(([r,a])=>{let s=t?t+r:r;if(typeof a=="object")te(a,s+".",n,o);else if(typeof a=="string"||typeof a=="number")o(s,a.toString());else if(typeof a=="boolean")o(s,a?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof a}`)})},w=e=>{let t=y(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetLastError(r,r+o);let a=Number(t.getValue(r,o===4?"i32":"i64")),s=t.getValue(r+o,"*"),i=s?t.UTF8ToString(s):"";throw new Error(`${e} ERROR_CODE: ${a}, ERROR_MESSAGE: ${i}`)}finally{t.stackRestore(n)}}});var Ne,Ge=C(()=>{"use strict";Y();le();Ne=e=>{let t=y(),n=0,o=[],r=e||{};try{if(e?.logSeverityLevel===void 0)r.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)r.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(r.terminate=!1);let a=0;return e?.tag!==void 0&&(a=B(e.tag,o)),n=t._OrtCreateRunOptions(r.logSeverityLevel,r.logVerbosityLevel,!!r.terminate,a),n===0&&w("Can't create run options."),e?.extra!==void 0&&te(e.extra,"",new WeakSet,(s,i)=>{let c=B(s,o),f=B(i,o);t._OrtAddRunConfigEntry(n,c,f)!==0&&w(`Can't set a run config entry: ${s} - ${i}.`)}),[n,o]}catch(a){throw n!==0&&t._OrtReleaseRunOptions(n),o.forEach(s=>t._free(s)),a}}});var Bt,Mt,Ct,fe,Dt,$e,ze=C(()=>{"use strict";Y();le();Bt=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},Mt=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},Ct=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(n=>(typeof n=="string"?n:n.name)==="webgpu")&&(e.enableMemPattern=!1)},fe=(e,t,n,o)=>{let r=B(t,o),a=B(n,o);y()._OrtAddSessionConfigEntry(e,r,a)!==0&&w(`Can't set a session config entry: ${t} - ${n}.`)},Dt=async(e,t,n)=>{for(let o of t){let r=typeof o=="string"?o:o.name,a=[];switch(r){case"webnn":if(r="WEBNN",typeof o!="string"){let d=o?.deviceType;d&&fe(e,"deviceType",d,n)}break;case"webgpu":if(r="JS",typeof o!="string"){let l=o;if(l?.preferredLayout){if(l.preferredLayout!=="NCHW"&&l.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${l.preferredLayout}`);fe(e,"preferredLayout",l.preferredLayout,n)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${r}`)}let s=B(r,n),i=a.length,c=0,f=0;if(i>0){c=y()._malloc(i*y().PTR_SIZE),n.push(c),f=y()._malloc(i*y().PTR_SIZE),n.push(f);for(let l=0;l<i;l++)y().setValue(c+l*y().PTR_SIZE,a[l][0],"*"),y().setValue(f+l*y().PTR_SIZE,a[l][1],"*")}await y()._OrtAppendExecutionProvider(e,s,c,f,i)!==0&&w(`Can't append execution provider: ${r}.`)}},$e=async e=>{let t=y(),n=0,o=[],r=e||{};Ct(r);try{let a=Bt(r.graphOptimizationLevel??"all"),s=Mt(r.executionMode??"sequential"),i=typeof r.logId=="string"?B(r.logId,o):0,c=r.logSeverityLevel??2;if(!Number.isInteger(c)||c<0||c>4)throw new Error(`log serverity level is not valid: ${c}`);let f=r.logVerbosityLevel??0;if(!Number.isInteger(f)||f<0||f>4)throw new Error(`log verbosity level is not valid: ${f}`);let l=typeof r.optimizedModelFilePath=="string"?B(r.optimizedModelFilePath,o):0;if(n=t._OrtCreateSessionOptions(a,!!r.enableCpuMemArena,!!r.enableMemPattern,s,!!r.enableProfiling,0,i,c,f,l),n===0&&w("Can't create session options."),r.executionProviders&&await Dt(n,r.executionProviders,o),r.enableGraphCapture!==void 0){if(typeof r.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${r.enableGraphCapture}`);fe(n,"enableGraphCapture",r.enableGraphCapture.toString(),o)}if(r.freeDimensionOverrides)for(let[d,u]of Object.entries(r.freeDimensionOverrides)){if(typeof d!="string")throw new Error(`free dimension override name must be a string: ${d}`);if(typeof u!="number"||!Number.isInteger(u)||u<0)throw new Error(`free dimension override value must be a non-negative integer: ${u}`);let p=B(d,o);t._OrtAddFreeDimensionOverride(n,p,u)!==0&&w(`Can't set a free dimension override: ${d} - ${u}.`)}return r.extra!==void 0&&te(r.extra,"",new WeakSet,(d,u)=>{fe(n,d,u,o)}),[n,o]}catch(a){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&w("Can't release session options."),o.forEach(s=>t._free(s)),a}}});var Z,pe,X,je,He,de,me,Ve,Oe=C(()=>{"use strict";Z=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${e}`)}},pe=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${e}`)}},X=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],o=typeof t=="number"?t:t.reduce((r,a)=>r*a,1);return n>0?Math.ceil(o*n):void 0},je=e=>{switch(e){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},He=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},de=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",me=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",Ve=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${e}`)}}});var re,Te=C(()=>{"use strict";ue();re=async e=>{if(typeof e=="string")if(H)try{let{readFile:t}=require("node:fs/promises");return new Uint8Array(await t(e))}catch(t){if(t.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:n}=require("node:fs"),o=n(e),r=[];for await(let a of o)r.push(a);return new Uint8Array(Buffer.concat(r))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let n=t.headers.get("Content-Length"),o=n?parseInt(n,10):0;if(o<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let r=t.body.getReader(),a;try{a=new ArrayBuffer(o)}catch(i){if(i instanceof RangeError){let c=Math.ceil(o/65536);a=new WebAssembly.Memory({initial:c,maximum:c}).buffer}else throw i}let s=0;for(;;){let{done:i,value:c}=await r.read();if(i)break;let f=c.byteLength;new Uint8Array(a,s,f).set(c),s+=f}return new Uint8Array(a,0,o)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});var kt,Ye,Ze,K,Wt,qe,ve,Xe,Ke,Je,Qe,et,tt=C(()=>{"use strict";Ge();ze();Oe();Y();le();Te();kt=(e,t)=>{y()._OrtInit(e,t)!==0&&w("Can't initialize onnxruntime.")},Ye=async e=>{kt(e.wasm.numThreads,He(e.logLevel))},Ze=async(e,t)=>{y().asyncInit?.()},K=new Map,Wt=e=>{let t=y(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetInputOutputCount(e,r,r+o)!==0&&w("Can't get session input/output count.");let s=o===4?"i32":"i64";return[Number(t.getValue(r,s)),Number(t.getValue(r+o,s))]}finally{t.stackRestore(n)}},qe=(e,t)=>{let n=y(),o=n.stackSave(),r=0;try{let a=n.PTR_SIZE,s=n.stackAlloc(2*a);n._OrtGetInputOutputMetadata(e,t,s,s+a)!==0&&w("Can't get session input/output metadata.");let c=Number(n.getValue(s,"*"));r=Number(n.getValue(s+a,"*"));let f=n.HEAP32[r/4];if(f===0)return[c,0];let l=n.HEAPU32[r/4+1],d=[];for(let u=0;u<l;u++){let p=Number(n.getValue(r+8+u*a,"*"));d.push(p!==0?n.UTF8ToString(p):Number(n.getValue(r+8+(u+l)*a,"*")))}return[c,f,d]}finally{n.stackRestore(o),r!==0&&n._OrtFree(r)}},ve=e=>{let t=y(),n=t._malloc(e.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},Xe=async(e,t)=>{let n,o,r=y();Array.isArray(e)?[n,o]=e:e.buffer===r.HEAPU8.buffer?[n,o]=[e.byteOffset,e.byteLength]:[n,o]=ve(e);let a=0,s=0,i=0,c=[],f=[],l=[];try{if([s,c]=await $e(t),t?.externalData&&r.mountExternalData){let h=[];for(let E of t.externalData){let I=typeof E=="string"?E:E.path;h.push(re(typeof E=="string"?E:E.data).then(A=>{r.mountExternalData(I,A)}))}await Promise.all(h)}for(let h of t?.executionProviders??[])if((typeof h=="string"?h:h.name)==="webnn"){if(r.shouldTransferToMLTensor=!1,typeof h!="string"){let I=h,A=I?.context,L=I?.gpuDevice,q=I?.deviceType,Q=I?.powerPreference;A?r.currentContext=A:L?r.currentContext=await r.webnnCreateMLContext(L):r.currentContext=await r.webnnCreateMLContext({deviceType:q,powerPreference:Q})}else r.currentContext=await r.webnnCreateMLContext();break}a=await r._OrtCreateSession(n,o,s),r.webgpuOnCreateSession?.(a),a===0&&w("Can't create a session."),r.jsepOnCreateSession?.(),r.currentContext&&(r.webnnRegisterMLContext(a,r.currentContext),r.currentContext=void 0,r.shouldTransferToMLTensor=!0);let[d,u]=Wt(a),p=!!t?.enableGraphCapture,S=[],O=[],x=[],b=[],g=[];for(let h=0;h<d;h++){let[E,I,A]=qe(a,h);E===0&&w("Can't get an input name."),f.push(E);let L=r.UTF8ToString(E);S.push(L),x.push(I===0?{name:L,isTensor:!1}:{name:L,isTensor:!0,type:pe(I),shape:A})}for(let h=0;h<u;h++){let[E,I,A]=qe(a,h+d);E===0&&w("Can't get an output name."),l.push(E);let L=r.UTF8ToString(E);O.push(L),b.push(I===0?{name:L,isTensor:!1}:{name:L,isTensor:!0,type:pe(I),shape:A})}return K.set(a,[a,f,l,null,p,!1]),[a,S,O,x,b]}catch(d){throw f.forEach(u=>r._OrtFree(u)),l.forEach(u=>r._OrtFree(u)),i!==0&&r._OrtReleaseBinding(i)!==0&&w("Can't release IO binding."),a!==0&&r._OrtReleaseSession(a)!==0&&w("Can't release session."),d}finally{r._free(n),s!==0&&r._OrtReleaseSessionOptions(s)!==0&&w("Can't release session options."),c.forEach(d=>r._free(d)),r.unmountExternalData?.()}},Ke=e=>{let t=y(),n=K.get(e);if(!n)throw new Error(`cannot release session. invalid session id: ${e}`);let[o,r,a,s,i]=n;s&&(i&&t._OrtClearBoundOutputs(s.handle)!==0&&w("Can't clear bound outputs."),t._OrtReleaseBinding(s.handle)!==0&&w("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),r.forEach(c=>t._OrtFree(c)),a.forEach(c=>t._OrtFree(c)),t._OrtReleaseSession(o)!==0&&w("Can't release session."),K.delete(e)},Je=async(e,t,n,o,r,a,s=!1)=>{if(!e){t.push(0);return}let i=y(),c=i.PTR_SIZE,f=e[0],l=e[1],d=e[3],u=d,p,S;if(f==="string"&&(d==="gpu-buffer"||d==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(s&&d!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${a} when enableGraphCapture is true.`);if(d==="gpu-buffer"){let b=e[2].gpuBuffer;S=X(Z(f),l);{let g=i.jsepRegisterBuffer;if(!g)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');p=g(o,a,b,S)}}else if(d==="ml-tensor"){let b=e[2].mlTensor;S=X(Z(f),l);let g=i.webnnRegisterMLTensor;if(!g)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');p=g(o,b,Z(f),l)}else{let b=e[2];if(Array.isArray(b)){S=c*b.length,p=i._malloc(S),n.push(p);for(let g=0;g<b.length;g++){if(typeof b[g]!="string")throw new TypeError(`tensor data at index ${g} is not a string`);i.setValue(p+g*c,B(b[g],n),"*")}}else{let g=i.webnnIsGraphInput,D=i.webnnIsGraphOutput;if(f!=="string"&&g&&D){let h=i.UTF8ToString(r);if(g(o,h)||D(o,h)){let E=Z(f);S=X(E,l),u="ml-tensor";let I=i.webnnCreateTemporaryTensor,A=i.webnnUploadTensor;if(!I||!A)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let L=await I(o,E,l);A(L,new Uint8Array(b.buffer,b.byteOffset,b.byteLength)),p=L}else S=b.byteLength,p=i._malloc(S),n.push(p),i.HEAPU8.set(new Uint8Array(b.buffer,b.byteOffset,S),p)}else S=b.byteLength,p=i._malloc(S),n.push(p),i.HEAPU8.set(new Uint8Array(b.buffer,b.byteOffset,S),p)}}let O=i.stackSave(),x=i.stackAlloc(4*l.length);try{l.forEach((g,D)=>i.setValue(x+D*c,g,c===4?"i32":"i64"));let b=i._OrtCreateTensor(Z(f),p,S,x,l.length,Ve(u));b===0&&w(`Can't create tensor for input/output. session=${o}, index=${a}.`),t.push(b)}finally{i.stackRestore(O)}},Qe=async(e,t,n,o,r,a)=>{let s=y(),i=s.PTR_SIZE,c=K.get(e);if(!c)throw new Error(`cannot run inference. invalid session id: ${e}`);let f=c[0],l=c[1],d=c[2],u=c[3],p=c[4],S=c[5],O=t.length,x=o.length,b=0,g=[],D=[],h=[],E=[],I=s.stackSave(),A=s.stackAlloc(O*i),L=s.stackAlloc(O*i),q=s.stackAlloc(x*i),Q=s.stackAlloc(x*i);try{[b,g]=Ne(a);for(let m=0;m<O;m++)await Je(n[m],D,E,e,l[t[m]],t[m],p);for(let m=0;m<x;m++)await Je(r[m],h,E,e,d[o[m]],O+o[m],p);for(let m=0;m<O;m++)s.setValue(A+m*i,D[m],"*"),s.setValue(L+m*i,l[t[m]],"*");for(let m=0;m<x;m++)s.setValue(q+m*i,h[m],"*"),s.setValue(Q+m*i,d[o[m]],"*");s.jsepOnRunStart?.(f),s.webnnOnRunStart?.(f);let M;M=await s._OrtRun(f,L,A,O,Q,x,q,b),M!==0&&w("failed to call OrtRun().");let R=[],Le=[];for(let m=0;m<x;m++){let N=Number(s.getValue(q+m*i,"*"));if(N===h[m]){R.push(r[m]);continue}let _e=s.stackSave(),k=s.stackAlloc(4*i),J=!1,v,_=0;try{s._OrtGetTensorData(N,k,k+i,k+2*i,k+3*i)!==0&&w(`Can't access output tensor data on index ${m}.`);let ye=i===4?"i32":"i64",oe=Number(s.getValue(k,ye));_=s.getValue(k+i,"*");let Ue=s.getValue(k+i*2,"*"),gt=Number(s.getValue(k+i*3,ye)),$=[];for(let P=0;P<gt;P++)$.push(Number(s.getValue(Ue+P*i,ye)));s._OrtFree(Ue)!==0&&w("Can't free memory for tensor dims.");let z=$.reduce((P,T)=>P*T,1);v=pe(oe);let ee=u?.outputPreferredLocations[o[m]];if(v==="string"){if(ee==="gpu-buffer"||ee==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let P=[];for(let T=0;T<z;T++){let j=s.getValue(_+T*i,"*"),se=s.getValue(_+(T+1)*i,"*"),xe=T===z-1?void 0:se-j;P.push(s.UTF8ToString(j,xe))}R.push([v,$,P,"cpu"])}else if(ee==="gpu-buffer"&&z>0){let P=s.jsepGetBuffer;if(!P)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let T=P(_),j=X(oe,z);if(j===void 0||!de(v))throw new Error(`Unsupported data type: ${v}`);J=!0,R.push([v,$,{gpuBuffer:T,download:s.jsepCreateDownloader(T,j,v),dispose:()=>{s._OrtReleaseTensor(N)!==0&&w("Can't release tensor.")}},"gpu-buffer"])}else if(ee==="ml-tensor"&&z>0){let P=s.webnnEnsureTensor,T=s.webnnIsGraphInputOutputTypeSupported;if(!P||!T)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(X(oe,z)===void 0||!me(v))throw new Error(`Unsupported data type: ${v}`);if(!T(e,v,!1))throw new Error(`preferredLocation "ml-tensor" for ${v} output is not supported by current WebNN Context.`);let se=await P(e,_,oe,$,!1);J=!0,R.push([v,$,{mlTensor:se,download:s.webnnCreateMLTensorDownloader(_,v),dispose:()=>{s.webnnReleaseTensorId(_),s._OrtReleaseTensor(N)}},"ml-tensor"])}else if(ee==="ml-tensor-cpu-output"&&z>0){let P=s.webnnCreateMLTensorDownloader(_,v)(),T=R.length;J=!0,Le.push((async()=>{let j=[T,await P];return s.webnnReleaseTensorId(_),s._OrtReleaseTensor(N),j})()),R.push([v,$,[],"cpu"])}else{let P=je(v),T=new P(z);new Uint8Array(T.buffer,T.byteOffset,T.byteLength).set(s.HEAPU8.subarray(_,_+T.byteLength)),R.push([v,$,T,"cpu"])}}finally{s.stackRestore(_e),v==="string"&&_&&s._free(_),J||s._OrtReleaseTensor(N)}}u&&!p&&(s._OrtClearBoundOutputs(u.handle)!==0&&w("Can't clear bound outputs."),K.set(e,[f,l,d,u,p,!1]));for(let[m,N]of await Promise.all(Le))R[m][2]=N;return R}finally{s.webnnOnRunEnd?.(f),s.stackRestore(I),D.forEach(M=>s._OrtReleaseTensor(M)),h.forEach(M=>s._OrtReleaseTensor(M)),E.forEach(M=>s._free(M)),b!==0&&s._OrtReleaseRunOptions(b),g.forEach(M=>s._free(M))}},et=e=>{let t=y(),n=K.get(e);if(!n)throw new Error("invalid session id");let o=n[0],r=t._OrtEndProfiling(o);r===0&&w("Can't get an profile file name."),t._OrtFree(r)}});var be,Pe,rt,nt,ot,st,at,it,ut,ct,lt,Ie=C(()=>{"use strict";be=require("onnxruntime-common");tt();Y();he();Pe=!1,rt=!1,nt=!1,ot=async()=>{if(!rt){if(Pe)throw new Error("multiple calls to 'initWasm()' detected.");if(nt)throw new Error("previous call to 'initWasm()' failed.");Pe=!0;try{await Re(be.env.wasm),await Ye(be.env),rt=!0}catch(e){throw nt=!0,e}finally{Pe=!1}}},st=async e=>{await Ze(be.env,e)},at=async e=>ve(e),it=async(e,t)=>Xe(e,t),ut=async e=>{Ke(e)},ct=async(e,t,n,o,r,a)=>Qe(e,t,n,o,r,a),lt=async e=>{et(e)}});var W,ft,Rt,ge,pt=C(()=>{"use strict";W=require("onnxruntime-common");Ie();Oe();ue();Te();ft=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},Rt=e=>{switch(e[3]){case"cpu":return new W.Tensor(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!de(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:o,dispose:r}=e[2];return W.Tensor.fromGpuBuffer(n,{dataType:t,dims:e[1],download:o,dispose:r})}case"ml-tensor":{let t=e[0];if(!me(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:o,dispose:r}=e[2];return W.Tensor.fromMLTensor(n,{dataType:t,dims:e[1],download:o,dispose:r})}default:throw new Error(`invalid data location: ${e[3]}`)}},ge=class{async fetchModelAndCopyToWasmMemory(t){return at(await re(t))}async loadModel(t,n){(0,W.TRACE_FUNC_BEGIN)();let o;typeof t=="string"?H?o=await re(t):o=await this.fetchModelAndCopyToWasmMemory(t):o=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await it(o,n),(0,W.TRACE_FUNC_END)()}async dispose(){return ut(this.sessionId)}async run(t,n,o){(0,W.TRACE_FUNC_BEGIN)();let r=[],a=[];Object.entries(t).forEach(u=>{let p=u[0],S=u[1],O=this.inputNames.indexOf(p);if(O===-1)throw new Error(`invalid input '${p}'`);r.push(S),a.push(O)});let s=[],i=[];Object.entries(n).forEach(u=>{let p=u[0],S=u[1],O=this.outputNames.indexOf(p);if(O===-1)throw new Error(`invalid output '${p}'`);s.push(S),i.push(O)});let c=r.map((u,p)=>ft(u,()=>`input "${this.inputNames[a[p]]}"`)),f=s.map((u,p)=>u?ft(u,()=>`output "${this.outputNames[i[p]]}"`):null),l=await ct(this.sessionId,a,c,i,f,o),d={};for(let u=0;u<l.length;u++)d[this.outputNames[i[u]]]=s[u]??Rt(l[u]);return(0,W.TRACE_FUNC_END)(),d}startProfiling(){}endProfiling(){lt(this.sessionId)}}});var mt={};Ae(mt,{OnnxruntimeWebAssemblyBackend:()=>we,initializeFlags:()=>dt,wasmBackend:()=>Nt});var U,dt,we,Nt,bt=C(()=>{"use strict";U=require("onnxruntime-common");Ie();pt();dt=()=>{(typeof U.env.wasm.initTimeout!="number"||U.env.wasm.initTimeout<0)&&(U.env.wasm.initTimeout=0);let e=U.env.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),U.env.wasm.simd=!1),typeof U.env.wasm.proxy!="boolean"&&(U.env.wasm.proxy=!1),typeof U.env.wasm.trace!="boolean"&&(U.env.wasm.trace=!1),typeof U.env.wasm.numThreads!="number"||!Number.isInteger(U.env.wasm.numThreads)||U.env.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)U.env.wasm.numThreads=1;else{let t=typeof navigator>"u"?require("node:os").cpus().length:navigator.hardwareConcurrency;U.env.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},we=class{async init(t){dt(),await ot(),await st(t)}async createInferenceSessionHandler(t,n){let o=new ge;return await o.loadModel(t,n),o}},Nt=new we});var F={};Ae(F,{default:()=>$t});module.exports=Be(F);G(F,require("onnxruntime-common"),module.exports);var Gt=Ot(require("onnxruntime-common")),ne=require("onnxruntime-common");var Me="1.23.0";var $t=Gt;{let e=(bt(),Be(mt)).wasmBackend;(0,ne.registerBackend)("cpu",e,10),(0,ne.registerBackend)("wasm",e,10)}Object.defineProperty(ne.env.versions,"web",{value:Me,enumerable:!0});0&&(module.exports={...require("onnxruntime-common")});
|
| 7 |
+
//# sourceMappingURL=ort.node.min.js.map
|
dist/ort.node.min.js.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.node.min.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.23.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
import{createRequire}from"module";const require=createRequire(import.meta.url);
|
| 7 |
+
var pe=Object.defineProperty;var gt=Object.getOwnPropertyDescriptor;var wt=Object.getOwnPropertyNames;var yt=Object.prototype.hasOwnProperty;var de=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var C=(e,t)=>()=>(e&&(t=e(e=0)),t);var ht=(e,t)=>{for(var n in t)pe(e,n,{get:t[n],enumerable:!0})},St=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of wt(t))!yt.call(e,r)&&r!==n&&pe(e,r,{get:()=>t[r],enumerable:!(o=gt(t,r))||o.enumerable});return e};var Et=e=>St(pe({},"__esModule",{value:!0}),e);var $,re=C(()=>{"use strict";$=!!(typeof process<"u"&&process.versions&&process.versions.node)});var Ae,Ot,Tt,z,Be,Ue,vt,Pt,It,Lt,xe,Me,me=C(()=>{"use strict";re();Ae=$||typeof location>"u"?void 0:location.origin,Ot=import.meta.url>"file:"&&import.meta.url<"file;",Tt=()=>{if(!$){if(Ot){let e=URL;return new URL(new e("ort.node.min.mjs",import.meta.url).href,Ae).href}return import.meta.url}},z=Tt(),Be=()=>{if(z&&!z.startsWith("blob:"))return z.substring(0,z.lastIndexOf("/")+1)},Ue=(e,t)=>{try{let n=t??z;return(n?new URL(e,n):new URL(e)).origin===Ae}catch{return!1}},vt=(e,t)=>{let n=t??z;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},Pt=(e,t)=>`${t??"./"}${e}`,It=async e=>{let n=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(n)},Lt=async e=>(await import(/*webpackIgnore:true*/e)).default,xe=void 0,Me=async(e,t,n)=>{if(!e&&!t&&xe&&z&&Ue(z))return[void 0,xe];{let o="ort-wasm-simd-threaded.mjs",r=e??vt(o,t),a=!$&&n&&r&&!Ue(r,t),s=a?await It(r):r??Pt(o,t);return[a?s:void 0,await Lt(s)]}}});var be,ge,ne,Ce,_t,Ut,xt,De,y,V=C(()=>{"use strict";me();ge=!1,ne=!1,Ce=!1,_t=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},Ut=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},xt=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},De=async e=>{if(ge)return Promise.resolve();if(ne)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Ce)throw new Error("previous call to 'initializeWebAssembly()' failed.");ne=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd==="relaxed"){if(!xt())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!Ut())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let o=_t();n>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+n+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=n=1);let r=e.wasmPaths,a=typeof r=="string"?r:void 0,s=r?.mjs,i=s?.href??s,c=r?.wasm,l=c?.href??c,f=e.wasmBinary,[d,u]=await Me(i,a,n>1),p=!1,S=[];if(t>0&&S.push(new Promise(O=>{setTimeout(()=>{p=!0,O()},t)})),S.push(new Promise((O,U)=>{let b={numThreads:n};if(f)b.wasmBinary=f;else if(l||a)b.locateFile=g=>l??a+g;else if(i&&i.indexOf("blob:")!==0)b.locateFile=g=>new URL(g,i).href;else if(d){let g=Be();g&&(b.locateFile=D=>g+D)}u(b).then(g=>{ne=!1,ge=!0,be=g,O(),d&&URL.revokeObjectURL(d)},g=>{ne=!1,Ce=!0,U(g)})})),await Promise.race(S),p)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},y=()=>{if(ge&&be)return be;throw new Error("WebAssembly is not initialized yet.")}});var B,K,w,oe=C(()=>{"use strict";V();B=(e,t)=>{let n=y(),o=n.lengthBytesUTF8(e)+1,r=n._malloc(o);return n.stringToUTF8(e,r,o),t.push(r),r},K=(e,t,n,o)=>{if(typeof e=="object"&&e!==null){if(n.has(e))throw new Error("Circular reference in options");n.add(e)}Object.entries(e).forEach(([r,a])=>{let s=t?t+r:r;if(typeof a=="object")K(a,s+".",n,o);else if(typeof a=="string"||typeof a=="number")o(s,a.toString());else if(typeof a=="boolean")o(s,a?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof a}`)})},w=e=>{let t=y(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetLastError(r,r+o);let a=Number(t.getValue(r,o===4?"i32":"i64")),s=t.getValue(r+o,"*"),i=s?t.UTF8ToString(s):"";throw new Error(`${e} ERROR_CODE: ${a}, ERROR_MESSAGE: ${i}`)}finally{t.stackRestore(n)}}});var ke,We=C(()=>{"use strict";V();oe();ke=e=>{let t=y(),n=0,o=[],r=e||{};try{if(e?.logSeverityLevel===void 0)r.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)r.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(r.terminate=!1);let a=0;return e?.tag!==void 0&&(a=B(e.tag,o)),n=t._OrtCreateRunOptions(r.logSeverityLevel,r.logVerbosityLevel,!!r.terminate,a),n===0&&w("Can't create run options."),e?.extra!==void 0&&K(e.extra,"",new WeakSet,(s,i)=>{let c=B(s,o),l=B(i,o);t._OrtAddRunConfigEntry(n,c,l)!==0&&w(`Can't set a run config entry: ${s} - ${i}.`)}),[n,o]}catch(a){throw n!==0&&t._OrtReleaseRunOptions(n),o.forEach(s=>t._free(s)),a}}});var At,Bt,Mt,se,Ct,Fe,Re=C(()=>{"use strict";V();oe();At=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},Bt=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},Mt=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(n=>(typeof n=="string"?n:n.name)==="webgpu")&&(e.enableMemPattern=!1)},se=(e,t,n,o)=>{let r=B(t,o),a=B(n,o);y()._OrtAddSessionConfigEntry(e,r,a)!==0&&w(`Can't set a session config entry: ${t} - ${n}.`)},Ct=async(e,t,n)=>{for(let o of t){let r=typeof o=="string"?o:o.name,a=[];switch(r){case"webnn":if(r="WEBNN",typeof o!="string"){let d=o?.deviceType;d&&se(e,"deviceType",d,n)}break;case"webgpu":if(r="JS",typeof o!="string"){let f=o;if(f?.preferredLayout){if(f.preferredLayout!=="NCHW"&&f.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${f.preferredLayout}`);se(e,"preferredLayout",f.preferredLayout,n)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${r}`)}let s=B(r,n),i=a.length,c=0,l=0;if(i>0){c=y()._malloc(i*y().PTR_SIZE),n.push(c),l=y()._malloc(i*y().PTR_SIZE),n.push(l);for(let f=0;f<i;f++)y().setValue(c+f*y().PTR_SIZE,a[f][0],"*"),y().setValue(l+f*y().PTR_SIZE,a[f][1],"*")}await y()._OrtAppendExecutionProvider(e,s,c,l,i)!==0&&w(`Can't append execution provider: ${r}.`)}},Fe=async e=>{let t=y(),n=0,o=[],r=e||{};Mt(r);try{let a=At(r.graphOptimizationLevel??"all"),s=Bt(r.executionMode??"sequential"),i=typeof r.logId=="string"?B(r.logId,o):0,c=r.logSeverityLevel??2;if(!Number.isInteger(c)||c<0||c>4)throw new Error(`log serverity level is not valid: ${c}`);let l=r.logVerbosityLevel??0;if(!Number.isInteger(l)||l<0||l>4)throw new Error(`log verbosity level is not valid: ${l}`);let f=typeof r.optimizedModelFilePath=="string"?B(r.optimizedModelFilePath,o):0;if(n=t._OrtCreateSessionOptions(a,!!r.enableCpuMemArena,!!r.enableMemPattern,s,!!r.enableProfiling,0,i,c,l,f),n===0&&w("Can't create session options."),r.executionProviders&&await Ct(n,r.executionProviders,o),r.enableGraphCapture!==void 0){if(typeof r.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${r.enableGraphCapture}`);se(n,"enableGraphCapture",r.enableGraphCapture.toString(),o)}if(r.freeDimensionOverrides)for(let[d,u]of Object.entries(r.freeDimensionOverrides)){if(typeof d!="string")throw new Error(`free dimension override name must be a string: ${d}`);if(typeof u!="number"||!Number.isInteger(u)||u<0)throw new Error(`free dimension override value must be a non-negative integer: ${u}`);let p=B(d,o);t._OrtAddFreeDimensionOverride(n,p,u)!==0&&w(`Can't set a free dimension override: ${d} - ${u}.`)}return r.extra!==void 0&&K(r.extra,"",new WeakSet,(d,u)=>{se(n,d,u,o)}),[n,o]}catch(a){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&w("Can't release session options."),o.forEach(s=>t._free(s)),a}}});var q,ae,J,Ne,Ge,ie,ue,$e,we=C(()=>{"use strict";q=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${e}`)}},ae=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${e}`)}},J=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],o=typeof t=="number"?t:t.reduce((r,a)=>r*a,1);return n>0?Math.ceil(o*n):void 0},Ne=e=>{switch(e){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},Ge=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},ie=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",ue=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",$e=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${e}`)}}});var Q,ye=C(()=>{"use strict";re();Q=async e=>{if(typeof e=="string")if($)try{let{readFile:t}=de("node:fs/promises");return new Uint8Array(await t(e))}catch(t){if(t.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:n}=de("node:fs"),o=n(e),r=[];for await(let a of o)r.push(a);return new Uint8Array(Buffer.concat(r))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let n=t.headers.get("Content-Length"),o=n?parseInt(n,10):0;if(o<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let r=t.body.getReader(),a;try{a=new ArrayBuffer(o)}catch(i){if(i instanceof RangeError){let c=Math.ceil(o/65536);a=new WebAssembly.Memory({initial:c,maximum:c}).buffer}else throw i}let s=0;for(;;){let{done:i,value:c}=await r.read();if(i)break;let l=c.byteLength;new Uint8Array(a,s,l).set(c),s+=l}return new Uint8Array(a,0,o)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});var Dt,He,Ve,Y,kt,ze,he,qe,Je,je,Ye,Ze,Xe=C(()=>{"use strict";We();Re();we();V();oe();ye();Dt=(e,t)=>{y()._OrtInit(e,t)!==0&&w("Can't initialize onnxruntime.")},He=async e=>{Dt(e.wasm.numThreads,Ge(e.logLevel))},Ve=async(e,t)=>{y().asyncInit?.()},Y=new Map,kt=e=>{let t=y(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetInputOutputCount(e,r,r+o)!==0&&w("Can't get session input/output count.");let s=o===4?"i32":"i64";return[Number(t.getValue(r,s)),Number(t.getValue(r+o,s))]}finally{t.stackRestore(n)}},ze=(e,t)=>{let n=y(),o=n.stackSave(),r=0;try{let a=n.PTR_SIZE,s=n.stackAlloc(2*a);n._OrtGetInputOutputMetadata(e,t,s,s+a)!==0&&w("Can't get session input/output metadata.");let c=Number(n.getValue(s,"*"));r=Number(n.getValue(s+a,"*"));let l=n.HEAP32[r/4];if(l===0)return[c,0];let f=n.HEAPU32[r/4+1],d=[];for(let u=0;u<f;u++){let p=Number(n.getValue(r+8+u*a,"*"));d.push(p!==0?n.UTF8ToString(p):Number(n.getValue(r+8+(u+f)*a,"*")))}return[c,l,d]}finally{n.stackRestore(o),r!==0&&n._OrtFree(r)}},he=e=>{let t=y(),n=t._malloc(e.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},qe=async(e,t)=>{let n,o,r=y();Array.isArray(e)?[n,o]=e:e.buffer===r.HEAPU8.buffer?[n,o]=[e.byteOffset,e.byteLength]:[n,o]=he(e);let a=0,s=0,i=0,c=[],l=[],f=[];try{if([s,c]=await Fe(t),t?.externalData&&r.mountExternalData){let h=[];for(let E of t.externalData){let I=typeof E=="string"?E:E.path;h.push(Q(typeof E=="string"?E:E.data).then(x=>{r.mountExternalData(I,x)}))}await Promise.all(h)}for(let h of t?.executionProviders??[])if((typeof h=="string"?h:h.name)==="webnn"){if(r.shouldTransferToMLTensor=!1,typeof h!="string"){let I=h,x=I?.context,L=I?.gpuDevice,j=I?.deviceType,Z=I?.powerPreference;x?r.currentContext=x:L?r.currentContext=await r.webnnCreateMLContext(L):r.currentContext=await r.webnnCreateMLContext({deviceType:j,powerPreference:Z})}else r.currentContext=await r.webnnCreateMLContext();break}a=await r._OrtCreateSession(n,o,s),r.webgpuOnCreateSession?.(a),a===0&&w("Can't create a session."),r.jsepOnCreateSession?.(),r.currentContext&&(r.webnnRegisterMLContext(a,r.currentContext),r.currentContext=void 0,r.shouldTransferToMLTensor=!0);let[d,u]=kt(a),p=!!t?.enableGraphCapture,S=[],O=[],U=[],b=[],g=[];for(let h=0;h<d;h++){let[E,I,x]=ze(a,h);E===0&&w("Can't get an input name."),l.push(E);let L=r.UTF8ToString(E);S.push(L),U.push(I===0?{name:L,isTensor:!1}:{name:L,isTensor:!0,type:ae(I),shape:x})}for(let h=0;h<u;h++){let[E,I,x]=ze(a,h+d);E===0&&w("Can't get an output name."),f.push(E);let L=r.UTF8ToString(E);O.push(L),b.push(I===0?{name:L,isTensor:!1}:{name:L,isTensor:!0,type:ae(I),shape:x})}return Y.set(a,[a,l,f,null,p,!1]),[a,S,O,U,b]}catch(d){throw l.forEach(u=>r._OrtFree(u)),f.forEach(u=>r._OrtFree(u)),i!==0&&r._OrtReleaseBinding(i)!==0&&w("Can't release IO binding."),a!==0&&r._OrtReleaseSession(a)!==0&&w("Can't release session."),d}finally{r._free(n),s!==0&&r._OrtReleaseSessionOptions(s)!==0&&w("Can't release session options."),c.forEach(d=>r._free(d)),r.unmountExternalData?.()}},Je=e=>{let t=y(),n=Y.get(e);if(!n)throw new Error(`cannot release session. invalid session id: ${e}`);let[o,r,a,s,i]=n;s&&(i&&t._OrtClearBoundOutputs(s.handle)!==0&&w("Can't clear bound outputs."),t._OrtReleaseBinding(s.handle)!==0&&w("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),r.forEach(c=>t._OrtFree(c)),a.forEach(c=>t._OrtFree(c)),t._OrtReleaseSession(o)!==0&&w("Can't release session."),Y.delete(e)},je=async(e,t,n,o,r,a,s=!1)=>{if(!e){t.push(0);return}let i=y(),c=i.PTR_SIZE,l=e[0],f=e[1],d=e[3],u=d,p,S;if(l==="string"&&(d==="gpu-buffer"||d==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(s&&d!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${a} when enableGraphCapture is true.`);if(d==="gpu-buffer"){let b=e[2].gpuBuffer;S=J(q(l),f);{let g=i.jsepRegisterBuffer;if(!g)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');p=g(o,a,b,S)}}else if(d==="ml-tensor"){let b=e[2].mlTensor;S=J(q(l),f);let g=i.webnnRegisterMLTensor;if(!g)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');p=g(o,b,q(l),f)}else{let b=e[2];if(Array.isArray(b)){S=c*b.length,p=i._malloc(S),n.push(p);for(let g=0;g<b.length;g++){if(typeof b[g]!="string")throw new TypeError(`tensor data at index ${g} is not a string`);i.setValue(p+g*c,B(b[g],n),"*")}}else{let g=i.webnnIsGraphInput,D=i.webnnIsGraphOutput;if(l!=="string"&&g&&D){let h=i.UTF8ToString(r);if(g(o,h)||D(o,h)){let E=q(l);S=J(E,f),u="ml-tensor";let I=i.webnnCreateTemporaryTensor,x=i.webnnUploadTensor;if(!I||!x)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let L=await I(o,E,f);x(L,new Uint8Array(b.buffer,b.byteOffset,b.byteLength)),p=L}else S=b.byteLength,p=i._malloc(S),n.push(p),i.HEAPU8.set(new Uint8Array(b.buffer,b.byteOffset,S),p)}else S=b.byteLength,p=i._malloc(S),n.push(p),i.HEAPU8.set(new Uint8Array(b.buffer,b.byteOffset,S),p)}}let O=i.stackSave(),U=i.stackAlloc(4*f.length);try{f.forEach((g,D)=>i.setValue(U+D*c,g,c===4?"i32":"i64"));let b=i._OrtCreateTensor(q(l),p,S,U,f.length,$e(u));b===0&&w(`Can't create tensor for input/output. session=${o}, index=${a}.`),t.push(b)}finally{i.stackRestore(O)}},Ye=async(e,t,n,o,r,a)=>{let s=y(),i=s.PTR_SIZE,c=Y.get(e);if(!c)throw new Error(`cannot run inference. invalid session id: ${e}`);let l=c[0],f=c[1],d=c[2],u=c[3],p=c[4],S=c[5],O=t.length,U=o.length,b=0,g=[],D=[],h=[],E=[],I=s.stackSave(),x=s.stackAlloc(O*i),L=s.stackAlloc(O*i),j=s.stackAlloc(U*i),Z=s.stackAlloc(U*i);try{[b,g]=ke(a);for(let m=0;m<O;m++)await je(n[m],D,E,e,f[t[m]],t[m],p);for(let m=0;m<U;m++)await je(r[m],h,E,e,d[o[m]],O+o[m],p);for(let m=0;m<O;m++)s.setValue(x+m*i,D[m],"*"),s.setValue(L+m*i,f[t[m]],"*");for(let m=0;m<U;m++)s.setValue(j+m*i,h[m],"*"),s.setValue(Z+m*i,d[o[m]],"*");s.jsepOnRunStart?.(l),s.webnnOnRunStart?.(l);let M;M=await s._OrtRun(l,L,x,O,Z,U,j,b),M!==0&&w("failed to call OrtRun().");let W=[],ve=[];for(let m=0;m<U;m++){let F=Number(s.getValue(j+m*i,"*"));if(F===h[m]){W.push(r[m]);continue}let Pe=s.stackSave(),k=s.stackAlloc(4*i),H=!1,v,_=0;try{s._OrtGetTensorData(F,k,k+i,k+2*i,k+3*i)!==0&&w(`Can't access output tensor data on index ${m}.`);let le=i===4?"i32":"i64",ee=Number(s.getValue(k,le));_=s.getValue(k+i,"*");let Ie=s.getValue(k+i*2,"*"),bt=Number(s.getValue(k+i*3,le)),R=[];for(let P=0;P<bt;P++)R.push(Number(s.getValue(Ie+P*i,le)));s._OrtFree(Ie)!==0&&w("Can't free memory for tensor dims.");let N=R.reduce((P,T)=>P*T,1);v=ae(ee);let X=u?.outputPreferredLocations[o[m]];if(v==="string"){if(X==="gpu-buffer"||X==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let P=[];for(let T=0;T<N;T++){let G=s.getValue(_+T*i,"*"),te=s.getValue(_+(T+1)*i,"*"),Le=T===N-1?void 0:te-G;P.push(s.UTF8ToString(G,Le))}W.push([v,R,P,"cpu"])}else if(X==="gpu-buffer"&&N>0){let P=s.jsepGetBuffer;if(!P)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let T=P(_),G=J(ee,N);if(G===void 0||!ie(v))throw new Error(`Unsupported data type: ${v}`);H=!0,W.push([v,R,{gpuBuffer:T,download:s.jsepCreateDownloader(T,G,v),dispose:()=>{s._OrtReleaseTensor(F)!==0&&w("Can't release tensor.")}},"gpu-buffer"])}else if(X==="ml-tensor"&&N>0){let P=s.webnnEnsureTensor,T=s.webnnIsGraphInputOutputTypeSupported;if(!P||!T)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(J(ee,N)===void 0||!ue(v))throw new Error(`Unsupported data type: ${v}`);if(!T(e,v,!1))throw new Error(`preferredLocation "ml-tensor" for ${v} output is not supported by current WebNN Context.`);let te=await P(e,_,ee,R,!1);H=!0,W.push([v,R,{mlTensor:te,download:s.webnnCreateMLTensorDownloader(_,v),dispose:()=>{s.webnnReleaseTensorId(_),s._OrtReleaseTensor(F)}},"ml-tensor"])}else if(X==="ml-tensor-cpu-output"&&N>0){let P=s.webnnCreateMLTensorDownloader(_,v)(),T=W.length;H=!0,ve.push((async()=>{let G=[T,await P];return s.webnnReleaseTensorId(_),s._OrtReleaseTensor(F),G})()),W.push([v,R,[],"cpu"])}else{let P=Ne(v),T=new P(N);new Uint8Array(T.buffer,T.byteOffset,T.byteLength).set(s.HEAPU8.subarray(_,_+T.byteLength)),W.push([v,R,T,"cpu"])}}finally{s.stackRestore(Pe),v==="string"&&_&&s._free(_),H||s._OrtReleaseTensor(F)}}u&&!p&&(s._OrtClearBoundOutputs(u.handle)!==0&&w("Can't clear bound outputs."),Y.set(e,[l,f,d,u,p,!1]));for(let[m,F]of await Promise.all(ve))W[m][2]=F;return W}finally{s.webnnOnRunEnd?.(l),s.stackRestore(I),D.forEach(M=>s._OrtReleaseTensor(M)),h.forEach(M=>s._OrtReleaseTensor(M)),E.forEach(M=>s._free(M)),b!==0&&s._OrtReleaseRunOptions(b),g.forEach(M=>s._free(M))}},Ze=e=>{let t=y(),n=Y.get(e);if(!n)throw new Error("invalid session id");let o=n[0],r=t._OrtEndProfiling(o);r===0&&w("Can't get an profile file name."),t._OrtFree(r)}});import{env as Ee}from"onnxruntime-common";var Se,Ke,Qe,et,tt,rt,nt,ot,st,at,Oe=C(()=>{"use strict";Xe();V();me();Se=!1,Ke=!1,Qe=!1,et=async()=>{if(!Ke){if(Se)throw new Error("multiple calls to 'initWasm()' detected.");if(Qe)throw new Error("previous call to 'initWasm()' failed.");Se=!0;try{await De(Ee.wasm),await He(Ee),Ke=!0}catch(e){throw Qe=!0,e}finally{Se=!1}}},tt=async e=>{await Ve(Ee,e)},rt=async e=>he(e),nt=async(e,t)=>qe(e,t),ot=async e=>{Je(e)},st=async(e,t,n,o,r,a)=>Ye(e,t,n,o,r,a),at=async e=>{Ze(e)}});import{Tensor as Te,TRACE_FUNC_BEGIN as it,TRACE_FUNC_END as ut}from"onnxruntime-common";var ct,Ft,ce,ft=C(()=>{"use strict";Oe();we();re();ye();ct=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},Ft=e=>{switch(e[3]){case"cpu":return new Te(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!ie(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:o,dispose:r}=e[2];return Te.fromGpuBuffer(n,{dataType:t,dims:e[1],download:o,dispose:r})}case"ml-tensor":{let t=e[0];if(!ue(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:o,dispose:r}=e[2];return Te.fromMLTensor(n,{dataType:t,dims:e[1],download:o,dispose:r})}default:throw new Error(`invalid data location: ${e[3]}`)}},ce=class{async fetchModelAndCopyToWasmMemory(t){return rt(await Q(t))}async loadModel(t,n){it();let o;typeof t=="string"?$?o=await Q(t):o=await this.fetchModelAndCopyToWasmMemory(t):o=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await nt(o,n),ut()}async dispose(){return ot(this.sessionId)}async run(t,n,o){it();let r=[],a=[];Object.entries(t).forEach(u=>{let p=u[0],S=u[1],O=this.inputNames.indexOf(p);if(O===-1)throw new Error(`invalid input '${p}'`);r.push(S),a.push(O)});let s=[],i=[];Object.entries(n).forEach(u=>{let p=u[0],S=u[1],O=this.outputNames.indexOf(p);if(O===-1)throw new Error(`invalid output '${p}'`);s.push(S),i.push(O)});let c=r.map((u,p)=>ct(u,()=>`input "${this.inputNames[a[p]]}"`)),l=s.map((u,p)=>u?ct(u,()=>`output "${this.outputNames[i[p]]}"`):null),f=await st(this.sessionId,a,c,i,l,o),d={};for(let u=0;u<f.length;u++)d[this.outputNames[i[u]]]=s[u]??Ft(f[u]);return ut(),d}startProfiling(){}endProfiling(){at(this.sessionId)}}});var pt={};ht(pt,{OnnxruntimeWebAssemblyBackend:()=>fe,initializeFlags:()=>lt,wasmBackend:()=>Rt});import{env as A}from"onnxruntime-common";var lt,fe,Rt,dt=C(()=>{"use strict";Oe();ft();lt=()=>{(typeof A.wasm.initTimeout!="number"||A.wasm.initTimeout<0)&&(A.wasm.initTimeout=0);let e=A.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),A.wasm.simd=!1),typeof A.wasm.proxy!="boolean"&&(A.wasm.proxy=!1),typeof A.wasm.trace!="boolean"&&(A.wasm.trace=!1),typeof A.wasm.numThreads!="number"||!Number.isInteger(A.wasm.numThreads)||A.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)A.wasm.numThreads=1;else{let t=typeof navigator>"u"?de("node:os").cpus().length:navigator.hardwareConcurrency;A.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},fe=class{async init(t){lt(),await et(),await tt(t)}async createInferenceSessionHandler(t,n){let o=new ce;return await o.loadModel(t,n),o}},Rt=new fe});export*from"onnxruntime-common";import*as Nt from"onnxruntime-common";import{registerBackend as mt,env as Gt}from"onnxruntime-common";var _e="1.23.0";var Fr=Nt;{let e=(dt(),Et(pt)).wasmBackend;mt("cpu",e,10),mt("wasm",e,10)}Object.defineProperty(Gt.versions,"web",{value:_e,enumerable:!0});export{Fr as default};
|
| 8 |
+
//# sourceMappingURL=ort.node.min.mjs.map
|
dist/ort.node.min.mjs.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.wasm.bundle.min.mjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.23.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
var He=Object.defineProperty;var An=Object.getOwnPropertyDescriptor;var On=Object.getOwnPropertyNames;var In=Object.prototype.hasOwnProperty;var je=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ve=(e,t)=>{for(var n in t)He(e,n,{get:t[n],enumerable:!0})},Pn=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of On(t))!In.call(e,r)&&r!==n&&He(e,r,{get:()=>t[r],enumerable:!(o=An(t,r))||o.enumerable});return e};var lt=e=>Pn(He({},"__esModule",{value:!0}),e);var be,Y,ce,xn,pt,Ye=E(()=>{be=new Map,Y=[],ce=(e,t,n)=>{if(t&&typeof t.init=="function"&&typeof t.createInferenceSessionHandler=="function"){let o=be.get(e);if(o===void 0)be.set(e,{backend:t,priority:n});else{if(o.priority>n)return;if(o.priority===n&&o.backend!==t)throw new Error(`cannot register backend "${e}" using priority ${n}`)}if(n>=0){let r=Y.indexOf(e);r!==-1&&Y.splice(r,1);for(let i=0;i<Y.length;i++)if(be.get(Y[i]).priority<=n){Y.splice(i,0,e);return}Y.push(e)}return}throw new TypeError("not a valid backend")},xn=async e=>{let t=be.get(e);if(!t)return"backend not found.";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(o){return n||(t.error=`${o}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},pt=async e=>{let t=e.executionProviders||[],n=t.map(u=>typeof u=="string"?u:u.name),o=n.length===0?Y:n,r,i=[],a=new Set;for(let u of o){let f=await xn(u);typeof f=="string"?i.push({name:u,err:f}):(r||(r=f),r===f&&a.add(u))}if(!r)throw new Error(`no available backend found. ERR: ${i.map(u=>`[${u.name}] ${u.err}`).join(", ")}`);for(let{name:u,err:f}of i)n.includes(u)&&console.warn(`removing requested execution provider "${u}" from session options because it is not available: ${f}`);let s=t.filter(u=>a.has(typeof u=="string"?u:u.name));return[r,new Proxy(e,{get:(u,f)=>f==="executionProviders"?s:Reflect.get(u,f)})]}});var mt=E(()=>{Ye()});var wt,ht=E(()=>{wt="1.23.0"});var yt,C,qe=E(()=>{ht();yt="warning",C={wasm:{},webgl:{},webgpu:{},versions:{common:wt},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);yt=e}},get logLevel(){return yt}};Object.defineProperty(C,"logLevel",{enumerable:!0})});var I,bt=E(()=>{qe();I=C});var gt,Et,Tt=E(()=>{gt=(e,t)=>{let n=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let o=n.getContext("2d");if(o!=null){let r,i;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(r=e.dims[2],i=e.dims[3]):(r=e.dims[3],i=e.dims[2]);let a=t?.format!==void 0?t.format:"RGB",s=t?.norm,u,f;s===void 0||s.mean===void 0?u=[255,255,255,255]:typeof s.mean=="number"?u=[s.mean,s.mean,s.mean,s.mean]:(u=[s.mean[0],s.mean[1],s.mean[2],0],s.mean[3]!==void 0&&(u[3]=s.mean[3])),s===void 0||s.bias===void 0?f=[0,0,0,0]:typeof s.bias=="number"?f=[s.bias,s.bias,s.bias,s.bias]:(f=[s.bias[0],s.bias[1],s.bias[2],0],s.bias[3]!==void 0&&(f[3]=s.bias[3]));let c=i*r,l=0,d=c,p=c*2,w=-1;a==="RGBA"?(l=0,d=c,p=c*2,w=c*3):a==="RGB"?(l=0,d=c,p=c*2):a==="RBG"&&(l=0,p=c,d=c*2);for(let b=0;b<i;b++)for(let O=0;O<r;O++){let m=(e.data[l++]-f[0])*u[0],h=(e.data[d++]-f[1])*u[1],P=(e.data[p++]-f[2])*u[2],g=w===-1?255:(e.data[w++]-f[3])*u[3];o.fillStyle="rgba("+m+","+h+","+P+","+g+")",o.fillRect(O,b,1,1)}if("toDataURL"in n)return n.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},Et=(e,t)=>{let n=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),o;if(n!=null){let r,i,a;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(r=e.dims[2],i=e.dims[1],a=e.dims[3]):(r=e.dims[3],i=e.dims[2],a=e.dims[1]);let s=t!==void 0&&t.format!==void 0?t.format:"RGB",u=t?.norm,f,c;u===void 0||u.mean===void 0?f=[255,255,255,255]:typeof u.mean=="number"?f=[u.mean,u.mean,u.mean,u.mean]:(f=[u.mean[0],u.mean[1],u.mean[2],255],u.mean[3]!==void 0&&(f[3]=u.mean[3])),u===void 0||u.bias===void 0?c=[0,0,0,0]:typeof u.bias=="number"?c=[u.bias,u.bias,u.bias,u.bias]:(c=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(c[3]=u.bias[3]));let l=i*r;if(t!==void 0&&(t.format!==void 0&&a===4&&t.format!=="RGBA"||a===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let d=4,p=0,w=1,b=2,O=3,m=0,h=l,P=l*2,g=-1;s==="RGBA"?(m=0,h=l,P=l*2,g=l*3):s==="RGB"?(m=0,h=l,P=l*2):s==="RBG"&&(m=0,P=l,h=l*2),o=n.createImageData(r,i);for(let S=0;S<i*r;p+=d,w+=d,b+=d,O+=d,S++)o.data[p]=(e.data[m++]-c[0])*f[0],o.data[w]=(e.data[h++]-c[1])*f[1],o.data[b]=(e.data[P++]-c[2])*f[2],o.data[O]=g===-1?255:(e.data[g++]-c[3])*f[3]}else throw new Error("Can not access image data");return o}});var Je,St,At,Ot,It,Pt,xt=E(()=>{ge();Je=(e,t)=>{if(e===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:n,width:o}=t,r=t.norm??{mean:255,bias:0},i,a;typeof r.mean=="number"?i=[r.mean,r.mean,r.mean,r.mean]:i=[r.mean[0],r.mean[1],r.mean[2],r.mean[3]??255],typeof r.bias=="number"?a=[r.bias,r.bias,r.bias,r.bias]:a=[r.bias[0],r.bias[1],r.bias[2],r.bias[3]??0];let s=t.format!==void 0?t.format:"RGBA",u=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",f=n*o,c=u==="RGBA"?new Float32Array(f*4):new Float32Array(f*3),l=4,d=0,p=1,w=2,b=3,O=0,m=f,h=f*2,P=-1;s==="RGB"&&(l=3,d=0,p=1,w=2,b=-1),u==="RGBA"?P=f*3:u==="RBG"?(O=0,h=f,m=f*2):u==="BGR"&&(h=0,m=f,O=f*2);for(let S=0;S<f;S++,d+=l,w+=l,p+=l,b+=l)c[O++]=(e[d]+a[0])/i[0],c[m++]=(e[p]+a[1])/i[1],c[h++]=(e[w]+a[2])/i[2],P!==-1&&b!==-1&&(c[P++]=(e[b]+a[3])/i[3]);return u==="RGBA"?new U("float32",c,[1,4,n,o]):new U("float32",c,[1,3,n,o])},St=async(e,t)=>{let n=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,o=typeof ImageData<"u"&&e instanceof ImageData,r=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,i=typeof e=="string",a,s=t??{},u=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},f=c=>typeof HTMLCanvasElement<"u"&&c instanceof HTMLCanvasElement||c instanceof OffscreenCanvas?c.getContext("2d"):null;if(n){let c=u();c.width=e.width,c.height=e.height;let l=f(c);if(l!=null){let d=e.height,p=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(d=t.resizedHeight,p=t.resizedWidth),t!==void 0){if(s=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");s.tensorFormat="RGBA",s.height=d,s.width=p}else s.tensorFormat="RGBA",s.height=d,s.width=p;l.drawImage(e,0,0),a=l.getImageData(0,0,p,d).data}else throw new Error("Can not access image data")}else if(o){let c,l;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(c=t.resizedHeight,l=t.resizedWidth):(c=e.height,l=e.width),t!==void 0&&(s=t),s.format="RGBA",s.height=c,s.width=l,t!==void 0){let d=u();d.width=l,d.height=c;let p=f(d);if(p!=null)p.putImageData(e,0,0),a=p.getImageData(0,0,l,c).data;else throw new Error("Can not access image data")}else a=e.data}else if(r){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");let c=u();c.width=e.width,c.height=e.height;let l=f(c);if(l!=null){let d=e.height,p=e.width;return l.drawImage(e,0,0,p,d),a=l.getImageData(0,0,p,d).data,s.height=d,s.width=p,Je(a,s)}else throw new Error("Can not access image data")}else{if(i)return new Promise((c,l)=>{let d=u(),p=f(d);if(!e||!p)return l();let w=new Image;w.crossOrigin="Anonymous",w.src=e,w.onload=()=>{d.width=w.width,d.height=w.height,p.drawImage(w,0,0,d.width,d.height);let b=p.getImageData(0,0,d.width,d.height);s.height=d.height,s.width=d.width,c(Je(b.data,s))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(a!==void 0)return Je(a,s);throw new Error("Input data provided is not supported - aborted tensor creation")},At=(e,t)=>{let{width:n,height:o,download:r,dispose:i}=t,a=[1,o,n,4];return new U({location:"texture",type:"float32",texture:e,dims:a,download:r,dispose:i})},Ot=(e,t)=>{let{dataType:n,dims:o,download:r,dispose:i}=t;return new U({location:"gpu-buffer",type:n??"float32",gpuBuffer:e,dims:o,download:r,dispose:i})},It=(e,t)=>{let{dataType:n,dims:o,download:r,dispose:i}=t;return new U({location:"ml-tensor",type:n??"float32",mlTensor:e,dims:o,download:r,dispose:i})},Pt=(e,t,n)=>new U({location:"cpu-pinned",type:e,data:t,dims:n??[t.length]})});var q,de,Lt,vt,Bt=E(()=>{q=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),de=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),Lt=!1,vt=()=>{if(!Lt){Lt=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,n=globalThis.Float16Array,o=typeof n<"u"&&n.from;e&&(q.set("int64",BigInt64Array),de.set(BigInt64Array,"int64")),t&&(q.set("uint64",BigUint64Array),de.set(BigUint64Array,"uint64")),o?(q.set("float16",n),de.set(n,"float16")):q.set("float16",Uint16Array)}}});var Ut,_t,Mt=E(()=>{ge();Ut=e=>{let t=1;for(let n=0;n<e.length;n++){let o=e[n];if(typeof o!="number"||!Number.isSafeInteger(o))throw new TypeError(`dims[${n}] must be an integer, got: ${o}`);if(o<0)throw new RangeError(`dims[${n}] must be a non-negative integer, got: ${o}`);t*=o}return t},_t=(e,t)=>{switch(e.location){case"cpu":return new U(e.type,e.data,t);case"cpu-pinned":return new U({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new U({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new U({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new U({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}});var U,ge=E(()=>{Tt();xt();Bt();Mt();U=class{constructor(t,n,o){vt();let r,i;if(typeof t=="object"&&"location"in t)switch(this.dataLocation=t.location,r=t.type,i=t.dims,t.location){case"cpu-pinned":{let s=q.get(r);if(!s)throw new TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(t.data instanceof s))throw new TypeError(`buffer should be of type ${s.name}`);this.cpuData=t.data;break}case"texture":{if(r!=="float32")throw new TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case"gpu-buffer":{if(r!=="float32"&&r!=="float16"&&r!=="int32"&&r!=="int64"&&r!=="uint32"&&r!=="uint8"&&r!=="bool"&&r!=="uint4"&&r!=="int4")throw new TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}case"ml-tensor":{if(r!=="float32"&&r!=="float16"&&r!=="int32"&&r!=="int64"&&r!=="uint32"&&r!=="uint64"&&r!=="int8"&&r!=="uint8"&&r!=="bool"&&r!=="uint4"&&r!=="int4")throw new TypeError(`unsupported type "${r}" to create tensor from MLTensor`);this.mlTensorData=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let s,u;if(typeof t=="string")if(r=t,u=o,t==="string"){if(!Array.isArray(n))throw new TypeError("A string tensor's data must be a string array.");s=n}else{let f=q.get(t);if(f===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(n)){if(t==="float16"&&f===Uint16Array||t==="uint4"||t==="int4")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${f.name} as data.`);t==="uint64"||t==="int64"?s=f.from(n,BigInt):s=f.from(n)}else if(n instanceof f)s=n;else if(n instanceof Uint8ClampedArray)if(t==="uint8")s=Uint8Array.from(n);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(t==="float16"&&n instanceof Uint16Array&&f!==Uint16Array)s=new globalThis.Float16Array(n.buffer,n.byteOffset,n.length);else throw new TypeError(`A ${r} tensor's data must be type of ${f}`)}else if(u=n,Array.isArray(t)){if(t.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let f=typeof t[0];if(f==="string")r="string",s=t;else if(f==="boolean")r="bool",s=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${f}.`)}else if(t instanceof Uint8ClampedArray)r="uint8",s=Uint8Array.from(t);else{let f=de.get(t.constructor);if(f===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);r=f,s=t}if(u===void 0)u=[s.length];else if(!Array.isArray(u))throw new TypeError("A tensor's dims must be a number array");i=u,this.cpuData=s,this.dataLocation="cpu"}let a=Ut(i);if(this.cpuData&&a!==this.cpuData.length&&!((r==="uint4"||r==="int4")&&Math.ceil(a/2)===this.cpuData.length))throw new Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=i,this.size=a}static async fromImage(t,n){return St(t,n)}static fromTexture(t,n){return At(t,n)}static fromGpuBuffer(t,n){return Ot(t,n)}static fromMLTensor(t,n){return It(t,n)}static fromPinnedBuffer(t,n,o){return Pt(t,n,o)}toDataURL(t){return gt(this,t)}toImageData(t){return Et(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(t){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let n=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=n,t&&this.disposer&&(this.disposer(),this.disposer=void 0),n}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return _t(this,t)}}});var W,Ze=E(()=>{ge();W=U});var Dt,Ct,J,Z,Xe=E(()=>{qe();Dt=(e,t)=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||console.timeStamp(`${e}::ORT::${t}`)},Ct=(e,t)=>{let n=new Error().stack?.split(/\r\n|\r|\n/g)||[],o=!1;for(let r=0;r<n.length;r++){if(o&&!n[r].includes("TRACE_FUNC")){let i=`FUNC_${e}::${n[r].trim().split(" ")[1]}`;t&&(i+=`::${t}`),Dt("CPU",i);return}n[r].includes("TRACE_FUNC")&&(o=!0)}},J=e=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||Ct("BEGIN",e)},Z=e=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||Ct("END",e)}});var Ee,Rt=E(()=>{Ye();Ze();Xe();Ee=class e{constructor(t){this.handler=t}async run(t,n,o){J();let r={},i={};if(typeof t!="object"||t===null||t instanceof W||Array.isArray(t))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let a=!0;if(typeof n=="object"){if(n===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(n instanceof W)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(n)){if(n.length===0)throw new TypeError("'fetches' cannot be an empty array.");a=!1;for(let f of n){if(typeof f!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(f)===-1)throw new RangeError(`'fetches' contains invalid output name: ${f}.`);r[f]=null}if(typeof o=="object"&&o!==null)i=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else{let f=!1,c=Object.getOwnPropertyNames(n);for(let l of this.outputNames)if(c.indexOf(l)!==-1){let d=n[l];(d===null||d instanceof W)&&(f=!0,a=!1,r[l]=d)}if(f){if(typeof o=="object"&&o!==null)i=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else i=n}}else if(typeof n<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let f of this.inputNames)if(typeof t[f]>"u")throw new Error(`input '${f}' is missing in 'feeds'.`);if(a)for(let f of this.outputNames)r[f]=null;let s=await this.handler.run(t,r,i),u={};for(let f in s)if(Object.hasOwnProperty.call(s,f)){let c=s[f];c instanceof W?u[f]=c:u[f]=new W(c.type,c.data,c.dims)}return Z(),u}async release(){return this.handler.dispose()}static async create(t,n,o,r){J();let i,a={};if(typeof t=="string"){if(i=t,typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(i=t,typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer){let c=t,l=0,d=t.byteLength;if(typeof n=="object"&&n!==null)a=n;else if(typeof n=="number"){if(l=n,!Number.isSafeInteger(l))throw new RangeError("'byteOffset' must be an integer.");if(l<0||l>=c.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${c.byteLength}).`);if(d=t.byteLength-l,typeof o=="number"){if(d=o,!Number.isSafeInteger(d))throw new RangeError("'byteLength' must be an integer.");if(d<=0||l+d>c.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${c.byteLength-l}].`);if(typeof r=="object"&&r!==null)a=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(typeof o<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof n<"u")throw new TypeError("'options' must be an object.");i=new Uint8Array(c,l,d)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[s,u]=await pt(a),f=await s.createInferenceSessionHandler(i,u);return Z(),new e(f)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}});var Ln,Ft=E(()=>{Rt();Ln=Ee});var kt=E(()=>{});var Nt=E(()=>{});var Wt=E(()=>{});var Gt=E(()=>{});var Ke={};Ve(Ke,{InferenceSession:()=>Ln,TRACE:()=>Dt,TRACE_FUNC_BEGIN:()=>J,TRACE_FUNC_END:()=>Z,Tensor:()=>W,env:()=>I,registerBackend:()=>ce});var X=E(()=>{mt();bt();Ft();Ze();kt();Nt();Xe();Wt();Gt()});var Te=E(()=>{"use strict"});var jt={};Ve(jt,{default:()=>vn});var zt,Ht,vn,Vt=E(()=>{"use strict";Qe();K();Se();zt="ort-wasm-proxy-worker",Ht=globalThis.self?.name===zt;Ht&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case"init-wasm":Ae(n.wasm).then(()=>{Oe(n).then(()=>{postMessage({type:t})},o=>{postMessage({type:t,err:o})})},o=>{postMessage({type:t,err:o})});break;case"init-ep":{let{epName:o,env:r}=n;Ie(r,o).then(()=>{postMessage({type:t})},i=>{postMessage({type:t,err:i})});break}case"copy-from":{let{buffer:o}=n,r=le(o);postMessage({type:t,out:r});break}case"create":{let{model:o,options:r}=n;Pe(o,r).then(i=>{postMessage({type:t,out:i})},i=>{postMessage({type:t,err:i})});break}case"release":xe(n),postMessage({type:t});break;case"run":{let{sessionId:o,inputIndices:r,inputs:i,outputIndices:a,options:s}=n;Le(o,r,i,a,new Array(a.length).fill(null),s).then(u=>{u.some(f=>f[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:u},Be([...i,...u]))},u=>{postMessage({type:t,err:u})});break}case"end-profiling":ve(n),postMessage({type:t});break;default:}}catch(o){postMessage({type:t,err:o})}});vn=Ht?null:e=>new Worker(e??R,{type:"module",name:zt})});var Jt,Bn,Un,R,Ue,et,_n,Mn,Zt,Dn,Yt,Xt,qt,Kt,Se=E(()=>{"use strict";Te();Jt=typeof location>"u"?void 0:location.origin,Bn=import.meta.url>"file:"&&import.meta.url<"file;",Un=()=>{if(!!1){if(Bn){let e=URL;return new URL(new e("ort.wasm.bundle.min.mjs",import.meta.url).href,Jt).href}return import.meta.url}},R=Un(),Ue=()=>{if(R&&!R.startsWith("blob:"))return R.substring(0,R.lastIndexOf("/")+1)},et=(e,t)=>{try{let n=t??R;return(n?new URL(e,n):new URL(e)).origin===Jt}catch{return!1}},_n=(e,t)=>{let n=t??R;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},Mn=(e,t)=>`${t??"./"}${e}`,Zt=async e=>{let n=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(n)},Dn=async e=>(await import(/*webpackIgnore:true*/e)).default,Yt=(Vt(),lt(jt)).default,Xt=async()=>{if(!R)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(et(R))return[void 0,Yt()];let e=await Zt(R);return[e,Yt(e)]},qt=void 0,Kt=async(e,t,n)=>{if(!e&&!t&&qt&&R&&et(R))return[void 0,qt];{let o="ort-wasm-simd-threaded.mjs",r=e??_n(o,t),i=!!1&&n&&r&&!et(r,t),a=i?await Zt(r):r??Mn(o,t);return[i?a:void 0,await Dn(a)]}}});var tt,nt,_e,Qt,Cn,Rn,Fn,Ae,A,K=E(()=>{"use strict";Se();nt=!1,_e=!1,Qt=!1,Cn=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},Rn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Fn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},Ae=async e=>{if(nt)return Promise.resolve();if(_e)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Qt)throw new Error("previous call to 'initializeWebAssembly()' failed.");_e=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd==="relaxed"){if(!Fn())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!Rn())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let o=Cn();n>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+n+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=n=1);let r=e.wasmPaths,i=typeof r=="string"?r:void 0,a=r?.mjs,s=a?.href??a,u=r?.wasm,f=u?.href??u,c=e.wasmBinary,[l,d]=await Kt(s,i,n>1),p=!1,w=[];if(t>0&&w.push(new Promise(b=>{setTimeout(()=>{p=!0,b()},t)})),w.push(new Promise((b,O)=>{let m={numThreads:n};if(c)m.wasmBinary=c;else if(f||i)m.locateFile=h=>f??i+h;else if(s&&s.indexOf("blob:")!==0)m.locateFile=h=>new URL(h,s).href;else if(l){let h=Ue();h&&(m.locateFile=P=>h+P)}d(m).then(h=>{_e=!1,nt=!0,tt=h,b(),l&&URL.revokeObjectURL(l)},h=>{_e=!1,Qt=!0,O(h)})})),await Promise.race(w),p)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},A=()=>{if(nt&&tt)return tt;throw new Error("WebAssembly is not initialized yet.")}});var F,pe,T,Me=E(()=>{"use strict";K();F=(e,t)=>{let n=A(),o=n.lengthBytesUTF8(e)+1,r=n._malloc(o);return n.stringToUTF8(e,r,o),t.push(r),r},pe=(e,t,n,o)=>{if(typeof e=="object"&&e!==null){if(n.has(e))throw new Error("Circular reference in options");n.add(e)}Object.entries(e).forEach(([r,i])=>{let a=t?t+r:r;if(typeof i=="object")pe(i,a+".",n,o);else if(typeof i=="string"||typeof i=="number")o(a,i.toString());else if(typeof i=="boolean")o(a,i?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof i}`)})},T=e=>{let t=A(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetLastError(r,r+o);let i=Number(t.getValue(r,o===4?"i32":"i64")),a=t.getValue(r+o,"*"),s=a?t.UTF8ToString(a):"";throw new Error(`${e} ERROR_CODE: ${i}, ERROR_MESSAGE: ${s}`)}finally{t.stackRestore(n)}}});var en,tn=E(()=>{"use strict";K();Me();en=e=>{let t=A(),n=0,o=[],r=e||{};try{if(e?.logSeverityLevel===void 0)r.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)r.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(r.terminate=!1);let i=0;return e?.tag!==void 0&&(i=F(e.tag,o)),n=t._OrtCreateRunOptions(r.logSeverityLevel,r.logVerbosityLevel,!!r.terminate,i),n===0&&T("Can't create run options."),e?.extra!==void 0&&pe(e.extra,"",new WeakSet,(a,s)=>{let u=F(a,o),f=F(s,o);t._OrtAddRunConfigEntry(n,u,f)!==0&&T(`Can't set a run config entry: ${a} - ${s}.`)}),[n,o]}catch(i){throw n!==0&&t._OrtReleaseRunOptions(n),o.forEach(a=>t._free(a)),i}}});var kn,Nn,Wn,De,Gn,nn,rn=E(()=>{"use strict";K();Me();kn=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},Nn=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},Wn=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(n=>(typeof n=="string"?n:n.name)==="webgpu")&&(e.enableMemPattern=!1)},De=(e,t,n,o)=>{let r=F(t,o),i=F(n,o);A()._OrtAddSessionConfigEntry(e,r,i)!==0&&T(`Can't set a session config entry: ${t} - ${n}.`)},Gn=async(e,t,n)=>{for(let o of t){let r=typeof o=="string"?o:o.name,i=[];switch(r){case"webnn":if(r="WEBNN",typeof o!="string"){let l=o?.deviceType;l&&De(e,"deviceType",l,n)}break;case"webgpu":if(r="JS",typeof o!="string"){let c=o;if(c?.preferredLayout){if(c.preferredLayout!=="NCHW"&&c.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${c.preferredLayout}`);De(e,"preferredLayout",c.preferredLayout,n)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${r}`)}let a=F(r,n),s=i.length,u=0,f=0;if(s>0){u=A()._malloc(s*A().PTR_SIZE),n.push(u),f=A()._malloc(s*A().PTR_SIZE),n.push(f);for(let c=0;c<s;c++)A().setValue(u+c*A().PTR_SIZE,i[c][0],"*"),A().setValue(f+c*A().PTR_SIZE,i[c][1],"*")}await A()._OrtAppendExecutionProvider(e,a,u,f,s)!==0&&T(`Can't append execution provider: ${r}.`)}},nn=async e=>{let t=A(),n=0,o=[],r=e||{};Wn(r);try{let i=kn(r.graphOptimizationLevel??"all"),a=Nn(r.executionMode??"sequential"),s=typeof r.logId=="string"?F(r.logId,o):0,u=r.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log serverity level is not valid: ${u}`);let f=r.logVerbosityLevel??0;if(!Number.isInteger(f)||f<0||f>4)throw new Error(`log verbosity level is not valid: ${f}`);let c=typeof r.optimizedModelFilePath=="string"?F(r.optimizedModelFilePath,o):0;if(n=t._OrtCreateSessionOptions(i,!!r.enableCpuMemArena,!!r.enableMemPattern,a,!!r.enableProfiling,0,s,u,f,c),n===0&&T("Can't create session options."),r.executionProviders&&await Gn(n,r.executionProviders,o),r.enableGraphCapture!==void 0){if(typeof r.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${r.enableGraphCapture}`);De(n,"enableGraphCapture",r.enableGraphCapture.toString(),o)}if(r.freeDimensionOverrides)for(let[l,d]of Object.entries(r.freeDimensionOverrides)){if(typeof l!="string")throw new Error(`free dimension override name must be a string: ${l}`);if(typeof d!="number"||!Number.isInteger(d)||d<0)throw new Error(`free dimension override value must be a non-negative integer: ${d}`);let p=F(l,o);t._OrtAddFreeDimensionOverride(n,p,d)!==0&&T(`Can't set a free dimension override: ${l} - ${d}.`)}return r.extra!==void 0&&pe(r.extra,"",new WeakSet,(l,d)=>{De(n,l,d,o)}),[n,o]}catch(i){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&T("Can't release session options."),o.forEach(a=>t._free(a)),i}}});var re,Ce,oe,on,sn,Re,Fe,an,rt=E(()=>{"use strict";re=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${e}`)}},Ce=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${e}`)}},oe=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],o=typeof t=="number"?t:t.reduce((r,i)=>r*i,1);return n>0?Math.ceil(o*n):void 0},on=e=>{switch(e){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},sn=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},Re=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",Fe=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",an=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${e}`)}}});var me,ot=E(()=>{"use strict";Te();me=async e=>{if(typeof e=="string")if(!1)try{let{readFile:t}=je("node:fs/promises");return new Uint8Array(await t(e))}catch(t){if(t.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:n}=je("node:fs"),o=n(e),r=[];for await(let i of o)r.push(i);return new Uint8Array(Buffer.concat(r))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let n=t.headers.get("Content-Length"),o=n?parseInt(n,10):0;if(o<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let r=t.body.getReader(),i;try{i=new ArrayBuffer(o)}catch(s){if(s instanceof RangeError){let u=Math.ceil(o/65536);i=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw s}let a=0;for(;;){let{done:s,value:u}=await r.read();if(s)break;let f=u.byteLength;new Uint8Array(i,a,f).set(u),a+=f}return new Uint8Array(i,0,o)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});var $n,Oe,Ie,se,zn,un,le,Pe,xe,fn,Le,ve,Be,Qe=E(()=>{"use strict";tn();rn();rt();K();Me();ot();$n=(e,t)=>{A()._OrtInit(e,t)!==0&&T("Can't initialize onnxruntime.")},Oe=async e=>{$n(e.wasm.numThreads,sn(e.logLevel))},Ie=async(e,t)=>{A().asyncInit?.()},se=new Map,zn=e=>{let t=A(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetInputOutputCount(e,r,r+o)!==0&&T("Can't get session input/output count.");let a=o===4?"i32":"i64";return[Number(t.getValue(r,a)),Number(t.getValue(r+o,a))]}finally{t.stackRestore(n)}},un=(e,t)=>{let n=A(),o=n.stackSave(),r=0;try{let i=n.PTR_SIZE,a=n.stackAlloc(2*i);n._OrtGetInputOutputMetadata(e,t,a,a+i)!==0&&T("Can't get session input/output metadata.");let u=Number(n.getValue(a,"*"));r=Number(n.getValue(a+i,"*"));let f=n.HEAP32[r/4];if(f===0)return[u,0];let c=n.HEAPU32[r/4+1],l=[];for(let d=0;d<c;d++){let p=Number(n.getValue(r+8+d*i,"*"));l.push(p!==0?n.UTF8ToString(p):Number(n.getValue(r+8+(d+c)*i,"*")))}return[u,f,l]}finally{n.stackRestore(o),r!==0&&n._OrtFree(r)}},le=e=>{let t=A(),n=t._malloc(e.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},Pe=async(e,t)=>{let n,o,r=A();Array.isArray(e)?[n,o]=e:e.buffer===r.HEAPU8.buffer?[n,o]=[e.byteOffset,e.byteLength]:[n,o]=le(e);let i=0,a=0,s=0,u=[],f=[],c=[];try{if([a,u]=await nn(t),t?.externalData&&r.mountExternalData){let g=[];for(let S of t.externalData){let B=typeof S=="string"?S:S.path;g.push(me(typeof S=="string"?S:S.data).then(D=>{r.mountExternalData(B,D)}))}await Promise.all(g)}for(let g of t?.executionProviders??[])if((typeof g=="string"?g:g.name)==="webnn"){if(r.shouldTransferToMLTensor=!1,typeof g!="string"){let B=g,D=B?.context,_=B?.gpuDevice,te=B?.deviceType,ue=B?.powerPreference;D?r.currentContext=D:_?r.currentContext=await r.webnnCreateMLContext(_):r.currentContext=await r.webnnCreateMLContext({deviceType:te,powerPreference:ue})}else r.currentContext=await r.webnnCreateMLContext();break}i=await r._OrtCreateSession(n,o,a),r.webgpuOnCreateSession?.(i),i===0&&T("Can't create a session."),r.jsepOnCreateSession?.(),r.currentContext&&(r.webnnRegisterMLContext(i,r.currentContext),r.currentContext=void 0,r.shouldTransferToMLTensor=!0);let[l,d]=zn(i),p=!!t?.enableGraphCapture,w=[],b=[],O=[],m=[],h=[];for(let g=0;g<l;g++){let[S,B,D]=un(i,g);S===0&&T("Can't get an input name."),f.push(S);let _=r.UTF8ToString(S);w.push(_),O.push(B===0?{name:_,isTensor:!1}:{name:_,isTensor:!0,type:Ce(B),shape:D})}for(let g=0;g<d;g++){let[S,B,D]=un(i,g+l);S===0&&T("Can't get an output name."),c.push(S);let _=r.UTF8ToString(S);b.push(_),m.push(B===0?{name:_,isTensor:!1}:{name:_,isTensor:!0,type:Ce(B),shape:D})}return se.set(i,[i,f,c,null,p,!1]),[i,w,b,O,m]}catch(l){throw f.forEach(d=>r._OrtFree(d)),c.forEach(d=>r._OrtFree(d)),s!==0&&r._OrtReleaseBinding(s)!==0&&T("Can't release IO binding."),i!==0&&r._OrtReleaseSession(i)!==0&&T("Can't release session."),l}finally{r._free(n),a!==0&&r._OrtReleaseSessionOptions(a)!==0&&T("Can't release session options."),u.forEach(l=>r._free(l)),r.unmountExternalData?.()}},xe=e=>{let t=A(),n=se.get(e);if(!n)throw new Error(`cannot release session. invalid session id: ${e}`);let[o,r,i,a,s]=n;a&&(s&&t._OrtClearBoundOutputs(a.handle)!==0&&T("Can't clear bound outputs."),t._OrtReleaseBinding(a.handle)!==0&&T("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),r.forEach(u=>t._OrtFree(u)),i.forEach(u=>t._OrtFree(u)),t._OrtReleaseSession(o)!==0&&T("Can't release session."),se.delete(e)},fn=async(e,t,n,o,r,i,a=!1)=>{if(!e){t.push(0);return}let s=A(),u=s.PTR_SIZE,f=e[0],c=e[1],l=e[3],d=l,p,w;if(f==="string"&&(l==="gpu-buffer"||l==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(a&&l!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${i} when enableGraphCapture is true.`);if(l==="gpu-buffer"){let m=e[2].gpuBuffer;w=oe(re(f),c);{let h=s.jsepRegisterBuffer;if(!h)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');p=h(o,i,m,w)}}else if(l==="ml-tensor"){let m=e[2].mlTensor;w=oe(re(f),c);let h=s.webnnRegisterMLTensor;if(!h)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');p=h(o,m,re(f),c)}else{let m=e[2];if(Array.isArray(m)){w=u*m.length,p=s._malloc(w),n.push(p);for(let h=0;h<m.length;h++){if(typeof m[h]!="string")throw new TypeError(`tensor data at index ${h} is not a string`);s.setValue(p+h*u,F(m[h],n),"*")}}else{let h=s.webnnIsGraphInput,P=s.webnnIsGraphOutput;if(f!=="string"&&h&&P){let g=s.UTF8ToString(r);if(h(o,g)||P(o,g)){let S=re(f);w=oe(S,c),d="ml-tensor";let B=s.webnnCreateTemporaryTensor,D=s.webnnUploadTensor;if(!B||!D)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let _=await B(o,S,c);D(_,new Uint8Array(m.buffer,m.byteOffset,m.byteLength)),p=_}else w=m.byteLength,p=s._malloc(w),n.push(p),s.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,w),p)}else w=m.byteLength,p=s._malloc(w),n.push(p),s.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,w),p)}}let b=s.stackSave(),O=s.stackAlloc(4*c.length);try{c.forEach((h,P)=>s.setValue(O+P*u,h,u===4?"i32":"i64"));let m=s._OrtCreateTensor(re(f),p,w,O,c.length,an(d));m===0&&T(`Can't create tensor for input/output. session=${o}, index=${i}.`),t.push(m)}finally{s.stackRestore(b)}},Le=async(e,t,n,o,r,i)=>{let a=A(),s=a.PTR_SIZE,u=se.get(e);if(!u)throw new Error(`cannot run inference. invalid session id: ${e}`);let f=u[0],c=u[1],l=u[2],d=u[3],p=u[4],w=u[5],b=t.length,O=o.length,m=0,h=[],P=[],g=[],S=[],B=a.stackSave(),D=a.stackAlloc(b*s),_=a.stackAlloc(b*s),te=a.stackAlloc(O*s),ue=a.stackAlloc(O*s);try{[m,h]=en(i);for(let y=0;y<b;y++)await fn(n[y],P,S,e,c[t[y]],t[y],p);for(let y=0;y<O;y++)await fn(r[y],g,S,e,l[o[y]],b+o[y],p);for(let y=0;y<b;y++)a.setValue(D+y*s,P[y],"*"),a.setValue(_+y*s,c[t[y]],"*");for(let y=0;y<O;y++)a.setValue(te+y*s,g[y],"*"),a.setValue(ue+y*s,l[o[y]],"*");a.jsepOnRunStart?.(f),a.webnnOnRunStart?.(f);let k;k=await a._OrtRun(f,_,D,b,ue,O,te,m),k!==0&&T("failed to call OrtRun().");let $=[],ut=[];for(let y=0;y<O;y++){let z=Number(a.getValue(te+y*s,"*"));if(z===g[y]){$.push(r[y]);continue}let ft=a.stackSave(),G=a.stackAlloc(4*s),ne=!1,L,M=0;try{a._OrtGetTensorData(z,G,G+s,G+2*s,G+3*s)!==0&&T(`Can't access output tensor data on index ${y}.`);let ze=s===4?"i32":"i64",he=Number(a.getValue(G,ze));M=a.getValue(G+s,"*");let ct=a.getValue(G+s*2,"*"),Sn=Number(a.getValue(G+s*3,ze)),H=[];for(let v=0;v<Sn;v++)H.push(Number(a.getValue(ct+v*s,ze)));a._OrtFree(ct)!==0&&T("Can't free memory for tensor dims.");let j=H.reduce((v,x)=>v*x,1);L=Ce(he);let fe=d?.outputPreferredLocations[o[y]];if(L==="string"){if(fe==="gpu-buffer"||fe==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let v=[];for(let x=0;x<j;x++){let V=a.getValue(M+x*s,"*"),ye=a.getValue(M+(x+1)*s,"*"),dt=x===j-1?void 0:ye-V;v.push(a.UTF8ToString(V,dt))}$.push([L,H,v,"cpu"])}else if(fe==="gpu-buffer"&&j>0){let v=a.jsepGetBuffer;if(!v)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let x=v(M),V=oe(he,j);if(V===void 0||!Re(L))throw new Error(`Unsupported data type: ${L}`);ne=!0,$.push([L,H,{gpuBuffer:x,download:a.jsepCreateDownloader(x,V,L),dispose:()=>{a._OrtReleaseTensor(z)!==0&&T("Can't release tensor.")}},"gpu-buffer"])}else if(fe==="ml-tensor"&&j>0){let v=a.webnnEnsureTensor,x=a.webnnIsGraphInputOutputTypeSupported;if(!v||!x)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(oe(he,j)===void 0||!Fe(L))throw new Error(`Unsupported data type: ${L}`);if(!x(e,L,!1))throw new Error(`preferredLocation "ml-tensor" for ${L} output is not supported by current WebNN Context.`);let ye=await v(e,M,he,H,!1);ne=!0,$.push([L,H,{mlTensor:ye,download:a.webnnCreateMLTensorDownloader(M,L),dispose:()=>{a.webnnReleaseTensorId(M),a._OrtReleaseTensor(z)}},"ml-tensor"])}else if(fe==="ml-tensor-cpu-output"&&j>0){let v=a.webnnCreateMLTensorDownloader(M,L)(),x=$.length;ne=!0,ut.push((async()=>{let V=[x,await v];return a.webnnReleaseTensorId(M),a._OrtReleaseTensor(z),V})()),$.push([L,H,[],"cpu"])}else{let v=on(L),x=new v(j);new Uint8Array(x.buffer,x.byteOffset,x.byteLength).set(a.HEAPU8.subarray(M,M+x.byteLength)),$.push([L,H,x,"cpu"])}}finally{a.stackRestore(ft),L==="string"&&M&&a._free(M),ne||a._OrtReleaseTensor(z)}}d&&!p&&(a._OrtClearBoundOutputs(d.handle)!==0&&T("Can't clear bound outputs."),se.set(e,[f,c,l,d,p,!1]));for(let[y,z]of await Promise.all(ut))$[y][2]=z;return $}finally{a.webnnOnRunEnd?.(f),a.stackRestore(B),P.forEach(k=>a._OrtReleaseTensor(k)),g.forEach(k=>a._OrtReleaseTensor(k)),S.forEach(k=>a._free(k)),m!==0&&a._OrtReleaseRunOptions(m),h.forEach(k=>a._free(k))}},ve=e=>{let t=A(),n=se.get(e);if(!n)throw new Error("invalid session id");let o=n[0],r=t._OrtEndProfiling(o);r===0&&T("Can't get an profile file name."),t._OrtFree(r)},Be=e=>{let t=[];for(let n of e){let o=n[2];!Array.isArray(o)&&"buffer"in o&&t.push(o.buffer)}return t}});var ee,N,we,Ne,We,ke,st,at,ae,ie,jn,cn,dn,ln,pn,mn,wn,hn,it=E(()=>{"use strict";X();Qe();K();Se();ee=()=>!!I.wasm.proxy&&typeof document<"u",we=!1,Ne=!1,We=!1,at=new Map,ae=(e,t)=>{let n=at.get(e);n?n.push(t):at.set(e,[t])},ie=()=>{if(we||!Ne||We||!N)throw new Error("worker not ready")},jn=e=>{switch(e.data.type){case"init-wasm":we=!1,e.data.err?(We=!0,st[1](e.data.err)):(Ne=!0,st[0]()),ke&&(URL.revokeObjectURL(ke),ke=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=at.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},cn=async()=>{if(!Ne){if(we)throw new Error("multiple calls to 'initWasm()' detected.");if(We)throw new Error("previous call to 'initWasm()' failed.");if(we=!0,ee())return new Promise((e,t)=>{N?.terminate(),Xt().then(([n,o])=>{try{N=o,N.onerror=i=>t(i),N.onmessage=jn,st=[e,t];let r={type:"init-wasm",in:I};if(!r.in.wasm.wasmPaths&&n){let i=Ue();i&&(r.in.wasm.wasmPaths=i)}N.postMessage(r),ke=n}catch(r){t(r)}},t)});try{await Ae(I.wasm),await Oe(I),Ne=!0}catch(e){throw We=!0,e}finally{we=!1}}},dn=async e=>{if(ee())return ie(),new Promise((t,n)=>{ae("init-ep",[t,n]);let o={type:"init-ep",in:{epName:e,env:I}};N.postMessage(o)});await Ie(I,e)},ln=async e=>ee()?(ie(),new Promise((t,n)=>{ae("copy-from",[t,n]);let o={type:"copy-from",in:{buffer:e}};N.postMessage(o,[e.buffer])})):le(e),pn=async(e,t)=>{if(ee()){if(t?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return ie(),new Promise((n,o)=>{ae("create",[n,o]);let r={type:"create",in:{model:e,options:{...t}}},i=[];e instanceof Uint8Array&&i.push(e.buffer),N.postMessage(r,i)})}else return Pe(e,t)},mn=async e=>{if(ee())return ie(),new Promise((t,n)=>{ae("release",[t,n]);let o={type:"release",in:e};N.postMessage(o)});xe(e)},wn=async(e,t,n,o,r,i)=>{if(ee()){if(n.some(a=>a[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(r.some(a=>a))throw new Error("pre-allocated output tensor is not supported for proxy.");return ie(),new Promise((a,s)=>{ae("run",[a,s]);let u=n,f={type:"run",in:{sessionId:e,inputIndices:t,inputs:u,outputIndices:o,options:i}};N.postMessage(f,Be(u))})}else return Le(e,t,n,o,r,i)},hn=async e=>{if(ee())return ie(),new Promise((t,n)=>{ae("end-profiling",[t,n]);let o={type:"end-profiling",in:e};N.postMessage(o)});ve(e)}});var yn,Vn,Ge,bn=E(()=>{"use strict";X();it();rt();Te();ot();yn=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},Vn=e=>{switch(e[3]){case"cpu":return new W(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!Re(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:o,dispose:r}=e[2];return W.fromGpuBuffer(n,{dataType:t,dims:e[1],download:o,dispose:r})}case"ml-tensor":{let t=e[0];if(!Fe(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:o,dispose:r}=e[2];return W.fromMLTensor(n,{dataType:t,dims:e[1],download:o,dispose:r})}default:throw new Error(`invalid data location: ${e[3]}`)}},Ge=class{async fetchModelAndCopyToWasmMemory(t){return ln(await me(t))}async loadModel(t,n){J();let o;typeof t=="string"?o=await this.fetchModelAndCopyToWasmMemory(t):o=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await pn(o,n),Z()}async dispose(){return mn(this.sessionId)}async run(t,n,o){J();let r=[],i=[];Object.entries(t).forEach(d=>{let p=d[0],w=d[1],b=this.inputNames.indexOf(p);if(b===-1)throw new Error(`invalid input '${p}'`);r.push(w),i.push(b)});let a=[],s=[];Object.entries(n).forEach(d=>{let p=d[0],w=d[1],b=this.outputNames.indexOf(p);if(b===-1)throw new Error(`invalid output '${p}'`);a.push(w),s.push(b)});let u=r.map((d,p)=>yn(d,()=>`input "${this.inputNames[i[p]]}"`)),f=a.map((d,p)=>d?yn(d,()=>`output "${this.outputNames[s[p]]}"`):null),c=await wn(this.sessionId,i,u,s,f,o),l={};for(let d=0;d<c.length;d++)l[this.outputNames[s[d]]]=a[d]??Vn(c[d]);return Z(),l}startProfiling(){}endProfiling(){hn(this.sessionId)}}});var En={};Ve(En,{OnnxruntimeWebAssemblyBackend:()=>$e,initializeFlags:()=>gn,wasmBackend:()=>Yn});var gn,$e,Yn,Tn=E(()=>{"use strict";X();it();bn();gn=()=>{(typeof I.wasm.initTimeout!="number"||I.wasm.initTimeout<0)&&(I.wasm.initTimeout=0);let e=I.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),I.wasm.simd=!1),typeof I.wasm.proxy!="boolean"&&(I.wasm.proxy=!1),typeof I.wasm.trace!="boolean"&&(I.wasm.trace=!1),typeof I.wasm.numThreads!="number"||!Number.isInteger(I.wasm.numThreads)||I.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)I.wasm.numThreads=1;else{let t=typeof navigator>"u"?je("node:os").cpus().length:navigator.hardwareConcurrency;I.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},$e=class{async init(t){gn(),await cn(),await dn(t)}async createInferenceSessionHandler(t,n){let o=new Ge;return await o.loadModel(t,n),o}},Yn=new $e});X();X();X();var $t="1.23.0";var vo=Ke;{let e=(Tn(),lt(En)).wasmBackend;ce("cpu",e,10),ce("wasm",e,10)}Object.defineProperty(I.versions,"web",{value:$t,enumerable:!0});export{Ln as InferenceSession,Dt as TRACE,J as TRACE_FUNC_BEGIN,Z as TRACE_FUNC_END,W as Tensor,vo as default,I as env,ce as registerBackend};
|
| 7 |
+
//# sourceMappingURL=ort.wasm.bundle.min.mjs.map
|
dist/ort.wasm.bundle.min.mjs.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.wasm.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.wasm.min.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.23.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
"use strict";var ort=(()=>{var je=Object.defineProperty;var An=Object.getOwnPropertyDescriptor;var On=Object.getOwnPropertyNames;var In=Object.prototype.hasOwnProperty;var Ve=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var be=(e,t)=>{for(var n in t)je(e,n,{get:t[n],enumerable:!0})},Pn=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of On(t))!In.call(e,r)&&r!==n&&je(e,r,{get:()=>t[r],enumerable:!(o=An(t,r))||o.enumerable});return e};var Ye=e=>Pn(je({},"__esModule",{value:!0}),e);var ge,J,re,Ln,mt,qe=E(()=>{ge=new Map,J=[],re=(e,t,n)=>{if(t&&typeof t.init=="function"&&typeof t.createInferenceSessionHandler=="function"){let o=ge.get(e);if(o===void 0)ge.set(e,{backend:t,priority:n});else{if(o.priority>n)return;if(o.priority===n&&o.backend!==t)throw new Error(`cannot register backend "${e}" using priority ${n}`)}if(n>=0){let r=J.indexOf(e);r!==-1&&J.splice(r,1);for(let i=0;i<J.length;i++)if(ge.get(J[i]).priority<=n){J.splice(i,0,e);return}J.push(e)}return}throw new TypeError("not a valid backend")},Ln=async e=>{let t=ge.get(e);if(!t)return"backend not found.";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(o){return n||(t.error=`${o}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},mt=async e=>{let t=e.executionProviders||[],n=t.map(u=>typeof u=="string"?u:u.name),o=n.length===0?J:n,r,i=[],a=new Set;for(let u of o){let f=await Ln(u);typeof f=="string"?i.push({name:u,err:f}):(r||(r=f),r===f&&a.add(u))}if(!r)throw new Error(`no available backend found. ERR: ${i.map(u=>`[${u.name}] ${u.err}`).join(", ")}`);for(let{name:u,err:f}of i)n.includes(u)&&console.warn(`removing requested execution provider "${u}" from session options because it is not available: ${f}`);let s=t.filter(u=>a.has(typeof u=="string"?u:u.name));return[r,new Proxy(e,{get:(u,f)=>f==="executionProviders"?s:Reflect.get(u,f)})]}});var wt=E(()=>{qe()});var ht,yt=E(()=>{ht="1.23.0"});var bt,C,Je=E(()=>{yt();bt="warning",C={wasm:{},webgl:{},webgpu:{},versions:{common:ht},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);bt=e}},get logLevel(){return bt}};Object.defineProperty(C,"logLevel",{enumerable:!0})});var O,gt=E(()=>{Je();O=C});var Et,Tt,St=E(()=>{Et=(e,t)=>{let n=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let o=n.getContext("2d");if(o!=null){let r,i;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(r=e.dims[2],i=e.dims[3]):(r=e.dims[3],i=e.dims[2]);let a=t?.format!==void 0?t.format:"RGB",s=t?.norm,u,f;s===void 0||s.mean===void 0?u=[255,255,255,255]:typeof s.mean=="number"?u=[s.mean,s.mean,s.mean,s.mean]:(u=[s.mean[0],s.mean[1],s.mean[2],0],s.mean[3]!==void 0&&(u[3]=s.mean[3])),s===void 0||s.bias===void 0?f=[0,0,0,0]:typeof s.bias=="number"?f=[s.bias,s.bias,s.bias,s.bias]:(f=[s.bias[0],s.bias[1],s.bias[2],0],s.bias[3]!==void 0&&(f[3]=s.bias[3]));let c=i*r,l=0,d=c,p=c*2,w=-1;a==="RGBA"?(l=0,d=c,p=c*2,w=c*3):a==="RGB"?(l=0,d=c,p=c*2):a==="RBG"&&(l=0,p=c,d=c*2);for(let b=0;b<i;b++)for(let I=0;I<r;I++){let m=(e.data[l++]-f[0])*u[0],h=(e.data[d++]-f[1])*u[1],P=(e.data[p++]-f[2])*u[2],g=w===-1?255:(e.data[w++]-f[3])*u[3];o.fillStyle="rgba("+m+","+h+","+P+","+g+")",o.fillRect(I,b,1,1)}if("toDataURL"in n)return n.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},Tt=(e,t)=>{let n=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),o;if(n!=null){let r,i,a;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(r=e.dims[2],i=e.dims[1],a=e.dims[3]):(r=e.dims[3],i=e.dims[2],a=e.dims[1]);let s=t!==void 0&&t.format!==void 0?t.format:"RGB",u=t?.norm,f,c;u===void 0||u.mean===void 0?f=[255,255,255,255]:typeof u.mean=="number"?f=[u.mean,u.mean,u.mean,u.mean]:(f=[u.mean[0],u.mean[1],u.mean[2],255],u.mean[3]!==void 0&&(f[3]=u.mean[3])),u===void 0||u.bias===void 0?c=[0,0,0,0]:typeof u.bias=="number"?c=[u.bias,u.bias,u.bias,u.bias]:(c=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(c[3]=u.bias[3]));let l=i*r;if(t!==void 0&&(t.format!==void 0&&a===4&&t.format!=="RGBA"||a===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let d=4,p=0,w=1,b=2,I=3,m=0,h=l,P=l*2,g=-1;s==="RGBA"?(m=0,h=l,P=l*2,g=l*3):s==="RGB"?(m=0,h=l,P=l*2):s==="RBG"&&(m=0,P=l,h=l*2),o=n.createImageData(r,i);for(let S=0;S<i*r;p+=d,w+=d,b+=d,I+=d,S++)o.data[p]=(e.data[m++]-c[0])*f[0],o.data[w]=(e.data[h++]-c[1])*f[1],o.data[b]=(e.data[P++]-c[2])*f[2],o.data[I]=g===-1?255:(e.data[g++]-c[3])*f[3]}else throw new Error("Can not access image data");return o}});var Ze,At,Ot,It,Pt,Lt,xt=E(()=>{Ee();Ze=(e,t)=>{if(e===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:n,width:o}=t,r=t.norm??{mean:255,bias:0},i,a;typeof r.mean=="number"?i=[r.mean,r.mean,r.mean,r.mean]:i=[r.mean[0],r.mean[1],r.mean[2],r.mean[3]??255],typeof r.bias=="number"?a=[r.bias,r.bias,r.bias,r.bias]:a=[r.bias[0],r.bias[1],r.bias[2],r.bias[3]??0];let s=t.format!==void 0?t.format:"RGBA",u=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",f=n*o,c=u==="RGBA"?new Float32Array(f*4):new Float32Array(f*3),l=4,d=0,p=1,w=2,b=3,I=0,m=f,h=f*2,P=-1;s==="RGB"&&(l=3,d=0,p=1,w=2,b=-1),u==="RGBA"?P=f*3:u==="RBG"?(I=0,h=f,m=f*2):u==="BGR"&&(h=0,m=f,I=f*2);for(let S=0;S<f;S++,d+=l,w+=l,p+=l,b+=l)c[I++]=(e[d]+a[0])/i[0],c[m++]=(e[p]+a[1])/i[1],c[h++]=(e[w]+a[2])/i[2],P!==-1&&b!==-1&&(c[P++]=(e[b]+a[3])/i[3]);return u==="RGBA"?new U("float32",c,[1,4,n,o]):new U("float32",c,[1,3,n,o])},At=async(e,t)=>{let n=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,o=typeof ImageData<"u"&&e instanceof ImageData,r=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,i=typeof e=="string",a,s=t??{},u=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},f=c=>typeof HTMLCanvasElement<"u"&&c instanceof HTMLCanvasElement||c instanceof OffscreenCanvas?c.getContext("2d"):null;if(n){let c=u();c.width=e.width,c.height=e.height;let l=f(c);if(l!=null){let d=e.height,p=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(d=t.resizedHeight,p=t.resizedWidth),t!==void 0){if(s=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");s.tensorFormat="RGBA",s.height=d,s.width=p}else s.tensorFormat="RGBA",s.height=d,s.width=p;l.drawImage(e,0,0),a=l.getImageData(0,0,p,d).data}else throw new Error("Can not access image data")}else if(o){let c,l;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(c=t.resizedHeight,l=t.resizedWidth):(c=e.height,l=e.width),t!==void 0&&(s=t),s.format="RGBA",s.height=c,s.width=l,t!==void 0){let d=u();d.width=l,d.height=c;let p=f(d);if(p!=null)p.putImageData(e,0,0),a=p.getImageData(0,0,l,c).data;else throw new Error("Can not access image data")}else a=e.data}else if(r){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");let c=u();c.width=e.width,c.height=e.height;let l=f(c);if(l!=null){let d=e.height,p=e.width;return l.drawImage(e,0,0,p,d),a=l.getImageData(0,0,p,d).data,s.height=d,s.width=p,Ze(a,s)}else throw new Error("Can not access image data")}else{if(i)return new Promise((c,l)=>{let d=u(),p=f(d);if(!e||!p)return l();let w=new Image;w.crossOrigin="Anonymous",w.src=e,w.onload=()=>{d.width=w.width,d.height=w.height,p.drawImage(w,0,0,d.width,d.height);let b=p.getImageData(0,0,d.width,d.height);s.height=d.height,s.width=d.width,c(Ze(b.data,s))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(a!==void 0)return Ze(a,s);throw new Error("Input data provided is not supported - aborted tensor creation")},Ot=(e,t)=>{let{width:n,height:o,download:r,dispose:i}=t,a=[1,o,n,4];return new U({location:"texture",type:"float32",texture:e,dims:a,download:r,dispose:i})},It=(e,t)=>{let{dataType:n,dims:o,download:r,dispose:i}=t;return new U({location:"gpu-buffer",type:n??"float32",gpuBuffer:e,dims:o,download:r,dispose:i})},Pt=(e,t)=>{let{dataType:n,dims:o,download:r,dispose:i}=t;return new U({location:"ml-tensor",type:n??"float32",mlTensor:e,dims:o,download:r,dispose:i})},Lt=(e,t,n)=>new U({location:"cpu-pinned",type:e,data:t,dims:n??[t.length]})});var Z,de,vt,Bt,Ut=E(()=>{Z=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),de=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),vt=!1,Bt=()=>{if(!vt){vt=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,n=globalThis.Float16Array,o=typeof n<"u"&&n.from;e&&(Z.set("int64",BigInt64Array),de.set(BigInt64Array,"int64")),t&&(Z.set("uint64",BigUint64Array),de.set(BigUint64Array,"uint64")),o?(Z.set("float16",n),de.set(n,"float16")):Z.set("float16",Uint16Array)}}});var _t,Mt,Dt=E(()=>{Ee();_t=e=>{let t=1;for(let n=0;n<e.length;n++){let o=e[n];if(typeof o!="number"||!Number.isSafeInteger(o))throw new TypeError(`dims[${n}] must be an integer, got: ${o}`);if(o<0)throw new RangeError(`dims[${n}] must be a non-negative integer, got: ${o}`);t*=o}return t},Mt=(e,t)=>{switch(e.location){case"cpu":return new U(e.type,e.data,t);case"cpu-pinned":return new U({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new U({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new U({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new U({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}});var U,Ee=E(()=>{St();xt();Ut();Dt();U=class{constructor(t,n,o){Bt();let r,i;if(typeof t=="object"&&"location"in t)switch(this.dataLocation=t.location,r=t.type,i=t.dims,t.location){case"cpu-pinned":{let s=Z.get(r);if(!s)throw new TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(t.data instanceof s))throw new TypeError(`buffer should be of type ${s.name}`);this.cpuData=t.data;break}case"texture":{if(r!=="float32")throw new TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case"gpu-buffer":{if(r!=="float32"&&r!=="float16"&&r!=="int32"&&r!=="int64"&&r!=="uint32"&&r!=="uint8"&&r!=="bool"&&r!=="uint4"&&r!=="int4")throw new TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}case"ml-tensor":{if(r!=="float32"&&r!=="float16"&&r!=="int32"&&r!=="int64"&&r!=="uint32"&&r!=="uint64"&&r!=="int8"&&r!=="uint8"&&r!=="bool"&&r!=="uint4"&&r!=="int4")throw new TypeError(`unsupported type "${r}" to create tensor from MLTensor`);this.mlTensorData=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let s,u;if(typeof t=="string")if(r=t,u=o,t==="string"){if(!Array.isArray(n))throw new TypeError("A string tensor's data must be a string array.");s=n}else{let f=Z.get(t);if(f===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(n)){if(t==="float16"&&f===Uint16Array||t==="uint4"||t==="int4")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${f.name} as data.`);t==="uint64"||t==="int64"?s=f.from(n,BigInt):s=f.from(n)}else if(n instanceof f)s=n;else if(n instanceof Uint8ClampedArray)if(t==="uint8")s=Uint8Array.from(n);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(t==="float16"&&n instanceof Uint16Array&&f!==Uint16Array)s=new globalThis.Float16Array(n.buffer,n.byteOffset,n.length);else throw new TypeError(`A ${r} tensor's data must be type of ${f}`)}else if(u=n,Array.isArray(t)){if(t.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let f=typeof t[0];if(f==="string")r="string",s=t;else if(f==="boolean")r="bool",s=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${f}.`)}else if(t instanceof Uint8ClampedArray)r="uint8",s=Uint8Array.from(t);else{let f=de.get(t.constructor);if(f===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);r=f,s=t}if(u===void 0)u=[s.length];else if(!Array.isArray(u))throw new TypeError("A tensor's dims must be a number array");i=u,this.cpuData=s,this.dataLocation="cpu"}let a=_t(i);if(this.cpuData&&a!==this.cpuData.length&&!((r==="uint4"||r==="int4")&&Math.ceil(a/2)===this.cpuData.length))throw new Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=i,this.size=a}static async fromImage(t,n){return At(t,n)}static fromTexture(t,n){return Ot(t,n)}static fromGpuBuffer(t,n){return It(t,n)}static fromMLTensor(t,n){return Pt(t,n)}static fromPinnedBuffer(t,n,o){return Lt(t,n,o)}toDataURL(t){return Et(this,t)}toImageData(t){return Tt(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(t){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let n=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=n,t&&this.disposer&&(this.disposer(),this.disposer=void 0),n}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return Mt(this,t)}}});var N,Xe=E(()=>{Ee();N=U});var Ke,Ct,Y,q,Qe=E(()=>{Je();Ke=(e,t)=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||console.timeStamp(`${e}::ORT::${t}`)},Ct=(e,t)=>{let n=new Error().stack?.split(/\r\n|\r|\n/g)||[],o=!1;for(let r=0;r<n.length;r++){if(o&&!n[r].includes("TRACE_FUNC")){let i=`FUNC_${e}::${n[r].trim().split(" ")[1]}`;t&&(i+=`::${t}`),Ke("CPU",i);return}n[r].includes("TRACE_FUNC")&&(o=!0)}},Y=e=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||Ct("BEGIN",e)},q=e=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||Ct("END",e)}});var Te,Rt=E(()=>{qe();Xe();Qe();Te=class e{constructor(t){this.handler=t}async run(t,n,o){Y();let r={},i={};if(typeof t!="object"||t===null||t instanceof N||Array.isArray(t))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let a=!0;if(typeof n=="object"){if(n===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(n instanceof N)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(n)){if(n.length===0)throw new TypeError("'fetches' cannot be an empty array.");a=!1;for(let f of n){if(typeof f!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(f)===-1)throw new RangeError(`'fetches' contains invalid output name: ${f}.`);r[f]=null}if(typeof o=="object"&&o!==null)i=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else{let f=!1,c=Object.getOwnPropertyNames(n);for(let l of this.outputNames)if(c.indexOf(l)!==-1){let d=n[l];(d===null||d instanceof N)&&(f=!0,a=!1,r[l]=d)}if(f){if(typeof o=="object"&&o!==null)i=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else i=n}}else if(typeof n<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let f of this.inputNames)if(typeof t[f]>"u")throw new Error(`input '${f}' is missing in 'feeds'.`);if(a)for(let f of this.outputNames)r[f]=null;let s=await this.handler.run(t,r,i),u={};for(let f in s)if(Object.hasOwnProperty.call(s,f)){let c=s[f];c instanceof N?u[f]=c:u[f]=new N(c.type,c.data,c.dims)}return q(),u}async release(){return this.handler.dispose()}static async create(t,n,o,r){Y();let i,a={};if(typeof t=="string"){if(i=t,typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(i=t,typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer){let c=t,l=0,d=t.byteLength;if(typeof n=="object"&&n!==null)a=n;else if(typeof n=="number"){if(l=n,!Number.isSafeInteger(l))throw new RangeError("'byteOffset' must be an integer.");if(l<0||l>=c.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${c.byteLength}).`);if(d=t.byteLength-l,typeof o=="number"){if(d=o,!Number.isSafeInteger(d))throw new RangeError("'byteLength' must be an integer.");if(d<=0||l+d>c.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${c.byteLength-l}].`);if(typeof r=="object"&&r!==null)a=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(typeof o<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof n<"u")throw new TypeError("'options' must be an object.");i=new Uint8Array(c,l,d)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[s,u]=await mt(a),f=await s.createInferenceSessionHandler(i,u);return q(),new e(f)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}});var Ft,kt=E(()=>{Rt();Ft=Te});var Nt=E(()=>{});var Wt=E(()=>{});var Gt=E(()=>{});var $t=E(()=>{});var et={};be(et,{InferenceSession:()=>Ft,TRACE:()=>Ke,TRACE_FUNC_BEGIN:()=>Y,TRACE_FUNC_END:()=>q,Tensor:()=>N,env:()=>O,registerBackend:()=>re});var X=E(()=>{wt();gt();kt();Xe();Nt();Wt();Qe();Gt();$t()});var Se=E(()=>{"use strict"});var Vt={};be(Vt,{default:()=>xn});var Ht,jt,xn,Yt=E(()=>{"use strict";tt();K();Ae();Ht="ort-wasm-proxy-worker",jt=globalThis.self?.name===Ht;jt&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case"init-wasm":Oe(n.wasm).then(()=>{Ie(n).then(()=>{postMessage({type:t})},o=>{postMessage({type:t,err:o})})},o=>{postMessage({type:t,err:o})});break;case"init-ep":{let{epName:o,env:r}=n;Pe(r,o).then(()=>{postMessage({type:t})},i=>{postMessage({type:t,err:i})});break}case"copy-from":{let{buffer:o}=n,r=le(o);postMessage({type:t,out:r});break}case"create":{let{model:o,options:r}=n;Le(o,r).then(i=>{postMessage({type:t,out:i})},i=>{postMessage({type:t,err:i})});break}case"release":xe(n),postMessage({type:t});break;case"run":{let{sessionId:o,inputIndices:r,inputs:i,outputIndices:a,options:s}=n;ve(o,r,i,a,new Array(a.length).fill(null),s).then(u=>{u.some(f=>f[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:u},Ue([...i,...u]))},u=>{postMessage({type:t,err:u})});break}case"end-profiling":Be(n),postMessage({type:t});break;default:}}catch(o){postMessage({type:t,err:o})}});xn=jt?null:e=>new Worker(e??R,{type:"classic",name:Ht})});var vn,Bn,R,_e,nt,Un,_n,Zt,Mn,qt,Xt,Jt,Kt,Ae=E(()=>{"use strict";Se();vn=typeof location>"u"?void 0:location.origin,Bn=()=>{if(!!1)return typeof document<"u"?document.currentScript?.src:typeof self<"u"?self.location?.href:void 0},R=Bn(),_e=()=>{if(R&&!R.startsWith("blob:"))return R.substring(0,R.lastIndexOf("/")+1)},nt=(e,t)=>{try{let n=t??R;return(n?new URL(e,n):new URL(e)).origin===vn}catch{return!1}},Un=(e,t)=>{let n=t??R;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},_n=(e,t)=>`${t??"./"}${e}`,Zt=async e=>{let n=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(n)},Mn=async e=>(await import(/*webpackIgnore:true*/e)).default,qt=(Yt(),Ye(Vt)).default,Xt=async()=>{if(!R)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(nt(R))return[void 0,qt()];let e=await Zt(R);return[e,qt(e)]},Jt=void 0,Kt=async(e,t,n)=>{if(!e&&!t&&Jt&&R&&nt(R))return[void 0,Jt];{let o="ort-wasm-simd-threaded.mjs",r=e??Un(o,t),i=!!1&&n&&r&&!nt(r,t),a=i?await Zt(r):r??_n(o,t);return[i?a:void 0,await Mn(a)]}}});var rt,ot,Me,Qt,Dn,Cn,Rn,Oe,A,K=E(()=>{"use strict";Ae();ot=!1,Me=!1,Qt=!1,Dn=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},Cn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Rn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},Oe=async e=>{if(ot)return Promise.resolve();if(Me)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Qt)throw new Error("previous call to 'initializeWebAssembly()' failed.");Me=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd==="relaxed"){if(!Rn())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!Cn())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let o=Dn();n>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+n+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=n=1);let r=e.wasmPaths,i=typeof r=="string"?r:void 0,a=r?.mjs,s=a?.href??a,u=r?.wasm,f=u?.href??u,c=e.wasmBinary,[l,d]=await Kt(s,i,n>1),p=!1,w=[];if(t>0&&w.push(new Promise(b=>{setTimeout(()=>{p=!0,b()},t)})),w.push(new Promise((b,I)=>{let m={numThreads:n};if(c)m.wasmBinary=c;else if(f||i)m.locateFile=h=>f??i+h;else if(s&&s.indexOf("blob:")!==0)m.locateFile=h=>new URL(h,s).href;else if(l){let h=_e();h&&(m.locateFile=P=>h+P)}d(m).then(h=>{Me=!1,ot=!0,rt=h,b(),l&&URL.revokeObjectURL(l)},h=>{Me=!1,Qt=!0,I(h)})})),await Promise.race(w),p)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},A=()=>{if(ot&&rt)return rt;throw new Error("WebAssembly is not initialized yet.")}});var F,pe,T,De=E(()=>{"use strict";K();F=(e,t)=>{let n=A(),o=n.lengthBytesUTF8(e)+1,r=n._malloc(o);return n.stringToUTF8(e,r,o),t.push(r),r},pe=(e,t,n,o)=>{if(typeof e=="object"&&e!==null){if(n.has(e))throw new Error("Circular reference in options");n.add(e)}Object.entries(e).forEach(([r,i])=>{let a=t?t+r:r;if(typeof i=="object")pe(i,a+".",n,o);else if(typeof i=="string"||typeof i=="number")o(a,i.toString());else if(typeof i=="boolean")o(a,i?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof i}`)})},T=e=>{let t=A(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetLastError(r,r+o);let i=Number(t.getValue(r,o===4?"i32":"i64")),a=t.getValue(r+o,"*"),s=a?t.UTF8ToString(a):"";throw new Error(`${e} ERROR_CODE: ${i}, ERROR_MESSAGE: ${s}`)}finally{t.stackRestore(n)}}});var en,tn=E(()=>{"use strict";K();De();en=e=>{let t=A(),n=0,o=[],r=e||{};try{if(e?.logSeverityLevel===void 0)r.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)r.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(r.terminate=!1);let i=0;return e?.tag!==void 0&&(i=F(e.tag,o)),n=t._OrtCreateRunOptions(r.logSeverityLevel,r.logVerbosityLevel,!!r.terminate,i),n===0&&T("Can't create run options."),e?.extra!==void 0&&pe(e.extra,"",new WeakSet,(a,s)=>{let u=F(a,o),f=F(s,o);t._OrtAddRunConfigEntry(n,u,f)!==0&&T(`Can't set a run config entry: ${a} - ${s}.`)}),[n,o]}catch(i){throw n!==0&&t._OrtReleaseRunOptions(n),o.forEach(a=>t._free(a)),i}}});var Fn,kn,Nn,Ce,Wn,nn,rn=E(()=>{"use strict";K();De();Fn=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},kn=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},Nn=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(n=>(typeof n=="string"?n:n.name)==="webgpu")&&(e.enableMemPattern=!1)},Ce=(e,t,n,o)=>{let r=F(t,o),i=F(n,o);A()._OrtAddSessionConfigEntry(e,r,i)!==0&&T(`Can't set a session config entry: ${t} - ${n}.`)},Wn=async(e,t,n)=>{for(let o of t){let r=typeof o=="string"?o:o.name,i=[];switch(r){case"webnn":if(r="WEBNN",typeof o!="string"){let l=o?.deviceType;l&&Ce(e,"deviceType",l,n)}break;case"webgpu":if(r="JS",typeof o!="string"){let c=o;if(c?.preferredLayout){if(c.preferredLayout!=="NCHW"&&c.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${c.preferredLayout}`);Ce(e,"preferredLayout",c.preferredLayout,n)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${r}`)}let a=F(r,n),s=i.length,u=0,f=0;if(s>0){u=A()._malloc(s*A().PTR_SIZE),n.push(u),f=A()._malloc(s*A().PTR_SIZE),n.push(f);for(let c=0;c<s;c++)A().setValue(u+c*A().PTR_SIZE,i[c][0],"*"),A().setValue(f+c*A().PTR_SIZE,i[c][1],"*")}await A()._OrtAppendExecutionProvider(e,a,u,f,s)!==0&&T(`Can't append execution provider: ${r}.`)}},nn=async e=>{let t=A(),n=0,o=[],r=e||{};Nn(r);try{let i=Fn(r.graphOptimizationLevel??"all"),a=kn(r.executionMode??"sequential"),s=typeof r.logId=="string"?F(r.logId,o):0,u=r.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log serverity level is not valid: ${u}`);let f=r.logVerbosityLevel??0;if(!Number.isInteger(f)||f<0||f>4)throw new Error(`log verbosity level is not valid: ${f}`);let c=typeof r.optimizedModelFilePath=="string"?F(r.optimizedModelFilePath,o):0;if(n=t._OrtCreateSessionOptions(i,!!r.enableCpuMemArena,!!r.enableMemPattern,a,!!r.enableProfiling,0,s,u,f,c),n===0&&T("Can't create session options."),r.executionProviders&&await Wn(n,r.executionProviders,o),r.enableGraphCapture!==void 0){if(typeof r.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${r.enableGraphCapture}`);Ce(n,"enableGraphCapture",r.enableGraphCapture.toString(),o)}if(r.freeDimensionOverrides)for(let[l,d]of Object.entries(r.freeDimensionOverrides)){if(typeof l!="string")throw new Error(`free dimension override name must be a string: ${l}`);if(typeof d!="number"||!Number.isInteger(d)||d<0)throw new Error(`free dimension override value must be a non-negative integer: ${d}`);let p=F(l,o);t._OrtAddFreeDimensionOverride(n,p,d)!==0&&T(`Can't set a free dimension override: ${l} - ${d}.`)}return r.extra!==void 0&&pe(r.extra,"",new WeakSet,(l,d)=>{Ce(n,l,d,o)}),[n,o]}catch(i){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&T("Can't release session options."),o.forEach(a=>t._free(a)),i}}});var oe,Re,se,on,sn,Fe,ke,an,st=E(()=>{"use strict";oe=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${e}`)}},Re=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${e}`)}},se=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],o=typeof t=="number"?t:t.reduce((r,i)=>r*i,1);return n>0?Math.ceil(o*n):void 0},on=e=>{switch(e){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},sn=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},Fe=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",ke=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",an=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${e}`)}}});var me,at=E(()=>{"use strict";Se();me=async e=>{if(typeof e=="string")if(!1)try{let{readFile:t}=Ve("node:fs/promises");return new Uint8Array(await t(e))}catch(t){if(t.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:n}=Ve("node:fs"),o=n(e),r=[];for await(let i of o)r.push(i);return new Uint8Array(Buffer.concat(r))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let n=t.headers.get("Content-Length"),o=n?parseInt(n,10):0;if(o<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let r=t.body.getReader(),i;try{i=new ArrayBuffer(o)}catch(s){if(s instanceof RangeError){let u=Math.ceil(o/65536);i=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw s}let a=0;for(;;){let{done:s,value:u}=await r.read();if(s)break;let f=u.byteLength;new Uint8Array(i,a,f).set(u),a+=f}return new Uint8Array(i,0,o)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});var Gn,Ie,Pe,ae,$n,un,le,Le,xe,fn,ve,Be,Ue,tt=E(()=>{"use strict";tn();rn();st();K();De();at();Gn=(e,t)=>{A()._OrtInit(e,t)!==0&&T("Can't initialize onnxruntime.")},Ie=async e=>{Gn(e.wasm.numThreads,sn(e.logLevel))},Pe=async(e,t)=>{A().asyncInit?.()},ae=new Map,$n=e=>{let t=A(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetInputOutputCount(e,r,r+o)!==0&&T("Can't get session input/output count.");let a=o===4?"i32":"i64";return[Number(t.getValue(r,a)),Number(t.getValue(r+o,a))]}finally{t.stackRestore(n)}},un=(e,t)=>{let n=A(),o=n.stackSave(),r=0;try{let i=n.PTR_SIZE,a=n.stackAlloc(2*i);n._OrtGetInputOutputMetadata(e,t,a,a+i)!==0&&T("Can't get session input/output metadata.");let u=Number(n.getValue(a,"*"));r=Number(n.getValue(a+i,"*"));let f=n.HEAP32[r/4];if(f===0)return[u,0];let c=n.HEAPU32[r/4+1],l=[];for(let d=0;d<c;d++){let p=Number(n.getValue(r+8+d*i,"*"));l.push(p!==0?n.UTF8ToString(p):Number(n.getValue(r+8+(d+c)*i,"*")))}return[u,f,l]}finally{n.stackRestore(o),r!==0&&n._OrtFree(r)}},le=e=>{let t=A(),n=t._malloc(e.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},Le=async(e,t)=>{let n,o,r=A();Array.isArray(e)?[n,o]=e:e.buffer===r.HEAPU8.buffer?[n,o]=[e.byteOffset,e.byteLength]:[n,o]=le(e);let i=0,a=0,s=0,u=[],f=[],c=[];try{if([a,u]=await nn(t),t?.externalData&&r.mountExternalData){let g=[];for(let S of t.externalData){let B=typeof S=="string"?S:S.path;g.push(me(typeof S=="string"?S:S.data).then(D=>{r.mountExternalData(B,D)}))}await Promise.all(g)}for(let g of t?.executionProviders??[])if((typeof g=="string"?g:g.name)==="webnn"){if(r.shouldTransferToMLTensor=!1,typeof g!="string"){let B=g,D=B?.context,_=B?.gpuDevice,te=B?.deviceType,fe=B?.powerPreference;D?r.currentContext=D:_?r.currentContext=await r.webnnCreateMLContext(_):r.currentContext=await r.webnnCreateMLContext({deviceType:te,powerPreference:fe})}else r.currentContext=await r.webnnCreateMLContext();break}i=await r._OrtCreateSession(n,o,a),r.webgpuOnCreateSession?.(i),i===0&&T("Can't create a session."),r.jsepOnCreateSession?.(),r.currentContext&&(r.webnnRegisterMLContext(i,r.currentContext),r.currentContext=void 0,r.shouldTransferToMLTensor=!0);let[l,d]=$n(i),p=!!t?.enableGraphCapture,w=[],b=[],I=[],m=[],h=[];for(let g=0;g<l;g++){let[S,B,D]=un(i,g);S===0&&T("Can't get an input name."),f.push(S);let _=r.UTF8ToString(S);w.push(_),I.push(B===0?{name:_,isTensor:!1}:{name:_,isTensor:!0,type:Re(B),shape:D})}for(let g=0;g<d;g++){let[S,B,D]=un(i,g+l);S===0&&T("Can't get an output name."),c.push(S);let _=r.UTF8ToString(S);b.push(_),m.push(B===0?{name:_,isTensor:!1}:{name:_,isTensor:!0,type:Re(B),shape:D})}return ae.set(i,[i,f,c,null,p,!1]),[i,w,b,I,m]}catch(l){throw f.forEach(d=>r._OrtFree(d)),c.forEach(d=>r._OrtFree(d)),s!==0&&r._OrtReleaseBinding(s)!==0&&T("Can't release IO binding."),i!==0&&r._OrtReleaseSession(i)!==0&&T("Can't release session."),l}finally{r._free(n),a!==0&&r._OrtReleaseSessionOptions(a)!==0&&T("Can't release session options."),u.forEach(l=>r._free(l)),r.unmountExternalData?.()}},xe=e=>{let t=A(),n=ae.get(e);if(!n)throw new Error(`cannot release session. invalid session id: ${e}`);let[o,r,i,a,s]=n;a&&(s&&t._OrtClearBoundOutputs(a.handle)!==0&&T("Can't clear bound outputs."),t._OrtReleaseBinding(a.handle)!==0&&T("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),r.forEach(u=>t._OrtFree(u)),i.forEach(u=>t._OrtFree(u)),t._OrtReleaseSession(o)!==0&&T("Can't release session."),ae.delete(e)},fn=async(e,t,n,o,r,i,a=!1)=>{if(!e){t.push(0);return}let s=A(),u=s.PTR_SIZE,f=e[0],c=e[1],l=e[3],d=l,p,w;if(f==="string"&&(l==="gpu-buffer"||l==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(a&&l!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${i} when enableGraphCapture is true.`);if(l==="gpu-buffer"){let m=e[2].gpuBuffer;w=se(oe(f),c);{let h=s.jsepRegisterBuffer;if(!h)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');p=h(o,i,m,w)}}else if(l==="ml-tensor"){let m=e[2].mlTensor;w=se(oe(f),c);let h=s.webnnRegisterMLTensor;if(!h)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');p=h(o,m,oe(f),c)}else{let m=e[2];if(Array.isArray(m)){w=u*m.length,p=s._malloc(w),n.push(p);for(let h=0;h<m.length;h++){if(typeof m[h]!="string")throw new TypeError(`tensor data at index ${h} is not a string`);s.setValue(p+h*u,F(m[h],n),"*")}}else{let h=s.webnnIsGraphInput,P=s.webnnIsGraphOutput;if(f!=="string"&&h&&P){let g=s.UTF8ToString(r);if(h(o,g)||P(o,g)){let S=oe(f);w=se(S,c),d="ml-tensor";let B=s.webnnCreateTemporaryTensor,D=s.webnnUploadTensor;if(!B||!D)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let _=await B(o,S,c);D(_,new Uint8Array(m.buffer,m.byteOffset,m.byteLength)),p=_}else w=m.byteLength,p=s._malloc(w),n.push(p),s.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,w),p)}else w=m.byteLength,p=s._malloc(w),n.push(p),s.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,w),p)}}let b=s.stackSave(),I=s.stackAlloc(4*c.length);try{c.forEach((h,P)=>s.setValue(I+P*u,h,u===4?"i32":"i64"));let m=s._OrtCreateTensor(oe(f),p,w,I,c.length,an(d));m===0&&T(`Can't create tensor for input/output. session=${o}, index=${i}.`),t.push(m)}finally{s.stackRestore(b)}},ve=async(e,t,n,o,r,i)=>{let a=A(),s=a.PTR_SIZE,u=ae.get(e);if(!u)throw new Error(`cannot run inference. invalid session id: ${e}`);let f=u[0],c=u[1],l=u[2],d=u[3],p=u[4],w=u[5],b=t.length,I=o.length,m=0,h=[],P=[],g=[],S=[],B=a.stackSave(),D=a.stackAlloc(b*s),_=a.stackAlloc(b*s),te=a.stackAlloc(I*s),fe=a.stackAlloc(I*s);try{[m,h]=en(i);for(let y=0;y<b;y++)await fn(n[y],P,S,e,c[t[y]],t[y],p);for(let y=0;y<I;y++)await fn(r[y],g,S,e,l[o[y]],b+o[y],p);for(let y=0;y<b;y++)a.setValue(D+y*s,P[y],"*"),a.setValue(_+y*s,c[t[y]],"*");for(let y=0;y<I;y++)a.setValue(te+y*s,g[y],"*"),a.setValue(fe+y*s,l[o[y]],"*");a.jsepOnRunStart?.(f),a.webnnOnRunStart?.(f);let k;k=await a._OrtRun(f,_,D,b,fe,I,te,m),k!==0&&T("failed to call OrtRun().");let $=[],ct=[];for(let y=0;y<I;y++){let z=Number(a.getValue(te+y*s,"*"));if(z===g[y]){$.push(r[y]);continue}let dt=a.stackSave(),G=a.stackAlloc(4*s),ne=!1,x,M=0;try{a._OrtGetTensorData(z,G,G+s,G+2*s,G+3*s)!==0&&T(`Can't access output tensor data on index ${y}.`);let He=s===4?"i32":"i64",he=Number(a.getValue(G,He));M=a.getValue(G+s,"*");let lt=a.getValue(G+s*2,"*"),Sn=Number(a.getValue(G+s*3,He)),H=[];for(let v=0;v<Sn;v++)H.push(Number(a.getValue(lt+v*s,He)));a._OrtFree(lt)!==0&&T("Can't free memory for tensor dims.");let j=H.reduce((v,L)=>v*L,1);x=Re(he);let ce=d?.outputPreferredLocations[o[y]];if(x==="string"){if(ce==="gpu-buffer"||ce==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let v=[];for(let L=0;L<j;L++){let V=a.getValue(M+L*s,"*"),ye=a.getValue(M+(L+1)*s,"*"),pt=L===j-1?void 0:ye-V;v.push(a.UTF8ToString(V,pt))}$.push([x,H,v,"cpu"])}else if(ce==="gpu-buffer"&&j>0){let v=a.jsepGetBuffer;if(!v)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let L=v(M),V=se(he,j);if(V===void 0||!Fe(x))throw new Error(`Unsupported data type: ${x}`);ne=!0,$.push([x,H,{gpuBuffer:L,download:a.jsepCreateDownloader(L,V,x),dispose:()=>{a._OrtReleaseTensor(z)!==0&&T("Can't release tensor.")}},"gpu-buffer"])}else if(ce==="ml-tensor"&&j>0){let v=a.webnnEnsureTensor,L=a.webnnIsGraphInputOutputTypeSupported;if(!v||!L)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(se(he,j)===void 0||!ke(x))throw new Error(`Unsupported data type: ${x}`);if(!L(e,x,!1))throw new Error(`preferredLocation "ml-tensor" for ${x} output is not supported by current WebNN Context.`);let ye=await v(e,M,he,H,!1);ne=!0,$.push([x,H,{mlTensor:ye,download:a.webnnCreateMLTensorDownloader(M,x),dispose:()=>{a.webnnReleaseTensorId(M),a._OrtReleaseTensor(z)}},"ml-tensor"])}else if(ce==="ml-tensor-cpu-output"&&j>0){let v=a.webnnCreateMLTensorDownloader(M,x)(),L=$.length;ne=!0,ct.push((async()=>{let V=[L,await v];return a.webnnReleaseTensorId(M),a._OrtReleaseTensor(z),V})()),$.push([x,H,[],"cpu"])}else{let v=on(x),L=new v(j);new Uint8Array(L.buffer,L.byteOffset,L.byteLength).set(a.HEAPU8.subarray(M,M+L.byteLength)),$.push([x,H,L,"cpu"])}}finally{a.stackRestore(dt),x==="string"&&M&&a._free(M),ne||a._OrtReleaseTensor(z)}}d&&!p&&(a._OrtClearBoundOutputs(d.handle)!==0&&T("Can't clear bound outputs."),ae.set(e,[f,c,l,d,p,!1]));for(let[y,z]of await Promise.all(ct))$[y][2]=z;return $}finally{a.webnnOnRunEnd?.(f),a.stackRestore(B),P.forEach(k=>a._OrtReleaseTensor(k)),g.forEach(k=>a._OrtReleaseTensor(k)),S.forEach(k=>a._free(k)),m!==0&&a._OrtReleaseRunOptions(m),h.forEach(k=>a._free(k))}},Be=e=>{let t=A(),n=ae.get(e);if(!n)throw new Error("invalid session id");let o=n[0],r=t._OrtEndProfiling(o);r===0&&T("Can't get an profile file name."),t._OrtFree(r)},Ue=e=>{let t=[];for(let n of e){let o=n[2];!Array.isArray(o)&&"buffer"in o&&t.push(o.buffer)}return t}});var ee,W,we,We,Ge,Ne,it,ut,ie,ue,Hn,cn,dn,ln,pn,mn,wn,hn,ft=E(()=>{"use strict";X();tt();K();Ae();ee=()=>!!O.wasm.proxy&&typeof document<"u",we=!1,We=!1,Ge=!1,ut=new Map,ie=(e,t)=>{let n=ut.get(e);n?n.push(t):ut.set(e,[t])},ue=()=>{if(we||!We||Ge||!W)throw new Error("worker not ready")},Hn=e=>{switch(e.data.type){case"init-wasm":we=!1,e.data.err?(Ge=!0,it[1](e.data.err)):(We=!0,it[0]()),Ne&&(URL.revokeObjectURL(Ne),Ne=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=ut.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},cn=async()=>{if(!We){if(we)throw new Error("multiple calls to 'initWasm()' detected.");if(Ge)throw new Error("previous call to 'initWasm()' failed.");if(we=!0,ee())return new Promise((e,t)=>{W?.terminate(),Xt().then(([n,o])=>{try{W=o,W.onerror=i=>t(i),W.onmessage=Hn,it=[e,t];let r={type:"init-wasm",in:O};if(!r.in.wasm.wasmPaths&&n){let i=_e();i&&(r.in.wasm.wasmPaths=i)}W.postMessage(r),Ne=n}catch(r){t(r)}},t)});try{await Oe(O.wasm),await Ie(O),We=!0}catch(e){throw Ge=!0,e}finally{we=!1}}},dn=async e=>{if(ee())return ue(),new Promise((t,n)=>{ie("init-ep",[t,n]);let o={type:"init-ep",in:{epName:e,env:O}};W.postMessage(o)});await Pe(O,e)},ln=async e=>ee()?(ue(),new Promise((t,n)=>{ie("copy-from",[t,n]);let o={type:"copy-from",in:{buffer:e}};W.postMessage(o,[e.buffer])})):le(e),pn=async(e,t)=>{if(ee()){if(t?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return ue(),new Promise((n,o)=>{ie("create",[n,o]);let r={type:"create",in:{model:e,options:{...t}}},i=[];e instanceof Uint8Array&&i.push(e.buffer),W.postMessage(r,i)})}else return Le(e,t)},mn=async e=>{if(ee())return ue(),new Promise((t,n)=>{ie("release",[t,n]);let o={type:"release",in:e};W.postMessage(o)});xe(e)},wn=async(e,t,n,o,r,i)=>{if(ee()){if(n.some(a=>a[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(r.some(a=>a))throw new Error("pre-allocated output tensor is not supported for proxy.");return ue(),new Promise((a,s)=>{ie("run",[a,s]);let u=n,f={type:"run",in:{sessionId:e,inputIndices:t,inputs:u,outputIndices:o,options:i}};W.postMessage(f,Ue(u))})}else return ve(e,t,n,o,r,i)},hn=async e=>{if(ee())return ue(),new Promise((t,n)=>{ie("end-profiling",[t,n]);let o={type:"end-profiling",in:e};W.postMessage(o)});Be(e)}});var yn,jn,$e,bn=E(()=>{"use strict";X();ft();st();Se();at();yn=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},jn=e=>{switch(e[3]){case"cpu":return new N(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!Fe(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:o,dispose:r}=e[2];return N.fromGpuBuffer(n,{dataType:t,dims:e[1],download:o,dispose:r})}case"ml-tensor":{let t=e[0];if(!ke(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:o,dispose:r}=e[2];return N.fromMLTensor(n,{dataType:t,dims:e[1],download:o,dispose:r})}default:throw new Error(`invalid data location: ${e[3]}`)}},$e=class{async fetchModelAndCopyToWasmMemory(t){return ln(await me(t))}async loadModel(t,n){Y();let o;typeof t=="string"?o=await this.fetchModelAndCopyToWasmMemory(t):o=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await pn(o,n),q()}async dispose(){return mn(this.sessionId)}async run(t,n,o){Y();let r=[],i=[];Object.entries(t).forEach(d=>{let p=d[0],w=d[1],b=this.inputNames.indexOf(p);if(b===-1)throw new Error(`invalid input '${p}'`);r.push(w),i.push(b)});let a=[],s=[];Object.entries(n).forEach(d=>{let p=d[0],w=d[1],b=this.outputNames.indexOf(p);if(b===-1)throw new Error(`invalid output '${p}'`);a.push(w),s.push(b)});let u=r.map((d,p)=>yn(d,()=>`input "${this.inputNames[i[p]]}"`)),f=a.map((d,p)=>d?yn(d,()=>`output "${this.outputNames[s[p]]}"`):null),c=await wn(this.sessionId,i,u,s,f,o),l={};for(let d=0;d<c.length;d++)l[this.outputNames[s[d]]]=a[d]??jn(c[d]);return q(),l}startProfiling(){}endProfiling(){hn(this.sessionId)}}});var En={};be(En,{OnnxruntimeWebAssemblyBackend:()=>ze,initializeFlags:()=>gn,wasmBackend:()=>Vn});var gn,ze,Vn,Tn=E(()=>{"use strict";X();ft();bn();gn=()=>{(typeof O.wasm.initTimeout!="number"||O.wasm.initTimeout<0)&&(O.wasm.initTimeout=0);let e=O.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),O.wasm.simd=!1),typeof O.wasm.proxy!="boolean"&&(O.wasm.proxy=!1),typeof O.wasm.trace!="boolean"&&(O.wasm.trace=!1),typeof O.wasm.numThreads!="number"||!Number.isInteger(O.wasm.numThreads)||O.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)O.wasm.numThreads=1;else{let t=typeof navigator>"u"?Ve("node:os").cpus().length:navigator.hardwareConcurrency;O.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},ze=class{async init(t){gn(),await cn(),await dn(t)}async createInferenceSessionHandler(t,n){let o=new $e;return await o.loadModel(t,n),o}},Vn=new ze});var qn={};be(qn,{InferenceSession:()=>Ft,TRACE:()=>Ke,TRACE_FUNC_BEGIN:()=>Y,TRACE_FUNC_END:()=>q,Tensor:()=>N,default:()=>Yn,env:()=>O,registerBackend:()=>re});X();X();X();var zt="1.23.0";var Yn=et;{let e=(Tn(),Ye(En)).wasmBackend;re("cpu",e,10),re("wasm",e,10)}Object.defineProperty(O.versions,"web",{value:zt,enumerable:!0});return Ye(qn);})();
|
| 7 |
+
typeof exports=="object"&&typeof module=="object"&&(module.exports=ort);
|
| 8 |
+
//# sourceMappingURL=ort.wasm.min.js.map
|
dist/ort.wasm.min.js.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.wasm.min.mjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*!
|
| 2 |
+
* ONNX Runtime Web v1.23.0
|
| 3 |
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
| 4 |
+
* Licensed under the MIT License.
|
| 5 |
+
*/
|
| 6 |
+
var He=Object.defineProperty;var An=Object.getOwnPropertyDescriptor;var On=Object.getOwnPropertyNames;var In=Object.prototype.hasOwnProperty;var je=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ve=(e,t)=>{for(var n in t)He(e,n,{get:t[n],enumerable:!0})},Pn=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of On(t))!In.call(e,r)&&r!==n&&He(e,r,{get:()=>t[r],enumerable:!(o=An(t,r))||o.enumerable});return e};var lt=e=>Pn(He({},"__esModule",{value:!0}),e);var be,Y,ce,xn,pt,Ye=E(()=>{be=new Map,Y=[],ce=(e,t,n)=>{if(t&&typeof t.init=="function"&&typeof t.createInferenceSessionHandler=="function"){let o=be.get(e);if(o===void 0)be.set(e,{backend:t,priority:n});else{if(o.priority>n)return;if(o.priority===n&&o.backend!==t)throw new Error(`cannot register backend "${e}" using priority ${n}`)}if(n>=0){let r=Y.indexOf(e);r!==-1&&Y.splice(r,1);for(let i=0;i<Y.length;i++)if(be.get(Y[i]).priority<=n){Y.splice(i,0,e);return}Y.push(e)}return}throw new TypeError("not a valid backend")},xn=async e=>{let t=be.get(e);if(!t)return"backend not found.";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(o){return n||(t.error=`${o}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},pt=async e=>{let t=e.executionProviders||[],n=t.map(u=>typeof u=="string"?u:u.name),o=n.length===0?Y:n,r,i=[],a=new Set;for(let u of o){let f=await xn(u);typeof f=="string"?i.push({name:u,err:f}):(r||(r=f),r===f&&a.add(u))}if(!r)throw new Error(`no available backend found. ERR: ${i.map(u=>`[${u.name}] ${u.err}`).join(", ")}`);for(let{name:u,err:f}of i)n.includes(u)&&console.warn(`removing requested execution provider "${u}" from session options because it is not available: ${f}`);let s=t.filter(u=>a.has(typeof u=="string"?u:u.name));return[r,new Proxy(e,{get:(u,f)=>f==="executionProviders"?s:Reflect.get(u,f)})]}});var mt=E(()=>{Ye()});var wt,ht=E(()=>{wt="1.23.0"});var yt,C,qe=E(()=>{ht();yt="warning",C={wasm:{},webgl:{},webgpu:{},versions:{common:wt},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);yt=e}},get logLevel(){return yt}};Object.defineProperty(C,"logLevel",{enumerable:!0})});var I,bt=E(()=>{qe();I=C});var gt,Et,Tt=E(()=>{gt=(e,t)=>{let n=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let o=n.getContext("2d");if(o!=null){let r,i;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(r=e.dims[2],i=e.dims[3]):(r=e.dims[3],i=e.dims[2]);let a=t?.format!==void 0?t.format:"RGB",s=t?.norm,u,f;s===void 0||s.mean===void 0?u=[255,255,255,255]:typeof s.mean=="number"?u=[s.mean,s.mean,s.mean,s.mean]:(u=[s.mean[0],s.mean[1],s.mean[2],0],s.mean[3]!==void 0&&(u[3]=s.mean[3])),s===void 0||s.bias===void 0?f=[0,0,0,0]:typeof s.bias=="number"?f=[s.bias,s.bias,s.bias,s.bias]:(f=[s.bias[0],s.bias[1],s.bias[2],0],s.bias[3]!==void 0&&(f[3]=s.bias[3]));let c=i*r,l=0,d=c,p=c*2,w=-1;a==="RGBA"?(l=0,d=c,p=c*2,w=c*3):a==="RGB"?(l=0,d=c,p=c*2):a==="RBG"&&(l=0,p=c,d=c*2);for(let b=0;b<i;b++)for(let O=0;O<r;O++){let m=(e.data[l++]-f[0])*u[0],h=(e.data[d++]-f[1])*u[1],P=(e.data[p++]-f[2])*u[2],g=w===-1?255:(e.data[w++]-f[3])*u[3];o.fillStyle="rgba("+m+","+h+","+P+","+g+")",o.fillRect(O,b,1,1)}if("toDataURL"in n)return n.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},Et=(e,t)=>{let n=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),o;if(n!=null){let r,i,a;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(r=e.dims[2],i=e.dims[1],a=e.dims[3]):(r=e.dims[3],i=e.dims[2],a=e.dims[1]);let s=t!==void 0&&t.format!==void 0?t.format:"RGB",u=t?.norm,f,c;u===void 0||u.mean===void 0?f=[255,255,255,255]:typeof u.mean=="number"?f=[u.mean,u.mean,u.mean,u.mean]:(f=[u.mean[0],u.mean[1],u.mean[2],255],u.mean[3]!==void 0&&(f[3]=u.mean[3])),u===void 0||u.bias===void 0?c=[0,0,0,0]:typeof u.bias=="number"?c=[u.bias,u.bias,u.bias,u.bias]:(c=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(c[3]=u.bias[3]));let l=i*r;if(t!==void 0&&(t.format!==void 0&&a===4&&t.format!=="RGBA"||a===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let d=4,p=0,w=1,b=2,O=3,m=0,h=l,P=l*2,g=-1;s==="RGBA"?(m=0,h=l,P=l*2,g=l*3):s==="RGB"?(m=0,h=l,P=l*2):s==="RBG"&&(m=0,P=l,h=l*2),o=n.createImageData(r,i);for(let S=0;S<i*r;p+=d,w+=d,b+=d,O+=d,S++)o.data[p]=(e.data[m++]-c[0])*f[0],o.data[w]=(e.data[h++]-c[1])*f[1],o.data[b]=(e.data[P++]-c[2])*f[2],o.data[O]=g===-1?255:(e.data[g++]-c[3])*f[3]}else throw new Error("Can not access image data");return o}});var Je,St,At,Ot,It,Pt,xt=E(()=>{ge();Je=(e,t)=>{if(e===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:n,width:o}=t,r=t.norm??{mean:255,bias:0},i,a;typeof r.mean=="number"?i=[r.mean,r.mean,r.mean,r.mean]:i=[r.mean[0],r.mean[1],r.mean[2],r.mean[3]??255],typeof r.bias=="number"?a=[r.bias,r.bias,r.bias,r.bias]:a=[r.bias[0],r.bias[1],r.bias[2],r.bias[3]??0];let s=t.format!==void 0?t.format:"RGBA",u=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",f=n*o,c=u==="RGBA"?new Float32Array(f*4):new Float32Array(f*3),l=4,d=0,p=1,w=2,b=3,O=0,m=f,h=f*2,P=-1;s==="RGB"&&(l=3,d=0,p=1,w=2,b=-1),u==="RGBA"?P=f*3:u==="RBG"?(O=0,h=f,m=f*2):u==="BGR"&&(h=0,m=f,O=f*2);for(let S=0;S<f;S++,d+=l,w+=l,p+=l,b+=l)c[O++]=(e[d]+a[0])/i[0],c[m++]=(e[p]+a[1])/i[1],c[h++]=(e[w]+a[2])/i[2],P!==-1&&b!==-1&&(c[P++]=(e[b]+a[3])/i[3]);return u==="RGBA"?new U("float32",c,[1,4,n,o]):new U("float32",c,[1,3,n,o])},St=async(e,t)=>{let n=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,o=typeof ImageData<"u"&&e instanceof ImageData,r=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,i=typeof e=="string",a,s=t??{},u=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},f=c=>typeof HTMLCanvasElement<"u"&&c instanceof HTMLCanvasElement||c instanceof OffscreenCanvas?c.getContext("2d"):null;if(n){let c=u();c.width=e.width,c.height=e.height;let l=f(c);if(l!=null){let d=e.height,p=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(d=t.resizedHeight,p=t.resizedWidth),t!==void 0){if(s=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");s.tensorFormat="RGBA",s.height=d,s.width=p}else s.tensorFormat="RGBA",s.height=d,s.width=p;l.drawImage(e,0,0),a=l.getImageData(0,0,p,d).data}else throw new Error("Can not access image data")}else if(o){let c,l;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(c=t.resizedHeight,l=t.resizedWidth):(c=e.height,l=e.width),t!==void 0&&(s=t),s.format="RGBA",s.height=c,s.width=l,t!==void 0){let d=u();d.width=l,d.height=c;let p=f(d);if(p!=null)p.putImageData(e,0,0),a=p.getImageData(0,0,l,c).data;else throw new Error("Can not access image data")}else a=e.data}else if(r){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");let c=u();c.width=e.width,c.height=e.height;let l=f(c);if(l!=null){let d=e.height,p=e.width;return l.drawImage(e,0,0,p,d),a=l.getImageData(0,0,p,d).data,s.height=d,s.width=p,Je(a,s)}else throw new Error("Can not access image data")}else{if(i)return new Promise((c,l)=>{let d=u(),p=f(d);if(!e||!p)return l();let w=new Image;w.crossOrigin="Anonymous",w.src=e,w.onload=()=>{d.width=w.width,d.height=w.height,p.drawImage(w,0,0,d.width,d.height);let b=p.getImageData(0,0,d.width,d.height);s.height=d.height,s.width=d.width,c(Je(b.data,s))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(a!==void 0)return Je(a,s);throw new Error("Input data provided is not supported - aborted tensor creation")},At=(e,t)=>{let{width:n,height:o,download:r,dispose:i}=t,a=[1,o,n,4];return new U({location:"texture",type:"float32",texture:e,dims:a,download:r,dispose:i})},Ot=(e,t)=>{let{dataType:n,dims:o,download:r,dispose:i}=t;return new U({location:"gpu-buffer",type:n??"float32",gpuBuffer:e,dims:o,download:r,dispose:i})},It=(e,t)=>{let{dataType:n,dims:o,download:r,dispose:i}=t;return new U({location:"ml-tensor",type:n??"float32",mlTensor:e,dims:o,download:r,dispose:i})},Pt=(e,t,n)=>new U({location:"cpu-pinned",type:e,data:t,dims:n??[t.length]})});var q,de,Lt,vt,Bt=E(()=>{q=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),de=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),Lt=!1,vt=()=>{if(!Lt){Lt=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,n=globalThis.Float16Array,o=typeof n<"u"&&n.from;e&&(q.set("int64",BigInt64Array),de.set(BigInt64Array,"int64")),t&&(q.set("uint64",BigUint64Array),de.set(BigUint64Array,"uint64")),o?(q.set("float16",n),de.set(n,"float16")):q.set("float16",Uint16Array)}}});var Ut,_t,Mt=E(()=>{ge();Ut=e=>{let t=1;for(let n=0;n<e.length;n++){let o=e[n];if(typeof o!="number"||!Number.isSafeInteger(o))throw new TypeError(`dims[${n}] must be an integer, got: ${o}`);if(o<0)throw new RangeError(`dims[${n}] must be a non-negative integer, got: ${o}`);t*=o}return t},_t=(e,t)=>{switch(e.location){case"cpu":return new U(e.type,e.data,t);case"cpu-pinned":return new U({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new U({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new U({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new U({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}});var U,ge=E(()=>{Tt();xt();Bt();Mt();U=class{constructor(t,n,o){vt();let r,i;if(typeof t=="object"&&"location"in t)switch(this.dataLocation=t.location,r=t.type,i=t.dims,t.location){case"cpu-pinned":{let s=q.get(r);if(!s)throw new TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(t.data instanceof s))throw new TypeError(`buffer should be of type ${s.name}`);this.cpuData=t.data;break}case"texture":{if(r!=="float32")throw new TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case"gpu-buffer":{if(r!=="float32"&&r!=="float16"&&r!=="int32"&&r!=="int64"&&r!=="uint32"&&r!=="uint8"&&r!=="bool"&&r!=="uint4"&&r!=="int4")throw new TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}case"ml-tensor":{if(r!=="float32"&&r!=="float16"&&r!=="int32"&&r!=="int64"&&r!=="uint32"&&r!=="uint64"&&r!=="int8"&&r!=="uint8"&&r!=="bool"&&r!=="uint4"&&r!=="int4")throw new TypeError(`unsupported type "${r}" to create tensor from MLTensor`);this.mlTensorData=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let s,u;if(typeof t=="string")if(r=t,u=o,t==="string"){if(!Array.isArray(n))throw new TypeError("A string tensor's data must be a string array.");s=n}else{let f=q.get(t);if(f===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(n)){if(t==="float16"&&f===Uint16Array||t==="uint4"||t==="int4")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${f.name} as data.`);t==="uint64"||t==="int64"?s=f.from(n,BigInt):s=f.from(n)}else if(n instanceof f)s=n;else if(n instanceof Uint8ClampedArray)if(t==="uint8")s=Uint8Array.from(n);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(t==="float16"&&n instanceof Uint16Array&&f!==Uint16Array)s=new globalThis.Float16Array(n.buffer,n.byteOffset,n.length);else throw new TypeError(`A ${r} tensor's data must be type of ${f}`)}else if(u=n,Array.isArray(t)){if(t.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let f=typeof t[0];if(f==="string")r="string",s=t;else if(f==="boolean")r="bool",s=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${f}.`)}else if(t instanceof Uint8ClampedArray)r="uint8",s=Uint8Array.from(t);else{let f=de.get(t.constructor);if(f===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);r=f,s=t}if(u===void 0)u=[s.length];else if(!Array.isArray(u))throw new TypeError("A tensor's dims must be a number array");i=u,this.cpuData=s,this.dataLocation="cpu"}let a=Ut(i);if(this.cpuData&&a!==this.cpuData.length&&!((r==="uint4"||r==="int4")&&Math.ceil(a/2)===this.cpuData.length))throw new Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=i,this.size=a}static async fromImage(t,n){return St(t,n)}static fromTexture(t,n){return At(t,n)}static fromGpuBuffer(t,n){return Ot(t,n)}static fromMLTensor(t,n){return It(t,n)}static fromPinnedBuffer(t,n,o){return Pt(t,n,o)}toDataURL(t){return gt(this,t)}toImageData(t){return Et(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(t){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let n=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=n,t&&this.disposer&&(this.disposer(),this.disposer=void 0),n}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return _t(this,t)}}});var W,Ze=E(()=>{ge();W=U});var Dt,Ct,J,Z,Xe=E(()=>{qe();Dt=(e,t)=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||console.timeStamp(`${e}::ORT::${t}`)},Ct=(e,t)=>{let n=new Error().stack?.split(/\r\n|\r|\n/g)||[],o=!1;for(let r=0;r<n.length;r++){if(o&&!n[r].includes("TRACE_FUNC")){let i=`FUNC_${e}::${n[r].trim().split(" ")[1]}`;t&&(i+=`::${t}`),Dt("CPU",i);return}n[r].includes("TRACE_FUNC")&&(o=!0)}},J=e=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||Ct("BEGIN",e)},Z=e=>{(typeof C.trace>"u"?!C.wasm.trace:!C.trace)||Ct("END",e)}});var Ee,Rt=E(()=>{Ye();Ze();Xe();Ee=class e{constructor(t){this.handler=t}async run(t,n,o){J();let r={},i={};if(typeof t!="object"||t===null||t instanceof W||Array.isArray(t))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let a=!0;if(typeof n=="object"){if(n===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(n instanceof W)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(n)){if(n.length===0)throw new TypeError("'fetches' cannot be an empty array.");a=!1;for(let f of n){if(typeof f!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(f)===-1)throw new RangeError(`'fetches' contains invalid output name: ${f}.`);r[f]=null}if(typeof o=="object"&&o!==null)i=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else{let f=!1,c=Object.getOwnPropertyNames(n);for(let l of this.outputNames)if(c.indexOf(l)!==-1){let d=n[l];(d===null||d instanceof W)&&(f=!0,a=!1,r[l]=d)}if(f){if(typeof o=="object"&&o!==null)i=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else i=n}}else if(typeof n<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let f of this.inputNames)if(typeof t[f]>"u")throw new Error(`input '${f}' is missing in 'feeds'.`);if(a)for(let f of this.outputNames)r[f]=null;let s=await this.handler.run(t,r,i),u={};for(let f in s)if(Object.hasOwnProperty.call(s,f)){let c=s[f];c instanceof W?u[f]=c:u[f]=new W(c.type,c.data,c.dims)}return Z(),u}async release(){return this.handler.dispose()}static async create(t,n,o,r){J();let i,a={};if(typeof t=="string"){if(i=t,typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(i=t,typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer){let c=t,l=0,d=t.byteLength;if(typeof n=="object"&&n!==null)a=n;else if(typeof n=="number"){if(l=n,!Number.isSafeInteger(l))throw new RangeError("'byteOffset' must be an integer.");if(l<0||l>=c.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${c.byteLength}).`);if(d=t.byteLength-l,typeof o=="number"){if(d=o,!Number.isSafeInteger(d))throw new RangeError("'byteLength' must be an integer.");if(d<=0||l+d>c.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${c.byteLength-l}].`);if(typeof r=="object"&&r!==null)a=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(typeof o<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof n<"u")throw new TypeError("'options' must be an object.");i=new Uint8Array(c,l,d)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[s,u]=await pt(a),f=await s.createInferenceSessionHandler(i,u);return Z(),new e(f)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}});var Ln,Ft=E(()=>{Rt();Ln=Ee});var kt=E(()=>{});var Nt=E(()=>{});var Wt=E(()=>{});var Gt=E(()=>{});var Ke={};Ve(Ke,{InferenceSession:()=>Ln,TRACE:()=>Dt,TRACE_FUNC_BEGIN:()=>J,TRACE_FUNC_END:()=>Z,Tensor:()=>W,env:()=>I,registerBackend:()=>ce});var X=E(()=>{mt();bt();Ft();Ze();kt();Nt();Xe();Wt();Gt()});var Te=E(()=>{"use strict"});var jt={};Ve(jt,{default:()=>vn});var zt,Ht,vn,Vt=E(()=>{"use strict";Qe();K();Se();zt="ort-wasm-proxy-worker",Ht=globalThis.self?.name===zt;Ht&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case"init-wasm":Ae(n.wasm).then(()=>{Oe(n).then(()=>{postMessage({type:t})},o=>{postMessage({type:t,err:o})})},o=>{postMessage({type:t,err:o})});break;case"init-ep":{let{epName:o,env:r}=n;Ie(r,o).then(()=>{postMessage({type:t})},i=>{postMessage({type:t,err:i})});break}case"copy-from":{let{buffer:o}=n,r=le(o);postMessage({type:t,out:r});break}case"create":{let{model:o,options:r}=n;Pe(o,r).then(i=>{postMessage({type:t,out:i})},i=>{postMessage({type:t,err:i})});break}case"release":xe(n),postMessage({type:t});break;case"run":{let{sessionId:o,inputIndices:r,inputs:i,outputIndices:a,options:s}=n;Le(o,r,i,a,new Array(a.length).fill(null),s).then(u=>{u.some(f=>f[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:u},Be([...i,...u]))},u=>{postMessage({type:t,err:u})});break}case"end-profiling":ve(n),postMessage({type:t});break;default:}}catch(o){postMessage({type:t,err:o})}});vn=Ht?null:e=>new Worker(e??R,{type:"module",name:zt})});var Jt,Bn,Un,R,Ue,et,_n,Mn,Zt,Dn,Yt,Xt,qt,Kt,Se=E(()=>{"use strict";Te();Jt=typeof location>"u"?void 0:location.origin,Bn=import.meta.url>"file:"&&import.meta.url<"file;",Un=()=>{if(!!1){if(Bn){let e=URL;return new URL(new e("ort.wasm.min.mjs",import.meta.url).href,Jt).href}return import.meta.url}},R=Un(),Ue=()=>{if(R&&!R.startsWith("blob:"))return R.substring(0,R.lastIndexOf("/")+1)},et=(e,t)=>{try{let n=t??R;return(n?new URL(e,n):new URL(e)).origin===Jt}catch{return!1}},_n=(e,t)=>{let n=t??R;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},Mn=(e,t)=>`${t??"./"}${e}`,Zt=async e=>{let n=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(n)},Dn=async e=>(await import(/*webpackIgnore:true*/e)).default,Yt=(Vt(),lt(jt)).default,Xt=async()=>{if(!R)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(et(R))return[void 0,Yt()];let e=await Zt(R);return[e,Yt(e)]},qt=void 0,Kt=async(e,t,n)=>{if(!e&&!t&&qt&&R&&et(R))return[void 0,qt];{let o="ort-wasm-simd-threaded.mjs",r=e??_n(o,t),i=!!1&&n&&r&&!et(r,t),a=i?await Zt(r):r??Mn(o,t);return[i?a:void 0,await Dn(a)]}}});var tt,nt,_e,Qt,Cn,Rn,Fn,Ae,A,K=E(()=>{"use strict";Se();nt=!1,_e=!1,Qt=!1,Cn=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},Rn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Fn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},Ae=async e=>{if(nt)return Promise.resolve();if(_e)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Qt)throw new Error("previous call to 'initializeWebAssembly()' failed.");_e=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd==="relaxed"){if(!Fn())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!Rn())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let o=Cn();n>1&&!o&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+n+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=n=1);let r=e.wasmPaths,i=typeof r=="string"?r:void 0,a=r?.mjs,s=a?.href??a,u=r?.wasm,f=u?.href??u,c=e.wasmBinary,[l,d]=await Kt(s,i,n>1),p=!1,w=[];if(t>0&&w.push(new Promise(b=>{setTimeout(()=>{p=!0,b()},t)})),w.push(new Promise((b,O)=>{let m={numThreads:n};if(c)m.wasmBinary=c;else if(f||i)m.locateFile=h=>f??i+h;else if(s&&s.indexOf("blob:")!==0)m.locateFile=h=>new URL(h,s).href;else if(l){let h=Ue();h&&(m.locateFile=P=>h+P)}d(m).then(h=>{_e=!1,nt=!0,tt=h,b(),l&&URL.revokeObjectURL(l)},h=>{_e=!1,Qt=!0,O(h)})})),await Promise.race(w),p)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},A=()=>{if(nt&&tt)return tt;throw new Error("WebAssembly is not initialized yet.")}});var F,pe,T,Me=E(()=>{"use strict";K();F=(e,t)=>{let n=A(),o=n.lengthBytesUTF8(e)+1,r=n._malloc(o);return n.stringToUTF8(e,r,o),t.push(r),r},pe=(e,t,n,o)=>{if(typeof e=="object"&&e!==null){if(n.has(e))throw new Error("Circular reference in options");n.add(e)}Object.entries(e).forEach(([r,i])=>{let a=t?t+r:r;if(typeof i=="object")pe(i,a+".",n,o);else if(typeof i=="string"||typeof i=="number")o(a,i.toString());else if(typeof i=="boolean")o(a,i?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof i}`)})},T=e=>{let t=A(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetLastError(r,r+o);let i=Number(t.getValue(r,o===4?"i32":"i64")),a=t.getValue(r+o,"*"),s=a?t.UTF8ToString(a):"";throw new Error(`${e} ERROR_CODE: ${i}, ERROR_MESSAGE: ${s}`)}finally{t.stackRestore(n)}}});var en,tn=E(()=>{"use strict";K();Me();en=e=>{let t=A(),n=0,o=[],r=e||{};try{if(e?.logSeverityLevel===void 0)r.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)r.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(r.terminate=!1);let i=0;return e?.tag!==void 0&&(i=F(e.tag,o)),n=t._OrtCreateRunOptions(r.logSeverityLevel,r.logVerbosityLevel,!!r.terminate,i),n===0&&T("Can't create run options."),e?.extra!==void 0&&pe(e.extra,"",new WeakSet,(a,s)=>{let u=F(a,o),f=F(s,o);t._OrtAddRunConfigEntry(n,u,f)!==0&&T(`Can't set a run config entry: ${a} - ${s}.`)}),[n,o]}catch(i){throw n!==0&&t._OrtReleaseRunOptions(n),o.forEach(a=>t._free(a)),i}}});var kn,Nn,Wn,De,Gn,nn,rn=E(()=>{"use strict";K();Me();kn=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},Nn=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},Wn=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(n=>(typeof n=="string"?n:n.name)==="webgpu")&&(e.enableMemPattern=!1)},De=(e,t,n,o)=>{let r=F(t,o),i=F(n,o);A()._OrtAddSessionConfigEntry(e,r,i)!==0&&T(`Can't set a session config entry: ${t} - ${n}.`)},Gn=async(e,t,n)=>{for(let o of t){let r=typeof o=="string"?o:o.name,i=[];switch(r){case"webnn":if(r="WEBNN",typeof o!="string"){let l=o?.deviceType;l&&De(e,"deviceType",l,n)}break;case"webgpu":if(r="JS",typeof o!="string"){let c=o;if(c?.preferredLayout){if(c.preferredLayout!=="NCHW"&&c.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${c.preferredLayout}`);De(e,"preferredLayout",c.preferredLayout,n)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${r}`)}let a=F(r,n),s=i.length,u=0,f=0;if(s>0){u=A()._malloc(s*A().PTR_SIZE),n.push(u),f=A()._malloc(s*A().PTR_SIZE),n.push(f);for(let c=0;c<s;c++)A().setValue(u+c*A().PTR_SIZE,i[c][0],"*"),A().setValue(f+c*A().PTR_SIZE,i[c][1],"*")}await A()._OrtAppendExecutionProvider(e,a,u,f,s)!==0&&T(`Can't append execution provider: ${r}.`)}},nn=async e=>{let t=A(),n=0,o=[],r=e||{};Wn(r);try{let i=kn(r.graphOptimizationLevel??"all"),a=Nn(r.executionMode??"sequential"),s=typeof r.logId=="string"?F(r.logId,o):0,u=r.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log serverity level is not valid: ${u}`);let f=r.logVerbosityLevel??0;if(!Number.isInteger(f)||f<0||f>4)throw new Error(`log verbosity level is not valid: ${f}`);let c=typeof r.optimizedModelFilePath=="string"?F(r.optimizedModelFilePath,o):0;if(n=t._OrtCreateSessionOptions(i,!!r.enableCpuMemArena,!!r.enableMemPattern,a,!!r.enableProfiling,0,s,u,f,c),n===0&&T("Can't create session options."),r.executionProviders&&await Gn(n,r.executionProviders,o),r.enableGraphCapture!==void 0){if(typeof r.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${r.enableGraphCapture}`);De(n,"enableGraphCapture",r.enableGraphCapture.toString(),o)}if(r.freeDimensionOverrides)for(let[l,d]of Object.entries(r.freeDimensionOverrides)){if(typeof l!="string")throw new Error(`free dimension override name must be a string: ${l}`);if(typeof d!="number"||!Number.isInteger(d)||d<0)throw new Error(`free dimension override value must be a non-negative integer: ${d}`);let p=F(l,o);t._OrtAddFreeDimensionOverride(n,p,d)!==0&&T(`Can't set a free dimension override: ${l} - ${d}.`)}return r.extra!==void 0&&pe(r.extra,"",new WeakSet,(l,d)=>{De(n,l,d,o)}),[n,o]}catch(i){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&T("Can't release session options."),o.forEach(a=>t._free(a)),i}}});var re,Ce,oe,on,sn,Re,Fe,an,rt=E(()=>{"use strict";re=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${e}`)}},Ce=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${e}`)}},oe=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],o=typeof t=="number"?t:t.reduce((r,i)=>r*i,1);return n>0?Math.ceil(o*n):void 0},on=e=>{switch(e){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},sn=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},Re=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",Fe=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",an=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${e}`)}}});var me,ot=E(()=>{"use strict";Te();me=async e=>{if(typeof e=="string")if(!1)try{let{readFile:t}=je("node:fs/promises");return new Uint8Array(await t(e))}catch(t){if(t.code==="ERR_FS_FILE_TOO_LARGE"){let{createReadStream:n}=je("node:fs"),o=n(e),r=[];for await(let i of o)r.push(i);return new Uint8Array(Buffer.concat(r))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let n=t.headers.get("Content-Length"),o=n?parseInt(n,10):0;if(o<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let r=t.body.getReader(),i;try{i=new ArrayBuffer(o)}catch(s){if(s instanceof RangeError){let u=Math.ceil(o/65536);i=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw s}let a=0;for(;;){let{done:s,value:u}=await r.read();if(s)break;let f=u.byteLength;new Uint8Array(i,a,f).set(u),a+=f}return new Uint8Array(i,0,o)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});var $n,Oe,Ie,se,zn,un,le,Pe,xe,fn,Le,ve,Be,Qe=E(()=>{"use strict";tn();rn();rt();K();Me();ot();$n=(e,t)=>{A()._OrtInit(e,t)!==0&&T("Can't initialize onnxruntime.")},Oe=async e=>{$n(e.wasm.numThreads,sn(e.logLevel))},Ie=async(e,t)=>{A().asyncInit?.()},se=new Map,zn=e=>{let t=A(),n=t.stackSave();try{let o=t.PTR_SIZE,r=t.stackAlloc(2*o);t._OrtGetInputOutputCount(e,r,r+o)!==0&&T("Can't get session input/output count.");let a=o===4?"i32":"i64";return[Number(t.getValue(r,a)),Number(t.getValue(r+o,a))]}finally{t.stackRestore(n)}},un=(e,t)=>{let n=A(),o=n.stackSave(),r=0;try{let i=n.PTR_SIZE,a=n.stackAlloc(2*i);n._OrtGetInputOutputMetadata(e,t,a,a+i)!==0&&T("Can't get session input/output metadata.");let u=Number(n.getValue(a,"*"));r=Number(n.getValue(a+i,"*"));let f=n.HEAP32[r/4];if(f===0)return[u,0];let c=n.HEAPU32[r/4+1],l=[];for(let d=0;d<c;d++){let p=Number(n.getValue(r+8+d*i,"*"));l.push(p!==0?n.UTF8ToString(p):Number(n.getValue(r+8+(d+c)*i,"*")))}return[u,f,l]}finally{n.stackRestore(o),r!==0&&n._OrtFree(r)}},le=e=>{let t=A(),n=t._malloc(e.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},Pe=async(e,t)=>{let n,o,r=A();Array.isArray(e)?[n,o]=e:e.buffer===r.HEAPU8.buffer?[n,o]=[e.byteOffset,e.byteLength]:[n,o]=le(e);let i=0,a=0,s=0,u=[],f=[],c=[];try{if([a,u]=await nn(t),t?.externalData&&r.mountExternalData){let g=[];for(let S of t.externalData){let B=typeof S=="string"?S:S.path;g.push(me(typeof S=="string"?S:S.data).then(D=>{r.mountExternalData(B,D)}))}await Promise.all(g)}for(let g of t?.executionProviders??[])if((typeof g=="string"?g:g.name)==="webnn"){if(r.shouldTransferToMLTensor=!1,typeof g!="string"){let B=g,D=B?.context,_=B?.gpuDevice,te=B?.deviceType,ue=B?.powerPreference;D?r.currentContext=D:_?r.currentContext=await r.webnnCreateMLContext(_):r.currentContext=await r.webnnCreateMLContext({deviceType:te,powerPreference:ue})}else r.currentContext=await r.webnnCreateMLContext();break}i=await r._OrtCreateSession(n,o,a),r.webgpuOnCreateSession?.(i),i===0&&T("Can't create a session."),r.jsepOnCreateSession?.(),r.currentContext&&(r.webnnRegisterMLContext(i,r.currentContext),r.currentContext=void 0,r.shouldTransferToMLTensor=!0);let[l,d]=zn(i),p=!!t?.enableGraphCapture,w=[],b=[],O=[],m=[],h=[];for(let g=0;g<l;g++){let[S,B,D]=un(i,g);S===0&&T("Can't get an input name."),f.push(S);let _=r.UTF8ToString(S);w.push(_),O.push(B===0?{name:_,isTensor:!1}:{name:_,isTensor:!0,type:Ce(B),shape:D})}for(let g=0;g<d;g++){let[S,B,D]=un(i,g+l);S===0&&T("Can't get an output name."),c.push(S);let _=r.UTF8ToString(S);b.push(_),m.push(B===0?{name:_,isTensor:!1}:{name:_,isTensor:!0,type:Ce(B),shape:D})}return se.set(i,[i,f,c,null,p,!1]),[i,w,b,O,m]}catch(l){throw f.forEach(d=>r._OrtFree(d)),c.forEach(d=>r._OrtFree(d)),s!==0&&r._OrtReleaseBinding(s)!==0&&T("Can't release IO binding."),i!==0&&r._OrtReleaseSession(i)!==0&&T("Can't release session."),l}finally{r._free(n),a!==0&&r._OrtReleaseSessionOptions(a)!==0&&T("Can't release session options."),u.forEach(l=>r._free(l)),r.unmountExternalData?.()}},xe=e=>{let t=A(),n=se.get(e);if(!n)throw new Error(`cannot release session. invalid session id: ${e}`);let[o,r,i,a,s]=n;a&&(s&&t._OrtClearBoundOutputs(a.handle)!==0&&T("Can't clear bound outputs."),t._OrtReleaseBinding(a.handle)!==0&&T("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),r.forEach(u=>t._OrtFree(u)),i.forEach(u=>t._OrtFree(u)),t._OrtReleaseSession(o)!==0&&T("Can't release session."),se.delete(e)},fn=async(e,t,n,o,r,i,a=!1)=>{if(!e){t.push(0);return}let s=A(),u=s.PTR_SIZE,f=e[0],c=e[1],l=e[3],d=l,p,w;if(f==="string"&&(l==="gpu-buffer"||l==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(a&&l!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${i} when enableGraphCapture is true.`);if(l==="gpu-buffer"){let m=e[2].gpuBuffer;w=oe(re(f),c);{let h=s.jsepRegisterBuffer;if(!h)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');p=h(o,i,m,w)}}else if(l==="ml-tensor"){let m=e[2].mlTensor;w=oe(re(f),c);let h=s.webnnRegisterMLTensor;if(!h)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');p=h(o,m,re(f),c)}else{let m=e[2];if(Array.isArray(m)){w=u*m.length,p=s._malloc(w),n.push(p);for(let h=0;h<m.length;h++){if(typeof m[h]!="string")throw new TypeError(`tensor data at index ${h} is not a string`);s.setValue(p+h*u,F(m[h],n),"*")}}else{let h=s.webnnIsGraphInput,P=s.webnnIsGraphOutput;if(f!=="string"&&h&&P){let g=s.UTF8ToString(r);if(h(o,g)||P(o,g)){let S=re(f);w=oe(S,c),d="ml-tensor";let B=s.webnnCreateTemporaryTensor,D=s.webnnUploadTensor;if(!B||!D)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let _=await B(o,S,c);D(_,new Uint8Array(m.buffer,m.byteOffset,m.byteLength)),p=_}else w=m.byteLength,p=s._malloc(w),n.push(p),s.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,w),p)}else w=m.byteLength,p=s._malloc(w),n.push(p),s.HEAPU8.set(new Uint8Array(m.buffer,m.byteOffset,w),p)}}let b=s.stackSave(),O=s.stackAlloc(4*c.length);try{c.forEach((h,P)=>s.setValue(O+P*u,h,u===4?"i32":"i64"));let m=s._OrtCreateTensor(re(f),p,w,O,c.length,an(d));m===0&&T(`Can't create tensor for input/output. session=${o}, index=${i}.`),t.push(m)}finally{s.stackRestore(b)}},Le=async(e,t,n,o,r,i)=>{let a=A(),s=a.PTR_SIZE,u=se.get(e);if(!u)throw new Error(`cannot run inference. invalid session id: ${e}`);let f=u[0],c=u[1],l=u[2],d=u[3],p=u[4],w=u[5],b=t.length,O=o.length,m=0,h=[],P=[],g=[],S=[],B=a.stackSave(),D=a.stackAlloc(b*s),_=a.stackAlloc(b*s),te=a.stackAlloc(O*s),ue=a.stackAlloc(O*s);try{[m,h]=en(i);for(let y=0;y<b;y++)await fn(n[y],P,S,e,c[t[y]],t[y],p);for(let y=0;y<O;y++)await fn(r[y],g,S,e,l[o[y]],b+o[y],p);for(let y=0;y<b;y++)a.setValue(D+y*s,P[y],"*"),a.setValue(_+y*s,c[t[y]],"*");for(let y=0;y<O;y++)a.setValue(te+y*s,g[y],"*"),a.setValue(ue+y*s,l[o[y]],"*");a.jsepOnRunStart?.(f),a.webnnOnRunStart?.(f);let k;k=await a._OrtRun(f,_,D,b,ue,O,te,m),k!==0&&T("failed to call OrtRun().");let $=[],ut=[];for(let y=0;y<O;y++){let z=Number(a.getValue(te+y*s,"*"));if(z===g[y]){$.push(r[y]);continue}let ft=a.stackSave(),G=a.stackAlloc(4*s),ne=!1,L,M=0;try{a._OrtGetTensorData(z,G,G+s,G+2*s,G+3*s)!==0&&T(`Can't access output tensor data on index ${y}.`);let ze=s===4?"i32":"i64",he=Number(a.getValue(G,ze));M=a.getValue(G+s,"*");let ct=a.getValue(G+s*2,"*"),Sn=Number(a.getValue(G+s*3,ze)),H=[];for(let v=0;v<Sn;v++)H.push(Number(a.getValue(ct+v*s,ze)));a._OrtFree(ct)!==0&&T("Can't free memory for tensor dims.");let j=H.reduce((v,x)=>v*x,1);L=Ce(he);let fe=d?.outputPreferredLocations[o[y]];if(L==="string"){if(fe==="gpu-buffer"||fe==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let v=[];for(let x=0;x<j;x++){let V=a.getValue(M+x*s,"*"),ye=a.getValue(M+(x+1)*s,"*"),dt=x===j-1?void 0:ye-V;v.push(a.UTF8ToString(V,dt))}$.push([L,H,v,"cpu"])}else if(fe==="gpu-buffer"&&j>0){let v=a.jsepGetBuffer;if(!v)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let x=v(M),V=oe(he,j);if(V===void 0||!Re(L))throw new Error(`Unsupported data type: ${L}`);ne=!0,$.push([L,H,{gpuBuffer:x,download:a.jsepCreateDownloader(x,V,L),dispose:()=>{a._OrtReleaseTensor(z)!==0&&T("Can't release tensor.")}},"gpu-buffer"])}else if(fe==="ml-tensor"&&j>0){let v=a.webnnEnsureTensor,x=a.webnnIsGraphInputOutputTypeSupported;if(!v||!x)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(oe(he,j)===void 0||!Fe(L))throw new Error(`Unsupported data type: ${L}`);if(!x(e,L,!1))throw new Error(`preferredLocation "ml-tensor" for ${L} output is not supported by current WebNN Context.`);let ye=await v(e,M,he,H,!1);ne=!0,$.push([L,H,{mlTensor:ye,download:a.webnnCreateMLTensorDownloader(M,L),dispose:()=>{a.webnnReleaseTensorId(M),a._OrtReleaseTensor(z)}},"ml-tensor"])}else if(fe==="ml-tensor-cpu-output"&&j>0){let v=a.webnnCreateMLTensorDownloader(M,L)(),x=$.length;ne=!0,ut.push((async()=>{let V=[x,await v];return a.webnnReleaseTensorId(M),a._OrtReleaseTensor(z),V})()),$.push([L,H,[],"cpu"])}else{let v=on(L),x=new v(j);new Uint8Array(x.buffer,x.byteOffset,x.byteLength).set(a.HEAPU8.subarray(M,M+x.byteLength)),$.push([L,H,x,"cpu"])}}finally{a.stackRestore(ft),L==="string"&&M&&a._free(M),ne||a._OrtReleaseTensor(z)}}d&&!p&&(a._OrtClearBoundOutputs(d.handle)!==0&&T("Can't clear bound outputs."),se.set(e,[f,c,l,d,p,!1]));for(let[y,z]of await Promise.all(ut))$[y][2]=z;return $}finally{a.webnnOnRunEnd?.(f),a.stackRestore(B),P.forEach(k=>a._OrtReleaseTensor(k)),g.forEach(k=>a._OrtReleaseTensor(k)),S.forEach(k=>a._free(k)),m!==0&&a._OrtReleaseRunOptions(m),h.forEach(k=>a._free(k))}},ve=e=>{let t=A(),n=se.get(e);if(!n)throw new Error("invalid session id");let o=n[0],r=t._OrtEndProfiling(o);r===0&&T("Can't get an profile file name."),t._OrtFree(r)},Be=e=>{let t=[];for(let n of e){let o=n[2];!Array.isArray(o)&&"buffer"in o&&t.push(o.buffer)}return t}});var ee,N,we,Ne,We,ke,st,at,ae,ie,jn,cn,dn,ln,pn,mn,wn,hn,it=E(()=>{"use strict";X();Qe();K();Se();ee=()=>!!I.wasm.proxy&&typeof document<"u",we=!1,Ne=!1,We=!1,at=new Map,ae=(e,t)=>{let n=at.get(e);n?n.push(t):at.set(e,[t])},ie=()=>{if(we||!Ne||We||!N)throw new Error("worker not ready")},jn=e=>{switch(e.data.type){case"init-wasm":we=!1,e.data.err?(We=!0,st[1](e.data.err)):(Ne=!0,st[0]()),ke&&(URL.revokeObjectURL(ke),ke=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=at.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},cn=async()=>{if(!Ne){if(we)throw new Error("multiple calls to 'initWasm()' detected.");if(We)throw new Error("previous call to 'initWasm()' failed.");if(we=!0,ee())return new Promise((e,t)=>{N?.terminate(),Xt().then(([n,o])=>{try{N=o,N.onerror=i=>t(i),N.onmessage=jn,st=[e,t];let r={type:"init-wasm",in:I};if(!r.in.wasm.wasmPaths&&n){let i=Ue();i&&(r.in.wasm.wasmPaths=i)}N.postMessage(r),ke=n}catch(r){t(r)}},t)});try{await Ae(I.wasm),await Oe(I),Ne=!0}catch(e){throw We=!0,e}finally{we=!1}}},dn=async e=>{if(ee())return ie(),new Promise((t,n)=>{ae("init-ep",[t,n]);let o={type:"init-ep",in:{epName:e,env:I}};N.postMessage(o)});await Ie(I,e)},ln=async e=>ee()?(ie(),new Promise((t,n)=>{ae("copy-from",[t,n]);let o={type:"copy-from",in:{buffer:e}};N.postMessage(o,[e.buffer])})):le(e),pn=async(e,t)=>{if(ee()){if(t?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return ie(),new Promise((n,o)=>{ae("create",[n,o]);let r={type:"create",in:{model:e,options:{...t}}},i=[];e instanceof Uint8Array&&i.push(e.buffer),N.postMessage(r,i)})}else return Pe(e,t)},mn=async e=>{if(ee())return ie(),new Promise((t,n)=>{ae("release",[t,n]);let o={type:"release",in:e};N.postMessage(o)});xe(e)},wn=async(e,t,n,o,r,i)=>{if(ee()){if(n.some(a=>a[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(r.some(a=>a))throw new Error("pre-allocated output tensor is not supported for proxy.");return ie(),new Promise((a,s)=>{ae("run",[a,s]);let u=n,f={type:"run",in:{sessionId:e,inputIndices:t,inputs:u,outputIndices:o,options:i}};N.postMessage(f,Be(u))})}else return Le(e,t,n,o,r,i)},hn=async e=>{if(ee())return ie(),new Promise((t,n)=>{ae("end-profiling",[t,n]);let o={type:"end-profiling",in:e};N.postMessage(o)});ve(e)}});var yn,Vn,Ge,bn=E(()=>{"use strict";X();it();rt();Te();ot();yn=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},Vn=e=>{switch(e[3]){case"cpu":return new W(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!Re(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:o,dispose:r}=e[2];return W.fromGpuBuffer(n,{dataType:t,dims:e[1],download:o,dispose:r})}case"ml-tensor":{let t=e[0];if(!Fe(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:o,dispose:r}=e[2];return W.fromMLTensor(n,{dataType:t,dims:e[1],download:o,dispose:r})}default:throw new Error(`invalid data location: ${e[3]}`)}},Ge=class{async fetchModelAndCopyToWasmMemory(t){return ln(await me(t))}async loadModel(t,n){J();let o;typeof t=="string"?o=await this.fetchModelAndCopyToWasmMemory(t):o=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await pn(o,n),Z()}async dispose(){return mn(this.sessionId)}async run(t,n,o){J();let r=[],i=[];Object.entries(t).forEach(d=>{let p=d[0],w=d[1],b=this.inputNames.indexOf(p);if(b===-1)throw new Error(`invalid input '${p}'`);r.push(w),i.push(b)});let a=[],s=[];Object.entries(n).forEach(d=>{let p=d[0],w=d[1],b=this.outputNames.indexOf(p);if(b===-1)throw new Error(`invalid output '${p}'`);a.push(w),s.push(b)});let u=r.map((d,p)=>yn(d,()=>`input "${this.inputNames[i[p]]}"`)),f=a.map((d,p)=>d?yn(d,()=>`output "${this.outputNames[s[p]]}"`):null),c=await wn(this.sessionId,i,u,s,f,o),l={};for(let d=0;d<c.length;d++)l[this.outputNames[s[d]]]=a[d]??Vn(c[d]);return Z(),l}startProfiling(){}endProfiling(){hn(this.sessionId)}}});var En={};Ve(En,{OnnxruntimeWebAssemblyBackend:()=>$e,initializeFlags:()=>gn,wasmBackend:()=>Yn});var gn,$e,Yn,Tn=E(()=>{"use strict";X();it();bn();gn=()=>{(typeof I.wasm.initTimeout!="number"||I.wasm.initTimeout<0)&&(I.wasm.initTimeout=0);let e=I.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),I.wasm.simd=!1),typeof I.wasm.proxy!="boolean"&&(I.wasm.proxy=!1),typeof I.wasm.trace!="boolean"&&(I.wasm.trace=!1),typeof I.wasm.numThreads!="number"||!Number.isInteger(I.wasm.numThreads)||I.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)I.wasm.numThreads=1;else{let t=typeof navigator>"u"?je("node:os").cpus().length:navigator.hardwareConcurrency;I.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},$e=class{async init(t){gn(),await cn(),await dn(t)}async createInferenceSessionHandler(t,n){let o=new Ge;return await o.loadModel(t,n),o}},Yn=new $e});X();X();X();var $t="1.23.0";var vo=Ke;{let e=(Tn(),lt(En)).wasmBackend;ce("cpu",e,10),ce("wasm",e,10)}Object.defineProperty(I.versions,"web",{value:$t,enumerable:!0});export{Ln as InferenceSession,Dt as TRACE,J as TRACE_FUNC_BEGIN,Z as TRACE_FUNC_END,W as Tensor,vo as default,I as env,ce as registerBackend};
|
| 7 |
+
//# sourceMappingURL=ort.wasm.min.mjs.map
|
dist/ort.wasm.min.mjs.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.wasm.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgl.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgl.min.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgl.min.js.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgl.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgl.min.mjs.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgl.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgpu.bundle.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgpu.bundle.min.mjs.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgpu.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgpu.min.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgpu.min.js.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgpu.min.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgpu.min.mjs.map
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
dist/ort.webgpu.mjs
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|