diff --git a/CHANGELOG.md b/CHANGELOG.md index dbad7aa..d66f605 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,12 +5,13 @@ Author: **Vladimir Mandic ** License: **MIT** - Repository: **** + Repository: **** ## Changelog ### **HEAD -> master** 2024/01/20 mandic00@live.com +- merge pull request #188 from rebser/master - fixing leaking eventhandlers when using htmlcanvaselement - rebuild types - rebuild @@ -20,9 +21,6 @@ - merge pull request #186 from khwalkowicz/master - feat: enable noimplicitany -### **release: 1.7.12** 2023/06/12 mandic00@live.com - - ### **1.7.12** 2023/06/12 mandic00@live.com @@ -62,9 +60,7 @@ ### **1.7.2** 2022/08/23 mandic00@live.com - document and remove optional dependencies - -### **release: 1.7.1** 2022/07/25 mandic00@live.com - +- release build ### **1.7.1** 2022/07/25 mandic00@live.com @@ -90,6 +86,7 @@ ### **1.6.6** 2022/03/04 mandic00@live.com +- toolkit refresh ### **1.6.5** 2022/02/07 mandic00@live.com @@ -120,9 +117,6 @@ ### **1.5.6** 2021/10/22 mandic00@live.com -### **release: 1.5.5** 2021/10/19 mandic00@live.com - - ### **1.5.5** 2021/10/19 mandic00@live.com - allow backend change in demo via url params @@ -148,15 +142,9 @@ ### **1.4.2** 2021/08/31 mandic00@live.com -### **release: 1.4.1** 2021/07/29 mandic00@live.com - - ### **1.4.1** 2021/07/29 mandic00@live.com -### **release: 1.3.1** 2021/06/18 mandic00@live.com - - ### **1.3.1** 2021/06/08 mandic00@live.com - fix face expression detection (#56) @@ -175,16 +163,13 @@ ### **1.2.3** 2021/05/04 mandic00@live.com -### **update for tfjs 3.6.0** 2021/04/30 mandic00@live.com - - ### **1.2.2** 2021/04/30 mandic00@live.com - add node-wasm demo - accept uri as input to demo node and node-canvas - major version full rebuild -### **1.2.1** 2021/04/22 mandic00@live.com +### **1.2.1** 2021/04/23 mandic00@live.com - add npmrc - add canvas/image based demo to decode webp @@ -239,10 +224,7 @@ - reformatted model manifests and weights - create api specs -### **1.0.2** 2021/03/09 mandic00@live.com - - -### **release: 1.0.1** 2021/03/09 mandic00@live.com +### **1.0.2** 2021/03/10 mandic00@live.com ### **1.0.1** 2021/03/09 mandic00@live.com @@ -273,18 +255,13 @@ - exception handling - 0.12.8 - exception handling - -### **0.12.7** 2021/02/17 mandic00@live.com - +- full rebuild - 0.12.7 - 0.12.6 - 0.12.5 - 0.12.4 - 0.12.3 - 0.12.2 - -### **update for tfjs 3.0.0** 2021/01/29 mandic00@live.com - - 0.12.1 - rebuild - 0.11.6 @@ -356,10 +333,10 @@ - fix webpack compatibility issue -### **0.8.3** 2020/10/25 mandic00@live.com +### **0.8.3** 2020/10/26 mandic00@live.com -### **0.8.2** 2020/10/25 mandic00@live.com +### **0.8.2** 2020/10/26 mandic00@live.com - fix for wasm compatibility @@ -371,10 +348,10 @@ - added nobundle -### **0.7.3** 2020/10/13 mandic00@live.com +### **0.7.3** 2020/10/14 mandic00@live.com -### **0.7.2** 2020/10/13 mandic00@live.com +### **0.7.2** 2020/10/14 mandic00@live.com ### **0.7.1** 2020/10/13 mandic00@live.com @@ -414,7 +391,7 @@ - adding build -### **0.4.4** 2020/08/30 cyan00@gmail.com +### **0.4.4** 2020/08/31 cyan00@gmail.com - change build process @@ -442,14 +419,14 @@ ### **0.3.6** 2020/08/21 cyan00@gmail.com -### **0.3.5** 2020/08/19 cyan00@gmail.com +### **0.3.5** 2020/08/20 cyan00@gmail.com -### **0.3.4** 2020/08/19 cyan00@gmail.com +### **0.3.4** 2020/08/20 cyan00@gmail.com - switch to commonjs and es2018 for compatibility -### **0.3.3** 2020/08/19 cyan00@gmail.com +### **0.3.3** 2020/08/20 cyan00@gmail.com ### **0.3.2** 2020/08/18 cyan00@gmail.com diff --git a/dist/face-api.esm-nobundle.js b/dist/face-api.esm-nobundle.js index 5b56bc4..4c45262 100644 --- a/dist/face-api.esm-nobundle.js +++ b/dist/face-api.esm-nobundle.js @@ -4,4 +4,4 @@ author: ' */ -var ur=Object.defineProperty;var ho=Object.getOwnPropertyDescriptor;var bo=Object.getOwnPropertyNames;var go=Object.prototype.hasOwnProperty;var xo=(o=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(o,{get:(t,e)=>(typeof require!="undefined"?require:t)[e]}):o)(function(o){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});var Ye=(o,t)=>{for(var e in t)ur(o,e,{get:t[e],enumerable:!0})},pr=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of bo(t))!go.call(o,a)&&a!==e&&ur(o,a,{get:()=>t[a],enumerable:!(r=ho(t,a))||r.enumerable});return o},w=(o,t,e)=>(pr(o,t,"default"),e&&pr(e,t,"default"));var n={};Ye(n,{version:()=>Po});w(n,mn);w(n,pn);w(n,un);import*as mn from"@tensorflow/tfjs/dist/index.js";import*as pn from"@tensorflow/tfjs-backend-webgl/dist/index.js";import*as un from"@tensorflow/tfjs-backend-wasm/dist/index.js";var fr="4.16.0",vo="4.16.0",yo="4.16.0",To="4.16.0",_o="4.16.0",Po={tfjs:fr,"tfjs-core":fr,"tfjs-converter":vo,"tfjs-backend-cpu":yo,"tfjs-backend-webgl":To,"tfjs-backend-wasm":_o};var Sr={};Ye(Sr,{AnchorPosition:()=>Ke,DrawBox:()=>ee,DrawBoxOptions:()=>de,DrawFaceLandmarks:()=>De,DrawFaceLandmarksOptions:()=>Fe,DrawTextField:()=>xt,DrawTextFieldOptions:()=>Wt,drawContour:()=>Z,drawDetections:()=>Io,drawFaceExpressions:()=>No,drawFaceLandmarks:()=>So});function Z(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:a},i)=>{let s=t[i];o.moveTo(s.x,s.y),o.lineTo(r,a)}),e){let r=t[t.length-1],a=t[0];if(!r||!a)return;o.moveTo(r.x,r.y),o.lineTo(a.x,a.y)}o.stroke()}var lr={};Ye(lr,{computeReshapedDimensions:()=>je,getCenterPoint:()=>bt,isDimensions:()=>ue,isEven:()=>pe,isFloat:()=>Ge,isTensor:()=>dt,isTensor1D:()=>wo,isTensor2D:()=>Ve,isTensor3D:()=>K,isTensor4D:()=>R,isValidNumber:()=>G,isValidProbablitiy:()=>Mt,range:()=>X,round:()=>ht});var A=class o{constructor(t,e){if(!G(t)||!G(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new o(1/this.width,1/this.height)}};function dt(o,t){return o instanceof n.Tensor&&o.shape.length===t}function wo(o){return dt(o,1)}function Ve(o){return dt(o,2)}function K(o){return dt(o,3)}function R(o){return dt(o,4)}function Ge(o){return o%1!==0}function pe(o){return o%2===0}function ht(o,t=2){let e=10**t;return Math.floor(o*e)/e}function ue(o){return o&&o.width&&o.height}function je({width:o,height:t},e){let r=e/Math.max(t,o);return new A(Math.round(o*r),Math.round(t*r))}function bt(o){return o.reduce((t,e)=>t.add(e),new v(0,0)).div(new v(o.length,o.length))}function X(o,t,e){return Array(o).fill(0).map((r,a)=>t+a*e)}function G(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function Mt(o){return G(o)&&o>=0&&o<=1}var v=class o{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new o(this.x+t.x,this.y+t.y)}sub(t){return new o(this.x-t.x,this.y-t.y)}mul(t){return new o(this.x*t.x,this.y*t.y)}div(t){return new o(this.x/t.x,this.y/t.y)}abs(){return new o(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new o(Math.floor(this.x),Math.floor(this.y))}};var C=class o{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(G)}static assertIsValidBox(t,e,r=!1){if(!o.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},a=[r.left,r.top,r.right,r.bottom].every(G),i=[r.x,r.y,r.width,r.height].every(G);if(!i&&!a)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[s,c,m,p]=i?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];o.assertIsValidBox({x:s,y:c,width:m,height:p},"Box.constructor",e),this._x=s,this._y=c,this._width=m,this._height=p}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new v(this.left,this.top)}get topRight(){return new v(this.right,this.top)}get bottomLeft(){return new v(this.left,this.bottom)}get bottomRight(){return new v(this.right,this.bottom)}round(){let[t,e,r,a]=[this.x,this.y,this.width,this.height].map(i=>Math.round(i));return new o({x:t,y:e,width:r,height:a})}floor(){let[t,e,r,a]=[this.x,this.y,this.width,this.height].map(i=>Math.floor(i));return new o({x:t,y:e,width:r,height:a})}toSquare(){let{x:t,y:e,width:r,height:a}=this,i=Math.abs(r-a);return re&&(c=-f+e+r,f=e),l>t&&(m=-l+t+a,l=t),p<1&&(m=2-p,p=1),u<1&&(m=2-u,u=1),{dy:s,edy:m,dx:i,edx:c,y:u,ey:l,x:p,ex:f,w:r,h:a}}calibrate(t){return new o({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Ct=class extends C{constructor(t,e,r,a,i=!1){super({left:t,top:e,right:r,bottom:a},i)}};var It=class o{constructor(t,e,r,a,i){this._imageDims=new A(i.width,i.height),this._score=t,this._classScore=e,this._className=r,this._box=new C(a).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new C(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new o(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var D=class o extends It{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:a,imageDims:i}=super.forSize(t,e);return new o(r,a,i)}};function dr(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),a=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),i=r*a;return e?i/(o.area+t.area-i):i/Math.min(o.area,t.area)}function hr(o){let t=o.map(c=>c.x),e=o.map(c=>c.y),r=t.reduce((c,m)=>mmcc({score:s,boxIndex:c})).sort((s,c)=>s.score-c.score).map(s=>s.boxIndex),i=[];for(;a.length>0;){let s=a.pop();i.push(s);let c=a,m=[];for(let p=0;pm[u]<=e)}return i}function J(o,t){return n.tidy(()=>{let[e,r,a]=t,i=n.fill([...o.shape.slice(0,3),1],e,"float32"),s=n.fill([...o.shape.slice(0,3),1],r,"float32"),c=n.fill([...o.shape.slice(0,3),1],a,"float32"),m=n.concat([i,s,c],3);return n.sub(o,m)})}function gr(o,t=!1){return n.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let a=Math.abs(e-r),i=Math.round(a*(t?.5:1)),s=e>r?2:1,c=l=>{let d=o.shape.slice();return d[s]=l,n.fill(d,0,"float32")},m=c(i),p=a-m.shape[s],f=[t&&p?c(p):null,o,m].filter(l=>!!l).map(l=>n.cast(l,"float32"));return n.concat(f,s)})}function Rn(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),a=t[e];t[e]=t[r],t[r]=a}return t}function fe(o){return 1/(1+Math.exp(-o))}function On(o){return Math.log(o/(1-o))}var Nt=class extends C{constructor(t,e,r,a,i=!1){super({x:t,y:e,width:r,height:a},i)}};var Fo=.5,Do=.43,Eo=.45,$=class{constructor(t,e,r=new v(0,0)){let{width:a,height:i}=e;this._imgDims=new A(a,i),this._shift=r,this._positions=t.map(s=>s.mul(new v(a,i)).add(r))}get shift(){return new v(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new v(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new v(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let i=t instanceof D?t.box.floor():new C(t);return this.shiftBy(i.x,i.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:a}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(a)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,a]=t,i=f=>a.sub(f).magnitude(),s=(i(e)+i(r))/2,c=Math.floor(s/Eo),m=bt(t),p=Math.floor(Math.max(0,m.x-Fo*c)),u=Math.floor(Math.max(0,m.y-Do*c));return new Nt(p,u,Math.min(c,this.imageWidth+p),Math.min(c,this.imageHeight+u))}alignMinBbox(t){let e=hr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var xr=class extends ${getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],bt([t[3],t[4]])]}};var Lt=class extends ${getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(bt)}};var Kt=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${ht(this.distance)})`:""}`}};var Qt=class extends C{static assertIsValidLabeledBox(t,e){if(C.assertIsValidBox(t,e),!G(t.label))throw new Error(`${e} - expected property label (${t.label}) to be a number`)}constructor(t,e){super(t),this._label=e}get label(){return this._label}};var gt=class o{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new o(t.label,e)}};var vr=class extends Qt{static assertIsValidPredictedBox(t,e){if(Qt.assertIsValidLabeledBox(t,e),!Mt(t.score)||!Mt(t.classScore))throw new Error(`${e} - expected properties score (${t.score}) and (${t.classScore}) to be a number between [0, 1]`)}constructor(t,e,r,a){super(t,e),this._score=r,this._classScore=a}get score(){return this._score}get classScore(){return this._classScore}};function Q(o){return o.detection instanceof D}function St(o,t){return{...o,...{detection:t}}}function Ue(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function te(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function le(o){let t="";if(!o&&te())try{o=xo("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((a,i)=>{o.readFile(r,(s,c)=>s?i(s):a(c))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Xe(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},a=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},i=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},s=global.fetch,c=le();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:a,createVideoElement:i,fetch:s,...c}}function Je(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var M;function Mo(){if(!M)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return M}function qe(o){M=o}function Ze(){return Je()?qe(Ue()):te()?qe(Xe()):null}function Co(o){if(M||Ze(),!M)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=M.Canvas,Image:e=M.Image}=o;M.Canvas=t,M.Image=e,M.createCanvasElement=o.createCanvasElement||(()=>new t),M.createImageElement=o.createImageElement||(()=>new e),M.ImageData=o.ImageData||M.ImageData,M.Video=o.Video||M.Video,M.fetch=o.fetch||M.fetch,M.readFile=o.readFile||M.readFile}var _={getEnv:Mo,setEnv:qe,initialize:Ze,createBrowserEnv:Ue,createFileSystem:le,createNodejsEnv:Xe,monkeyPatch:Co,isBrowser:Je,isNodejs:te};Ze();function At(o){return!_.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function W(o){let{Canvas:t,CanvasRenderingContext2D:e}=_.getEnv();if(o instanceof e)return o;let r=At(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let a=r.getContext("2d",{willReadFrequently:!0});if(!a)throw new Error("resolveContext2d - canvas 2d context is null");return a}var Ke=(a=>(a.TOP_LEFT="TOP_LEFT",a.TOP_RIGHT="TOP_RIGHT",a.BOTTOM_LEFT="BOTTOM_LEFT",a.BOTTOM_RIGHT="BOTTOM_RIGHT",a))(Ke||{}),Wt=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:a,fontSize:i,fontStyle:s,padding:c}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=a||"rgba(255, 255, 255, 1)",this.fontSize=i||14,this.fontStyle=s||"Georgia",this.padding=c||4}},xt=class o{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof o?t.text:t,this.anchor=e,this.options=new Wt(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,a)=>r{let b=m+f.x,y=m+f.y+(d+1)*s;r.fillText(l,b,y)})}};var de=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:a,drawLabelOptions:i}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=a;let s={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new Wt({...s,...i})}},ee=class{constructor(t,e={}){this.box=new C(t),this.options=new de(e)}draw(t){let e=W(t),{boxColor:r,lineWidth:a}=this.options,{x:i,y:s,width:c,height:m}=this.box;e.strokeStyle=r,e.lineWidth=a,e.strokeRect(i,s,c,m);let{label:p}=this.options;p&&new xt([p],{x:i-a/2,y:s},this.options.drawLabelOptions).draw(t)}};function Io(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let a=r instanceof D?r.score:Q(r)?r.detection.score:void 0,i=r instanceof D?r.box:Q(r)?r.detection.box:new C(r),s=a?`${ht(a)}`:void 0;new ee(i,{label:s}).draw(o)})}function he(o){let{Image:t,Video:e}=_.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function yr(o){return new Promise((t,e)=>{if(o instanceof _.getEnv().Canvas||he(o)){t(null);return}function r(i){i.currentTarget&&(i.currentTarget.removeEventListener("load",a),i.currentTarget.removeEventListener("error",r),e(i))}function a(i){i.currentTarget&&(i.currentTarget.removeEventListener("load",a),i.currentTarget.removeEventListener("error",r),t(i))}o.addEventListener("load",a),o.addEventListener("error",r)})}function Tr(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let a=_.getEnv().createImageElement();a.onload=()=>t(a),a.onerror=e,a.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function kt(o){let{Image:t,Video:e}=_.getEnv();return o instanceof t?new A(o.naturalWidth,o.naturalHeight):o instanceof e?new A(o.videoWidth,o.videoHeight):new A(o.width,o.height)}function Bt({width:o,height:t}){let{createCanvasElement:e}=_.getEnv(),r=e();return r.width=o,r.height=t,r}function be(o,t){let{ImageData:e}=_.getEnv();if(!(o instanceof e)&&!he(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:a}=t||kt(o),i=Bt({width:r,height:a});return o instanceof e?W(i).putImageData(o,0,0):W(i).drawImage(o,0,0,r,a),i}async function _r(o,t){let e=t||_.getEnv().createCanvasElement(),[r,a,i]=o.shape.slice(R(o)?1:0),s=n.tidy(()=>o.as3D(r,a,i).toInt());return await n.browser.toPixels(s,e),s.dispose(),e}function Qe(o){let{Image:t,Canvas:e,Video:r}=_.getEnv();return o instanceof t||o instanceof e||o instanceof r}function Pr(o,t,e=!1){let{Image:r,Canvas:a}=_.getEnv();if(!(o instanceof r||o instanceof a))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Bt({width:1,height:1});let i=kt(o),s=t/Math.max(i.height,i.width),c=s*i.width,m=s*i.height,p=Bt({width:t,height:t}),u=o instanceof a?o:be(o),f=Math.abs(c-m)/2,l=e&&c0&&u.height>0&&W(p).drawImage(u,l,d,c,m),p}var tt=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,a)=>{if(K(r)){this._imageTensors[a]=r,this._inputDimensions[a]=r.shape;return}if(R(r)){let s=r.shape[0];if(s!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${s} passed, but not supported in input array`);this._imageTensors[a]=r,this._inputDimensions[a]=r.shape.slice(1);return}let i=r instanceof _.getEnv().Canvas?r:be(r);this._canvases[a]=i,this._inputDimensions[a]=[i.height,i.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return X(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return je({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,n.tidy(()=>{let r=X(this.batchSize,0,1).map(i=>{let s=this.getInput(i);if(s instanceof n.Tensor){let c=R(s)?s:n.expandDims(s);return c=gr(c,e),(c.shape[1]!==t||c.shape[2]!==t)&&(c=n.image.resizeBilinear(c,[t,t],!1,!1)),c.as3D(t,t,3)}if(s instanceof _.getEnv().Canvas)return n.browser.fromPixels(Pr(s,t,e));throw new Error(`toBatchTensor - at batchIdx ${i}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${s}`)});return n.stack(r.map(i=>n.cast(i,"float32"))).as4D(this.batchSize,t,t,3)})}};async function F(o){if(o instanceof tt)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=a=>Array.isArray(o)?` at input index ${a}:`:"",r=t.map(At);return r.forEach((a,i)=>{if(!Qe(a)&&!K(a)&&!R(a))throw typeof t[i]=="string"?new Error(`toNetInput -${e(i)} string passed, but could not resolve HTMLElement for element id ${t[i]}`):new Error(`toNetInput -${e(i)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(R(a)){let s=a.shape[0];if(s!==1)throw new Error(`toNetInput -${e(i)} tf.Tensor4D with batchSize ${s} passed, but not supported in input array`)}}),await Promise.all(r.map(a=>Qe(a)&&yr(a))),new tt(r,Array.isArray(o))}async function re(o,t){let{Canvas:e}=_.getEnv(),r=o;if(!(o instanceof e)){let s=await F(o);if(s.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let c=s.getInput(0);r=c instanceof e?c:await _r(c)}let a=W(r);return t.map(s=>s instanceof D?s.forSize(r.width,r.height).box.floor():s).map(s=>s.clipAtImageBorders(r.width,r.height)).map(({x:s,y:c,width:m,height:p})=>{let u=Bt({width:m,height:p});return m>0&&p>0&&W(u).putImageData(a.getImageData(s,c,m,p),0,0),u})}async function oe(o,t){if(!K(o)&&!R(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(R(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return n.tidy(()=>{let[e,r,a]=o.shape.slice(R(o)?1:0);return t.map(c=>c instanceof D?c.forSize(r,e).box:c).map(c=>c.clipAtImageBorders(r,e)).filter(c=>c.width>0&&c.height>0).map(({x:c,y:m,width:p,height:u})=>n.slice3d(o.as3D(e,r,a),[m,c,0],[u,p,a]))})}async function st(o,t){let{fetch:e}=_.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function Fi(o){let t=await st(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return Tr(e)}async function wr(o){return(await st(o)).json()}async function Ii(o){return new Float32Array(await(await st(o)).arrayBuffer())}function Fr(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=_.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function ki(o){let t=await st(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return Fr(e)}function ge(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let a=o.split("/").filter(c=>c),i=o.endsWith(".json")?a[a.length-1]:e,s=r+(o.endsWith(".json")?a.slice(0,a.length-1):a).join("/");return s=o.startsWith("/")?`/${s}`:s,{modelBaseUri:s,manifestUri:s==="/"?`/${i}`:`${s}/${i}`}}async function Dr(o,t){let{manifestUri:e,modelBaseUri:r}=ge(o,t),a=await wr(e);return n.io.loadWeights(a,r)}function Yi(o,t,e=!1){let{width:r,height:a}=e?kt(t):t;return o.width=r,o.height=a,{width:r,height:a}}var I=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:a}=this.traversePropertyPath(t);r[a].dispose(),r[a]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof n.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof n.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=n.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await Dr(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=_.getEnv(),{manifestUri:r,modelBaseUri:a}=ge(t,this.getDefaultModelName()),i=p=>Promise.all(p.map(u=>e(u).then(f=>typeof f=="string"?Buffer.from(f):f.buffer))),s=n.io.weightsLoaderFactory(i),c=JSON.parse((await e(r)).toString()),m=await s(c,a);this.loadFromWeightMap(m)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((i,s)=>{if(!i.nextObj.hasOwnProperty(s))throw new Error(`traversePropertyPath - object does not have property ${s}, for path ${t}`);return{obj:i.nextObj,objProp:s,nextObj:i.nextObj[s]}},{nextObj:this.params}),{obj:r,objProp:a}=e;if(!r||!a||!(r[a]instanceof n.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:a}}};function S(o,t,e){return n.tidy(()=>{let r=n.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=n.add(r,t.bias),r})}function xe(o,t,e=!1){return n.tidy(()=>{let r=n.relu(e?n.add(n.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):S(o,t.conv0,[2,2])),a=S(r,t.conv1,[1,1]),i=n.relu(n.add(r,a)),s=S(i,t.conv2,[1,1]);return n.relu(n.add(r,n.add(a,s)))})}function ne(o,t,e=!1,r=!0){return n.tidy(()=>{let a=n.relu(e?n.add(n.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):S(o,t.conv0,r?[2,2]:[1,1])),i=S(a,t.conv1,[1,1]),s=n.relu(n.add(a,i)),c=S(s,t.conv2,[1,1]),m=n.relu(n.add(a,n.add(i,c))),p=S(m,t.conv3,[1,1]);return n.relu(n.add(a,n.add(i,n.add(c,p))))})}function vt(o,t,e="same",r=!1){return n.tidy(()=>{let a=n.add(n.conv2d(o,t.filters,[1,1],e),t.bias);return r?n.relu(a):a})}function N(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}function Rt(o,t){return(e,r,a,i)=>{let s=n.tensor4d(o(e*r*a*a),[a,a,e,r]),c=n.tensor1d(o(r));return t.push({paramPath:`${i}/filters`},{paramPath:`${i}/bias`}),{filters:s,bias:c}}}function ve(o,t){return(e,r,a)=>{let i=n.tensor2d(o(e*r),[e,r]),s=n.tensor1d(o(r));return t.push({paramPath:`${a}/weights`},{paramPath:`${a}/bias`}),{weights:i,bias:s}}}var ae=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function $t(o,t){return(e,r,a)=>{let i=n.tensor4d(o(9*e),[3,3,e,1]),s=n.tensor4d(o(e*r),[1,1,e,r]),c=n.tensor1d(o(r));return t.push({paramPath:`${a}/depthwise_filter`},{paramPath:`${a}/pointwise_filter`},{paramPath:`${a}/bias`}),new ae(i,s,c)}}function Ot(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),a=o(`${t}/bias`,1);return new ae(e,r,a)}}function k(o,t){return(e,r,a)=>{let i=o[e];if(!dt(i,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${i}`);return t.push({originalPath:e,paramPath:a||e}),i}}function L(o){let t=o;function e(a){let i=t.slice(0,a);return t=t.slice(a),i}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function ye(o,t){let e=Rt(o,t),r=$t(o,t);function a(s,c,m,p=!1){let u=p?e(s,c,3,`${m}/conv0`):r(s,c,`${m}/conv0`),f=r(c,c,`${m}/conv1`),l=r(c,c,`${m}/conv2`);return{conv0:u,conv1:f,conv2:l}}function i(s,c,m,p=!1){let{conv0:u,conv1:f,conv2:l}=a(s,c,m,p),d=r(c,c,`${m}/conv3`);return{conv0:u,conv1:f,conv2:l,conv3:d}}return{extractDenseBlock3Params:a,extractDenseBlock4Params:i}}function Er(o){let t=[],{extractWeights:e,getRemainingWeights:r}=L(o),{extractDenseBlock4Params:a}=ye(e,t),i=a(3,32,"dense0",!0),s=a(32,64,"dense1"),c=a(64,128,"dense2"),m=a(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:i,dense1:s,dense2:c,dense3:m}}}function Te(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function _e(o,t){let e=k(o,t),r=Te(e),a=Ot(e);function i(c,m=!1){let p=m?r(`${c}/conv0`):a(`${c}/conv0`),u=a(`${c}/conv1`),f=a(`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function s(c,m=!1){let p=m?r(`${c}/conv0`):a(`${c}/conv0`),u=a(`${c}/conv1`),f=a(`${c}/conv2`),l=a(`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:i,extractDenseBlock4Params:s}}function Mr(o){let t=[],{extractDenseBlock4Params:e}=_e(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return N(o,t),{params:r,paramMappings:t}}var Ht=class extends I{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(112,!0),"float32"),i=J(r,[122.782,117.001,104.298]).div(255),s=ne(i,e.dense0,!0);return s=ne(s,e.dense1),s=ne(s,e.dense2),s=ne(s,e.dense3),s=n.avgPool(s,[7,7],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await F(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Mr(t)}extractParams(t){return Er(t)}};function se(o,t){return n.tidy(()=>n.add(n.matMul(o,t.weights),t.bias))}function Cr(o,t,e){let r=[],{extractWeights:a,getRemainingWeights:i}=L(o),c=ve(a,r)(t,e,"fc");if(i().length!==0)throw new Error(`weights remaing after extract: ${i().length}`);return{paramMappings:r,params:{fc:c}}}function Ir(o){let t=[],e=k(o,t);function r(i){let s=e(`${i}/weights`,2),c=e(`${i}/bias`,1);return{weights:s,bias:c}}let a={fc:r("fc")};return N(o,t),{params:a,paramMappings:t}}function Pe(o){let t={},e={};return Object.keys(o).forEach(r=>{let a=r.startsWith("fc")?e:t;a[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var zt=class extends I{constructor(t,e){super(t),this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return n.tidy(()=>{let r=t instanceof tt?this.faceFeatureExtractor.forwardInput(t):t;return se(r.as2D(r.shape[0],-1),e.fc)})}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Cr(t,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=Pe(t);return this.faceFeatureExtractor.loadFromWeightMap(e),Ir(r)}extractParams(t){let e=this.getClassifierChannelsIn(),r=this.getClassifierChannelsOut(),a=r*e+r,i=t.slice(0,t.length-a),s=t.slice(t.length-a);return this.faceFeatureExtractor.extractWeights(i),this.extractClassifierParams(s)}};var Nr=["neutral","happy","sad","angry","fearful","disgusted","surprised"],it=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);Nr.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return Nr.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var we=class extends zt{constructor(t=new Ht){super("FaceExpressionNet",t)}forwardInput(t){return n.tidy(()=>n.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await F(t))}async predictExpressions(t){let e=await F(t),r=await this.forwardInput(e),a=await Promise.all(n.unstack(r).map(async s=>{let c=s.dataSync();return s.dispose(),c}));r.dispose();let i=a.map(s=>new it(s));return e.isBatchInput?i:i[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function Lr(o){return o.expressions instanceof it}function tr(o,t){return{...o,...{expressions:t}}}function No(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(i=>{let s=i instanceof it?i:Lr(i)?i.expressions:void 0;if(!s)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let m=s.asSortedArray().filter(f=>f.probability>e),p=Q(i)?i.detection.box.bottomLeft:r||new v(0,0);new xt(m.map(f=>`${f.expression} (${ht(f.probability)})`),p).draw(o)})}function Yt(o){return Q(o)&&o.landmarks instanceof $&&o.unshiftedLandmarks instanceof $&&o.alignedRect instanceof D}function Lo(o){let t=m=>m*180/Math.PI,e=(m,p)=>Math.sqrt((m.x-p.x)**2+(m.y-p.y)**2),r={roll:void 0,pitch:void 0,yaw:void 0},a=(m,p,u)=>{let f=Math.floor(m.x-p.x),l=Math.floor(p.x-u.x);return f-l},i=(m,p)=>{let u=Math.hypot(p.x-m.x,p.y-m.y),f=p.y-m.y,l=Math.asin(f/u),d=t(l),b=Math.floor(90-d),y=p.x-m.x<0?-1:1;return b*y},s=(m,p,u)=>{let f=e(m,u),l=new v((m.x+u.x)/2,(m.y+u.y)/2),d=e(p,l),b=Math.atan(d/f),y=Math.floor(t(b)),h=l.y-p.y<0?-1:1;return y*h};if(!o||!o.positions||o.positions.length!==68)return r;let c=o.positions;return r.roll=i(c[27],c[66]),r.pitch=s(c[14],c[30],c[2]),r.yaw=a(c[14],c[33],c[2]),r}function ie(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),a=r.align(),{imageDims:i}=o.detection,s=new D(o.detection.score,a.rescale(i.reverse()),i),c=Lo(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:s,angle:c}}}var Fe=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:a,lineColor:i,pointSize:s,pointColor:c}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=a||1,this.pointSize=s||2,this.lineColor=i||"rgba(0, 255, 255, 1)",this.pointColor=c||"rgba(255, 0, 255, 1)"}},De=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new Fe(e)}draw(t){let e=W(t),{drawLines:r,drawPoints:a,lineWidth:i,lineColor:s,pointSize:c,pointColor:m}=this.options;if(r&&this.faceLandmarks instanceof Lt&&(e.strokeStyle=s,e.lineWidth=i,Z(e,this.faceLandmarks.getJawOutline()),Z(e,this.faceLandmarks.getLeftEyeBrow()),Z(e,this.faceLandmarks.getRightEyeBrow()),Z(e,this.faceLandmarks.getNose()),Z(e,this.faceLandmarks.getLeftEye(),!0),Z(e,this.faceLandmarks.getRightEye(),!0),Z(e,this.faceLandmarks.getMouth(),!0)),a){e.strokeStyle=m,e.fillStyle=m;let p=u=>{e.beginPath(),e.arc(u.x,u.y,c,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(p)}}};function So(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let a=r instanceof $?r:Yt(r)?r.landmarks:void 0;if(!a)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new De(a).draw(o)})}var Ar="1.7.13";function ko(o,t){let e=Rt(o,t),r=$t(o,t);function a(s,c,m){let p=r(s,c,`${m}/separable_conv0`),u=r(c,c,`${m}/separable_conv1`),f=e(s,c,1,`${m}/expansion_conv`);return{separable_conv0:p,separable_conv1:u,expansion_conv:f}}function i(s,c){let m=r(s,s,`${c}/separable_conv0`),p=r(s,s,`${c}/separable_conv1`),u=r(s,s,`${c}/separable_conv2`);return{separable_conv0:m,separable_conv1:p,separable_conv2:u}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:a,extractMainBlockParams:i}}function Wr(o,t){let e=[],{extractWeights:r,getRemainingWeights:a}=L(o),{extractConvParams:i,extractSeparableConvParams:s,extractReductionBlockParams:c,extractMainBlockParams:m}=ko(r,e),p=i(3,32,3,"entry_flow/conv_in"),u=c(32,64,"entry_flow/reduction_block_0"),f=c(64,128,"entry_flow/reduction_block_1"),l={conv_in:p,reduction_block_0:u,reduction_block_1:f},d={};X(t,0,1).forEach(g=>{d[`main_block_${g}`]=m(128,`middle_flow/main_block_${g}`)});let b=c(128,256,"exit_flow/reduction_block"),y=s(256,512,"exit_flow/separable_conv"),h={reduction_block:b,separable_conv:y};if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:e,params:{entry_flow:l,middle_flow:d,exit_flow:h}}}function Bo(o,t){let e=k(o,t),r=Te(e),a=Ot(e);function i(c){let m=a(`${c}/separable_conv0`),p=a(`${c}/separable_conv1`),u=r(`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function s(c){let m=a(`${c}/separable_conv0`),p=a(`${c}/separable_conv1`),u=a(`${c}/separable_conv2`);return{separable_conv0:m,separable_conv1:p,separable_conv2:u}}return{extractConvParams:r,extractSeparableConvParams:a,extractReductionBlockParams:i,extractMainBlockParams:s}}function kr(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:a,extractReductionBlockParams:i,extractMainBlockParams:s}=Bo(o,e),c=r("entry_flow/conv_in"),m=i("entry_flow/reduction_block_0"),p=i("entry_flow/reduction_block_1"),u={conv_in:c,reduction_block_0:m,reduction_block_1:p},f={};X(t,0,1).forEach(y=>{f[`main_block_${y}`]=s(`middle_flow/main_block_${y}`)});let l=i("exit_flow/reduction_block"),d=a("exit_flow/separable_conv"),b={reduction_block:l,separable_conv:d};return N(o,e),{params:{entry_flow:u,middle_flow:f,exit_flow:b},paramMappings:e}}function Br(o,t,e){return n.add(n.conv2d(o,t.filters,e,"same"),t.bias)}function er(o,t,e=!0){let r=e?n.relu(o):o;return r=S(r,t.separable_conv0,[1,1]),r=S(n.relu(r),t.separable_conv1,[1,1]),r=n.maxPool(r,[3,3],[2,2],"same"),r=n.add(r,Br(o,t.expansion_conv,[2,2])),r}function Ro(o,t){let e=S(n.relu(o),t.separable_conv0,[1,1]);return e=S(n.relu(e),t.separable_conv1,[1,1]),e=S(n.relu(e),t.separable_conv2,[1,1]),e=n.add(e,o),e}var Ee=class extends I{constructor(t){super("TinyXception"),this._numMainBlocks=t}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyXception - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(112,!0),"float32"),i=J(r,[122.782,117.001,104.298]).div(255),s=n.relu(Br(i,e.entry_flow.conv_in,[2,2]));return s=er(s,e.entry_flow.reduction_block_0,!1),s=er(s,e.entry_flow.reduction_block_1),X(this._numMainBlocks,0,1).forEach(c=>{s=Ro(s,e.middle_flow[`main_block_${c}`])}),s=er(s,e.exit_flow.reduction_block),s=n.relu(S(s,e.exit_flow.separable_conv,[1,1])),s})}async forward(t){return this.forwardInput(await F(t))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(t){return kr(t,this._numMainBlocks)}extractParams(t){return Wr(t,this._numMainBlocks)}};function Rr(o){let t=[],{extractWeights:e,getRemainingWeights:r}=L(o),a=ve(e,t),i=a(512,1,"fc/age"),s=a(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:i,gender:s}}}}function $r(o){let t=[],e=k(o,t);function r(i){let s=e(`${i}/weights`,2),c=e(`${i}/bias`,1);return{weights:s,bias:c}}let a={fc:{age:r("fc/age"),gender:r("fc/gender")}};return N(o,t),{params:a,paramMappings:t}}var rr=(e=>(e.FEMALE="female",e.MALE="male",e))(rr||{});var Me=class extends I{constructor(t=new Ee(2)){super("AgeGenderNet"),this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return n.tidy(()=>{let r=t instanceof tt?this.faceFeatureExtractor.forwardInput(t):t,a=n.avgPool(r,[7,7],[2,2],"valid").as2D(r.shape[0],-1),i=se(a,e.fc.age).as1D(),s=se(a,e.fc.gender);return{age:i,gender:s}})}forwardInput(t){return n.tidy(()=>{let{age:e,gender:r}=this.runNet(t);return{age:e,gender:n.softmax(r)}})}async forward(t){return this.forwardInput(await F(t))}async predictAgeAndGender(t){let e=await F(t),r=await this.forwardInput(e),a=n.unstack(r.age),i=n.unstack(r.gender),s=a.map((m,p)=>({ageTensor:m,genderTensor:i[p]})),c=await Promise.all(s.map(async({ageTensor:m,genderTensor:p})=>{let u=m.dataSync()[0],f=p.dataSync()[0],l=f>.5,d=l?"male":"female",b=l?f:1-f;return m.dispose(),p.dispose(),{age:u,gender:d,genderProbability:b}}));return r.age.dispose(),r.gender.dispose(),e.isBatchInput?c:c[0]}getDefaultModelName(){return"age_gender_model"}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Rr(t)}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=Pe(t);return this.faceFeatureExtractor.loadFromWeightMap(e),$r(r)}extractParams(t){let r=t.slice(0,t.length-1539),a=t.slice(t.length-1539);return this.faceFeatureExtractor.extractWeights(r),this.extractClassifierParams(a)}};var Vt=class extends zt{postProcess(t,e,r){let a=r.map(({width:s,height:c})=>{let m=e/Math.max(c,s);return{width:s*m,height:c*m}}),i=a.length;return n.tidy(()=>{let s=(f,l)=>n.stack([n.fill([68],f,"float32"),n.fill([68],l,"float32")],1).as2D(1,136).as1D(),c=(f,l)=>{let{width:d,height:b}=a[f];return l(d,b)?Math.abs(d-b)/2:0},m=f=>c(f,(l,d)=>lc(f,(l,d)=>ds(m(l),p(l))))).div(n.stack(Array.from(Array(i),(f,l)=>s(a[l].width,a[l].height))))})}forwardInput(t){return n.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,a])=>({height:r,width:a})))})}async forward(t){return this.forwardInput(await F(t))}async detectLandmarks(t){let e=await F(t),r=n.tidy(()=>n.unstack(this.forwardInput(e))),a=await Promise.all(r.map(async(i,s)=>{let c=Array.from(i.dataSync()),m=c.filter((u,f)=>pe(f)),p=c.filter((u,f)=>!pe(f));return new Lt(Array(68).fill(0).map((u,f)=>new v(m[f],p[f])),{height:e.getInputHeight(s),width:e.getInputWidth(s)})}));return r.forEach(i=>i.dispose()),e.isBatchInput?a:a[0]}getClassifierChannelsOut(){return 136}};var Gt=class extends Vt{constructor(t=new Ht){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};function Or(o){let t=[],{extractDenseBlock3Params:e}=_e(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return N(o,t),{params:r,paramMappings:t}}function Hr(o){let t=[],{extractWeights:e,getRemainingWeights:r}=L(o),{extractDenseBlock3Params:a}=ye(e,t),i=a(3,32,"dense0",!0),s=a(32,64,"dense1"),c=a(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:i,dense1:s,dense2:c}}}var Ce=class extends I{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(112,!0),"float32"),i=J(r,[122.782,117.001,104.298]).div(255),s=xe(i,e.dense0,!0);return s=xe(s,e.dense1),s=xe(s,e.dense2),s=n.avgPool(s,[14,14],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await F(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Or(t)}extractParams(t){return Hr(t)}};var Ie=class extends Vt{constructor(t=new Ce){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var zr=class extends Gt{};function Yr(o,t){return n.add(n.mul(o,t.weights),t.biases)}function or(o,t,e,r,a="same"){let{filters:i,bias:s}=t.conv,c=n.conv2d(o,i,e,a);return c=n.add(c,s),c=Yr(c,t.scale),r?n.relu(c):c}function Vr(o,t){return or(o,t,[1,1],!0)}function nr(o,t){return or(o,t,[1,1],!1)}function Ne(o,t){return or(o,t,[2,2],!0,"valid")}function $o(o,t){function e(c,m,p){let u=o(c),f=u.length/(m*p*p);if(Ge(f))throw new Error(`depth has to be an integer: ${f}, weights.length: ${u.length}, numFilters: ${m}, filterSize: ${p}`);return n.tidy(()=>n.transpose(n.tensor4d(u,[m,f,p,p]),[2,3,1,0]))}function r(c,m,p,u){let f=e(c,m,p),l=n.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/bias`}),{filters:f,bias:l}}function a(c,m){let p=n.tensor1d(o(c)),u=n.tensor1d(o(c));return t.push({paramPath:`${m}/weights`},{paramPath:`${m}/biases`}),{weights:p,biases:u}}function i(c,m,p,u){let f=r(c,m,p,`${u}/conv`),l=a(m,`${u}/scale`);return{conv:f,scale:l}}function s(c,m,p,u,f=!1){let l=i((f?.5:1)*c,m,p,`${u}/conv1`),d=i(c,m,p,`${u}/conv2`);return{conv1:l,conv2:d}}return{extractConvLayerParams:i,extractResidualLayerParams:s}}function Gr(o){let{extractWeights:t,getRemainingWeights:e}=L(o),r=[],{extractConvLayerParams:a,extractResidualLayerParams:i}=$o(t,r),s=a(4704,32,7,"conv32_down"),c=i(9216,32,3,"conv32_1"),m=i(9216,32,3,"conv32_2"),p=i(9216,32,3,"conv32_3"),u=i(36864,64,3,"conv64_down",!0),f=i(36864,64,3,"conv64_1"),l=i(36864,64,3,"conv64_2"),d=i(36864,64,3,"conv64_3"),b=i(147456,128,3,"conv128_down",!0),y=i(147456,128,3,"conv128_1"),h=i(147456,128,3,"conv128_2"),g=i(589824,256,3,"conv256_down",!0),T=i(589824,256,3,"conv256_1"),x=i(589824,256,3,"conv256_2"),E=i(589824,256,3,"conv256_down_out"),B=n.tidy(()=>n.transpose(n.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:s,conv32_1:c,conv32_2:m,conv32_3:p,conv64_down:u,conv64_1:f,conv64_2:l,conv64_3:d,conv128_down:b,conv128_1:y,conv128_2:h,conv256_down:g,conv256_1:T,conv256_2:x,conv256_down_out:E,fc:B},paramMappings:r}}function Oo(o,t){let e=k(o,t);function r(s){let c=e(`${s}/scale/weights`,1),m=e(`${s}/scale/biases`,1);return{weights:c,biases:m}}function a(s){let c=e(`${s}/conv/filters`,4),m=e(`${s}/conv/bias`,1),p=r(s);return{conv:{filters:c,bias:m},scale:p}}function i(s){return{conv1:a(`${s}/conv1`),conv2:a(`${s}/conv2`)}}return{extractConvLayerParams:a,extractResidualLayerParams:i}}function jr(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Oo(o,t),a=e("conv32_down"),i=r("conv32_1"),s=r("conv32_2"),c=r("conv32_3"),m=r("conv64_down"),p=r("conv64_1"),u=r("conv64_2"),f=r("conv64_3"),l=r("conv128_down"),d=r("conv128_1"),b=r("conv128_2"),y=r("conv256_down"),h=r("conv256_1"),g=r("conv256_2"),T=r("conv256_down_out"),{fc:x}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!Ve(x))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${x}`);let E={conv32_down:a,conv32_1:i,conv32_2:s,conv32_3:c,conv64_down:m,conv64_1:p,conv64_2:u,conv64_3:f,conv128_down:l,conv128_1:d,conv128_2:b,conv256_down:y,conv256_1:h,conv256_2:g,conv256_down_out:T,fc:x};return N(o,t),{params:E,paramMappings:t}}function j(o,t){let e=Vr(o,t.conv1);return e=nr(e,t.conv2),e=n.add(e,o),e=n.relu(e),e}function ce(o,t){let e=Ne(o,t.conv1);e=nr(e,t.conv2);let r=n.avgPool(o,2,2,"valid"),a=n.zeros(r.shape),i=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let c=[...e.shape];c[1]=1;let m=n.zeros(c);e=n.concat([e,m],1);let p=[...e.shape];p[2]=1;let u=n.zeros(p);e=n.concat([e,u],2)}return r=i?n.concat([r,a],3):r,e=n.add(r,e),e=n.relu(e),e}var jt=class extends I{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(150,!0),"float32"),i=J(r,[122.782,117.001,104.298]).div(255),s=Ne(i,e.conv32_down);s=n.maxPool(s,3,2,"valid"),s=j(s,e.conv32_1),s=j(s,e.conv32_2),s=j(s,e.conv32_3),s=ce(s,e.conv64_down),s=j(s,e.conv64_1),s=j(s,e.conv64_2),s=j(s,e.conv64_3),s=ce(s,e.conv128_down),s=j(s,e.conv128_1),s=j(s,e.conv128_2),s=ce(s,e.conv256_down),s=j(s,e.conv256_1),s=j(s,e.conv256_2),s=ce(s,e.conv256_down_out);let c=s.mean([1,2]);return n.matMul(c,e.fc)})}async forward(t){return this.forwardInput(await F(t))}async computeFaceDescriptor(t){var i;if((i=t==null?void 0:t.shape)!=null&&i.some(s=>s<=0))return new Float32Array(128);let e=await F(t),r=n.tidy(()=>n.unstack(this.forwardInput(e))),a=await Promise.all(r.map(s=>s.data()));return r.forEach(s=>s.dispose()),e.isBatchInput?a:a[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return jr(t)}extractParams(t){return Gr(t)}};function gf(o){let t=new jt;return t.extractWeights(o),t}function ar(o,t){return{...o,...{descriptor:t}}}function Tf(o){return typeof o.age=="number"}function sr(o,t){return{...o,...{age:t}}}function Ff(o){return(o.gender==="male"||o.gender==="female")&&Mt(o.genderProbability)}function ir(o,t,e){return{...o,...{gender:t,genderProbability:e}}}function Ho(o,t){function e(m,p){let u=n.tensor4d(o(9*m),[3,3,m,1]),f=n.tensor1d(o(m)),l=n.tensor1d(o(m)),d=n.tensor1d(o(m)),b=n.tensor1d(o(m));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/batch_norm_scale`},{paramPath:`${p}/batch_norm_offset`},{paramPath:`${p}/batch_norm_mean`},{paramPath:`${p}/batch_norm_variance`}),{filters:u,batch_norm_scale:f,batch_norm_offset:l,batch_norm_mean:d,batch_norm_variance:b}}function r(m,p,u,f,l){let d=n.tensor4d(o(m*p*u*u),[u,u,m,p]),b=n.tensor1d(o(p));return t.push({paramPath:`${f}/filters`},{paramPath:`${f}/${l?"batch_norm_offset":"bias"}`}),{filters:d,bias:b}}function a(m,p,u,f){let{filters:l,bias:d}=r(m,p,u,f,!0);return{filters:l,batch_norm_offset:d}}function i(m,p,u){let f=e(m,`${u}/depthwise_conv`),l=a(m,p,1,`${u}/pointwise_conv`);return{depthwise_conv:f,pointwise_conv:l}}function s(){let m=a(3,32,3,"mobilenetv1/conv_0"),p=i(32,64,"mobilenetv1/conv_1"),u=i(64,128,"mobilenetv1/conv_2"),f=i(128,128,"mobilenetv1/conv_3"),l=i(128,256,"mobilenetv1/conv_4"),d=i(256,256,"mobilenetv1/conv_5"),b=i(256,512,"mobilenetv1/conv_6"),y=i(512,512,"mobilenetv1/conv_7"),h=i(512,512,"mobilenetv1/conv_8"),g=i(512,512,"mobilenetv1/conv_9"),T=i(512,512,"mobilenetv1/conv_10"),x=i(512,512,"mobilenetv1/conv_11"),E=i(512,1024,"mobilenetv1/conv_12"),B=i(1024,1024,"mobilenetv1/conv_13");return{conv_0:m,conv_1:p,conv_2:u,conv_3:f,conv_4:l,conv_5:d,conv_6:b,conv_7:y,conv_8:h,conv_9:g,conv_10:T,conv_11:x,conv_12:E,conv_13:B}}function c(){let m=a(1024,256,1,"prediction_layer/conv_0"),p=a(256,512,3,"prediction_layer/conv_1"),u=a(512,128,1,"prediction_layer/conv_2"),f=a(128,256,3,"prediction_layer/conv_3"),l=a(256,128,1,"prediction_layer/conv_4"),d=a(128,256,3,"prediction_layer/conv_5"),b=a(256,64,1,"prediction_layer/conv_6"),y=a(64,128,3,"prediction_layer/conv_7"),h=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),g=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),T=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),x=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),E=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),B=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),V=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),U=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),O=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),ot=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),nt=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),at=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:m,conv_1:p,conv_2:u,conv_3:f,conv_4:l,conv_5:d,conv_6:b,conv_7:y,box_predictor_0:{box_encoding_predictor:h,class_predictor:g},box_predictor_1:{box_encoding_predictor:T,class_predictor:x},box_predictor_2:{box_encoding_predictor:E,class_predictor:B},box_predictor_3:{box_encoding_predictor:V,class_predictor:U},box_predictor_4:{box_encoding_predictor:O,class_predictor:ot},box_predictor_5:{box_encoding_predictor:nt,class_predictor:at}}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:c}}function Ur(o){let t=[],{extractWeights:e,getRemainingWeights:r}=L(o),{extractMobilenetV1Params:a,extractPredictionLayerParams:i}=Ho(e,t),s=a(),c=i(),p={extra_dim:n.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:s,prediction_layer:c,output_layer:p},paramMappings:t}}function zo(o,t){let e=k(o,t);function r(p,u,f){let l=e(`${p}/Conv2d_${u}_pointwise/weights`,4,`${f}/filters`),d=e(`${p}/Conv2d_${u}_pointwise/convolution_bn_offset`,1,`${f}/batch_norm_offset`);return{filters:l,batch_norm_offset:d}}function a(p){let u=`mobilenetv1/conv_${p}`,f=`MobilenetV1/Conv2d_${p}_depthwise`,l=`${u}/depthwise_conv`,d=`${u}/pointwise_conv`,b=e(`${f}/depthwise_weights`,4,`${l}/filters`),y=e(`${f}/BatchNorm/gamma`,1,`${l}/batch_norm_scale`),h=e(`${f}/BatchNorm/beta`,1,`${l}/batch_norm_offset`),g=e(`${f}/BatchNorm/moving_mean`,1,`${l}/batch_norm_mean`),T=e(`${f}/BatchNorm/moving_variance`,1,`${l}/batch_norm_variance`);return{depthwise_conv:{filters:b,batch_norm_scale:y,batch_norm_offset:h,batch_norm_mean:g,batch_norm_variance:T},pointwise_conv:r("MobilenetV1",p,d)}}function i(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:a(1),conv_2:a(2),conv_3:a(3),conv_4:a(4),conv_5:a(5),conv_6:a(6),conv_7:a(7),conv_8:a(8),conv_9:a(9),conv_10:a(10),conv_11:a(11),conv_12:a(12),conv_13:a(13)}}function s(p,u){let f=e(`${p}/weights`,4,`${u}/filters`),l=e(`${p}/biases`,1,`${u}/bias`);return{filters:f,bias:l}}function c(p){let u=s(`Prediction/BoxPredictor_${p}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${p}/box_encoding_predictor`),f=s(`Prediction/BoxPredictor_${p}/ClassPredictor`,`prediction_layer/box_predictor_${p}/class_predictor`);return{box_encoding_predictor:u,class_predictor:f}}function m(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:c(0),box_predictor_1:c(1),box_predictor_2:c(2),box_predictor_3:c(3),box_predictor_4:c(4),box_predictor_5:c(5)}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:m}}function Xr(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=zo(o,t),a=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!K(a))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${a}`);let i={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:a}};return N(o,t),{params:i,paramMappings:t}}function H(o,t,e){return n.tidy(()=>{let r=n.conv2d(o,t.filters,e,"same");return r=n.add(r,t.batch_norm_offset),n.clipByValue(r,0,6)})}var Yo=.0010000000474974513;function Vo(o,t,e){return n.tidy(()=>{let r=n.depthwiseConv2d(o,t.filters,e,"same");return r=n.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Yo),n.clipByValue(r,0,6)})}function Go(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function Jr(o,t){return n.tidy(()=>{let e,r=H(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((i,s)=>{let c=s+1,m=Go(c);r=Vo(r,i.depthwise_conv,m),r=H(r,i.pointwise_conv,[1,1]),c===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function jo(o,t,e){let r=o.arraySync(),a=Math.min(r[t][0],r[t][2]),i=Math.min(r[t][1],r[t][3]),s=Math.max(r[t][0],r[t][2]),c=Math.max(r[t][1],r[t][3]),m=Math.min(r[e][0],r[e][2]),p=Math.min(r[e][1],r[e][3]),u=Math.max(r[e][0],r[e][2]),f=Math.max(r[e][1],r[e][3]),l=(s-a)*(c-i),d=(u-m)*(f-p);if(l<=0||d<=0)return 0;let b=Math.max(a,m),y=Math.max(i,p),h=Math.min(s,u),g=Math.min(c,f),T=Math.max(h-b,0)*Math.max(g-y,0);return T/(l+d-T)}function qr(o,t,e,r,a){let i=o.shape[0],s=Math.min(e,i),c=t.map((u,f)=>({score:u,boxIndex:f})).filter(u=>u.score>a).sort((u,f)=>f.score-u.score),m=u=>u<=r?1:0,p=[];return c.forEach(u=>{if(p.length>=s)return;let f=u.score;for(let l=p.length-1;l>=0;--l){let d=jo(o,u.boxIndex,p[l]);if(d!==0&&(u.score*=m(d),u.score<=a))break}f===u.score&&p.push(u.boxIndex)}),p}function Uo(o){let t=n.unstack(n.transpose(o,[1,0])),e=[n.sub(t[2],t[0]),n.sub(t[3],t[1])],r=[n.add(t[0],n.div(e[0],2)),n.add(t[1],n.div(e[1],2))];return{sizes:e,centers:r}}function Xo(o,t){let{sizes:e,centers:r}=Uo(o),a=n.unstack(n.transpose(t,[1,0])),i=n.div(n.mul(n.exp(n.div(a[2],5)),e[0]),2),s=n.add(n.mul(n.div(a[0],10),e[0]),r[0]),c=n.div(n.mul(n.exp(n.div(a[3],5)),e[1]),2),m=n.add(n.mul(n.div(a[1],10),e[1]),r[1]);return n.transpose(n.stack([n.sub(s,i),n.sub(m,c),n.add(s,i),n.add(m,c)]),[1,0])}function Zr(o,t,e){return n.tidy(()=>{let r=o.shape[0],a=Xo(n.reshape(n.tile(e.extra_dim,[r,1,1]),[-1,4]),n.reshape(o,[-1,4]));a=n.reshape(a,[r,a.shape[0]/r,4]);let i=n.sigmoid(n.slice(t,[0,0,1],[-1,-1,-1])),s=n.slice(i,[0,0,0],[-1,-1,1]);s=n.reshape(s,[r,s.shape[1]]);let c=n.unstack(a),m=n.unstack(s);return{boxes:c,scores:m}})}function yt(o,t){return n.tidy(()=>{let e=o.shape[0],r=n.reshape(vt(o,t.box_encoding_predictor),[e,-1,1,4]),a=n.reshape(vt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:a}})}function Kr(o,t,e){return n.tidy(()=>{let r=H(o,e.conv_0,[1,1]),a=H(r,e.conv_1,[2,2]),i=H(a,e.conv_2,[1,1]),s=H(i,e.conv_3,[2,2]),c=H(s,e.conv_4,[1,1]),m=H(c,e.conv_5,[2,2]),p=H(m,e.conv_6,[1,1]),u=H(p,e.conv_7,[2,2]),f=yt(t,e.box_predictor_0),l=yt(o,e.box_predictor_1),d=yt(a,e.box_predictor_2),b=yt(s,e.box_predictor_3),y=yt(m,e.box_predictor_4),h=yt(u,e.box_predictor_5),g=n.concat([f.boxPredictionEncoding,l.boxPredictionEncoding,d.boxPredictionEncoding,b.boxPredictionEncoding,y.boxPredictionEncoding,h.boxPredictionEncoding],1),T=n.concat([f.classPrediction,l.classPrediction,d.classPrediction,b.classPrediction,y.classPrediction,h.classPrediction],1);return{boxPredictions:g,classPredictions:T}})}var z=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var Tt=class extends I{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(512,!1),"float32"),a=n.sub(n.div(r,127.5),1),i=Jr(a,e.mobilenetv1),{boxPredictions:s,classPredictions:c}=Kr(i.out,i.conv11,e.prediction_layer);return Zr(s,c,e.output_layer)})}async forward(t){return this.forwardInput(await F(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:a}=new z(e),i=await F(t),{boxes:s,scores:c}=this.forwardInput(i),m=s[0],p=c[0];for(let x=1;x{let[E,B]=[Math.max(0,g[x][0]),Math.min(1,g[x][2])].map(O=>O*h),[V,U]=[Math.max(0,g[x][1]),Math.min(1,g[x][3])].map(O=>O*y);return new D(u[x],new Nt(V,E,U-V,B-E),{height:i.getInputHeight(0),width:i.getInputWidth(0)})});return m.dispose(),p.dispose(),T}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Xr(t)}extractParams(t){return Ur(t)}};function Jo(o){let t=new Tt;return t.extractWeights(o),t}function gl(o){return Jo(o)}var Qr=class extends Tt{};var to=.4,eo=[new v(.738768,.874946),new v(2.42204,2.65704),new v(4.30971,7.04493),new v(10.246,4.59428),new v(12.6868,11.8741)],ro=[new v(1.603231,2.094468),new v(6.041143,7.080126),new v(2.882459,3.518061),new v(4.266906,5.178857),new v(9.041765,10.66308)],oo=[117.001,114.697,97.404],no="tiny_yolov2_model",ao="tiny_yolov2_separable_conv_model";var Le=o=>typeof o=="number";function so(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Le(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Le(t.x)&&Le(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Le)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}function Ut(o){return n.tidy(()=>{let t=n.mul(o,n.scalar(.10000000149011612));return n.add(n.relu(n.sub(o,t)),t)})}function et(o,t){return n.tidy(()=>{let e=n.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=n.conv2d(e,t.conv.filters,[1,1],"valid"),e=n.sub(e,t.bn.sub),e=n.mul(e,t.bn.truediv),e=n.add(e,t.conv.bias),Ut(e)})}function rt(o,t){return n.tidy(()=>{let e=n.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=n.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=n.add(e,t.bias),Ut(e)})}function qo(o,t){let e=Rt(o,t);function r(s,c){let m=n.tensor1d(o(s)),p=n.tensor1d(o(s));return t.push({paramPath:`${c}/sub`},{paramPath:`${c}/truediv`}),{sub:m,truediv:p}}function a(s,c,m){let p=e(s,c,3,`${m}/conv`),u=r(c,`${m}/bn`);return{conv:p,bn:u}}let i=$t(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:a,extractSeparableConvParams:i}}function io(o,t,e,r){let{extractWeights:a,getRemainingWeights:i}=L(o),s=[],{extractConvParams:c,extractConvWithBatchNormParams:m,extractSeparableConvParams:p}=qo(a,s),u;if(t.withSeparableConvs){let[f,l,d,b,y,h,g,T,x]=r,E=t.isFirstLayerConv2d?c(f,l,3,"conv0"):p(f,l,"conv0"),B=p(l,d,"conv1"),V=p(d,b,"conv2"),U=p(b,y,"conv3"),O=p(y,h,"conv4"),ot=p(h,g,"conv5"),nt=T?p(g,T,"conv6"):void 0,at=x?p(T,x,"conv7"):void 0,Et=c(x||T||g,5*e,1,"conv8");u={conv0:E,conv1:B,conv2:V,conv3:U,conv4:O,conv5:ot,conv6:nt,conv7:at,conv8:Et}}else{let[f,l,d,b,y,h,g,T,x]=r,E=m(f,l,"conv0"),B=m(l,d,"conv1"),V=m(d,b,"conv2"),U=m(b,y,"conv3"),O=m(y,h,"conv4"),ot=m(h,g,"conv5"),nt=m(g,T,"conv6"),at=m(T,x,"conv7"),Et=c(x,5*e,1,"conv8");u={conv0:E,conv1:B,conv2:V,conv3:U,conv4:O,conv5:ot,conv6:nt,conv7:at,conv8:Et}}if(i().length!==0)throw new Error(`weights remaing after extract: ${i().length}`);return{params:u,paramMappings:s}}function Zo(o,t){let e=k(o,t);function r(c){let m=e(`${c}/sub`,1),p=e(`${c}/truediv`,1);return{sub:m,truediv:p}}function a(c){let m=e(`${c}/filters`,4),p=e(`${c}/bias`,1);return{filters:m,bias:p}}function i(c){let m=a(`${c}/conv`),p=r(`${c}/bn`);return{conv:m,bn:p}}let s=Ot(e);return{extractConvParams:a,extractConvWithBatchNormParams:i,extractSeparableConvParams:s}}function co(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:a,extractSeparableConvParams:i}=Zo(o,e),s;if(t.withSeparableConvs){let c=t.filterSizes&&t.filterSizes.length||9;s={conv0:t.isFirstLayerConv2d?r("conv0"):i("conv0"),conv1:i("conv1"),conv2:i("conv2"),conv3:i("conv3"),conv4:i("conv4"),conv5:i("conv5"),conv6:c>7?i("conv6"):void 0,conv7:c>8?i("conv7"):void 0,conv8:r("conv8")}}else s={conv0:a("conv0"),conv1:a("conv1"),conv2:a("conv2"),conv3:a("conv3"),conv4:a("conv4"),conv5:a("conv5"),conv6:a("conv6"),conv7:a("conv7"),conv8:r("conv8")};return N(o,e),{params:s,paramMappings:e}}var q=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var Se=class Se extends I{constructor(t){super("TinyYolov2"),so(t),this._config=t}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(t,e){let r=et(t,e.conv0);return r=n.maxPool(r,[2,2],[2,2],"same"),r=et(r,e.conv1),r=n.maxPool(r,[2,2],[2,2],"same"),r=et(r,e.conv2),r=n.maxPool(r,[2,2],[2,2],"same"),r=et(r,e.conv3),r=n.maxPool(r,[2,2],[2,2],"same"),r=et(r,e.conv4),r=n.maxPool(r,[2,2],[2,2],"same"),r=et(r,e.conv5),r=n.maxPool(r,[2,2],[1,1],"same"),r=et(r,e.conv6),r=et(r,e.conv7),vt(r,e.conv8,"valid",!1)}runMobilenet(t,e){let r=this.config.isFirstLayerConv2d?Ut(vt(t,e.conv0,"valid",!1)):rt(t,e.conv0);return r=n.maxPool(r,[2,2],[2,2],"same"),r=rt(r,e.conv1),r=n.maxPool(r,[2,2],[2,2],"same"),r=rt(r,e.conv2),r=n.maxPool(r,[2,2],[2,2],"same"),r=rt(r,e.conv3),r=n.maxPool(r,[2,2],[2,2],"same"),r=rt(r,e.conv4),r=n.maxPool(r,[2,2],[2,2],"same"),r=rt(r,e.conv5),r=n.maxPool(r,[2,2],[1,1],"same"),r=e.conv6?rt(r,e.conv6):r,r=e.conv7?rt(r,e.conv7):r,vt(r,e.conv8,"valid",!1)}forwardInput(t,e){let{params:r}=this;if(!r)throw new Error("TinyYolov2 - load model before inference");return n.tidy(()=>{let a=n.cast(t.toBatchTensor(e,!1),"float32");return a=this.config.meanRgb?J(a,this.config.meanRgb):a,a=a.div(255),this.config.withSeparableConvs?this.runMobilenet(a,r):this.runTinyYolov2(a,r)})}async forward(t,e){return this.forwardInput(await F(t),e)}async detect(t,e={}){let{inputSize:r,scoreThreshold:a}=new q(e),i=await F(t),s=await this.forwardInput(i,r),c=n.tidy(()=>n.unstack(s)[0].expandDims()),m={width:i.getInputWidth(0),height:i.getInputHeight(0)},p=await this.extractBoxes(c,i.getReshapedInputDimensions(0),a);s.dispose(),c.dispose();let u=p.map(h=>h.box),f=p.map(h=>h.score),l=p.map(h=>h.classScore),d=p.map(h=>this.config.classes[h.label]);return br(u.map(h=>h.rescale(r)),f,this.config.iouThreshold,!0).map(h=>new It(f[h],l[h],d[h],u[h],m))}getDefaultModelName(){return""}extractParamsFromWeightMap(t){return co(t,this.config)}extractParams(t){let e=this.config.filterSizes||Se.DEFAULT_FILTER_SIZES,r=e?e.length:void 0;if(r!==7&&r!==8&&r!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${r} filterSizes in config`);return io(t,this.config,this.boxEncodingSize,e)}async extractBoxes(t,e,r){let{width:a,height:i}=e,s=Math.max(a,i),c=s/a,m=s/i,p=t.shape[1],u=this.config.anchors.length,[f,l,d]=n.tidy(()=>{let g=t.reshape([p,p,u,this.boxEncodingSize]),T=g.slice([0,0,0,0],[p,p,u,4]),x=g.slice([0,0,0,4],[p,p,u,1]),E=this.withClassScores?n.softmax(g.slice([0,0,0,5],[p,p,u,this.config.classes.length]),3):n.scalar(0);return[T,x,E]}),b=[],y=await l.array(),h=await f.array();for(let g=0;gr){let B=(T+fe(h[g][T][x][0]))/p*c,V=(g+fe(h[g][T][x][1]))/p*m,U=Math.exp(h[g][T][x][2])*this.config.anchors[x].x/p*c,O=Math.exp(h[g][T][x][3])*this.config.anchors[x].y/p*m,ot=B-U/2,nt=V-O/2,at={row:g,col:T,anchor:x},{classScore:Et,label:mr}=this.withClassScores?await this.extractPredictedClass(d,at):{classScore:1,label:0};b.push({box:new Ct(ot,nt,ot+U,nt+O),score:E,classScore:E*Et,label:mr,...at})}}return f.dispose(),l.dispose(),d.dispose(),b}async extractPredictedClass(t,e){let{row:r,col:a,anchor:i}=e,s=await t.array();return Array(this.config.classes.length).fill(0).map((c,m)=>s[r][a][i][m]).map((c,m)=>({classScore:c,label:m})).reduce((c,m)=>c.classScore>m.classScore?c:m)}};Se.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Xt=Se;var Jt=class extends Xt{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:to,classes:["face"],...t?{anchors:ro,meanRgb:oo}:{anchors:eo,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(a=>new D(a.score,a.relativeBox,{width:a.imageWidth,height:a.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?ao:no}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function cd(o,t=!0){let e=new Jt(t);return e.extractWeights(o),e}var Ae=class extends q{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var Y=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};async function _t(o,t,e,r,a=({alignedRect:i})=>i){let i=o.map(m=>Yt(m)?a(m):m.detection),s=r||(t instanceof n.Tensor?await oe(t,i):await re(t,i)),c=await e(s);return s.forEach(m=>m instanceof n.Tensor&&m.dispose()),c}async function qt(o,t,e,r,a){return _t([o],t,async i=>e(i[0]),r,a)}var mo=.4,po=[new v(1.603231,2.094468),new v(6.041143,7.080126),new v(2.882459,3.518061),new v(4.266906,5.178857),new v(9.041765,10.66308)],uo=[117.001,114.697,97.404];var Zt=class extends Xt{constructor(){let t={withSeparableConvs:!0,iouThreshold:mo,classes:["face"],anchors:po,meanRgb:uo,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(a=>new D(a.score,a.relativeBox,{width:a.imageWidth,height:a.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var P={ssdMobilenetv1:new Tt,tinyFaceDetector:new Zt,tinyYolov2:new Jt,faceLandmark68Net:new Gt,faceLandmark68TinyNet:new Ie,faceRecognitionNet:new jt,faceExpressionNet:new we,ageGenderNet:new Me},Ko=(o,t)=>P.ssdMobilenetv1.locateFaces(o,t),Rd=(o,t)=>P.tinyFaceDetector.locateFaces(o,t),$d=(o,t)=>P.tinyYolov2.locateFaces(o,t),Qo=o=>P.faceLandmark68Net.detectLandmarks(o),Od=o=>P.faceLandmark68TinyNet.detectLandmarks(o),Hd=o=>P.faceRecognitionNet.computeFaceDescriptor(o),zd=o=>P.faceExpressionNet.predictExpressions(o),Yd=o=>P.ageGenderNet.predictAgeAndGender(o),tn=o=>P.ssdMobilenetv1.load(o),Vd=o=>P.tinyFaceDetector.load(o),Gd=o=>P.tinyYolov2.load(o),jd=o=>P.faceLandmark68Net.load(o),Ud=o=>P.faceLandmark68TinyNet.load(o),Xd=o=>P.faceRecognitionNet.load(o),Jd=o=>P.faceExpressionNet.load(o),qd=o=>P.ageGenderNet.load(o),Zd=tn,Kd=Ko,Qd=Qo;var We=class extends Y{constructor(e,r,a){super();this.parentTask=e;this.input=r;this.extractedFaces=a}},Pt=class extends We{async run(){let t=await this.parentTask,e=await _t(t,this.input,async r=>Promise.all(r.map(a=>P.faceExpressionNet.predictExpressions(a))),this.extractedFaces);return t.map((r,a)=>tr(r,e[a]))}withAgeAndGender(){return new Ft(this,this.input)}},wt=class extends We{async run(){let t=await this.parentTask;if(!t)return;let e=await qt(t,this.input,r=>P.faceExpressionNet.predictExpressions(r),this.extractedFaces);return tr(t,e)}withAgeAndGender(){return new Dt(this,this.input)}},ct=class extends Pt{withAgeAndGender(){return new pt(this,this.input)}withFaceDescriptors(){return new ft(this,this.input)}},mt=class extends wt{withAgeAndGender(){return new ut(this,this.input)}withFaceDescriptor(){return new lt(this,this.input)}};var ke=class extends Y{constructor(e,r,a){super();this.parentTask=e;this.input=r;this.extractedFaces=a}},Ft=class extends ke{async run(){let t=await this.parentTask,e=await _t(t,this.input,async r=>Promise.all(r.map(a=>P.ageGenderNet.predictAgeAndGender(a))),this.extractedFaces);return t.map((r,a)=>{let{age:i,gender:s,genderProbability:c}=e[a];return sr(ir(r,s,c),i)})}withFaceExpressions(){return new Pt(this,this.input)}},Dt=class extends ke{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:a}=await qt(t,this.input,i=>P.ageGenderNet.predictAgeAndGender(i),this.extractedFaces);return sr(ir(t,r,a),e)}withFaceExpressions(){return new wt(this,this.input)}},pt=class extends Ft{withFaceExpressions(){return new ct(this,this.input)}withFaceDescriptors(){return new ft(this,this.input)}},ut=class extends Dt{withFaceExpressions(){return new mt(this,this.input)}withFaceDescriptor(){return new lt(this,this.input)}};var Be=class extends Y{constructor(e,r){super();this.parentTask=e;this.input=r}},ft=class extends Be{async run(){let t=await this.parentTask;return(await _t(t,this.input,r=>Promise.all(r.map(a=>P.faceRecognitionNet.computeFaceDescriptor(a))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,a)=>ar(t[a],r))}withFaceExpressions(){return new ct(this,this.input)}withAgeAndGender(){return new pt(this,this.input)}},lt=class extends Be{async run(){let t=await this.parentTask;if(!t)return;let e=await qt(t,this.input,r=>P.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return ar(t,e)}withFaceExpressions(){return new mt(this,this.input)}withAgeAndGender(){return new ut(this,this.input)}};var Re=class extends Y{constructor(e,r,a){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=a}get landmarkNet(){return this.useTinyLandmarkNet?P.faceLandmark68TinyNet:P.faceLandmark68Net}},$e=class extends Re{async run(){let t=await this.parentTask,e=t.map(s=>s.detection),r=this.input instanceof n.Tensor?await oe(this.input,e):await re(this.input,e),a=await Promise.all(r.map(s=>this.landmarkNet.detectLandmarks(s)));return r.forEach(s=>s instanceof n.Tensor&&s.dispose()),t.filter((s,c)=>a[c]).map((s,c)=>ie(s,a[c]))}withFaceExpressions(){return new ct(this,this.input)}withAgeAndGender(){return new pt(this,this.input)}withFaceDescriptors(){return new ft(this,this.input)}},Oe=class extends Re{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof n.Tensor?await oe(this.input,[e]):await re(this.input,[e]),a=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(i=>i instanceof n.Tensor&&i.dispose()),ie(t,a)}withFaceExpressions(){return new mt(this,this.input)}withAgeAndGender(){return new ut(this,this.input)}withFaceDescriptor(){return new lt(this,this.input)}};var He=class extends Y{constructor(e,r=new z){super();this.input=e;this.options=r}},me=class extends He{async run(){let{input:t,options:e}=this,r;if(e instanceof Ae)r=P.tinyFaceDetector.locateFaces(t,e);else if(e instanceof z)r=P.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof q)r=P.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(a=>St({},a)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new $e(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new Pt(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new Ft(this.runAndExtendWithFaceDetections(),this.input)}},ze=class extends He{async run(){let t=await new me(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?St({},e):void 0)})}withFaceLandmarks(t=!1){return new Oe(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new wt(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new Dt(this.runAndExtendWithFaceDetection(),this.input)}};function qh(o,t=new z){return new ze(o,t)}function cr(o,t=new z){return new me(o,t)}async function en(o,t){return cr(o,new z(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function rb(o,t={}){return cr(o,new q(t)).withFaceLandmarks().withFaceDescriptors()}var ob=en;function fo(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((a,i)=>a-r[i]).reduce((a,i)=>a+i*i,0))}var lo=class o{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let a=1,i=()=>`person ${a++}`;this._labeledDescriptors=r.map(s=>{if(s instanceof gt)return s;if(s instanceof Float32Array)return new gt(i(),[s]);if(s.descriptor&&s.descriptor instanceof Float32Array)return new gt(i(),[s.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>fo(r,t)).reduce((r,a)=>r+a,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new Kt(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>gt.fromJSON(r));return new o(e,t.distanceThreshold)}};function Tb(o){let t=new Zt;return t.extractWeights(o),t}function rn(o,t){let{width:e,height:r}=new A(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(a=>rn(a,{width:e,height:r}));if(Yt(o)){let a=o.detection.forSize(e,r),i=o.unshiftedLandmarks.forSize(a.box.width,a.box.height);return ie(St(o,a),i)}return Q(o)?St(o,o.detection.forSize(e,r)):o instanceof $||o instanceof D?o.forSize(e,r):o}var Lb=Ar;export{Me as AgeGenderNet,Ct as BoundingBox,C as Box,Y as ComposableTask,ft as ComputeAllFaceDescriptorsTask,Be as ComputeFaceDescriptorsTaskBase,lt as ComputeSingleFaceDescriptorTask,$e as DetectAllFaceLandmarksTask,me as DetectAllFacesTask,Re as DetectFaceLandmarksTaskBase,He as DetectFacesTaskBase,Oe as DetectSingleFaceLandmarksTask,ze as DetectSingleFaceTask,A as Dimensions,Nr as FACE_EXPRESSION_LABELS,D as FaceDetection,Qr as FaceDetectionNet,we as FaceExpressionNet,it as FaceExpressions,Gt as FaceLandmark68Net,Ie as FaceLandmark68TinyNet,zr as FaceLandmarkNet,$ as FaceLandmarks,xr as FaceLandmarks5,Lt as FaceLandmarks68,Kt as FaceMatch,lo as FaceMatcher,jt as FaceRecognitionNet,rr as Gender,Qt as LabeledBox,gt as LabeledFaceDescriptors,tt as NetInput,I as NeuralNetwork,It as ObjectDetection,v as Point,vr as PredictedBox,Nt as Rect,Tt as SsdMobilenetv1,z as SsdMobilenetv1Options,Zt as TinyFaceDetector,Ae as TinyFaceDetectorOptions,Jt as TinyYolov2,q as TinyYolov2Options,ob as allFaces,en as allFacesSsdMobilenetv1,rb as allFacesTinyYolov2,yr as awaitMediaLoaded,Tr as bufferToImage,Hd as computeFaceDescriptor,Bt as createCanvas,be as createCanvasFromMedia,gl as createFaceDetectionNet,gf as createFaceRecognitionNet,Jo as createSsdMobilenetv1,Tb as createTinyFaceDetector,cd as createTinyYolov2,cr as detectAllFaces,Qo as detectFaceLandmarks,Od as detectFaceLandmarksTiny,Qd as detectLandmarks,qh as detectSingleFace,Sr as draw,_ as env,fo as euclideanDistance,sr as extendWithAge,ar as extendWithFaceDescriptor,St as extendWithFaceDetection,tr as extendWithFaceExpressions,ie as extendWithFaceLandmarks,ir as extendWithGender,oe as extractFaceTensors,re as extractFaces,Fi as fetchImage,wr as fetchJson,Ii as fetchNetWeights,st as fetchOrThrow,ki as fetchVideo,W as getContext2dOrThrow,kt as getMediaDimensions,_r as imageTensorToCanvas,Pr as imageToSquare,On as inverseSigmoid,dr as iou,Qe as isMediaElement,he as isMediaLoaded,Tf as isWithAge,Q as isWithFaceDetection,Lr as isWithFaceExpressions,Yt as isWithFaceLandmarks,Ff as isWithGender,qd as loadAgeGenderModel,Zd as loadFaceDetectionModel,Jd as loadFaceExpressionModel,jd as loadFaceLandmarkModel,Ud as loadFaceLandmarkTinyModel,Xd as loadFaceRecognitionModel,tn as loadSsdMobilenetv1Model,Vd as loadTinyFaceDetectorModel,Gd as loadTinyYolov2Model,Dr as loadWeightMap,Kd as locateFaces,Yi as matchDimensions,hr as minBbox,P as nets,br as nonMaxSuppression,J as normalize,gr as padToSquare,Yd as predictAgeAndGender,zd as recognizeFaceExpressions,rn as resizeResults,At as resolveInput,Rn as shuffleArray,fe as sigmoid,Ko as ssdMobilenetv1,n as tf,Rd as tinyFaceDetector,$d as tinyYolov2,F as toNetInput,lr as utils,so as validateConfig,Lb as version}; +var ur=Object.defineProperty;var ho=Object.getOwnPropertyDescriptor;var bo=Object.getOwnPropertyNames;var go=Object.prototype.hasOwnProperty;var xo=(o=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(o,{get:(t,e)=>(typeof require!="undefined"?require:t)[e]}):o)(function(o){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});var Ye=(o,t)=>{for(var e in t)ur(o,e,{get:t[e],enumerable:!0})},pr=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of bo(t))!go.call(o,a)&&a!==e&&ur(o,a,{get:()=>t[a],enumerable:!(r=ho(t,a))||r.enumerable});return o},w=(o,t,e)=>(pr(o,t,"default"),e&&pr(e,t,"default"));var n={};Ye(n,{version:()=>Po});w(n,mn);w(n,pn);w(n,un);import*as mn from"@tensorflow/tfjs/dist/index.js";import*as pn from"@tensorflow/tfjs-backend-webgl/dist/index.js";import*as un from"@tensorflow/tfjs-backend-wasm/dist/index.js";var fr="4.16.0",vo="4.16.0",yo="4.16.0",To="4.16.0",_o="4.16.0",Po={tfjs:fr,"tfjs-core":fr,"tfjs-converter":vo,"tfjs-backend-cpu":yo,"tfjs-backend-webgl":To,"tfjs-backend-wasm":_o};var Sr={};Ye(Sr,{AnchorPosition:()=>Ke,DrawBox:()=>ee,DrawBoxOptions:()=>de,DrawFaceLandmarks:()=>De,DrawFaceLandmarksOptions:()=>Fe,DrawTextField:()=>xt,DrawTextFieldOptions:()=>Wt,drawContour:()=>Z,drawDetections:()=>Io,drawFaceExpressions:()=>No,drawFaceLandmarks:()=>So});function Z(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:a},i)=>{let s=t[i];o.moveTo(s.x,s.y),o.lineTo(r,a)}),e){let r=t[t.length-1],a=t[0];if(!r||!a)return;o.moveTo(r.x,r.y),o.lineTo(a.x,a.y)}o.stroke()}var lr={};Ye(lr,{computeReshapedDimensions:()=>je,getCenterPoint:()=>bt,isDimensions:()=>ue,isEven:()=>pe,isFloat:()=>Ge,isTensor:()=>dt,isTensor1D:()=>wo,isTensor2D:()=>Ve,isTensor3D:()=>K,isTensor4D:()=>R,isValidNumber:()=>G,isValidProbablitiy:()=>Mt,range:()=>X,round:()=>ht});var A=class o{constructor(t,e){if(!G(t)||!G(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new o(1/this.width,1/this.height)}};function dt(o,t){return o instanceof n.Tensor&&o.shape.length===t}function wo(o){return dt(o,1)}function Ve(o){return dt(o,2)}function K(o){return dt(o,3)}function R(o){return dt(o,4)}function Ge(o){return o%1!==0}function pe(o){return o%2===0}function ht(o,t=2){let e=10**t;return Math.floor(o*e)/e}function ue(o){return o&&o.width&&o.height}function je({width:o,height:t},e){let r=e/Math.max(t,o);return new A(Math.round(o*r),Math.round(t*r))}function bt(o){return o.reduce((t,e)=>t.add(e),new v(0,0)).div(new v(o.length,o.length))}function X(o,t,e){return Array(o).fill(0).map((r,a)=>t+a*e)}function G(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function Mt(o){return G(o)&&o>=0&&o<=1}var v=class o{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new o(this.x+t.x,this.y+t.y)}sub(t){return new o(this.x-t.x,this.y-t.y)}mul(t){return new o(this.x*t.x,this.y*t.y)}div(t){return new o(this.x/t.x,this.y/t.y)}abs(){return new o(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new o(Math.floor(this.x),Math.floor(this.y))}};var C=class o{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(G)}static assertIsValidBox(t,e,r=!1){if(!o.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},a=[r.left,r.top,r.right,r.bottom].every(G),i=[r.x,r.y,r.width,r.height].every(G);if(!i&&!a)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[s,c,m,p]=i?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];o.assertIsValidBox({x:s,y:c,width:m,height:p},"Box.constructor",e),this._x=s,this._y=c,this._width=m,this._height=p}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new v(this.left,this.top)}get topRight(){return new v(this.right,this.top)}get bottomLeft(){return new v(this.left,this.bottom)}get bottomRight(){return new v(this.right,this.bottom)}round(){let[t,e,r,a]=[this.x,this.y,this.width,this.height].map(i=>Math.round(i));return new o({x:t,y:e,width:r,height:a})}floor(){let[t,e,r,a]=[this.x,this.y,this.width,this.height].map(i=>Math.floor(i));return new o({x:t,y:e,width:r,height:a})}toSquare(){let{x:t,y:e,width:r,height:a}=this,i=Math.abs(r-a);return re&&(c=-f+e+r,f=e),l>t&&(m=-l+t+a,l=t),p<1&&(m=2-p,p=1),u<1&&(m=2-u,u=1),{dy:s,edy:m,dx:i,edx:c,y:u,ey:l,x:p,ex:f,w:r,h:a}}calibrate(t){return new o({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Ct=class extends C{constructor(t,e,r,a,i=!1){super({left:t,top:e,right:r,bottom:a},i)}};var It=class o{constructor(t,e,r,a,i){this._imageDims=new A(i.width,i.height),this._score=t,this._classScore=e,this._className=r,this._box=new C(a).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new C(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new o(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var D=class o extends It{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:a,imageDims:i}=super.forSize(t,e);return new o(r,a,i)}};function dr(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),a=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),i=r*a;return e?i/(o.area+t.area-i):i/Math.min(o.area,t.area)}function hr(o){let t=o.map(c=>c.x),e=o.map(c=>c.y),r=t.reduce((c,m)=>mmcc({score:s,boxIndex:c})).sort((s,c)=>s.score-c.score).map(s=>s.boxIndex),i=[];for(;a.length>0;){let s=a.pop();i.push(s);let c=a,m=[];for(let p=0;pm[u]<=e)}return i}function J(o,t){return n.tidy(()=>{let[e,r,a]=t,i=n.fill([...o.shape.slice(0,3),1],e,"float32"),s=n.fill([...o.shape.slice(0,3),1],r,"float32"),c=n.fill([...o.shape.slice(0,3),1],a,"float32"),m=n.concat([i,s,c],3);return n.sub(o,m)})}function gr(o,t=!1){return n.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let a=Math.abs(e-r),i=Math.round(a*(t?.5:1)),s=e>r?2:1,c=l=>{let d=o.shape.slice();return d[s]=l,n.fill(d,0,"float32")},m=c(i),p=a-m.shape[s],f=[t&&p?c(p):null,o,m].filter(l=>!!l).map(l=>n.cast(l,"float32"));return n.concat(f,s)})}function Rn(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),a=t[e];t[e]=t[r],t[r]=a}return t}function fe(o){return 1/(1+Math.exp(-o))}function On(o){return Math.log(o/(1-o))}var Nt=class extends C{constructor(t,e,r,a,i=!1){super({x:t,y:e,width:r,height:a},i)}};var Fo=.5,Do=.43,Eo=.45,$=class{constructor(t,e,r=new v(0,0)){let{width:a,height:i}=e;this._imgDims=new A(a,i),this._shift=r,this._positions=t.map(s=>s.mul(new v(a,i)).add(r))}get shift(){return new v(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new v(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new v(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let i=t instanceof D?t.box.floor():new C(t);return this.shiftBy(i.x,i.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:a}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(a)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,a]=t,i=f=>a.sub(f).magnitude(),s=(i(e)+i(r))/2,c=Math.floor(s/Eo),m=bt(t),p=Math.floor(Math.max(0,m.x-Fo*c)),u=Math.floor(Math.max(0,m.y-Do*c));return new Nt(p,u,Math.min(c,this.imageWidth+p),Math.min(c,this.imageHeight+u))}alignMinBbox(t){let e=hr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var xr=class extends ${getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],bt([t[3],t[4]])]}};var Lt=class extends ${getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(bt)}};var Kt=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${ht(this.distance)})`:""}`}};var Qt=class extends C{static assertIsValidLabeledBox(t,e){if(C.assertIsValidBox(t,e),!G(t.label))throw new Error(`${e} - expected property label (${t.label}) to be a number`)}constructor(t,e){super(t),this._label=e}get label(){return this._label}};var gt=class o{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new o(t.label,e)}};var vr=class extends Qt{static assertIsValidPredictedBox(t,e){if(Qt.assertIsValidLabeledBox(t,e),!Mt(t.score)||!Mt(t.classScore))throw new Error(`${e} - expected properties score (${t.score}) and (${t.classScore}) to be a number between [0, 1]`)}constructor(t,e,r,a){super(t,e),this._score=r,this._classScore=a}get score(){return this._score}get classScore(){return this._classScore}};function Q(o){return o.detection instanceof D}function St(o,t){return{...o,...{detection:t}}}function Ue(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function te(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function le(o){let t="";if(!o&&te())try{o=xo("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((a,i)=>{o.readFile(r,(s,c)=>s?i(s):a(c))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Xe(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},a=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},i=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},s=global.fetch,c=le();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:a,createVideoElement:i,fetch:s,...c}}function Je(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var M;function Mo(){if(!M)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return M}function qe(o){M=o}function Ze(){return Je()?qe(Ue()):te()?qe(Xe()):null}function Co(o){if(M||Ze(),!M)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=M.Canvas,Image:e=M.Image}=o;M.Canvas=t,M.Image=e,M.createCanvasElement=o.createCanvasElement||(()=>new t),M.createImageElement=o.createImageElement||(()=>new e),M.ImageData=o.ImageData||M.ImageData,M.Video=o.Video||M.Video,M.fetch=o.fetch||M.fetch,M.readFile=o.readFile||M.readFile}var _={getEnv:Mo,setEnv:qe,initialize:Ze,createBrowserEnv:Ue,createFileSystem:le,createNodejsEnv:Xe,monkeyPatch:Co,isBrowser:Je,isNodejs:te};Ze();function At(o){return!_.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function W(o){let{Canvas:t,CanvasRenderingContext2D:e}=_.getEnv();if(o instanceof e)return o;let r=At(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let a=r.getContext("2d",{willReadFrequently:!0});if(!a)throw new Error("resolveContext2d - canvas 2d context is null");return a}var Ke=(a=>(a.TOP_LEFT="TOP_LEFT",a.TOP_RIGHT="TOP_RIGHT",a.BOTTOM_LEFT="BOTTOM_LEFT",a.BOTTOM_RIGHT="BOTTOM_RIGHT",a))(Ke||{}),Wt=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:a,fontSize:i,fontStyle:s,padding:c}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=a||"rgba(255, 255, 255, 1)",this.fontSize=i||14,this.fontStyle=s||"Georgia",this.padding=c||4}},xt=class o{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof o?t.text:t,this.anchor=e,this.options=new Wt(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,a)=>r{let b=m+f.x,y=m+f.y+(d+1)*s;r.fillText(l,b,y)})}};var de=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:a,drawLabelOptions:i}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=a;let s={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new Wt({...s,...i})}},ee=class{constructor(t,e={}){this.box=new C(t),this.options=new de(e)}draw(t){let e=W(t),{boxColor:r,lineWidth:a}=this.options,{x:i,y:s,width:c,height:m}=this.box;e.strokeStyle=r,e.lineWidth=a,e.strokeRect(i,s,c,m);let{label:p}=this.options;p&&new xt([p],{x:i-a/2,y:s},this.options.drawLabelOptions).draw(t)}};function Io(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let a=r instanceof D?r.score:Q(r)?r.detection.score:void 0,i=r instanceof D?r.box:Q(r)?r.detection.box:new C(r),s=a?`${ht(a)}`:void 0;new ee(i,{label:s}).draw(o)})}function he(o){let{Image:t,Video:e}=_.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function yr(o){return new Promise((t,e)=>{if(o instanceof _.getEnv().Canvas||he(o)){t(null);return}function r(i){i.currentTarget&&(i.currentTarget.removeEventListener("load",a),i.currentTarget.removeEventListener("error",r),e(i))}function a(i){i.currentTarget&&(i.currentTarget.removeEventListener("load",a),i.currentTarget.removeEventListener("error",r),t(i))}o.addEventListener("load",a),o.addEventListener("error",r)})}function Tr(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let a=_.getEnv().createImageElement();a.onload=()=>t(a),a.onerror=e,a.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function kt(o){let{Image:t,Video:e}=_.getEnv();return o instanceof t?new A(o.naturalWidth,o.naturalHeight):o instanceof e?new A(o.videoWidth,o.videoHeight):new A(o.width,o.height)}function Bt({width:o,height:t}){let{createCanvasElement:e}=_.getEnv(),r=e();return r.width=o,r.height=t,r}function be(o,t){let{ImageData:e}=_.getEnv();if(!(o instanceof e)&&!he(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:a}=t||kt(o),i=Bt({width:r,height:a});return o instanceof e?W(i).putImageData(o,0,0):W(i).drawImage(o,0,0,r,a),i}async function _r(o,t){let e=t||_.getEnv().createCanvasElement(),[r,a,i]=o.shape.slice(R(o)?1:0),s=n.tidy(()=>o.as3D(r,a,i).toInt());return await n.browser.toPixels(s,e),s.dispose(),e}function Qe(o){let{Image:t,Canvas:e,Video:r}=_.getEnv();return o instanceof t||o instanceof e||o instanceof r}function Pr(o,t,e=!1){let{Image:r,Canvas:a}=_.getEnv();if(!(o instanceof r||o instanceof a))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Bt({width:1,height:1});let i=kt(o),s=t/Math.max(i.height,i.width),c=s*i.width,m=s*i.height,p=Bt({width:t,height:t}),u=o instanceof a?o:be(o),f=Math.abs(c-m)/2,l=e&&c0&&u.height>0&&W(p).drawImage(u,l,d,c,m),p}var tt=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,a)=>{if(K(r)){this._imageTensors[a]=r,this._inputDimensions[a]=r.shape;return}if(R(r)){let s=r.shape[0];if(s!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${s} passed, but not supported in input array`);this._imageTensors[a]=r,this._inputDimensions[a]=r.shape.slice(1);return}let i=r instanceof _.getEnv().Canvas?r:be(r);this._canvases[a]=i,this._inputDimensions[a]=[i.height,i.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return X(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return je({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,n.tidy(()=>{let r=X(this.batchSize,0,1).map(i=>{let s=this.getInput(i);if(s instanceof n.Tensor){let c=R(s)?s:n.expandDims(s);return c=gr(c,e),(c.shape[1]!==t||c.shape[2]!==t)&&(c=n.image.resizeBilinear(c,[t,t],!1,!1)),c.as3D(t,t,3)}if(s instanceof _.getEnv().Canvas){let c=Pr(s,t,e),m=n.browser.fromPixels(c);c.width=1,c.height=1;let p=c.getContext("2d");return p&&p.clearRect(0,0,1,1),m}throw new Error(`toBatchTensor - at batchIdx ${i}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${s}`)});return n.stack(r.map(i=>n.cast(i,"float32"))).as4D(this.batchSize,t,t,3)})}};async function F(o){if(o instanceof tt)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=a=>Array.isArray(o)?` at input index ${a}:`:"",r=t.map(At);return r.forEach((a,i)=>{if(!Qe(a)&&!K(a)&&!R(a))throw typeof t[i]=="string"?new Error(`toNetInput -${e(i)} string passed, but could not resolve HTMLElement for element id ${t[i]}`):new Error(`toNetInput -${e(i)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(R(a)){let s=a.shape[0];if(s!==1)throw new Error(`toNetInput -${e(i)} tf.Tensor4D with batchSize ${s} passed, but not supported in input array`)}}),await Promise.all(r.map(a=>Qe(a)&&yr(a))),new tt(r,Array.isArray(o))}async function re(o,t){let{Canvas:e}=_.getEnv(),r=o;if(!(o instanceof e)){let s=await F(o);if(s.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let c=s.getInput(0);r=c instanceof e?c:await _r(c)}let a=W(r);return t.map(s=>s instanceof D?s.forSize(r.width,r.height).box.floor():s).map(s=>s.clipAtImageBorders(r.width,r.height)).map(({x:s,y:c,width:m,height:p})=>{let u=Bt({width:m,height:p});return m>0&&p>0&&W(u).putImageData(a.getImageData(s,c,m,p),0,0),u})}async function oe(o,t){if(!K(o)&&!R(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(R(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return n.tidy(()=>{let[e,r,a]=o.shape.slice(R(o)?1:0);return t.map(c=>c instanceof D?c.forSize(r,e).box:c).map(c=>c.clipAtImageBorders(r,e)).filter(c=>c.width>0&&c.height>0).map(({x:c,y:m,width:p,height:u})=>n.slice3d(o.as3D(e,r,a),[m,c,0],[u,p,a]))})}async function st(o,t){let{fetch:e}=_.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function Fi(o){let t=await st(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return Tr(e)}async function wr(o){return(await st(o)).json()}async function Ii(o){return new Float32Array(await(await st(o)).arrayBuffer())}function Fr(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=_.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function ki(o){let t=await st(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return Fr(e)}function ge(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let a=o.split("/").filter(c=>c),i=o.endsWith(".json")?a[a.length-1]:e,s=r+(o.endsWith(".json")?a.slice(0,a.length-1):a).join("/");return s=o.startsWith("/")?`/${s}`:s,{modelBaseUri:s,manifestUri:s==="/"?`/${i}`:`${s}/${i}`}}async function Dr(o,t){let{manifestUri:e,modelBaseUri:r}=ge(o,t),a=await wr(e);return n.io.loadWeights(a,r)}function Yi(o,t,e=!1){let{width:r,height:a}=e?kt(t):t;return o.width=r,o.height=a,{width:r,height:a}}var I=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:a}=this.traversePropertyPath(t);r[a].dispose(),r[a]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof n.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof n.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=n.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await Dr(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=_.getEnv(),{manifestUri:r,modelBaseUri:a}=ge(t,this.getDefaultModelName()),i=p=>Promise.all(p.map(u=>e(u).then(f=>typeof f=="string"?Buffer.from(f):f.buffer))),s=n.io.weightsLoaderFactory(i),c=JSON.parse((await e(r)).toString()),m=await s(c,a);this.loadFromWeightMap(m)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((i,s)=>{if(!i.nextObj.hasOwnProperty(s))throw new Error(`traversePropertyPath - object does not have property ${s}, for path ${t}`);return{obj:i.nextObj,objProp:s,nextObj:i.nextObj[s]}},{nextObj:this.params}),{obj:r,objProp:a}=e;if(!r||!a||!(r[a]instanceof n.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:a}}};function S(o,t,e){return n.tidy(()=>{let r=n.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=n.add(r,t.bias),r})}function xe(o,t,e=!1){return n.tidy(()=>{let r=n.relu(e?n.add(n.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):S(o,t.conv0,[2,2])),a=S(r,t.conv1,[1,1]),i=n.relu(n.add(r,a)),s=S(i,t.conv2,[1,1]);return n.relu(n.add(r,n.add(a,s)))})}function ne(o,t,e=!1,r=!0){return n.tidy(()=>{let a=n.relu(e?n.add(n.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):S(o,t.conv0,r?[2,2]:[1,1])),i=S(a,t.conv1,[1,1]),s=n.relu(n.add(a,i)),c=S(s,t.conv2,[1,1]),m=n.relu(n.add(a,n.add(i,c))),p=S(m,t.conv3,[1,1]);return n.relu(n.add(a,n.add(i,n.add(c,p))))})}function vt(o,t,e="same",r=!1){return n.tidy(()=>{let a=n.add(n.conv2d(o,t.filters,[1,1],e),t.bias);return r?n.relu(a):a})}function N(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}function Rt(o,t){return(e,r,a,i)=>{let s=n.tensor4d(o(e*r*a*a),[a,a,e,r]),c=n.tensor1d(o(r));return t.push({paramPath:`${i}/filters`},{paramPath:`${i}/bias`}),{filters:s,bias:c}}}function ve(o,t){return(e,r,a)=>{let i=n.tensor2d(o(e*r),[e,r]),s=n.tensor1d(o(r));return t.push({paramPath:`${a}/weights`},{paramPath:`${a}/bias`}),{weights:i,bias:s}}}var ae=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function $t(o,t){return(e,r,a)=>{let i=n.tensor4d(o(9*e),[3,3,e,1]),s=n.tensor4d(o(e*r),[1,1,e,r]),c=n.tensor1d(o(r));return t.push({paramPath:`${a}/depthwise_filter`},{paramPath:`${a}/pointwise_filter`},{paramPath:`${a}/bias`}),new ae(i,s,c)}}function Ot(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),a=o(`${t}/bias`,1);return new ae(e,r,a)}}function k(o,t){return(e,r,a)=>{let i=o[e];if(!dt(i,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${i}`);return t.push({originalPath:e,paramPath:a||e}),i}}function L(o){let t=o;function e(a){let i=t.slice(0,a);return t=t.slice(a),i}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function ye(o,t){let e=Rt(o,t),r=$t(o,t);function a(s,c,m,p=!1){let u=p?e(s,c,3,`${m}/conv0`):r(s,c,`${m}/conv0`),f=r(c,c,`${m}/conv1`),l=r(c,c,`${m}/conv2`);return{conv0:u,conv1:f,conv2:l}}function i(s,c,m,p=!1){let{conv0:u,conv1:f,conv2:l}=a(s,c,m,p),d=r(c,c,`${m}/conv3`);return{conv0:u,conv1:f,conv2:l,conv3:d}}return{extractDenseBlock3Params:a,extractDenseBlock4Params:i}}function Er(o){let t=[],{extractWeights:e,getRemainingWeights:r}=L(o),{extractDenseBlock4Params:a}=ye(e,t),i=a(3,32,"dense0",!0),s=a(32,64,"dense1"),c=a(64,128,"dense2"),m=a(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:i,dense1:s,dense2:c,dense3:m}}}function Te(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function _e(o,t){let e=k(o,t),r=Te(e),a=Ot(e);function i(c,m=!1){let p=m?r(`${c}/conv0`):a(`${c}/conv0`),u=a(`${c}/conv1`),f=a(`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function s(c,m=!1){let p=m?r(`${c}/conv0`):a(`${c}/conv0`),u=a(`${c}/conv1`),f=a(`${c}/conv2`),l=a(`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:i,extractDenseBlock4Params:s}}function Mr(o){let t=[],{extractDenseBlock4Params:e}=_e(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return N(o,t),{params:r,paramMappings:t}}var Ht=class extends I{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(112,!0),"float32"),i=J(r,[122.782,117.001,104.298]).div(255),s=ne(i,e.dense0,!0);return s=ne(s,e.dense1),s=ne(s,e.dense2),s=ne(s,e.dense3),s=n.avgPool(s,[7,7],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await F(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Mr(t)}extractParams(t){return Er(t)}};function se(o,t){return n.tidy(()=>n.add(n.matMul(o,t.weights),t.bias))}function Cr(o,t,e){let r=[],{extractWeights:a,getRemainingWeights:i}=L(o),c=ve(a,r)(t,e,"fc");if(i().length!==0)throw new Error(`weights remaing after extract: ${i().length}`);return{paramMappings:r,params:{fc:c}}}function Ir(o){let t=[],e=k(o,t);function r(i){let s=e(`${i}/weights`,2),c=e(`${i}/bias`,1);return{weights:s,bias:c}}let a={fc:r("fc")};return N(o,t),{params:a,paramMappings:t}}function Pe(o){let t={},e={};return Object.keys(o).forEach(r=>{let a=r.startsWith("fc")?e:t;a[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var zt=class extends I{constructor(t,e){super(t),this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return n.tidy(()=>{let r=t instanceof tt?this.faceFeatureExtractor.forwardInput(t):t;return se(r.as2D(r.shape[0],-1),e.fc)})}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Cr(t,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=Pe(t);return this.faceFeatureExtractor.loadFromWeightMap(e),Ir(r)}extractParams(t){let e=this.getClassifierChannelsIn(),r=this.getClassifierChannelsOut(),a=r*e+r,i=t.slice(0,t.length-a),s=t.slice(t.length-a);return this.faceFeatureExtractor.extractWeights(i),this.extractClassifierParams(s)}};var Nr=["neutral","happy","sad","angry","fearful","disgusted","surprised"],it=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);Nr.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return Nr.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var we=class extends zt{constructor(t=new Ht){super("FaceExpressionNet",t)}forwardInput(t){return n.tidy(()=>n.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await F(t))}async predictExpressions(t){let e=await F(t),r=await this.forwardInput(e),a=await Promise.all(n.unstack(r).map(async s=>{let c=s.dataSync();return s.dispose(),c}));r.dispose();let i=a.map(s=>new it(s));return e.isBatchInput?i:i[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function Lr(o){return o.expressions instanceof it}function tr(o,t){return{...o,...{expressions:t}}}function No(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(i=>{let s=i instanceof it?i:Lr(i)?i.expressions:void 0;if(!s)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let m=s.asSortedArray().filter(f=>f.probability>e),p=Q(i)?i.detection.box.bottomLeft:r||new v(0,0);new xt(m.map(f=>`${f.expression} (${ht(f.probability)})`),p).draw(o)})}function Yt(o){return Q(o)&&o.landmarks instanceof $&&o.unshiftedLandmarks instanceof $&&o.alignedRect instanceof D}function Lo(o){let t=m=>m*180/Math.PI,e=(m,p)=>Math.sqrt((m.x-p.x)**2+(m.y-p.y)**2),r={roll:void 0,pitch:void 0,yaw:void 0},a=(m,p,u)=>{let f=Math.floor(m.x-p.x),l=Math.floor(p.x-u.x);return f-l},i=(m,p)=>{let u=Math.hypot(p.x-m.x,p.y-m.y),f=p.y-m.y,l=Math.asin(f/u),d=t(l),b=Math.floor(90-d),y=p.x-m.x<0?-1:1;return b*y},s=(m,p,u)=>{let f=e(m,u),l=new v((m.x+u.x)/2,(m.y+u.y)/2),d=e(p,l),b=Math.atan(d/f),y=Math.floor(t(b)),h=l.y-p.y<0?-1:1;return y*h};if(!o||!o.positions||o.positions.length!==68)return r;let c=o.positions;return r.roll=i(c[27],c[66]),r.pitch=s(c[14],c[30],c[2]),r.yaw=a(c[14],c[33],c[2]),r}function ie(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),a=r.align(),{imageDims:i}=o.detection,s=new D(o.detection.score,a.rescale(i.reverse()),i),c=Lo(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:s,angle:c}}}var Fe=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:a,lineColor:i,pointSize:s,pointColor:c}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=a||1,this.pointSize=s||2,this.lineColor=i||"rgba(0, 255, 255, 1)",this.pointColor=c||"rgba(255, 0, 255, 1)"}},De=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new Fe(e)}draw(t){let e=W(t),{drawLines:r,drawPoints:a,lineWidth:i,lineColor:s,pointSize:c,pointColor:m}=this.options;if(r&&this.faceLandmarks instanceof Lt&&(e.strokeStyle=s,e.lineWidth=i,Z(e,this.faceLandmarks.getJawOutline()),Z(e,this.faceLandmarks.getLeftEyeBrow()),Z(e,this.faceLandmarks.getRightEyeBrow()),Z(e,this.faceLandmarks.getNose()),Z(e,this.faceLandmarks.getLeftEye(),!0),Z(e,this.faceLandmarks.getRightEye(),!0),Z(e,this.faceLandmarks.getMouth(),!0)),a){e.strokeStyle=m,e.fillStyle=m;let p=u=>{e.beginPath(),e.arc(u.x,u.y,c,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(p)}}};function So(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let a=r instanceof $?r:Yt(r)?r.landmarks:void 0;if(!a)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new De(a).draw(o)})}var Ar="1.7.13";function ko(o,t){let e=Rt(o,t),r=$t(o,t);function a(s,c,m){let p=r(s,c,`${m}/separable_conv0`),u=r(c,c,`${m}/separable_conv1`),f=e(s,c,1,`${m}/expansion_conv`);return{separable_conv0:p,separable_conv1:u,expansion_conv:f}}function i(s,c){let m=r(s,s,`${c}/separable_conv0`),p=r(s,s,`${c}/separable_conv1`),u=r(s,s,`${c}/separable_conv2`);return{separable_conv0:m,separable_conv1:p,separable_conv2:u}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:a,extractMainBlockParams:i}}function Wr(o,t){let e=[],{extractWeights:r,getRemainingWeights:a}=L(o),{extractConvParams:i,extractSeparableConvParams:s,extractReductionBlockParams:c,extractMainBlockParams:m}=ko(r,e),p=i(3,32,3,"entry_flow/conv_in"),u=c(32,64,"entry_flow/reduction_block_0"),f=c(64,128,"entry_flow/reduction_block_1"),l={conv_in:p,reduction_block_0:u,reduction_block_1:f},d={};X(t,0,1).forEach(g=>{d[`main_block_${g}`]=m(128,`middle_flow/main_block_${g}`)});let b=c(128,256,"exit_flow/reduction_block"),y=s(256,512,"exit_flow/separable_conv"),h={reduction_block:b,separable_conv:y};if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:e,params:{entry_flow:l,middle_flow:d,exit_flow:h}}}function Bo(o,t){let e=k(o,t),r=Te(e),a=Ot(e);function i(c){let m=a(`${c}/separable_conv0`),p=a(`${c}/separable_conv1`),u=r(`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function s(c){let m=a(`${c}/separable_conv0`),p=a(`${c}/separable_conv1`),u=a(`${c}/separable_conv2`);return{separable_conv0:m,separable_conv1:p,separable_conv2:u}}return{extractConvParams:r,extractSeparableConvParams:a,extractReductionBlockParams:i,extractMainBlockParams:s}}function kr(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:a,extractReductionBlockParams:i,extractMainBlockParams:s}=Bo(o,e),c=r("entry_flow/conv_in"),m=i("entry_flow/reduction_block_0"),p=i("entry_flow/reduction_block_1"),u={conv_in:c,reduction_block_0:m,reduction_block_1:p},f={};X(t,0,1).forEach(y=>{f[`main_block_${y}`]=s(`middle_flow/main_block_${y}`)});let l=i("exit_flow/reduction_block"),d=a("exit_flow/separable_conv"),b={reduction_block:l,separable_conv:d};return N(o,e),{params:{entry_flow:u,middle_flow:f,exit_flow:b},paramMappings:e}}function Br(o,t,e){return n.add(n.conv2d(o,t.filters,e,"same"),t.bias)}function er(o,t,e=!0){let r=e?n.relu(o):o;return r=S(r,t.separable_conv0,[1,1]),r=S(n.relu(r),t.separable_conv1,[1,1]),r=n.maxPool(r,[3,3],[2,2],"same"),r=n.add(r,Br(o,t.expansion_conv,[2,2])),r}function Ro(o,t){let e=S(n.relu(o),t.separable_conv0,[1,1]);return e=S(n.relu(e),t.separable_conv1,[1,1]),e=S(n.relu(e),t.separable_conv2,[1,1]),e=n.add(e,o),e}var Ee=class extends I{constructor(t){super("TinyXception"),this._numMainBlocks=t}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyXception - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(112,!0),"float32"),i=J(r,[122.782,117.001,104.298]).div(255),s=n.relu(Br(i,e.entry_flow.conv_in,[2,2]));return s=er(s,e.entry_flow.reduction_block_0,!1),s=er(s,e.entry_flow.reduction_block_1),X(this._numMainBlocks,0,1).forEach(c=>{s=Ro(s,e.middle_flow[`main_block_${c}`])}),s=er(s,e.exit_flow.reduction_block),s=n.relu(S(s,e.exit_flow.separable_conv,[1,1])),s})}async forward(t){return this.forwardInput(await F(t))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(t){return kr(t,this._numMainBlocks)}extractParams(t){return Wr(t,this._numMainBlocks)}};function Rr(o){let t=[],{extractWeights:e,getRemainingWeights:r}=L(o),a=ve(e,t),i=a(512,1,"fc/age"),s=a(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:i,gender:s}}}}function $r(o){let t=[],e=k(o,t);function r(i){let s=e(`${i}/weights`,2),c=e(`${i}/bias`,1);return{weights:s,bias:c}}let a={fc:{age:r("fc/age"),gender:r("fc/gender")}};return N(o,t),{params:a,paramMappings:t}}var rr=(e=>(e.FEMALE="female",e.MALE="male",e))(rr||{});var Me=class extends I{constructor(t=new Ee(2)){super("AgeGenderNet"),this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return n.tidy(()=>{let r=t instanceof tt?this.faceFeatureExtractor.forwardInput(t):t,a=n.avgPool(r,[7,7],[2,2],"valid").as2D(r.shape[0],-1),i=se(a,e.fc.age).as1D(),s=se(a,e.fc.gender);return{age:i,gender:s}})}forwardInput(t){return n.tidy(()=>{let{age:e,gender:r}=this.runNet(t);return{age:e,gender:n.softmax(r)}})}async forward(t){return this.forwardInput(await F(t))}async predictAgeAndGender(t){let e=await F(t),r=await this.forwardInput(e),a=n.unstack(r.age),i=n.unstack(r.gender),s=a.map((m,p)=>({ageTensor:m,genderTensor:i[p]})),c=await Promise.all(s.map(async({ageTensor:m,genderTensor:p})=>{let u=m.dataSync()[0],f=p.dataSync()[0],l=f>.5,d=l?"male":"female",b=l?f:1-f;return m.dispose(),p.dispose(),{age:u,gender:d,genderProbability:b}}));return r.age.dispose(),r.gender.dispose(),e.isBatchInput?c:c[0]}getDefaultModelName(){return"age_gender_model"}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Rr(t)}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=Pe(t);return this.faceFeatureExtractor.loadFromWeightMap(e),$r(r)}extractParams(t){let r=t.slice(0,t.length-1539),a=t.slice(t.length-1539);return this.faceFeatureExtractor.extractWeights(r),this.extractClassifierParams(a)}};var Vt=class extends zt{postProcess(t,e,r){let a=r.map(({width:s,height:c})=>{let m=e/Math.max(c,s);return{width:s*m,height:c*m}}),i=a.length;return n.tidy(()=>{let s=(f,l)=>n.stack([n.fill([68],f,"float32"),n.fill([68],l,"float32")],1).as2D(1,136).as1D(),c=(f,l)=>{let{width:d,height:b}=a[f];return l(d,b)?Math.abs(d-b)/2:0},m=f=>c(f,(l,d)=>lc(f,(l,d)=>ds(m(l),p(l))))).div(n.stack(Array.from(Array(i),(f,l)=>s(a[l].width,a[l].height))))})}forwardInput(t){return n.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,a])=>({height:r,width:a})))})}async forward(t){return this.forwardInput(await F(t))}async detectLandmarks(t){let e=await F(t),r=n.tidy(()=>n.unstack(this.forwardInput(e))),a=await Promise.all(r.map(async(i,s)=>{let c=Array.from(i.dataSync()),m=c.filter((u,f)=>pe(f)),p=c.filter((u,f)=>!pe(f));return new Lt(Array(68).fill(0).map((u,f)=>new v(m[f],p[f])),{height:e.getInputHeight(s),width:e.getInputWidth(s)})}));return r.forEach(i=>i.dispose()),e.isBatchInput?a:a[0]}getClassifierChannelsOut(){return 136}};var Gt=class extends Vt{constructor(t=new Ht){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};function Or(o){let t=[],{extractDenseBlock3Params:e}=_e(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return N(o,t),{params:r,paramMappings:t}}function Hr(o){let t=[],{extractWeights:e,getRemainingWeights:r}=L(o),{extractDenseBlock3Params:a}=ye(e,t),i=a(3,32,"dense0",!0),s=a(32,64,"dense1"),c=a(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:i,dense1:s,dense2:c}}}var Ce=class extends I{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(112,!0),"float32"),i=J(r,[122.782,117.001,104.298]).div(255),s=xe(i,e.dense0,!0);return s=xe(s,e.dense1),s=xe(s,e.dense2),s=n.avgPool(s,[14,14],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await F(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Or(t)}extractParams(t){return Hr(t)}};var Ie=class extends Vt{constructor(t=new Ce){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var zr=class extends Gt{};function Yr(o,t){return n.add(n.mul(o,t.weights),t.biases)}function or(o,t,e,r,a="same"){let{filters:i,bias:s}=t.conv,c=n.conv2d(o,i,e,a);return c=n.add(c,s),c=Yr(c,t.scale),r?n.relu(c):c}function Vr(o,t){return or(o,t,[1,1],!0)}function nr(o,t){return or(o,t,[1,1],!1)}function Ne(o,t){return or(o,t,[2,2],!0,"valid")}function $o(o,t){function e(c,m,p){let u=o(c),f=u.length/(m*p*p);if(Ge(f))throw new Error(`depth has to be an integer: ${f}, weights.length: ${u.length}, numFilters: ${m}, filterSize: ${p}`);return n.tidy(()=>n.transpose(n.tensor4d(u,[m,f,p,p]),[2,3,1,0]))}function r(c,m,p,u){let f=e(c,m,p),l=n.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/bias`}),{filters:f,bias:l}}function a(c,m){let p=n.tensor1d(o(c)),u=n.tensor1d(o(c));return t.push({paramPath:`${m}/weights`},{paramPath:`${m}/biases`}),{weights:p,biases:u}}function i(c,m,p,u){let f=r(c,m,p,`${u}/conv`),l=a(m,`${u}/scale`);return{conv:f,scale:l}}function s(c,m,p,u,f=!1){let l=i((f?.5:1)*c,m,p,`${u}/conv1`),d=i(c,m,p,`${u}/conv2`);return{conv1:l,conv2:d}}return{extractConvLayerParams:i,extractResidualLayerParams:s}}function Gr(o){let{extractWeights:t,getRemainingWeights:e}=L(o),r=[],{extractConvLayerParams:a,extractResidualLayerParams:i}=$o(t,r),s=a(4704,32,7,"conv32_down"),c=i(9216,32,3,"conv32_1"),m=i(9216,32,3,"conv32_2"),p=i(9216,32,3,"conv32_3"),u=i(36864,64,3,"conv64_down",!0),f=i(36864,64,3,"conv64_1"),l=i(36864,64,3,"conv64_2"),d=i(36864,64,3,"conv64_3"),b=i(147456,128,3,"conv128_down",!0),y=i(147456,128,3,"conv128_1"),h=i(147456,128,3,"conv128_2"),g=i(589824,256,3,"conv256_down",!0),T=i(589824,256,3,"conv256_1"),x=i(589824,256,3,"conv256_2"),E=i(589824,256,3,"conv256_down_out"),B=n.tidy(()=>n.transpose(n.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:s,conv32_1:c,conv32_2:m,conv32_3:p,conv64_down:u,conv64_1:f,conv64_2:l,conv64_3:d,conv128_down:b,conv128_1:y,conv128_2:h,conv256_down:g,conv256_1:T,conv256_2:x,conv256_down_out:E,fc:B},paramMappings:r}}function Oo(o,t){let e=k(o,t);function r(s){let c=e(`${s}/scale/weights`,1),m=e(`${s}/scale/biases`,1);return{weights:c,biases:m}}function a(s){let c=e(`${s}/conv/filters`,4),m=e(`${s}/conv/bias`,1),p=r(s);return{conv:{filters:c,bias:m},scale:p}}function i(s){return{conv1:a(`${s}/conv1`),conv2:a(`${s}/conv2`)}}return{extractConvLayerParams:a,extractResidualLayerParams:i}}function jr(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Oo(o,t),a=e("conv32_down"),i=r("conv32_1"),s=r("conv32_2"),c=r("conv32_3"),m=r("conv64_down"),p=r("conv64_1"),u=r("conv64_2"),f=r("conv64_3"),l=r("conv128_down"),d=r("conv128_1"),b=r("conv128_2"),y=r("conv256_down"),h=r("conv256_1"),g=r("conv256_2"),T=r("conv256_down_out"),{fc:x}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!Ve(x))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${x}`);let E={conv32_down:a,conv32_1:i,conv32_2:s,conv32_3:c,conv64_down:m,conv64_1:p,conv64_2:u,conv64_3:f,conv128_down:l,conv128_1:d,conv128_2:b,conv256_down:y,conv256_1:h,conv256_2:g,conv256_down_out:T,fc:x};return N(o,t),{params:E,paramMappings:t}}function j(o,t){let e=Vr(o,t.conv1);return e=nr(e,t.conv2),e=n.add(e,o),e=n.relu(e),e}function ce(o,t){let e=Ne(o,t.conv1);e=nr(e,t.conv2);let r=n.avgPool(o,2,2,"valid"),a=n.zeros(r.shape),i=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let c=[...e.shape];c[1]=1;let m=n.zeros(c);e=n.concat([e,m],1);let p=[...e.shape];p[2]=1;let u=n.zeros(p);e=n.concat([e,u],2)}return r=i?n.concat([r,a],3):r,e=n.add(r,e),e=n.relu(e),e}var jt=class extends I{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(150,!0),"float32"),i=J(r,[122.782,117.001,104.298]).div(255),s=Ne(i,e.conv32_down);s=n.maxPool(s,3,2,"valid"),s=j(s,e.conv32_1),s=j(s,e.conv32_2),s=j(s,e.conv32_3),s=ce(s,e.conv64_down),s=j(s,e.conv64_1),s=j(s,e.conv64_2),s=j(s,e.conv64_3),s=ce(s,e.conv128_down),s=j(s,e.conv128_1),s=j(s,e.conv128_2),s=ce(s,e.conv256_down),s=j(s,e.conv256_1),s=j(s,e.conv256_2),s=ce(s,e.conv256_down_out);let c=s.mean([1,2]);return n.matMul(c,e.fc)})}async forward(t){return this.forwardInput(await F(t))}async computeFaceDescriptor(t){var i;if((i=t==null?void 0:t.shape)!=null&&i.some(s=>s<=0))return new Float32Array(128);let e=await F(t),r=n.tidy(()=>n.unstack(this.forwardInput(e))),a=await Promise.all(r.map(s=>s.data()));return r.forEach(s=>s.dispose()),e.isBatchInput?a:a[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return jr(t)}extractParams(t){return Gr(t)}};function gf(o){let t=new jt;return t.extractWeights(o),t}function ar(o,t){return{...o,...{descriptor:t}}}function Tf(o){return typeof o.age=="number"}function sr(o,t){return{...o,...{age:t}}}function Ff(o){return(o.gender==="male"||o.gender==="female")&&Mt(o.genderProbability)}function ir(o,t,e){return{...o,...{gender:t,genderProbability:e}}}function Ho(o,t){function e(m,p){let u=n.tensor4d(o(9*m),[3,3,m,1]),f=n.tensor1d(o(m)),l=n.tensor1d(o(m)),d=n.tensor1d(o(m)),b=n.tensor1d(o(m));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/batch_norm_scale`},{paramPath:`${p}/batch_norm_offset`},{paramPath:`${p}/batch_norm_mean`},{paramPath:`${p}/batch_norm_variance`}),{filters:u,batch_norm_scale:f,batch_norm_offset:l,batch_norm_mean:d,batch_norm_variance:b}}function r(m,p,u,f,l){let d=n.tensor4d(o(m*p*u*u),[u,u,m,p]),b=n.tensor1d(o(p));return t.push({paramPath:`${f}/filters`},{paramPath:`${f}/${l?"batch_norm_offset":"bias"}`}),{filters:d,bias:b}}function a(m,p,u,f){let{filters:l,bias:d}=r(m,p,u,f,!0);return{filters:l,batch_norm_offset:d}}function i(m,p,u){let f=e(m,`${u}/depthwise_conv`),l=a(m,p,1,`${u}/pointwise_conv`);return{depthwise_conv:f,pointwise_conv:l}}function s(){let m=a(3,32,3,"mobilenetv1/conv_0"),p=i(32,64,"mobilenetv1/conv_1"),u=i(64,128,"mobilenetv1/conv_2"),f=i(128,128,"mobilenetv1/conv_3"),l=i(128,256,"mobilenetv1/conv_4"),d=i(256,256,"mobilenetv1/conv_5"),b=i(256,512,"mobilenetv1/conv_6"),y=i(512,512,"mobilenetv1/conv_7"),h=i(512,512,"mobilenetv1/conv_8"),g=i(512,512,"mobilenetv1/conv_9"),T=i(512,512,"mobilenetv1/conv_10"),x=i(512,512,"mobilenetv1/conv_11"),E=i(512,1024,"mobilenetv1/conv_12"),B=i(1024,1024,"mobilenetv1/conv_13");return{conv_0:m,conv_1:p,conv_2:u,conv_3:f,conv_4:l,conv_5:d,conv_6:b,conv_7:y,conv_8:h,conv_9:g,conv_10:T,conv_11:x,conv_12:E,conv_13:B}}function c(){let m=a(1024,256,1,"prediction_layer/conv_0"),p=a(256,512,3,"prediction_layer/conv_1"),u=a(512,128,1,"prediction_layer/conv_2"),f=a(128,256,3,"prediction_layer/conv_3"),l=a(256,128,1,"prediction_layer/conv_4"),d=a(128,256,3,"prediction_layer/conv_5"),b=a(256,64,1,"prediction_layer/conv_6"),y=a(64,128,3,"prediction_layer/conv_7"),h=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),g=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),T=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),x=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),E=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),B=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),V=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),U=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),O=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),ot=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),nt=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),at=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:m,conv_1:p,conv_2:u,conv_3:f,conv_4:l,conv_5:d,conv_6:b,conv_7:y,box_predictor_0:{box_encoding_predictor:h,class_predictor:g},box_predictor_1:{box_encoding_predictor:T,class_predictor:x},box_predictor_2:{box_encoding_predictor:E,class_predictor:B},box_predictor_3:{box_encoding_predictor:V,class_predictor:U},box_predictor_4:{box_encoding_predictor:O,class_predictor:ot},box_predictor_5:{box_encoding_predictor:nt,class_predictor:at}}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:c}}function Ur(o){let t=[],{extractWeights:e,getRemainingWeights:r}=L(o),{extractMobilenetV1Params:a,extractPredictionLayerParams:i}=Ho(e,t),s=a(),c=i(),p={extra_dim:n.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:s,prediction_layer:c,output_layer:p},paramMappings:t}}function zo(o,t){let e=k(o,t);function r(p,u,f){let l=e(`${p}/Conv2d_${u}_pointwise/weights`,4,`${f}/filters`),d=e(`${p}/Conv2d_${u}_pointwise/convolution_bn_offset`,1,`${f}/batch_norm_offset`);return{filters:l,batch_norm_offset:d}}function a(p){let u=`mobilenetv1/conv_${p}`,f=`MobilenetV1/Conv2d_${p}_depthwise`,l=`${u}/depthwise_conv`,d=`${u}/pointwise_conv`,b=e(`${f}/depthwise_weights`,4,`${l}/filters`),y=e(`${f}/BatchNorm/gamma`,1,`${l}/batch_norm_scale`),h=e(`${f}/BatchNorm/beta`,1,`${l}/batch_norm_offset`),g=e(`${f}/BatchNorm/moving_mean`,1,`${l}/batch_norm_mean`),T=e(`${f}/BatchNorm/moving_variance`,1,`${l}/batch_norm_variance`);return{depthwise_conv:{filters:b,batch_norm_scale:y,batch_norm_offset:h,batch_norm_mean:g,batch_norm_variance:T},pointwise_conv:r("MobilenetV1",p,d)}}function i(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:a(1),conv_2:a(2),conv_3:a(3),conv_4:a(4),conv_5:a(5),conv_6:a(6),conv_7:a(7),conv_8:a(8),conv_9:a(9),conv_10:a(10),conv_11:a(11),conv_12:a(12),conv_13:a(13)}}function s(p,u){let f=e(`${p}/weights`,4,`${u}/filters`),l=e(`${p}/biases`,1,`${u}/bias`);return{filters:f,bias:l}}function c(p){let u=s(`Prediction/BoxPredictor_${p}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${p}/box_encoding_predictor`),f=s(`Prediction/BoxPredictor_${p}/ClassPredictor`,`prediction_layer/box_predictor_${p}/class_predictor`);return{box_encoding_predictor:u,class_predictor:f}}function m(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:c(0),box_predictor_1:c(1),box_predictor_2:c(2),box_predictor_3:c(3),box_predictor_4:c(4),box_predictor_5:c(5)}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:m}}function Xr(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=zo(o,t),a=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!K(a))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${a}`);let i={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:a}};return N(o,t),{params:i,paramMappings:t}}function H(o,t,e){return n.tidy(()=>{let r=n.conv2d(o,t.filters,e,"same");return r=n.add(r,t.batch_norm_offset),n.clipByValue(r,0,6)})}var Yo=.0010000000474974513;function Vo(o,t,e){return n.tidy(()=>{let r=n.depthwiseConv2d(o,t.filters,e,"same");return r=n.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Yo),n.clipByValue(r,0,6)})}function Go(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function Jr(o,t){return n.tidy(()=>{let e,r=H(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((i,s)=>{let c=s+1,m=Go(c);r=Vo(r,i.depthwise_conv,m),r=H(r,i.pointwise_conv,[1,1]),c===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function jo(o,t,e){let r=o.arraySync(),a=Math.min(r[t][0],r[t][2]),i=Math.min(r[t][1],r[t][3]),s=Math.max(r[t][0],r[t][2]),c=Math.max(r[t][1],r[t][3]),m=Math.min(r[e][0],r[e][2]),p=Math.min(r[e][1],r[e][3]),u=Math.max(r[e][0],r[e][2]),f=Math.max(r[e][1],r[e][3]),l=(s-a)*(c-i),d=(u-m)*(f-p);if(l<=0||d<=0)return 0;let b=Math.max(a,m),y=Math.max(i,p),h=Math.min(s,u),g=Math.min(c,f),T=Math.max(h-b,0)*Math.max(g-y,0);return T/(l+d-T)}function qr(o,t,e,r,a){let i=o.shape[0],s=Math.min(e,i),c=t.map((u,f)=>({score:u,boxIndex:f})).filter(u=>u.score>a).sort((u,f)=>f.score-u.score),m=u=>u<=r?1:0,p=[];return c.forEach(u=>{if(p.length>=s)return;let f=u.score;for(let l=p.length-1;l>=0;--l){let d=jo(o,u.boxIndex,p[l]);if(d!==0&&(u.score*=m(d),u.score<=a))break}f===u.score&&p.push(u.boxIndex)}),p}function Uo(o){let t=n.unstack(n.transpose(o,[1,0])),e=[n.sub(t[2],t[0]),n.sub(t[3],t[1])],r=[n.add(t[0],n.div(e[0],2)),n.add(t[1],n.div(e[1],2))];return{sizes:e,centers:r}}function Xo(o,t){let{sizes:e,centers:r}=Uo(o),a=n.unstack(n.transpose(t,[1,0])),i=n.div(n.mul(n.exp(n.div(a[2],5)),e[0]),2),s=n.add(n.mul(n.div(a[0],10),e[0]),r[0]),c=n.div(n.mul(n.exp(n.div(a[3],5)),e[1]),2),m=n.add(n.mul(n.div(a[1],10),e[1]),r[1]);return n.transpose(n.stack([n.sub(s,i),n.sub(m,c),n.add(s,i),n.add(m,c)]),[1,0])}function Zr(o,t,e){return n.tidy(()=>{let r=o.shape[0],a=Xo(n.reshape(n.tile(e.extra_dim,[r,1,1]),[-1,4]),n.reshape(o,[-1,4]));a=n.reshape(a,[r,a.shape[0]/r,4]);let i=n.sigmoid(n.slice(t,[0,0,1],[-1,-1,-1])),s=n.slice(i,[0,0,0],[-1,-1,1]);s=n.reshape(s,[r,s.shape[1]]);let c=n.unstack(a),m=n.unstack(s);return{boxes:c,scores:m}})}function yt(o,t){return n.tidy(()=>{let e=o.shape[0],r=n.reshape(vt(o,t.box_encoding_predictor),[e,-1,1,4]),a=n.reshape(vt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:a}})}function Kr(o,t,e){return n.tidy(()=>{let r=H(o,e.conv_0,[1,1]),a=H(r,e.conv_1,[2,2]),i=H(a,e.conv_2,[1,1]),s=H(i,e.conv_3,[2,2]),c=H(s,e.conv_4,[1,1]),m=H(c,e.conv_5,[2,2]),p=H(m,e.conv_6,[1,1]),u=H(p,e.conv_7,[2,2]),f=yt(t,e.box_predictor_0),l=yt(o,e.box_predictor_1),d=yt(a,e.box_predictor_2),b=yt(s,e.box_predictor_3),y=yt(m,e.box_predictor_4),h=yt(u,e.box_predictor_5),g=n.concat([f.boxPredictionEncoding,l.boxPredictionEncoding,d.boxPredictionEncoding,b.boxPredictionEncoding,y.boxPredictionEncoding,h.boxPredictionEncoding],1),T=n.concat([f.classPrediction,l.classPrediction,d.classPrediction,b.classPrediction,y.classPrediction,h.classPrediction],1);return{boxPredictions:g,classPredictions:T}})}var z=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var Tt=class extends I{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(512,!1),"float32"),a=n.sub(n.div(r,127.5),1),i=Jr(a,e.mobilenetv1),{boxPredictions:s,classPredictions:c}=Kr(i.out,i.conv11,e.prediction_layer);return Zr(s,c,e.output_layer)})}async forward(t){return this.forwardInput(await F(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:a}=new z(e),i=await F(t),{boxes:s,scores:c}=this.forwardInput(i),m=s[0],p=c[0];for(let x=1;x{let[E,B]=[Math.max(0,g[x][0]),Math.min(1,g[x][2])].map(O=>O*h),[V,U]=[Math.max(0,g[x][1]),Math.min(1,g[x][3])].map(O=>O*y);return new D(u[x],new Nt(V,E,U-V,B-E),{height:i.getInputHeight(0),width:i.getInputWidth(0)})});return m.dispose(),p.dispose(),T}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Xr(t)}extractParams(t){return Ur(t)}};function Jo(o){let t=new Tt;return t.extractWeights(o),t}function gl(o){return Jo(o)}var Qr=class extends Tt{};var to=.4,eo=[new v(.738768,.874946),new v(2.42204,2.65704),new v(4.30971,7.04493),new v(10.246,4.59428),new v(12.6868,11.8741)],ro=[new v(1.603231,2.094468),new v(6.041143,7.080126),new v(2.882459,3.518061),new v(4.266906,5.178857),new v(9.041765,10.66308)],oo=[117.001,114.697,97.404],no="tiny_yolov2_model",ao="tiny_yolov2_separable_conv_model";var Le=o=>typeof o=="number";function so(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Le(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Le(t.x)&&Le(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Le)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}function Ut(o){return n.tidy(()=>{let t=n.mul(o,n.scalar(.10000000149011612));return n.add(n.relu(n.sub(o,t)),t)})}function et(o,t){return n.tidy(()=>{let e=n.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=n.conv2d(e,t.conv.filters,[1,1],"valid"),e=n.sub(e,t.bn.sub),e=n.mul(e,t.bn.truediv),e=n.add(e,t.conv.bias),Ut(e)})}function rt(o,t){return n.tidy(()=>{let e=n.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=n.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=n.add(e,t.bias),Ut(e)})}function qo(o,t){let e=Rt(o,t);function r(s,c){let m=n.tensor1d(o(s)),p=n.tensor1d(o(s));return t.push({paramPath:`${c}/sub`},{paramPath:`${c}/truediv`}),{sub:m,truediv:p}}function a(s,c,m){let p=e(s,c,3,`${m}/conv`),u=r(c,`${m}/bn`);return{conv:p,bn:u}}let i=$t(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:a,extractSeparableConvParams:i}}function io(o,t,e,r){let{extractWeights:a,getRemainingWeights:i}=L(o),s=[],{extractConvParams:c,extractConvWithBatchNormParams:m,extractSeparableConvParams:p}=qo(a,s),u;if(t.withSeparableConvs){let[f,l,d,b,y,h,g,T,x]=r,E=t.isFirstLayerConv2d?c(f,l,3,"conv0"):p(f,l,"conv0"),B=p(l,d,"conv1"),V=p(d,b,"conv2"),U=p(b,y,"conv3"),O=p(y,h,"conv4"),ot=p(h,g,"conv5"),nt=T?p(g,T,"conv6"):void 0,at=x?p(T,x,"conv7"):void 0,Et=c(x||T||g,5*e,1,"conv8");u={conv0:E,conv1:B,conv2:V,conv3:U,conv4:O,conv5:ot,conv6:nt,conv7:at,conv8:Et}}else{let[f,l,d,b,y,h,g,T,x]=r,E=m(f,l,"conv0"),B=m(l,d,"conv1"),V=m(d,b,"conv2"),U=m(b,y,"conv3"),O=m(y,h,"conv4"),ot=m(h,g,"conv5"),nt=m(g,T,"conv6"),at=m(T,x,"conv7"),Et=c(x,5*e,1,"conv8");u={conv0:E,conv1:B,conv2:V,conv3:U,conv4:O,conv5:ot,conv6:nt,conv7:at,conv8:Et}}if(i().length!==0)throw new Error(`weights remaing after extract: ${i().length}`);return{params:u,paramMappings:s}}function Zo(o,t){let e=k(o,t);function r(c){let m=e(`${c}/sub`,1),p=e(`${c}/truediv`,1);return{sub:m,truediv:p}}function a(c){let m=e(`${c}/filters`,4),p=e(`${c}/bias`,1);return{filters:m,bias:p}}function i(c){let m=a(`${c}/conv`),p=r(`${c}/bn`);return{conv:m,bn:p}}let s=Ot(e);return{extractConvParams:a,extractConvWithBatchNormParams:i,extractSeparableConvParams:s}}function co(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:a,extractSeparableConvParams:i}=Zo(o,e),s;if(t.withSeparableConvs){let c=t.filterSizes&&t.filterSizes.length||9;s={conv0:t.isFirstLayerConv2d?r("conv0"):i("conv0"),conv1:i("conv1"),conv2:i("conv2"),conv3:i("conv3"),conv4:i("conv4"),conv5:i("conv5"),conv6:c>7?i("conv6"):void 0,conv7:c>8?i("conv7"):void 0,conv8:r("conv8")}}else s={conv0:a("conv0"),conv1:a("conv1"),conv2:a("conv2"),conv3:a("conv3"),conv4:a("conv4"),conv5:a("conv5"),conv6:a("conv6"),conv7:a("conv7"),conv8:r("conv8")};return N(o,e),{params:s,paramMappings:e}}var q=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var Se=class Se extends I{constructor(t){super("TinyYolov2"),so(t),this._config=t}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(t,e){let r=et(t,e.conv0);return r=n.maxPool(r,[2,2],[2,2],"same"),r=et(r,e.conv1),r=n.maxPool(r,[2,2],[2,2],"same"),r=et(r,e.conv2),r=n.maxPool(r,[2,2],[2,2],"same"),r=et(r,e.conv3),r=n.maxPool(r,[2,2],[2,2],"same"),r=et(r,e.conv4),r=n.maxPool(r,[2,2],[2,2],"same"),r=et(r,e.conv5),r=n.maxPool(r,[2,2],[1,1],"same"),r=et(r,e.conv6),r=et(r,e.conv7),vt(r,e.conv8,"valid",!1)}runMobilenet(t,e){let r=this.config.isFirstLayerConv2d?Ut(vt(t,e.conv0,"valid",!1)):rt(t,e.conv0);return r=n.maxPool(r,[2,2],[2,2],"same"),r=rt(r,e.conv1),r=n.maxPool(r,[2,2],[2,2],"same"),r=rt(r,e.conv2),r=n.maxPool(r,[2,2],[2,2],"same"),r=rt(r,e.conv3),r=n.maxPool(r,[2,2],[2,2],"same"),r=rt(r,e.conv4),r=n.maxPool(r,[2,2],[2,2],"same"),r=rt(r,e.conv5),r=n.maxPool(r,[2,2],[1,1],"same"),r=e.conv6?rt(r,e.conv6):r,r=e.conv7?rt(r,e.conv7):r,vt(r,e.conv8,"valid",!1)}forwardInput(t,e){let{params:r}=this;if(!r)throw new Error("TinyYolov2 - load model before inference");return n.tidy(()=>{let a=n.cast(t.toBatchTensor(e,!1),"float32");return a=this.config.meanRgb?J(a,this.config.meanRgb):a,a=a.div(255),this.config.withSeparableConvs?this.runMobilenet(a,r):this.runTinyYolov2(a,r)})}async forward(t,e){return this.forwardInput(await F(t),e)}async detect(t,e={}){let{inputSize:r,scoreThreshold:a}=new q(e),i=await F(t),s=await this.forwardInput(i,r),c=n.tidy(()=>n.unstack(s)[0].expandDims()),m={width:i.getInputWidth(0),height:i.getInputHeight(0)},p=await this.extractBoxes(c,i.getReshapedInputDimensions(0),a);s.dispose(),c.dispose();let u=p.map(h=>h.box),f=p.map(h=>h.score),l=p.map(h=>h.classScore),d=p.map(h=>this.config.classes[h.label]);return br(u.map(h=>h.rescale(r)),f,this.config.iouThreshold,!0).map(h=>new It(f[h],l[h],d[h],u[h],m))}getDefaultModelName(){return""}extractParamsFromWeightMap(t){return co(t,this.config)}extractParams(t){let e=this.config.filterSizes||Se.DEFAULT_FILTER_SIZES,r=e?e.length:void 0;if(r!==7&&r!==8&&r!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${r} filterSizes in config`);return io(t,this.config,this.boxEncodingSize,e)}async extractBoxes(t,e,r){let{width:a,height:i}=e,s=Math.max(a,i),c=s/a,m=s/i,p=t.shape[1],u=this.config.anchors.length,[f,l,d]=n.tidy(()=>{let g=t.reshape([p,p,u,this.boxEncodingSize]),T=g.slice([0,0,0,0],[p,p,u,4]),x=g.slice([0,0,0,4],[p,p,u,1]),E=this.withClassScores?n.softmax(g.slice([0,0,0,5],[p,p,u,this.config.classes.length]),3):n.scalar(0);return[T,x,E]}),b=[],y=await l.array(),h=await f.array();for(let g=0;gr){let B=(T+fe(h[g][T][x][0]))/p*c,V=(g+fe(h[g][T][x][1]))/p*m,U=Math.exp(h[g][T][x][2])*this.config.anchors[x].x/p*c,O=Math.exp(h[g][T][x][3])*this.config.anchors[x].y/p*m,ot=B-U/2,nt=V-O/2,at={row:g,col:T,anchor:x},{classScore:Et,label:mr}=this.withClassScores?await this.extractPredictedClass(d,at):{classScore:1,label:0};b.push({box:new Ct(ot,nt,ot+U,nt+O),score:E,classScore:E*Et,label:mr,...at})}}return f.dispose(),l.dispose(),d.dispose(),b}async extractPredictedClass(t,e){let{row:r,col:a,anchor:i}=e,s=await t.array();return Array(this.config.classes.length).fill(0).map((c,m)=>s[r][a][i][m]).map((c,m)=>({classScore:c,label:m})).reduce((c,m)=>c.classScore>m.classScore?c:m)}};Se.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Xt=Se;var Jt=class extends Xt{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:to,classes:["face"],...t?{anchors:ro,meanRgb:oo}:{anchors:eo,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(a=>new D(a.score,a.relativeBox,{width:a.imageWidth,height:a.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?ao:no}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function cd(o,t=!0){let e=new Jt(t);return e.extractWeights(o),e}var Ae=class extends q{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var Y=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};async function _t(o,t,e,r,a=({alignedRect:i})=>i){let i=o.map(m=>Yt(m)?a(m):m.detection),s=r||(t instanceof n.Tensor?await oe(t,i):await re(t,i)),c=await e(s);return s.forEach(m=>m instanceof n.Tensor&&m.dispose()),c}async function qt(o,t,e,r,a){return _t([o],t,async i=>e(i[0]),r,a)}var mo=.4,po=[new v(1.603231,2.094468),new v(6.041143,7.080126),new v(2.882459,3.518061),new v(4.266906,5.178857),new v(9.041765,10.66308)],uo=[117.001,114.697,97.404];var Zt=class extends Xt{constructor(){let t={withSeparableConvs:!0,iouThreshold:mo,classes:["face"],anchors:po,meanRgb:uo,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(a=>new D(a.score,a.relativeBox,{width:a.imageWidth,height:a.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var P={ssdMobilenetv1:new Tt,tinyFaceDetector:new Zt,tinyYolov2:new Jt,faceLandmark68Net:new Gt,faceLandmark68TinyNet:new Ie,faceRecognitionNet:new jt,faceExpressionNet:new we,ageGenderNet:new Me},Ko=(o,t)=>P.ssdMobilenetv1.locateFaces(o,t),Rd=(o,t)=>P.tinyFaceDetector.locateFaces(o,t),$d=(o,t)=>P.tinyYolov2.locateFaces(o,t),Qo=o=>P.faceLandmark68Net.detectLandmarks(o),Od=o=>P.faceLandmark68TinyNet.detectLandmarks(o),Hd=o=>P.faceRecognitionNet.computeFaceDescriptor(o),zd=o=>P.faceExpressionNet.predictExpressions(o),Yd=o=>P.ageGenderNet.predictAgeAndGender(o),tn=o=>P.ssdMobilenetv1.load(o),Vd=o=>P.tinyFaceDetector.load(o),Gd=o=>P.tinyYolov2.load(o),jd=o=>P.faceLandmark68Net.load(o),Ud=o=>P.faceLandmark68TinyNet.load(o),Xd=o=>P.faceRecognitionNet.load(o),Jd=o=>P.faceExpressionNet.load(o),qd=o=>P.ageGenderNet.load(o),Zd=tn,Kd=Ko,Qd=Qo;var We=class extends Y{constructor(e,r,a){super();this.parentTask=e;this.input=r;this.extractedFaces=a}},Pt=class extends We{async run(){let t=await this.parentTask,e=await _t(t,this.input,async r=>Promise.all(r.map(a=>P.faceExpressionNet.predictExpressions(a))),this.extractedFaces);return t.map((r,a)=>tr(r,e[a]))}withAgeAndGender(){return new Ft(this,this.input)}},wt=class extends We{async run(){let t=await this.parentTask;if(!t)return;let e=await qt(t,this.input,r=>P.faceExpressionNet.predictExpressions(r),this.extractedFaces);return tr(t,e)}withAgeAndGender(){return new Dt(this,this.input)}},ct=class extends Pt{withAgeAndGender(){return new pt(this,this.input)}withFaceDescriptors(){return new ft(this,this.input)}},mt=class extends wt{withAgeAndGender(){return new ut(this,this.input)}withFaceDescriptor(){return new lt(this,this.input)}};var ke=class extends Y{constructor(e,r,a){super();this.parentTask=e;this.input=r;this.extractedFaces=a}},Ft=class extends ke{async run(){let t=await this.parentTask,e=await _t(t,this.input,async r=>Promise.all(r.map(a=>P.ageGenderNet.predictAgeAndGender(a))),this.extractedFaces);return t.map((r,a)=>{let{age:i,gender:s,genderProbability:c}=e[a];return sr(ir(r,s,c),i)})}withFaceExpressions(){return new Pt(this,this.input)}},Dt=class extends ke{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:a}=await qt(t,this.input,i=>P.ageGenderNet.predictAgeAndGender(i),this.extractedFaces);return sr(ir(t,r,a),e)}withFaceExpressions(){return new wt(this,this.input)}},pt=class extends Ft{withFaceExpressions(){return new ct(this,this.input)}withFaceDescriptors(){return new ft(this,this.input)}},ut=class extends Dt{withFaceExpressions(){return new mt(this,this.input)}withFaceDescriptor(){return new lt(this,this.input)}};var Be=class extends Y{constructor(e,r){super();this.parentTask=e;this.input=r}},ft=class extends Be{async run(){let t=await this.parentTask;return(await _t(t,this.input,r=>Promise.all(r.map(a=>P.faceRecognitionNet.computeFaceDescriptor(a))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,a)=>ar(t[a],r))}withFaceExpressions(){return new ct(this,this.input)}withAgeAndGender(){return new pt(this,this.input)}},lt=class extends Be{async run(){let t=await this.parentTask;if(!t)return;let e=await qt(t,this.input,r=>P.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return ar(t,e)}withFaceExpressions(){return new mt(this,this.input)}withAgeAndGender(){return new ut(this,this.input)}};var Re=class extends Y{constructor(e,r,a){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=a}get landmarkNet(){return this.useTinyLandmarkNet?P.faceLandmark68TinyNet:P.faceLandmark68Net}},$e=class extends Re{async run(){let t=await this.parentTask,e=t.map(s=>s.detection),r=this.input instanceof n.Tensor?await oe(this.input,e):await re(this.input,e),a=await Promise.all(r.map(s=>this.landmarkNet.detectLandmarks(s)));return r.forEach(s=>s instanceof n.Tensor&&s.dispose()),t.filter((s,c)=>a[c]).map((s,c)=>ie(s,a[c]))}withFaceExpressions(){return new ct(this,this.input)}withAgeAndGender(){return new pt(this,this.input)}withFaceDescriptors(){return new ft(this,this.input)}},Oe=class extends Re{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof n.Tensor?await oe(this.input,[e]):await re(this.input,[e]),a=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(i=>i instanceof n.Tensor&&i.dispose()),ie(t,a)}withFaceExpressions(){return new mt(this,this.input)}withAgeAndGender(){return new ut(this,this.input)}withFaceDescriptor(){return new lt(this,this.input)}};var He=class extends Y{constructor(e,r=new z){super();this.input=e;this.options=r}},me=class extends He{async run(){let{input:t,options:e}=this,r;if(e instanceof Ae)r=P.tinyFaceDetector.locateFaces(t,e);else if(e instanceof z)r=P.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof q)r=P.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(a=>St({},a)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new $e(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new Pt(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new Ft(this.runAndExtendWithFaceDetections(),this.input)}},ze=class extends He{async run(){let t=await new me(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?St({},e):void 0)})}withFaceLandmarks(t=!1){return new Oe(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new wt(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new Dt(this.runAndExtendWithFaceDetection(),this.input)}};function qh(o,t=new z){return new ze(o,t)}function cr(o,t=new z){return new me(o,t)}async function en(o,t){return cr(o,new z(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function rb(o,t={}){return cr(o,new q(t)).withFaceLandmarks().withFaceDescriptors()}var ob=en;function fo(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((a,i)=>a-r[i]).reduce((a,i)=>a+i*i,0))}var lo=class o{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let a=1,i=()=>`person ${a++}`;this._labeledDescriptors=r.map(s=>{if(s instanceof gt)return s;if(s instanceof Float32Array)return new gt(i(),[s]);if(s.descriptor&&s.descriptor instanceof Float32Array)return new gt(i(),[s.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>fo(r,t)).reduce((r,a)=>r+a,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new Kt(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>gt.fromJSON(r));return new o(e,t.distanceThreshold)}};function Tb(o){let t=new Zt;return t.extractWeights(o),t}function rn(o,t){let{width:e,height:r}=new A(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(a=>rn(a,{width:e,height:r}));if(Yt(o)){let a=o.detection.forSize(e,r),i=o.unshiftedLandmarks.forSize(a.box.width,a.box.height);return ie(St(o,a),i)}return Q(o)?St(o,o.detection.forSize(e,r)):o instanceof $||o instanceof D?o.forSize(e,r):o}var Lb=Ar;export{Me as AgeGenderNet,Ct as BoundingBox,C as Box,Y as ComposableTask,ft as ComputeAllFaceDescriptorsTask,Be as ComputeFaceDescriptorsTaskBase,lt as ComputeSingleFaceDescriptorTask,$e as DetectAllFaceLandmarksTask,me as DetectAllFacesTask,Re as DetectFaceLandmarksTaskBase,He as DetectFacesTaskBase,Oe as DetectSingleFaceLandmarksTask,ze as DetectSingleFaceTask,A as Dimensions,Nr as FACE_EXPRESSION_LABELS,D as FaceDetection,Qr as FaceDetectionNet,we as FaceExpressionNet,it as FaceExpressions,Gt as FaceLandmark68Net,Ie as FaceLandmark68TinyNet,zr as FaceLandmarkNet,$ as FaceLandmarks,xr as FaceLandmarks5,Lt as FaceLandmarks68,Kt as FaceMatch,lo as FaceMatcher,jt as FaceRecognitionNet,rr as Gender,Qt as LabeledBox,gt as LabeledFaceDescriptors,tt as NetInput,I as NeuralNetwork,It as ObjectDetection,v as Point,vr as PredictedBox,Nt as Rect,Tt as SsdMobilenetv1,z as SsdMobilenetv1Options,Zt as TinyFaceDetector,Ae as TinyFaceDetectorOptions,Jt as TinyYolov2,q as TinyYolov2Options,ob as allFaces,en as allFacesSsdMobilenetv1,rb as allFacesTinyYolov2,yr as awaitMediaLoaded,Tr as bufferToImage,Hd as computeFaceDescriptor,Bt as createCanvas,be as createCanvasFromMedia,gl as createFaceDetectionNet,gf as createFaceRecognitionNet,Jo as createSsdMobilenetv1,Tb as createTinyFaceDetector,cd as createTinyYolov2,cr as detectAllFaces,Qo as detectFaceLandmarks,Od as detectFaceLandmarksTiny,Qd as detectLandmarks,qh as detectSingleFace,Sr as draw,_ as env,fo as euclideanDistance,sr as extendWithAge,ar as extendWithFaceDescriptor,St as extendWithFaceDetection,tr as extendWithFaceExpressions,ie as extendWithFaceLandmarks,ir as extendWithGender,oe as extractFaceTensors,re as extractFaces,Fi as fetchImage,wr as fetchJson,Ii as fetchNetWeights,st as fetchOrThrow,ki as fetchVideo,W as getContext2dOrThrow,kt as getMediaDimensions,_r as imageTensorToCanvas,Pr as imageToSquare,On as inverseSigmoid,dr as iou,Qe as isMediaElement,he as isMediaLoaded,Tf as isWithAge,Q as isWithFaceDetection,Lr as isWithFaceExpressions,Yt as isWithFaceLandmarks,Ff as isWithGender,qd as loadAgeGenderModel,Zd as loadFaceDetectionModel,Jd as loadFaceExpressionModel,jd as loadFaceLandmarkModel,Ud as loadFaceLandmarkTinyModel,Xd as loadFaceRecognitionModel,tn as loadSsdMobilenetv1Model,Vd as loadTinyFaceDetectorModel,Gd as loadTinyYolov2Model,Dr as loadWeightMap,Kd as locateFaces,Yi as matchDimensions,hr as minBbox,P as nets,br as nonMaxSuppression,J as normalize,gr as padToSquare,Yd as predictAgeAndGender,zd as recognizeFaceExpressions,rn as resizeResults,At as resolveInput,Rn as shuffleArray,fe as sigmoid,Ko as ssdMobilenetv1,n as tf,Rd as tinyFaceDetector,$d as tinyYolov2,F as toNetInput,lr as utils,so as validateConfig,Lb as version}; diff --git a/dist/face-api.esm.js b/dist/face-api.esm.js index 046b4df..9e94df1 100644 --- a/dist/face-api.esm.js +++ b/dist/face-api.esm.js @@ -5006,5 +5006,5 @@ return a / b;`,Vse=` } `}};function Hle(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,segmentIds:s}=t,{numSegments:i}=a,o=r.shape.length,l=[],u=0,p=T.getAxesPermutation([u],o),d=r;p!=null&&(d=In({inputs:{x:r},backend:n,attrs:{perm:p}}),l.push(d),u=T.getInnerMostAxes(1,o)[0]);let c=T.segment_util.computeOutShape(d.shape,u,i),h=w.sizeFromShape([d.shape[u]]),m=ce({inputs:{x:d},backend:n,attrs:{shape:[-1,h]}});l.push(m);let f=Mm(r.dtype),g=(v,I,N,C,_)=>{let F=v.shape[0],D=v.shape[1],$=T.segment_util.segOpComputeOptimalWindowSize(D,_),S={windowSize:$,inSize:D,batchSize:F,numSegments:_},M=new Gle(S,I),B=n.compileAndRun(M,[v,N],C);if(l.push(B),B.shape[1]===_)return B;let U=rF({backend:n,attrs:{start:0,stop:_,step:1,dtype:"float32"}}),H=sF({inputs:{x:U},backend:n,attrs:{reps:[D/$]}});return l.push(U),l.push(H),g(B,I,H,C,_)},b=g(m,"unsortedSegmentSum",s,f,i),y=ce({inputs:{x:b},backend:n,attrs:{shape:c}}),x=y;if(p!=null){l.push(y);let v=T.getUndoAxesPermutation(p);x=In({inputs:{x},backend:n,attrs:{perm:v}})}return l.forEach(v=>n.disposeIntermediateTensorInfo(v)),x}var qle={kernelName:Qc,backendName:"webgl",kernelFunc:Hle},jle=[Aee,$ee,Mee,Lee,Wee,Uee,Hee,jee,Zee,Qee,nte,ste,lte,dte,fte,bte,xte,Ite,Nte,Cte,Fte,Lte,Wte,Gte,qte,Jte,ene,rne,hee,one,dne,gne,kne,Nne,Cne,_ne,Fne,Mne,Lne,Bne,Une,Hne,jne,Yne,Jne,nae,rae,oae,pae,dae,gae,vae,Sae,Cae,Aae,Fae,Dae,Mae,Pae,zae,Bae,Hae,Kae,Zae,Qae,nre,sre,ure,hre,dee,fre,pne,yre,wre,Sre,fee,Ere,$re,Rre,Lre,Bre,Hre,Kre,Jre,nse,sse,ose,cse,hse,fse,xse,wse,Ise,Nse,Cse,Fse,Mse,zse,jse,yee,Zse,eie,aie,iie,Kte,uie,cie,hie,gie,vie,bee,kie,Sie,Tie,Eie,_ie,Xte,Use,$ie,Oie,Wie,vee,Gie,jie,Zie,eoe,roe,ioe,uoe,doe,foe,yoe,woe,Soe,Eoe,Foe,Moe,Loe,Ote,Hse,Boe,Uoe,Hoe,joe,Xoe,Zoe,Qoe,tle,ale,ile,lle,ple,dle,fle,ble,xle,wle,Gse,Cee,Sle,Cle,_le,$le,Ole,zle,Eee,Ble,Ule,qle,pie];for(let e of jle)ed(e);var Qe;(function(e){e[e.float32=0]="float32",e[e.int32=1]="int32",e[e.bool=2]="bool",e[e.string=3]="string",e[e.complex64=4]="complex64"})(Qe||(Qe={}));var Ac;(function(e){e[e.linear=0]="linear",e[e.relu=1]="relu",e[e.relu6=2]="relu6",e[e.prelu=3]="prelu",e[e.leakyrelu=4]="leakyrelu",e[e.sigmoid=5]="sigmoid",e[e.elu=6]="elu"})(Ac||(Ac={}));var iF;function Kle(e){iF=e.wasm.cwrap(si,null,["number","array","number","number","array","number","number","number","number","number","number","number","number"])}function Xle(e){let{inputs:t,backend:n,attrs:a}=e,{a:r,b:s,bias:i,preluActivationWeights:o}=t;if(r.dtype!=="float32"||s.dtype!=="float32")throw new Error("_FusedMatMul for non non-float32 tensors not yet supported.");let{transposeA:l,transposeB:u,activation:p,leakyreluAlpha:d}=a,c=n.dataIdMap.get(r.dataId).id,h=n.dataIdMap.get(s.dataId).id,m=0;if(i!=null){let _=n.dataIdMap.get(i.dataId);if(_.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${_.shape.length}.`);m=_.id}let f=o==null?0:n.dataIdMap.get(o.dataId).id,g=Ac[p];if(g==null)throw new Error(`${p} activation not yet supported for FusedConv2D in the wasm backend.`);let b=l?r.shape[2]:r.shape[1],y=u?s.shape[1]:s.shape[2],x=Ju.assertAndGetBroadcastShape(r.shape.slice(0,-2),s.shape.slice(0,-2)),v=n.makeOutput([...x,b,y],r.dtype),I=n.dataIdMap.get(v.dataId).id,N=new Uint8Array(new Int32Array(r.shape).buffer),C=new Uint8Array(new Int32Array(s.shape).buffer);return iF(c,N,r.shape.length,h,C,s.shape.length,l,u,g,m,f,d||0,I),v}var Yle={kernelName:si,backendName:"wasm",setupFunc:Kle,kernelFunc:Xle};function Xe(e,t){let n;function a(s){n=s.wasm.cwrap(e,null,["number","number","number"])}function r(s){let{backend:i,inputs:{x:o}}=s,l=i.dataIdMap.get(o.dataId).id,u=i.makeOutput(o.shape,t||o.dtype),p=i.dataIdMap.get(u.dataId).id;return w.sizeFromShape(u.shape)===0||n(l,Qe[o.dtype],p),u}return{kernelName:e,backendName:"wasm",setupFunc:a,kernelFunc:r}}var Zle=Xe(Yl),Jle=Xe(Ni),Qle=Xe(Ti);function Ut(e,t,n){let a;function r(i){a=i.wasm.cwrap(e,null,["number","array","number","number","array","number","number","number"])}function s(i){let{backend:o,inputs:l}=i,{a:u,b:p}=l,d=o.dataIdMap.get(u.dataId).id,c=o.dataIdMap.get(p.dataId).id,h=n!=null?n:u.dtype,m=T.assertAndGetBroadcastShape(u.shape,p.shape),f=o.makeOutput(m,h);if(w.sizeFromShape(m)===0)return f;let g=new Uint8Array(new Int32Array(u.shape).buffer),b=new Uint8Array(new Int32Array(p.shape).buffer),y=o.dataIdMap.get(f.dataId).id;return a(d,g,u.shape.length,c,b,p.shape.length,Qe[u.dtype],y),f}return{kernelName:e,backendName:"wasm",setupFunc:r,kernelFunc:s}}var eue=!0,tue=Ut(xs,eue),oF;function nue(e){oF=e.wasm.cwrap(Ci,null,["array","number","number","number"])}function aue(e){let{inputs:t,backend:n}=e,a=n.makeOutput(t[0].shape,t[0].dtype);if(w.sizeFromShape(a.shape)===0)return a;let r=t.map(o=>n.dataIdMap.get(o.dataId).id),s=new Uint8Array(new Int32Array(r).buffer),i=n.dataIdMap.get(a.dataId).id;return oF(s,r.length,Qe[a.dtype],i),a}var rue={kernelName:Ci,backendName:"wasm",setupFunc:nue,kernelFunc:aue};function Uf(e){let{inputs:{x:t},backend:n}=e;if(t.dtype==="string")return bn(n.readSync(t.dataId),t.shape,t.dtype);let a=n.makeOutput(t.shape,t.dtype),r=n.typedArrayFromHeap(t);return n.typedArrayFromHeap(a).set(r),a}var sue={kernelName:eo,backendName:"wasm",kernelFunc:Uf},lF;function iue(e){lF=e.wasm.cwrap(Tr,null,["number","array","number","number","number","array","number"])}function bs(e){let{inputs:t,backend:n,attrs:a}=e,[r,s]=lue(t.x.shape,a.perm),i=!0;for(let m=0;m=r&&(s===-1||a[s]>a[i])&&(s=i);a[s]=r}return[n,a]}var uue={kernelName:Tr,backendName:"wasm",kernelFunc:bs,setupFunc:iue};function $s(e,t,n){let a=e.shape,r=e.shape.length,s=w.parseAxisParam(t,a),i=s,o=T.getAxesPermutation(i,r),l=null,u=!1;if(o!=null){let p=new Array(r);for(let c=0;c`new shape: ${i}, old shape: ${a.shape}. New shape and old shape must have the same number of elements.`),e.backend.incRef(a.dataId),{dataId:a.dataId,shape:i,dtype:a.dtype}}var Mue={kernelName:Ru,backendName:"wasm",kernelFunc:Ln},gF;function Oue(e){gF=e.wasm.cwrap(Ri,null,["number","array","number","number","array","number","number","number","number"])}function Pue(e){let{inputs:t,backend:n,attrs:a}=e,{a:r,b:s}=t,{transposeA:i,transposeB:o}=a;if(r.dtype!=="float32"||s.dtype!=="float32")throw new Error("BatchMatMul for non non-float32 tensors not yet supported.");let l=r.shape.length,u=s.shape.length,p=i?r.shape[l-2]:r.shape[l-1],d=o?s.shape[u-1]:s.shape[u-2],c=i?r.shape[l-1]:r.shape[l-2],h=o?s.shape[u-2]:s.shape[u-1],m=r.shape.slice(0,-2),f=s.shape.slice(0,-2),g=w.sizeFromShape(m),b=w.sizeFromShape(f),y=Ju.assertAndGetBroadcastShape(r.shape.slice(0,-2),s.shape.slice(0,-2)).concat([c,h]);w.assert(p===d,()=>`Error in matMul: inner shapes (${p}) and (${d}) of Tensors with shapes ${r.shape} and ${s.shape} and transposeA=${i} and transposeB=${o} must match.`);let x=i?[g,p,c]:[g,c,p],v=o?[b,h,d]:[b,d,h],I=Ln({inputs:{x:r},backend:n,attrs:{shape:x}}),N=Ln({inputs:{x:s},backend:n,attrs:{shape:v}}),C=n.dataIdMap.get(I.dataId).id,_=n.dataIdMap.get(N.dataId).id,F=i?I.shape[2]:I.shape[1],D=o?N.shape[1]:N.shape[2],$=Math.max(g,b),S=n.makeOutput([$,F,D],I.dtype),M=n.dataIdMap.get(S.dataId).id,B=new Uint8Array(new Int32Array(I.shape).buffer),U=new Uint8Array(new Int32Array(N.shape).buffer);return gF(C,B,I.shape.length,_,U,N.shape.length,i,o,M),n.disposeData(I.dataId),n.disposeData(N.dataId),S.shape=y,S}var Lue={kernelName:Ri,backendName:"wasm",setupFunc:Oue,kernelFunc:Pue};function Ii(e){let{inputs:{x:t},attrs:{begin:n,size:a},backend:r}=e,[s,i]=Kt.parseSliceParams(t,n,a),o=Kt.isSliceContinous(t.shape,s,i),l=r.readSync(t.dataId),u=r.makeOutput(i,t.dtype),p=w.computeStrides(t.shape),d=r.dataIdMap.get(u.dataId);if(o){let m=Kt.computeFlatOffset(s,p);return t.dtype==="string"?d.stringBytes=l.slice(m,m+w.sizeFromShape(i)):r.typedArrayFromHeap(u).set(l.subarray(m,m+w.sizeFromShape(i))),u}if(t.dtype==="string"){let m=um(l,s,i,t.shape,t.dtype);return d.stringBytes=m,u}let c=r.typedArrayFromHeap(u),h=t.shape.length;if(h===2)zue(l,p[0],c,s,i);else if(h===3)Wue(l,p[0],p[1],c,s,i);else if(h===4)Bue(l,p[0],p[1],p[2],c,s,i);else{let m=um(l,s,i,t.shape,t.dtype);c.set(m)}return u}function zue(e,t,n,a,r){let s=0,i=a[0],o=a[1],l=i+r[0];for(let u=i;ub*y),l=T.getReshaped(r.shape,s,o),u=T.getPermuted(l.length,s.length),p=T.getReshapedPermuted(r.shape,s,o),d=T.getSliceBeginCoords(i,s.length),c=T.getSliceSize(p,i,s.length),h=Ln({inputs:{x:r},backend:n,attrs:{shape:l}}),m=bs({inputs:{x:h},backend:n,attrs:{perm:u}}),f=Ln({inputs:{x:m},backend:n,attrs:{shape:p}}),g=Ii({inputs:{x:f},backend:n,attrs:{begin:d,size:c}});return n.disposeData(h.dataId),n.disposeData(m.dataId),n.disposeData(f.dataId),g}var Gue={kernelName:nu,backendName:"wasm",kernelFunc:Uue},bF;function Hue(e){bF=e.wasm.cwrap(au,null,["number","number","boolean","number","number","number"])}function que(e){let{backend:t,inputs:n,attrs:a}=e,{x:r,weights:s}=n,{size:i}=a,o=s.shape.reduce((d,c)=>d*c,1)!==0,l=r.shape.length===1?[i]:[r.shape[0],i],u=t.makeOutput(l,s.dtype);function p(d){return t.dataIdMap.get(d.dataId).id}return bF(p(r),i,o,p(s),Qe[s.dtype],p(u)),u}var jue={kernelName:au,backendName:"wasm",setupFunc:Hue,kernelFunc:que},Kue=!0,Xue=Ut(ru,Kue);function Yue(e){let{inputs:t,backend:n}=e,{s0:a,s1:r}=t,s=n.typedArrayFromHeap(a),i=n.typedArrayFromHeap(r),o=T.assertAndGetBroadcastShape(Array.from(s),Array.from(i));return n.makeOutput([o.length],"int32",void 0,new Int32Array(o))}var Zue={kernelName:Mc,backendName:"wasm",kernelFunc:Yue};function Ds(e){let{inputs:{x:t},attrs:{dtype:n},backend:a}=e,r=a.makeOutput(t.shape,n),s=a.typedArrayFromHeap(t);return a.typedArrayFromHeap(r).set(s),r}var Jue={kernelName:Mi,backendName:"wasm",kernelFunc:Ds},Que=Xe(Oi),yF;function epe(e){yF=e.wasm.cwrap(vs,null,["number","number","number","number"])}function tpe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{clipValueMin:s,clipValueMax:i}=a,o=n.dataIdMap.get(r.dataId).id,l=n.makeOutput(r.shape,r.dtype),u=n.dataIdMap.get(l.dataId).id;return yF(o,s,i,u),l}var npe={kernelName:vs,backendName:"wasm",setupFunc:epe,kernelFunc:tpe};function xF(e){let{inputs:t,backend:n}=e,a=w.parseAxisParam(e.attrs.axis,t[0].shape)[0],r=t.map(h=>h.shape);T.assertParamsConsistent(r,a);let s=T.computeOutShape(t.map(h=>h.shape),a),i=t.filter(h=>w.sizeFromShape(h.shape)>0);if(i.length===1)return Uf({inputs:{x:i[0]},backend:n});let o=n.makeOutput(s,t[0].dtype);if(w.sizeFromShape(s)===0)return o;if(i[0].dtype==="string"){let h=i.map(x=>{let v=[-1,w.sizeFromShape(x.shape.slice(a))];return Ln({inputs:{x},backend:n,attrs:{shape:v}})}),m=h.map(x=>({vals:n.readSync(x.dataId),shape:x.shape}));s=T.computeOutShape(h.map(x=>x.shape),1);let f=h[0].shape[0]===1,g=L1(m,s,t[0].dtype,f),b=T.computeOutShape(i.map(x=>x.shape),a);o.shape=b;let y=n.dataIdMap.get(o.dataId);return y.stringBytes=T.fromStringArrayToUint8(g),h.forEach(x=>n.disposeData(x.dataId)),o}let l=w.sizeFromShape(i[0].shape.slice(0,a)),u=0,p=i.map(h=>{let m=w.sizeFromShape(h.shape.slice(a));return u+=m,m}),d=i.map(h=>n.typedArrayFromHeap(h)),c=n.typedArrayFromHeap(o);for(let h=0;h`cumprod does not support ${r.dtype} tensors in the WASM backend`);let u=T.getAxesPermutation([s],l),p=r;u!==null&&(p=bs({inputs:{x:r},attrs:{perm:u},backend:n}));let d=T.getInnerMostAxes(1,l)[0];T.assertAxesAreInnerMostDims("cumprod",[d],l);let c=n.makeOutput(p.shape,p.dtype),h=p.shape[d],m=n.dataIdMap.get(p.dataId).id,f=n.dataIdMap.get(c.dataId).id;TF(m,i?1:0,o?1:0,h,f,Qe[r.dtype]);let g=c;if(u!==null){let b=T.getUndoAxesPermutation(u);g=bs({inputs:{x:c},attrs:{perm:b},backend:n}),n.disposeData(p.dataId),n.disposeData(c.dataId)}return g}var Tpe={kernelName:lu,backendName:"wasm",setupFunc:Spe,kernelFunc:Npe},CF;function Cpe(e){CF=e.wasm.cwrap(Vi,null,["number","number","number","number","number","number"])}function Epe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{axis:s,exclusive:i,reverse:o}=a,l=r.shape.length;w.assert(r.dtype==="float32"||r.dtype==="int32",()=>`cumsum does not support ${r.dtype} tensors in the WASM backend`);let u=T.getAxesPermutation([s],l),p=r;u!==null&&(p=bs({inputs:{x:r},attrs:{perm:u},backend:n}));let d=T.getInnerMostAxes(1,l)[0];T.assertAxesAreInnerMostDims("cumsum",[d],l);let c=n.makeOutput(p.shape,p.dtype),h=p.shape[d],m=n.dataIdMap.get(p.dataId).id,f=n.dataIdMap.get(c.dataId).id;CF(m,i?1:0,o?1:0,h,f,Qe[r.dtype]);let g=c;if(u!==null){let b=T.getUndoAxesPermutation(u);g=bs({inputs:{x:c},attrs:{perm:b},backend:n}),n.disposeData(p.dataId),n.disposeData(c.dataId)}return g}var _pe={kernelName:Vi,backendName:"wasm",setupFunc:Cpe,kernelFunc:Epe},EF;function Ape(e){EF=e.wasm.cwrap("DenseBincount",null,["number","array","number","number","boolean","number","number","boolean","number"])}function Fpe(e){let{backend:t,inputs:n,attrs:a}=e,{x:r,weights:s}=n,{size:i,binaryOutput:o}=a,l=s.shape.reduce((c,h)=>c*h,1)!==0,u=r.shape.length===1?[i]:[r.shape[0],i],p=t.makeOutput(u,s.dtype);function d(c){return t.dataIdMap.get(c.dataId).id}return EF(d(r),new Uint8Array(new Int32Array(r.shape).buffer),r.shape.length,i,l,d(s),Qe[s.dtype],o,d(p)),p}var $pe={kernelName:Pc,backendName:"wasm",setupFunc:Ape,kernelFunc:Fpe},_F;function Dpe(e){_F=e.wasm.cwrap(pu,null,["number","number","number","array","number","array","array","number","number"])}function Rpe(e){let{backend:t,inputs:n,attrs:a}=e,{x:r}=n,{blockSize:s,dataFormat:i}=a,o=r.shape[0],l=i==="NHWC"?r.shape[1]:r.shape[2],u=i==="NHWC"?r.shape[2]:r.shape[3],p=i==="NHWC"?r.shape[3]:r.shape[1],d=l*s,c=u*s,h=p/(s*s),m=i==="NHWC"?[o,d,c,h]:[o,h,d,c],f=t.makeOutput(m,"float32"),g=t.dataIdMap.get(r.dataId).id,b=new Uint8Array(new Int32Array(w.computeStrides(r.shape)).buffer),y=new Uint8Array(new Int32Array(m).buffer),x=new Uint8Array(new Int32Array(w.computeStrides(m)).buffer),v=t.dataIdMap.get(f.dataId).id;return _F(g,s,i==="NHWC"?1:0,b,r.shape.length-1,y,x,m.length,v),f}var Mpe={kernelName:pu,backendName:"wasm",setupFunc:Dpe,kernelFunc:Rpe},AF;function Ope(e){AF=e.wasm.cwrap(Ui,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Ppe(e){let{inputs:t,attrs:n,backend:a}=e,{x:r,filter:s}=t,i=a.dataIdMap.get(r.dataId).id,o=a.dataIdMap.get(s.dataId).id,{strides:l,dilations:u,pad:p,dimRoundingMode:d}=n,c=u==null?[1,1]:u,h=T.computeConv2DInfo(r.shape,s.shape,l,c,p,d,!0),m=h.filterHeight,f=h.filterWidth,g=h.padInfo.top,b=h.padInfo.right,y=h.padInfo.bottom,x=h.padInfo.left,v=h.dilationHeight,I=h.dilationWidth,N=h.strideHeight,C=h.strideWidth,_=h.inChannels,F=h.outChannels,D=h.padInfo.type==="SAME"?1:0;if(h.dataFormat!=="channelsLast")throw new Error(`wasm backend DepthwiseConv2dNative does not support dataFormat:'${h.dataFormat}'. Please use 'channelsLast'.`);let $=a.makeOutput(h.outShape,"float32"),S=a.dataIdMap.get($.dataId).id;return AF(i,r.shape[0],r.shape[1],r.shape[2],o,m,f,g,b,y,x,D,v,I,N,C,_,F,S),$}var Lpe={kernelName:Ui,backendName:"wasm",setupFunc:Ope,kernelFunc:Ppe},FF;function zpe(e){FF=e.wasm.cwrap("Diag",null,["number","number","number","number"])}function Wpe(e){let{inputs:t,backend:n}=e,{x:a}=t,r=w.sizeFromShape(a.shape),s=n.makeOutput([...a.shape,...a.shape],a.dtype);return FF(n.dataIdMap.get(a.dataId).id,Qe[a.dtype],r,n.dataIdMap.get(s.dataId).id),s}var Bpe={kernelName:Lc,backendName:"wasm",setupFunc:zpe,kernelFunc:Wpe},$F;function Vpe(e){$F=e.wasm.cwrap(Gi,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Upe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,filter:s}=t,{strides:i,pad:o,dilations:l}=a;if(r.dtype!==s.dtype)throw new Error(`Dilation2D error: x must have the same dtype as filter. Got ${r.dtype} and ${s.dtype}`);let u=T.computeDilation2DInfo(r.shape,s.shape,i,o,"NHWC",l),p=n.makeOutput(u.outShape,r.dtype);return $F(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(p.dataId).id,Qe[r.dtype],u.batchSize,u.inChannels,u.inHeight,u.inWidth,u.outHeight,u.outWidth,u.strideHeight,u.strideWidth,u.dilationHeight,u.dilationWidth,u.filterHeight,u.filterWidth,u.padInfo.top,u.padInfo.left),p}var Gpe={kernelName:Gi,backendName:"wasm",setupFunc:Vpe,kernelFunc:Upe},DF;function Hpe(e){DF=e.wasm.cwrap(Rl,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function qpe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,filter:s,dy:i}=t,{strides:o,pad:l,dilations:u}=a;if(r.dtype!==s.dtype||r.dtype!==i.dtype)throw new Error(`Dilation2DBackpropFilter error: x must have the same dtype as filter and dy. Got ${r.dtype}, ${s.dtype}, and ${i.dtype}`);let p=T.computeDilation2DInfo(r.shape,s.shape,o,l,"NHWC",u),d=n.makeOutput(s.shape,s.dtype);return DF(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(d.dataId).id,Qe[r.dtype],p.batchSize,p.inChannels,p.inHeight,p.inWidth,p.outHeight,p.outWidth,p.strideHeight,p.strideWidth,p.dilationHeight,p.dilationWidth,p.filterHeight,p.filterWidth,p.padInfo.top,p.padInfo.left),d}var jpe={kernelName:Rl,backendName:"wasm",setupFunc:Hpe,kernelFunc:qpe},RF;function Kpe(e){RF=e.wasm.cwrap(Dl,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Xpe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,filter:s,dy:i}=t,{strides:o,pad:l,dilations:u}=a;if(r.dtype!==s.dtype||r.dtype!==i.dtype)throw new Error(`Dilation2DBackpropInput error: x must have the same dtype as filter and dy. Got ${r.dtype}, ${s.dtype}, and ${i.dtype}`);let p=T.computeDilation2DInfo(r.shape,s.shape,o,l,"NHWC",u),d=n.makeOutput(r.shape,r.dtype);return RF(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(d.dataId).id,Qe[r.dtype],p.batchSize,p.inChannels,p.inHeight,p.inWidth,p.outHeight,p.outWidth,p.strideHeight,p.strideWidth,p.dilationHeight,p.dilationWidth,p.filterHeight,p.filterWidth,p.padInfo.top,p.padInfo.left),d}var Ype={kernelName:Dl,backendName:"wasm",setupFunc:Kpe,kernelFunc:Xpe},Zpe=Xe(qi),MF;function Jpe(e){MF=e.wasm.cwrap(cu,null,["number","number","number"])}function Qpe(e){let{inputs:t,backend:n}=e,{dy:a,y:r}=t,s=n.makeOutput(r.shape,"float32"),i=o=>n.dataIdMap.get(o.dataId).id;return MF(i(r),i(a),i(s)),s}var ece={kernelName:cu,backendName:"wasm",setupFunc:Jpe,kernelFunc:Qpe},tce=!1,nce=Ut(du,tce,"bool"),ace=Xe(ji),rce=Xe(Ki,"float32");function bv(e){let{inputs:t,attrs:n,backend:a}=e,{input:r}=t,{dim:s}=n,i=r.shape.length,o=r.shape.slice(),l=s;return s<0&&(w.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),l=i+s+1),o.splice(l,0,1),Ln({inputs:{x:r},backend:a,attrs:{shape:o}})}var sce={kernelName:hu,backendName:"wasm",kernelFunc:bv},ice=Xe(Xi,"float32");function OF(e){let{attrs:{shape:t,value:n},backend:a}=e,{attrs:{dtype:r}}=e;r=r||w.inferDtype(n);let s=a.makeOutput(t,r);return a.typedArrayFromHeap(s).fill(n),s}var oce={kernelName:zc,backendName:"wasm",kernelFunc:OF},PF;function lce(e){PF=e.wasm.cwrap(mu,null,["number","number","number","number","number","number"])}function uce(e){let{inputs:t,backend:n}=e,{image:a}=t,r=n.makeOutput(a.shape,a.dtype),s=n.dataIdMap.get(a.dataId).id,i=n.dataIdMap.get(r.dataId).id,[o,l,u,p]=a.shape;return PF(s,o,l,u,p,i),r}var pce={kernelName:mu,backendName:"wasm",kernelFunc:uce,setupFunc:lce},cce=Xe(Yi),dce=!1,hce=Ut(Zi,dce),LF;function mce(e){LF=e.wasm.cwrap(Ji,null,["number","number","number","number","number","number","number"])}function fce(e){let{backend:t,inputs:n,attrs:a}=e,{varianceEpsilon:r}=a,{x:s,mean:i,variance:o,offset:l,scale:u}=n,p=t.dataIdMap.get(s.dataId).id,d=t.dataIdMap.get(i.dataId).id,c=t.dataIdMap.get(o.dataId).id,h=l!=null?t.dataIdMap.get(l.dataId).id:0,m=u!=null?t.dataIdMap.get(u.dataId).id:0,f=t.makeOutput(s.shape,s.dtype);if(w.sizeFromShape(s.shape)===0)return f;let g=t.dataIdMap.get(f.dataId).id;return LF(p,d,c,h,m,r,g),f}var gce={kernelName:Ji,backendName:"wasm",setupFunc:mce,kernelFunc:fce},zF;function bce(e){zF=e.wasm.cwrap(ii,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function yce(e){let{inputs:t,attrs:n,backend:a}=e,{x:r,filter:s,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dilations:p,dataFormat:d,dimRoundingMode:c,activation:h,leakyreluAlpha:m}=n,f=T.computeConv2DInfo(r.shape,s.shape,l,p,u,c),g=Ac[h];if(g==null)throw new Error(`${h} activation not yet supported for FusedConv2D in the wasm backend.`);let b=a.dataIdMap.get(r.dataId).id,y=a.dataIdMap.get(s.dataId).id,x=f.outChannels,v=0;if(i!=null){let te=a.dataIdMap.get(i.dataId);if(te.shape.length!==1)throw new Error(`FusedConv2D only supports rank-1 bias but got rank ${te.shape.length}.`);if(te.shape[0]!==x)throw new Error(`FusedConv2D bias shape (${te.shape}) does not match the number of output channels (${x})`);v=te.id}let I=f.filterHeight,N=f.filterWidth,C=f.padInfo.top,_=f.padInfo.right,F=f.padInfo.bottom,D=f.padInfo.left,$=f.dilationHeight,S=f.dilationWidth,M=f.strideHeight,B=f.strideWidth,U=f.inChannels,H=f.padInfo.type==="SAME"?1:0,j=f.batchSize,K=f.inHeight,Z=f.inWidth;if(d!=="NHWC")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${d}'. Please use 'NHWC'.`);let J=a.makeOutput(f.outShape,"float32"),ee=a.dataIdMap.get(J.dataId).id,ae=o==null?0:a.dataIdMap.get(o.dataId).id;return zF(b,j,K,Z,y,I,N,v,C,_,F,D,H,$,S,M,B,U,x,g,ae,m||0,ee),J}var xce={kernelName:ii,backendName:"wasm",setupFunc:bce,kernelFunc:yce},WF;function vce(e){WF=e.wasm.cwrap(oi,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function wce(e){let{inputs:t,attrs:n,backend:a}=e,{x:r,filter:s,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dilations:p,dataFormat:d,dimRoundingMode:c,activation:h,leakyreluAlpha:m}=n,f=T.computeConv2DInfo(r.shape,s.shape,l,p,u,c,!0),g=Ac[h];if(g==null)throw new Error(`${h} activation not yet supported for FusedDepthwiseConv2D in the wasm backend.`);let b=a.dataIdMap.get(r.dataId).id,y=a.dataIdMap.get(s.dataId).id,x=f.outChannels,v=0;if(i!=null){let te=a.dataIdMap.get(i.dataId);if(te.shape.length!==1)throw new Error(`FusedDepthwiseConv2D only supports rank-1 bias but got rank ${te.shape.length}.`);if(te.shape[0]!==x)throw new Error(`FusedDepthwiseConv2D bias shape (${te.shape}) does not match the number of output channels (${x})`);v=te.id}let I=f.filterHeight,N=f.filterWidth,C=f.padInfo.top,_=f.padInfo.right,F=f.padInfo.bottom,D=f.padInfo.left,$=f.dilationHeight,S=f.dilationWidth,M=f.strideHeight,B=f.strideWidth,U=f.inChannels,H=f.padInfo.type==="SAME"?1:0,j=f.batchSize,K=f.inHeight,Z=f.inWidth;if(d!=="NHWC")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${d}'. Please use 'NHWC'.`);let J=a.makeOutput(f.outShape,"float32"),ee=a.dataIdMap.get(J.dataId).id,ae=o==null?0:a.dataIdMap.get(o.dataId).id;return WF(b,j,K,Z,y,I,N,v,C,_,F,D,H,$,S,M,B,U,x,g,ae,m||0,ee),J}var kce={kernelName:oi,backendName:"wasm",setupFunc:vce,kernelFunc:wce},BF;function Ice(e){BF=e.wasm.cwrap(gu,null,["number","number","number","number","number","number","array","number"])}function Sce(e){let{backend:t,inputs:n}=e,{params:a,indices:r}=n,[s,i,o,l]=Yw.prepareAndValidate(a,r),u=t.makeOutput(s,a.dtype);if(i===0)return u;let p=r.shape,d=p[p.length-1],c=t.dataIdMap.get(a.dataId).id,h=t.dataIdMap.get(r.dataId).id,m=new Uint8Array(new Int32Array(l).buffer),f=t.dataIdMap.get(u.dataId).id;return BF(c,Qe[a.dtype],h,i,d,o,m,f),u}var Nce={kernelName:gu,backendName:"wasm",setupFunc:Ice,kernelFunc:Sce},VF;function Tce(e){VF=e.wasm.cwrap("Gather",null,["number","number","array","number","number","number","array","number"])}function Cce(e){let{backend:t,inputs:n,attrs:a}=e,{x:r,indices:s}=n,{axis:i,batchDims:o}=a,l=w.parseAxisParam(i,r.shape)[0],u=t.readSync(s.dataId),p=r.shape[l];for(let C=0;C=0,()=>`GatherV2: the index value ${_} is not in [0, ${p-1}]`)}let d=T.segment_util.collectGatherOpShapeInfo(r,s,l,o),c=Ln({inputs:{x:r},attrs:{shape:[d.batchSize,d.outerSize,d.dimSize,d.sliceSize]},backend:t}),h=w.sizeFromShape(s.shape),m=Ln({inputs:{x:s},attrs:{shape:[d.batchSize,h/d.batchSize]},backend:t}),f=[d.batchSize,d.outerSize,h/d.batchSize,d.sliceSize],g=t.makeOutput(f,r.dtype);if(w.sizeFromShape(r.shape)===0)return g;let b=c.shape.length-1,y=t.dataIdMap.get(c.dataId).id,x=t.dataIdMap.get(m.dataId).id,v=t.dataIdMap.get(g.dataId).id,I=new Uint8Array(new Int32Array(w.computeStrides(c.shape)).buffer),N=new Uint8Array(new Int32Array(w.computeStrides(f)).buffer);return VF(y,Qe[r.dtype],I,b,x,d.batchSize,N,v),t.disposeData(c.dataId),t.disposeData(m.dataId),g.shape=d.outputShape,g}var Ece={kernelName:fu,backendName:"wasm",setupFunc:Tce,kernelFunc:Cce},_ce=!1,Ace=Ut(bu,_ce,"bool"),Fce=!1,$ce=Ut(Qi,Fce,"bool"),Dce=Xe(to,"bool"),Rce=Xe(no,"bool"),Mce=Xe(ao,"bool"),UF;function Oce(e){UF=e.wasm.cwrap(ro,null,["number","number","number","number"])}function Pce(e){let{inputs:{x:t},attrs:{alpha:n},backend:a}=e,r=a.dataIdMap.get(t.dataId).id,s=a.makeOutput(t.shape,"float32");if(w.sizeFromShape(t.shape)!==0){let i=a.dataIdMap.get(s.dataId).id;UF(r,Qe[t.dtype],n,i)}return s}var Lce={kernelName:ro,backendName:"wasm",setupFunc:Oce,kernelFunc:Pce},zce=!1,Wce=Ut(yu,zce,"bool"),Bce=!1,Vce=Ut(xu,Bce,"bool"),GF;function Uce(e){GF=e.wasm.cwrap(vu,null,["number","number","number","number"])}function Gce(e){let{attrs:t,backend:n}=e,{start:a,stop:r,num:s}=t,i=Math.floor(s),o=n.makeOutput([i],"float32");return GF(n.dataIdMap.get(o.dataId).id,a,r,i),o}var Hce={kernelName:vu,backendName:"wasm",setupFunc:Uce,kernelFunc:Gce},qce=Xe(so),jce=Xe(io),Kce=!1,Xce=Ut(wu,Kce,"bool"),Yce=Xe(ku),Zce=!1,Jce=Ut(Iu,Zce,"bool"),Qce=!1,ede=Ut(qS,Qce,"bool"),HF;function tde(e){HF=e.wasm.cwrap(oo,null,["number","number","number","number","number","number","number"])}function nde(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{depthRadius:s,bias:i,alpha:o,beta:l}=a;if(r.dtype!=="float32")throw new Error("LRN error: x must have dtype float32");let u=n.makeOutput(r.shape,r.dtype);return HF(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(u.dataId).id,r.shape[3],s,i,o,l),u}var ade={kernelName:oo,backendName:"wasm",setupFunc:tde,kernelFunc:nde},qF;function rde(e){qF=e.wasm.cwrap(Su,null,["number","number","number","number","number","number","number","number","number"])}function sde(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,y:s,dy:i}=t,{depthRadius:o,bias:l,alpha:u,beta:p}=a;if(r.dtype!=="float32"||s.dtype!=="float32"||i.dtype!=="float32")throw new Error("LRNGrad error: x, y, and dy must have dtype float32");let d=n.makeOutput(r.shape,r.dtype);return qF(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(d.dataId).id,i.shape[3],o,l,u,p),d}var ide={kernelName:Su,backendName:"wasm",setupFunc:rde,kernelFunc:sde},jF;function ode(e){jF=e.wasm.cwrap(lo,null,["number","number","number","number"])}function lde(e){let{backend:t,inputs:n,attrs:a}=e,{reductionIndices:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=i,{transposed:u,axes:p,originalAxes:d,inputWasTransposed:c}=$s(i,r,t);if(c){let y=t.dataIdMap.get(u.dataId).id;l=u,o=y}let h=l.shape.length;T.assertAxesAreInnerMostDims("max",p,h);let[m,f]=T.computeOutAndReduceShapes(l.shape,p),g=w.sizeFromShape(f),b=t.makeOutput(m,i.dtype);if(w.sizeFromShape(l.shape)!==0){let y=t.dataIdMap.get(b.dataId).id;jF(o,Qe[i.dtype],g,y)}if(c&&t.disposeData(u.dataId),s){let y=T.expandShapeToKeepDim(b.shape,d);b.shape=y}return b}var ude={kernelName:lo,backendName:"wasm",setupFunc:ode,kernelFunc:lde},pde=!1,cde=Ut(uo,pde),KF;function dde(e){KF=e.wasm.cwrap(po,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function hde(e){let{inputs:t,attrs:n,backend:a}=e,r=t.x,s=a.dataIdMap.get(r.dataId).id;w.assert(r.dtype==="float32",()=>`Error in MaxPool: only float32 input is supported. Got ${r.dtype}.`);let{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=n,p=T.computePool2DInfo(r.shape,i,o,1,l,u),d=p.filterHeight,c=p.filterWidth,h=p.padInfo.top,m=p.padInfo.right,f=p.padInfo.bottom,g=p.padInfo.left,b=p.dilationHeight,y=p.dilationWidth,x=p.strideHeight,v=p.strideWidth,I=p.inChannels,N=p.outChannels;if(p.dataFormat!=="channelsLast")throw new Error(`wasm backend does not support dataFormat:'${p.dataFormat}'. Please use 'channelsLast'.`);let C=a.makeOutput(p.outShape,"float32"),_=a.dataIdMap.get(C.dataId).id;return KF(s,r.shape[0],r.shape[1],r.shape[2],d,c,h,m,f,g,b,y,x,v,I,N,_),C}var mde={kernelName:po,backendName:"wasm",setupFunc:dde,kernelFunc:hde},XF;function fde(e){XF=e.wasm.cwrap("MaxPool3D",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function gde(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{filterSize:s,strides:i,pad:o,dimRoundingMode:l,dataFormat:u}=a,p=T.computePool3DInfo(r.shape,s,i,1,o,l,u),d=n.makeOutput(p.outShape,r.dtype);return XF(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(d.dataId).id,p.batchSize,p.inChannels,p.inDepth,p.inHeight,p.inWidth,p.outDepth,p.outHeight,p.outWidth,p.strideDepth,p.strideHeight,p.strideWidth,p.dilationDepth,p.dilationHeight,p.dilationWidth,p.effectiveFilterDepth,p.effectiveFilterHeight,p.effectiveFilterWidth,p.padInfo.front,p.padInfo.top,p.padInfo.left),d}var bde={kernelName:Nu,backendName:"wasm",setupFunc:fde,kernelFunc:gde},YF;function yde(e){YF=e.wasm.cwrap("MaxPool3DGrad",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function xde(e){let{inputs:t,backend:n,attrs:a}=e,{dy:r,input:s}=t,{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=a,p=T.computePool3DInfo(s.shape,i,o,1,l,u),d=n.makeOutput(s.shape,s.dtype);return YF(n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(d.dataId).id,p.batchSize,p.inChannels,p.inDepth,p.inHeight,p.inWidth,p.outDepth,p.outHeight,p.outWidth,p.strideDepth,p.strideHeight,p.strideWidth,p.dilationDepth,p.dilationHeight,p.dilationWidth,p.effectiveFilterDepth,p.effectiveFilterHeight,p.effectiveFilterWidth,p.padInfo.front,p.padInfo.top,p.padInfo.left),d}var vde={kernelName:Bc,backendName:"wasm",setupFunc:yde,kernelFunc:xde},ZF;function wde(e){ZF=e.wasm.cwrap("MaxPoolGrad",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function kde(e){let{inputs:t,backend:n,attrs:a}=e,{dy:r,input:s}=t,{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=a,p=T.computePool2DInfo(s.shape,i,o,1,l,u),d=n.makeOutput(s.shape,s.dtype);return ZF(n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(d.dataId).id,p.batchSize,p.inChannels,p.inHeight,p.inWidth,p.outHeight,p.outWidth,p.strideHeight,p.strideWidth,p.dilationHeight,p.dilationWidth,p.effectiveFilterHeight,p.effectiveFilterWidth,p.padInfo.top,p.padInfo.left),d}var Ide={kernelName:Wc,backendName:"wasm",setupFunc:wde,kernelFunc:kde},JF;function Sde(e){JF=e.wasm.cwrap("MaxPoolWithArgmax",null,["number","number","number","number","boolean","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Nde(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{filterSize:s,strides:i,pad:o,includeBatchInIndex:l}=a;w.assert(r.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${r.shape.length}.`);let u=[1,1];w.assert(T.eitherStridesOrDilationsAreOne(i,u),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${u}'`);let p=T.computePool2DInfo(r.shape,s,i,[1,1],o),d=n.makeOutput(p.outShape,r.dtype),c=n.makeOutput(p.outShape,"int32");return JF(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(d.dataId).id,n.dataIdMap.get(c.dataId).id,Qe[r.dtype],l,p.batchSize,p.inChannels,p.inHeight,p.inWidth,p.outHeight,p.outWidth,p.strideHeight,p.strideWidth,p.dilationHeight,p.dilationWidth,p.effectiveFilterHeight,p.effectiveFilterWidth,p.padInfo.top,p.padInfo.left),[d,c]}var Tde={kernelName:Vc,backendName:"wasm",setupFunc:Sde,kernelFunc:Nde},QF;function Cde(e){QF=e.wasm.cwrap(co,null,["number, number, number"])}function Ede(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=$s(i,r,t),m=d;if(h){let v=t.dataIdMap.get(p.dataId).id;v!==o&&(u=p,l=v,m=T.getInnerMostAxes(m.length,u.shape.length))}T.assertAxesAreInnerMostDims("mean",m,u.shape.length);let[f,g]=T.computeOutAndReduceShapes(u.shape,m),b=w.sizeFromShape(g),y=u;u.dtype!=="float32"&&(y=Ds({backend:t,inputs:{x:u},attrs:{dtype:"float32"}}),l=t.dataIdMap.get(y.dataId).id);let x=t.makeOutput(f,"float32");if(w.sizeFromShape(u.shape)!==0){let v=t.dataIdMap.get(x.dataId).id;QF(l,b,v)}if(h&&t.disposeData(p.dataId),s){let v=T.expandShapeToKeepDim(x.shape,c);x.shape=v}return u.dtype!=="float32"&&t.disposeData(y.dataId),x}var _de={kernelName:co,backendName:"wasm",setupFunc:Cde,kernelFunc:Ede},e$;function Ade(e){e$=e.wasm.cwrap(ho,null,["number","number","number","number"])}function Fde(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=$s(i,r,t);if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x)}let m=u.shape.length;T.assertAxesAreInnerMostDims("min",d,m);let[f,g]=T.computeOutAndReduceShapes(u.shape,d),b=w.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(w.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;e$(l,Qe[i.dtype],b,x)}if(h&&t.disposeData(p.dataId),s){let x=T.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var $de={kernelName:ho,backendName:"wasm",setupFunc:Ade,kernelFunc:Fde},Dde=!1,Rde=Ut(mo,Dde),yv;(function(e){e[e.reflect=0]="reflect",e[e.symmetric=1]="symmetric"})(yv||(yv={}));var t$;function Mde(e){t$=e.wasm.cwrap(fo,null,["number","array","number","number","array","array","number","number"])}function Ode(e){let{inputs:{x:t},backend:n,attrs:{paddings:a,mode:r}}=e,s=a.map((m,f)=>m[0]+t.shape[f]+m[1]),i=n.dataIdMap.get(t.dataId).id,o=n.makeOutput(s,t.dtype),l=n.dataIdMap.get(o.dataId).id,u=new Uint8Array(new Int32Array(t.shape).buffer),p=a.map(m=>m[0]),d=a.map(m=>m[1]),c=new Uint8Array(new Int32Array(p).buffer),h=new Uint8Array(new Int32Array(d).buffer);return t$(i,u,t.shape.length,Qe[t.dtype],c,h,yv[r],l),o}var Pde={kernelName:fo,backendName:"wasm",kernelFunc:Ode,setupFunc:Mde},n$;function Lde(e){n$=e.wasm.cwrap(zo,null,["number","number","number","number"])}function a$(e){let{backend:t,inputs:{logits:n},attrs:{dim:a}}=e,r=t.dataIdMap.get(n.dataId).id,s=t.makeOutput(n.shape,n.dtype),i=t.dataIdMap.get(s.dataId).id,o=n.shape[a],l=w.sizeFromShape(n.shape)/o;return w.sizeFromShape(s.shape)===0||n$(r,i,o,l),s}var zde={kernelName:zo,backendName:"wasm",setupFunc:Lde,kernelFunc:a$},r$;function Wde(e){r$=e.wasm.cwrap(Tu,null,["number","number","number","number","number","number"])}function Bde(e){let{inputs:t,backend:n,attrs:a}=e,{logits:r}=t,{numSamples:s,seed:i,normalized:o}=a;if(r.dtype!=="float32")throw new Error(`Tensor logits must have dtype float32, got ${r.dtype}`);let l=o?r:a$({inputs:{logits:r},backend:n,attrs:{dim:r.shape.length-1}}),[u,p]=l.shape,d=n.makeOutput([u,s],"int32");return r$(n.dataIdMap.get(l.dataId).id,u,p,s,i,n.dataIdMap.get(d.dataId).id),o||n.disposeData(l.dataId),d}var Vde={kernelName:Tu,backendName:"wasm",setupFunc:Wde,kernelFunc:Bde},Ude=Ut(go,!0),Gde=!0,Hde=Ut(bo,Gde),qde=Xe(Cu);function hk(e,t){let n=new Int32Array(e.wasm.HEAPU8.buffer,t,4),a=n[0],r=n[1],s=n[2],i=n[3];return e.wasm._free(t),{pSelectedIndices:a,selectedSize:r,pSelectedScores:s,pValidOutputs:i}}var s$;function jde(e){s$=e.wasm.cwrap(_u,"number",["number","number","number","number","number"])}function Kde(e){let{backend:t,inputs:n,attrs:a}=e,{iouThreshold:r,maxOutputSize:s,scoreThreshold:i}=a,{boxes:o,scores:l}=n,u=t.dataIdMap.get(o.dataId).id,p=t.dataIdMap.get(l.dataId).id,d=s$(u,p,s,r,i),{pSelectedIndices:c,selectedSize:h,pSelectedScores:m,pValidOutputs:f}=hk(t,d);return t.wasm._free(m),t.wasm._free(f),t.makeOutput([h],"int32",c)}var Xde={kernelName:_u,backendName:"wasm",setupFunc:jde,kernelFunc:Kde},i$;function Yde(e){i$=e.wasm.cwrap(Au,"number",["number","number","number","number","number","bool"])}function Zde(e){let{backend:t,inputs:n,attrs:a}=e,{iouThreshold:r,maxOutputSize:s,scoreThreshold:i,padToMaxOutputSize:o}=a,{boxes:l,scores:u}=n,p=t.dataIdMap.get(l.dataId).id,d=t.dataIdMap.get(u.dataId).id,c=i$(p,d,s,r,i,o),{pSelectedIndices:h,selectedSize:m,pSelectedScores:f,pValidOutputs:g}=hk(t,c);t.wasm._free(f);let b=t.makeOutput([m],"int32",h),y=t.makeOutput([],"int32",g);return[b,y]}var Jde={kernelName:Au,backendName:"wasm",setupFunc:Yde,kernelFunc:Zde},o$;function Qde(e){o$=e.wasm.cwrap(Fu,"number",["number","number","number","number","number","number"])}function ehe(e){let{backend:t,inputs:n,attrs:a}=e,{iouThreshold:r,maxOutputSize:s,scoreThreshold:i,softNmsSigma:o}=a,{boxes:l,scores:u}=n,p=t.dataIdMap.get(l.dataId).id,d=t.dataIdMap.get(u.dataId).id,c=o$(p,d,s,r,i,o),{pSelectedIndices:h,selectedSize:m,pSelectedScores:f,pValidOutputs:g}=hk(t,c);t.wasm._free(g);let b=t.makeOutput([m],"int32",h),y=t.makeOutput([m],"float32",f);return[b,y]}var the={kernelName:Fu,backendName:"wasm",setupFunc:Qde,kernelFunc:ehe},nhe=!1,ahe=Ut(Eu,nhe,"bool"),l$;function rhe(e){l$=e.wasm.cwrap(yo,null,["number","number","number","number","number"])}function she(e){let{inputs:t,backend:n,attrs:a}=e,{indices:r}=t,{dtype:s,depth:i,onValue:o,offValue:l}=a,u=n.makeOutput([...r.shape,i],s),p=n.dataIdMap.get(u.dataId).id,d=n.dataIdMap.get(r.dataId).id;return l$(d,i,o,l,p),u}var ihe={kernelName:yo,backendName:"wasm",setupFunc:rhe,kernelFunc:she};function ohe(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(a).fill(1),a}var lhe={kernelName:$u,backendName:"wasm",kernelFunc:ohe};function uhe(e){let{inputs:t,backend:n,attrs:a}=e,{axis:r}=a;if(t.length===1)return bv({inputs:{input:t[0]},backend:n,attrs:{dim:r}});let s=t[0].shape,i=t[0].dtype;t.forEach(p=>{w.assertShapesMatch(s,p.shape,"All tensors passed to stack must have matching shapes"),w.assert(i===p.dtype,()=>"All tensors passed to stack must have matching dtypes")});let o=[],l=t.map(p=>{let d=bv({inputs:{input:p},backend:n,attrs:{dim:r}});return o.push(d),d}),u=xF({inputs:l,backend:n,attrs:{axis:r}});return o.forEach(p=>n.disposeData(p.dataId)),u}var phe={kernelName:Du,backendName:"wasm",kernelFunc:uhe},u$;function che(e){u$=e.wasm.cwrap(xo,null,["number","array","number","number","array","array","number","number"])}function dhe(e){let{inputs:{x:t},backend:n,attrs:{paddings:a,constantValue:r}}=e,s=a.map((m,f)=>m[0]+t.shape[f]+m[1]);if(w.sizeFromShape(t.shape)===0)return OF({backend:n,attrs:{shape:s,value:r,dtype:t.dtype}});let i=n.dataIdMap.get(t.dataId).id,o=n.makeOutput(s,t.dtype),l=n.dataIdMap.get(o.dataId).id,u=new Uint8Array(new Int32Array(t.shape).buffer),p=a.map(m=>m[0]),d=a.map(m=>m[1]),c=new Uint8Array(new Int32Array(p).buffer),h=new Uint8Array(new Int32Array(d).buffer);return u$(i,u,t.shape.length,Qe[t.dtype],c,h,r,l),o}var p$={kernelName:xo,backendName:"wasm",kernelFunc:dhe,setupFunc:che},hhe=!1,mhe=Ut(vo,hhe),c$;function fhe(e){c$=e.wasm.cwrap(wo,null,["number","number","number"])}function ghe(e){let{inputs:t,backend:n}=e,{x:a,alpha:r}=t,s=n.dataIdMap.get(a.dataId).id,i=n.dataIdMap.get(r.dataId).id,o=s,l=a,u=l;l.dtype!=="float32"&&(u=Ds({backend:n,inputs:{x:a},attrs:{dtype:"float32"}}),o=n.dataIdMap.get(u.dataId).id);let p=n.makeOutput(a.shape,"float32"),d=n.dataIdMap.get(p.dataId).id;return c$(o,i,d),l.dtype!=="float32"&&n.disposeData(u.dataId),p}var bhe={kernelName:wo,backendName:"wasm",setupFunc:fhe,kernelFunc:ghe},d$;function yhe(e){d$=e.wasm.cwrap(ko,null,["number","number","number","number"])}function xhe(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=$s(i,r,t),m=d;if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x,m=T.getInnerMostAxes(m.length,u.shape.length))}T.assertAxesAreInnerMostDims("prod",m,u.shape.length);let[f,g]=T.computeOutAndReduceShapes(u.shape,m),b=w.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(w.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;d$(l,b,Qe[y.dtype],x)}if(h&&t.disposeData(p.dataId),s){let x=T.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var vhe={kernelName:ko,backendName:"wasm",setupFunc:yhe,kernelFunc:xhe},whe=e=>{let{backend:t,attrs:n}=e,{start:a,stop:r,step:s,dtype:i}=n,o=B1(a,r,s,i),l=t.makeOutput([o.length],i);return t.typedArrayFromHeap(l).set(o),l},khe={kernelName:Uc,backendName:"wasm",kernelFunc:whe},Ihe=!0,She=Ut(Hi,Ihe),Nhe=Xe(Io),The=Xe(So),Che=Xe(Co),h$;function Ehe(e){h$=e.wasm.cwrap(To,null,["number","number","number","number","number","number","number","number","number","number"])}function _he(e){let{backend:t,inputs:n,attrs:a}=e,{images:r}=n,{alignCorners:s,halfPixelCenters:i,size:o}=a,[l,u]=o,[p,d,c,h]=r.shape,m=[p,l,u,h],f=t.dataIdMap.get(r.dataId),g;f.dtype!=="float32"&&(g=Ds({backend:t,inputs:{x:r},attrs:{dtype:"float32"}}),f=t.dataIdMap.get(g.dataId));let b=f.id,y=t.makeOutput(m,"float32");if(w.sizeFromShape(r.shape)===0)return y;let x=t.dataIdMap.get(y.dataId).id;return h$(b,p,d,c,h,l,u,s?1:0,i?1:0,x),g!=null&&t.disposeData(g.dataId),y}var Ahe={kernelName:To,backendName:"wasm",setupFunc:Ehe,kernelFunc:_he},m$;function Fhe(e){m$=e.wasm.cwrap(Ou,null,["number","number","number","array","array","boolean"])}function $he(e){let{inputs:t,backend:n,attrs:a}=e,{images:r,dy:s}=t,{alignCorners:i}=a,o=n.makeOutput(r.shape,"float32"),l=n.dataIdMap.get(r.dataId),u;return l.dtype!=="float32"&&(u=Ds({backend:n,inputs:{x:r},attrs:{dtype:"float32"}}),l=n.dataIdMap.get(u.dataId)),m$(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(o.dataId).id,new Uint8Array(new Int32Array(r.shape).buffer),new Uint8Array(new Int32Array(s.shape).buffer),i),u!=null&&n.disposeData(u.dataId),o}var Dhe={kernelName:Ou,backendName:"wasm",setupFunc:Fhe,kernelFunc:$he},f$;function Rhe(e){f$=e.wasm.cwrap(No,null,["number","number","number","number","number","number","number","number","number","number"])}function Mhe(e){let{backend:t,inputs:n,attrs:a}=e,{images:r}=n,{alignCorners:s,halfPixelCenters:i,size:o}=a,[l,u]=o,[p,d,c,h]=r.shape,m=[p,l,u,h],f=t.makeOutput(m,"float32");if(w.sizeFromShape(r.shape)===0)return f;let g=t.dataIdMap.get(r.dataId),b;g.dtype!=="float32"&&(b=Ds({backend:t,inputs:{x:r},attrs:{dtype:"float32"}}),g=t.dataIdMap.get(b.dataId));let y=g.id,x=t.dataIdMap.get(f.dataId).id;return f$(y,p,d,c,h,l,u,s?1:0,i?1:0,x),b!=null&&t.disposeData(b.dataId),f}var Ohe={kernelName:No,backendName:"wasm",setupFunc:Rhe,kernelFunc:Mhe},g$;function Phe(e){g$=e.wasm.cwrap(Mu,null,["number","number","number","array","array","boolean"])}function Lhe(e){let{inputs:t,backend:n,attrs:a}=e,{images:r,dy:s}=t,{alignCorners:i}=a,o=n.makeOutput(r.shape,"float32"),l=n.dataIdMap.get(r.dataId),u;return l.dtype!=="float32"&&(u=Ds({backend:n,inputs:{x:r},attrs:{dtype:"float32"}}),l=n.dataIdMap.get(u.dataId)),g$(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(o.dataId).id,new Uint8Array(new Int32Array(r.shape).buffer),new Uint8Array(new Int32Array(s.shape).buffer),i),u!=null&&n.disposeData(u.dataId),o}var zhe={kernelName:Mu,backendName:"wasm",setupFunc:Phe,kernelFunc:Lhe},b$;function Whe(e){b$=e.wasm.cwrap(Eo,null,["number","array","number","array","number","number"])}function Bhe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{dims:s}=a,i=w.parseAxisParam(s,r.shape);if(r.shape.length===0)return Uf({inputs:{x:r},backend:n});let o=n.makeOutput(r.shape,r.dtype),l=n.dataIdMap.get(r.dataId).id,u=n.dataIdMap.get(o.dataId).id,p=new Uint8Array(new Int32Array(i).buffer),d=new Uint8Array(new Int32Array(r.shape).buffer);b$(l,p,i.length,d,r.shape.length,u);let c=Ln({inputs:{x:o},attrs:{shape:r.shape},backend:n});return n.disposeData(o.dataId),c}var Vhe={kernelName:Eo,backendName:"wasm",kernelFunc:Bhe,setupFunc:Whe},y$;function Uhe(e){y$=e.wasm.cwrap(Zu,null,["number","number","number","number","number","number","number","number","array","number","number"])}function Ghe(e){let{inputs:t,backend:n,attrs:a}=e,{image:r}=t,{radians:s,fillValue:i,center:o}=a,l=n.makeOutput(r.shape,r.dtype),u=n.dataIdMap.get(r.dataId).id,p=n.dataIdMap.get(l.dataId).id,[d,c,h,m]=r.shape,[f,g]=T.getImageCenter(o,c,h),b=i===0,y=255,x=typeof i=="number"?[i,i,i,b?0:y]:[...i,y],v=new Uint8Array(new Int32Array(x).buffer);return y$(u,d,c,h,m,s,f,g,v,x.length,p),l}var Hhe={kernelName:Zu,backendName:"wasm",kernelFunc:Ghe,setupFunc:Uhe},qhe=Xe(_o),jhe=Xe(Ao),x$;function Khe(e){x$=e.wasm.cwrap(Pu,null,["number","number","number","number","number","number","array","number","number"])}function Xhe(e){let{backend:t,inputs:n,attrs:a}=e,{indices:r,updates:s}=n,{shape:i}=a,o=t.makeOutput(i,s.dtype);if(w.sizeFromShape(i)===0)return o;let{sliceRank:l,numUpdates:u,sliceSize:p,strides:d,outputSize:c}=rf.calculateShapes(s,r,i),h=t.dataIdMap.get(r.dataId).id,m=t.dataIdMap.get(s.dataId).id,f=new Uint8Array(new Int32Array(d).buffer),g=t.dataIdMap.get(o.dataId).id;return x$(h,m,Qe[s.dtype],l,u,p,f,c,g),o}var Yhe={kernelName:Pu,backendName:"wasm",setupFunc:Khe,kernelFunc:Xhe},v$;function Zhe(e){v$=e.wasm.cwrap(zu,null,["number","number","number","number","number","number","bool","number"])}function Jhe(e){let{inputs:t,backend:n,attrs:a}=e,{sortedSequence:r,values:s}=t,{side:i}=a;if(r.dtype!==s.dtype)throw new Error(`SearchSorted error: sorted_sequence must have the same dtype as values. Got ${r.dtype} and ${s.dtype}`);let o=n.makeOutput(s.shape,"int32");function l(u){return n.dataIdMap.get(u.dataId).id}return v$(l(r),l(s),r.shape[0],r.shape[1],s.shape[1],Qe[r.dtype],i==="left",l(o)),o}var Qhe={kernelName:zu,backendName:"wasm",setupFunc:Zhe,kernelFunc:Jhe},w$;function eme(e){w$=e.wasm.cwrap("SelectV2",null,["number","number","number","number","number"])}function tme(e){let{inputs:t,backend:n}=e,{condition:a,t:r,e:s}=t,i=n.dataIdMap.get(a.dataId).id,o=n.dataIdMap.get(r.dataId).id,l=n.dataIdMap.get(s.dataId).id,u=n.makeOutput(r.shape,r.dtype),p=n.dataIdMap.get(u.dataId).id,d=a.shape.length,c=r.shape.length,h=d===0||d>1||c===1?1:w.sizeFromShape(r.shape.slice(1));return w$(i,o,l,h,p),u}var nme={kernelName:Wu,backendName:"wasm",kernelFunc:tme,setupFunc:eme},ame=Xe(Fo),k$;function rme(e){k$=e.wasm.cwrap(Mo,null,["number","number"])}function sme(e){let{backend:t,inputs:{x:n}}=e,a=t.dataIdMap.get(n.dataId).id,r=t.makeOutput(n.shape,n.dtype),s=t.dataIdMap.get(r.dataId).id;return w.sizeFromShape(r.shape)===0||k$(a,s),r}var ime={kernelName:"Sigmoid",backendName:"wasm",setupFunc:rme,kernelFunc:sme},ome=Xe(Ro),lme=Xe($o),ume=Xe(Do),pme=Xe(Oo);function cme(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{blockShape:s,paddings:i}=a,o=w.sizeFromShape(s),l=[[0,0]];l.push(...i);for(let g=1+s.length;g0?l+1:0;if(u<0)throw new Error(T.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let p=r.shape.slice();p[0]=u;let d=n.dataIdMap.get(r.dataId).id,c=n.dataIdMap.get(s.dataId).id,h=n.dataIdMap.get(i.dataId).id,m=n.makeOutput(p,r.dtype),f=n.dataIdMap.get(m.dataId).id,g=n.makeOutput([4],"int32"),b=n.dataIdMap.get(g.dataId).id;N$(d,Qe[r.dtype],r.shape[0],c,h,f,b,t,0);let y=n.readSync(g.dataId),x;switch(y[0]){case 0:{x=T.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{x=T.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:x=T.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(y[1],y[2]);break;case 3:x=T.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(y[1],y[2],y[3]);break;default:x=""}if(n.disposeData(g.dataId),x)throw n.disposeData(m.dataId),new Error(x);return m}function xme(e){return C$(e,!0)}var vme={kernelName:Hc,backendName:"wasm",setupFunc:T$,kernelFunc:xme};function wme(e){return C$(e,!1)}var kme={kernelName:qc,backendName:"wasm",setupFunc:T$,kernelFunc:wme},E$;function Ime(e){E$=e.wasm.cwrap(Hu,null,["number","number","number","number","number","number","number","number","array","number","number"])}function Sme(e){let{backend:t,inputs:n,attrs:a}=e,{sparseIndices:r,sparseValues:s,defaultValue:i}=n,{outputShape:o}=a,l=t.makeOutput(o,i.dtype);if(w.sizeFromShape(o)===0)return l;let{sliceRank:u,numUpdates:p,sliceSize:d,strides:c,outputSize:h}=T.calculateShapes(s,r,o),m=t.dataIdMap.get(r.dataId).id,f=t.dataIdMap.get(s.dataId).id,g=t.dataIdMap.get(i.dataId).id,b=new Uint8Array(new Int32Array(c).buffer),y=t.dataIdMap.get(l.dataId).id;return E$(m,f,s.shape.length,g,Qe[i.dtype],u,p,d,b,h,y),l}var Nme={kernelName:Hu,backendName:"wasm",setupFunc:Ime,kernelFunc:Sme};function Tme(e){let{inputs:t,attrs:n,backend:a}=e,{x:r}=t,{numOrSizeSplits:s,axis:i}=n,o=w.parseAxisParam(i,r.shape)[0],l=T.prepareSplitSize(r,s,o),u=new Array(r.shape.length).fill(0),p=r.shape.slice();return l.map(d=>{let c=[...p];c[o]=d;let h=Ii({inputs:{x:r},attrs:{begin:u,size:c},backend:a});return u[o]+=d,h})}var Cme={kernelName:Uu,backendName:"wasm",kernelFunc:Tme},Eme=Xe(Po),_me=Xe(jc),Ame=!0,Fme=Ut(Wo,Ame),_$;function $me(e){_$=e.wasm.cwrap(ks,null,["number","number","number","number"])}function Dme(e){let{backend:t,inputs:n,attrs:a}=e,{alpha:r}=a,{x:s}=n,i=t.dataIdMap.get(s.dataId).id,o=t.makeOutput(s.shape,s.dtype),l=t.dataIdMap.get(o.dataId).id;return _$(i,r,Qe[s.dtype],l),o}var Rme={kernelName:ks,backendName:"wasm",setupFunc:$me,kernelFunc:Dme},A$;function Mme(e){A$=e.wasm.cwrap(qu,null,["number","array","number","array","array","array","array","array","number","number"])}function Ome(e){let{backend:t,inputs:n,attrs:a}=e,{x:r}=n,{begin:s,end:i,strides:o,beginMask:l,endMask:u,ellipsisMask:p,newAxisMask:d,shrinkAxisMask:c}=a,{finalShapeSparse:h,finalShape:m,isIdentity:f,sliceDim0:g,isSimpleSlice:b,begin:y,end:x,strides:v}=Kt.sliceInfo(r.shape,s,i,o,l,u,p,d,c),I;if(f)I=Ln({inputs:{x:r},backend:t,attrs:{shape:m}});else if(g||b){w.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);let N=Kt.computeOutShape(y,x,v),C=Ii({inputs:{x:r},backend:t,attrs:{begin:y,size:N}});I=Ln({inputs:{x:C},backend:t,attrs:{shape:m}}),t.disposeData(C.dataId)}else{let N=t.makeOutput(h,"float32"),C=t.dataIdMap.get(r.dataId).id,_=new Uint8Array(new Int32Array(w.computeStrides(r.shape)).buffer),F=new Uint8Array(new Int32Array(y).buffer),D=new Uint8Array(new Int32Array(x).buffer),$=new Uint8Array(new Int32Array(v).buffer),S=new Uint8Array(new Int32Array(h).buffer),M=new Uint8Array(new Int32Array(w.computeStrides(h)).buffer),B=t.dataIdMap.get(N.dataId).id;A$(C,_,r.shape.length,F,D,$,S,M,h.length,B),I=Ln({inputs:{x:N},backend:t,attrs:{shape:m}}),t.disposeData(N.dataId)}return I}var Pme={kernelName:qu,backendName:"wasm",setupFunc:Mme,kernelFunc:Ome};function Lme(e){let{backend:t,inputs:n,attrs:a}=e,{data:r,dataSplits:s}=n,{separator:i,nGramWidths:o,leftPad:l,rightPad:u,padWidth:p,preserveShortSequences:d}=a,c=t.readSync(r.dataId),h=t.readSync(s.dataId),[m,f]=U1(c,h,i,o,l,u,p,d),g=t.makeOutput([m.length],"string"),b=t.dataIdMap.get(g.dataId);b.stringBytes=m;let y=t.makeOutput(s.shape,"int32");return t.typedArrayFromHeap(y).set(f),[g,y]}var zme={kernelName:Xc,backendName:"wasm",kernelFunc:Lme};function Wme(e){let{backend:t,inputs:n,attrs:a}=e,{input:r,delimiter:s}=n,{skipEmpty:i}=a,o=t.readSync(r.dataId),l=t.readSync(s.dataId),[u,p,d]=G1(o,l[0],i),c=p.length,h=t.makeOutput([c,2],"int32");t.typedArrayFromHeap(h).set(u);let m=t.makeOutput([c],"string"),f=t.dataIdMap.get(m.dataId);f.stringBytes=p;let g=t.makeOutput([2],"int32");return t.typedArrayFromHeap(g).set(d),[h,m,g]}var Bme={kernelName:Yc,backendName:"wasm",kernelFunc:Wme};function Vme(e){let{backend:t,inputs:n,attrs:a}=e,{input:r}=n,{numBuckets:s}=a,i=t.readSync(r.dataId),o=H1(i,s),l=t.makeOutput(r.shape,"int32");return t.typedArrayFromHeap(l).set(o),l}var Ume={kernelName:Zc,backendName:"wasm",kernelFunc:Vme},Gme=!0,Hme=Ut(Bo,Gme),F$;function qme(e){F$=e.wasm.cwrap(Lo,null,["number","number","number","number"])}function jme(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=$s(i,r,t),m=d;if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x,m=T.getInnerMostAxes(m.length,u.shape.length))}T.assertAxesAreInnerMostDims("sum",m,u.shape.length);let[f,g]=T.computeOutAndReduceShapes(u.shape,m),b=w.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(w.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;F$(l,b,Qe[y.dtype],x)}if(h&&t.disposeData(p.dataId),s){let x=T.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var Kme={kernelName:Lo,backendName:"wasm",setupFunc:qme,kernelFunc:jme},Xme=Xe(Vo),Yme=Xe(Uo),$$;function Zme(e){$$=e.wasm.cwrap(Lu,null,["number","number","number","number","number","number","array","number","number","number"])}function Jme(e){let{backend:t,inputs:n,attrs:a}=e,{tensor:r,indices:s,updates:i}=n,{}=a,o=t.makeOutput(r.shape,r.dtype);if(w.sizeFromShape(r.shape)===0)return o;let{sliceRank:l,numUpdates:u,sliceSize:p,strides:d,outputSize:c}=rf.calculateShapes(i,s,r.shape),h=t.dataIdMap.get(s.dataId).id,m=t.dataIdMap.get(i.dataId).id,f=t.dataIdMap.get(r.dataId).id,g=new Uint8Array(new Int32Array(d).buffer),b=t.dataIdMap.get(o.dataId).id;return $$(h,m,Qe[i.dtype],l,u,p,g,c,b,f),o}var Qme={kernelName:Lu,backendName:"wasm",setupFunc:Zme,kernelFunc:Jme},D$;function efe(e){D$=e.wasm.cwrap(ws,null,["number","array","number","array","number","number"])}function tfe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,s=n.dataIdMap.get(r.dataId).id,{reps:i}=a,o=new Array(r.shape.length);for(let c=0;c{let{x:a}=e,{k:r,sorted:s}=n,i=t.dataIdMap.get(a.dataId).id,o=new Uint8Array(new Int32Array(a.shape).buffer),l=a.shape.slice();l[l.length-1]=r;let u=t.makeOutput(l,a.dtype),p=t.dataIdMap.get(u.dataId).id,d=t.makeOutput(l,"int32"),c=t.dataIdMap.get(d.dataId).id;return R$(i,o,a.shape.length,Qe[a.dtype],r,s,p,c),[u,d]},sfe={kernelName:ju,backendName:"wasm",setupFunc:afe,kernelFunc:rfe},M$;function ife(e){M$=e.wasm.cwrap(Ku,null,["number","number","bool","number","number","number","number","number","number","array","number","array","number","number","number","number","number"])}function ofe(e){let{backend:t,inputs:n,attrs:a}=e,{image:r,transforms:s}=n,{interpolation:i,fillMode:o,fillValue:l,outputShape:u}=a,[p,d,c,h]=r.shape,[m,f]=u!=null?u:[d,c],g=[p,m,f,h],b=new Uint8Array(new Int32Array(w.computeStrides(r.shape)).buffer),y=new Uint8Array(new Int32Array(w.computeStrides(g)).buffer),x=t.makeOutput(g,r.dtype),v=t.dataIdMap.get(x.dataId).id,I=t.dataIdMap.get(r.dataId).id,N=t.dataIdMap.get(s.dataId).id,C=i==="nearest"?1:2,_;switch(o){case"constant":_=1;break;case"reflect":_=2;break;case"wrap":_=3;break;case"nearest":_=4;break;default:_=1;break}return M$(I,N,s.shape[0]>1,p,m,f,h,c,d,b,r.shape.length-1,y,g.length-1,C,_,l,v),x}var lfe={kernelName:Ku,backendName:"wasm",setupFunc:ife,kernelFunc:ofe};function ufe(e){let{inputs:t,attrs:n,backend:a}=e,{axis:r}=n,{x:s}=t,{outputValues:i,outputShape:o,indices:l}=j1(a.readSync(s.dataId),r,s.shape,s.dtype);return[a.makeOutput(o,s.dtype,void 0,i),a.makeOutput([l.length],"int32",void 0,l)]}var pfe={kernelName:Jc,backendName:"wasm",kernelFunc:ufe};function cfe(e){let{inputs:t,backend:n,attrs:a}=e,{value:r}=t,{axis:s}=a;s<0&&(s+=r.shape.length);let i=r.shape[s],o=r.shape.length,l=new Array(o-1),u=0;for(let h=0;h({dataId:h,dtype:m,shape:l}))}var dfe={kernelName:Xu,backendName:"wasm",kernelFunc:cfe};function hfe(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(a).fill(0),a}var mfe={kernelName:Yu,backendName:"wasm",kernelFunc:hfe},ffe=[Yle,Zle,Jle,Qle,tue,rue,due,fue,gue,bue,yue,xue,vue,wue,kue,Nue,Rue,Eue,Fue,Lue,Gue,jue,Xue,Zue,Jue,Que,npe,ape,ipe,upe,dpe,fpe,ype,xpe,vpe,Ipe,Tpe,_pe,$pe,Mpe,Lpe,Bpe,Gpe,jpe,Ype,Zpe,ece,nce,ace,rce,sce,ice,oce,pce,cce,hce,gce,xce,kce,Nce,Ece,Ace,$ce,sue,Dce,Rce,Mce,Lce,Wce,Vce,Hce,jce,qce,Xce,Yce,Jce,ede,ade,ide,ude,cde,mde,bde,vde,Ide,Tde,_de,$de,Rde,Pde,Vde,Ude,Hde,qde,Xde,Jde,the,ahe,ihe,lhe,phe,p$,mhe,bhe,vhe,khe,She,Nhe,The,Che,Mue,Ahe,Dhe,Ohe,zhe,Vhe,Hhe,qhe,jhe,Yhe,Qhe,nme,ame,ime,ome,lme,ume,Vue,zde,pme,dme,fme,yme,vme,kme,Nme,Cme,Eme,_me,Fme,Rme,Pme,zme,Bme,Ume,Hme,Kme,Xme,Yme,Qme,nfe,sfe,lfe,uue,pfe,dfe,mfe];for(let e of ffe)ed(e);var xv=G();xv.registerFlag("WASM_HAS_SIMD_SUPPORT",async()=>{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,9,1,7,0,65,0,253,15,26,11]))}catch(e){return!1}});xv.registerFlag("WASM_HAS_MULTITHREAD_SUPPORT",async()=>{if(xv.get("IS_NODE"))return!1;try{return 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(e){return!1}});var TS=ys(WR()),gfe=ys(BR()),CS=ys(VR()),ES=TS.default||TS,bfe=CS.default||CS,O$=class extends Fc{constructor(e){super(),this.wasm=e,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(P$),vv=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new ym(this,Ta())}write(e,t,n){let a={id:this.dataIdNextNumber++};return this.move(a,e,t,n,1),a}numDataIds(){return this.dataIdMap.numDataIds()}async time(e){let t=w.now();return e(),{kernelMs:w.now()-t}}move(e,t,n,a,r){let s=this.dataIdNextNumber++;if(a==="string"){let u=t;this.dataIdMap.set(e,{id:s,stringBytes:u,shape:n,dtype:a,memoryOffset:null,refCount:r});return}let i=w.sizeFromShape(n),o=i*w.bytesPerElement(a),l=this.wasm._malloc(o)>>>0;this.dataIdMap.set(e,{id:s,memoryOffset:l,shape:n,dtype:a,refCount:r}),this.wasm.tfjs.registerTensor(s,i,l),t!=null&&this.wasm.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,o),l)}async read(e){return this.readSync(e)}readSync(e,t,n){let{memoryOffset:a,dtype:r,shape:s,stringBytes:i}=this.dataIdMap.get(e);if(r==="string")return(t==null||t===0)&&(n==null||n>=i.length)?i:i.slice(t,n);t=t||0,n=n||w.sizeFromShape(s);let o=w.bytesPerElement(r),l=this.wasm.HEAPU8.slice(a+t*o,a+n*o);return vfe(l.buffer,r)}disposeData(e,t=!1){if(this.dataIdMap.has(e)){let n=this.dataIdMap.get(e);if(n.refCount--,!t&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(e)}return!0}refCount(e){return this.dataIdMap.has(e)?this.dataIdMap.get(e).refCount:0}incRef(e){let t=this.dataIdMap.get(e);t!=null&&t.refCount++}floatPrecision(){return 32}getMemoryOffset(e){return this.dataIdMap.get(e).memoryOffset}dispose(){this.wasm.tfjs.dispose(),"PThread"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(e,t,n,a){let r;if(n==null)r=this.write(a!=null?a:null,e,t);else{let s=this.dataIdNextNumber++;r={id:s},this.dataIdMap.set(r,{id:s,memoryOffset:n,shape:e,dtype:t,refCount:1});let i=w.sizeFromShape(e);this.wasm.tfjs.registerTensor(s,i,n)}return{dataId:r,shape:e,dtype:t}}typedArrayFromHeap({shape:e,dtype:t,dataId:n}){let a=this.wasm.HEAPU8.buffer,{memoryOffset:r}=this.dataIdMap.get(n),s=w.sizeFromShape(e);switch(t){case"float32":return new Float32Array(a,r,s);case"int32":return new Int32Array(a,r,s);case"bool":return new Uint8Array(a,r,s);default:throw new Error(`Unknown dtype ${t}`)}}};function yfe(e){return(t,n)=>(w.fetch(e,{credentials:"same-origin"}).then(a=>{a.ok||t.env.a(`failed to load wasm binary file at '${e}'`),a.arrayBuffer().then(r=>{WebAssembly.instantiate(r,t).then(s=>{n(s.instance,s.module)})})}),{})}function _S(e,t,n){if(gm!=null)return gm;let a="tfjs-backend-wasm.wasm";return e&&t?a="tfjs-backend-wasm-threaded-simd.wasm":e&&(a="tfjs-backend-wasm-simd.wasm"),cc!=null&&cc[a]!=null?cc[a]:n+a}async function xfe(){let[e,t]=await Promise.all([G().getAsync("WASM_HAS_SIMD_SUPPORT"),G().getAsync("WASM_HAS_MULTITHREAD_SUPPORT")]);return new Promise((n,a)=>{let r={};r.locateFile=(o,l)=>{if(o.endsWith(".worker.js")){let u=gfe.wasmWorkerContents.replace(/\n/g,"\\n"),p=new Blob([u],{type:"application/javascript"});return URL.createObjectURL(p)}return o.endsWith(".wasm")?_S(e,t,lc!=null?lc:l):l+o},mk&&(r.instantiateWasm=yfe(_S(e,t,lc!=null?lc:"")));let s=!1;r.onAbort=()=>{s||dc||(dc=!0,a({message:"Make sure the server can serve the `.wasm` file relative to the bundled js file. For more details see https://github.com/tensorflow/tfjs/blob/master/tfjs-backend-wasm/README.md#using-bundlers"}))};let i;t&&e&&gm==null?(r.mainScriptUrlOrBlob=new Blob(["var WasmBackendModuleThreadedSimd = "+ES.toString()],{type:"text/javascript"}),i=ES(r)):i=bfe(r),i.then(o=>{s=!0,dc=!1;let l=null;o.tfjs={init:o.cwrap("init",null,[]),initWithThreadsCount:o.cwrap("init_with_threads_count",null,["number"]),getThreadsCount:o.cwrap("get_threads_count","number",[]),registerTensor:o.cwrap("register_tensor",null,["number","number","number"]),disposeData:o.cwrap("dispose_data",l,["number"]),dispose:o.cwrap("dispose",l,[])},n({wasm:o})}).catch(a)})}function vfe(e,t){switch(t){case"float32":return new Float32Array(e);case"int32":return new Int32Array(e);case"bool":return new Uint8Array(e);default:throw new Error(`Unknown dtype ${t}`)}}var wfe=["tfjs-backend-wasm.wasm","tfjs-backend-wasm-simd.wasm","tfjs-backend-wasm-threaded-simd.wasm"],gm=null,lc=null,cc={},dc=!1,mk=!1;function kfe(e,t=!1){if(Fv("setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release."),dc)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`");gm=e,mk=t}function Ife(e,t=!1){if(dc)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`");if(typeof e=="string")lc=e;else{cc=e;let n=wfe.filter(a=>cc[a]==null);if(n.length>0)throw new Error(`There were no entries found for the following binaries: ${n.join(",")}. Please either call setWasmPaths with a map providing a path for each binary, or with a string indicating the directory where all the binaries can be found.`)}mk=t}var P$=-1,vv=-1;function Sfe(e){P$=e}function Nfe(){if(vv===-1)throw new Error("WASM backend not initialized.");return vv}var Tfe="4.16.0",Cfe=2;Om("wasm",async()=>{let{wasm:e}=await xfe();return new O$(e)},Cfe);var AS="4.16.0",Efe="4.16.0",_fe="4.16.0",Afe="4.16.0",Ffe="4.16.0",$fe={tfjs:AS,"tfjs-core":AS,"tfjs-converter":Efe,"tfjs-backend-cpu":_fe,"tfjs-backend-webgl":Afe,"tfjs-backend-wasm":Ffe};var rD={};nx(rD,{AnchorPosition:()=>Ik,DrawBox:()=>Od,DrawBoxOptions:()=>Kf,DrawFaceLandmarks:()=>ig,DrawFaceLandmarksOptions:()=>sg,DrawTextField:()=>sl,DrawTextFieldOptions:()=>Ip,drawContour:()=>Pr,drawDetections:()=>zfe,drawFaceExpressions:()=>Wfe,drawFaceLandmarks:()=>Vfe});function Pr(e,t,n=!1){if(e.beginPath(),t.slice(1).forEach(({x:a,y:r},s)=>{let i=t[s];e.moveTo(i.x,i.y),e.lineTo(a,r)}),n){let a=t[t.length-1],r=t[0];if(!a||!r)return;e.moveTo(a.x,a.y),e.lineTo(r.x,r.y)}e.stroke()}var L$={};nx(L$,{computeReshapedDimensions:()=>bk,getCenterPoint:()=>al,isDimensions:()=>Hf,isEven:()=>Gf,isFloat:()=>gk,isTensor:()=>tl,isTensor1D:()=>Dfe,isTensor2D:()=>fk,isTensor3D:()=>Lr,isTensor4D:()=>wa,isValidNumber:()=>Xa,isValidProbablitiy:()=>gp,range:()=>fr,round:()=>nl});var aa=class e{constructor(t,n){if(!Xa(t)||!Xa(n))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:n})}`);this._width=t,this._height=n}get width(){return this._width}get height(){return this._height}reverse(){return new e(1/this.width,1/this.height)}};function tl(e,t){return e instanceof Ce&&e.shape.length===t}function Dfe(e){return tl(e,1)}function fk(e){return tl(e,2)}function Lr(e){return tl(e,3)}function wa(e){return tl(e,4)}function gk(e){return e%1!==0}function Gf(e){return e%2===0}function nl(e,t=2){let n=10**t;return Math.floor(e*n)/n}function Hf(e){return e&&e.width&&e.height}function bk({width:e,height:t},n){let a=n/Math.max(t,e);return new aa(Math.round(e*a),Math.round(t*a))}function al(e){return e.reduce((t,n)=>t.add(n),new He(0,0)).div(new He(e.length,e.length))}function fr(e,t,n){return Array(e).fill(0).map((a,r)=>t+r*n)}function Xa(e){return!!e&&e!==1/0&&e!==-1/0&&!Number.isNaN(e)||e===0}function gp(e){return Xa(e)&&e>=0&&e<=1}var He=class e{constructor(t,n){this._x=t,this._y=n}get x(){return this._x}get y(){return this._y}add(t){return new e(this.x+t.x,this.y+t.y)}sub(t){return new e(this.x-t.x,this.y-t.y)}mul(t){return new e(this.x*t.x,this.y*t.y)}div(t){return new e(this.x/t.x,this.y/t.y)}abs(){return new e(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new e(Math.floor(this.x),Math.floor(this.y))}};var mn=class e{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(Xa)}static assertIsValidBox(t,n,a=!1){if(!e.isRect(t))throw new Error(`${n} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!a&&(t.width<0||t.height<0))throw new Error(`${n} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,n=!0){let a=t||{},r=[a.left,a.top,a.right,a.bottom].every(Xa),s=[a.x,a.y,a.width,a.height].every(Xa);if(!s&&!r)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(a)}`);let[i,o,l,u]=s?[a.x,a.y,a.width,a.height]:[a.left,a.top,a.right-a.left,a.bottom-a.top];e.assertIsValidBox({x:i,y:o,width:l,height:u},"Box.constructor",n),this._x=i,this._y=o,this._width=l,this._height=u}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new He(this.left,this.top)}get topRight(){return new He(this.right,this.top)}get bottomLeft(){return new He(this.left,this.bottom)}get bottomRight(){return new He(this.right,this.bottom)}round(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new e({x:t,y:n,width:a,height:r})}floor(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new e({x:t,y:n,width:a,height:r})}toSquare(){let{x:t,y:n,width:a,height:r}=this,s=Math.abs(a-r);return an&&(o=-d+n+a,d=n),c>t&&(l=-c+t+r,c=t),u<1&&(l=2-u,u=1),p<1&&(l=2-p,p=1),{dy:i,edy:l,dx:s,edx:o,y:p,ey:c,x:u,ex:d,w:a,h:r}}calibrate(t){return new e({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var bp=class extends mn{constructor(t,n,a,r,s=!1){super({left:t,top:n,right:a,bottom:r},s)}};var yp=class e{constructor(t,n,a,r,s){this._imageDims=new aa(s.width,s.height),this._score=t,this._classScore=n,this._className=a,this._box=new mn(r).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new mn(this._box).rescale(this.imageDims.reverse())}forSize(t,n){return new e(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:n})}};var Ft=class e extends yp{constructor(t,n,a){super(t,t,"",n,a)}forSize(t,n){let{score:a,relativeBox:r,imageDims:s}=super.forSize(t,n);return new e(a,r,s)}};function z$(e,t,n=!0){let a=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),r=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),s=a*r;return n?s/(e.area+t.area-s):s/Math.min(e.area,t.area)}function W$(e){let t=e.map(o=>o.x),n=e.map(o=>o.y),a=t.reduce((o,l)=>lloo({score:i,boxIndex:o})).sort((i,o)=>i.score-o.score).map(i=>i.boxIndex),s=[];for(;r.length>0;){let i=r.pop();s.push(i);let o=r,l=[];for(let u=0;ul[p]<=n)}return s}function gr(e,t){return O(()=>{let[n,a,r]=t,s=yn([...e.shape.slice(0,3),1],n,"float32"),i=yn([...e.shape.slice(0,3),1],a,"float32"),o=yn([...e.shape.slice(0,3),1],r,"float32"),l=et([s,i,o],3);return pe(e,l)})}function V$(e,t=!1){return O(()=>{let[n,a]=e.shape.slice(1);if(n===a)return e;let r=Math.abs(n-a),s=Math.round(r*(t?.5:1)),i=n>a?2:1,o=c=>{let h=e.shape.slice();return h[i]=c,yn(h,0,"float32")},l=o(s),u=r-l.shape[i],d=[t&&u?o(u):null,e,l].filter(c=>!!c).map(c=>re(c,"float32"));return et(d,i)})}function d0e(e){let t=e.slice();for(let n=t.length-1;n>0;n--){let a=Math.floor(Math.random()*(n+1)),r=t[n];t[n]=t[a],t[a]=r}return t}function qf(e){return 1/(1+Math.exp(-e))}function m0e(e){return Math.log(e/(1-e))}var xp=class extends mn{constructor(t,n,a,r,s=!1){super({x:t,y:n,width:a,height:r},s)}};var Rfe=.5,Mfe=.43,Ofe=.45,ka=class{constructor(t,n,a=new He(0,0)){let{width:r,height:s}=n;this._imgDims=new aa(r,s),this._shift=a,this._positions=t.map(i=>i.mul(new He(r,s)).add(a))}get shift(){return new He(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new He(this.imageWidth,this.imageHeight)))}forSize(t,n){return new this.constructor(this.relativePositions,{width:t,height:n})}shiftBy(t,n){return new this.constructor(this.relativePositions,this._imgDims,new He(t,n))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,n={}){if(t){let s=t instanceof Ft?t.box.floor():new mn(t);return this.shiftBy(s.x,s.y).align(null,n)}let{useDlibAlignment:a,minBoxPadding:r}={useDlibAlignment:!1,minBoxPadding:.2,...n};return a?this.alignDlib():this.alignMinBbox(r)}alignDlib(){let t=this.getRefPointsForAlignment(),[n,a,r]=t,s=d=>r.sub(d).magnitude(),i=(s(n)+s(a))/2,o=Math.floor(i/Ofe),l=al(t),u=Math.floor(Math.max(0,l.x-Rfe*o)),p=Math.floor(Math.max(0,l.y-Mfe*o));return new xp(u,p,Math.min(o,this.imageWidth+u),Math.min(o,this.imageHeight+p))}alignMinBbox(t){let n=W$(this.positions);return n.pad(n.width*t,n.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var U$=class extends ka{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],al([t[3],t[4]])]}};var vp=class extends ka{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(al)}};var Dd=class{constructor(t,n){this._label=t,this._distance=n}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${nl(this.distance)})`:""}`}};var Rd=class extends mn{static assertIsValidLabeledBox(t,n){if(mn.assertIsValidBox(t,n),!Xa(t.label))throw new Error(`${n} - expected property label (${t.label}) to be a number`)}constructor(t,n){super(t),this._label=n}get label(){return this._label}};var rl=class e{constructor(t,n){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(n)||n.some(a=>!(a instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=n}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let n=t.descriptors.map(a=>new Float32Array(a));return new e(t.label,n)}};var G$=class extends Rd{static assertIsValidPredictedBox(t,n){if(Rd.assertIsValidLabeledBox(t,n),!gp(t.score)||!gp(t.classScore))throw new Error(`${n} - expected properties score (${t.score}) and (${t.classScore}) to be a number between [0, 1]`)}constructor(t,n,a,r){super(t,n),this._score=a,this._classScore=r}get score(){return this._score}get classScore(){return this._classScore}};function zr(e){return e.detection instanceof Ft}function wp(e,t){return{...e,...{detection:t}}}function yk(){let e=window.fetch;if(!e)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:e,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Md(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function jf(e){let t="";if(!e&&Md())try{e=xR("fs")}catch(a){t=a.toString()}return{readFile:e?a=>new Promise((r,s)=>{e.readFile(a,(i,o)=>i?s(i):r(o))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function xk(){let e=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,n=global.Video||global.HTMLVideoElement,a=()=>{if(e)return new e;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},r=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(n)return new n;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},i=global.fetch,o=jf();return{Canvas:e||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:a,createImageElement:r,createVideoElement:s,fetch:i,...o}}function vk(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var on;function Pfe(){if(!on)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return on}function wk(e){on=e}function kk(){return vk()?wk(yk()):Md()?wk(xk()):null}function Lfe(e){if(on||kk(),!on)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=on.Canvas,Image:n=on.Image}=e;on.Canvas=t,on.Image=n,on.createCanvasElement=e.createCanvasElement||(()=>new t),on.createImageElement=e.createImageElement||(()=>new n),on.ImageData=e.ImageData||on.ImageData,on.Video=e.Video||on.Video,on.fetch=e.fetch||on.fetch,on.readFile=e.readFile||on.readFile}var at={getEnv:Pfe,setEnv:wk,initialize:kk,createBrowserEnv:yk,createFileSystem:jf,createNodejsEnv:xk,monkeyPatch:Lfe,isBrowser:vk,isNodejs:Md};kk();function kp(e){return!at.isNodejs()&&typeof e=="string"?document.getElementById(e):e}function ra(e){let{Canvas:t,CanvasRenderingContext2D:n}=at.getEnv();if(e instanceof n)return e;let a=kp(e);if(!(a instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let r=a.getContext("2d",{willReadFrequently:!0});if(!r)throw new Error("resolveContext2d - canvas 2d context is null");return r}var Ik=(r=>(r.TOP_LEFT="TOP_LEFT",r.TOP_RIGHT="TOP_RIGHT",r.BOTTOM_LEFT="BOTTOM_LEFT",r.BOTTOM_RIGHT="BOTTOM_RIGHT",r))(Ik||{}),Ip=class{constructor(t={}){let{anchorPosition:n,backgroundColor:a,fontColor:r,fontSize:s,fontStyle:i,padding:o}=t;this.anchorPosition=n||"TOP_LEFT",this.backgroundColor=a||"rgba(0, 0, 0, 0.5)",this.fontColor=r||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=i||"Georgia",this.padding=o||4}},sl=class e{constructor(t,n,a={}){this.text=typeof t=="string"?[t]:t instanceof e?t.text:t,this.anchor=n,this.options=new Ip(a)}measureWidth(t){let{padding:n}=this.options;return this.text.map(a=>t.measureText(a).width).reduce((a,r)=>a{let m=l+d.x,f=l+d.y+(h+1)*i;a.fillText(c,m,f)})}};var Kf=class{constructor(t={}){let{boxColor:n,lineWidth:a,label:r,drawLabelOptions:s}=t;this.boxColor=n||"rgba(0, 0, 255, 1)",this.lineWidth=a||2,this.label=r;let i={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new Ip({...i,...s})}},Od=class{constructor(t,n={}){this.box=new mn(t),this.options=new Kf(n)}draw(t){let n=ra(t),{boxColor:a,lineWidth:r}=this.options,{x:s,y:i,width:o,height:l}=this.box;n.strokeStyle=a,n.lineWidth=r,n.strokeRect(s,i,o,l);let{label:u}=this.options;u&&new sl([u],{x:s-r/2,y:i},this.options.drawLabelOptions).draw(t)}};function zfe(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof Ft?a.score:zr(a)?a.detection.score:void 0,s=a instanceof Ft?a.box:zr(a)?a.detection.box:new mn(a),i=r?`${nl(r)}`:void 0;new Od(s,{label:i}).draw(e)})}function Xf(e){let{Image:t,Video:n}=at.getEnv();return e instanceof t&&e.complete||e instanceof n&&e.readyState>=3}function H$(e){return new Promise((t,n)=>{if(e instanceof at.getEnv().Canvas||Xf(e)){t(null);return}function a(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),n(s))}function r(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),t(s))}e.addEventListener("load",r),e.addEventListener("error",a)})}function q$(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToImage - expected buf to be of type: Blob"));let a=new FileReader;a.onload=()=>{typeof a.result!="string"&&n(new Error("bufferToImage - expected reader.result to be a string, in onload"));let r=at.getEnv().createImageElement();r.onload=()=>t(r),r.onerror=n,r.src=a.result},a.onerror=n,a.readAsDataURL(e)})}function Sp(e){let{Image:t,Video:n}=at.getEnv();return e instanceof t?new aa(e.naturalWidth,e.naturalHeight):e instanceof n?new aa(e.videoWidth,e.videoHeight):new aa(e.width,e.height)}function Np({width:e,height:t}){let{createCanvasElement:n}=at.getEnv(),a=n();return a.width=e,a.height=t,a}function Yf(e,t){let{ImageData:n}=at.getEnv();if(!(e instanceof n)&&!Xf(e))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:a,height:r}=t||Sp(e),s=Np({width:a,height:r});return e instanceof n?ra(s).putImageData(e,0,0):ra(s).drawImage(e,0,0,a,r),s}async function j$(e,t){let n=t||at.getEnv().createCanvasElement(),[a,r,s]=e.shape.slice(wa(e)?1:0),i=O(()=>e.as3D(a,r,s).toInt());return await jo.toPixels(i,n),i.dispose(),n}function Sk(e){let{Image:t,Canvas:n,Video:a}=at.getEnv();return e instanceof t||e instanceof n||e instanceof a}function K$(e,t,n=!1){let{Image:a,Canvas:r}=at.getEnv();if(!(e instanceof a||e instanceof r))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Np({width:1,height:1});let s=Sp(e),i=t/Math.max(s.height,s.width),o=i*s.width,l=i*s.height,u=Np({width:t,height:t}),p=e instanceof r?e:Yf(e),d=Math.abs(o-l)/2,c=n&&o0&&p.height>0&&ra(u).drawImage(p,c,h,o,l),u}var Wr=class{constructor(t,n=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=n,this._batchSize=t.length,t.forEach((a,r)=>{if(Lr(a)){this._imageTensors[r]=a,this._inputDimensions[r]=a.shape;return}if(wa(a)){let i=a.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[r]=a,this._inputDimensions[r]=a.shape.slice(1);return}let s=a instanceof at.getEnv().Canvas?a:Yf(a);this._canvases[r]=s,this._inputDimensions[r]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return fr(this.batchSize,0,1).map((t,n)=>this.getReshapedInputDimensions(n))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let n=this.getInputWidth(t),a=this.getInputHeight(t);return bk({width:n,height:a},this.inputSize)}toBatchTensor(t,n=!0){return this._inputSize=t,O(()=>{let a=fr(this.batchSize,0,1).map(s=>{let i=this.getInput(s);if(i instanceof Ce){let o=wa(i)?i:Gt(i);return o=V$(o,n),(o.shape[1]!==t||o.shape[2]!==t)&&(o=Zn.resizeBilinear(o,[t,t],!1,!1)),o.as3D(t,t,3)}if(i instanceof at.getEnv().Canvas)return jo.fromPixels(K$(i,t,n));throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)});return At(a.map(s=>re(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function vt(e){if(e instanceof Wr)return e;let t=Array.isArray(e)?e:[e];if(!t.length)throw new Error("toNetInput - empty array passed as input");let n=r=>Array.isArray(e)?` at input index ${r}:`:"",a=t.map(kp);return a.forEach((r,s)=>{if(!Sk(r)&&!Lr(r)&&!wa(r))throw typeof t[s]=="string"?new Error(`toNetInput -${n(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${n(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(wa(r)){let i=r.shape[0];if(i!==1)throw new Error(`toNetInput -${n(s)} tf.Tensor4D with batchSize ${i} passed, but not supported in input array`)}}),await Promise.all(a.map(r=>Sk(r)&&H$(r))),new Wr(a,Array.isArray(e))}async function Pd(e,t){let{Canvas:n}=at.getEnv(),a=e;if(!(e instanceof n)){let i=await vt(e);if(i.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let o=i.getInput(0);a=o instanceof n?o:await j$(o)}let r=ra(a);return t.map(i=>i instanceof Ft?i.forSize(a.width,a.height).box.floor():i).map(i=>i.clipAtImageBorders(a.width,a.height)).map(({x:i,y:o,width:l,height:u})=>{let p=Np({width:l,height:u});return l>0&&u>0&&ra(p).putImageData(r.getImageData(i,o,l,u),0,0),p})}async function Ld(e,t){if(!Lr(e)&&!wa(e))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(wa(e)&&e.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return O(()=>{let[n,a,r]=e.shape.slice(wa(e)?1:0);return t.map(o=>o instanceof Ft?o.forSize(a,n).box:o).map(o=>o.clipAtImageBorders(a,n)).filter(o=>o.width>0&&o.height>0).map(({x:o,y:l,width:u,height:p})=>Ho(e.as3D(n,a,r),[l,o,0],[p,u,r]))})}async function Rs(e,t){let{fetch:n}=at.getEnv(),a=await n(e,t);if(!(a.status<400))throw new Error(`failed to fetch: (${a.status}) ${a.statusText}, from url: ${a.url}`);return a}async function Qke(e){let t=await Rs(e),n=await t.blob();if(!n.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${n.type}, for url: ${t.url}`);return q$(n)}async function X$(e){return(await Rs(e)).json()}async function rIe(e){return new Float32Array(await(await Rs(e)).arrayBuffer())}function Y$(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToVideo - expected buf to be of type: Blob"));let a=at.getEnv().createVideoElement();a.oncanplay=()=>t(a),a.onerror=n,a.playsInline=!0,a.muted=!0,a.src=URL.createObjectURL(e),a.play()})}async function pIe(e){let t=await Rs(e),n=await t.blob();if(!n.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${n.type}, for url: ${t.url}`);return Y$(n)}function Zf(e,t){let n=`${t}-weights_manifest.json`;if(!e)return{modelBaseUri:"",manifestUri:n};if(e==="/")return{modelBaseUri:"/",manifestUri:`/${n}`};let a=e.startsWith("http://")?"http://":e.startsWith("https://")?"https://":"";e=e.replace(a,"");let r=e.split("/").filter(o=>o),s=e.endsWith(".json")?r[r.length-1]:n,i=a+(e.endsWith(".json")?r.slice(0,r.length-1):r).join("/");return i=e.startsWith("/")?`/${i}`:i,{modelBaseUri:i,manifestUri:i==="/"?`/${s}`:`${i}/${s}`}}async function Z$(e,t){let{manifestUri:n,modelBaseUri:a}=Zf(e,t),r=await X$(n);return qt.loadWeights(r,a)}function bIe(e,t,n=!1){let{width:a,height:r}=n?Sp(t):t;return e.width=a,e.height=r,{width:a,height:r}}var fn=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:n,objProp:a}=this.traversePropertyPath(t);return n[a]}reassignParamFromPath(t,n){let{obj:a,objProp:r}=this.traversePropertyPath(t);a[r].dispose(),a[r]=n}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof os)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof os))}variable(){this.getFrozenParams().forEach(({path:t,tensor:n})=>{this.reassignParamFromPath(t,n.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:n})=>{let a=bn(n.dataSync());n.dispose(),this.reassignParamFromPath(t,a)})}dispose(t=!0){this.getParamList().forEach(n=>{if(t&&n.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${n.path}`);n.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,n)=>t.concat(n)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let n=await Z$(t,this.getDefaultModelName());this.loadFromWeightMap(n)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:n}=at.getEnv(),{manifestUri:a,modelBaseUri:r}=Zf(t,this.getDefaultModelName()),s=u=>Promise.all(u.map(p=>n(p).then(d=>typeof d=="string"?Buffer.from(d):d.buffer))),i=qt.weightsLoaderFactory(s),o=JSON.parse((await n(a)).toString()),l=await i(o,r);this.loadFromWeightMap(l)}loadFromWeightMap(t){let{paramMappings:n,params:a}=this.extractParamsFromWeightMap(t);this._paramMappings=n,this._params=a}extractWeights(t){let{paramMappings:n,params:a}=this.extractParams(t);this._paramMappings=n,this._params=a}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let n=t.split("/").reduce((s,i)=>{if(!s.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${t}`);return{obj:s.nextObj,objProp:i,nextObj:s.nextObj[i]}},{nextObj:this.params}),{obj:a,objProp:r}=n;if(!a||!r||!(a[r]instanceof Ce))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:a,objProp:r}}};function Un(e,t,n){return O(()=>{let a=Es(e,t.depthwise_filter,t.pointwise_filter,n,"same");return a=X(a,t.bias),a})}function Jf(e,t,n=!1){return O(()=>{let a=Ke(n?X($t(e,t.conv0.filters,[2,2],"same"),t.conv0.bias):Un(e,t.conv0,[2,2])),r=Un(a,t.conv1,[1,1]),s=Ke(X(a,r)),i=Un(s,t.conv2,[1,1]);return Ke(X(a,X(r,i)))})}function zd(e,t,n=!1,a=!0){return O(()=>{let r=Ke(n?X($t(e,t.conv0.filters,a?[2,2]:[1,1],"same"),t.conv0.bias):Un(e,t.conv0,a?[2,2]:[1,1])),s=Un(r,t.conv1,[1,1]),i=Ke(X(r,s)),o=Un(i,t.conv2,[1,1]),l=Ke(X(r,X(s,o))),u=Un(l,t.conv3,[1,1]);return Ke(X(r,X(s,X(o,u))))})}function il(e,t,n="same",a=!1){return O(()=>{let r=X($t(e,t.filters,[1,1],n),t.bias);return a?Ke(r):r})}function En(e,t){Object.keys(e).forEach(n=>{t.some(a=>a.originalPath===n)||e[n].dispose()})}function Tp(e,t){return(n,a,r,s)=>{let i=Fa(e(n*a*r*r),[r,r,n,a]),o=qe(e(a));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:i,bias:o}}}function Qf(e,t){return(n,a,r)=>{let s=Ea(e(n*a),[n,a]),i=qe(e(a));return t.push({paramPath:`${r}/weights`},{paramPath:`${r}/bias`}),{weights:s,bias:i}}}var Wd=class{constructor(t,n,a){this.depthwise_filter=t;this.pointwise_filter=n;this.bias=a}};function Cp(e,t){return(n,a,r)=>{let s=Fa(e(9*n),[3,3,n,1]),i=Fa(e(n*a),[1,1,n,a]),o=qe(e(a));return t.push({paramPath:`${r}/depthwise_filter`},{paramPath:`${r}/pointwise_filter`},{paramPath:`${r}/bias`}),new Wd(s,i,o)}}function Ep(e){return t=>{let n=e(`${t}/depthwise_filter`,4),a=e(`${t}/pointwise_filter`,4),r=e(`${t}/bias`,1);return new Wd(n,a,r)}}function sa(e,t){return(n,a,r)=>{let s=e[n];if(!tl(s,a))throw new Error(`expected weightMap[${n}] to be a Tensor${a}D, instead have ${s}`);return t.push({originalPath:n,paramPath:r||n}),s}}function _n(e){let t=e;function n(r){let s=t.slice(0,r);return t=t.slice(r),s}function a(){return t}return{extractWeights:n,getRemainingWeights:a}}function eg(e,t){let n=Tp(e,t),a=Cp(e,t);function r(i,o,l,u=!1){let p=u?n(i,o,3,`${l}/conv0`):a(i,o,`${l}/conv0`),d=a(o,o,`${l}/conv1`),c=a(o,o,`${l}/conv2`);return{conv0:p,conv1:d,conv2:c}}function s(i,o,l,u=!1){let{conv0:p,conv1:d,conv2:c}=r(i,o,l,u),h=a(o,o,`${l}/conv3`);return{conv0:p,conv1:d,conv2:c,conv3:h}}return{extractDenseBlock3Params:r,extractDenseBlock4Params:s}}function J$(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),{extractDenseBlock4Params:r}=eg(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2"),l=r(128,256,"dense3");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o,dense3:l}}}function tg(e){return t=>{let n=e(`${t}/filters`,4),a=e(`${t}/bias`,1);return{filters:n,bias:a}}}function ng(e,t){let n=sa(e,t),a=tg(n),r=Ep(n);function s(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`);return{conv0:u,conv1:p,conv2:d}}function i(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`),c=r(`${o}/conv3`);return{conv0:u,conv1:p,conv2:d,conv3:c}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:i}}function Q$(e){let t=[],{extractDenseBlock4Params:n}=ng(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2"),dense3:n("dense3")};return En(e,t),{params:a,paramMappings:t}}var _p=class extends fn{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceFeatureExtractor - load model before inference");return O(()=>{let a=re(t.toBatchTensor(112,!0),"float32"),s=gr(a,[122.782,117.001,104.298]).div(255),i=zd(s,n.dense0,!0);return i=zd(i,n.dense1),i=zd(i,n.dense2),i=zd(i,n.dense3),i=ya(i,[7,7],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Q$(t)}extractParams(t){return J$(t)}};function Bd(e,t){return O(()=>X($e(e,t.weights),t.bias))}function eD(e,t,n){let a=[],{extractWeights:r,getRemainingWeights:s}=_n(e),o=Qf(r,a)(t,n,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:a,params:{fc:o}}}function tD(e){let t=[],n=sa(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:a("fc")};return En(e,t),{params:r,paramMappings:t}}function ag(e){let t={},n={};return Object.keys(e).forEach(a=>{let r=a.startsWith("fc")?n:t;r[a]=e[a]}),{featureExtractorMap:t,classifierMap:n}}var Ap=class extends fn{constructor(t,n){super(t),this._faceFeatureExtractor=n}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:n}=this;if(!n)throw new Error(`${this._name} - load model before inference`);return O(()=>{let a=t instanceof Wr?this.faceFeatureExtractor.forwardInput(t):t;return Bd(a.as2D(a.shape[0],-1),n.fc)})}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:n,paramMappings:a}=this.extractClassifierParams(t);this._params=n,this._paramMappings=a}extractClassifierParams(t){return eD(t,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(t){let{featureExtractorMap:n,classifierMap:a}=ag(t);return this.faceFeatureExtractor.loadFromWeightMap(n),tD(a)}extractParams(t){let n=this.getClassifierChannelsIn(),a=this.getClassifierChannelsOut(),r=a*n+a,s=t.slice(0,t.length-r),i=t.slice(t.length-r);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(i)}};var nD=["neutral","happy","sad","angry","fearful","disgusted","surprised"],Ms=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);nD.forEach((n,a)=>{this[n]=t[a]})}asSortedArray(){return nD.map(t=>({expression:t,probability:this[t]})).sort((t,n)=>n.probability-t.probability)}};var rg=class extends Ap{constructor(t=new _p){super("FaceExpressionNet",t)}forwardInput(t){return O(()=>ja(this.runNet(t)))}async forward(t){return this.forwardInput(await vt(t))}async predictExpressions(t){let n=await vt(t),a=await this.forwardInput(n),r=await Promise.all(dt(a).map(async i=>{let o=i.dataSync();return i.dispose(),o}));a.dispose();let s=r.map(i=>new Ms(i));return n.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function aD(e){return e.expressions instanceof Ms}function Nk(e,t){return{...e,...{expressions:t}}}function Wfe(e,t,n=.1,a){(Array.isArray(t)?t:[t]).forEach(s=>{let i=s instanceof Ms?s:aD(s)?s.expressions:void 0;if(!i)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let l=i.asSortedArray().filter(d=>d.probability>n),u=zr(s)?s.detection.box.bottomLeft:a||new He(0,0);new sl(l.map(d=>`${d.expression} (${nl(d.probability)})`),u).draw(e)})}function Fp(e){return zr(e)&&e.landmarks instanceof ka&&e.unshiftedLandmarks instanceof ka&&e.alignedRect instanceof Ft}function Bfe(e){let t=l=>l*180/Math.PI,n=(l,u)=>Math.sqrt((l.x-u.x)**2+(l.y-u.y)**2),a={roll:void 0,pitch:void 0,yaw:void 0},r=(l,u,p)=>{let d=Math.floor(l.x-u.x),c=Math.floor(u.x-p.x);return d-c},s=(l,u)=>{let p=Math.hypot(u.x-l.x,u.y-l.y),d=u.y-l.y,c=Math.asin(d/p),h=t(c),m=Math.floor(90-h),f=u.x-l.x<0?-1:1;return m*f},i=(l,u,p)=>{let d=n(l,p),c=new He((l.x+p.x)/2,(l.y+p.y)/2),h=n(u,c),m=Math.atan(h/d),f=Math.floor(t(m)),g=c.y-u.y<0?-1:1;return f*g};if(!e||!e.positions||e.positions.length!==68)return a;let o=e.positions;return a.roll=s(o[27],o[66]),a.pitch=i(o[14],o[30],o[2]),a.yaw=r(o[14],o[33],o[2]),a}function Vd(e,t){let{box:n}=e.detection,a=t.shiftBy(n.x,n.y),r=a.align(),{imageDims:s}=e.detection,i=new Ft(e.detection.score,r.rescale(s.reverse()),s),o=Bfe(t);return{...e,...{landmarks:a,unshiftedLandmarks:t,alignedRect:i,angle:o}}}var sg=class{constructor(t={}){let{drawLines:n=!0,drawPoints:a=!0,lineWidth:r,lineColor:s,pointSize:i,pointColor:o}=t;this.drawLines=n,this.drawPoints=a,this.lineWidth=r||1,this.pointSize=i||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=o||"rgba(255, 0, 255, 1)"}},ig=class{constructor(t,n={}){this.faceLandmarks=t,this.options=new sg(n)}draw(t){let n=ra(t),{drawLines:a,drawPoints:r,lineWidth:s,lineColor:i,pointSize:o,pointColor:l}=this.options;if(a&&this.faceLandmarks instanceof vp&&(n.strokeStyle=i,n.lineWidth=s,Pr(n,this.faceLandmarks.getJawOutline()),Pr(n,this.faceLandmarks.getLeftEyeBrow()),Pr(n,this.faceLandmarks.getRightEyeBrow()),Pr(n,this.faceLandmarks.getNose()),Pr(n,this.faceLandmarks.getLeftEye(),!0),Pr(n,this.faceLandmarks.getRightEye(),!0),Pr(n,this.faceLandmarks.getMouth(),!0)),r){n.strokeStyle=l,n.fillStyle=l;let u=p=>{n.beginPath(),n.arc(p.x,p.y,o,0,2*Math.PI),n.fill()};this.faceLandmarks.positions.forEach(u)}}};function Vfe(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof ka?a:Fp(a)?a.landmarks:void 0;if(!r)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new ig(r).draw(e)})}var sD="1.7.13";function Hfe(e,t){let n=Tp(e,t),a=Cp(e,t);function r(i,o,l){let u=a(i,o,`${l}/separable_conv0`),p=a(o,o,`${l}/separable_conv1`),d=n(i,o,1,`${l}/expansion_conv`);return{separable_conv0:u,separable_conv1:p,expansion_conv:d}}function s(i,o){let l=a(i,i,`${o}/separable_conv0`),u=a(i,i,`${o}/separable_conv1`),p=a(i,i,`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:n,extractSeparableConvParams:a,extractReductionBlockParams:r,extractMainBlockParams:s}}function iD(e,t){let n=[],{extractWeights:a,getRemainingWeights:r}=_n(e),{extractConvParams:s,extractSeparableConvParams:i,extractReductionBlockParams:o,extractMainBlockParams:l}=Hfe(a,n),u=s(3,32,3,"entry_flow/conv_in"),p=o(32,64,"entry_flow/reduction_block_0"),d=o(64,128,"entry_flow/reduction_block_1"),c={conv_in:u,reduction_block_0:p,reduction_block_1:d},h={};fr(t,0,1).forEach(b=>{h[`main_block_${b}`]=l(128,`middle_flow/main_block_${b}`)});let m=o(128,256,"exit_flow/reduction_block"),f=i(256,512,"exit_flow/separable_conv"),g={reduction_block:m,separable_conv:f};if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:n,params:{entry_flow:c,middle_flow:h,exit_flow:g}}}function qfe(e,t){let n=sa(e,t),a=tg(n),r=Ep(n);function s(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=a(`${o}/expansion_conv`);return{separable_conv0:l,separable_conv1:u,expansion_conv:p}}function i(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=r(`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}}function oD(e,t){let n=[],{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}=qfe(e,n),o=a("entry_flow/conv_in"),l=s("entry_flow/reduction_block_0"),u=s("entry_flow/reduction_block_1"),p={conv_in:o,reduction_block_0:l,reduction_block_1:u},d={};fr(t,0,1).forEach(f=>{d[`main_block_${f}`]=i(`middle_flow/main_block_${f}`)});let c=s("exit_flow/reduction_block"),h=r("exit_flow/separable_conv"),m={reduction_block:c,separable_conv:h};return En(e,n),{params:{entry_flow:p,middle_flow:d,exit_flow:m},paramMappings:n}}function lD(e,t,n){return X($t(e,t.filters,n,"same"),t.bias)}function Tk(e,t,n=!0){let a=n?Ke(e):e;return a=Un(a,t.separable_conv0,[1,1]),a=Un(Ke(a),t.separable_conv1,[1,1]),a=Dt(a,[3,3],[2,2],"same"),a=X(a,lD(e,t.expansion_conv,[2,2])),a}function jfe(e,t){let n=Un(Ke(e),t.separable_conv0,[1,1]);return n=Un(Ke(n),t.separable_conv1,[1,1]),n=Un(Ke(n),t.separable_conv2,[1,1]),n=X(n,e),n}var og=class extends fn{constructor(t){super("TinyXception"),this._numMainBlocks=t}forwardInput(t){let{params:n}=this;if(!n)throw new Error("TinyXception - load model before inference");return O(()=>{let a=re(t.toBatchTensor(112,!0),"float32"),s=gr(a,[122.782,117.001,104.298]).div(255),i=Ke(lD(s,n.entry_flow.conv_in,[2,2]));return i=Tk(i,n.entry_flow.reduction_block_0,!1),i=Tk(i,n.entry_flow.reduction_block_1),fr(this._numMainBlocks,0,1).forEach(o=>{i=jfe(i,n.middle_flow[`main_block_${o}`])}),i=Tk(i,n.exit_flow.reduction_block),i=Ke(Un(i,n.exit_flow.separable_conv,[1,1])),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(t){return oD(t,this._numMainBlocks)}extractParams(t){return iD(t,this._numMainBlocks)}};function uD(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),r=Qf(n,t),s=r(512,1,"fc/age"),i=r(512,2,"fc/gender");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{fc:{age:s,gender:i}}}}function pD(e){let t=[],n=sa(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:{age:a("fc/age"),gender:a("fc/gender")}};return En(e,t),{params:r,paramMappings:t}}var Ck=(n=>(n.FEMALE="female",n.MALE="male",n))(Ck||{});var lg=class extends fn{constructor(t=new og(2)){super("AgeGenderNet"),this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:n}=this;if(!n)throw new Error(`${this._name} - load model before inference`);return O(()=>{let a=t instanceof Wr?this.faceFeatureExtractor.forwardInput(t):t,r=ya(a,[7,7],[2,2],"valid").as2D(a.shape[0],-1),s=Bd(r,n.fc.age).as1D(),i=Bd(r,n.fc.gender);return{age:s,gender:i}})}forwardInput(t){return O(()=>{let{age:n,gender:a}=this.runNet(t);return{age:n,gender:ja(a)}})}async forward(t){return this.forwardInput(await vt(t))}async predictAgeAndGender(t){let n=await vt(t),a=await this.forwardInput(n),r=dt(a.age),s=dt(a.gender),i=r.map((l,u)=>({ageTensor:l,genderTensor:s[u]})),o=await Promise.all(i.map(async({ageTensor:l,genderTensor:u})=>{let p=l.dataSync()[0],d=u.dataSync()[0],c=d>.5,h=c?"male":"female",m=c?d:1-d;return l.dispose(),u.dispose(),{age:p,gender:h,genderProbability:m}}));return a.age.dispose(),a.gender.dispose(),n.isBatchInput?o:o[0]}getDefaultModelName(){return"age_gender_model"}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:n,paramMappings:a}=this.extractClassifierParams(t);this._params=n,this._paramMappings=a}extractClassifierParams(t){return uD(t)}extractParamsFromWeightMap(t){let{featureExtractorMap:n,classifierMap:a}=ag(t);return this.faceFeatureExtractor.loadFromWeightMap(n),pD(a)}extractParams(t){let a=t.slice(0,t.length-1539),r=t.slice(t.length-1539);return this.faceFeatureExtractor.extractWeights(a),this.extractClassifierParams(r)}};var $p=class extends Ap{postProcess(t,n,a){let r=a.map(({width:i,height:o})=>{let l=n/Math.max(o,i);return{width:i*l,height:o*l}}),s=r.length;return O(()=>{let i=(d,c)=>At([yn([68],d,"float32"),yn([68],c,"float32")],1).as2D(1,136).as1D(),o=(d,c)=>{let{width:h,height:m}=r[d];return c(h,m)?Math.abs(h-m)/2:0},l=d=>o(d,(c,h)=>co(d,(c,h)=>hi(l(c),u(c))))).div(At(Array.from(Array(s),(d,c)=>i(r[c].width,r[c].height))))})}forwardInput(t){return O(()=>{let n=this.runNet(t);return this.postProcess(n,t.inputSize,t.inputDimensions.map(([a,r])=>({height:a,width:r})))})}async forward(t){return this.forwardInput(await vt(t))}async detectLandmarks(t){let n=await vt(t),a=O(()=>dt(this.forwardInput(n))),r=await Promise.all(a.map(async(s,i)=>{let o=Array.from(s.dataSync()),l=o.filter((p,d)=>Gf(d)),u=o.filter((p,d)=>!Gf(d));return new vp(Array(68).fill(0).map((p,d)=>new He(l[d],u[d])),{height:n.getInputHeight(i),width:n.getInputWidth(i)})}));return a.forEach(s=>s.dispose()),n.isBatchInput?r:r[0]}getClassifierChannelsOut(){return 136}};var Dp=class extends $p{constructor(t=new _p){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};function cD(e){let t=[],{extractDenseBlock3Params:n}=ng(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2")};return En(e,t),{params:a,paramMappings:t}}function dD(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),{extractDenseBlock3Params:r}=eg(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o}}}var ug=class extends fn{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("TinyFaceFeatureExtractor - load model before inference");return O(()=>{let a=re(t.toBatchTensor(112,!0),"float32"),s=gr(a,[122.782,117.001,104.298]).div(255),i=Jf(s,n.dense0,!0);return i=Jf(i,n.dense1),i=Jf(i,n.dense2),i=ya(i,[14,14],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return cD(t)}extractParams(t){return dD(t)}};var pg=class extends $p{constructor(t=new ug){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var hD=class extends Dp{};function mD(e,t){return X(z(e,t.weights),t.biases)}function Ek(e,t,n,a,r="same"){let{filters:s,bias:i}=t.conv,o=$t(e,s,n,r);return o=X(o,i),o=mD(o,t.scale),a?Ke(o):o}function fD(e,t){return Ek(e,t,[1,1],!0)}function _k(e,t){return Ek(e,t,[1,1],!1)}function cg(e,t){return Ek(e,t,[2,2],!0,"valid")}function Kfe(e,t){function n(o,l,u){let p=e(o),d=p.length/(l*u*u);if(gk(d))throw new Error(`depth has to be an integer: ${d}, weights.length: ${p.length}, numFilters: ${l}, filterSize: ${u}`);return O(()=>De(Fa(p,[l,d,u,u]),[2,3,1,0]))}function a(o,l,u,p){let d=n(o,l,u),c=qe(e(l));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:d,bias:c}}function r(o,l){let u=qe(e(o)),p=qe(e(o));return t.push({paramPath:`${l}/weights`},{paramPath:`${l}/biases`}),{weights:u,biases:p}}function s(o,l,u,p){let d=a(o,l,u,`${p}/conv`),c=r(l,`${p}/scale`);return{conv:d,scale:c}}function i(o,l,u,p,d=!1){let c=s((d?.5:1)*o,l,u,`${p}/conv1`),h=s(o,l,u,`${p}/conv2`);return{conv1:c,conv2:h}}return{extractConvLayerParams:s,extractResidualLayerParams:i}}function gD(e){let{extractWeights:t,getRemainingWeights:n}=_n(e),a=[],{extractConvLayerParams:r,extractResidualLayerParams:s}=Kfe(t,a),i=r(4704,32,7,"conv32_down"),o=s(9216,32,3,"conv32_1"),l=s(9216,32,3,"conv32_2"),u=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),d=s(36864,64,3,"conv64_1"),c=s(36864,64,3,"conv64_2"),h=s(36864,64,3,"conv64_3"),m=s(147456,128,3,"conv128_down",!0),f=s(147456,128,3,"conv128_1"),g=s(147456,128,3,"conv128_2"),b=s(589824,256,3,"conv256_down",!0),y=s(589824,256,3,"conv256_1"),x=s(589824,256,3,"conv256_2"),v=s(589824,256,3,"conv256_down_out"),I=O(()=>De(Ea(t(256*128),[128,256]),[1,0]));if(a.push({paramPath:"fc"}),n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{params:{conv32_down:i,conv32_1:o,conv32_2:l,conv32_3:u,conv64_down:p,conv64_1:d,conv64_2:c,conv64_3:h,conv128_down:m,conv128_1:f,conv128_2:g,conv256_down:b,conv256_1:y,conv256_2:x,conv256_down_out:v,fc:I},paramMappings:a}}function Xfe(e,t){let n=sa(e,t);function a(i){let o=n(`${i}/scale/weights`,1),l=n(`${i}/scale/biases`,1);return{weights:o,biases:l}}function r(i){let o=n(`${i}/conv/filters`,4),l=n(`${i}/conv/bias`,1),u=a(i);return{conv:{filters:o,bias:l},scale:u}}function s(i){return{conv1:r(`${i}/conv1`),conv2:r(`${i}/conv2`)}}return{extractConvLayerParams:r,extractResidualLayerParams:s}}function bD(e){let t=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=Xfe(e,t),r=n("conv32_down"),s=a("conv32_1"),i=a("conv32_2"),o=a("conv32_3"),l=a("conv64_down"),u=a("conv64_1"),p=a("conv64_2"),d=a("conv64_3"),c=a("conv128_down"),h=a("conv128_1"),m=a("conv128_2"),f=a("conv256_down"),g=a("conv256_1"),b=a("conv256_2"),y=a("conv256_down_out"),{fc:x}=e;if(t.push({originalPath:"fc",paramPath:"fc"}),!fk(x))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${x}`);let v={conv32_down:r,conv32_1:s,conv32_2:i,conv32_3:o,conv64_down:l,conv64_1:u,conv64_2:p,conv64_3:d,conv128_down:c,conv128_1:h,conv128_2:m,conv256_down:f,conv256_1:g,conv256_2:b,conv256_down_out:y,fc:x};return En(e,t),{params:v,paramMappings:t}}function Ya(e,t){let n=fD(e,t.conv1);return n=_k(n,t.conv2),n=X(n,e),n=Ke(n),n}function Ud(e,t){let n=cg(e,t.conv1);n=_k(n,t.conv2);let a=ya(e,2,2,"valid"),r=It(a.shape),s=a.shape[3]!==n.shape[3];if(a.shape[1]!==n.shape[1]||a.shape[2]!==n.shape[2]){let o=[...n.shape];o[1]=1;let l=It(o);n=et([n,l],1);let u=[...n.shape];u[2]=1;let p=It(u);n=et([n,p],2)}return a=s?et([a,r],3):a,n=X(a,n),n=Ke(n),n}var Rp=class extends fn{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceRecognitionNet - load model before inference");return O(()=>{let a=re(t.toBatchTensor(150,!0),"float32"),s=gr(a,[122.782,117.001,104.298]).div(255),i=cg(s,n.conv32_down);i=Dt(i,3,2,"valid"),i=Ya(i,n.conv32_1),i=Ya(i,n.conv32_2),i=Ya(i,n.conv32_3),i=Ud(i,n.conv64_down),i=Ya(i,n.conv64_1),i=Ya(i,n.conv64_2),i=Ya(i,n.conv64_3),i=Ud(i,n.conv128_down),i=Ya(i,n.conv128_1),i=Ya(i,n.conv128_2),i=Ud(i,n.conv256_down),i=Ya(i,n.conv256_1),i=Ya(i,n.conv256_2),i=Ud(i,n.conv256_down_out);let o=i.mean([1,2]);return $e(o,n.fc)})}async forward(t){return this.forwardInput(await vt(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(i=>i<=0))return new Float32Array(128);let n=await vt(t),a=O(()=>dt(this.forwardInput(n))),r=await Promise.all(a.map(i=>i.data()));return a.forEach(i=>i.dispose()),n.isBatchInput?r:r[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return bD(t)}extractParams(t){return gD(t)}};function G2e(e){let t=new Rp;return t.extractWeights(e),t}function Ak(e,t){return{...e,...{descriptor:t}}}function K2e(e){return typeof e.age=="number"}function Fk(e,t){return{...e,...{age:t}}}function J2e(e){return(e.gender==="male"||e.gender==="female")&&gp(e.genderProbability)}function $k(e,t,n){return{...e,...{gender:t,genderProbability:n}}}function Yfe(e,t){function n(l,u){let p=Fa(e(9*l),[3,3,l,1]),d=qe(e(l)),c=qe(e(l)),h=qe(e(l)),m=qe(e(l));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/batch_norm_scale`},{paramPath:`${u}/batch_norm_offset`},{paramPath:`${u}/batch_norm_mean`},{paramPath:`${u}/batch_norm_variance`}),{filters:p,batch_norm_scale:d,batch_norm_offset:c,batch_norm_mean:h,batch_norm_variance:m}}function a(l,u,p,d,c){let h=Fa(e(l*u*p*p),[p,p,l,u]),m=qe(e(u));return t.push({paramPath:`${d}/filters`},{paramPath:`${d}/${c?"batch_norm_offset":"bias"}`}),{filters:h,bias:m}}function r(l,u,p,d){let{filters:c,bias:h}=a(l,u,p,d,!0);return{filters:c,batch_norm_offset:h}}function s(l,u,p){let d=n(l,`${p}/depthwise_conv`),c=r(l,u,1,`${p}/pointwise_conv`);return{depthwise_conv:d,pointwise_conv:c}}function i(){let l=r(3,32,3,"mobilenetv1/conv_0"),u=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),d=s(128,128,"mobilenetv1/conv_3"),c=s(128,256,"mobilenetv1/conv_4"),h=s(256,256,"mobilenetv1/conv_5"),m=s(256,512,"mobilenetv1/conv_6"),f=s(512,512,"mobilenetv1/conv_7"),g=s(512,512,"mobilenetv1/conv_8"),b=s(512,512,"mobilenetv1/conv_9"),y=s(512,512,"mobilenetv1/conv_10"),x=s(512,512,"mobilenetv1/conv_11"),v=s(512,1024,"mobilenetv1/conv_12"),I=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,conv_8:g,conv_9:b,conv_10:y,conv_11:x,conv_12:v,conv_13:I}}function o(){let l=r(1024,256,1,"prediction_layer/conv_0"),u=r(256,512,3,"prediction_layer/conv_1"),p=r(512,128,1,"prediction_layer/conv_2"),d=r(128,256,3,"prediction_layer/conv_3"),c=r(256,128,1,"prediction_layer/conv_4"),h=r(128,256,3,"prediction_layer/conv_5"),m=r(256,64,1,"prediction_layer/conv_6"),f=r(64,128,3,"prediction_layer/conv_7"),g=a(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),b=a(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),y=a(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),x=a(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),v=a(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),I=a(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),N=a(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),C=a(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),_=a(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),F=a(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),D=a(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),$=a(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,box_predictor_0:{box_encoding_predictor:g,class_predictor:b},box_predictor_1:{box_encoding_predictor:y,class_predictor:x},box_predictor_2:{box_encoding_predictor:v,class_predictor:I},box_predictor_3:{box_encoding_predictor:N,class_predictor:C},box_predictor_4:{box_encoding_predictor:_,class_predictor:F},box_predictor_5:{box_encoding_predictor:D,class_predictor:$}}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:o}}function yD(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),{extractMobilenetV1Params:r,extractPredictionLayerParams:s}=Yfe(n,t),i=r(),o=s(),u={extra_dim:xd(n(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:{mobilenetv1:i,prediction_layer:o,output_layer:u},paramMappings:t}}function Zfe(e,t){let n=sa(e,t);function a(u,p,d){let c=n(`${u}/Conv2d_${p}_pointwise/weights`,4,`${d}/filters`),h=n(`${u}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${d}/batch_norm_offset`);return{filters:c,batch_norm_offset:h}}function r(u){let p=`mobilenetv1/conv_${u}`,d=`MobilenetV1/Conv2d_${u}_depthwise`,c=`${p}/depthwise_conv`,h=`${p}/pointwise_conv`,m=n(`${d}/depthwise_weights`,4,`${c}/filters`),f=n(`${d}/BatchNorm/gamma`,1,`${c}/batch_norm_scale`),g=n(`${d}/BatchNorm/beta`,1,`${c}/batch_norm_offset`),b=n(`${d}/BatchNorm/moving_mean`,1,`${c}/batch_norm_mean`),y=n(`${d}/BatchNorm/moving_variance`,1,`${c}/batch_norm_variance`);return{depthwise_conv:{filters:m,batch_norm_scale:f,batch_norm_offset:g,batch_norm_mean:b,batch_norm_variance:y},pointwise_conv:a("MobilenetV1",u,h)}}function s(){return{conv_0:a("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:r(1),conv_2:r(2),conv_3:r(3),conv_4:r(4),conv_5:r(5),conv_6:r(6),conv_7:r(7),conv_8:r(8),conv_9:r(9),conv_10:r(10),conv_11:r(11),conv_12:r(12),conv_13:r(13)}}function i(u,p){let d=n(`${u}/weights`,4,`${p}/filters`),c=n(`${u}/biases`,1,`${p}/bias`);return{filters:d,bias:c}}function o(u){let p=i(`Prediction/BoxPredictor_${u}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${u}/box_encoding_predictor`),d=i(`Prediction/BoxPredictor_${u}/ClassPredictor`,`prediction_layer/box_predictor_${u}/class_predictor`);return{box_encoding_predictor:p,class_predictor:d}}function l(){return{conv_0:a("Prediction",0,"prediction_layer/conv_0"),conv_1:a("Prediction",1,"prediction_layer/conv_1"),conv_2:a("Prediction",2,"prediction_layer/conv_2"),conv_3:a("Prediction",3,"prediction_layer/conv_3"),conv_4:a("Prediction",4,"prediction_layer/conv_4"),conv_5:a("Prediction",5,"prediction_layer/conv_5"),conv_6:a("Prediction",6,"prediction_layer/conv_6"),conv_7:a("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:o(0),box_predictor_1:o(1),box_predictor_2:o(2),box_predictor_3:o(3),box_predictor_4:o(4),box_predictor_5:o(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:l}}function xD(e){let t=[],{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=Zfe(e,t),r=e["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!Lr(r))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${r}`);let s={mobilenetv1:n(),prediction_layer:a(),output_layer:{extra_dim:r}};return En(e,t),{params:s,paramMappings:t}}function Ra(e,t,n){return O(()=>{let a=$t(e,t.filters,n,"same");return a=X(a,t.batch_norm_offset),an(a,0,6)})}var Jfe=.0010000000474974513;function Qfe(e,t,n){return O(()=>{let a=Ns(e,t.filters,n,"same");return a=Ss(a,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Jfe),an(a,0,6)})}function ege(e){return[2,4,6,12].some(t=>t===e)?[2,2]:[1,1]}function vD(e,t){return O(()=>{let n,a=Ra(e,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,i)=>{let o=i+1,l=ege(o);a=Qfe(a,s.depthwise_conv,l),a=Ra(a,s.pointwise_conv,[1,1]),o===11&&(n=a)}),n===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:a,conv11:n}})}function tge(e,t,n){let a=e.arraySync(),r=Math.min(a[t][0],a[t][2]),s=Math.min(a[t][1],a[t][3]),i=Math.max(a[t][0],a[t][2]),o=Math.max(a[t][1],a[t][3]),l=Math.min(a[n][0],a[n][2]),u=Math.min(a[n][1],a[n][3]),p=Math.max(a[n][0],a[n][2]),d=Math.max(a[n][1],a[n][3]),c=(i-r)*(o-s),h=(p-l)*(d-u);if(c<=0||h<=0)return 0;let m=Math.max(r,l),f=Math.max(s,u),g=Math.min(i,p),b=Math.min(o,d),y=Math.max(g-m,0)*Math.max(b-f,0);return y/(c+h-y)}function wD(e,t,n,a,r){let s=e.shape[0],i=Math.min(n,s),o=t.map((p,d)=>({score:p,boxIndex:d})).filter(p=>p.score>r).sort((p,d)=>d.score-p.score),l=p=>p<=a?1:0,u=[];return o.forEach(p=>{if(u.length>=i)return;let d=p.score;for(let c=u.length-1;c>=0;--c){let h=tge(e,p.boxIndex,u[c]);if(h!==0&&(p.score*=l(h),p.score<=r))break}d===p.score&&u.push(p.boxIndex)}),u}function nge(e){let t=dt(De(e,[1,0])),n=[pe(t[2],t[0]),pe(t[3],t[1])],a=[X(t[0],he(n[0],2)),X(t[1],he(n[1],2))];return{sizes:n,centers:a}}function age(e,t){let{sizes:n,centers:a}=nge(e),r=dt(De(t,[1,0])),s=he(z(dn(he(r[2],5)),n[0]),2),i=X(z(he(r[0],10),n[0]),a[0]),o=he(z(dn(he(r[3],5)),n[1]),2),l=X(z(he(r[1],10),n[1]),a[1]);return De(At([pe(i,s),pe(l,o),X(i,s),X(l,o)]),[1,0])}function kD(e,t,n){return O(()=>{let a=e.shape[0],r=age(W(Mn(n.extra_dim,[a,1,1]),[-1,4]),W(e,[-1,4]));r=W(r,[a,r.shape[0]/a,4]);let s=ha(Ve(t,[0,0,1],[-1,-1,-1])),i=Ve(s,[0,0,0],[-1,-1,1]);i=W(i,[a,i.shape[1]]);let o=dt(r),l=dt(i);return{boxes:o,scores:l}})}function ol(e,t){return O(()=>{let n=e.shape[0],a=W(il(e,t.box_encoding_predictor),[n,-1,1,4]),r=W(il(e,t.class_predictor),[n,-1,3]);return{boxPredictionEncoding:a,classPrediction:r}})}function ID(e,t,n){return O(()=>{let a=Ra(e,n.conv_0,[1,1]),r=Ra(a,n.conv_1,[2,2]),s=Ra(r,n.conv_2,[1,1]),i=Ra(s,n.conv_3,[2,2]),o=Ra(i,n.conv_4,[1,1]),l=Ra(o,n.conv_5,[2,2]),u=Ra(l,n.conv_6,[1,1]),p=Ra(u,n.conv_7,[2,2]),d=ol(t,n.box_predictor_0),c=ol(e,n.box_predictor_1),h=ol(r,n.box_predictor_2),m=ol(i,n.box_predictor_3),f=ol(l,n.box_predictor_4),g=ol(p,n.box_predictor_5),b=et([d.boxPredictionEncoding,c.boxPredictionEncoding,h.boxPredictionEncoding,m.boxPredictionEncoding,f.boxPredictionEncoding,g.boxPredictionEncoding],1),y=et([d.classPrediction,c.classPrediction,h.classPrediction,m.classPrediction,f.classPrediction,g.classPrediction],1);return{boxPredictions:b,classPredictions:y}})}var Ma=class{constructor({minConfidence:t,maxResults:n}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=n||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var ll=class extends fn{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("SsdMobilenetv1 - load model before inference");return O(()=>{let a=re(t.toBatchTensor(512,!1),"float32"),r=pe(he(a,127.5),1),s=vD(r,n.mobilenetv1),{boxPredictions:i,classPredictions:o}=ID(s.out,s.conv11,n.prediction_layer);return kD(i,o,n.output_layer)})}async forward(t){return this.forwardInput(await vt(t))}async locateFaces(t,n={}){let{maxResults:a,minConfidence:r}=new Ma(n),s=await vt(t),{boxes:i,scores:o}=this.forwardInput(s),l=i[0],u=o[0];for(let x=1;x{let[v,I]=[Math.max(0,b[x][0]),Math.min(1,b[x][2])].map(_=>_*g),[N,C]=[Math.max(0,b[x][1]),Math.min(1,b[x][3])].map(_=>_*f);return new Ft(p[x],new xp(N,v,C-N,I-v),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return l.dispose(),u.dispose(),y}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return xD(t)}extractParams(t){return yD(t)}};function rge(e){let t=new ll;return t.extractWeights(e),t}function GCe(e){return rge(e)}var SD=class extends ll{};var ND=.4,TD=[new He(.738768,.874946),new He(2.42204,2.65704),new He(4.30971,7.04493),new He(10.246,4.59428),new He(12.6868,11.8741)],CD=[new He(1.603231,2.094468),new He(6.041143,7.080126),new He(2.882459,3.518061),new He(4.266906,5.178857),new He(9.041765,10.66308)],ED=[117.001,114.697,97.404],_D="tiny_yolov2_model",AD="tiny_yolov2_separable_conv_model";var dg=e=>typeof e=="number";function FD(e){if(!e)throw new Error(`invalid config: ${e}`);if(typeof e.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${e.withSeparableConvs}`);if(!dg(e.iouThreshold)||e.iouThreshold<0||e.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${e.iouThreshold}`);if(!Array.isArray(e.classes)||!e.classes.length||!e.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(e.classes)}`);if(!Array.isArray(e.anchors)||!e.anchors.length||!e.anchors.map(t=>t||{}).every(t=>dg(t.x)&&dg(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(e.anchors)}`);if(e.meanRgb&&(!Array.isArray(e.meanRgb)||e.meanRgb.length!==3||!e.meanRgb.every(dg)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(e.meanRgb)}`)}function Mp(e){return O(()=>{let t=z(e,ve(.10000000149011612));return X(Ke(pe(e,t)),t)})}function Br(e,t){return O(()=>{let n=xa(e,[[0,0],[1,1],[1,1],[0,0]]);return n=$t(n,t.conv.filters,[1,1],"valid"),n=pe(n,t.bn.sub),n=z(n,t.bn.truediv),n=X(n,t.conv.bias),Mp(n)})}function Vr(e,t){return O(()=>{let n=xa(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Es(n,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),n=X(n,t.bias),Mp(n)})}function sge(e,t){let n=Tp(e,t);function a(i,o){let l=qe(e(i)),u=qe(e(i));return t.push({paramPath:`${o}/sub`},{paramPath:`${o}/truediv`}),{sub:l,truediv:u}}function r(i,o,l){let u=n(i,o,3,`${l}/conv`),p=a(o,`${l}/bn`);return{conv:u,bn:p}}let s=Cp(e,t);return{extractConvParams:n,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}}function $D(e,t,n,a){let{extractWeights:r,getRemainingWeights:s}=_n(e),i=[],{extractConvParams:o,extractConvWithBatchNormParams:l,extractSeparableConvParams:u}=sge(r,i),p;if(t.withSeparableConvs){let[d,c,h,m,f,g,b,y,x]=a,v=t.isFirstLayerConv2d?o(d,c,3,"conv0"):u(d,c,"conv0"),I=u(c,h,"conv1"),N=u(h,m,"conv2"),C=u(m,f,"conv3"),_=u(f,g,"conv4"),F=u(g,b,"conv5"),D=y?u(b,y,"conv6"):void 0,$=x?u(y,x,"conv7"):void 0,S=o(x||y||b,5*n,1,"conv8");p={conv0:v,conv1:I,conv2:N,conv3:C,conv4:_,conv5:F,conv6:D,conv7:$,conv8:S}}else{let[d,c,h,m,f,g,b,y,x]=a,v=l(d,c,"conv0"),I=l(c,h,"conv1"),N=l(h,m,"conv2"),C=l(m,f,"conv3"),_=l(f,g,"conv4"),F=l(g,b,"conv5"),D=l(b,y,"conv6"),$=l(y,x,"conv7"),S=o(x,5*n,1,"conv8");p={conv0:v,conv1:I,conv2:N,conv3:C,conv4:_,conv5:F,conv6:D,conv7:$,conv8:S}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:i}}function ige(e,t){let n=sa(e,t);function a(o){let l=n(`${o}/sub`,1),u=n(`${o}/truediv`,1);return{sub:l,truediv:u}}function r(o){let l=n(`${o}/filters`,4),u=n(`${o}/bias`,1);return{filters:l,bias:u}}function s(o){let l=r(`${o}/conv`),u=a(`${o}/bn`);return{conv:l,bn:u}}let i=Ep(n);return{extractConvParams:r,extractConvWithBatchNormParams:s,extractSeparableConvParams:i}}function DD(e,t){let n=[],{extractConvParams:a,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}=ige(e,n),i;if(t.withSeparableConvs){let o=t.filterSizes&&t.filterSizes.length||9;i={conv0:t.isFirstLayerConv2d?a("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:o>7?s("conv6"):void 0,conv7:o>8?s("conv7"):void 0,conv8:a("conv8")}}else i={conv0:r("conv0"),conv1:r("conv1"),conv2:r("conv2"),conv3:r("conv3"),conv4:r("conv4"),conv5:r("conv5"),conv6:r("conv6"),conv7:r("conv7"),conv8:a("conv8")};return En(e,n),{params:i,paramMappings:n}}var br=class{constructor({inputSize:t,scoreThreshold:n}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=n||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var hg=class hg extends fn{constructor(t){super("TinyYolov2"),FD(t),this._config=t}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(t,n){let a=Br(t,n.conv0);return a=Dt(a,[2,2],[2,2],"same"),a=Br(a,n.conv1),a=Dt(a,[2,2],[2,2],"same"),a=Br(a,n.conv2),a=Dt(a,[2,2],[2,2],"same"),a=Br(a,n.conv3),a=Dt(a,[2,2],[2,2],"same"),a=Br(a,n.conv4),a=Dt(a,[2,2],[2,2],"same"),a=Br(a,n.conv5),a=Dt(a,[2,2],[1,1],"same"),a=Br(a,n.conv6),a=Br(a,n.conv7),il(a,n.conv8,"valid",!1)}runMobilenet(t,n){let a=this.config.isFirstLayerConv2d?Mp(il(t,n.conv0,"valid",!1)):Vr(t,n.conv0);return a=Dt(a,[2,2],[2,2],"same"),a=Vr(a,n.conv1),a=Dt(a,[2,2],[2,2],"same"),a=Vr(a,n.conv2),a=Dt(a,[2,2],[2,2],"same"),a=Vr(a,n.conv3),a=Dt(a,[2,2],[2,2],"same"),a=Vr(a,n.conv4),a=Dt(a,[2,2],[2,2],"same"),a=Vr(a,n.conv5),a=Dt(a,[2,2],[1,1],"same"),a=n.conv6?Vr(a,n.conv6):a,a=n.conv7?Vr(a,n.conv7):a,il(a,n.conv8,"valid",!1)}forwardInput(t,n){let{params:a}=this;if(!a)throw new Error("TinyYolov2 - load model before inference");return O(()=>{let r=re(t.toBatchTensor(n,!1),"float32");return r=this.config.meanRgb?gr(r,this.config.meanRgb):r,r=r.div(255),this.config.withSeparableConvs?this.runMobilenet(r,a):this.runTinyYolov2(r,a)})}async forward(t,n){return this.forwardInput(await vt(t),n)}async detect(t,n={}){let{inputSize:a,scoreThreshold:r}=new br(n),s=await vt(t),i=await this.forwardInput(s,a),o=O(()=>dt(i)[0].expandDims()),l={width:s.getInputWidth(0),height:s.getInputHeight(0)},u=await this.extractBoxes(o,s.getReshapedInputDimensions(0),r);i.dispose(),o.dispose();let p=u.map(g=>g.box),d=u.map(g=>g.score),c=u.map(g=>g.classScore),h=u.map(g=>this.config.classes[g.label]);return B$(p.map(g=>g.rescale(a)),d,this.config.iouThreshold,!0).map(g=>new yp(d[g],c[g],h[g],p[g],l))}getDefaultModelName(){return""}extractParamsFromWeightMap(t){return DD(t,this.config)}extractParams(t){let n=this.config.filterSizes||hg.DEFAULT_FILTER_SIZES,a=n?n.length:void 0;if(a!==7&&a!==8&&a!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${a} filterSizes in config`);return $D(t,this.config,this.boxEncodingSize,n)}async extractBoxes(t,n,a){let{width:r,height:s}=n,i=Math.max(r,s),o=i/r,l=i/s,u=t.shape[1],p=this.config.anchors.length,[d,c,h]=O(()=>{let b=t.reshape([u,u,p,this.boxEncodingSize]),y=b.slice([0,0,0,0],[u,u,p,4]),x=b.slice([0,0,0,4],[u,u,p,1]),v=this.withClassScores?ja(b.slice([0,0,0,5],[u,u,p,this.config.classes.length]),3):ve(0);return[y,x,v]}),m=[],f=await c.array(),g=await d.array();for(let b=0;ba){let I=(y+qf(g[b][y][x][0]))/u*o,N=(b+qf(g[b][y][x][1]))/u*l,C=Math.exp(g[b][y][x][2])*this.config.anchors[x].x/u*o,_=Math.exp(g[b][y][x][3])*this.config.anchors[x].y/u*l,F=I-C/2,D=N-_/2,$={row:b,col:y,anchor:x},{classScore:S,label:M}=this.withClassScores?await this.extractPredictedClass(h,$):{classScore:1,label:0};m.push({box:new bp(F,D,F+C,D+_),score:v,classScore:v*S,label:M,...$})}}return d.dispose(),c.dispose(),h.dispose(),m}async extractPredictedClass(t,n){let{row:a,col:r,anchor:s}=n,i=await t.array();return Array(this.config.classes.length).fill(0).map((o,l)=>i[a][r][s][l]).map((o,l)=>({classScore:o,label:l})).reduce((o,l)=>o.classScore>l.classScore?o:l)}};hg.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Op=hg;var Pp=class extends Op{constructor(t=!0){let n={withSeparableConvs:t,iouThreshold:ND,classes:["face"],...t?{anchors:CD,meanRgb:ED}:{anchors:TD,withClassScores:!0}};super(n)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new Ft(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?AD:_D}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function MEe(e,t=!0){let n=new Pp(t);return n.extractWeights(e),n}var mg=class extends br{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var Oa=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};async function ul(e,t,n,a,r=({alignedRect:s})=>s){let s=e.map(l=>Fp(l)?r(l):l.detection),i=a||(t instanceof Ce?await Ld(t,s):await Pd(t,s)),o=await n(i);return i.forEach(l=>l instanceof Ce&&l.dispose()),o}async function Lp(e,t,n,a,r){return ul([e],t,async s=>n(s[0]),a,r)}var RD=.4,MD=[new He(1.603231,2.094468),new He(6.041143,7.080126),new He(2.882459,3.518061),new He(4.266906,5.178857),new He(9.041765,10.66308)],OD=[117.001,114.697,97.404];var zp=class extends Op{constructor(){let t={withSeparableConvs:!0,iouThreshold:RD,classes:["face"],anchors:MD,meanRgb:OD,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new Ft(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var rt={ssdMobilenetv1:new ll,tinyFaceDetector:new zp,tinyYolov2:new Pp,faceLandmark68Net:new Dp,faceLandmark68TinyNet:new pg,faceRecognitionNet:new Rp,faceExpressionNet:new rg,ageGenderNet:new lg},oge=(e,t)=>rt.ssdMobilenetv1.locateFaces(e,t),c_e=(e,t)=>rt.tinyFaceDetector.locateFaces(e,t),d_e=(e,t)=>rt.tinyYolov2.locateFaces(e,t),lge=e=>rt.faceLandmark68Net.detectLandmarks(e),h_e=e=>rt.faceLandmark68TinyNet.detectLandmarks(e),m_e=e=>rt.faceRecognitionNet.computeFaceDescriptor(e),f_e=e=>rt.faceExpressionNet.predictExpressions(e),g_e=e=>rt.ageGenderNet.predictAgeAndGender(e),uge=e=>rt.ssdMobilenetv1.load(e),b_e=e=>rt.tinyFaceDetector.load(e),y_e=e=>rt.tinyYolov2.load(e),x_e=e=>rt.faceLandmark68Net.load(e),v_e=e=>rt.faceLandmark68TinyNet.load(e),w_e=e=>rt.faceRecognitionNet.load(e),k_e=e=>rt.faceExpressionNet.load(e),I_e=e=>rt.ageGenderNet.load(e),S_e=uge,N_e=oge,T_e=lge;var fg=class extends Oa{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},pl=class extends fg{async run(){let t=await this.parentTask,n=await ul(t,this.input,async a=>Promise.all(a.map(r=>rt.faceExpressionNet.predictExpressions(r))),this.extractedFaces);return t.map((a,r)=>Nk(a,n[r]))}withAgeAndGender(){return new dl(this,this.input)}},cl=class extends fg{async run(){let t=await this.parentTask;if(!t)return;let n=await Lp(t,this.input,a=>rt.faceExpressionNet.predictExpressions(a),this.extractedFaces);return Nk(t,n)}withAgeAndGender(){return new hl(this,this.input)}},Os=class extends pl{withAgeAndGender(){return new Ls(this,this.input)}withFaceDescriptors(){return new Ws(this,this.input)}},Ps=class extends cl{withAgeAndGender(){return new zs(this,this.input)}withFaceDescriptor(){return new Bs(this,this.input)}};var gg=class extends Oa{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},dl=class extends gg{async run(){let t=await this.parentTask,n=await ul(t,this.input,async a=>Promise.all(a.map(r=>rt.ageGenderNet.predictAgeAndGender(r))),this.extractedFaces);return t.map((a,r)=>{let{age:s,gender:i,genderProbability:o}=n[r];return Fk($k(a,i,o),s)})}withFaceExpressions(){return new pl(this,this.input)}},hl=class extends gg{async run(){let t=await this.parentTask;if(!t)return;let{age:n,gender:a,genderProbability:r}=await Lp(t,this.input,s=>rt.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return Fk($k(t,a,r),n)}withFaceExpressions(){return new cl(this,this.input)}},Ls=class extends dl{withFaceExpressions(){return new Os(this,this.input)}withFaceDescriptors(){return new Ws(this,this.input)}},zs=class extends hl{withFaceExpressions(){return new Ps(this,this.input)}withFaceDescriptor(){return new Bs(this,this.input)}};var bg=class extends Oa{constructor(n,a){super();this.parentTask=n;this.input=a}},Ws=class extends bg{async run(){let t=await this.parentTask;return(await ul(t,this.input,a=>Promise.all(a.map(r=>rt.faceRecognitionNet.computeFaceDescriptor(r))),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}))).map((a,r)=>Ak(t[r],a))}withFaceExpressions(){return new Os(this,this.input)}withAgeAndGender(){return new Ls(this,this.input)}},Bs=class extends bg{async run(){let t=await this.parentTask;if(!t)return;let n=await Lp(t,this.input,a=>rt.faceRecognitionNet.computeFaceDescriptor(a),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}));return Ak(t,n)}withFaceExpressions(){return new Ps(this,this.input)}withAgeAndGender(){return new zs(this,this.input)}};var yg=class extends Oa{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.useTinyLandmarkNet=r}get landmarkNet(){return this.useTinyLandmarkNet?rt.faceLandmark68TinyNet:rt.faceLandmark68Net}},xg=class extends yg{async run(){let t=await this.parentTask,n=t.map(i=>i.detection),a=this.input instanceof Ce?await Ld(this.input,n):await Pd(this.input,n),r=await Promise.all(a.map(i=>this.landmarkNet.detectLandmarks(i)));return a.forEach(i=>i instanceof Ce&&i.dispose()),t.filter((i,o)=>r[o]).map((i,o)=>Vd(i,r[o]))}withFaceExpressions(){return new Os(this,this.input)}withAgeAndGender(){return new Ls(this,this.input)}withFaceDescriptors(){return new Ws(this,this.input)}},vg=class extends yg{async run(){let t=await this.parentTask;if(!t)return;let{detection:n}=t,a=this.input instanceof Ce?await Ld(this.input,[n]):await Pd(this.input,[n]),r=await this.landmarkNet.detectLandmarks(a[0]);return a.forEach(s=>s instanceof Ce&&s.dispose()),Vd(t,r)}withFaceExpressions(){return new Ps(this,this.input)}withAgeAndGender(){return new zs(this,this.input)}withFaceDescriptor(){return new Bs(this,this.input)}};var wg=class extends Oa{constructor(n,a=new Ma){super();this.input=n;this.options=a}},Gd=class extends wg{async run(){let{input:t,options:n}=this,a;if(n instanceof mg)a=rt.tinyFaceDetector.locateFaces(t,n);else if(n instanceof Ma)a=rt.ssdMobilenetv1.locateFaces(t,n);else if(n instanceof br)a=rt.tinyYolov2.locateFaces(t,n);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return a}runAndExtendWithFaceDetections(){return new Promise((t,n)=>{this.run().then(a=>t(a.map(r=>wp({},r)))).catch(a=>n(a))})}withFaceLandmarks(t=!1){return new xg(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new pl(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new dl(this.runAndExtendWithFaceDetections(),this.input)}},kg=class extends wg{async run(){let t=await new Gd(this.input,this.options),n=t[0];return t.forEach(a=>{a.score>n.score&&(n=a)}),n}runAndExtendWithFaceDetection(){return new Promise(async t=>{let n=await this.run();t(n?wp({},n):void 0)})}withFaceLandmarks(t=!1){return new vg(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new cl(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new hl(this.runAndExtendWithFaceDetection(),this.input)}};function IAe(e,t=new Ma){return new kg(e,t)}function Dk(e,t=new Ma){return new Gd(e,t)}async function pge(e,t){return Dk(e,new Ma(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function _Ae(e,t={}){return Dk(e,new br(t)).withFaceLandmarks().withFaceDescriptors()}var AAe=pge;function PD(e,t){if(e.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let n=Array.from(e),a=Array.from(t);return Math.sqrt(n.map((r,s)=>r-a[s]).reduce((r,s)=>r+s*s,0))}var LD=class e{constructor(t,n=.6){this._distanceThreshold=n;let a=Array.isArray(t)?t:[t];if(!a.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let r=1,s=()=>`person ${r++}`;this._labeledDescriptors=a.map(i=>{if(i instanceof rl)return i;if(i instanceof Float32Array)return new rl(s(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new rl(s(),[i.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,n){return n.map(a=>PD(a,t)).reduce((a,r)=>a+r,0)/(n.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:n,label:a})=>new Dd(a,this.computeMeanDistance(t,n))).reduce((n,a)=>n.distancet.toJSON())}}static fromJSON(t){let n=t.labeledDescriptors.map(a=>rl.fromJSON(a));return new e(n,t.distanceThreshold)}};function KAe(e){let t=new zp;return t.extractWeights(e),t}function cge(e,t){let{width:n,height:a}=new aa(t.width,t.height);if(n<=0||a<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:n,height:a})}`);if(Array.isArray(e))return e.map(r=>cge(r,{width:n,height:a}));if(Fp(e)){let r=e.detection.forSize(n,a),s=e.unshiftedLandmarks.forSize(r.box.width,r.box.height);return Vd(wp(e,r),s)}return zr(e)?wp(e,e.detection.forSize(n,a)):e instanceof ka||e instanceof Ft?e.forSize(n,a):e}var sFe=sD;export{lg as AgeGenderNet,bp as BoundingBox,mn as Box,Oa as ComposableTask,Ws as ComputeAllFaceDescriptorsTask,bg as ComputeFaceDescriptorsTaskBase,Bs as ComputeSingleFaceDescriptorTask,xg as DetectAllFaceLandmarksTask,Gd as DetectAllFacesTask,yg as DetectFaceLandmarksTaskBase,wg as DetectFacesTaskBase,vg as DetectSingleFaceLandmarksTask,kg as DetectSingleFaceTask,aa as Dimensions,nD as FACE_EXPRESSION_LABELS,Ft as FaceDetection,SD as FaceDetectionNet,rg as FaceExpressionNet,Ms as FaceExpressions,Dp as FaceLandmark68Net,pg as FaceLandmark68TinyNet,hD as FaceLandmarkNet,ka as FaceLandmarks,U$ as FaceLandmarks5,vp as FaceLandmarks68,Dd as FaceMatch,LD as FaceMatcher,Rp as FaceRecognitionNet,Ck as Gender,Rd as LabeledBox,rl as LabeledFaceDescriptors,Wr as NetInput,fn as NeuralNetwork,yp as ObjectDetection,He as Point,G$ as PredictedBox,xp as Rect,ll as SsdMobilenetv1,Ma as SsdMobilenetv1Options,zp as TinyFaceDetector,mg as TinyFaceDetectorOptions,Pp as TinyYolov2,br as TinyYolov2Options,AAe as allFaces,pge as allFacesSsdMobilenetv1,_Ae as allFacesTinyYolov2,H$ as awaitMediaLoaded,q$ as bufferToImage,m_e as computeFaceDescriptor,Np as createCanvas,Yf as createCanvasFromMedia,GCe as createFaceDetectionNet,G2e as createFaceRecognitionNet,rge as createSsdMobilenetv1,KAe as createTinyFaceDetector,MEe as createTinyYolov2,Dk as detectAllFaces,lge as detectFaceLandmarks,h_e as detectFaceLandmarksTiny,T_e as detectLandmarks,IAe as detectSingleFace,rD as draw,at as env,PD as euclideanDistance,Fk as extendWithAge,Ak as extendWithFaceDescriptor,wp as extendWithFaceDetection,Nk as extendWithFaceExpressions,Vd as extendWithFaceLandmarks,$k as extendWithGender,Ld as extractFaceTensors,Pd as extractFaces,Qke as fetchImage,X$ as fetchJson,rIe as fetchNetWeights,Rs as fetchOrThrow,pIe as fetchVideo,ra as getContext2dOrThrow,Sp as getMediaDimensions,j$ as imageTensorToCanvas,K$ as imageToSquare,m0e as inverseSigmoid,z$ as iou,Sk as isMediaElement,Xf as isMediaLoaded,K2e as isWithAge,zr as isWithFaceDetection,aD as isWithFaceExpressions,Fp as isWithFaceLandmarks,J2e as isWithGender,I_e as loadAgeGenderModel,S_e as loadFaceDetectionModel,k_e as loadFaceExpressionModel,x_e as loadFaceLandmarkModel,v_e as loadFaceLandmarkTinyModel,w_e as loadFaceRecognitionModel,uge as loadSsdMobilenetv1Model,b_e as loadTinyFaceDetectorModel,y_e as loadTinyYolov2Model,Z$ as loadWeightMap,N_e as locateFaces,bIe as matchDimensions,W$ as minBbox,rt as nets,B$ as nonMaxSuppression,gr as normalize,V$ as padToSquare,g_e as predictAgeAndGender,f_e as recognizeFaceExpressions,cge as resizeResults,kp as resolveInput,d0e as shuffleArray,qf as sigmoid,oge as ssdMobilenetv1,Pe as tf,c_e as tinyFaceDetector,d_e as tinyYolov2,vt as toNetInput,L$ as utils,FD as validateConfig,sFe as version}; + ${r.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=t.dataIdMap.get(a.dataId).id,o=t.dataIdMap.get(r.dataId).id,l=t.dataIdMap.get(s.dataId).id,u=a.shape[0],p=w.sizeFromShape(s.shape),d=t.makeOutput([u,p],a.dtype),c=t.dataIdMap.get(d.dataId).id,h=t.makeOutput([p],s.dtype),m=t.dataIdMap.get(h.dataId).id,f=t.makeOutput([3],"int32"),g=t.dataIdMap.get(f.dataId).id;S$(i,o,l,u,c,m,g);let b=t.readSync(f.dataId),y;switch(b[0]){case 0:{y=T.getSparseReshapeMultipleNegativeOneOutputDimErrorMessage(b[1],b[2]);break}case 1:{y=T.getSparseReshapeNegativeOutputDimErrorMessage(b[1],b[2]);break}case 2:y=T.getSparseReshapeEmptyTensorZeroOutputDimErrorMessage();break;case 3:{let x=Array.from(t.readSync(r.dataId)),v=Array.from(t.readSync(h.dataId));y=T.getSparseReshapeInputOutputMultipleErrorMessage(x,v);break}case 4:{let x=Array.from(t.readSync(r.dataId)),v=Array.from(t.readSync(h.dataId));y=T.getSparseReshapeInputOutputMismatchErrorMessage(x,v);break}default:y=""}if(t.disposeData(f.dataId),y)throw t.disposeData(d.dataId),t.disposeData(h.dataId),new Error(y);return[d,h]}var yme={kernelName:Gu,backendName:"wasm",setupFunc:gme,kernelFunc:bme},N$;function T$(e){N$=e.wasm.cwrap("SparseSegmentReduction",null,["number","number","number","number","number","number","number","number","number"])}function C$(e,t){let{backend:n,inputs:a}=e,{data:r,indices:s,segmentIds:i}=a,o=s.shape[0],l=n.readSync(i.dataId,o-1,o)[0],u=o>0?l+1:0;if(u<0)throw new Error(T.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let p=r.shape.slice();p[0]=u;let d=n.dataIdMap.get(r.dataId).id,c=n.dataIdMap.get(s.dataId).id,h=n.dataIdMap.get(i.dataId).id,m=n.makeOutput(p,r.dtype),f=n.dataIdMap.get(m.dataId).id,g=n.makeOutput([4],"int32"),b=n.dataIdMap.get(g.dataId).id;N$(d,Qe[r.dtype],r.shape[0],c,h,f,b,t,0);let y=n.readSync(g.dataId),x;switch(y[0]){case 0:{x=T.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{x=T.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:x=T.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(y[1],y[2]);break;case 3:x=T.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(y[1],y[2],y[3]);break;default:x=""}if(n.disposeData(g.dataId),x)throw n.disposeData(m.dataId),new Error(x);return m}function xme(e){return C$(e,!0)}var vme={kernelName:Hc,backendName:"wasm",setupFunc:T$,kernelFunc:xme};function wme(e){return C$(e,!1)}var kme={kernelName:qc,backendName:"wasm",setupFunc:T$,kernelFunc:wme},E$;function Ime(e){E$=e.wasm.cwrap(Hu,null,["number","number","number","number","number","number","number","number","array","number","number"])}function Sme(e){let{backend:t,inputs:n,attrs:a}=e,{sparseIndices:r,sparseValues:s,defaultValue:i}=n,{outputShape:o}=a,l=t.makeOutput(o,i.dtype);if(w.sizeFromShape(o)===0)return l;let{sliceRank:u,numUpdates:p,sliceSize:d,strides:c,outputSize:h}=T.calculateShapes(s,r,o),m=t.dataIdMap.get(r.dataId).id,f=t.dataIdMap.get(s.dataId).id,g=t.dataIdMap.get(i.dataId).id,b=new Uint8Array(new Int32Array(c).buffer),y=t.dataIdMap.get(l.dataId).id;return E$(m,f,s.shape.length,g,Qe[i.dtype],u,p,d,b,h,y),l}var Nme={kernelName:Hu,backendName:"wasm",setupFunc:Ime,kernelFunc:Sme};function Tme(e){let{inputs:t,attrs:n,backend:a}=e,{x:r}=t,{numOrSizeSplits:s,axis:i}=n,o=w.parseAxisParam(i,r.shape)[0],l=T.prepareSplitSize(r,s,o),u=new Array(r.shape.length).fill(0),p=r.shape.slice();return l.map(d=>{let c=[...p];c[o]=d;let h=Ii({inputs:{x:r},attrs:{begin:u,size:c},backend:a});return u[o]+=d,h})}var Cme={kernelName:Uu,backendName:"wasm",kernelFunc:Tme},Eme=Xe(Po),_me=Xe(jc),Ame=!0,Fme=Ut(Wo,Ame),_$;function $me(e){_$=e.wasm.cwrap(ks,null,["number","number","number","number"])}function Dme(e){let{backend:t,inputs:n,attrs:a}=e,{alpha:r}=a,{x:s}=n,i=t.dataIdMap.get(s.dataId).id,o=t.makeOutput(s.shape,s.dtype),l=t.dataIdMap.get(o.dataId).id;return _$(i,r,Qe[s.dtype],l),o}var Rme={kernelName:ks,backendName:"wasm",setupFunc:$me,kernelFunc:Dme},A$;function Mme(e){A$=e.wasm.cwrap(qu,null,["number","array","number","array","array","array","array","array","number","number"])}function Ome(e){let{backend:t,inputs:n,attrs:a}=e,{x:r}=n,{begin:s,end:i,strides:o,beginMask:l,endMask:u,ellipsisMask:p,newAxisMask:d,shrinkAxisMask:c}=a,{finalShapeSparse:h,finalShape:m,isIdentity:f,sliceDim0:g,isSimpleSlice:b,begin:y,end:x,strides:v}=Kt.sliceInfo(r.shape,s,i,o,l,u,p,d,c),I;if(f)I=Ln({inputs:{x:r},backend:t,attrs:{shape:m}});else if(g||b){w.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);let N=Kt.computeOutShape(y,x,v),C=Ii({inputs:{x:r},backend:t,attrs:{begin:y,size:N}});I=Ln({inputs:{x:C},backend:t,attrs:{shape:m}}),t.disposeData(C.dataId)}else{let N=t.makeOutput(h,"float32"),C=t.dataIdMap.get(r.dataId).id,_=new Uint8Array(new Int32Array(w.computeStrides(r.shape)).buffer),F=new Uint8Array(new Int32Array(y).buffer),D=new Uint8Array(new Int32Array(x).buffer),$=new Uint8Array(new Int32Array(v).buffer),S=new Uint8Array(new Int32Array(h).buffer),M=new Uint8Array(new Int32Array(w.computeStrides(h)).buffer),B=t.dataIdMap.get(N.dataId).id;A$(C,_,r.shape.length,F,D,$,S,M,h.length,B),I=Ln({inputs:{x:N},backend:t,attrs:{shape:m}}),t.disposeData(N.dataId)}return I}var Pme={kernelName:qu,backendName:"wasm",setupFunc:Mme,kernelFunc:Ome};function Lme(e){let{backend:t,inputs:n,attrs:a}=e,{data:r,dataSplits:s}=n,{separator:i,nGramWidths:o,leftPad:l,rightPad:u,padWidth:p,preserveShortSequences:d}=a,c=t.readSync(r.dataId),h=t.readSync(s.dataId),[m,f]=U1(c,h,i,o,l,u,p,d),g=t.makeOutput([m.length],"string"),b=t.dataIdMap.get(g.dataId);b.stringBytes=m;let y=t.makeOutput(s.shape,"int32");return t.typedArrayFromHeap(y).set(f),[g,y]}var zme={kernelName:Xc,backendName:"wasm",kernelFunc:Lme};function Wme(e){let{backend:t,inputs:n,attrs:a}=e,{input:r,delimiter:s}=n,{skipEmpty:i}=a,o=t.readSync(r.dataId),l=t.readSync(s.dataId),[u,p,d]=G1(o,l[0],i),c=p.length,h=t.makeOutput([c,2],"int32");t.typedArrayFromHeap(h).set(u);let m=t.makeOutput([c],"string"),f=t.dataIdMap.get(m.dataId);f.stringBytes=p;let g=t.makeOutput([2],"int32");return t.typedArrayFromHeap(g).set(d),[h,m,g]}var Bme={kernelName:Yc,backendName:"wasm",kernelFunc:Wme};function Vme(e){let{backend:t,inputs:n,attrs:a}=e,{input:r}=n,{numBuckets:s}=a,i=t.readSync(r.dataId),o=H1(i,s),l=t.makeOutput(r.shape,"int32");return t.typedArrayFromHeap(l).set(o),l}var Ume={kernelName:Zc,backendName:"wasm",kernelFunc:Vme},Gme=!0,Hme=Ut(Bo,Gme),F$;function qme(e){F$=e.wasm.cwrap(Lo,null,["number","number","number","number"])}function jme(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=$s(i,r,t),m=d;if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x,m=T.getInnerMostAxes(m.length,u.shape.length))}T.assertAxesAreInnerMostDims("sum",m,u.shape.length);let[f,g]=T.computeOutAndReduceShapes(u.shape,m),b=w.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(w.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;F$(l,b,Qe[y.dtype],x)}if(h&&t.disposeData(p.dataId),s){let x=T.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var Kme={kernelName:Lo,backendName:"wasm",setupFunc:qme,kernelFunc:jme},Xme=Xe(Vo),Yme=Xe(Uo),$$;function Zme(e){$$=e.wasm.cwrap(Lu,null,["number","number","number","number","number","number","array","number","number","number"])}function Jme(e){let{backend:t,inputs:n,attrs:a}=e,{tensor:r,indices:s,updates:i}=n,{}=a,o=t.makeOutput(r.shape,r.dtype);if(w.sizeFromShape(r.shape)===0)return o;let{sliceRank:l,numUpdates:u,sliceSize:p,strides:d,outputSize:c}=rf.calculateShapes(i,s,r.shape),h=t.dataIdMap.get(s.dataId).id,m=t.dataIdMap.get(i.dataId).id,f=t.dataIdMap.get(r.dataId).id,g=new Uint8Array(new Int32Array(d).buffer),b=t.dataIdMap.get(o.dataId).id;return $$(h,m,Qe[i.dtype],l,u,p,g,c,b,f),o}var Qme={kernelName:Lu,backendName:"wasm",setupFunc:Zme,kernelFunc:Jme},D$;function efe(e){D$=e.wasm.cwrap(ws,null,["number","array","number","array","number","number"])}function tfe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,s=n.dataIdMap.get(r.dataId).id,{reps:i}=a,o=new Array(r.shape.length);for(let c=0;c{let{x:a}=e,{k:r,sorted:s}=n,i=t.dataIdMap.get(a.dataId).id,o=new Uint8Array(new Int32Array(a.shape).buffer),l=a.shape.slice();l[l.length-1]=r;let u=t.makeOutput(l,a.dtype),p=t.dataIdMap.get(u.dataId).id,d=t.makeOutput(l,"int32"),c=t.dataIdMap.get(d.dataId).id;return R$(i,o,a.shape.length,Qe[a.dtype],r,s,p,c),[u,d]},sfe={kernelName:ju,backendName:"wasm",setupFunc:afe,kernelFunc:rfe},M$;function ife(e){M$=e.wasm.cwrap(Ku,null,["number","number","bool","number","number","number","number","number","number","array","number","array","number","number","number","number","number"])}function ofe(e){let{backend:t,inputs:n,attrs:a}=e,{image:r,transforms:s}=n,{interpolation:i,fillMode:o,fillValue:l,outputShape:u}=a,[p,d,c,h]=r.shape,[m,f]=u!=null?u:[d,c],g=[p,m,f,h],b=new Uint8Array(new Int32Array(w.computeStrides(r.shape)).buffer),y=new Uint8Array(new Int32Array(w.computeStrides(g)).buffer),x=t.makeOutput(g,r.dtype),v=t.dataIdMap.get(x.dataId).id,I=t.dataIdMap.get(r.dataId).id,N=t.dataIdMap.get(s.dataId).id,C=i==="nearest"?1:2,_;switch(o){case"constant":_=1;break;case"reflect":_=2;break;case"wrap":_=3;break;case"nearest":_=4;break;default:_=1;break}return M$(I,N,s.shape[0]>1,p,m,f,h,c,d,b,r.shape.length-1,y,g.length-1,C,_,l,v),x}var lfe={kernelName:Ku,backendName:"wasm",setupFunc:ife,kernelFunc:ofe};function ufe(e){let{inputs:t,attrs:n,backend:a}=e,{axis:r}=n,{x:s}=t,{outputValues:i,outputShape:o,indices:l}=j1(a.readSync(s.dataId),r,s.shape,s.dtype);return[a.makeOutput(o,s.dtype,void 0,i),a.makeOutput([l.length],"int32",void 0,l)]}var pfe={kernelName:Jc,backendName:"wasm",kernelFunc:ufe};function cfe(e){let{inputs:t,backend:n,attrs:a}=e,{value:r}=t,{axis:s}=a;s<0&&(s+=r.shape.length);let i=r.shape[s],o=r.shape.length,l=new Array(o-1),u=0;for(let h=0;h({dataId:h,dtype:m,shape:l}))}var dfe={kernelName:Xu,backendName:"wasm",kernelFunc:cfe};function hfe(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(a).fill(0),a}var mfe={kernelName:Yu,backendName:"wasm",kernelFunc:hfe},ffe=[Yle,Zle,Jle,Qle,tue,rue,due,fue,gue,bue,yue,xue,vue,wue,kue,Nue,Rue,Eue,Fue,Lue,Gue,jue,Xue,Zue,Jue,Que,npe,ape,ipe,upe,dpe,fpe,ype,xpe,vpe,Ipe,Tpe,_pe,$pe,Mpe,Lpe,Bpe,Gpe,jpe,Ype,Zpe,ece,nce,ace,rce,sce,ice,oce,pce,cce,hce,gce,xce,kce,Nce,Ece,Ace,$ce,sue,Dce,Rce,Mce,Lce,Wce,Vce,Hce,jce,qce,Xce,Yce,Jce,ede,ade,ide,ude,cde,mde,bde,vde,Ide,Tde,_de,$de,Rde,Pde,Vde,Ude,Hde,qde,Xde,Jde,the,ahe,ihe,lhe,phe,p$,mhe,bhe,vhe,khe,She,Nhe,The,Che,Mue,Ahe,Dhe,Ohe,zhe,Vhe,Hhe,qhe,jhe,Yhe,Qhe,nme,ame,ime,ome,lme,ume,Vue,zde,pme,dme,fme,yme,vme,kme,Nme,Cme,Eme,_me,Fme,Rme,Pme,zme,Bme,Ume,Hme,Kme,Xme,Yme,Qme,nfe,sfe,lfe,uue,pfe,dfe,mfe];for(let e of ffe)ed(e);var xv=G();xv.registerFlag("WASM_HAS_SIMD_SUPPORT",async()=>{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,9,1,7,0,65,0,253,15,26,11]))}catch(e){return!1}});xv.registerFlag("WASM_HAS_MULTITHREAD_SUPPORT",async()=>{if(xv.get("IS_NODE"))return!1;try{return 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(e){return!1}});var TS=ys(WR()),gfe=ys(BR()),CS=ys(VR()),ES=TS.default||TS,bfe=CS.default||CS,O$=class extends Fc{constructor(e){super(),this.wasm=e,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(P$),vv=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new ym(this,Ta())}write(e,t,n){let a={id:this.dataIdNextNumber++};return this.move(a,e,t,n,1),a}numDataIds(){return this.dataIdMap.numDataIds()}async time(e){let t=w.now();return e(),{kernelMs:w.now()-t}}move(e,t,n,a,r){let s=this.dataIdNextNumber++;if(a==="string"){let u=t;this.dataIdMap.set(e,{id:s,stringBytes:u,shape:n,dtype:a,memoryOffset:null,refCount:r});return}let i=w.sizeFromShape(n),o=i*w.bytesPerElement(a),l=this.wasm._malloc(o)>>>0;this.dataIdMap.set(e,{id:s,memoryOffset:l,shape:n,dtype:a,refCount:r}),this.wasm.tfjs.registerTensor(s,i,l),t!=null&&this.wasm.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,o),l)}async read(e){return this.readSync(e)}readSync(e,t,n){let{memoryOffset:a,dtype:r,shape:s,stringBytes:i}=this.dataIdMap.get(e);if(r==="string")return(t==null||t===0)&&(n==null||n>=i.length)?i:i.slice(t,n);t=t||0,n=n||w.sizeFromShape(s);let o=w.bytesPerElement(r),l=this.wasm.HEAPU8.slice(a+t*o,a+n*o);return vfe(l.buffer,r)}disposeData(e,t=!1){if(this.dataIdMap.has(e)){let n=this.dataIdMap.get(e);if(n.refCount--,!t&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(e)}return!0}refCount(e){return this.dataIdMap.has(e)?this.dataIdMap.get(e).refCount:0}incRef(e){let t=this.dataIdMap.get(e);t!=null&&t.refCount++}floatPrecision(){return 32}getMemoryOffset(e){return this.dataIdMap.get(e).memoryOffset}dispose(){this.wasm.tfjs.dispose(),"PThread"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(e,t,n,a){let r;if(n==null)r=this.write(a!=null?a:null,e,t);else{let s=this.dataIdNextNumber++;r={id:s},this.dataIdMap.set(r,{id:s,memoryOffset:n,shape:e,dtype:t,refCount:1});let i=w.sizeFromShape(e);this.wasm.tfjs.registerTensor(s,i,n)}return{dataId:r,shape:e,dtype:t}}typedArrayFromHeap({shape:e,dtype:t,dataId:n}){let a=this.wasm.HEAPU8.buffer,{memoryOffset:r}=this.dataIdMap.get(n),s=w.sizeFromShape(e);switch(t){case"float32":return new Float32Array(a,r,s);case"int32":return new Int32Array(a,r,s);case"bool":return new Uint8Array(a,r,s);default:throw new Error(`Unknown dtype ${t}`)}}};function yfe(e){return(t,n)=>(w.fetch(e,{credentials:"same-origin"}).then(a=>{a.ok||t.env.a(`failed to load wasm binary file at '${e}'`),a.arrayBuffer().then(r=>{WebAssembly.instantiate(r,t).then(s=>{n(s.instance,s.module)})})}),{})}function _S(e,t,n){if(gm!=null)return gm;let a="tfjs-backend-wasm.wasm";return e&&t?a="tfjs-backend-wasm-threaded-simd.wasm":e&&(a="tfjs-backend-wasm-simd.wasm"),cc!=null&&cc[a]!=null?cc[a]:n+a}async function xfe(){let[e,t]=await Promise.all([G().getAsync("WASM_HAS_SIMD_SUPPORT"),G().getAsync("WASM_HAS_MULTITHREAD_SUPPORT")]);return new Promise((n,a)=>{let r={};r.locateFile=(o,l)=>{if(o.endsWith(".worker.js")){let u=gfe.wasmWorkerContents.replace(/\n/g,"\\n"),p=new Blob([u],{type:"application/javascript"});return URL.createObjectURL(p)}return o.endsWith(".wasm")?_S(e,t,lc!=null?lc:l):l+o},mk&&(r.instantiateWasm=yfe(_S(e,t,lc!=null?lc:"")));let s=!1;r.onAbort=()=>{s||dc||(dc=!0,a({message:"Make sure the server can serve the `.wasm` file relative to the bundled js file. For more details see https://github.com/tensorflow/tfjs/blob/master/tfjs-backend-wasm/README.md#using-bundlers"}))};let i;t&&e&&gm==null?(r.mainScriptUrlOrBlob=new Blob(["var WasmBackendModuleThreadedSimd = "+ES.toString()],{type:"text/javascript"}),i=ES(r)):i=bfe(r),i.then(o=>{s=!0,dc=!1;let l=null;o.tfjs={init:o.cwrap("init",null,[]),initWithThreadsCount:o.cwrap("init_with_threads_count",null,["number"]),getThreadsCount:o.cwrap("get_threads_count","number",[]),registerTensor:o.cwrap("register_tensor",null,["number","number","number"]),disposeData:o.cwrap("dispose_data",l,["number"]),dispose:o.cwrap("dispose",l,[])},n({wasm:o})}).catch(a)})}function vfe(e,t){switch(t){case"float32":return new Float32Array(e);case"int32":return new Int32Array(e);case"bool":return new Uint8Array(e);default:throw new Error(`Unknown dtype ${t}`)}}var wfe=["tfjs-backend-wasm.wasm","tfjs-backend-wasm-simd.wasm","tfjs-backend-wasm-threaded-simd.wasm"],gm=null,lc=null,cc={},dc=!1,mk=!1;function kfe(e,t=!1){if(Fv("setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release."),dc)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`");gm=e,mk=t}function Ife(e,t=!1){if(dc)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`");if(typeof e=="string")lc=e;else{cc=e;let n=wfe.filter(a=>cc[a]==null);if(n.length>0)throw new Error(`There were no entries found for the following binaries: ${n.join(",")}. Please either call setWasmPaths with a map providing a path for each binary, or with a string indicating the directory where all the binaries can be found.`)}mk=t}var P$=-1,vv=-1;function Sfe(e){P$=e}function Nfe(){if(vv===-1)throw new Error("WASM backend not initialized.");return vv}var Tfe="4.16.0",Cfe=2;Om("wasm",async()=>{let{wasm:e}=await xfe();return new O$(e)},Cfe);var AS="4.16.0",Efe="4.16.0",_fe="4.16.0",Afe="4.16.0",Ffe="4.16.0",$fe={tfjs:AS,"tfjs-core":AS,"tfjs-converter":Efe,"tfjs-backend-cpu":_fe,"tfjs-backend-webgl":Afe,"tfjs-backend-wasm":Ffe};var rD={};nx(rD,{AnchorPosition:()=>Ik,DrawBox:()=>Od,DrawBoxOptions:()=>Kf,DrawFaceLandmarks:()=>ig,DrawFaceLandmarksOptions:()=>sg,DrawTextField:()=>sl,DrawTextFieldOptions:()=>Ip,drawContour:()=>Pr,drawDetections:()=>zfe,drawFaceExpressions:()=>Wfe,drawFaceLandmarks:()=>Vfe});function Pr(e,t,n=!1){if(e.beginPath(),t.slice(1).forEach(({x:a,y:r},s)=>{let i=t[s];e.moveTo(i.x,i.y),e.lineTo(a,r)}),n){let a=t[t.length-1],r=t[0];if(!a||!r)return;e.moveTo(a.x,a.y),e.lineTo(r.x,r.y)}e.stroke()}var L$={};nx(L$,{computeReshapedDimensions:()=>bk,getCenterPoint:()=>al,isDimensions:()=>Hf,isEven:()=>Gf,isFloat:()=>gk,isTensor:()=>tl,isTensor1D:()=>Dfe,isTensor2D:()=>fk,isTensor3D:()=>Lr,isTensor4D:()=>wa,isValidNumber:()=>Xa,isValidProbablitiy:()=>gp,range:()=>fr,round:()=>nl});var aa=class e{constructor(t,n){if(!Xa(t)||!Xa(n))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:n})}`);this._width=t,this._height=n}get width(){return this._width}get height(){return this._height}reverse(){return new e(1/this.width,1/this.height)}};function tl(e,t){return e instanceof Ce&&e.shape.length===t}function Dfe(e){return tl(e,1)}function fk(e){return tl(e,2)}function Lr(e){return tl(e,3)}function wa(e){return tl(e,4)}function gk(e){return e%1!==0}function Gf(e){return e%2===0}function nl(e,t=2){let n=10**t;return Math.floor(e*n)/n}function Hf(e){return e&&e.width&&e.height}function bk({width:e,height:t},n){let a=n/Math.max(t,e);return new aa(Math.round(e*a),Math.round(t*a))}function al(e){return e.reduce((t,n)=>t.add(n),new He(0,0)).div(new He(e.length,e.length))}function fr(e,t,n){return Array(e).fill(0).map((a,r)=>t+r*n)}function Xa(e){return!!e&&e!==1/0&&e!==-1/0&&!Number.isNaN(e)||e===0}function gp(e){return Xa(e)&&e>=0&&e<=1}var He=class e{constructor(t,n){this._x=t,this._y=n}get x(){return this._x}get y(){return this._y}add(t){return new e(this.x+t.x,this.y+t.y)}sub(t){return new e(this.x-t.x,this.y-t.y)}mul(t){return new e(this.x*t.x,this.y*t.y)}div(t){return new e(this.x/t.x,this.y/t.y)}abs(){return new e(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new e(Math.floor(this.x),Math.floor(this.y))}};var mn=class e{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(Xa)}static assertIsValidBox(t,n,a=!1){if(!e.isRect(t))throw new Error(`${n} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!a&&(t.width<0||t.height<0))throw new Error(`${n} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,n=!0){let a=t||{},r=[a.left,a.top,a.right,a.bottom].every(Xa),s=[a.x,a.y,a.width,a.height].every(Xa);if(!s&&!r)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(a)}`);let[i,o,l,u]=s?[a.x,a.y,a.width,a.height]:[a.left,a.top,a.right-a.left,a.bottom-a.top];e.assertIsValidBox({x:i,y:o,width:l,height:u},"Box.constructor",n),this._x=i,this._y=o,this._width=l,this._height=u}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new He(this.left,this.top)}get topRight(){return new He(this.right,this.top)}get bottomLeft(){return new He(this.left,this.bottom)}get bottomRight(){return new He(this.right,this.bottom)}round(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new e({x:t,y:n,width:a,height:r})}floor(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new e({x:t,y:n,width:a,height:r})}toSquare(){let{x:t,y:n,width:a,height:r}=this,s=Math.abs(a-r);return an&&(o=-d+n+a,d=n),c>t&&(l=-c+t+r,c=t),u<1&&(l=2-u,u=1),p<1&&(l=2-p,p=1),{dy:i,edy:l,dx:s,edx:o,y:p,ey:c,x:u,ex:d,w:a,h:r}}calibrate(t){return new e({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var bp=class extends mn{constructor(t,n,a,r,s=!1){super({left:t,top:n,right:a,bottom:r},s)}};var yp=class e{constructor(t,n,a,r,s){this._imageDims=new aa(s.width,s.height),this._score=t,this._classScore=n,this._className=a,this._box=new mn(r).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new mn(this._box).rescale(this.imageDims.reverse())}forSize(t,n){return new e(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:n})}};var Ft=class e extends yp{constructor(t,n,a){super(t,t,"",n,a)}forSize(t,n){let{score:a,relativeBox:r,imageDims:s}=super.forSize(t,n);return new e(a,r,s)}};function z$(e,t,n=!0){let a=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),r=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),s=a*r;return n?s/(e.area+t.area-s):s/Math.min(e.area,t.area)}function W$(e){let t=e.map(o=>o.x),n=e.map(o=>o.y),a=t.reduce((o,l)=>lloo({score:i,boxIndex:o})).sort((i,o)=>i.score-o.score).map(i=>i.boxIndex),s=[];for(;r.length>0;){let i=r.pop();s.push(i);let o=r,l=[];for(let u=0;ul[p]<=n)}return s}function gr(e,t){return O(()=>{let[n,a,r]=t,s=yn([...e.shape.slice(0,3),1],n,"float32"),i=yn([...e.shape.slice(0,3),1],a,"float32"),o=yn([...e.shape.slice(0,3),1],r,"float32"),l=et([s,i,o],3);return pe(e,l)})}function V$(e,t=!1){return O(()=>{let[n,a]=e.shape.slice(1);if(n===a)return e;let r=Math.abs(n-a),s=Math.round(r*(t?.5:1)),i=n>a?2:1,o=c=>{let h=e.shape.slice();return h[i]=c,yn(h,0,"float32")},l=o(s),u=r-l.shape[i],d=[t&&u?o(u):null,e,l].filter(c=>!!c).map(c=>re(c,"float32"));return et(d,i)})}function d0e(e){let t=e.slice();for(let n=t.length-1;n>0;n--){let a=Math.floor(Math.random()*(n+1)),r=t[n];t[n]=t[a],t[a]=r}return t}function qf(e){return 1/(1+Math.exp(-e))}function m0e(e){return Math.log(e/(1-e))}var xp=class extends mn{constructor(t,n,a,r,s=!1){super({x:t,y:n,width:a,height:r},s)}};var Rfe=.5,Mfe=.43,Ofe=.45,ka=class{constructor(t,n,a=new He(0,0)){let{width:r,height:s}=n;this._imgDims=new aa(r,s),this._shift=a,this._positions=t.map(i=>i.mul(new He(r,s)).add(a))}get shift(){return new He(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new He(this.imageWidth,this.imageHeight)))}forSize(t,n){return new this.constructor(this.relativePositions,{width:t,height:n})}shiftBy(t,n){return new this.constructor(this.relativePositions,this._imgDims,new He(t,n))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,n={}){if(t){let s=t instanceof Ft?t.box.floor():new mn(t);return this.shiftBy(s.x,s.y).align(null,n)}let{useDlibAlignment:a,minBoxPadding:r}={useDlibAlignment:!1,minBoxPadding:.2,...n};return a?this.alignDlib():this.alignMinBbox(r)}alignDlib(){let t=this.getRefPointsForAlignment(),[n,a,r]=t,s=d=>r.sub(d).magnitude(),i=(s(n)+s(a))/2,o=Math.floor(i/Ofe),l=al(t),u=Math.floor(Math.max(0,l.x-Rfe*o)),p=Math.floor(Math.max(0,l.y-Mfe*o));return new xp(u,p,Math.min(o,this.imageWidth+u),Math.min(o,this.imageHeight+p))}alignMinBbox(t){let n=W$(this.positions);return n.pad(n.width*t,n.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var U$=class extends ka{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],al([t[3],t[4]])]}};var vp=class extends ka{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(al)}};var Dd=class{constructor(t,n){this._label=t,this._distance=n}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${nl(this.distance)})`:""}`}};var Rd=class extends mn{static assertIsValidLabeledBox(t,n){if(mn.assertIsValidBox(t,n),!Xa(t.label))throw new Error(`${n} - expected property label (${t.label}) to be a number`)}constructor(t,n){super(t),this._label=n}get label(){return this._label}};var rl=class e{constructor(t,n){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(n)||n.some(a=>!(a instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=n}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let n=t.descriptors.map(a=>new Float32Array(a));return new e(t.label,n)}};var G$=class extends Rd{static assertIsValidPredictedBox(t,n){if(Rd.assertIsValidLabeledBox(t,n),!gp(t.score)||!gp(t.classScore))throw new Error(`${n} - expected properties score (${t.score}) and (${t.classScore}) to be a number between [0, 1]`)}constructor(t,n,a,r){super(t,n),this._score=a,this._classScore=r}get score(){return this._score}get classScore(){return this._classScore}};function zr(e){return e.detection instanceof Ft}function wp(e,t){return{...e,...{detection:t}}}function yk(){let e=window.fetch;if(!e)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:e,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Md(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function jf(e){let t="";if(!e&&Md())try{e=xR("fs")}catch(a){t=a.toString()}return{readFile:e?a=>new Promise((r,s)=>{e.readFile(a,(i,o)=>i?s(i):r(o))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function xk(){let e=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,n=global.Video||global.HTMLVideoElement,a=()=>{if(e)return new e;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},r=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(n)return new n;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},i=global.fetch,o=jf();return{Canvas:e||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:a,createImageElement:r,createVideoElement:s,fetch:i,...o}}function vk(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var on;function Pfe(){if(!on)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return on}function wk(e){on=e}function kk(){return vk()?wk(yk()):Md()?wk(xk()):null}function Lfe(e){if(on||kk(),!on)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=on.Canvas,Image:n=on.Image}=e;on.Canvas=t,on.Image=n,on.createCanvasElement=e.createCanvasElement||(()=>new t),on.createImageElement=e.createImageElement||(()=>new n),on.ImageData=e.ImageData||on.ImageData,on.Video=e.Video||on.Video,on.fetch=e.fetch||on.fetch,on.readFile=e.readFile||on.readFile}var at={getEnv:Pfe,setEnv:wk,initialize:kk,createBrowserEnv:yk,createFileSystem:jf,createNodejsEnv:xk,monkeyPatch:Lfe,isBrowser:vk,isNodejs:Md};kk();function kp(e){return!at.isNodejs()&&typeof e=="string"?document.getElementById(e):e}function ra(e){let{Canvas:t,CanvasRenderingContext2D:n}=at.getEnv();if(e instanceof n)return e;let a=kp(e);if(!(a instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let r=a.getContext("2d",{willReadFrequently:!0});if(!r)throw new Error("resolveContext2d - canvas 2d context is null");return r}var Ik=(r=>(r.TOP_LEFT="TOP_LEFT",r.TOP_RIGHT="TOP_RIGHT",r.BOTTOM_LEFT="BOTTOM_LEFT",r.BOTTOM_RIGHT="BOTTOM_RIGHT",r))(Ik||{}),Ip=class{constructor(t={}){let{anchorPosition:n,backgroundColor:a,fontColor:r,fontSize:s,fontStyle:i,padding:o}=t;this.anchorPosition=n||"TOP_LEFT",this.backgroundColor=a||"rgba(0, 0, 0, 0.5)",this.fontColor=r||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=i||"Georgia",this.padding=o||4}},sl=class e{constructor(t,n,a={}){this.text=typeof t=="string"?[t]:t instanceof e?t.text:t,this.anchor=n,this.options=new Ip(a)}measureWidth(t){let{padding:n}=this.options;return this.text.map(a=>t.measureText(a).width).reduce((a,r)=>a{let m=l+d.x,f=l+d.y+(h+1)*i;a.fillText(c,m,f)})}};var Kf=class{constructor(t={}){let{boxColor:n,lineWidth:a,label:r,drawLabelOptions:s}=t;this.boxColor=n||"rgba(0, 0, 255, 1)",this.lineWidth=a||2,this.label=r;let i={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new Ip({...i,...s})}},Od=class{constructor(t,n={}){this.box=new mn(t),this.options=new Kf(n)}draw(t){let n=ra(t),{boxColor:a,lineWidth:r}=this.options,{x:s,y:i,width:o,height:l}=this.box;n.strokeStyle=a,n.lineWidth=r,n.strokeRect(s,i,o,l);let{label:u}=this.options;u&&new sl([u],{x:s-r/2,y:i},this.options.drawLabelOptions).draw(t)}};function zfe(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof Ft?a.score:zr(a)?a.detection.score:void 0,s=a instanceof Ft?a.box:zr(a)?a.detection.box:new mn(a),i=r?`${nl(r)}`:void 0;new Od(s,{label:i}).draw(e)})}function Xf(e){let{Image:t,Video:n}=at.getEnv();return e instanceof t&&e.complete||e instanceof n&&e.readyState>=3}function H$(e){return new Promise((t,n)=>{if(e instanceof at.getEnv().Canvas||Xf(e)){t(null);return}function a(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),n(s))}function r(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),t(s))}e.addEventListener("load",r),e.addEventListener("error",a)})}function q$(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToImage - expected buf to be of type: Blob"));let a=new FileReader;a.onload=()=>{typeof a.result!="string"&&n(new Error("bufferToImage - expected reader.result to be a string, in onload"));let r=at.getEnv().createImageElement();r.onload=()=>t(r),r.onerror=n,r.src=a.result},a.onerror=n,a.readAsDataURL(e)})}function Sp(e){let{Image:t,Video:n}=at.getEnv();return e instanceof t?new aa(e.naturalWidth,e.naturalHeight):e instanceof n?new aa(e.videoWidth,e.videoHeight):new aa(e.width,e.height)}function Np({width:e,height:t}){let{createCanvasElement:n}=at.getEnv(),a=n();return a.width=e,a.height=t,a}function Yf(e,t){let{ImageData:n}=at.getEnv();if(!(e instanceof n)&&!Xf(e))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:a,height:r}=t||Sp(e),s=Np({width:a,height:r});return e instanceof n?ra(s).putImageData(e,0,0):ra(s).drawImage(e,0,0,a,r),s}async function j$(e,t){let n=t||at.getEnv().createCanvasElement(),[a,r,s]=e.shape.slice(wa(e)?1:0),i=O(()=>e.as3D(a,r,s).toInt());return await jo.toPixels(i,n),i.dispose(),n}function Sk(e){let{Image:t,Canvas:n,Video:a}=at.getEnv();return e instanceof t||e instanceof n||e instanceof a}function K$(e,t,n=!1){let{Image:a,Canvas:r}=at.getEnv();if(!(e instanceof a||e instanceof r))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Np({width:1,height:1});let s=Sp(e),i=t/Math.max(s.height,s.width),o=i*s.width,l=i*s.height,u=Np({width:t,height:t}),p=e instanceof r?e:Yf(e),d=Math.abs(o-l)/2,c=n&&o0&&p.height>0&&ra(u).drawImage(p,c,h,o,l),u}var Wr=class{constructor(t,n=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=n,this._batchSize=t.length,t.forEach((a,r)=>{if(Lr(a)){this._imageTensors[r]=a,this._inputDimensions[r]=a.shape;return}if(wa(a)){let i=a.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[r]=a,this._inputDimensions[r]=a.shape.slice(1);return}let s=a instanceof at.getEnv().Canvas?a:Yf(a);this._canvases[r]=s,this._inputDimensions[r]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return fr(this.batchSize,0,1).map((t,n)=>this.getReshapedInputDimensions(n))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let n=this.getInputWidth(t),a=this.getInputHeight(t);return bk({width:n,height:a},this.inputSize)}toBatchTensor(t,n=!0){return this._inputSize=t,O(()=>{let a=fr(this.batchSize,0,1).map(s=>{let i=this.getInput(s);if(i instanceof Ce){let o=wa(i)?i:Gt(i);return o=V$(o,n),(o.shape[1]!==t||o.shape[2]!==t)&&(o=Zn.resizeBilinear(o,[t,t],!1,!1)),o.as3D(t,t,3)}if(i instanceof at.getEnv().Canvas){let o=K$(i,t,n),l=jo.fromPixels(o);o.width=1,o.height=1;let u=o.getContext("2d");return u&&u.clearRect(0,0,1,1),l}throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)});return At(a.map(s=>re(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function vt(e){if(e instanceof Wr)return e;let t=Array.isArray(e)?e:[e];if(!t.length)throw new Error("toNetInput - empty array passed as input");let n=r=>Array.isArray(e)?` at input index ${r}:`:"",a=t.map(kp);return a.forEach((r,s)=>{if(!Sk(r)&&!Lr(r)&&!wa(r))throw typeof t[s]=="string"?new Error(`toNetInput -${n(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${n(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(wa(r)){let i=r.shape[0];if(i!==1)throw new Error(`toNetInput -${n(s)} tf.Tensor4D with batchSize ${i} passed, but not supported in input array`)}}),await Promise.all(a.map(r=>Sk(r)&&H$(r))),new Wr(a,Array.isArray(e))}async function Pd(e,t){let{Canvas:n}=at.getEnv(),a=e;if(!(e instanceof n)){let i=await vt(e);if(i.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let o=i.getInput(0);a=o instanceof n?o:await j$(o)}let r=ra(a);return t.map(i=>i instanceof Ft?i.forSize(a.width,a.height).box.floor():i).map(i=>i.clipAtImageBorders(a.width,a.height)).map(({x:i,y:o,width:l,height:u})=>{let p=Np({width:l,height:u});return l>0&&u>0&&ra(p).putImageData(r.getImageData(i,o,l,u),0,0),p})}async function Ld(e,t){if(!Lr(e)&&!wa(e))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(wa(e)&&e.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return O(()=>{let[n,a,r]=e.shape.slice(wa(e)?1:0);return t.map(o=>o instanceof Ft?o.forSize(a,n).box:o).map(o=>o.clipAtImageBorders(a,n)).filter(o=>o.width>0&&o.height>0).map(({x:o,y:l,width:u,height:p})=>Ho(e.as3D(n,a,r),[l,o,0],[p,u,r]))})}async function Rs(e,t){let{fetch:n}=at.getEnv(),a=await n(e,t);if(!(a.status<400))throw new Error(`failed to fetch: (${a.status}) ${a.statusText}, from url: ${a.url}`);return a}async function Qke(e){let t=await Rs(e),n=await t.blob();if(!n.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${n.type}, for url: ${t.url}`);return q$(n)}async function X$(e){return(await Rs(e)).json()}async function rIe(e){return new Float32Array(await(await Rs(e)).arrayBuffer())}function Y$(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToVideo - expected buf to be of type: Blob"));let a=at.getEnv().createVideoElement();a.oncanplay=()=>t(a),a.onerror=n,a.playsInline=!0,a.muted=!0,a.src=URL.createObjectURL(e),a.play()})}async function pIe(e){let t=await Rs(e),n=await t.blob();if(!n.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${n.type}, for url: ${t.url}`);return Y$(n)}function Zf(e,t){let n=`${t}-weights_manifest.json`;if(!e)return{modelBaseUri:"",manifestUri:n};if(e==="/")return{modelBaseUri:"/",manifestUri:`/${n}`};let a=e.startsWith("http://")?"http://":e.startsWith("https://")?"https://":"";e=e.replace(a,"");let r=e.split("/").filter(o=>o),s=e.endsWith(".json")?r[r.length-1]:n,i=a+(e.endsWith(".json")?r.slice(0,r.length-1):r).join("/");return i=e.startsWith("/")?`/${i}`:i,{modelBaseUri:i,manifestUri:i==="/"?`/${s}`:`${i}/${s}`}}async function Z$(e,t){let{manifestUri:n,modelBaseUri:a}=Zf(e,t),r=await X$(n);return qt.loadWeights(r,a)}function bIe(e,t,n=!1){let{width:a,height:r}=n?Sp(t):t;return e.width=a,e.height=r,{width:a,height:r}}var fn=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:n,objProp:a}=this.traversePropertyPath(t);return n[a]}reassignParamFromPath(t,n){let{obj:a,objProp:r}=this.traversePropertyPath(t);a[r].dispose(),a[r]=n}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof os)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof os))}variable(){this.getFrozenParams().forEach(({path:t,tensor:n})=>{this.reassignParamFromPath(t,n.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:n})=>{let a=bn(n.dataSync());n.dispose(),this.reassignParamFromPath(t,a)})}dispose(t=!0){this.getParamList().forEach(n=>{if(t&&n.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${n.path}`);n.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,n)=>t.concat(n)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let n=await Z$(t,this.getDefaultModelName());this.loadFromWeightMap(n)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:n}=at.getEnv(),{manifestUri:a,modelBaseUri:r}=Zf(t,this.getDefaultModelName()),s=u=>Promise.all(u.map(p=>n(p).then(d=>typeof d=="string"?Buffer.from(d):d.buffer))),i=qt.weightsLoaderFactory(s),o=JSON.parse((await n(a)).toString()),l=await i(o,r);this.loadFromWeightMap(l)}loadFromWeightMap(t){let{paramMappings:n,params:a}=this.extractParamsFromWeightMap(t);this._paramMappings=n,this._params=a}extractWeights(t){let{paramMappings:n,params:a}=this.extractParams(t);this._paramMappings=n,this._params=a}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let n=t.split("/").reduce((s,i)=>{if(!s.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${t}`);return{obj:s.nextObj,objProp:i,nextObj:s.nextObj[i]}},{nextObj:this.params}),{obj:a,objProp:r}=n;if(!a||!r||!(a[r]instanceof Ce))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:a,objProp:r}}};function Un(e,t,n){return O(()=>{let a=Es(e,t.depthwise_filter,t.pointwise_filter,n,"same");return a=X(a,t.bias),a})}function Jf(e,t,n=!1){return O(()=>{let a=Ke(n?X($t(e,t.conv0.filters,[2,2],"same"),t.conv0.bias):Un(e,t.conv0,[2,2])),r=Un(a,t.conv1,[1,1]),s=Ke(X(a,r)),i=Un(s,t.conv2,[1,1]);return Ke(X(a,X(r,i)))})}function zd(e,t,n=!1,a=!0){return O(()=>{let r=Ke(n?X($t(e,t.conv0.filters,a?[2,2]:[1,1],"same"),t.conv0.bias):Un(e,t.conv0,a?[2,2]:[1,1])),s=Un(r,t.conv1,[1,1]),i=Ke(X(r,s)),o=Un(i,t.conv2,[1,1]),l=Ke(X(r,X(s,o))),u=Un(l,t.conv3,[1,1]);return Ke(X(r,X(s,X(o,u))))})}function il(e,t,n="same",a=!1){return O(()=>{let r=X($t(e,t.filters,[1,1],n),t.bias);return a?Ke(r):r})}function En(e,t){Object.keys(e).forEach(n=>{t.some(a=>a.originalPath===n)||e[n].dispose()})}function Tp(e,t){return(n,a,r,s)=>{let i=Fa(e(n*a*r*r),[r,r,n,a]),o=qe(e(a));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:i,bias:o}}}function Qf(e,t){return(n,a,r)=>{let s=Ea(e(n*a),[n,a]),i=qe(e(a));return t.push({paramPath:`${r}/weights`},{paramPath:`${r}/bias`}),{weights:s,bias:i}}}var Wd=class{constructor(t,n,a){this.depthwise_filter=t;this.pointwise_filter=n;this.bias=a}};function Cp(e,t){return(n,a,r)=>{let s=Fa(e(9*n),[3,3,n,1]),i=Fa(e(n*a),[1,1,n,a]),o=qe(e(a));return t.push({paramPath:`${r}/depthwise_filter`},{paramPath:`${r}/pointwise_filter`},{paramPath:`${r}/bias`}),new Wd(s,i,o)}}function Ep(e){return t=>{let n=e(`${t}/depthwise_filter`,4),a=e(`${t}/pointwise_filter`,4),r=e(`${t}/bias`,1);return new Wd(n,a,r)}}function sa(e,t){return(n,a,r)=>{let s=e[n];if(!tl(s,a))throw new Error(`expected weightMap[${n}] to be a Tensor${a}D, instead have ${s}`);return t.push({originalPath:n,paramPath:r||n}),s}}function _n(e){let t=e;function n(r){let s=t.slice(0,r);return t=t.slice(r),s}function a(){return t}return{extractWeights:n,getRemainingWeights:a}}function eg(e,t){let n=Tp(e,t),a=Cp(e,t);function r(i,o,l,u=!1){let p=u?n(i,o,3,`${l}/conv0`):a(i,o,`${l}/conv0`),d=a(o,o,`${l}/conv1`),c=a(o,o,`${l}/conv2`);return{conv0:p,conv1:d,conv2:c}}function s(i,o,l,u=!1){let{conv0:p,conv1:d,conv2:c}=r(i,o,l,u),h=a(o,o,`${l}/conv3`);return{conv0:p,conv1:d,conv2:c,conv3:h}}return{extractDenseBlock3Params:r,extractDenseBlock4Params:s}}function J$(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),{extractDenseBlock4Params:r}=eg(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2"),l=r(128,256,"dense3");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o,dense3:l}}}function tg(e){return t=>{let n=e(`${t}/filters`,4),a=e(`${t}/bias`,1);return{filters:n,bias:a}}}function ng(e,t){let n=sa(e,t),a=tg(n),r=Ep(n);function s(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`);return{conv0:u,conv1:p,conv2:d}}function i(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`),c=r(`${o}/conv3`);return{conv0:u,conv1:p,conv2:d,conv3:c}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:i}}function Q$(e){let t=[],{extractDenseBlock4Params:n}=ng(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2"),dense3:n("dense3")};return En(e,t),{params:a,paramMappings:t}}var _p=class extends fn{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceFeatureExtractor - load model before inference");return O(()=>{let a=re(t.toBatchTensor(112,!0),"float32"),s=gr(a,[122.782,117.001,104.298]).div(255),i=zd(s,n.dense0,!0);return i=zd(i,n.dense1),i=zd(i,n.dense2),i=zd(i,n.dense3),i=ya(i,[7,7],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Q$(t)}extractParams(t){return J$(t)}};function Bd(e,t){return O(()=>X($e(e,t.weights),t.bias))}function eD(e,t,n){let a=[],{extractWeights:r,getRemainingWeights:s}=_n(e),o=Qf(r,a)(t,n,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:a,params:{fc:o}}}function tD(e){let t=[],n=sa(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:a("fc")};return En(e,t),{params:r,paramMappings:t}}function ag(e){let t={},n={};return Object.keys(e).forEach(a=>{let r=a.startsWith("fc")?n:t;r[a]=e[a]}),{featureExtractorMap:t,classifierMap:n}}var Ap=class extends fn{constructor(t,n){super(t),this._faceFeatureExtractor=n}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:n}=this;if(!n)throw new Error(`${this._name} - load model before inference`);return O(()=>{let a=t instanceof Wr?this.faceFeatureExtractor.forwardInput(t):t;return Bd(a.as2D(a.shape[0],-1),n.fc)})}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:n,paramMappings:a}=this.extractClassifierParams(t);this._params=n,this._paramMappings=a}extractClassifierParams(t){return eD(t,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(t){let{featureExtractorMap:n,classifierMap:a}=ag(t);return this.faceFeatureExtractor.loadFromWeightMap(n),tD(a)}extractParams(t){let n=this.getClassifierChannelsIn(),a=this.getClassifierChannelsOut(),r=a*n+a,s=t.slice(0,t.length-r),i=t.slice(t.length-r);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(i)}};var nD=["neutral","happy","sad","angry","fearful","disgusted","surprised"],Ms=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);nD.forEach((n,a)=>{this[n]=t[a]})}asSortedArray(){return nD.map(t=>({expression:t,probability:this[t]})).sort((t,n)=>n.probability-t.probability)}};var rg=class extends Ap{constructor(t=new _p){super("FaceExpressionNet",t)}forwardInput(t){return O(()=>ja(this.runNet(t)))}async forward(t){return this.forwardInput(await vt(t))}async predictExpressions(t){let n=await vt(t),a=await this.forwardInput(n),r=await Promise.all(dt(a).map(async i=>{let o=i.dataSync();return i.dispose(),o}));a.dispose();let s=r.map(i=>new Ms(i));return n.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function aD(e){return e.expressions instanceof Ms}function Nk(e,t){return{...e,...{expressions:t}}}function Wfe(e,t,n=.1,a){(Array.isArray(t)?t:[t]).forEach(s=>{let i=s instanceof Ms?s:aD(s)?s.expressions:void 0;if(!i)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let l=i.asSortedArray().filter(d=>d.probability>n),u=zr(s)?s.detection.box.bottomLeft:a||new He(0,0);new sl(l.map(d=>`${d.expression} (${nl(d.probability)})`),u).draw(e)})}function Fp(e){return zr(e)&&e.landmarks instanceof ka&&e.unshiftedLandmarks instanceof ka&&e.alignedRect instanceof Ft}function Bfe(e){let t=l=>l*180/Math.PI,n=(l,u)=>Math.sqrt((l.x-u.x)**2+(l.y-u.y)**2),a={roll:void 0,pitch:void 0,yaw:void 0},r=(l,u,p)=>{let d=Math.floor(l.x-u.x),c=Math.floor(u.x-p.x);return d-c},s=(l,u)=>{let p=Math.hypot(u.x-l.x,u.y-l.y),d=u.y-l.y,c=Math.asin(d/p),h=t(c),m=Math.floor(90-h),f=u.x-l.x<0?-1:1;return m*f},i=(l,u,p)=>{let d=n(l,p),c=new He((l.x+p.x)/2,(l.y+p.y)/2),h=n(u,c),m=Math.atan(h/d),f=Math.floor(t(m)),g=c.y-u.y<0?-1:1;return f*g};if(!e||!e.positions||e.positions.length!==68)return a;let o=e.positions;return a.roll=s(o[27],o[66]),a.pitch=i(o[14],o[30],o[2]),a.yaw=r(o[14],o[33],o[2]),a}function Vd(e,t){let{box:n}=e.detection,a=t.shiftBy(n.x,n.y),r=a.align(),{imageDims:s}=e.detection,i=new Ft(e.detection.score,r.rescale(s.reverse()),s),o=Bfe(t);return{...e,...{landmarks:a,unshiftedLandmarks:t,alignedRect:i,angle:o}}}var sg=class{constructor(t={}){let{drawLines:n=!0,drawPoints:a=!0,lineWidth:r,lineColor:s,pointSize:i,pointColor:o}=t;this.drawLines=n,this.drawPoints=a,this.lineWidth=r||1,this.pointSize=i||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=o||"rgba(255, 0, 255, 1)"}},ig=class{constructor(t,n={}){this.faceLandmarks=t,this.options=new sg(n)}draw(t){let n=ra(t),{drawLines:a,drawPoints:r,lineWidth:s,lineColor:i,pointSize:o,pointColor:l}=this.options;if(a&&this.faceLandmarks instanceof vp&&(n.strokeStyle=i,n.lineWidth=s,Pr(n,this.faceLandmarks.getJawOutline()),Pr(n,this.faceLandmarks.getLeftEyeBrow()),Pr(n,this.faceLandmarks.getRightEyeBrow()),Pr(n,this.faceLandmarks.getNose()),Pr(n,this.faceLandmarks.getLeftEye(),!0),Pr(n,this.faceLandmarks.getRightEye(),!0),Pr(n,this.faceLandmarks.getMouth(),!0)),r){n.strokeStyle=l,n.fillStyle=l;let u=p=>{n.beginPath(),n.arc(p.x,p.y,o,0,2*Math.PI),n.fill()};this.faceLandmarks.positions.forEach(u)}}};function Vfe(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof ka?a:Fp(a)?a.landmarks:void 0;if(!r)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new ig(r).draw(e)})}var sD="1.7.13";function Hfe(e,t){let n=Tp(e,t),a=Cp(e,t);function r(i,o,l){let u=a(i,o,`${l}/separable_conv0`),p=a(o,o,`${l}/separable_conv1`),d=n(i,o,1,`${l}/expansion_conv`);return{separable_conv0:u,separable_conv1:p,expansion_conv:d}}function s(i,o){let l=a(i,i,`${o}/separable_conv0`),u=a(i,i,`${o}/separable_conv1`),p=a(i,i,`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:n,extractSeparableConvParams:a,extractReductionBlockParams:r,extractMainBlockParams:s}}function iD(e,t){let n=[],{extractWeights:a,getRemainingWeights:r}=_n(e),{extractConvParams:s,extractSeparableConvParams:i,extractReductionBlockParams:o,extractMainBlockParams:l}=Hfe(a,n),u=s(3,32,3,"entry_flow/conv_in"),p=o(32,64,"entry_flow/reduction_block_0"),d=o(64,128,"entry_flow/reduction_block_1"),c={conv_in:u,reduction_block_0:p,reduction_block_1:d},h={};fr(t,0,1).forEach(b=>{h[`main_block_${b}`]=l(128,`middle_flow/main_block_${b}`)});let m=o(128,256,"exit_flow/reduction_block"),f=i(256,512,"exit_flow/separable_conv"),g={reduction_block:m,separable_conv:f};if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:n,params:{entry_flow:c,middle_flow:h,exit_flow:g}}}function qfe(e,t){let n=sa(e,t),a=tg(n),r=Ep(n);function s(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=a(`${o}/expansion_conv`);return{separable_conv0:l,separable_conv1:u,expansion_conv:p}}function i(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=r(`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}}function oD(e,t){let n=[],{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}=qfe(e,n),o=a("entry_flow/conv_in"),l=s("entry_flow/reduction_block_0"),u=s("entry_flow/reduction_block_1"),p={conv_in:o,reduction_block_0:l,reduction_block_1:u},d={};fr(t,0,1).forEach(f=>{d[`main_block_${f}`]=i(`middle_flow/main_block_${f}`)});let c=s("exit_flow/reduction_block"),h=r("exit_flow/separable_conv"),m={reduction_block:c,separable_conv:h};return En(e,n),{params:{entry_flow:p,middle_flow:d,exit_flow:m},paramMappings:n}}function lD(e,t,n){return X($t(e,t.filters,n,"same"),t.bias)}function Tk(e,t,n=!0){let a=n?Ke(e):e;return a=Un(a,t.separable_conv0,[1,1]),a=Un(Ke(a),t.separable_conv1,[1,1]),a=Dt(a,[3,3],[2,2],"same"),a=X(a,lD(e,t.expansion_conv,[2,2])),a}function jfe(e,t){let n=Un(Ke(e),t.separable_conv0,[1,1]);return n=Un(Ke(n),t.separable_conv1,[1,1]),n=Un(Ke(n),t.separable_conv2,[1,1]),n=X(n,e),n}var og=class extends fn{constructor(t){super("TinyXception"),this._numMainBlocks=t}forwardInput(t){let{params:n}=this;if(!n)throw new Error("TinyXception - load model before inference");return O(()=>{let a=re(t.toBatchTensor(112,!0),"float32"),s=gr(a,[122.782,117.001,104.298]).div(255),i=Ke(lD(s,n.entry_flow.conv_in,[2,2]));return i=Tk(i,n.entry_flow.reduction_block_0,!1),i=Tk(i,n.entry_flow.reduction_block_1),fr(this._numMainBlocks,0,1).forEach(o=>{i=jfe(i,n.middle_flow[`main_block_${o}`])}),i=Tk(i,n.exit_flow.reduction_block),i=Ke(Un(i,n.exit_flow.separable_conv,[1,1])),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(t){return oD(t,this._numMainBlocks)}extractParams(t){return iD(t,this._numMainBlocks)}};function uD(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),r=Qf(n,t),s=r(512,1,"fc/age"),i=r(512,2,"fc/gender");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{fc:{age:s,gender:i}}}}function pD(e){let t=[],n=sa(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:{age:a("fc/age"),gender:a("fc/gender")}};return En(e,t),{params:r,paramMappings:t}}var Ck=(n=>(n.FEMALE="female",n.MALE="male",n))(Ck||{});var lg=class extends fn{constructor(t=new og(2)){super("AgeGenderNet"),this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:n}=this;if(!n)throw new Error(`${this._name} - load model before inference`);return O(()=>{let a=t instanceof Wr?this.faceFeatureExtractor.forwardInput(t):t,r=ya(a,[7,7],[2,2],"valid").as2D(a.shape[0],-1),s=Bd(r,n.fc.age).as1D(),i=Bd(r,n.fc.gender);return{age:s,gender:i}})}forwardInput(t){return O(()=>{let{age:n,gender:a}=this.runNet(t);return{age:n,gender:ja(a)}})}async forward(t){return this.forwardInput(await vt(t))}async predictAgeAndGender(t){let n=await vt(t),a=await this.forwardInput(n),r=dt(a.age),s=dt(a.gender),i=r.map((l,u)=>({ageTensor:l,genderTensor:s[u]})),o=await Promise.all(i.map(async({ageTensor:l,genderTensor:u})=>{let p=l.dataSync()[0],d=u.dataSync()[0],c=d>.5,h=c?"male":"female",m=c?d:1-d;return l.dispose(),u.dispose(),{age:p,gender:h,genderProbability:m}}));return a.age.dispose(),a.gender.dispose(),n.isBatchInput?o:o[0]}getDefaultModelName(){return"age_gender_model"}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:n,paramMappings:a}=this.extractClassifierParams(t);this._params=n,this._paramMappings=a}extractClassifierParams(t){return uD(t)}extractParamsFromWeightMap(t){let{featureExtractorMap:n,classifierMap:a}=ag(t);return this.faceFeatureExtractor.loadFromWeightMap(n),pD(a)}extractParams(t){let a=t.slice(0,t.length-1539),r=t.slice(t.length-1539);return this.faceFeatureExtractor.extractWeights(a),this.extractClassifierParams(r)}};var $p=class extends Ap{postProcess(t,n,a){let r=a.map(({width:i,height:o})=>{let l=n/Math.max(o,i);return{width:i*l,height:o*l}}),s=r.length;return O(()=>{let i=(d,c)=>At([yn([68],d,"float32"),yn([68],c,"float32")],1).as2D(1,136).as1D(),o=(d,c)=>{let{width:h,height:m}=r[d];return c(h,m)?Math.abs(h-m)/2:0},l=d=>o(d,(c,h)=>co(d,(c,h)=>hi(l(c),u(c))))).div(At(Array.from(Array(s),(d,c)=>i(r[c].width,r[c].height))))})}forwardInput(t){return O(()=>{let n=this.runNet(t);return this.postProcess(n,t.inputSize,t.inputDimensions.map(([a,r])=>({height:a,width:r})))})}async forward(t){return this.forwardInput(await vt(t))}async detectLandmarks(t){let n=await vt(t),a=O(()=>dt(this.forwardInput(n))),r=await Promise.all(a.map(async(s,i)=>{let o=Array.from(s.dataSync()),l=o.filter((p,d)=>Gf(d)),u=o.filter((p,d)=>!Gf(d));return new vp(Array(68).fill(0).map((p,d)=>new He(l[d],u[d])),{height:n.getInputHeight(i),width:n.getInputWidth(i)})}));return a.forEach(s=>s.dispose()),n.isBatchInput?r:r[0]}getClassifierChannelsOut(){return 136}};var Dp=class extends $p{constructor(t=new _p){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};function cD(e){let t=[],{extractDenseBlock3Params:n}=ng(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2")};return En(e,t),{params:a,paramMappings:t}}function dD(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),{extractDenseBlock3Params:r}=eg(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o}}}var ug=class extends fn{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("TinyFaceFeatureExtractor - load model before inference");return O(()=>{let a=re(t.toBatchTensor(112,!0),"float32"),s=gr(a,[122.782,117.001,104.298]).div(255),i=Jf(s,n.dense0,!0);return i=Jf(i,n.dense1),i=Jf(i,n.dense2),i=ya(i,[14,14],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return cD(t)}extractParams(t){return dD(t)}};var pg=class extends $p{constructor(t=new ug){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var hD=class extends Dp{};function mD(e,t){return X(z(e,t.weights),t.biases)}function Ek(e,t,n,a,r="same"){let{filters:s,bias:i}=t.conv,o=$t(e,s,n,r);return o=X(o,i),o=mD(o,t.scale),a?Ke(o):o}function fD(e,t){return Ek(e,t,[1,1],!0)}function _k(e,t){return Ek(e,t,[1,1],!1)}function cg(e,t){return Ek(e,t,[2,2],!0,"valid")}function Kfe(e,t){function n(o,l,u){let p=e(o),d=p.length/(l*u*u);if(gk(d))throw new Error(`depth has to be an integer: ${d}, weights.length: ${p.length}, numFilters: ${l}, filterSize: ${u}`);return O(()=>De(Fa(p,[l,d,u,u]),[2,3,1,0]))}function a(o,l,u,p){let d=n(o,l,u),c=qe(e(l));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:d,bias:c}}function r(o,l){let u=qe(e(o)),p=qe(e(o));return t.push({paramPath:`${l}/weights`},{paramPath:`${l}/biases`}),{weights:u,biases:p}}function s(o,l,u,p){let d=a(o,l,u,`${p}/conv`),c=r(l,`${p}/scale`);return{conv:d,scale:c}}function i(o,l,u,p,d=!1){let c=s((d?.5:1)*o,l,u,`${p}/conv1`),h=s(o,l,u,`${p}/conv2`);return{conv1:c,conv2:h}}return{extractConvLayerParams:s,extractResidualLayerParams:i}}function gD(e){let{extractWeights:t,getRemainingWeights:n}=_n(e),a=[],{extractConvLayerParams:r,extractResidualLayerParams:s}=Kfe(t,a),i=r(4704,32,7,"conv32_down"),o=s(9216,32,3,"conv32_1"),l=s(9216,32,3,"conv32_2"),u=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),d=s(36864,64,3,"conv64_1"),c=s(36864,64,3,"conv64_2"),h=s(36864,64,3,"conv64_3"),m=s(147456,128,3,"conv128_down",!0),f=s(147456,128,3,"conv128_1"),g=s(147456,128,3,"conv128_2"),b=s(589824,256,3,"conv256_down",!0),y=s(589824,256,3,"conv256_1"),x=s(589824,256,3,"conv256_2"),v=s(589824,256,3,"conv256_down_out"),I=O(()=>De(Ea(t(256*128),[128,256]),[1,0]));if(a.push({paramPath:"fc"}),n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{params:{conv32_down:i,conv32_1:o,conv32_2:l,conv32_3:u,conv64_down:p,conv64_1:d,conv64_2:c,conv64_3:h,conv128_down:m,conv128_1:f,conv128_2:g,conv256_down:b,conv256_1:y,conv256_2:x,conv256_down_out:v,fc:I},paramMappings:a}}function Xfe(e,t){let n=sa(e,t);function a(i){let o=n(`${i}/scale/weights`,1),l=n(`${i}/scale/biases`,1);return{weights:o,biases:l}}function r(i){let o=n(`${i}/conv/filters`,4),l=n(`${i}/conv/bias`,1),u=a(i);return{conv:{filters:o,bias:l},scale:u}}function s(i){return{conv1:r(`${i}/conv1`),conv2:r(`${i}/conv2`)}}return{extractConvLayerParams:r,extractResidualLayerParams:s}}function bD(e){let t=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=Xfe(e,t),r=n("conv32_down"),s=a("conv32_1"),i=a("conv32_2"),o=a("conv32_3"),l=a("conv64_down"),u=a("conv64_1"),p=a("conv64_2"),d=a("conv64_3"),c=a("conv128_down"),h=a("conv128_1"),m=a("conv128_2"),f=a("conv256_down"),g=a("conv256_1"),b=a("conv256_2"),y=a("conv256_down_out"),{fc:x}=e;if(t.push({originalPath:"fc",paramPath:"fc"}),!fk(x))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${x}`);let v={conv32_down:r,conv32_1:s,conv32_2:i,conv32_3:o,conv64_down:l,conv64_1:u,conv64_2:p,conv64_3:d,conv128_down:c,conv128_1:h,conv128_2:m,conv256_down:f,conv256_1:g,conv256_2:b,conv256_down_out:y,fc:x};return En(e,t),{params:v,paramMappings:t}}function Ya(e,t){let n=fD(e,t.conv1);return n=_k(n,t.conv2),n=X(n,e),n=Ke(n),n}function Ud(e,t){let n=cg(e,t.conv1);n=_k(n,t.conv2);let a=ya(e,2,2,"valid"),r=It(a.shape),s=a.shape[3]!==n.shape[3];if(a.shape[1]!==n.shape[1]||a.shape[2]!==n.shape[2]){let o=[...n.shape];o[1]=1;let l=It(o);n=et([n,l],1);let u=[...n.shape];u[2]=1;let p=It(u);n=et([n,p],2)}return a=s?et([a,r],3):a,n=X(a,n),n=Ke(n),n}var Rp=class extends fn{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceRecognitionNet - load model before inference");return O(()=>{let a=re(t.toBatchTensor(150,!0),"float32"),s=gr(a,[122.782,117.001,104.298]).div(255),i=cg(s,n.conv32_down);i=Dt(i,3,2,"valid"),i=Ya(i,n.conv32_1),i=Ya(i,n.conv32_2),i=Ya(i,n.conv32_3),i=Ud(i,n.conv64_down),i=Ya(i,n.conv64_1),i=Ya(i,n.conv64_2),i=Ya(i,n.conv64_3),i=Ud(i,n.conv128_down),i=Ya(i,n.conv128_1),i=Ya(i,n.conv128_2),i=Ud(i,n.conv256_down),i=Ya(i,n.conv256_1),i=Ya(i,n.conv256_2),i=Ud(i,n.conv256_down_out);let o=i.mean([1,2]);return $e(o,n.fc)})}async forward(t){return this.forwardInput(await vt(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(i=>i<=0))return new Float32Array(128);let n=await vt(t),a=O(()=>dt(this.forwardInput(n))),r=await Promise.all(a.map(i=>i.data()));return a.forEach(i=>i.dispose()),n.isBatchInput?r:r[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return bD(t)}extractParams(t){return gD(t)}};function G2e(e){let t=new Rp;return t.extractWeights(e),t}function Ak(e,t){return{...e,...{descriptor:t}}}function K2e(e){return typeof e.age=="number"}function Fk(e,t){return{...e,...{age:t}}}function J2e(e){return(e.gender==="male"||e.gender==="female")&&gp(e.genderProbability)}function $k(e,t,n){return{...e,...{gender:t,genderProbability:n}}}function Yfe(e,t){function n(l,u){let p=Fa(e(9*l),[3,3,l,1]),d=qe(e(l)),c=qe(e(l)),h=qe(e(l)),m=qe(e(l));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/batch_norm_scale`},{paramPath:`${u}/batch_norm_offset`},{paramPath:`${u}/batch_norm_mean`},{paramPath:`${u}/batch_norm_variance`}),{filters:p,batch_norm_scale:d,batch_norm_offset:c,batch_norm_mean:h,batch_norm_variance:m}}function a(l,u,p,d,c){let h=Fa(e(l*u*p*p),[p,p,l,u]),m=qe(e(u));return t.push({paramPath:`${d}/filters`},{paramPath:`${d}/${c?"batch_norm_offset":"bias"}`}),{filters:h,bias:m}}function r(l,u,p,d){let{filters:c,bias:h}=a(l,u,p,d,!0);return{filters:c,batch_norm_offset:h}}function s(l,u,p){let d=n(l,`${p}/depthwise_conv`),c=r(l,u,1,`${p}/pointwise_conv`);return{depthwise_conv:d,pointwise_conv:c}}function i(){let l=r(3,32,3,"mobilenetv1/conv_0"),u=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),d=s(128,128,"mobilenetv1/conv_3"),c=s(128,256,"mobilenetv1/conv_4"),h=s(256,256,"mobilenetv1/conv_5"),m=s(256,512,"mobilenetv1/conv_6"),f=s(512,512,"mobilenetv1/conv_7"),g=s(512,512,"mobilenetv1/conv_8"),b=s(512,512,"mobilenetv1/conv_9"),y=s(512,512,"mobilenetv1/conv_10"),x=s(512,512,"mobilenetv1/conv_11"),v=s(512,1024,"mobilenetv1/conv_12"),I=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,conv_8:g,conv_9:b,conv_10:y,conv_11:x,conv_12:v,conv_13:I}}function o(){let l=r(1024,256,1,"prediction_layer/conv_0"),u=r(256,512,3,"prediction_layer/conv_1"),p=r(512,128,1,"prediction_layer/conv_2"),d=r(128,256,3,"prediction_layer/conv_3"),c=r(256,128,1,"prediction_layer/conv_4"),h=r(128,256,3,"prediction_layer/conv_5"),m=r(256,64,1,"prediction_layer/conv_6"),f=r(64,128,3,"prediction_layer/conv_7"),g=a(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),b=a(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),y=a(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),x=a(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),v=a(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),I=a(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),N=a(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),C=a(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),_=a(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),F=a(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),D=a(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),$=a(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,box_predictor_0:{box_encoding_predictor:g,class_predictor:b},box_predictor_1:{box_encoding_predictor:y,class_predictor:x},box_predictor_2:{box_encoding_predictor:v,class_predictor:I},box_predictor_3:{box_encoding_predictor:N,class_predictor:C},box_predictor_4:{box_encoding_predictor:_,class_predictor:F},box_predictor_5:{box_encoding_predictor:D,class_predictor:$}}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:o}}function yD(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),{extractMobilenetV1Params:r,extractPredictionLayerParams:s}=Yfe(n,t),i=r(),o=s(),u={extra_dim:xd(n(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:{mobilenetv1:i,prediction_layer:o,output_layer:u},paramMappings:t}}function Zfe(e,t){let n=sa(e,t);function a(u,p,d){let c=n(`${u}/Conv2d_${p}_pointwise/weights`,4,`${d}/filters`),h=n(`${u}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${d}/batch_norm_offset`);return{filters:c,batch_norm_offset:h}}function r(u){let p=`mobilenetv1/conv_${u}`,d=`MobilenetV1/Conv2d_${u}_depthwise`,c=`${p}/depthwise_conv`,h=`${p}/pointwise_conv`,m=n(`${d}/depthwise_weights`,4,`${c}/filters`),f=n(`${d}/BatchNorm/gamma`,1,`${c}/batch_norm_scale`),g=n(`${d}/BatchNorm/beta`,1,`${c}/batch_norm_offset`),b=n(`${d}/BatchNorm/moving_mean`,1,`${c}/batch_norm_mean`),y=n(`${d}/BatchNorm/moving_variance`,1,`${c}/batch_norm_variance`);return{depthwise_conv:{filters:m,batch_norm_scale:f,batch_norm_offset:g,batch_norm_mean:b,batch_norm_variance:y},pointwise_conv:a("MobilenetV1",u,h)}}function s(){return{conv_0:a("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:r(1),conv_2:r(2),conv_3:r(3),conv_4:r(4),conv_5:r(5),conv_6:r(6),conv_7:r(7),conv_8:r(8),conv_9:r(9),conv_10:r(10),conv_11:r(11),conv_12:r(12),conv_13:r(13)}}function i(u,p){let d=n(`${u}/weights`,4,`${p}/filters`),c=n(`${u}/biases`,1,`${p}/bias`);return{filters:d,bias:c}}function o(u){let p=i(`Prediction/BoxPredictor_${u}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${u}/box_encoding_predictor`),d=i(`Prediction/BoxPredictor_${u}/ClassPredictor`,`prediction_layer/box_predictor_${u}/class_predictor`);return{box_encoding_predictor:p,class_predictor:d}}function l(){return{conv_0:a("Prediction",0,"prediction_layer/conv_0"),conv_1:a("Prediction",1,"prediction_layer/conv_1"),conv_2:a("Prediction",2,"prediction_layer/conv_2"),conv_3:a("Prediction",3,"prediction_layer/conv_3"),conv_4:a("Prediction",4,"prediction_layer/conv_4"),conv_5:a("Prediction",5,"prediction_layer/conv_5"),conv_6:a("Prediction",6,"prediction_layer/conv_6"),conv_7:a("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:o(0),box_predictor_1:o(1),box_predictor_2:o(2),box_predictor_3:o(3),box_predictor_4:o(4),box_predictor_5:o(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:l}}function xD(e){let t=[],{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=Zfe(e,t),r=e["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!Lr(r))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${r}`);let s={mobilenetv1:n(),prediction_layer:a(),output_layer:{extra_dim:r}};return En(e,t),{params:s,paramMappings:t}}function Ra(e,t,n){return O(()=>{let a=$t(e,t.filters,n,"same");return a=X(a,t.batch_norm_offset),an(a,0,6)})}var Jfe=.0010000000474974513;function Qfe(e,t,n){return O(()=>{let a=Ns(e,t.filters,n,"same");return a=Ss(a,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Jfe),an(a,0,6)})}function ege(e){return[2,4,6,12].some(t=>t===e)?[2,2]:[1,1]}function vD(e,t){return O(()=>{let n,a=Ra(e,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,i)=>{let o=i+1,l=ege(o);a=Qfe(a,s.depthwise_conv,l),a=Ra(a,s.pointwise_conv,[1,1]),o===11&&(n=a)}),n===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:a,conv11:n}})}function tge(e,t,n){let a=e.arraySync(),r=Math.min(a[t][0],a[t][2]),s=Math.min(a[t][1],a[t][3]),i=Math.max(a[t][0],a[t][2]),o=Math.max(a[t][1],a[t][3]),l=Math.min(a[n][0],a[n][2]),u=Math.min(a[n][1],a[n][3]),p=Math.max(a[n][0],a[n][2]),d=Math.max(a[n][1],a[n][3]),c=(i-r)*(o-s),h=(p-l)*(d-u);if(c<=0||h<=0)return 0;let m=Math.max(r,l),f=Math.max(s,u),g=Math.min(i,p),b=Math.min(o,d),y=Math.max(g-m,0)*Math.max(b-f,0);return y/(c+h-y)}function wD(e,t,n,a,r){let s=e.shape[0],i=Math.min(n,s),o=t.map((p,d)=>({score:p,boxIndex:d})).filter(p=>p.score>r).sort((p,d)=>d.score-p.score),l=p=>p<=a?1:0,u=[];return o.forEach(p=>{if(u.length>=i)return;let d=p.score;for(let c=u.length-1;c>=0;--c){let h=tge(e,p.boxIndex,u[c]);if(h!==0&&(p.score*=l(h),p.score<=r))break}d===p.score&&u.push(p.boxIndex)}),u}function nge(e){let t=dt(De(e,[1,0])),n=[pe(t[2],t[0]),pe(t[3],t[1])],a=[X(t[0],he(n[0],2)),X(t[1],he(n[1],2))];return{sizes:n,centers:a}}function age(e,t){let{sizes:n,centers:a}=nge(e),r=dt(De(t,[1,0])),s=he(z(dn(he(r[2],5)),n[0]),2),i=X(z(he(r[0],10),n[0]),a[0]),o=he(z(dn(he(r[3],5)),n[1]),2),l=X(z(he(r[1],10),n[1]),a[1]);return De(At([pe(i,s),pe(l,o),X(i,s),X(l,o)]),[1,0])}function kD(e,t,n){return O(()=>{let a=e.shape[0],r=age(W(Mn(n.extra_dim,[a,1,1]),[-1,4]),W(e,[-1,4]));r=W(r,[a,r.shape[0]/a,4]);let s=ha(Ve(t,[0,0,1],[-1,-1,-1])),i=Ve(s,[0,0,0],[-1,-1,1]);i=W(i,[a,i.shape[1]]);let o=dt(r),l=dt(i);return{boxes:o,scores:l}})}function ol(e,t){return O(()=>{let n=e.shape[0],a=W(il(e,t.box_encoding_predictor),[n,-1,1,4]),r=W(il(e,t.class_predictor),[n,-1,3]);return{boxPredictionEncoding:a,classPrediction:r}})}function ID(e,t,n){return O(()=>{let a=Ra(e,n.conv_0,[1,1]),r=Ra(a,n.conv_1,[2,2]),s=Ra(r,n.conv_2,[1,1]),i=Ra(s,n.conv_3,[2,2]),o=Ra(i,n.conv_4,[1,1]),l=Ra(o,n.conv_5,[2,2]),u=Ra(l,n.conv_6,[1,1]),p=Ra(u,n.conv_7,[2,2]),d=ol(t,n.box_predictor_0),c=ol(e,n.box_predictor_1),h=ol(r,n.box_predictor_2),m=ol(i,n.box_predictor_3),f=ol(l,n.box_predictor_4),g=ol(p,n.box_predictor_5),b=et([d.boxPredictionEncoding,c.boxPredictionEncoding,h.boxPredictionEncoding,m.boxPredictionEncoding,f.boxPredictionEncoding,g.boxPredictionEncoding],1),y=et([d.classPrediction,c.classPrediction,h.classPrediction,m.classPrediction,f.classPrediction,g.classPrediction],1);return{boxPredictions:b,classPredictions:y}})}var Ma=class{constructor({minConfidence:t,maxResults:n}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=n||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var ll=class extends fn{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("SsdMobilenetv1 - load model before inference");return O(()=>{let a=re(t.toBatchTensor(512,!1),"float32"),r=pe(he(a,127.5),1),s=vD(r,n.mobilenetv1),{boxPredictions:i,classPredictions:o}=ID(s.out,s.conv11,n.prediction_layer);return kD(i,o,n.output_layer)})}async forward(t){return this.forwardInput(await vt(t))}async locateFaces(t,n={}){let{maxResults:a,minConfidence:r}=new Ma(n),s=await vt(t),{boxes:i,scores:o}=this.forwardInput(s),l=i[0],u=o[0];for(let x=1;x{let[v,I]=[Math.max(0,b[x][0]),Math.min(1,b[x][2])].map(_=>_*g),[N,C]=[Math.max(0,b[x][1]),Math.min(1,b[x][3])].map(_=>_*f);return new Ft(p[x],new xp(N,v,C-N,I-v),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return l.dispose(),u.dispose(),y}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return xD(t)}extractParams(t){return yD(t)}};function rge(e){let t=new ll;return t.extractWeights(e),t}function GCe(e){return rge(e)}var SD=class extends ll{};var ND=.4,TD=[new He(.738768,.874946),new He(2.42204,2.65704),new He(4.30971,7.04493),new He(10.246,4.59428),new He(12.6868,11.8741)],CD=[new He(1.603231,2.094468),new He(6.041143,7.080126),new He(2.882459,3.518061),new He(4.266906,5.178857),new He(9.041765,10.66308)],ED=[117.001,114.697,97.404],_D="tiny_yolov2_model",AD="tiny_yolov2_separable_conv_model";var dg=e=>typeof e=="number";function FD(e){if(!e)throw new Error(`invalid config: ${e}`);if(typeof e.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${e.withSeparableConvs}`);if(!dg(e.iouThreshold)||e.iouThreshold<0||e.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${e.iouThreshold}`);if(!Array.isArray(e.classes)||!e.classes.length||!e.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(e.classes)}`);if(!Array.isArray(e.anchors)||!e.anchors.length||!e.anchors.map(t=>t||{}).every(t=>dg(t.x)&&dg(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(e.anchors)}`);if(e.meanRgb&&(!Array.isArray(e.meanRgb)||e.meanRgb.length!==3||!e.meanRgb.every(dg)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(e.meanRgb)}`)}function Mp(e){return O(()=>{let t=z(e,ve(.10000000149011612));return X(Ke(pe(e,t)),t)})}function Br(e,t){return O(()=>{let n=xa(e,[[0,0],[1,1],[1,1],[0,0]]);return n=$t(n,t.conv.filters,[1,1],"valid"),n=pe(n,t.bn.sub),n=z(n,t.bn.truediv),n=X(n,t.conv.bias),Mp(n)})}function Vr(e,t){return O(()=>{let n=xa(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Es(n,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),n=X(n,t.bias),Mp(n)})}function sge(e,t){let n=Tp(e,t);function a(i,o){let l=qe(e(i)),u=qe(e(i));return t.push({paramPath:`${o}/sub`},{paramPath:`${o}/truediv`}),{sub:l,truediv:u}}function r(i,o,l){let u=n(i,o,3,`${l}/conv`),p=a(o,`${l}/bn`);return{conv:u,bn:p}}let s=Cp(e,t);return{extractConvParams:n,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}}function $D(e,t,n,a){let{extractWeights:r,getRemainingWeights:s}=_n(e),i=[],{extractConvParams:o,extractConvWithBatchNormParams:l,extractSeparableConvParams:u}=sge(r,i),p;if(t.withSeparableConvs){let[d,c,h,m,f,g,b,y,x]=a,v=t.isFirstLayerConv2d?o(d,c,3,"conv0"):u(d,c,"conv0"),I=u(c,h,"conv1"),N=u(h,m,"conv2"),C=u(m,f,"conv3"),_=u(f,g,"conv4"),F=u(g,b,"conv5"),D=y?u(b,y,"conv6"):void 0,$=x?u(y,x,"conv7"):void 0,S=o(x||y||b,5*n,1,"conv8");p={conv0:v,conv1:I,conv2:N,conv3:C,conv4:_,conv5:F,conv6:D,conv7:$,conv8:S}}else{let[d,c,h,m,f,g,b,y,x]=a,v=l(d,c,"conv0"),I=l(c,h,"conv1"),N=l(h,m,"conv2"),C=l(m,f,"conv3"),_=l(f,g,"conv4"),F=l(g,b,"conv5"),D=l(b,y,"conv6"),$=l(y,x,"conv7"),S=o(x,5*n,1,"conv8");p={conv0:v,conv1:I,conv2:N,conv3:C,conv4:_,conv5:F,conv6:D,conv7:$,conv8:S}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:i}}function ige(e,t){let n=sa(e,t);function a(o){let l=n(`${o}/sub`,1),u=n(`${o}/truediv`,1);return{sub:l,truediv:u}}function r(o){let l=n(`${o}/filters`,4),u=n(`${o}/bias`,1);return{filters:l,bias:u}}function s(o){let l=r(`${o}/conv`),u=a(`${o}/bn`);return{conv:l,bn:u}}let i=Ep(n);return{extractConvParams:r,extractConvWithBatchNormParams:s,extractSeparableConvParams:i}}function DD(e,t){let n=[],{extractConvParams:a,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}=ige(e,n),i;if(t.withSeparableConvs){let o=t.filterSizes&&t.filterSizes.length||9;i={conv0:t.isFirstLayerConv2d?a("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:o>7?s("conv6"):void 0,conv7:o>8?s("conv7"):void 0,conv8:a("conv8")}}else i={conv0:r("conv0"),conv1:r("conv1"),conv2:r("conv2"),conv3:r("conv3"),conv4:r("conv4"),conv5:r("conv5"),conv6:r("conv6"),conv7:r("conv7"),conv8:a("conv8")};return En(e,n),{params:i,paramMappings:n}}var br=class{constructor({inputSize:t,scoreThreshold:n}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=n||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var hg=class hg extends fn{constructor(t){super("TinyYolov2"),FD(t),this._config=t}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(t,n){let a=Br(t,n.conv0);return a=Dt(a,[2,2],[2,2],"same"),a=Br(a,n.conv1),a=Dt(a,[2,2],[2,2],"same"),a=Br(a,n.conv2),a=Dt(a,[2,2],[2,2],"same"),a=Br(a,n.conv3),a=Dt(a,[2,2],[2,2],"same"),a=Br(a,n.conv4),a=Dt(a,[2,2],[2,2],"same"),a=Br(a,n.conv5),a=Dt(a,[2,2],[1,1],"same"),a=Br(a,n.conv6),a=Br(a,n.conv7),il(a,n.conv8,"valid",!1)}runMobilenet(t,n){let a=this.config.isFirstLayerConv2d?Mp(il(t,n.conv0,"valid",!1)):Vr(t,n.conv0);return a=Dt(a,[2,2],[2,2],"same"),a=Vr(a,n.conv1),a=Dt(a,[2,2],[2,2],"same"),a=Vr(a,n.conv2),a=Dt(a,[2,2],[2,2],"same"),a=Vr(a,n.conv3),a=Dt(a,[2,2],[2,2],"same"),a=Vr(a,n.conv4),a=Dt(a,[2,2],[2,2],"same"),a=Vr(a,n.conv5),a=Dt(a,[2,2],[1,1],"same"),a=n.conv6?Vr(a,n.conv6):a,a=n.conv7?Vr(a,n.conv7):a,il(a,n.conv8,"valid",!1)}forwardInput(t,n){let{params:a}=this;if(!a)throw new Error("TinyYolov2 - load model before inference");return O(()=>{let r=re(t.toBatchTensor(n,!1),"float32");return r=this.config.meanRgb?gr(r,this.config.meanRgb):r,r=r.div(255),this.config.withSeparableConvs?this.runMobilenet(r,a):this.runTinyYolov2(r,a)})}async forward(t,n){return this.forwardInput(await vt(t),n)}async detect(t,n={}){let{inputSize:a,scoreThreshold:r}=new br(n),s=await vt(t),i=await this.forwardInput(s,a),o=O(()=>dt(i)[0].expandDims()),l={width:s.getInputWidth(0),height:s.getInputHeight(0)},u=await this.extractBoxes(o,s.getReshapedInputDimensions(0),r);i.dispose(),o.dispose();let p=u.map(g=>g.box),d=u.map(g=>g.score),c=u.map(g=>g.classScore),h=u.map(g=>this.config.classes[g.label]);return B$(p.map(g=>g.rescale(a)),d,this.config.iouThreshold,!0).map(g=>new yp(d[g],c[g],h[g],p[g],l))}getDefaultModelName(){return""}extractParamsFromWeightMap(t){return DD(t,this.config)}extractParams(t){let n=this.config.filterSizes||hg.DEFAULT_FILTER_SIZES,a=n?n.length:void 0;if(a!==7&&a!==8&&a!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${a} filterSizes in config`);return $D(t,this.config,this.boxEncodingSize,n)}async extractBoxes(t,n,a){let{width:r,height:s}=n,i=Math.max(r,s),o=i/r,l=i/s,u=t.shape[1],p=this.config.anchors.length,[d,c,h]=O(()=>{let b=t.reshape([u,u,p,this.boxEncodingSize]),y=b.slice([0,0,0,0],[u,u,p,4]),x=b.slice([0,0,0,4],[u,u,p,1]),v=this.withClassScores?ja(b.slice([0,0,0,5],[u,u,p,this.config.classes.length]),3):ve(0);return[y,x,v]}),m=[],f=await c.array(),g=await d.array();for(let b=0;ba){let I=(y+qf(g[b][y][x][0]))/u*o,N=(b+qf(g[b][y][x][1]))/u*l,C=Math.exp(g[b][y][x][2])*this.config.anchors[x].x/u*o,_=Math.exp(g[b][y][x][3])*this.config.anchors[x].y/u*l,F=I-C/2,D=N-_/2,$={row:b,col:y,anchor:x},{classScore:S,label:M}=this.withClassScores?await this.extractPredictedClass(h,$):{classScore:1,label:0};m.push({box:new bp(F,D,F+C,D+_),score:v,classScore:v*S,label:M,...$})}}return d.dispose(),c.dispose(),h.dispose(),m}async extractPredictedClass(t,n){let{row:a,col:r,anchor:s}=n,i=await t.array();return Array(this.config.classes.length).fill(0).map((o,l)=>i[a][r][s][l]).map((o,l)=>({classScore:o,label:l})).reduce((o,l)=>o.classScore>l.classScore?o:l)}};hg.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Op=hg;var Pp=class extends Op{constructor(t=!0){let n={withSeparableConvs:t,iouThreshold:ND,classes:["face"],...t?{anchors:CD,meanRgb:ED}:{anchors:TD,withClassScores:!0}};super(n)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new Ft(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?AD:_D}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function MEe(e,t=!0){let n=new Pp(t);return n.extractWeights(e),n}var mg=class extends br{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var Oa=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};async function ul(e,t,n,a,r=({alignedRect:s})=>s){let s=e.map(l=>Fp(l)?r(l):l.detection),i=a||(t instanceof Ce?await Ld(t,s):await Pd(t,s)),o=await n(i);return i.forEach(l=>l instanceof Ce&&l.dispose()),o}async function Lp(e,t,n,a,r){return ul([e],t,async s=>n(s[0]),a,r)}var RD=.4,MD=[new He(1.603231,2.094468),new He(6.041143,7.080126),new He(2.882459,3.518061),new He(4.266906,5.178857),new He(9.041765,10.66308)],OD=[117.001,114.697,97.404];var zp=class extends Op{constructor(){let t={withSeparableConvs:!0,iouThreshold:RD,classes:["face"],anchors:MD,meanRgb:OD,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new Ft(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var rt={ssdMobilenetv1:new ll,tinyFaceDetector:new zp,tinyYolov2:new Pp,faceLandmark68Net:new Dp,faceLandmark68TinyNet:new pg,faceRecognitionNet:new Rp,faceExpressionNet:new rg,ageGenderNet:new lg},oge=(e,t)=>rt.ssdMobilenetv1.locateFaces(e,t),c_e=(e,t)=>rt.tinyFaceDetector.locateFaces(e,t),d_e=(e,t)=>rt.tinyYolov2.locateFaces(e,t),lge=e=>rt.faceLandmark68Net.detectLandmarks(e),h_e=e=>rt.faceLandmark68TinyNet.detectLandmarks(e),m_e=e=>rt.faceRecognitionNet.computeFaceDescriptor(e),f_e=e=>rt.faceExpressionNet.predictExpressions(e),g_e=e=>rt.ageGenderNet.predictAgeAndGender(e),uge=e=>rt.ssdMobilenetv1.load(e),b_e=e=>rt.tinyFaceDetector.load(e),y_e=e=>rt.tinyYolov2.load(e),x_e=e=>rt.faceLandmark68Net.load(e),v_e=e=>rt.faceLandmark68TinyNet.load(e),w_e=e=>rt.faceRecognitionNet.load(e),k_e=e=>rt.faceExpressionNet.load(e),I_e=e=>rt.ageGenderNet.load(e),S_e=uge,N_e=oge,T_e=lge;var fg=class extends Oa{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},pl=class extends fg{async run(){let t=await this.parentTask,n=await ul(t,this.input,async a=>Promise.all(a.map(r=>rt.faceExpressionNet.predictExpressions(r))),this.extractedFaces);return t.map((a,r)=>Nk(a,n[r]))}withAgeAndGender(){return new dl(this,this.input)}},cl=class extends fg{async run(){let t=await this.parentTask;if(!t)return;let n=await Lp(t,this.input,a=>rt.faceExpressionNet.predictExpressions(a),this.extractedFaces);return Nk(t,n)}withAgeAndGender(){return new hl(this,this.input)}},Os=class extends pl{withAgeAndGender(){return new Ls(this,this.input)}withFaceDescriptors(){return new Ws(this,this.input)}},Ps=class extends cl{withAgeAndGender(){return new zs(this,this.input)}withFaceDescriptor(){return new Bs(this,this.input)}};var gg=class extends Oa{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},dl=class extends gg{async run(){let t=await this.parentTask,n=await ul(t,this.input,async a=>Promise.all(a.map(r=>rt.ageGenderNet.predictAgeAndGender(r))),this.extractedFaces);return t.map((a,r)=>{let{age:s,gender:i,genderProbability:o}=n[r];return Fk($k(a,i,o),s)})}withFaceExpressions(){return new pl(this,this.input)}},hl=class extends gg{async run(){let t=await this.parentTask;if(!t)return;let{age:n,gender:a,genderProbability:r}=await Lp(t,this.input,s=>rt.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return Fk($k(t,a,r),n)}withFaceExpressions(){return new cl(this,this.input)}},Ls=class extends dl{withFaceExpressions(){return new Os(this,this.input)}withFaceDescriptors(){return new Ws(this,this.input)}},zs=class extends hl{withFaceExpressions(){return new Ps(this,this.input)}withFaceDescriptor(){return new Bs(this,this.input)}};var bg=class extends Oa{constructor(n,a){super();this.parentTask=n;this.input=a}},Ws=class extends bg{async run(){let t=await this.parentTask;return(await ul(t,this.input,a=>Promise.all(a.map(r=>rt.faceRecognitionNet.computeFaceDescriptor(r))),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}))).map((a,r)=>Ak(t[r],a))}withFaceExpressions(){return new Os(this,this.input)}withAgeAndGender(){return new Ls(this,this.input)}},Bs=class extends bg{async run(){let t=await this.parentTask;if(!t)return;let n=await Lp(t,this.input,a=>rt.faceRecognitionNet.computeFaceDescriptor(a),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}));return Ak(t,n)}withFaceExpressions(){return new Ps(this,this.input)}withAgeAndGender(){return new zs(this,this.input)}};var yg=class extends Oa{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.useTinyLandmarkNet=r}get landmarkNet(){return this.useTinyLandmarkNet?rt.faceLandmark68TinyNet:rt.faceLandmark68Net}},xg=class extends yg{async run(){let t=await this.parentTask,n=t.map(i=>i.detection),a=this.input instanceof Ce?await Ld(this.input,n):await Pd(this.input,n),r=await Promise.all(a.map(i=>this.landmarkNet.detectLandmarks(i)));return a.forEach(i=>i instanceof Ce&&i.dispose()),t.filter((i,o)=>r[o]).map((i,o)=>Vd(i,r[o]))}withFaceExpressions(){return new Os(this,this.input)}withAgeAndGender(){return new Ls(this,this.input)}withFaceDescriptors(){return new Ws(this,this.input)}},vg=class extends yg{async run(){let t=await this.parentTask;if(!t)return;let{detection:n}=t,a=this.input instanceof Ce?await Ld(this.input,[n]):await Pd(this.input,[n]),r=await this.landmarkNet.detectLandmarks(a[0]);return a.forEach(s=>s instanceof Ce&&s.dispose()),Vd(t,r)}withFaceExpressions(){return new Ps(this,this.input)}withAgeAndGender(){return new zs(this,this.input)}withFaceDescriptor(){return new Bs(this,this.input)}};var wg=class extends Oa{constructor(n,a=new Ma){super();this.input=n;this.options=a}},Gd=class extends wg{async run(){let{input:t,options:n}=this,a;if(n instanceof mg)a=rt.tinyFaceDetector.locateFaces(t,n);else if(n instanceof Ma)a=rt.ssdMobilenetv1.locateFaces(t,n);else if(n instanceof br)a=rt.tinyYolov2.locateFaces(t,n);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return a}runAndExtendWithFaceDetections(){return new Promise((t,n)=>{this.run().then(a=>t(a.map(r=>wp({},r)))).catch(a=>n(a))})}withFaceLandmarks(t=!1){return new xg(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new pl(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new dl(this.runAndExtendWithFaceDetections(),this.input)}},kg=class extends wg{async run(){let t=await new Gd(this.input,this.options),n=t[0];return t.forEach(a=>{a.score>n.score&&(n=a)}),n}runAndExtendWithFaceDetection(){return new Promise(async t=>{let n=await this.run();t(n?wp({},n):void 0)})}withFaceLandmarks(t=!1){return new vg(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new cl(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new hl(this.runAndExtendWithFaceDetection(),this.input)}};function IAe(e,t=new Ma){return new kg(e,t)}function Dk(e,t=new Ma){return new Gd(e,t)}async function pge(e,t){return Dk(e,new Ma(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function _Ae(e,t={}){return Dk(e,new br(t)).withFaceLandmarks().withFaceDescriptors()}var AAe=pge;function PD(e,t){if(e.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let n=Array.from(e),a=Array.from(t);return Math.sqrt(n.map((r,s)=>r-a[s]).reduce((r,s)=>r+s*s,0))}var LD=class e{constructor(t,n=.6){this._distanceThreshold=n;let a=Array.isArray(t)?t:[t];if(!a.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let r=1,s=()=>`person ${r++}`;this._labeledDescriptors=a.map(i=>{if(i instanceof rl)return i;if(i instanceof Float32Array)return new rl(s(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new rl(s(),[i.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,n){return n.map(a=>PD(a,t)).reduce((a,r)=>a+r,0)/(n.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:n,label:a})=>new Dd(a,this.computeMeanDistance(t,n))).reduce((n,a)=>n.distancet.toJSON())}}static fromJSON(t){let n=t.labeledDescriptors.map(a=>rl.fromJSON(a));return new e(n,t.distanceThreshold)}};function KAe(e){let t=new zp;return t.extractWeights(e),t}function cge(e,t){let{width:n,height:a}=new aa(t.width,t.height);if(n<=0||a<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:n,height:a})}`);if(Array.isArray(e))return e.map(r=>cge(r,{width:n,height:a}));if(Fp(e)){let r=e.detection.forSize(n,a),s=e.unshiftedLandmarks.forSize(r.box.width,r.box.height);return Vd(wp(e,r),s)}return zr(e)?wp(e,e.detection.forSize(n,a)):e instanceof ka||e instanceof Ft?e.forSize(n,a):e}var sFe=sD;export{lg as AgeGenderNet,bp as BoundingBox,mn as Box,Oa as ComposableTask,Ws as ComputeAllFaceDescriptorsTask,bg as ComputeFaceDescriptorsTaskBase,Bs as ComputeSingleFaceDescriptorTask,xg as DetectAllFaceLandmarksTask,Gd as DetectAllFacesTask,yg as DetectFaceLandmarksTaskBase,wg as DetectFacesTaskBase,vg as DetectSingleFaceLandmarksTask,kg as DetectSingleFaceTask,aa as Dimensions,nD as FACE_EXPRESSION_LABELS,Ft as FaceDetection,SD as FaceDetectionNet,rg as FaceExpressionNet,Ms as FaceExpressions,Dp as FaceLandmark68Net,pg as FaceLandmark68TinyNet,hD as FaceLandmarkNet,ka as FaceLandmarks,U$ as FaceLandmarks5,vp as FaceLandmarks68,Dd as FaceMatch,LD as FaceMatcher,Rp as FaceRecognitionNet,Ck as Gender,Rd as LabeledBox,rl as LabeledFaceDescriptors,Wr as NetInput,fn as NeuralNetwork,yp as ObjectDetection,He as Point,G$ as PredictedBox,xp as Rect,ll as SsdMobilenetv1,Ma as SsdMobilenetv1Options,zp as TinyFaceDetector,mg as TinyFaceDetectorOptions,Pp as TinyYolov2,br as TinyYolov2Options,AAe as allFaces,pge as allFacesSsdMobilenetv1,_Ae as allFacesTinyYolov2,H$ as awaitMediaLoaded,q$ as bufferToImage,m_e as computeFaceDescriptor,Np as createCanvas,Yf as createCanvasFromMedia,GCe as createFaceDetectionNet,G2e as createFaceRecognitionNet,rge as createSsdMobilenetv1,KAe as createTinyFaceDetector,MEe as createTinyYolov2,Dk as detectAllFaces,lge as detectFaceLandmarks,h_e as detectFaceLandmarksTiny,T_e as detectLandmarks,IAe as detectSingleFace,rD as draw,at as env,PD as euclideanDistance,Fk as extendWithAge,Ak as extendWithFaceDescriptor,wp as extendWithFaceDetection,Nk as extendWithFaceExpressions,Vd as extendWithFaceLandmarks,$k as extendWithGender,Ld as extractFaceTensors,Pd as extractFaces,Qke as fetchImage,X$ as fetchJson,rIe as fetchNetWeights,Rs as fetchOrThrow,pIe as fetchVideo,ra as getContext2dOrThrow,Sp as getMediaDimensions,j$ as imageTensorToCanvas,K$ as imageToSquare,m0e as inverseSigmoid,z$ as iou,Sk as isMediaElement,Xf as isMediaLoaded,K2e as isWithAge,zr as isWithFaceDetection,aD as isWithFaceExpressions,Fp as isWithFaceLandmarks,J2e as isWithGender,I_e as loadAgeGenderModel,S_e as loadFaceDetectionModel,k_e as loadFaceExpressionModel,x_e as loadFaceLandmarkModel,v_e as loadFaceLandmarkTinyModel,w_e as loadFaceRecognitionModel,uge as loadSsdMobilenetv1Model,b_e as loadTinyFaceDetectorModel,y_e as loadTinyYolov2Model,Z$ as loadWeightMap,N_e as locateFaces,bIe as matchDimensions,W$ as minBbox,rt as nets,B$ as nonMaxSuppression,gr as normalize,V$ as padToSquare,g_e as predictAgeAndGender,f_e as recognizeFaceExpressions,cge as resizeResults,kp as resolveInput,d0e as shuffleArray,qf as sigmoid,oge as ssdMobilenetv1,Pe as tf,c_e as tinyFaceDetector,d_e as tinyYolov2,vt as toNetInput,L$ as utils,FD as validateConfig,sFe as version}; //# sourceMappingURL=face-api.esm.js.map diff --git a/dist/face-api.esm.js.map b/dist/face-api.esm.js.map index 3fedcf3..2f810a5 100644 --- a/dist/face-api.esm.js.map +++ b/dist/face-api.esm.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["tfjs.esm.js", "../src/draw/index.ts", "../src/draw/drawContour.ts", "../src/utils/index.ts", "../src/classes/Dimensions.ts", "../src/classes/Point.ts", "../src/classes/Box.ts", "../src/classes/BoundingBox.ts", "../src/classes/ObjectDetection.ts", "../src/classes/FaceDetection.ts", "../src/ops/iou.ts", "../src/ops/minBbox.ts", "../src/ops/nonMaxSuppression.ts", "../src/ops/normalize.ts", "../src/ops/padToSquare.ts", "../src/ops/shuffleArray.ts", "../src/ops/index.ts", "../src/classes/Rect.ts", "../src/classes/FaceLandmarks.ts", "../src/classes/FaceLandmarks5.ts", "../src/classes/FaceLandmarks68.ts", "../src/classes/FaceMatch.ts", "../src/classes/LabeledBox.ts", "../src/classes/LabeledFaceDescriptors.ts", "../src/classes/PredictedBox.ts", "../src/factories/WithFaceDetection.ts", "../src/env/createBrowserEnv.ts", "../src/env/isNodejs.ts", "../src/env/createFileSystem.ts", "../src/env/createNodejsEnv.ts", "../src/env/isBrowser.ts", "../src/env/index.ts", "../src/dom/resolveInput.ts", "../src/dom/getContext2dOrThrow.ts", "../src/draw/DrawTextField.ts", "../src/draw/DrawBox.ts", "../src/draw/drawDetections.ts", "../src/dom/isMediaLoaded.ts", "../src/dom/awaitMediaLoaded.ts", "../src/dom/bufferToImage.ts", "../src/dom/getMediaDimensions.ts", "../src/dom/createCanvas.ts", "../src/dom/imageTensorToCanvas.ts", "../src/dom/isMediaElement.ts", "../src/dom/imageToSquare.ts", "../src/dom/NetInput.ts", "../src/dom/toNetInput.ts", "../src/dom/extractFaces.ts", "../src/dom/extractFaceTensors.ts", "../src/dom/fetchOrThrow.ts", "../src/dom/fetchImage.ts", "../src/dom/fetchJson.ts", "../src/dom/fetchNetWeights.ts", "../src/dom/bufferToVideo.ts", "../src/dom/fetchVideo.ts", "../src/common/getModelUris.ts", "../src/dom/loadWeightMap.ts", "../src/dom/matchDimensions.ts", "../src/NeuralNetwork.ts", "../src/common/depthwiseSeparableConv.ts", "../src/faceFeatureExtractor/denseBlock.ts", "../src/common/convLayer.ts", "../src/common/disposeUnusedWeightTensors.ts", "../src/common/extractConvParamsFactory.ts", "../src/common/extractFCParamsFactory.ts", "../src/common/types.ts", "../src/common/extractSeparableConvParamsFactory.ts", "../src/common/extractWeightEntryFactory.ts", "../src/common/extractWeightsFactory.ts", "../src/faceFeatureExtractor/extractorsFactory.ts", "../src/faceFeatureExtractor/extractParams.ts", "../src/common/loadConvParamsFactory.ts", "../src/faceFeatureExtractor/loadParamsFactory.ts", "../src/faceFeatureExtractor/extractParamsFromWeightMap.ts", "../src/faceFeatureExtractor/FaceFeatureExtractor.ts", "../src/common/fullyConnectedLayer.ts", "../src/faceProcessor/extractParams.ts", "../src/faceProcessor/extractParamsFromWeightMap.ts", "../src/faceProcessor/util.ts", "../src/faceProcessor/FaceProcessor.ts", "../src/faceExpressionNet/FaceExpressions.ts", "../src/faceExpressionNet/FaceExpressionNet.ts", "../src/factories/WithFaceExpressions.ts", "../src/draw/drawFaceExpressions.ts", "../src/factories/WithFaceLandmarks.ts", "../src/draw/DrawFaceLandmarks.ts", "../package.json", "../src/xception/extractParams.ts", "../src/xception/extractParamsFromWeightMap.ts", "../src/xception/TinyXception.ts", "../src/ageGenderNet/extractParams.ts", "../src/ageGenderNet/extractParamsFromWeightMap.ts", "../src/ageGenderNet/types.ts", "../src/ageGenderNet/AgeGenderNet.ts", "../src/faceLandmarkNet/FaceLandmark68NetBase.ts", "../src/faceLandmarkNet/FaceLandmark68Net.ts", "../src/faceFeatureExtractor/extractParamsFromWeightMapTiny.ts", "../src/faceFeatureExtractor/extractParamsTiny.ts", "../src/faceFeatureExtractor/TinyFaceFeatureExtractor.ts", "../src/faceLandmarkNet/FaceLandmark68TinyNet.ts", "../src/faceLandmarkNet/index.ts", "../src/faceRecognitionNet/scaleLayer.ts", "../src/faceRecognitionNet/convLayer.ts", "../src/faceRecognitionNet/extractParams.ts", "../src/faceRecognitionNet/extractParamsFromWeightMap.ts", "../src/faceRecognitionNet/residualLayer.ts", "../src/faceRecognitionNet/FaceRecognitionNet.ts", "../src/faceRecognitionNet/index.ts", "../src/factories/WithFaceDescriptor.ts", "../src/factories/WithAge.ts", "../src/factories/WithGender.ts", "../src/ssdMobilenetv1/extractParams.ts", "../src/ssdMobilenetv1/extractParamsFromWeightMap.ts", "../src/ssdMobilenetv1/pointwiseConvLayer.ts", "../src/ssdMobilenetv1/mobileNetV1.ts", "../src/ssdMobilenetv1/nonMaxSuppression.ts", "../src/ssdMobilenetv1/outputLayer.ts", "../src/ssdMobilenetv1/boxPredictionLayer.ts", "../src/ssdMobilenetv1/predictionLayer.ts", "../src/ssdMobilenetv1/SsdMobilenetv1Options.ts", "../src/ssdMobilenetv1/SsdMobilenetv1.ts", "../src/ssdMobilenetv1/index.ts", "../src/tinyYolov2/const.ts", "../src/tinyYolov2/config.ts", "../src/tinyYolov2/leaky.ts", "../src/tinyYolov2/convWithBatchNorm.ts", "../src/tinyYolov2/depthwiseSeparableConv.ts", "../src/tinyYolov2/extractParams.ts", "../src/tinyYolov2/extractParamsFromWeightMap.ts", "../src/tinyYolov2/TinyYolov2Options.ts", "../src/tinyYolov2/TinyYolov2Base.ts", "../src/tinyYolov2/TinyYolov2.ts", "../src/tinyYolov2/index.ts", "../src/tinyFaceDetector/TinyFaceDetectorOptions.ts", "../src/globalApi/ComposableTask.ts", "../src/globalApi/extractFacesAndComputeResults.ts", "../src/tinyFaceDetector/const.ts", "../src/tinyFaceDetector/TinyFaceDetector.ts", "../src/globalApi/nets.ts", "../src/globalApi/PredictFaceExpressionsTask.ts", "../src/globalApi/PredictAgeAndGenderTask.ts", "../src/globalApi/ComputeFaceDescriptorsTasks.ts", "../src/globalApi/DetectFaceLandmarksTasks.ts", "../src/globalApi/DetectFacesTasks.ts", "../src/globalApi/detectFaces.ts", "../src/globalApi/allFaces.ts", "../src/euclideanDistance.ts", "../src/globalApi/FaceMatcher.ts", "../src/tinyFaceDetector/index.ts", "../src/resizeResults.ts", "../src/index.ts"], - "sourcesContent": ["/*\n Face-API\n homepage: \n author: '\n*/\n\nvar Mq=Object.create;var p0=Object.defineProperty;var Pq=Object.getOwnPropertyDescriptor;var Lq=Object.getOwnPropertyNames;var zq=Object.getPrototypeOf,Bq=Object.prototype.hasOwnProperty;var br=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),Kt=(r,t)=>{for(var e in t)p0(r,e,{get:t[e],enumerable:!0})},Vq=(r,t,e,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of Lq(t))!Bq.call(r,o)&&o!==e&&p0(r,o,{get:()=>t[o],enumerable:!(n=Pq(t,o))||n.enumerable});return r};var Gl=(r,t,e)=>(e=r!=null?Mq(zq(r)):{},Vq(t||!r||!r.__esModule?p0(e,\"default\",{value:r,enumerable:!0}):e,r));var V_=br((mft,B_)=>{B_.exports=He;var yo=null;try{yo=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(r){}function He(r,t,e){this.low=r|0,this.high=t|0,this.unsigned=!!e}He.prototype.__isLong__;Object.defineProperty(He.prototype,\"__isLong__\",{value:!0});function zn(r){return(r&&r.__isLong__)===!0}He.isLong=zn;var D_={},$_={};function oc(r,t){var e,n,o;return t?(r>>>=0,(o=0<=r&&r<256)&&(n=$_[r],n)?n:(e=qe(r,(r|0)<0?-1:0,!0),o&&($_[r]=e),e)):(r|=0,(o=-128<=r&&r<128)&&(n=D_[r],n)?n:(e=qe(r,r<0?-1:0,!1),o&&(D_[r]=e),e))}He.fromInt=oc;function bo(r,t){if(isNaN(r))return t?nc:wo;if(t){if(r<0)return nc;if(r>=M_)return z_}else{if(r<=-F_)return Ln;if(r+1>=F_)return L_}return r<0?bo(-r,t).neg():qe(r%Hp|0,r/Hp|0,t)}He.fromNumber=bo;function qe(r,t,e){return new He(r,t,e)}He.fromBits=qe;var Zg=Math.pow;function S0(r,t,e){if(r.length===0)throw Error(\"empty string\");if(r===\"NaN\"||r===\"Infinity\"||r===\"+Infinity\"||r===\"-Infinity\")return wo;if(typeof t==\"number\"?(e=t,t=!1):t=!!t,e=e||10,e<2||360)throw Error(\"interior hyphen\");if(n===0)return S0(r.substring(1),t,e).neg();for(var o=bo(Zg(e,8)),s=wo,i=0;i>>0:this.low};xt.toNumber=function(){return this.unsigned?(this.high>>>0)*Hp+(this.low>>>0):this.high*Hp+(this.low>>>0)};xt.toString=function(t){if(t=t||10,t<2||36>>0,c=l.toString(t);if(i=u,i.isZero())return c+a;for(;c.length<6;)c=\"0\"+c;a=\"\"+c+a}};xt.getHighBits=function(){return this.high};xt.getHighBitsUnsigned=function(){return this.high>>>0};xt.getLowBits=function(){return this.low};xt.getLowBitsUnsigned=function(){return this.low>>>0};xt.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Ln)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,e=31;e>0&&!(t&1<=0};xt.isOdd=function(){return(this.low&1)===1};xt.isEven=function(){return(this.low&1)===0};xt.equals=function(t){return zn(t)||(t=oi(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};xt.eq=xt.equals;xt.notEquals=function(t){return!this.eq(t)};xt.neq=xt.notEquals;xt.ne=xt.notEquals;xt.lessThan=function(t){return this.comp(t)<0};xt.lt=xt.lessThan;xt.lessThanOrEqual=function(t){return this.comp(t)<=0};xt.lte=xt.lessThanOrEqual;xt.le=xt.lessThanOrEqual;xt.greaterThan=function(t){return this.comp(t)>0};xt.gt=xt.greaterThan;xt.greaterThanOrEqual=function(t){return this.comp(t)>=0};xt.gte=xt.greaterThanOrEqual;xt.ge=xt.greaterThanOrEqual;xt.compare=function(t){if(zn(t)||(t=oi(t)),this.eq(t))return 0;var e=this.isNegative(),n=t.isNegative();return e&&!n?-1:!e&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};xt.comp=xt.compare;xt.negate=function(){return!this.unsigned&&this.eq(Ln)?Ln:this.not().add(Up)};xt.neg=xt.negate;xt.add=function(t){zn(t)||(t=oi(t));var e=this.high>>>16,n=this.high&65535,o=this.low>>>16,s=this.low&65535,i=t.high>>>16,a=t.high&65535,u=t.low>>>16,l=t.low&65535,c=0,p=0,m=0,f=0;return f+=s+l,m+=f>>>16,f&=65535,m+=o+u,p+=m>>>16,m&=65535,p+=n+a,c+=p>>>16,p&=65535,c+=e+i,c&=65535,qe(m<<16|f,c<<16|p,this.unsigned)};xt.subtract=function(t){return zn(t)||(t=oi(t)),this.add(t.neg())};xt.sub=xt.subtract;xt.multiply=function(t){if(this.isZero())return wo;if(zn(t)||(t=oi(t)),yo){var e=yo.mul(this.low,this.high,t.low,t.high);return qe(e,yo.get_high(),this.unsigned)}if(t.isZero())return wo;if(this.eq(Ln))return t.isOdd()?Ln:wo;if(t.eq(Ln))return this.isOdd()?Ln:wo;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(O_)&&t.lt(O_))return bo(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,o=this.high&65535,s=this.low>>>16,i=this.low&65535,a=t.high>>>16,u=t.high&65535,l=t.low>>>16,c=t.low&65535,p=0,m=0,f=0,d=0;return d+=i*c,f+=d>>>16,d&=65535,f+=s*c,m+=f>>>16,f&=65535,f+=i*l,m+=f>>>16,f&=65535,m+=o*c,p+=m>>>16,m&=65535,m+=s*l,p+=m>>>16,m&=65535,m+=i*u,p+=m>>>16,m&=65535,p+=n*c+o*l+s*u+i*a,p&=65535,qe(f<<16|d,p<<16|m,this.unsigned)};xt.mul=xt.multiply;xt.divide=function(t){if(zn(t)||(t=oi(t)),t.isZero())throw Error(\"division by zero\");if(yo){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var e=(this.unsigned?yo.div_u:yo.div_s)(this.low,this.high,t.low,t.high);return qe(e,yo.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?nc:wo;var n,o,s;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return nc;if(t.gt(this.shru(1)))return P_;s=nc}else{if(this.eq(Ln)){if(t.eq(Up)||t.eq(v0))return Ln;if(t.eq(Ln))return Up;var i=this.shr(1);return n=i.div(t).shl(1),n.eq(wo)?t.isNegative()?Up:v0:(o=this.sub(t.mul(n)),s=n.add(o.div(t)),s)}else if(t.eq(Ln))return this.unsigned?nc:wo;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();s=wo}for(o=this;o.gte(t);){n=Math.max(1,Math.floor(o.toNumber()/t.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),u=a<=48?1:Zg(2,a-48),l=bo(n),c=l.mul(t);c.isNegative()||c.gt(o);)n-=u,l=bo(n,this.unsigned),c=l.mul(t);l.isZero()&&(l=Up),s=s.add(l),o=o.sub(c)}return s};xt.div=xt.divide;xt.modulo=function(t){if(zn(t)||(t=oi(t)),yo){var e=(this.unsigned?yo.rem_u:yo.rem_s)(this.low,this.high,t.low,t.high);return qe(e,yo.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};xt.mod=xt.modulo;xt.rem=xt.modulo;xt.not=function(){return qe(~this.low,~this.high,this.unsigned)};xt.and=function(t){return zn(t)||(t=oi(t)),qe(this.low&t.low,this.high&t.high,this.unsigned)};xt.or=function(t){return zn(t)||(t=oi(t)),qe(this.low|t.low,this.high|t.high,this.unsigned)};xt.xor=function(t){return zn(t)||(t=oi(t)),qe(this.low^t.low,this.high^t.high,this.unsigned)};xt.shiftLeft=function(t){return zn(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?qe(this.low<>>32-t,this.unsigned):qe(0,this.low<>>t|this.high<<32-t,this.high>>t,this.unsigned):qe(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};xt.shr=xt.shiftRight;xt.shiftRightUnsigned=function(t){if(zn(t)&&(t=t.toInt()),t&=63,t===0)return this;var e=this.high;if(t<32){var n=this.low;return qe(n>>>t|e<<32-t,e>>>t,this.unsigned)}else return t===32?qe(e,0,this.unsigned):qe(e>>>t-32,0,this.unsigned)};xt.shru=xt.shiftRightUnsigned;xt.shr_u=xt.shiftRightUnsigned;xt.toSigned=function(){return this.unsigned?qe(this.low,this.high,!1):this};xt.toUnsigned=function(){return this.unsigned?this:qe(this.low,this.high,!0)};xt.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};xt.toBytesLE=function(){var t=this.high,e=this.low;return[e&255,e>>>8&255,e>>>16&255,e>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};xt.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,e>>>24,e>>>16&255,e>>>8&255,e&255]};He.fromBytes=function(t,e,n){return n?He.fromBytesLE(t,e):He.fromBytesBE(t,e)};He.fromBytesLE=function(t,e){return new He(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,e)};He.fromBytesBE=function(t,e){return new He(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],e)}});var NE=br(()=>{});var kE=br(()=>{});var eA=br((tA,nN)=>{(function(r,t,e){function n(a){var u=this,l=i();u.next=function(){var c=2091639*u.s0+u.c*23283064365386963e-26;return u.s0=u.s1,u.s1=u.s2,u.s2=c-(u.c=c|0)},u.c=1,u.s0=l(\" \"),u.s1=l(\" \"),u.s2=l(\" \"),u.s0-=l(a),u.s0<0&&(u.s0+=1),u.s1-=l(a),u.s1<0&&(u.s1+=1),u.s2-=l(a),u.s2<0&&(u.s2+=1),l=null}function o(a,u){return u.c=a.c,u.s0=a.s0,u.s1=a.s1,u.s2=a.s2,u}function s(a,u){var l=new n(a),c=u&&u.state,p=l.next;return p.int32=function(){return l.next()*4294967296|0},p.double=function(){return p()+(p()*2097152|0)*11102230246251565e-32},p.quick=p,c&&(typeof c==\"object\"&&o(c,l),p.state=function(){return o(l,{})}),p}function i(){var a=4022871197,u=function(l){l=String(l);for(var c=0;c>>0,p-=a,p*=a,a=p>>>0,p-=a,a+=p*4294967296}return(a>>>0)*23283064365386963e-26};return u}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.alea=s})(tA,typeof nN==\"object\"&&nN,typeof define==\"function\"&&define)});var nA=br((rA,oN)=>{(function(r,t,e){function n(i){var a=this,u=\"\";a.x=0,a.y=0,a.z=0,a.w=0,a.next=function(){var c=a.x^a.x<<11;return a.x=a.y,a.y=a.z,a.z=a.w,a.w^=a.w>>>19^c^c>>>8},i===(i|0)?a.x=i:u+=i;for(var l=0;l>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(typeof l==\"object\"&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xor128=s})(rA,typeof oN==\"object\"&&oN,typeof define==\"function\"&&define)});var sA=br((oA,sN)=>{(function(r,t,e){function n(i){var a=this,u=\"\";a.next=function(){var c=a.x^a.x>>>2;return a.x=a.y,a.y=a.z,a.z=a.w,a.w=a.v,(a.d=a.d+362437|0)+(a.v=a.v^a.v<<4^(c^c<<1))|0},a.x=0,a.y=0,a.z=0,a.w=0,a.v=0,i===(i|0)?a.x=i:u+=i;for(var l=0;l>>4),a.next()}function o(i,a){return a.x=i.x,a.y=i.y,a.z=i.z,a.w=i.w,a.v=i.v,a.d=i.d,a}function s(i,a){var u=new n(i),l=a&&a.state,c=function(){return(u.next()>>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(typeof l==\"object\"&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xorwow=s})(oA,typeof sN==\"object\"&&sN,typeof define==\"function\"&&define)});var aA=br((iA,iN)=>{(function(r,t,e){function n(i){var a=this;a.next=function(){var l=a.x,c=a.i,p,m,f;return p=l[c],p^=p>>>7,m=p^p<<24,p=l[c+1&7],m^=p^p>>>10,p=l[c+3&7],m^=p^p>>>3,p=l[c+4&7],m^=p^p<<7,p=l[c+7&7],p=p^p<<13,m^=p^p<<9,l[c]=m,a.i=c+1&7,m};function u(l,c){var p,m,f=[];if(c===(c|0))m=f[0]=c;else for(c=\"\"+c,p=0;p0;--p)l.next()}u(a,i)}function o(i,a){return a.x=i.x.slice(),a.i=i.i,a}function s(i,a){i==null&&(i=+new Date);var u=new n(i),l=a&&a.state,c=function(){return(u.next()>>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(l.x&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xorshift7=s})(iA,typeof iN==\"object\"&&iN,typeof define==\"function\"&&define)});var uA=br((lA,aN)=>{(function(r,t,e){function n(i){var a=this;a.next=function(){var l=a.w,c=a.X,p=a.i,m,f;return a.w=l=l+1640531527|0,f=c[p+34&127],m=c[p=p+1&127],f^=f<<13,m^=m<<17,f^=f>>>15,m^=m>>>12,f=c[p]=f^m,a.i=p,f+(l^l>>>16)|0};function u(l,c){var p,m,f,d,h,g=[],x=128;for(c===(c|0)?(m=c,c=null):(c=c+\"\\0\",m=0,x=Math.max(x,c.length)),f=0,d=-32;d>>15,m^=m<<4,m^=m>>>13,d>=0&&(h=h+1640531527|0,p=g[d&127]^=m+h,f=p==0?f+1:0);for(f>=128&&(g[(c&&c.length||0)&127]=-1),f=127,d=4*128;d>0;--d)m=g[f+34&127],p=g[f=f+1&127],m^=m<<13,p^=p<<17,m^=m>>>15,p^=p>>>12,g[f]=m^p;l.w=h,l.X=g,l.i=f}u(a,i)}function o(i,a){return a.i=i.i,a.w=i.w,a.X=i.X.slice(),a}function s(i,a){i==null&&(i=+new Date);var u=new n(i),l=a&&a.state,c=function(){return(u.next()>>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(l.X&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xor4096=s})(lA,typeof aN==\"object\"&&aN,typeof define==\"function\"&&define)});var pA=br((cA,lN)=>{(function(r,t,e){function n(i){var a=this,u=\"\";a.next=function(){var c=a.b,p=a.c,m=a.d,f=a.a;return c=c<<25^c>>>7^p,p=p-m|0,m=m<<24^m>>>8^f,f=f-c|0,a.b=c=c<<20^c>>>12^p,a.c=p=p-m|0,a.d=m<<16^p>>>16^f,a.a=f-c|0},a.a=0,a.b=0,a.c=-1640531527,a.d=1367130551,i===Math.floor(i)?(a.a=i/4294967296|0,a.b=i|0):u+=i;for(var l=0;l>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(typeof l==\"object\"&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.tychei=s})(cA,typeof lN==\"object\"&&lN,typeof define==\"function\"&&define)});var mA=br(()=>{});var dA=br((fA,ty)=>{(function(r,t,e){var n=256,o=6,s=52,i=\"random\",a=e.pow(n,o),u=e.pow(2,s),l=u*2,c=n-1,p;function m(w,I,N){var E=[];I=I==!0?{entropy:!0}:I||{};var A=g(h(I.entropy?[w,b(t)]:w==null?x():w,3),E),D=new f(E),F=function(){for(var M=D.g(o),V=a,G=0;M=l;)M/=2,V/=2,G>>>=1;return(M+G)/V};return F.int32=function(){return D.g(4)|0},F.quick=function(){return D.g(4)/4294967296},F.double=F,g(b(D.S),t),(I.pass||N||function(M,V,G,W){return W&&(W.S&&d(W,D),M.state=function(){return d(D,{})}),G?(e[i]=M,V):M})(F,A,\"global\"in I?I.global:this==e,I.state)}function f(w){var I,N=w.length,E=this,A=0,D=E.i=E.j=0,F=E.S=[];for(N||(w=[N++]);A{var PX=eA(),LX=nA(),zX=sA(),BX=aA(),VX=uA(),GX=pA(),hc=dA();hc.alea=PX;hc.xor128=LX;hc.xorwow=zX;hc.xorshift7=BX;hc.xor4096=VX;hc.tychei=GX;hA.exports=hc});var Ak=br(()=>{});var fw=br(()=>{});var Q1=br(()=>{});var UH=br(()=>{});var HH=br(()=>{});var qH=br(()=>{});var KH=br((DC,e_)=>{var t_=(()=>{var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(t){t=t||{};function e(){return it.buffer!=re&&Xe(it.buffer),ye}function n(){return it.buffer!=re&&Xe(it.buffer),de}function o(){return it.buffer!=re&&Xe(it.buffer),Ee}function s(){return it.buffer!=re&&Xe(it.buffer),On}function i(){return it.buffer!=re&&Xe(it.buffer),lr}function a(){return it.buffer!=re&&Xe(it.buffer),Zn}function u(){return it.buffer!=re&&Xe(it.buffer),zr}var l=typeof t!=\"undefined\"?t:{},c,p;l.ready=new Promise(function(P,U){c=P,p=U});var m;typeof process!=\"undefined\"&&process.listeners&&(m={uncaughtException:process.listeners(\"uncaughtException\"),unhandledRejection:process.listeners(\"unhandledRejection\")});var f=Object.assign({},l),d=[],h=\"./this.program\",g=(P,U)=>{throw U},x=typeof window==\"object\",b=typeof importScripts==\"function\",w=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",I=l.ENVIRONMENT_IS_PTHREAD||!1,N=\"\";function E(P){return l.locateFile?l.locateFile(P,N):N+P}var A,D,F,M;function V(P){if(P instanceof Yu)return;Y(\"exiting due to exception: \"+P)}if(w){var G=fw(),W=Q1();b?N=W.dirname(N)+\"/\":N=__dirname+\"/\",A=(U,dt)=>(U=wp(U)?new URL(U):W.normalize(U),G.readFileSync(U,dt?void 0:\"utf8\")),F=U=>{var dt=A(U,!0);return dt.buffer||(dt=new Uint8Array(dt)),dt},D=(U,dt,Pt)=>{U=wp(U)?new URL(U):W.normalize(U),G.readFile(U,function(Jt,Zt){Jt?Pt(Jt):dt(Zt.buffer)})},process.argv.length>1&&(h=process.argv[1].replace(/\\\\/g,\"/\")),d=process.argv.slice(2),process.on(\"uncaughtException\",function(U){if(!(U instanceof Yu))throw U}),process.on(\"unhandledRejection\",function(U){throw U}),g=(U,dt)=>{if(zo())throw process.exitCode=U,dt;V(dt),process.exit(U)},l.inspect=function(){return\"[Emscripten Module object]\"};let P;try{P=UH()}catch(U){throw console.error('The \"worker_threads\" module is not supported in this node.js build - perhaps a newer version is needed?'),U}global.Worker=P.Worker}else(x||b)&&(b?N=self.location.href:typeof document!=\"undefined\"&&document.currentScript&&(N=document.currentScript.src),typeof r!=\"undefined\"&&r&&(N=r),N.indexOf(\"blob:\")!==0?N=N.substr(0,N.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):N=\"\",w||(A=P=>{var U=new XMLHttpRequest;return U.open(\"GET\",P,!1),U.send(null),U.responseText},b&&(F=P=>{var U=new XMLHttpRequest;return U.open(\"GET\",P,!1),U.responseType=\"arraybuffer\",U.send(null),new Uint8Array(U.response)}),D=(P,U,dt)=>{var Pt=new XMLHttpRequest;Pt.open(\"GET\",P,!0),Pt.responseType=\"arraybuffer\",Pt.onload=()=>{if(Pt.status==200||Pt.status==0&&Pt.response){U(Pt.response);return}dt()},Pt.onerror=dt,Pt.send(null)}),M=P=>document.title=P);w&&typeof performance==\"undefined\"&&(global.performance=HH().performance);var q=console.log.bind(console),H=console.warn.bind(console);w&&(q=P=>G.writeSync(1,P+`\n`),H=P=>G.writeSync(2,P+`\n`));var K=l.print||q,Y=l.printErr||H;Object.assign(l,f),f=null,l.arguments&&(d=l.arguments),l.thisProgram&&(h=l.thisProgram),l.quit&&(g=l.quit);var Z=4,et=Atomics.load,nt=Atomics.store,st=Atomics.compareExchange,lt;l.wasmBinary&&(lt=l.wasmBinary);var ot=l.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&Xu(\"no native wasm support detected\");var it,ft,gt=!1,Ct;function Rt(P,U){P||Xu(U)}var Dt=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):void 0;function Ht(P,U,dt){U>>>=0;for(var Pt=U+dt,Jt=U;P[Jt]&&!(Jt>=Pt);)++Jt;if(Jt-U>16&&P.buffer&&Dt)return Dt.decode(P.buffer instanceof SharedArrayBuffer?P.slice(U,Jt):P.subarray(U,Jt));for(var Zt=\"\";U>10,56320|eo&1023)}}return Zt}function qt(P,U){return P>>>=0,P?Ht(n(),P,U):\"\"}function pe(P,U,dt,Pt){if(dt>>>=0,!(Pt>0))return 0;for(var Jt=dt,Zt=dt+Pt-1,bt=0;bt=55296&&$t<=57343){var or=P.charCodeAt(++bt);$t=65536+(($t&1023)<<10)|or&1023}if($t<=127){if(dt>=Zt)break;U[dt++>>>0]=$t}else if($t<=2047){if(dt+1>=Zt)break;U[dt++>>>0]=192|$t>>6,U[dt++>>>0]=128|$t&63}else if($t<=65535){if(dt+2>=Zt)break;U[dt++>>>0]=224|$t>>12,U[dt++>>>0]=128|$t>>6&63,U[dt++>>>0]=128|$t&63}else{if(dt+3>=Zt)break;U[dt++>>>0]=240|$t>>18,U[dt++>>>0]=128|$t>>12&63,U[dt++>>>0]=128|$t>>6&63,U[dt++>>>0]=128|$t&63}}return U[dt>>>0]=0,dt-Jt}function xe(P,U,dt){return pe(P,n(),U,dt)}var re,ye,de,Ee,Ae,On,lr,Zn,zr;I&&(re=l.buffer);function Xe(P){re=P,l.HEAP8=ye=new Int8Array(P),l.HEAP16=Ee=new Int16Array(P),l.HEAP32=On=new Int32Array(P),l.HEAPU8=de=new Uint8Array(P),l.HEAPU16=Ae=new Uint16Array(P),l.HEAPU32=lr=new Uint32Array(P),l.HEAPF32=Zn=new Float32Array(P),l.HEAPF64=zr=new Float64Array(P)}var Br=l.INITIAL_MEMORY||16777216;if(I)it=l.wasmMemory,re=l.buffer;else if(l.wasmMemory)it=l.wasmMemory;else if(it=new WebAssembly.Memory({initial:Br/65536,maximum:65536,shared:!0}),!(it.buffer instanceof SharedArrayBuffer))throw Y(\"requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag\"),w&&Y(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)\"),Error(\"bad memory\");it&&(re=it.buffer),Br=re.byteLength,Xe(re);var Vr,Jn=[],Qn=[],Zr=[],Ca=!1;function zo(){return ot}function ki(){if(l.preRun)for(typeof l.preRun==\"function\"&&(l.preRun=[l.preRun]);l.preRun.length;)Bd(l.preRun.shift());Wd(Jn)}function Er(){Ca=!0,!I&&Wd(Qn)}function va(){if(!I){if(l.postRun)for(typeof l.postRun==\"function\"&&(l.postRun=[l.postRun]);l.postRun.length;)l_(l.postRun.shift());Wd(Zr)}}function Bd(P){Jn.unshift(P)}function Vd(P){Qn.unshift(P)}function l_(P){Zr.unshift(P)}var zl=0,bp=null,Sa=null;function FC(P){zl++,l.monitorRunDependencies&&l.monitorRunDependencies(zl)}function wg(P){if(zl--,l.monitorRunDependencies&&l.monitorRunDependencies(zl),zl==0&&(bp!==null&&(clearInterval(bp),bp=null),Sa)){var U=Sa;Sa=null,U()}}function Xu(P){l.onAbort&&l.onAbort(P),P=\"Aborted(\"+P+\")\",Y(P),gt=!0,Ct=1,P+=\". Build with -sASSERTIONS for more info.\";var U=new WebAssembly.RuntimeError(P);throw p(U),U}var OC=\"data:application/octet-stream;base64,\";function Ig(P){return P.startsWith(OC)}function wp(P){return P.startsWith(\"file://\")}var Jr;Jr=\"tfjs-backend-wasm-threaded-simd.wasm\",Ig(Jr)||(Jr=E(Jr));function Cg(P){try{if(P==Jr&<)return new Uint8Array(lt);if(F)return F(P);throw\"both async and sync fetching of the wasm failed\"}catch(U){Xu(U)}}function MC(){if(!lt&&(x||b)){if(typeof fetch==\"function\"&&!wp(Jr))return fetch(Jr,{credentials:\"same-origin\"}).then(function(P){if(!P.ok)throw\"failed to load wasm binary file at '\"+Jr+\"'\";return P.arrayBuffer()}).catch(function(){return Cg(Jr)});if(D)return new Promise(function(P,U){D(Jr,function(dt){P(new Uint8Array(dt))},U)})}return Promise.resolve().then(function(){return Cg(Jr)})}function PC(){var P={env:Og,wasi_snapshot_preview1:Og};function U(bt,$t){var or=bt.exports;if(l.asm=or,qC(l.asm._emscripten_tls_init),Vr=l.asm.__indirect_function_table,Vd(l.asm.__wasm_call_ctors),ft=$t,!I){var eo=Yt.unusedWorkers.length;Yt.unusedWorkers.forEach(function(ka){Yt.loadWasmModuleToWorker(ka,function(){--eo||wg(\"wasm-instantiate\")})})}}I||FC(\"wasm-instantiate\");function dt(bt){U(bt.instance,bt.module)}function Pt(bt){return MC().then(function($t){return WebAssembly.instantiate($t,P)}).then(function($t){return $t}).then(bt,function($t){Y(\"failed to asynchronously prepare wasm: \"+$t),Xu($t)})}function Jt(){return!lt&&typeof WebAssembly.instantiateStreaming==\"function\"&&!Ig(Jr)&&!wp(Jr)&&!w&&typeof fetch==\"function\"?fetch(Jr,{credentials:\"same-origin\"}).then(function(bt){var $t=WebAssembly.instantiateStreaming(bt,P);return $t.then(dt,function(or){return Y(\"wasm streaming compile failed: \"+or),Y(\"falling back to ArrayBuffer instantiation\"),Pt(dt)})}):Pt(dt)}if(l.instantiateWasm)try{var Zt=l.instantiateWasm(P,U);return Zt}catch(bt){Y(\"Module.instantiateWasm callback failed with error: \"+bt),p(bt)}return Jt().catch(p),{}}var u_,c_,vg={};function Yu(P){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+P+\")\",this.status=P}function LC(P){var U=Yt.pthreads[P];delete Yt.pthreads[P],U.terminate(),l0(P),Yt.runningWorkers.splice(Yt.runningWorkers.indexOf(U),1),U.pthread_ptr=0}function zC(P){var U=Yt.pthreads[P];U.postMessage({cmd:\"cancel\"})}function Gd(P){var U=Yt.pthreads[P];Rt(U),Yt.returnWorkerToPool(U)}function BC(P){var U=Yt.getNewWorker();if(!U)return 6;Yt.runningWorkers.push(U),Yt.pthreads[P.pthread_ptr]=U,U.pthread_ptr=P.pthread_ptr;var dt={cmd:\"run\",start_routine:P.startRoutine,arg:P.arg,pthread_ptr:P.pthread_ptr};return U.runPthread=()=>{w&&U.ref(),U.postMessage(dt,P.transferList),delete U.runPthread},U.loaded&&U.runPthread(),0}var Sg={varargs:void 0,get:function(){Sg.varargs+=4;var P=s()[Sg.varargs-4>>>2];return P},getStr:function(P){var U=qt(P);return U}};function Ng(P){if(I)return Bl(1,1,P);Ct=P,zo()||(Yt.terminateAllThreads(),l.onExit&&l.onExit(P),gt=!0),g(P,new Yu(P))}function VC(P,U){if(Ct=P,!U&&I)throw Tg(P),\"unwind\";Ng(P)}var kg=VC;function GC(P){if(P instanceof Yu||P==\"unwind\")return Ct;g(1,P)}var Yt={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){I?Yt.initWorker():Yt.initMainThread()},initMainThread:function(){for(var P=8;P--;)Yt.allocateUnusedWorker()},initWorker:function(){ot=!1},setExitStatus:function(P){Ct=P},terminateAllThreads:function(){for(var P of Object.values(Yt.pthreads))Yt.returnWorkerToPool(P);for(var P of Yt.unusedWorkers)P.terminate();Yt.unusedWorkers=[]},returnWorkerToPool:function(P){var U=P.pthread_ptr;delete Yt.pthreads[U],Yt.unusedWorkers.push(P),Yt.runningWorkers.splice(Yt.runningWorkers.indexOf(P),1),P.pthread_ptr=0,w&&P.unref(),l0(U)},receiveObjectTransfer:function(P){},threadInitTLS:function(){Yt.tlsInitFunctions.forEach(P=>P())},loadWasmModuleToWorker:function(P,U){P.onmessage=Zt=>{var bt=Zt.data,$t=bt.cmd;if(P.pthread_ptr&&(Yt.currentProxiedOperationCallerThread=P.pthread_ptr),bt.targetThread&&bt.targetThread!=Vg()){var or=Yt.pthreads[bt.targetThread];or?or.postMessage(bt,bt.transferList):Y('Internal error! Worker sent a message \"'+$t+'\" to target pthread '+bt.targetThread+\", but that thread no longer exists!\"),Yt.currentProxiedOperationCallerThread=void 0;return}$t===\"processProxyingQueue\"?Ud(bt.queue):$t===\"spawnThread\"?BC(bt):$t===\"cleanupThread\"?Gd(bt.thread):$t===\"killThread\"?LC(bt.thread):$t===\"cancelThread\"?zC(bt.thread):$t===\"loaded\"?(P.loaded=!0,w&&P.unref(),U&&U(P),P.runPthread&&P.runPthread()):$t===\"print\"?K(\"Thread \"+bt.threadId+\": \"+bt.text):$t===\"printErr\"?Y(\"Thread \"+bt.threadId+\": \"+bt.text):$t===\"alert\"?alert(\"Thread \"+bt.threadId+\": \"+bt.text):bt.target===\"setimmediate\"?P.postMessage(bt):$t===\"callHandler\"?l[bt.handler](...bt.args):$t&&Y(\"worker sent an unknown command \"+$t),Yt.currentProxiedOperationCallerThread=void 0},P.onerror=Zt=>{var bt=\"worker sent an error!\";throw Y(bt+\" \"+Zt.filename+\":\"+Zt.lineno+\": \"+Zt.message),Zt},w&&(P.on(\"message\",function(Zt){P.onmessage({data:Zt})}),P.on(\"error\",function(Zt){P.onerror(Zt)}),P.on(\"detachedExit\",function(){}));var dt=[],Pt=[\"onExit\",\"onAbort\",\"print\",\"printErr\"];for(var Jt of Pt)l.hasOwnProperty(Jt)&&dt.push(Jt);P.postMessage({cmd:\"load\",handlers:dt,urlOrBlob:l.mainScriptUrlOrBlob||r,wasmMemory:it,wasmModule:ft})},allocateUnusedWorker:function(){var P,U=E(\"tfjs-backend-wasm-threaded-simd.worker.js\");P=new Worker(U),Yt.unusedWorkers.push(P)},getNewWorker:function(){return Yt.unusedWorkers.length==0&&(Yt.allocateUnusedWorker(),Yt.loadWasmModuleToWorker(Yt.unusedWorkers[0])),Yt.unusedWorkers.pop()}};l.PThread=Yt;function Wd(P){for(;P.length>0;)P.shift()(l)}function WC(){var P=Vg(),U=s()[P+52>>>2],dt=s()[P+56>>>2],Pt=U-dt;g_(U,Pt),Gg(U)}l.establishStackSpace=WC;function Tg(P){if(I)return Bl(2,0,P);try{kg(P)}catch(U){GC(U)}}var Ip=[];function UC(P){var U=Ip[P];return U||(P>=Ip.length&&(Ip.length=P+1),Ip[P]=U=Vr.get(P)),U}function HC(P,U){var dt=UC(P)(U);zo()?Yt.setExitStatus(dt):h_(dt)}l.invokeEntryPoint=HC;function qC(P){Yt.tlsInitFunctions.push(P)}function KC(P){m_(P,!b,1,!x),Yt.threadInitTLS()}function jC(P){I?postMessage({cmd:\"cleanupThread\",thread:P}):Gd(P)}function _g(P,U,dt,Pt){return I?Bl(3,1,P,U,dt,Pt):Eg(P,U,dt,Pt)}function Eg(P,U,dt,Pt){if(typeof SharedArrayBuffer==\"undefined\")return Y(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\"),6;var Jt=[],Zt=0;if(I&&(Jt.length===0||Zt))return _g(P,U,dt,Pt);if(Zt)return Zt;var bt={startRoutine:dt,pthread_ptr:P,arg:Pt,transferList:Jt};return I?(bt.cmd=\"spawnThread\",postMessage(bt,Jt),0):BC(bt)}function XC(){return 65536}var YC=!0;function ZC(){return YC}function Ud(P){Atomics.store(s(),P>>2,1),Vg()&&d_(P),Atomics.compareExchange(s(),P>>2,1,0)}l.executeNotifiedProxyingQueue=Ud;function JC(P,U,dt,Pt){if(P==U)setTimeout(()=>Ud(Pt));else if(I)postMessage({targetThread:P,cmd:\"processProxyingQueue\",queue:Pt});else{var Jt=Yt.pthreads[P];if(!Jt)return;Jt.postMessage({cmd:\"processProxyingQueue\",queue:Pt})}return 1}function QC(P,U,dt){return-1}function tv(){Xu(\"\")}function Zu(P){Zu.shown||(Zu.shown={}),Zu.shown[P]||(Zu.shown[P]=1,w&&(P=\"warning: \"+P),Y(P))}function ev(){w||b||Zu(\"Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread\")}function rv(){return Date.now()}function Ag(){return 4294901760}function nv(){return Ag()}var Hd;w?Hd=()=>{var P=process.hrtime();return P[0]*1e3+P[1]/1e6}:Hd=()=>performance.timeOrigin+performance.now();function ov(P,U,dt){n().copyWithin(P>>>0,U>>>0,U+dt>>>0)}function sv(){return w?qH().cpus().length:navigator.hardwareConcurrency}function iv(P){var U=u0(),dt=P();return Gg(U),dt}function Bl(P,U){var dt=arguments.length-2,Pt=arguments;return iv(()=>{for(var Jt=dt,Zt=Wg(Jt*8),bt=Zt>>3,$t=0;$t>>0]=or}return f_(P,Jt,Zt,U)})}var qd=[];function av(P,U,dt){qd.length=U;for(var Pt=dt>>3,Jt=0;Jt>>0];var Zt=P<0,bt=Zt?vg[-P-1]:gv[P];return bt.apply(null,qd)}function lv(P){try{return it.grow(P-re.byteLength+65535>>>16),Xe(it.buffer),1}catch(U){}}function uv(P){var U=n().length;if(P=P>>>0,P<=U)return!1;var dt=Ag();if(P>dt)return!1;let Pt=(or,eo)=>or+(eo-or%eo)%eo;for(var Jt=1;Jt<=4;Jt*=2){var Zt=U*(1+.2/Jt);Zt=Math.min(Zt,P+100663296);var bt=Math.min(dt,Pt(Math.max(P,Zt),65536)),$t=lv(bt);if($t)return!0}return!1}function cv(){throw\"unwind\"}function Dg(P){return I?Bl(4,1,P):52}function $g(P,U,dt,Pt,Jt){return I?Bl(5,1,P,U,dt,Pt,Jt):70}var pv=[null,[],[]];function mv(P,U){var dt=pv[P];U===0||U===10?((P===1?K:Y)(Ht(dt,0)),dt.length=0):dt.push(U)}function Rg(P,U,dt,Pt){if(I)return Bl(6,1,P,U,dt,Pt);for(var Jt=0,Zt=0;Zt>>2],$t=i()[U+4>>>2];U+=8;for(var or=0;or<$t;or++)mv(P,n()[bt+or>>>0]);Jt+=$t}return i()[Pt>>>2]=Jt,0}function Fg(P){var U=l[\"_\"+P];return U}function fv(P,U){e().set(P,U>>>0)}function dv(P,U,dt,Pt,Jt){var Zt={string:Mn=>{var Np=0;if(Mn!=null&&Mn!==0){var b_=(Mn.length<<2)+1;Np=Wg(b_),xe(Mn,Np,b_)}return Np},array:Mn=>{var Np=Wg(Mn.length);return fv(Mn,Np),Np}};function bt(Mn){return U===\"string\"?qt(Mn):U===\"boolean\"?!!Mn:Mn}var $t=Fg(P),or=[],eo=0;if(Pt)for(var ka=0;kabt===\"number\"||bt===\"boolean\"),Zt=U!==\"string\";return Zt&&Jt&&!Pt?Fg(P):function(){return dv(P,U,dt,arguments,Pt)}}Yt.init();var gv=[null,Ng,Tg,_g,Dg,$g,Rg],Og={__emscripten_init_main_thread_js:KC,__emscripten_thread_cleanup:jC,__pthread_create_js:Eg,_emscripten_default_pthread_stack_size:XC,_emscripten_get_now_is_monotonic:ZC,_emscripten_notify_task_queue:JC,_emscripten_set_offscreencanvas_size:QC,abort:tv,emscripten_check_blocking_allowed:ev,emscripten_date_now:rv,emscripten_get_heap_max:nv,emscripten_get_now:Hd,emscripten_memcpy_big:ov,emscripten_num_logical_cores:sv,emscripten_receive_on_main_thread_js:av,emscripten_resize_heap:uv,emscripten_unwind_to_js_event_loop:cv,exit:kg,fd_close:Dg,fd_seek:$g,fd_write:Rg,memory:it||l.wasmMemory},p_=PC(),xv=l.___wasm_call_ctors=function(){return(xv=l.___wasm_call_ctors=l.asm.__wasm_call_ctors).apply(null,arguments)},yv=l._init=function(){return(yv=l._init=l.asm.init).apply(null,arguments)},bv=l._init_with_threads_count=function(){return(bv=l._init_with_threads_count=l.asm.init_with_threads_count).apply(null,arguments)},wv=l._get_threads_count=function(){return(wv=l._get_threads_count=l.asm.get_threads_count).apply(null,arguments)},Iv=l._register_tensor=function(){return(Iv=l._register_tensor=l.asm.register_tensor).apply(null,arguments)},Cv=l._dispose_data=function(){return(Cv=l._dispose_data=l.asm.dispose_data).apply(null,arguments)},vv=l._dispose=function(){return(vv=l._dispose=l.asm.dispose).apply(null,arguments)},Sv=l._Abs=function(){return(Sv=l._Abs=l.asm.Abs).apply(null,arguments)},Nv=l._Acos=function(){return(Nv=l._Acos=l.asm.Acos).apply(null,arguments)},kv=l._Acosh=function(){return(kv=l._Acosh=l.asm.Acosh).apply(null,arguments)},Tv=l._Add=function(){return(Tv=l._Add=l.asm.Add).apply(null,arguments)},_v=l._AddN=function(){return(_v=l._AddN=l.asm.AddN).apply(null,arguments)},Ev=l._All=function(){return(Ev=l._All=l.asm.All).apply(null,arguments)},Av=l._Any=function(){return(Av=l._Any=l.asm.Any).apply(null,arguments)},Dv=l._ArgMax=function(){return(Dv=l._ArgMax=l.asm.ArgMax).apply(null,arguments)},$v=l._ArgMin=function(){return($v=l._ArgMin=l.asm.ArgMin).apply(null,arguments)},Rv=l._Asin=function(){return(Rv=l._Asin=l.asm.Asin).apply(null,arguments)},Fv=l._Asinh=function(){return(Fv=l._Asinh=l.asm.Asinh).apply(null,arguments)},Ov=l._Atan=function(){return(Ov=l._Atan=l.asm.Atan).apply(null,arguments)},Mv=l._Atan2=function(){return(Mv=l._Atan2=l.asm.Atan2).apply(null,arguments)},Pv=l._Atanh=function(){return(Pv=l._Atanh=l.asm.Atanh).apply(null,arguments)},Lv=l._AvgPool=function(){return(Lv=l._AvgPool=l.asm.AvgPool).apply(null,arguments)},zv=l._AvgPool3D=function(){return(zv=l._AvgPool3D=l.asm.AvgPool3D).apply(null,arguments)},Bv=l._AvgPool3DGrad=function(){return(Bv=l._AvgPool3DGrad=l.asm.AvgPool3DGrad).apply(null,arguments)},Vv=l._AvgPoolGrad=function(){return(Vv=l._AvgPoolGrad=l.asm.AvgPoolGrad).apply(null,arguments)},Gv=l._BatchMatMul=function(){return(Gv=l._BatchMatMul=l.asm.BatchMatMul).apply(null,arguments)},Wv=l._Bincount=function(){return(Wv=l._Bincount=l.asm.Bincount).apply(null,arguments)},Uv=l._BitwiseAnd=function(){return(Uv=l._BitwiseAnd=l.asm.BitwiseAnd).apply(null,arguments)},Hv=l._Ceil=function(){return(Hv=l._Ceil=l.asm.Ceil).apply(null,arguments)},qv=l._ClipByValue=function(){return(qv=l._ClipByValue=l.asm.ClipByValue).apply(null,arguments)},Kv=l._Conv2D=function(){return(Kv=l._Conv2D=l.asm.Conv2D).apply(null,arguments)},jv=l._Conv2DBackpropInput=function(){return(jv=l._Conv2DBackpropInput=l.asm.Conv2DBackpropInput).apply(null,arguments)},Xv=l._Conv3D=function(){return(Xv=l._Conv3D=l.asm.Conv3D).apply(null,arguments)},Yv=l._Conv3DBackpropFilterV2=function(){return(Yv=l._Conv3DBackpropFilterV2=l.asm.Conv3DBackpropFilterV2).apply(null,arguments)},Zv=l._Conv3DBackpropInputV2=function(){return(Zv=l._Conv3DBackpropInputV2=l.asm.Conv3DBackpropInputV2).apply(null,arguments)},Jv=l._Cos=function(){return(Jv=l._Cos=l.asm.Cos).apply(null,arguments)},Qv=l._Cosh=function(){return(Qv=l._Cosh=l.asm.Cosh).apply(null,arguments)},tS=l._CropAndResize=function(){return(tS=l._CropAndResize=l.asm.CropAndResize).apply(null,arguments)},eS=l._Cumprod=function(){return(eS=l._Cumprod=l.asm.Cumprod).apply(null,arguments)},rS=l._Cumsum=function(){return(rS=l._Cumsum=l.asm.Cumsum).apply(null,arguments)},nS=l._DenseBincount=function(){return(nS=l._DenseBincount=l.asm.DenseBincount).apply(null,arguments)},oS=l._DepthToSpace=function(){return(oS=l._DepthToSpace=l.asm.DepthToSpace).apply(null,arguments)},sS=l._DepthwiseConv2dNative=function(){return(sS=l._DepthwiseConv2dNative=l.asm.DepthwiseConv2dNative).apply(null,arguments)},iS=l._Diag=function(){return(iS=l._Diag=l.asm.Diag).apply(null,arguments)},aS=l._Dilation2D=function(){return(aS=l._Dilation2D=l.asm.Dilation2D).apply(null,arguments)},lS=l._Dilation2DBackpropFilter=function(){return(lS=l._Dilation2DBackpropFilter=l.asm.Dilation2DBackpropFilter).apply(null,arguments)},uS=l._Dilation2DBackpropInput=function(){return(uS=l._Dilation2DBackpropInput=l.asm.Dilation2DBackpropInput).apply(null,arguments)},cS=l._Elu=function(){return(cS=l._Elu=l.asm.Elu).apply(null,arguments)},pS=l._EluGrad=function(){return(pS=l._EluGrad=l.asm.EluGrad).apply(null,arguments)},mS=l._Equal=function(){return(mS=l._Equal=l.asm.Equal).apply(null,arguments)},fS=l._Erf=function(){return(fS=l._Erf=l.asm.Erf).apply(null,arguments)},dS=l._Exp=function(){return(dS=l._Exp=l.asm.Exp).apply(null,arguments)},hS=l._Expm1=function(){return(hS=l._Expm1=l.asm.Expm1).apply(null,arguments)},gS=l._FlipLeftRight=function(){return(gS=l._FlipLeftRight=l.asm.FlipLeftRight).apply(null,arguments)},xS=l._Floor=function(){return(xS=l._Floor=l.asm.Floor).apply(null,arguments)},yS=l._FloorDiv=function(){return(yS=l._FloorDiv=l.asm.FloorDiv).apply(null,arguments)},bS=l._FusedBatchNorm=function(){return(bS=l._FusedBatchNorm=l.asm.FusedBatchNorm).apply(null,arguments)},wS=l._FusedConv2D=function(){return(wS=l._FusedConv2D=l.asm.FusedConv2D).apply(null,arguments)},IS=l._FusedDepthwiseConv2D=function(){return(IS=l._FusedDepthwiseConv2D=l.asm.FusedDepthwiseConv2D).apply(null,arguments)},CS=l._Gather=function(){return(CS=l._Gather=l.asm.Gather).apply(null,arguments)},vS=l._GatherNd=function(){return(vS=l._GatherNd=l.asm.GatherNd).apply(null,arguments)},SS=l._Greater=function(){return(SS=l._Greater=l.asm.Greater).apply(null,arguments)},NS=l._GreaterEqual=function(){return(NS=l._GreaterEqual=l.asm.GreaterEqual).apply(null,arguments)},kS=l._IsFinite=function(){return(kS=l._IsFinite=l.asm.IsFinite).apply(null,arguments)},TS=l._IsInf=function(){return(TS=l._IsInf=l.asm.IsInf).apply(null,arguments)},_S=l._IsNan=function(){return(_S=l._IsNan=l.asm.IsNan).apply(null,arguments)},ES=l._LRN=function(){return(ES=l._LRN=l.asm.LRN).apply(null,arguments)},AS=l._LRNGrad=function(){return(AS=l._LRNGrad=l.asm.LRNGrad).apply(null,arguments)},DS=l._LeakyRelu=function(){return(DS=l._LeakyRelu=l.asm.LeakyRelu).apply(null,arguments)},$S=l._Less=function(){return($S=l._Less=l.asm.Less).apply(null,arguments)},RS=l._LessEqual=function(){return(RS=l._LessEqual=l.asm.LessEqual).apply(null,arguments)},FS=l._LinSpace=function(){return(FS=l._LinSpace=l.asm.LinSpace).apply(null,arguments)},OS=l._Log=function(){return(OS=l._Log=l.asm.Log).apply(null,arguments)},MS=l._Log1p=function(){return(MS=l._Log1p=l.asm.Log1p).apply(null,arguments)},PS=l._LogicalAnd=function(){return(PS=l._LogicalAnd=l.asm.LogicalAnd).apply(null,arguments)},LS=l._LogicalNot=function(){return(LS=l._LogicalNot=l.asm.LogicalNot).apply(null,arguments)},zS=l._LogicalOr=function(){return(zS=l._LogicalOr=l.asm.LogicalOr).apply(null,arguments)},BS=l._LogicalXor=function(){return(BS=l._LogicalXor=l.asm.LogicalXor).apply(null,arguments)},VS=l._Max=function(){return(VS=l._Max=l.asm.Max).apply(null,arguments)},GS=l._MaxPool=function(){return(GS=l._MaxPool=l.asm.MaxPool).apply(null,arguments)},WS=l._MaxPool3D=function(){return(WS=l._MaxPool3D=l.asm.MaxPool3D).apply(null,arguments)},US=l._MaxPool3DGrad=function(){return(US=l._MaxPool3DGrad=l.asm.MaxPool3DGrad).apply(null,arguments)},HS=l._MaxPoolGrad=function(){return(HS=l._MaxPoolGrad=l.asm.MaxPoolGrad).apply(null,arguments)},qS=l._MaxPoolWithArgmax=function(){return(qS=l._MaxPoolWithArgmax=l.asm.MaxPoolWithArgmax).apply(null,arguments)},KS=l._Maximum=function(){return(KS=l._Maximum=l.asm.Maximum).apply(null,arguments)},jS=l._Mean=function(){return(jS=l._Mean=l.asm.Mean).apply(null,arguments)},XS=l._Min=function(){return(XS=l._Min=l.asm.Min).apply(null,arguments)},YS=l._Minimum=function(){return(YS=l._Minimum=l.asm.Minimum).apply(null,arguments)},ZS=l._MirrorPad=function(){return(ZS=l._MirrorPad=l.asm.MirrorPad).apply(null,arguments)},JS=l._Mod=function(){return(JS=l._Mod=l.asm.Mod).apply(null,arguments)},QS=l._Multinomial=function(){return(QS=l._Multinomial=l.asm.Multinomial).apply(null,arguments)},t0=l._Multiply=function(){return(t0=l._Multiply=l.asm.Multiply).apply(null,arguments)},e0=l._Neg=function(){return(e0=l._Neg=l.asm.Neg).apply(null,arguments)},r0=l._NonMaxSuppressionV3=function(){return(r0=l._NonMaxSuppressionV3=l.asm.NonMaxSuppressionV3).apply(null,arguments)},n0=l._NonMaxSuppressionV4=function(){return(n0=l._NonMaxSuppressionV4=l.asm.NonMaxSuppressionV4).apply(null,arguments)},Mg=l._NonMaxSuppressionV5=function(){return(Mg=l._NonMaxSuppressionV5=l.asm.NonMaxSuppressionV5).apply(null,arguments)},Pg=l._NotEqual=function(){return(Pg=l._NotEqual=l.asm.NotEqual).apply(null,arguments)},Kd=l._OneHot=function(){return(Kd=l._OneHot=l.asm.OneHot).apply(null,arguments)},o0=l._PadV2=function(){return(o0=l._PadV2=l.asm.PadV2).apply(null,arguments)},s0=l._Pow=function(){return(s0=l._Pow=l.asm.Pow).apply(null,arguments)},Cp=l._Prelu=function(){return(Cp=l._Prelu=l.asm.Prelu).apply(null,arguments)},Lg=l._Prod=function(){return(Lg=l._Prod=l.asm.Prod).apply(null,arguments)},vp=l._RealDiv=function(){return(vp=l._RealDiv=l.asm.RealDiv).apply(null,arguments)},Sp=l._Reciprocal=function(){return(Sp=l._Reciprocal=l.asm.Reciprocal).apply(null,arguments)},i0=l._Relu=function(){return(i0=l._Relu=l.asm.Relu).apply(null,arguments)},j=l._Relu6=function(){return(j=l._Relu6=l.asm.Relu6).apply(null,arguments)},ut=l._ResizeBilinear=function(){return(ut=l._ResizeBilinear=l.asm.ResizeBilinear).apply(null,arguments)},Ft=l._ResizeBilinearGrad=function(){return(Ft=l._ResizeBilinearGrad=l.asm.ResizeBilinearGrad).apply(null,arguments)},me=l._ResizeNearestNeighbor=function(){return(me=l._ResizeNearestNeighbor=l.asm.ResizeNearestNeighbor).apply(null,arguments)},Ye=l._ResizeNearestNeighborGrad=function(){return(Ye=l._ResizeNearestNeighborGrad=l.asm.ResizeNearestNeighborGrad).apply(null,arguments)},Ze=l._Reverse=function(){return(Ze=l._Reverse=l.asm.Reverse).apply(null,arguments)},se=l._RotateWithOffset=function(){return(se=l._RotateWithOffset=l.asm.RotateWithOffset).apply(null,arguments)},ne=l._Round=function(){return(ne=l._Round=l.asm.Round).apply(null,arguments)},yr=l._Rsqrt=function(){return(yr=l._Rsqrt=l.asm.Rsqrt).apply(null,arguments)},to=l._ScatterNd=function(){return(to=l._ScatterNd=l.asm.ScatterNd).apply(null,arguments)},Na=l._SearchSorted=function(){return(Na=l._SearchSorted=l.asm.SearchSorted).apply(null,arguments)},zg=l._SelectV2=function(){return(zg=l._SelectV2=l.asm.SelectV2).apply(null,arguments)},jd=l._Selu=function(){return(jd=l._Selu=l.asm.Selu).apply(null,arguments)},a0=l._Sigmoid=function(){return(a0=l._Sigmoid=l.asm.Sigmoid).apply(null,arguments)},nn=l._Sign=function(){return(nn=l._Sign=l.asm.Sign).apply(null,arguments)},Vl=l._Sin=function(){return(Vl=l._Sin=l.asm.Sin).apply(null,arguments)},Bg=l._Sinh=function(){return(Bg=l._Sinh=l.asm.Sinh).apply(null,arguments)},nq=l._Softmax=function(){return(nq=l._Softmax=l.asm.Softmax).apply(null,arguments)},oq=l._Softplus=function(){return(oq=l._Softplus=l.asm.Softplus).apply(null,arguments)},sq=l._SparseFillEmptyRows=function(){return(sq=l._SparseFillEmptyRows=l.asm.SparseFillEmptyRows).apply(null,arguments)},iq=l._SparseReshape=function(){return(iq=l._SparseReshape=l.asm.SparseReshape).apply(null,arguments)},aq=l._SparseSegmentReduction=function(){return(aq=l._SparseSegmentReduction=l.asm.SparseSegmentReduction).apply(null,arguments)},lq=l._SparseToDense=function(){return(lq=l._SparseToDense=l.asm.SparseToDense).apply(null,arguments)},uq=l._Sqrt=function(){return(uq=l._Sqrt=l.asm.Sqrt).apply(null,arguments)},cq=l._Square=function(){return(cq=l._Square=l.asm.Square).apply(null,arguments)},pq=l._SquaredDifference=function(){return(pq=l._SquaredDifference=l.asm.SquaredDifference).apply(null,arguments)},mq=l._Step=function(){return(mq=l._Step=l.asm.Step).apply(null,arguments)},fq=l._StridedSlice=function(){return(fq=l._StridedSlice=l.asm.StridedSlice).apply(null,arguments)},dq=l._Sub=function(){return(dq=l._Sub=l.asm.Sub).apply(null,arguments)},hq=l._Sum=function(){return(hq=l._Sum=l.asm.Sum).apply(null,arguments)},gq=l._Tan=function(){return(gq=l._Tan=l.asm.Tan).apply(null,arguments)},xq=l._Tanh=function(){return(xq=l._Tanh=l.asm.Tanh).apply(null,arguments)},yq=l._TensorScatterUpdate=function(){return(yq=l._TensorScatterUpdate=l.asm.TensorScatterUpdate).apply(null,arguments)},bq=l._Tile=function(){return(bq=l._Tile=l.asm.Tile).apply(null,arguments)},wq=l._TopK=function(){return(wq=l._TopK=l.asm.TopK).apply(null,arguments)},Iq=l._Transform=function(){return(Iq=l._Transform=l.asm.Transform).apply(null,arguments)},Cq=l._Transpose=function(){return(Cq=l._Transpose=l.asm.Transpose).apply(null,arguments)},vq=l.__FusedMatMul=function(){return(vq=l.__FusedMatMul=l.asm._FusedMatMul).apply(null,arguments)},Sq=l._malloc=function(){return(Sq=l._malloc=l.asm.malloc).apply(null,arguments)},Nq=l._free=function(){return(Nq=l._free=l.asm.free).apply(null,arguments)},kq=l.__emscripten_tls_init=function(){return(kq=l.__emscripten_tls_init=l.asm._emscripten_tls_init).apply(null,arguments)},Vg=l._pthread_self=function(){return(Vg=l._pthread_self=l.asm.pthread_self).apply(null,arguments)},Tq=l.___errno_location=function(){return(Tq=l.___errno_location=l.asm.__errno_location).apply(null,arguments)},m_=l.__emscripten_thread_init=function(){return(m_=l.__emscripten_thread_init=l.asm._emscripten_thread_init).apply(null,arguments)},_q=l.__emscripten_thread_crashed=function(){return(_q=l.__emscripten_thread_crashed=l.asm._emscripten_thread_crashed).apply(null,arguments)},Eq=l._emscripten_main_thread_process_queued_calls=function(){return(Eq=l._emscripten_main_thread_process_queued_calls=l.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},Aq=l._emscripten_main_browser_thread_id=function(){return(Aq=l._emscripten_main_browser_thread_id=l.asm.emscripten_main_browser_thread_id).apply(null,arguments)},f_=l._emscripten_run_in_main_runtime_thread_js=function(){return(f_=l._emscripten_run_in_main_runtime_thread_js=l.asm.emscripten_run_in_main_runtime_thread_js).apply(null,arguments)},Dq=l._emscripten_dispatch_to_thread_=function(){return(Dq=l._emscripten_dispatch_to_thread_=l.asm.emscripten_dispatch_to_thread_).apply(null,arguments)},d_=l.__emscripten_proxy_execute_task_queue=function(){return(d_=l.__emscripten_proxy_execute_task_queue=l.asm._emscripten_proxy_execute_task_queue).apply(null,arguments)},l0=l.__emscripten_thread_free_data=function(){return(l0=l.__emscripten_thread_free_data=l.asm._emscripten_thread_free_data).apply(null,arguments)},h_=l.__emscripten_thread_exit=function(){return(h_=l.__emscripten_thread_exit=l.asm._emscripten_thread_exit).apply(null,arguments)},g_=l._emscripten_stack_set_limits=function(){return(g_=l._emscripten_stack_set_limits=l.asm.emscripten_stack_set_limits).apply(null,arguments)},u0=l.stackSave=function(){return(u0=l.stackSave=l.asm.stackSave).apply(null,arguments)},Gg=l.stackRestore=function(){return(Gg=l.stackRestore=l.asm.stackRestore).apply(null,arguments)},Wg=l.stackAlloc=function(){return(Wg=l.stackAlloc=l.asm.stackAlloc).apply(null,arguments)},$q=l.dynCall_iijjiiii=function(){return($q=l.dynCall_iijjiiii=l.asm.dynCall_iijjiiii).apply(null,arguments)},Rq=l.dynCall_jiji=function(){return(Rq=l.dynCall_jiji=l.asm.dynCall_jiji).apply(null,arguments)};l.keepRuntimeAlive=zo,l.wasmMemory=it,l.cwrap=hv,l.ExitStatus=Yu,l.PThread=Yt;var Ug;Sa=function P(){Ug||x_(),Ug||(Sa=P)};function x_(P){if(P=P||d,zl>0)return;if(I){c(l),Er(),startWorker(l);return}if(ki(),zl>0)return;function U(){Ug||(Ug=!0,l.calledRun=!0,!gt&&(Er(),c(l),l.onRuntimeInitialized&&l.onRuntimeInitialized(),va()))}l.setStatus?(l.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){l.setStatus(\"\")},1),U()},1)):U()}if(l.preInit)for(typeof l.preInit==\"function\"&&(l.preInit=[l.preInit]);l.preInit.length>0;)l.preInit.pop()();x_();var Hg;m&&(Hg={uncaughtException:process.listeners(\"uncaughtException\").filter(function(P){return!m.uncaughtException.indexOf(P)>-1}),unhandledRejection:process.listeners(\"unhandledRejection\").filter(function(P){return!m.unhandledRejection.indexOf(P)>-1})});var qg;if(typeof WasmBackendModule!=\"undefined\")qg=WasmBackendModule;else if(typeof t!=\"undefined\")qg=t;else throw new Error(\"Could not find wasm module in post.js\");if(Hg){var Fq=qg._dispose;qg._dispose=function(){Fq(),Hg.uncaughtException.forEach(function(P){process.removeListener(\"uncaughtException\",P)}),Hg.unhandledRejection.forEach(function(P){process.removeListener(\"unhandledRejection\",P)})}}return t.ready}})();typeof DC==\"object\"&&typeof e_==\"object\"?e_.exports=t_:typeof define==\"function\"&&define.amd?define([],function(){return t_}):typeof DC==\"object\"&&(DC.WasmBackendModuleThreadedSimd=t_)});var XH=br((pnr,jH)=>{jH.exports.wasmWorkerContents=`\"use strict\";var Module={};var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require(\"worker_threads\");var parentPort=nodeWorkerThreads.parentPort;parentPort.on(\"message\",data=>onmessage({data:data}));var fs=require(\"fs\");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,\"utf8\")+\"//# sourceURL=\"+f)},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;var pendingNotifiedProxyingQueues=[];function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(\" \");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+\"\n\");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(\" \");postMessage({cmd:\"alert\",text:text,threadId:Module[\"_pthread_self\"]()})}var err=threadPrintErr;self.alert=threadAlert;Module[\"instantiateWasm\"]=(info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module[\"wasmModule\"],info);receiveInstance(instance);Module[\"wasmModule\"]=null;return instance.exports};self.onunhandledrejection=e=>{throw e.reason??e};self.startWorker=instance=>{Module=instance;postMessage({\"cmd\":\"loaded\"})};self.onmessage=e=>{try{if(e.data.cmd===\"load\"){Module[\"wasmModule\"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=function(){postMessage({cmd:\"callHandler\",handler:handler,args:[...arguments]})}}Module[\"wasmMemory\"]=e.data.wasmMemory;Module[\"buffer\"]=Module[\"wasmMemory\"].buffer;Module[\"ENVIRONMENT_IS_PTHREAD\"]=true;if(typeof e.data.urlOrBlob==\"string\"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}WasmBackendModuleThreadedSimd(Module)}else if(e.data.cmd===\"run\"){Module[\"__emscripten_thread_init\"](e.data.pthread_ptr,0,0,1);Module[\"establishStackSpace\"]();Module[\"PThread\"].receiveObjectTransfer(e.data);Module[\"PThread\"].threadInitTLS();if(!initializedJS){pendingNotifiedProxyingQueues.forEach(queue=>{Module[\"executeNotifiedProxyingQueue\"](queue)});pendingNotifiedProxyingQueues=[];initializedJS=true}try{Module[\"invokeEntryPoint\"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!=\"unwind\"){if(ex instanceof Module[\"ExitStatus\"]){if(Module[\"keepRuntimeAlive\"]()){}else{Module[\"__emscripten_thread_exit\"](ex.status)}}else{throw ex}}}}else if(e.data.cmd===\"cancel\"){if(Module[\"_pthread_self\"]()){Module[\"__emscripten_thread_exit\"](-1)}}else if(e.data.target===\"setimmediate\"){}else if(e.data.cmd===\"processProxyingQueue\"){if(initializedJS){Module[\"executeNotifiedProxyingQueue\"](e.data.queue)}else{pendingNotifiedProxyingQueues.push(e.data.queue)}}else if(e.data.cmd){err(\"worker.js received unknown command \"+e.data.cmd);err(e.data)}}catch(ex){if(Module[\"__emscripten_thread_crashed\"]){Module[\"__emscripten_thread_crashed\"]()}throw ex}};`});var YH=br(($C,n_)=>{var r_=(()=>{var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(t){t=t||{};var e=typeof t!=\"undefined\"?t:{},n,o;e.ready=new Promise(function(j,ut){n=j,o=ut});var s;typeof process!=\"undefined\"&&process.listeners&&(s={uncaughtException:process.listeners(\"uncaughtException\"),unhandledRejection:process.listeners(\"unhandledRejection\")});var i=Object.assign({},e),a=[],u=\"./this.program\",l=(j,ut)=>{throw ut},c=typeof window==\"object\",p=typeof importScripts==\"function\",m=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",f=\"\";function d(j){return e.locateFile?e.locateFile(j,f):f+j}var h,g,x,b;function w(j){if(j instanceof bp)return;A(\"exiting due to exception: \"+j)}if(m){var I=fw(),N=Q1();p?f=N.dirname(f)+\"/\":f=__dirname+\"/\",h=(j,ut)=>(j=ki(j)?new URL(j):N.normalize(j),I.readFileSync(j,ut?void 0:\"utf8\")),x=j=>{var ut=h(j,!0);return ut.buffer||(ut=new Uint8Array(ut)),ut},g=(j,ut,Ft)=>{j=ki(j)?new URL(j):N.normalize(j),I.readFile(j,function(me,Ye){me?Ft(me):ut(Ye.buffer)})},process.argv.length>1&&(u=process.argv[1].replace(/\\\\/g,\"/\")),a=process.argv.slice(2),process.on(\"uncaughtException\",function(j){if(!(j instanceof bp))throw j}),process.on(\"unhandledRejection\",function(j){throw j}),l=(j,ut)=>{if(de())throw process.exitCode=j,ut;w(ut),process.exit(j)},e.inspect=function(){return\"[Emscripten Module object]\"}}else(c||p)&&(p?f=self.location.href:typeof document!=\"undefined\"&&document.currentScript&&(f=document.currentScript.src),r&&(f=r),f.indexOf(\"blob:\")!==0?f=f.substr(0,f.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):f=\"\",h=j=>{var ut=new XMLHttpRequest;return ut.open(\"GET\",j,!1),ut.send(null),ut.responseText},p&&(x=j=>{var ut=new XMLHttpRequest;return ut.open(\"GET\",j,!1),ut.responseType=\"arraybuffer\",ut.send(null),new Uint8Array(ut.response)}),g=(j,ut,Ft)=>{var me=new XMLHttpRequest;me.open(\"GET\",j,!0),me.responseType=\"arraybuffer\",me.onload=()=>{if(me.status==200||me.status==0&&me.response){ut(me.response);return}Ft()},me.onerror=Ft,me.send(null)},b=j=>document.title=j);var E=e.print||console.log.bind(console),A=e.printErr||console.warn.bind(console);Object.assign(e,i),i=null,e.arguments&&(a=e.arguments),e.thisProgram&&(u=e.thisProgram),e.quit&&(l=e.quit);var D=4,F;e.wasmBinary&&(F=e.wasmBinary);var M=e.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&Zr(\"no native wasm support detected\");var V,G=!1,W;function q(j,ut){j||Zr(ut)}var H=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):void 0;function K(j,ut,Ft){ut>>>=0;for(var me=ut+Ft,Ye=ut;j[Ye]&&!(Ye>=me);)++Ye;if(Ye-ut>16&&j.buffer&&H)return H.decode(j.subarray(ut,Ye));for(var Ze=\"\";ut>10,56320|to&1023)}}return Ze}function Y(j,ut){return j>>>=0,j?K(lt,j,ut):\"\"}function Z(j,ut,Ft,me){if(Ft>>>=0,!(me>0))return 0;for(var Ye=Ft,Ze=Ft+me-1,se=0;se=55296&&ne<=57343){var yr=j.charCodeAt(++se);ne=65536+((ne&1023)<<10)|yr&1023}if(ne<=127){if(Ft>=Ze)break;ut[Ft++>>>0]=ne}else if(ne<=2047){if(Ft+1>=Ze)break;ut[Ft++>>>0]=192|ne>>6,ut[Ft++>>>0]=128|ne&63}else if(ne<=65535){if(Ft+2>=Ze)break;ut[Ft++>>>0]=224|ne>>12,ut[Ft++>>>0]=128|ne>>6&63,ut[Ft++>>>0]=128|ne&63}else{if(Ft+3>=Ze)break;ut[Ft++>>>0]=240|ne>>18,ut[Ft++>>>0]=128|ne>>12&63,ut[Ft++>>>0]=128|ne>>6&63,ut[Ft++>>>0]=128|ne&63}}return ut[Ft>>>0]=0,Ft-Ye}function et(j,ut,Ft){return Z(j,lt,ut,Ft)}var nt,st,lt,ot,it,ft,gt,Ct,Rt;function Dt(j){nt=j,e.HEAP8=st=new Int8Array(j),e.HEAP16=ot=new Int16Array(j),e.HEAP32=ft=new Int32Array(j),e.HEAPU8=lt=new Uint8Array(j),e.HEAPU16=it=new Uint16Array(j),e.HEAPU32=gt=new Uint32Array(j),e.HEAPF32=Ct=new Float32Array(j),e.HEAPF64=Rt=new Float64Array(j)}var Ht=e.INITIAL_MEMORY||16777216,qt,pe=[],xe=[],re=[],ye=!1;function de(){return M}function Ee(){if(e.preRun)for(typeof e.preRun==\"function\"&&(e.preRun=[e.preRun]);e.preRun.length;)lr(e.preRun.shift());Sa(pe)}function Ae(){ye=!0,Sa(xe)}function On(){if(e.postRun)for(typeof e.postRun==\"function\"&&(e.postRun=[e.postRun]);e.postRun.length;)zr(e.postRun.shift());Sa(re)}function lr(j){pe.unshift(j)}function Zn(j){xe.unshift(j)}function zr(j){re.unshift(j)}var Xe=0,Br=null,Vr=null;function Jn(j){Xe++,e.monitorRunDependencies&&e.monitorRunDependencies(Xe)}function Qn(j){if(Xe--,e.monitorRunDependencies&&e.monitorRunDependencies(Xe),Xe==0&&(Br!==null&&(clearInterval(Br),Br=null),Vr)){var ut=Vr;Vr=null,ut()}}function Zr(j){e.onAbort&&e.onAbort(j),j=\"Aborted(\"+j+\")\",A(j),G=!0,W=1,j+=\". Build with -sASSERTIONS for more info.\";var ut=new WebAssembly.RuntimeError(j);throw o(ut),ut}var Ca=\"data:application/octet-stream;base64,\";function zo(j){return j.startsWith(Ca)}function ki(j){return j.startsWith(\"file://\")}var Er;Er=\"tfjs-backend-wasm.wasm\",zo(Er)||(Er=d(Er));function va(j){try{if(j==Er&&F)return new Uint8Array(F);if(x)return x(j);throw\"both async and sync fetching of the wasm failed\"}catch(ut){Zr(ut)}}function Bd(){if(!F&&(c||p)){if(typeof fetch==\"function\"&&!ki(Er))return fetch(Er,{credentials:\"same-origin\"}).then(function(j){if(!j.ok)throw\"failed to load wasm binary file at '\"+Er+\"'\";return j.arrayBuffer()}).catch(function(){return va(Er)});if(g)return new Promise(function(j,ut){g(Er,function(Ft){j(new Uint8Array(Ft))},ut)})}return Promise.resolve().then(function(){return va(Er)})}function Vd(){var j={env:Gd,wasi_snapshot_preview1:Gd};function ut(se,ne){var yr=se.exports;e.asm=yr,V=e.asm.memory,Dt(V.buffer),qt=e.asm.__indirect_function_table,Zn(e.asm.__wasm_call_ctors),Qn(\"wasm-instantiate\")}Jn(\"wasm-instantiate\");function Ft(se){ut(se.instance)}function me(se){return Bd().then(function(ne){return WebAssembly.instantiate(ne,j)}).then(function(ne){return ne}).then(se,function(ne){A(\"failed to asynchronously prepare wasm: \"+ne),Zr(ne)})}function Ye(){return!F&&typeof WebAssembly.instantiateStreaming==\"function\"&&!zo(Er)&&!ki(Er)&&!m&&typeof fetch==\"function\"?fetch(Er,{credentials:\"same-origin\"}).then(function(se){var ne=WebAssembly.instantiateStreaming(se,j);return ne.then(Ft,function(yr){return A(\"wasm streaming compile failed: \"+yr),A(\"falling back to ArrayBuffer instantiation\"),me(Ft)})}):me(Ft)}if(e.instantiateWasm)try{var Ze=e.instantiateWasm(j,ut);return Ze}catch(se){A(\"Module.instantiateWasm callback failed with error: \"+se),o(se)}return Ye().catch(o),{}}var l_,zl;function bp(j){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+j+\")\",this.status=j}function Sa(j){for(;j.length>0;)j.shift()(e)}function FC(){Zr(\"\")}function wg(){return 4294901760}function Xu(){return wg()}function OC(j,ut,Ft){lt.copyWithin(j>>>0,ut>>>0,ut+Ft>>>0)}function Ig(j){try{return V.grow(j-nt.byteLength+65535>>>16),Dt(V.buffer),1}catch(ut){}}function wp(j){var ut=lt.length;j=j>>>0;var Ft=wg();if(j>Ft)return!1;let me=(yr,to)=>yr+(to-yr%to)%to;for(var Ye=1;Ye<=4;Ye*=2){var Ze=ut*(1+.2/Ye);Ze=Math.min(Ze,j+100663296);var se=Math.min(Ft,me(Math.max(j,Ze),65536)),ne=Ig(se);if(ne)return!0}return!1}var Jr={varargs:void 0,get:function(){Jr.varargs+=4;var j=ft[Jr.varargs-4>>>2];return j},getStr:function(j){var ut=Y(j);return ut}};function Cg(j){return 52}function MC(j,ut,Ft,me,Ye){return 70}var PC=[null,[],[]];function u_(j,ut){var Ft=PC[j];ut===0||ut===10?((j===1?E:A)(K(Ft,0)),Ft.length=0):Ft.push(ut)}function c_(j,ut,Ft,me){for(var Ye=0,Ze=0;Ze>>2],ne=gt[ut+4>>>2];ut+=8;for(var yr=0;yr>>0]);Ye+=ne}return gt[me>>>2]=Ye,0}function vg(j){var ut=e[\"_\"+j];return ut}function Yu(j,ut){st.set(j,ut>>>0)}function LC(j,ut,Ft,me,Ye){var Ze={string:nn=>{var Vl=0;if(nn!=null&&nn!==0){var Bg=(nn.length<<2)+1;Vl=Kd(Bg),et(nn,Vl,Bg)}return Vl},array:nn=>{var Vl=Kd(nn.length);return Yu(nn,Vl),Vl}};function se(nn){return ut===\"string\"?Y(nn):ut===\"boolean\"?!!nn:nn}var ne=vg(j),yr=[],to=0;if(me)for(var Na=0;Nase===\"number\"||se===\"boolean\"),Ze=ut!==\"string\";return Ze&&Ye&&!me?vg(j):function(){return LC(j,ut,Ft,arguments,me)}}var Gd={abort:FC,emscripten_get_heap_max:Xu,emscripten_memcpy_big:OC,emscripten_resize_heap:wp,fd_close:Cg,fd_seek:MC,fd_write:c_},BC=Vd(),Sg=e.___wasm_call_ctors=function(){return(Sg=e.___wasm_call_ctors=e.asm.__wasm_call_ctors).apply(null,arguments)},Ng=e._init=function(){return(Ng=e._init=e.asm.init).apply(null,arguments)},VC=e._init_with_threads_count=function(){return(VC=e._init_with_threads_count=e.asm.init_with_threads_count).apply(null,arguments)},kg=e._get_threads_count=function(){return(kg=e._get_threads_count=e.asm.get_threads_count).apply(null,arguments)},GC=e._register_tensor=function(){return(GC=e._register_tensor=e.asm.register_tensor).apply(null,arguments)},Yt=e._dispose_data=function(){return(Yt=e._dispose_data=e.asm.dispose_data).apply(null,arguments)},Wd=e._dispose=function(){return(Wd=e._dispose=e.asm.dispose).apply(null,arguments)},WC=e._Abs=function(){return(WC=e._Abs=e.asm.Abs).apply(null,arguments)},Tg=e._Acos=function(){return(Tg=e._Acos=e.asm.Acos).apply(null,arguments)},Ip=e._Acosh=function(){return(Ip=e._Acosh=e.asm.Acosh).apply(null,arguments)},UC=e._Add=function(){return(UC=e._Add=e.asm.Add).apply(null,arguments)},HC=e._AddN=function(){return(HC=e._AddN=e.asm.AddN).apply(null,arguments)},qC=e._All=function(){return(qC=e._All=e.asm.All).apply(null,arguments)},KC=e._Any=function(){return(KC=e._Any=e.asm.Any).apply(null,arguments)},jC=e._ArgMax=function(){return(jC=e._ArgMax=e.asm.ArgMax).apply(null,arguments)},_g=e._ArgMin=function(){return(_g=e._ArgMin=e.asm.ArgMin).apply(null,arguments)},Eg=e._Asin=function(){return(Eg=e._Asin=e.asm.Asin).apply(null,arguments)},XC=e._Asinh=function(){return(XC=e._Asinh=e.asm.Asinh).apply(null,arguments)},YC=e._Atan=function(){return(YC=e._Atan=e.asm.Atan).apply(null,arguments)},ZC=e._Atan2=function(){return(ZC=e._Atan2=e.asm.Atan2).apply(null,arguments)},Ud=e._Atanh=function(){return(Ud=e._Atanh=e.asm.Atanh).apply(null,arguments)},JC=e._AvgPool=function(){return(JC=e._AvgPool=e.asm.AvgPool).apply(null,arguments)},QC=e._AvgPool3D=function(){return(QC=e._AvgPool3D=e.asm.AvgPool3D).apply(null,arguments)},tv=e._AvgPool3DGrad=function(){return(tv=e._AvgPool3DGrad=e.asm.AvgPool3DGrad).apply(null,arguments)},Zu=e._AvgPoolGrad=function(){return(Zu=e._AvgPoolGrad=e.asm.AvgPoolGrad).apply(null,arguments)},ev=e._BatchMatMul=function(){return(ev=e._BatchMatMul=e.asm.BatchMatMul).apply(null,arguments)},rv=e._Bincount=function(){return(rv=e._Bincount=e.asm.Bincount).apply(null,arguments)},Ag=e._BitwiseAnd=function(){return(Ag=e._BitwiseAnd=e.asm.BitwiseAnd).apply(null,arguments)},nv=e._Ceil=function(){return(nv=e._Ceil=e.asm.Ceil).apply(null,arguments)},Hd=e._ClipByValue=function(){return(Hd=e._ClipByValue=e.asm.ClipByValue).apply(null,arguments)},ov=e._Conv2D=function(){return(ov=e._Conv2D=e.asm.Conv2D).apply(null,arguments)},sv=e._Conv2DBackpropInput=function(){return(sv=e._Conv2DBackpropInput=e.asm.Conv2DBackpropInput).apply(null,arguments)},iv=e._Conv3D=function(){return(iv=e._Conv3D=e.asm.Conv3D).apply(null,arguments)},Bl=e._Conv3DBackpropFilterV2=function(){return(Bl=e._Conv3DBackpropFilterV2=e.asm.Conv3DBackpropFilterV2).apply(null,arguments)},qd=e._Conv3DBackpropInputV2=function(){return(qd=e._Conv3DBackpropInputV2=e.asm.Conv3DBackpropInputV2).apply(null,arguments)},av=e._Cos=function(){return(av=e._Cos=e.asm.Cos).apply(null,arguments)},lv=e._Cosh=function(){return(lv=e._Cosh=e.asm.Cosh).apply(null,arguments)},uv=e._CropAndResize=function(){return(uv=e._CropAndResize=e.asm.CropAndResize).apply(null,arguments)},cv=e._Cumprod=function(){return(cv=e._Cumprod=e.asm.Cumprod).apply(null,arguments)},Dg=e._Cumsum=function(){return(Dg=e._Cumsum=e.asm.Cumsum).apply(null,arguments)},$g=e._DenseBincount=function(){return($g=e._DenseBincount=e.asm.DenseBincount).apply(null,arguments)},pv=e._DepthToSpace=function(){return(pv=e._DepthToSpace=e.asm.DepthToSpace).apply(null,arguments)},mv=e._DepthwiseConv2dNative=function(){return(mv=e._DepthwiseConv2dNative=e.asm.DepthwiseConv2dNative).apply(null,arguments)},Rg=e._Diag=function(){return(Rg=e._Diag=e.asm.Diag).apply(null,arguments)},Fg=e._Dilation2D=function(){return(Fg=e._Dilation2D=e.asm.Dilation2D).apply(null,arguments)},fv=e._Dilation2DBackpropFilter=function(){return(fv=e._Dilation2DBackpropFilter=e.asm.Dilation2DBackpropFilter).apply(null,arguments)},dv=e._Dilation2DBackpropInput=function(){return(dv=e._Dilation2DBackpropInput=e.asm.Dilation2DBackpropInput).apply(null,arguments)},hv=e._Elu=function(){return(hv=e._Elu=e.asm.Elu).apply(null,arguments)},gv=e._EluGrad=function(){return(gv=e._EluGrad=e.asm.EluGrad).apply(null,arguments)},Og=e._Equal=function(){return(Og=e._Equal=e.asm.Equal).apply(null,arguments)},p_=e._Erf=function(){return(p_=e._Erf=e.asm.Erf).apply(null,arguments)},xv=e._Exp=function(){return(xv=e._Exp=e.asm.Exp).apply(null,arguments)},yv=e._Expm1=function(){return(yv=e._Expm1=e.asm.Expm1).apply(null,arguments)},bv=e._FlipLeftRight=function(){return(bv=e._FlipLeftRight=e.asm.FlipLeftRight).apply(null,arguments)},wv=e._Floor=function(){return(wv=e._Floor=e.asm.Floor).apply(null,arguments)},Iv=e._FloorDiv=function(){return(Iv=e._FloorDiv=e.asm.FloorDiv).apply(null,arguments)},Cv=e._FusedBatchNorm=function(){return(Cv=e._FusedBatchNorm=e.asm.FusedBatchNorm).apply(null,arguments)},vv=e._FusedConv2D=function(){return(vv=e._FusedConv2D=e.asm.FusedConv2D).apply(null,arguments)},Sv=e._FusedDepthwiseConv2D=function(){return(Sv=e._FusedDepthwiseConv2D=e.asm.FusedDepthwiseConv2D).apply(null,arguments)},Nv=e._Gather=function(){return(Nv=e._Gather=e.asm.Gather).apply(null,arguments)},kv=e._GatherNd=function(){return(kv=e._GatherNd=e.asm.GatherNd).apply(null,arguments)},Tv=e._Greater=function(){return(Tv=e._Greater=e.asm.Greater).apply(null,arguments)},_v=e._GreaterEqual=function(){return(_v=e._GreaterEqual=e.asm.GreaterEqual).apply(null,arguments)},Ev=e._IsFinite=function(){return(Ev=e._IsFinite=e.asm.IsFinite).apply(null,arguments)},Av=e._IsInf=function(){return(Av=e._IsInf=e.asm.IsInf).apply(null,arguments)},Dv=e._IsNan=function(){return(Dv=e._IsNan=e.asm.IsNan).apply(null,arguments)},$v=e._LRN=function(){return($v=e._LRN=e.asm.LRN).apply(null,arguments)},Rv=e._LRNGrad=function(){return(Rv=e._LRNGrad=e.asm.LRNGrad).apply(null,arguments)},Fv=e._LeakyRelu=function(){return(Fv=e._LeakyRelu=e.asm.LeakyRelu).apply(null,arguments)},Ov=e._Less=function(){return(Ov=e._Less=e.asm.Less).apply(null,arguments)},Mv=e._LessEqual=function(){return(Mv=e._LessEqual=e.asm.LessEqual).apply(null,arguments)},Pv=e._LinSpace=function(){return(Pv=e._LinSpace=e.asm.LinSpace).apply(null,arguments)},Lv=e._Log=function(){return(Lv=e._Log=e.asm.Log).apply(null,arguments)},zv=e._Log1p=function(){return(zv=e._Log1p=e.asm.Log1p).apply(null,arguments)},Bv=e._LogicalAnd=function(){return(Bv=e._LogicalAnd=e.asm.LogicalAnd).apply(null,arguments)},Vv=e._LogicalNot=function(){return(Vv=e._LogicalNot=e.asm.LogicalNot).apply(null,arguments)},Gv=e._LogicalOr=function(){return(Gv=e._LogicalOr=e.asm.LogicalOr).apply(null,arguments)},Wv=e._LogicalXor=function(){return(Wv=e._LogicalXor=e.asm.LogicalXor).apply(null,arguments)},Uv=e._Max=function(){return(Uv=e._Max=e.asm.Max).apply(null,arguments)},Hv=e._MaxPool=function(){return(Hv=e._MaxPool=e.asm.MaxPool).apply(null,arguments)},qv=e._MaxPool3D=function(){return(qv=e._MaxPool3D=e.asm.MaxPool3D).apply(null,arguments)},Kv=e._MaxPool3DGrad=function(){return(Kv=e._MaxPool3DGrad=e.asm.MaxPool3DGrad).apply(null,arguments)},jv=e._MaxPoolGrad=function(){return(jv=e._MaxPoolGrad=e.asm.MaxPoolGrad).apply(null,arguments)},Xv=e._MaxPoolWithArgmax=function(){return(Xv=e._MaxPoolWithArgmax=e.asm.MaxPoolWithArgmax).apply(null,arguments)},Yv=e._Maximum=function(){return(Yv=e._Maximum=e.asm.Maximum).apply(null,arguments)},Zv=e._Mean=function(){return(Zv=e._Mean=e.asm.Mean).apply(null,arguments)},Jv=e._Min=function(){return(Jv=e._Min=e.asm.Min).apply(null,arguments)},Qv=e._Minimum=function(){return(Qv=e._Minimum=e.asm.Minimum).apply(null,arguments)},tS=e._MirrorPad=function(){return(tS=e._MirrorPad=e.asm.MirrorPad).apply(null,arguments)},eS=e._Mod=function(){return(eS=e._Mod=e.asm.Mod).apply(null,arguments)},rS=e._Multinomial=function(){return(rS=e._Multinomial=e.asm.Multinomial).apply(null,arguments)},nS=e._Multiply=function(){return(nS=e._Multiply=e.asm.Multiply).apply(null,arguments)},oS=e._Neg=function(){return(oS=e._Neg=e.asm.Neg).apply(null,arguments)},sS=e._NonMaxSuppressionV3=function(){return(sS=e._NonMaxSuppressionV3=e.asm.NonMaxSuppressionV3).apply(null,arguments)},iS=e._NonMaxSuppressionV4=function(){return(iS=e._NonMaxSuppressionV4=e.asm.NonMaxSuppressionV4).apply(null,arguments)},aS=e._NonMaxSuppressionV5=function(){return(aS=e._NonMaxSuppressionV5=e.asm.NonMaxSuppressionV5).apply(null,arguments)},lS=e._NotEqual=function(){return(lS=e._NotEqual=e.asm.NotEqual).apply(null,arguments)},uS=e._OneHot=function(){return(uS=e._OneHot=e.asm.OneHot).apply(null,arguments)},cS=e._PadV2=function(){return(cS=e._PadV2=e.asm.PadV2).apply(null,arguments)},pS=e._Pow=function(){return(pS=e._Pow=e.asm.Pow).apply(null,arguments)},mS=e._Prelu=function(){return(mS=e._Prelu=e.asm.Prelu).apply(null,arguments)},fS=e._Prod=function(){return(fS=e._Prod=e.asm.Prod).apply(null,arguments)},dS=e._RealDiv=function(){return(dS=e._RealDiv=e.asm.RealDiv).apply(null,arguments)},hS=e._Reciprocal=function(){return(hS=e._Reciprocal=e.asm.Reciprocal).apply(null,arguments)},gS=e._Relu=function(){return(gS=e._Relu=e.asm.Relu).apply(null,arguments)},xS=e._Relu6=function(){return(xS=e._Relu6=e.asm.Relu6).apply(null,arguments)},yS=e._ResizeBilinear=function(){return(yS=e._ResizeBilinear=e.asm.ResizeBilinear).apply(null,arguments)},bS=e._ResizeBilinearGrad=function(){return(bS=e._ResizeBilinearGrad=e.asm.ResizeBilinearGrad).apply(null,arguments)},wS=e._ResizeNearestNeighbor=function(){return(wS=e._ResizeNearestNeighbor=e.asm.ResizeNearestNeighbor).apply(null,arguments)},IS=e._ResizeNearestNeighborGrad=function(){return(IS=e._ResizeNearestNeighborGrad=e.asm.ResizeNearestNeighborGrad).apply(null,arguments)},CS=e._Reverse=function(){return(CS=e._Reverse=e.asm.Reverse).apply(null,arguments)},vS=e._RotateWithOffset=function(){return(vS=e._RotateWithOffset=e.asm.RotateWithOffset).apply(null,arguments)},SS=e._Round=function(){return(SS=e._Round=e.asm.Round).apply(null,arguments)},NS=e._Rsqrt=function(){return(NS=e._Rsqrt=e.asm.Rsqrt).apply(null,arguments)},kS=e._ScatterNd=function(){return(kS=e._ScatterNd=e.asm.ScatterNd).apply(null,arguments)},TS=e._SearchSorted=function(){return(TS=e._SearchSorted=e.asm.SearchSorted).apply(null,arguments)},_S=e._SelectV2=function(){return(_S=e._SelectV2=e.asm.SelectV2).apply(null,arguments)},ES=e._Selu=function(){return(ES=e._Selu=e.asm.Selu).apply(null,arguments)},AS=e._Sigmoid=function(){return(AS=e._Sigmoid=e.asm.Sigmoid).apply(null,arguments)},DS=e._Sign=function(){return(DS=e._Sign=e.asm.Sign).apply(null,arguments)},$S=e._Sin=function(){return($S=e._Sin=e.asm.Sin).apply(null,arguments)},RS=e._Sinh=function(){return(RS=e._Sinh=e.asm.Sinh).apply(null,arguments)},FS=e._Softmax=function(){return(FS=e._Softmax=e.asm.Softmax).apply(null,arguments)},OS=e._Softplus=function(){return(OS=e._Softplus=e.asm.Softplus).apply(null,arguments)},MS=e._SparseFillEmptyRows=function(){return(MS=e._SparseFillEmptyRows=e.asm.SparseFillEmptyRows).apply(null,arguments)},PS=e._SparseReshape=function(){return(PS=e._SparseReshape=e.asm.SparseReshape).apply(null,arguments)},LS=e._SparseSegmentReduction=function(){return(LS=e._SparseSegmentReduction=e.asm.SparseSegmentReduction).apply(null,arguments)},zS=e._SparseToDense=function(){return(zS=e._SparseToDense=e.asm.SparseToDense).apply(null,arguments)},BS=e._Sqrt=function(){return(BS=e._Sqrt=e.asm.Sqrt).apply(null,arguments)},VS=e._Square=function(){return(VS=e._Square=e.asm.Square).apply(null,arguments)},GS=e._SquaredDifference=function(){return(GS=e._SquaredDifference=e.asm.SquaredDifference).apply(null,arguments)},WS=e._Step=function(){return(WS=e._Step=e.asm.Step).apply(null,arguments)},US=e._StridedSlice=function(){return(US=e._StridedSlice=e.asm.StridedSlice).apply(null,arguments)},HS=e._Sub=function(){return(HS=e._Sub=e.asm.Sub).apply(null,arguments)},qS=e._Sum=function(){return(qS=e._Sum=e.asm.Sum).apply(null,arguments)},KS=e._Tan=function(){return(KS=e._Tan=e.asm.Tan).apply(null,arguments)},jS=e._Tanh=function(){return(jS=e._Tanh=e.asm.Tanh).apply(null,arguments)},XS=e._TensorScatterUpdate=function(){return(XS=e._TensorScatterUpdate=e.asm.TensorScatterUpdate).apply(null,arguments)},YS=e._Tile=function(){return(YS=e._Tile=e.asm.Tile).apply(null,arguments)},ZS=e._TopK=function(){return(ZS=e._TopK=e.asm.TopK).apply(null,arguments)},JS=e._Transform=function(){return(JS=e._Transform=e.asm.Transform).apply(null,arguments)},QS=e._Transpose=function(){return(QS=e._Transpose=e.asm.Transpose).apply(null,arguments)},t0=e.__FusedMatMul=function(){return(t0=e.__FusedMatMul=e.asm._FusedMatMul).apply(null,arguments)},e0=e._malloc=function(){return(e0=e._malloc=e.asm.malloc).apply(null,arguments)},r0=e._free=function(){return(r0=e._free=e.asm.free).apply(null,arguments)},n0=e.___errno_location=function(){return(n0=e.___errno_location=e.asm.__errno_location).apply(null,arguments)},Mg=e.stackSave=function(){return(Mg=e.stackSave=e.asm.stackSave).apply(null,arguments)},Pg=e.stackRestore=function(){return(Pg=e.stackRestore=e.asm.stackRestore).apply(null,arguments)},Kd=e.stackAlloc=function(){return(Kd=e.stackAlloc=e.asm.stackAlloc).apply(null,arguments)},o0=e.dynCall_iijjiiii=function(){return(o0=e.dynCall_iijjiiii=e.asm.dynCall_iijjiiii).apply(null,arguments)},s0=e.dynCall_jiji=function(){return(s0=e.dynCall_jiji=e.asm.dynCall_jiji).apply(null,arguments)};e.cwrap=zC;var Cp;Vr=function j(){Cp||Lg(),Cp||(Vr=j)};function Lg(j){if(j=j||a,Xe>0||(Ee(),Xe>0))return;function ut(){Cp||(Cp=!0,e.calledRun=!0,!G&&(Ae(),n(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),On()))}e.setStatus?(e.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){e.setStatus(\"\")},1),ut()},1)):ut()}if(e.preInit)for(typeof e.preInit==\"function\"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();Lg();var vp;s&&(vp={uncaughtException:process.listeners(\"uncaughtException\").filter(function(j){return!s.uncaughtException.indexOf(j)>-1}),unhandledRejection:process.listeners(\"unhandledRejection\").filter(function(j){return!s.unhandledRejection.indexOf(j)>-1})});var Sp;if(typeof t!=\"undefined\")Sp=t;else if(typeof WasmBackendModuleThreadedSimd!=\"undefined\")Sp=WasmBackendModuleThreadedSimd;else throw new Error(\"Could not find wasm module in post.js\");if(vp){var i0=Sp._dispose;Sp._dispose=function(){i0(),vp.uncaughtException.forEach(function(j){process.removeListener(\"uncaughtException\",j)}),vp.unhandledRejection.forEach(function(j){process.removeListener(\"unhandledRejection\",j)})}}return t.ready}})();typeof $C==\"object\"&&typeof n_==\"object\"?n_.exports=r_:typeof define==\"function\"&&define.amd?define([],function(){return r_}):typeof $C==\"object\"&&($C.WasmBackendModule=r_)});var Ta=class{constructor(t,e){this.backend=t,this.dataMover=e,this.data=new WeakMap,this.dataIdsCount=0}get(t){return this.data.has(t)||this.dataMover.moveData(this.backend,t),this.data.get(t)}set(t,e){this.dataIdsCount++,this.data.set(t,e)}has(t){return this.data.has(t)}delete(t){return this.dataIdsCount--,this.data.delete(t)}numDataIds(){return this.dataIdsCount}},Bo=class{refCount(t){return Pn(\"refCount\")}incRef(t){return Pn(\"incRef\")}timerAvailable(){return!0}time(t){return Pn(\"time\")}read(t){return Pn(\"read\")}readSync(t){return Pn(\"readSync\")}readToGPU(t,e){return Pn(\"readToGPU\")}numDataIds(){return Pn(\"numDataIds\")}disposeData(t,e){return Pn(\"disposeData\")}write(t,e,n){return Pn(\"write\")}move(t,e,n,o,s){return Pn(\"move\")}createTensorFromGPUData(t,e,n){return Pn(\"createTensorFromGPUData\")}memory(){return Pn(\"memory\")}floatPrecision(){return Pn(\"floatPrecision\")}epsilon(){return this.floatPrecision()===32?1e-7:1e-4}dispose(){return Pn(\"dispose\")}};function Pn(r){throw new Error(`'${r}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function w_(r){let t=r.length,e=0;for(;t>0;)e=Math.random()*t|0,t--,Kg(r,t,e)}function Gq(r,t){if(r.length!==t.length)throw new Error(`Array sizes must match to be shuffled together First array length was ${r.length}Second array length was ${t.length}`);let e=r.length,n=0;for(;e>0;)n=Math.random()*e|0,e--,Kg(r,e,n),Kg(t,e,n)}function kp(r,t,e){return Math.max(r,Math.min(t,e))}function Wq(r){return r%2===0?r:r+1}function Kg(r,t,e){let n=r[t];r[t]=r[e],r[e]=n}function Uq(r){let t=0;for(let e=0;ee+` Shapes ${r} and ${t} must match`)}function ro(r){_(r!=null,()=>\"The input to the tensor constructor must be a non-null value.\")}function jt(r){if(r.length===0)return 1;let t=r[0];for(let e=1;e0,e,n){return new Promise((o,s)=>{let i=0,a=()=>{if(r()){o();return}i++;let u=t(i);if(e!=null&&i>=e){s();return}n!=null?n(a,u):setTimeout(a,u)};a()})}function Jq(r,t){let e=1,n=-1;for(let s=0;s=0)e*=r[s];else if(r[s]===-1){if(n!==-1)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${n} and dim ${s}`);n=s}else if(r[s]<0)throw Error(`Shapes can not be < 0. Found ${r[s]} at dim ${s}`);if(n===-1){if(t>0&&t!==e)throw Error(`Size(${t}) must match the product of shape ${r}`);return r}if(e===0)throw Error(`Cannot infer the missing size in [${r}] when there are 0 elements`);if(t%e!==0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${e}`);let o=r.slice();return o[n]=t/e,o}function fr(r,t){let e=t.length;return r=r==null?t.map((n,o)=>o):[].concat(r),_(r.every(n=>n>=-e&&n`All values in axis param must be in range [-${e}, ${e}) but got axis ${r}`),_(r.every(n=>_a(n)),()=>`All values in axis param must be integers but got axis ${r}`),r.map(n=>n<0?e+n:n)}function f0(r,t){let e=[],n=[],o=t!=null&&Array.isArray(t)&&t.length===0,s=t==null||o?null:fr(t,r).sort(),i=0;for(let a=0;aa)&&r[a]===1&&(e.push(r[a]),n.push(a)),s[i]<=a&&i++}r[a]!==1&&(e.push(r[a]),n.push(a))}return{newShape:e,keptDims:n}}function d0(r,t){return jg(r,t)}function jg(r,t){let e=null;if(r==null||r===\"float32\")e=new Float32Array(t);else if(r===\"int32\")e=new Int32Array(t);else if(r===\"bool\")e=new Uint8Array(t);else if(r===\"string\")e=new Array(t);else throw new Error(`Unknown data type ${r}`);return e}function h0(r,t){for(let e=0;et+=e.length),t}function Vo(r){return typeof r==\"string\"||r instanceof String}function I_(r){return typeof r==\"boolean\"}function C_(r){return typeof r==\"number\"}function Wl(r){return Array.isArray(r)?Wl(r[0]):r instanceof Float32Array?\"float32\":r instanceof Int32Array||r instanceof Uint8Array||r instanceof Uint8ClampedArray?\"int32\":C_(r)?\"float32\":Vo(r)?\"string\":I_(r)?\"bool\":\"float32\"}function Ti(r){return!!(r&&r.constructor&&r.call&&r.apply)}function _p(r,t){for(let e=t;e=0;--n)e[n]=e[n+1]*r[n+1];return e}function v_(r,t,e,n=!1){let o=new Array;if(t.length===1){let s=t[0]*(n?2:1);for(let i=0;iu*l)*(n?2:1);for(let u=0;uo*s)*(e?2:1);if(n===0)return[];if(n!==t.length)throw new Error(`[${r}] does not match the input size ${t.length}${e?\" for a complex tensor\":\"\"}.`);return v_(0,r,t,e)}function tK(r,t){if(Array.isArray(r))return r;if(t===\"float32\")return r instanceof Float32Array?r:new Float32Array(r);if(t===\"int32\")return r instanceof Int32Array?r:new Int32Array(r);if(t===\"bool\"||t===\"string\")return Uint8Array.from(new Int32Array(r));throw new Error(`Unknown dtype ${t}`)}function Xd(r,t){let e=Ep(r,t);for(let n=0;nn*o,1);if(t==null||t===\"float32\")return Ju(r,new Float32Array(e));if(t===\"int32\")return Ju(r,new Int32Array(e));if(t===\"bool\")return Ju(r,new Uint8Array(e));throw new Error(`Unknown data type ${t}`)}function Le(r){r.forEach(t=>{_(Number.isInteger(t)&&t>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${r}].`)})}function rK(r,t,e){if(t===0)return 0;if(t===1)return r[0];let n=r[r.length-1];for(let o=0;o{let[o,s]=n.split(\":\");this.urlFlags[o]=aK(o,s)})}};function sK(r){let t={};return r.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(e,...n)=>(iK(t,n[0],n[1]),n.join(\"=\"))),t}function iK(r,t,e){r[decodeURIComponent(t)]=decodeURIComponent(e||\"\")}function aK(r,t){let e=t.toLowerCase();return e===\"true\"||e===\"false\"?e===\"true\":`${+e}`===e?+e:t}function L(){return y0}var y0=null;function N_(r){y0=r}var b0;function w0(){if(b0==null){let r;if(typeof window!=\"undefined\")r=window;else if(typeof global!=\"undefined\")r=global;else if(typeof process!=\"undefined\")r=process;else if(typeof self!=\"undefined\")r=self;else throw new Error(\"Could not find a global object\");b0=r}return b0}function lK(){let r=w0();return r._tfGlobals==null&&(r._tfGlobals=new Map),r._tfGlobals}function Zd(r,t){let e=lK();if(e.has(r))return e.get(r);{let n=t();return e.set(r,n),e.get(r)}}var Ei=\"Abs\",Go=\"Acos\",Wo=\"Acosh\",no=\"Add\",Uo=\"AddN\",Ea=\"All\",Aa=\"Any\",Ai=\"ArgMax\",Di=\"ArgMin\",Ho=\"Asin\",qo=\"Asinh\",Ko=\"Atan\",jo=\"Atanh\",Xo=\"Atan2\",Yo=\"AvgPool\",Ul=\"AvgPoolGrad\",$i=\"AvgPool3D\",Hl=\"AvgPool3DGrad\",Zo=\"BatchMatMul\",Ri=\"BatchToSpaceND\",Da=\"Bincount\",$a=\"BitwiseAnd\",k_=\"BroadcastTo\",ql=\"BroadcastArgs\",fo=\"Cast\",Jo=\"Ceil\",ho=\"ClipByValue\",Ap=\"Complex\",Kl=\"ComplexAbs\",Fi=\"Concat\",Qo=\"Conv2D\",Dp=\"Conv2DBackpropFilter\",ts=\"Conv2DBackpropInput\",es=\"Conv3D\",Ra=\"Conv3DBackpropFilterV2\",Fa=\"Conv3DBackpropInputV2\",rs=\"Cos\",ns=\"Cosh\",Oa=\"Cumprod\",os=\"Cumsum\",Ma=\"CropAndResize\",jl=\"DenseBincount\",Pa=\"DepthToSpace\",ss=\"DepthwiseConv2dNative\",$p=\"DepthwiseConv2dNativeBackpropFilter\",Rp=\"DepthwiseConv2dNativeBackpropInput\",Xl=\"Diag\",is=\"Dilation2D\",Yl=\"Dilation2DBackpropInput\",Zl=\"Dilation2DBackpropFilter\",Jd=\"Draw\",as=\"RealDiv\",Fp=\"Einsum\",ls=\"Elu\",La=\"EluGrad\",us=\"Erf\",za=\"Equal\",cs=\"Exp\",Oi=\"ExpandDims\",ps=\"Expm1\",Op=\"FFT\",Jl=\"Fill\",Ba=\"FlipLeftRight\",ms=\"Floor\",fs=\"FloorDiv\",ds=\"FusedBatchNorm\",Mi=\"GatherV2\",Va=\"GatherNd\",Ga=\"Greater\",hs=\"GreaterEqual\",go=\"Identity\",Mp=\"IFFT\",Pp=\"Imag\",gs=\"IsFinite\",xs=\"IsInf\",ys=\"IsNan\",bs=\"LeakyRelu\",Wa=\"Less\",Ua=\"LessEqual\",Ha=\"LinSpace\",ws=\"Log\",Is=\"Log1p\",qa=\"LogicalAnd\",Ka=\"LogicalNot\",ja=\"LogicalOr\",T_=\"LogicalXor\",__=\"LogSoftmax\",Qmt=\"LowerBound\",Cs=\"LRN\",Xa=\"LRNGrad\",tft=\"MatrixBandPart\",vs=\"Max\",Ss=\"Maximum\",Ns=\"MaxPool\",Ql=\"MaxPoolGrad\",Pi=\"MaxPool3D\",tu=\"MaxPool3DGrad\",eu=\"MaxPoolWithArgmax\",ks=\"Mean\",Ts=\"Min\",_s=\"Minimum\",Es=\"MirrorPad\",As=\"Mod\",Ya=\"Multinomial\",Ds=\"Multiply\",Li=\"Neg\",Za=\"NotEqual\",Ja=\"NonMaxSuppressionV3\",Qa=\"NonMaxSuppressionV4\",tl=\"NonMaxSuppressionV5\",zi=\"OnesLike\",$s=\"OneHot\",Bi=\"Pack\",Rs=\"PadV2\",eft=\"Pool\",Fs=\"Pow\",Os=\"Prelu\",Ms=\"Prod\",Lp=\"RaggedGather\",zp=\"RaggedRange\",Bp=\"RaggedTensorToTensor\",ru=\"Range\",Vp=\"Real\",Ps=\"Reciprocal\",Ls=\"Relu\",Vi=\"Reshape\",zs=\"ResizeNearestNeighbor\",el=\"ResizeNearestNeighborGrad\",Bs=\"ResizeBilinear\",rl=\"ResizeBilinearGrad\",Vs=\"Relu6\",Gs=\"Reverse\",Ws=\"Round\",Us=\"Rsqrt\",nl=\"ScatterNd\",ol=\"TensorScatterUpdate\",sl=\"SearchSorted\",Gi=\"Select\",Hs=\"Selu\",Wi=\"Slice\",qs=\"Sin\",Ks=\"Sinh\",js=\"Sign\",Xs=\"Sigmoid\",Ys=\"Softplus\",Zs=\"Sqrt\",Js=\"Sum\",Ui=\"SpaceToBatchND\",Hi=\"SplitV\",Qs=\"Softmax\",nu=\"SparseFillEmptyRows\",il=\"SparseReshape\",ou=\"SparseSegmentMean\",su=\"SparseSegmentSum\",al=\"SparseToDense\",ti=\"SquaredDifference\",iu=\"Square\",ec=\"StaticRegexReplace\",ll=\"StridedSlice\",au=\"StringNGrams\",lu=\"StringSplit\",uu=\"StringToHashBucketFast\",ei=\"Sub\",ri=\"Tan\",ni=\"Tanh\",oo=\"Tile\",ul=\"TopK\",cl=\"Transform\",so=\"Transpose\",cu=\"Unique\",qi=\"Unpack\",pu=\"UnsortedSegmentSum\",rft=\"UpperBound\",Ki=\"ZerosLike\",xo=\"Step\",Qd=\"FromPixels\",pl=\"RotateWithOffset\",ji=\"_FusedMatMul\",Xi=\"FusedConv2D\",Yi=\"FusedDepthwiseConv2D\";function Zi(...r){L().getBool(\"IS_TEST\")||L().getBool(\"PROD\")||console.warn(...r)}function uK(...r){L().getBool(\"IS_TEST\")||L().getBool(\"PROD\")||console.log(...r)}var Gp=Zd(\"kernelRegistry\",()=>new Map),th=Zd(\"gradRegistry\",()=>new Map);function Wp(r,t){let e=C0(r,t);return Gp.get(e)}function I0(r){return th.get(r)}function Xg(r){let t=Gp.entries(),e=[];for(;;){let{done:n,value:o}=t.next();if(n)break;let[s,i]=o,[a]=s.split(\"_\");a===r&&e.push(i)}return e}function rc(r){let{kernelName:t,backendName:e}=r,n=C0(t,e);Gp.has(n)&&Zi(`The kernel '${t}' for backend '${e}' is already registered`),Gp.set(n,r)}function A_(r){let{kernelName:t}=r;th.has(t)&&L().getBool(\"DEBUG\")&&Zi(`Overriding the gradient for '${t}'`),th.set(t,r)}function aft(r,t){let e=C0(r,t);if(!Gp.has(e))throw new Error(`The kernel '${r}' for backend '${t}' is not registered`);Gp.delete(e)}function lft(r){if(!th.has(r))throw new Error(`The gradient '${r}' for backend is not registered`);th.delete(r)}function uft(r,t){Xg(r).forEach(n=>{let o=Object.assign({},n,{backendName:t});rc(o)})}function C0(r,t){return`${t}_${r}`}var y={};Kt(y,{arraysEqual:()=>on,arraysEqualWithNull:()=>m0,assert:()=>_,assertNonNegativeIntegerDimensions:()=>Le,assertNonNull:()=>ro,assertShapesMatch:()=>$e,bytesFromStringArray:()=>x0,bytesPerElement:()=>Tp,checkConversionForErrors:()=>h0,clamp:()=>kp,computeStrides:()=>_i,convertBackendValuesAndArrayBuffer:()=>tK,createScalarValue:()=>gK,createShuffledIndices:()=>Yq,decodeString:()=>Kp,distSquared:()=>qq,encodeString:()=>fu,fetch:()=>yK,fingerPrint64:()=>hK,flatten:()=>si,getArrayFromDType:()=>jg,getTypedArrayFromDType:()=>d0,hasEncodingLoss:()=>Qq,hexToLong:()=>eh,indexToLoc:()=>nK,inferDtype:()=>Wl,inferFromImplicitShape:()=>Jq,isBoolean:()=>I_,isFunction:()=>Ti,isInt:()=>_a,isNumber:()=>C_,isPromise:()=>tc,isScalarShape:()=>Kq,isString:()=>Vo,isTypedArray:()=>sr,isValidDtype:()=>g0,locToIndex:()=>rK,makeOnesTypedArray:()=>Xd,makeZerosNestedTypedArray:()=>eK,makeZerosTypedArray:()=>Ep,nearestDivisor:()=>_p,nearestLargerEven:()=>Wq,now:()=>ac,parseAxisParam:()=>fr,randUniform:()=>Hq,repeatedTry:()=>Zq,rightPad:()=>Qu,shuffle:()=>w_,shuffleCombo:()=>Gq,sizeFromShape:()=>jt,sizeToSquarishShape:()=>Xq,squeezeShape:()=>f0,sum:()=>Uq,swap:()=>Kg,tanh:()=>jq,toNestedArray:()=>Ju,toTypedArray:()=>qp});function Yg(r){return r instanceof Float32Array||r instanceof Int32Array||r instanceof Uint8Array||r instanceof Uint8ClampedArray}var k0=Gl(V_());var ic=k0.default||k0;function eh(r){return ic.fromString(r,!0,16)}var W_=eh(\"c3a5c85c97cb3127\"),sc=eh(\"b492b66fbe98f273\"),sn=eh(\"9ae16a3b2f90404f\");function N0(r){return r.xor(r.shru(47))}function U_(r,t,e){let n=r.slice(t,t+e);return ic.fromBytes(Array.from(n),!0,!0)}function ze(r,t){return U_(r,t,8)}function G_(r,t){return U_(r,t,4)}function Ar(r,t){return t===0?r:r.shru(t).or(r.shl(64-t))}function mu(r,t,e=eh(\"9ddfea08eb382d69\")){let n=r.xor(t).mul(e);n=n.xor(n.shru(47));let o=t.xor(n).mul(e);return o=o.xor(o.shru(47)),o=o.mul(e),o}function pK(r,t,e,n,o,s){o=o.add(r),s=Ar(s.add(o).add(n),21);let i=o;return o=o.add(t),o=o.add(e),s=s.add(Ar(o,44)),[o.add(n),s.add(i)]}function Jg(r,t,e,n){return pK(ze(r,t),ze(r,t+8),ze(r,t+16),ze(r,t+24),e,n)}function mK(r,t=r.length){if(t>=8){let e=sn.add(t*2),n=ze(r,0).add(sn),o=ze(r,t-8),s=Ar(o,37).mul(e).add(n),i=Ar(n,25).add(o).mul(e);return mu(s,i,e)}if(t>=4){let e=sn.add(t*2),n=G_(r,0);return mu(n.shl(3).add(t),G_(r,t-4),e)}if(t>0){let e=r[0],n=r[t>>1],o=r[t-1],s=e+(n<<8),i=t+(o<<2);return N0(sn.mul(s).xor(W_.mul(i))).mul(sn)}return sn}function fK(r,t=r.length){let e=sn.add(t*2),n=ze(r,0).mul(sc),o=ze(r,8),s=ze(r,t-8).mul(e),i=ze(r,t-16).mul(sn);return mu(Ar(n.add(o),43).add(Ar(s,30)).add(i),n.add(Ar(o.add(sn),18)).add(s),e)}function dK(r,t=r.length){let e=sn.add(t*2),n=ze(r,0).mul(sn),o=ze(r,8),s=ze(r,t-8).mul(e),i=ze(r,t-16).mul(sn),a=Ar(n.add(o),43).add(Ar(s,30)).add(i),u=mu(a,n.add(Ar(o.add(sn),18)).add(s),e),l=ze(r,16).mul(e),c=ze(r,24),p=a.add(ze(r,t-32)).mul(e),m=u.add(ze(r,t-24)).mul(e);return mu(Ar(l.add(c),43).add(Ar(p,30)).add(m),l.add(Ar(c.add(n),18)).add(p),e)}function hK(r,t=r.length){let e=ic.fromNumber(81,!0);if(t<=32)return t<=16?mK(r,t):fK(r,t);if(t<=64)return dK(r,t);let n=e,o=e.mul(sc).add(113),s=N0(o.mul(sn).add(113)).mul(sn),i=[ic.UZERO,ic.UZERO],a=[ic.UZERO,ic.UZERO];n=n.mul(sn).add(ze(r,0));let u=0,l=(t-1>>6)*64,c=l+(t-1&63)-63;do n=Ar(n.add(o).add(i[0]).add(ze(r,u+8)),37).mul(sc),o=Ar(o.add(i[1]).add(ze(r,u+48)),42).mul(sc),n=n.xor(a[1]),o=o.add(i[0]).add(ze(r,u+40)),s=Ar(s.add(a[0]),33).mul(sc),i=Jg(r,u,i[1].mul(sc),n.add(a[0])),a=Jg(r,u+32,s.add(a[1]),o.add(ze(r,u+16))),[s,n]=[n,s],u+=64;while(u!==l);let p=sc.add(s.and(255).shl(1));return u=c,a[0]=a[0].add(t-1&63),i[0]=i[0].add(a[0]),a[0]=a[0].add(i[0]),n=Ar(n.add(o).add(i[0]).add(ze(r,u+8)),37).mul(p),o=Ar(o.add(i[1]).add(ze(r,u+48)),42).mul(p),n=n.xor(a[1].mul(9)),o=o.add(i[0].mul(9).add(ze(r,u+40))),s=Ar(s.add(a[0]),33).mul(p),i=Jg(r,u,i[1].mul(p),n.add(a[0])),a=Jg(r,u+32,s.add(a[1]),o.add(ze(r,u+16))),[s,n]=[n,s],mu(mu(i[0],a[0],p).add(N0(o).mul(W_)).add(s),mu(i[1],a[1],p).add(n),p)}function gK(r,t){return t===\"string\"?fu(r):qp([r],t)}function xK(r,t){return r instanceof Float32Array&&t===\"float32\"||r instanceof Int32Array&&t===\"int32\"||r instanceof Uint8Array&&t===\"bool\"}function qp(r,t){if(t===\"string\")throw new Error(\"Cannot convert a string[] to a TypedArray\");if(Array.isArray(r)&&(r=si(r)),L().getBool(\"DEBUG\")&&h0(r,t),xK(r,t))return r;if(t==null||t===\"float32\"||t===\"complex64\")return new Float32Array(r);if(t===\"int32\")return new Int32Array(r);if(t===\"bool\"){let e=new Uint8Array(r.length);for(let n=0;n{o=n()},i,a=ac();if(this.backendTimer.timerAvailable())i=this.backendTimer.time(s);else{s();for(let l of o)l.dataSync();i=Promise.resolve({kernelMs:ac()-a})}if(L().getBool(\"CHECK_COMPUTATION_FOR_ERRORS\"))for(let l=0;l{bK(p,c.dtype,t)})}return{kernelName:t,outputs:o,inputs:e,timeMs:i.then(l=>l.kernelMs),extraInfo:i.then(l=>l.getExtraProfileInfo!=null?l.getExtraProfileInfo():\"\")}}logKernelProfile(t){let{kernelName:e,outputs:n,timeMs:o,inputs:s,extraInfo:i}=t;n.forEach(a=>{Promise.all([a.data(),o,i]).then(u=>{this.logger.logKernelProfile(e,a,u[0],u[1],s,u[2])})})}};function bK(r,t,e){if(t!==\"float32\")return!1;for(let n=0;n0?h:\"\"} `}}console.log(`%c${u}\t%c${a}\t%c${l}D ${p}\t%c${c}\t%c${m}\t%c${i}`,\"font-weight:bold\",\"color:red\",\"color:blue\",\"color: orange\",\"color: green\",\"color: steelblue\")}};function H_(r,t,e){let n={},o={};for(let u=0;un[h.id]=!0),f=!0,o[l.id]=!0;break}if(f)break}}let s={};s[e.id]=!0;let i={};for(let u=r.length-1;u>=0;u--){let l=r[u],c=l.inputs;for(let p=0;p=0;o--){let s=t[o],i=[];if(s.outputs.forEach(u=>{let l=r[u.id];l!=null?i.push(l):i.push(null)}),s.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${s.kernelName}.`);let a=s.gradient(i);for(let u in s.inputs){if(!(u in a))throw new Error(`Cannot backprop through input ${u}. Available gradients found: ${Object.keys(a)}.`);let l=e(()=>a[u]());if(l.dtype!==\"float32\")throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input ${u} must have 'float32' dtype, but has '${l.dtype}'`);let c=s.inputs[u];if(!on(l.shape,c.shape))throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input '${u}' has shape '${l.shape}', which does not match the shape of the input '${c.shape}'`);if(r[c.id]==null)r[c.id]=l;else{let p=r[c.id];r[c.id]=n(p,l),p.dispose()}}}}var K_=20,rh=3,_0=7;function j_(r,t,e,n){let o=_i(t),s=wK(r,t,e,o),i=t.length,a=tx(r,t,e,o,s),u=[\"Tensor\"];return n&&(u.push(` dtype: ${e}`),u.push(` rank: ${i}`),u.push(` shape: [${t}]`),u.push(\" values:\")),u.push(a.map(l=>\" \"+l).join(`\n`)),u.join(`\n`)}function wK(r,t,e,n){let o=jt(t),s=n[n.length-1],i=new Array(s).fill(0),a=t.length,u=e===\"complex64\"?oh(r):r;if(a>1)for(let l=0;lK_){let g=rh*i,x=Array.from(r.slice(0,g)),b=Array.from(r.slice((a-rh)*i,a*i));return e===\"complex64\"&&(x=oh(x),b=oh(b)),[\"[\"+x.map((w,I)=>nh(w,o[I],e)).join(\", \")+\", ..., \"+b.map((w,I)=>nh(w,o[a-rh+I],e)).join(\", \")+\"]\"]}return[\"[\"+(e===\"complex64\"?oh(r):Array.from(r)).map((g,x)=>nh(g,o[x],e)).join(\", \")+\"]\"]}let l=t.slice(1),c=n.slice(1),p=n[0]*i,m=[];if(a>K_){for(let h=0;h0?m[0]+f:\"\");for(let h=1;h`Length of values '${o}' does not match the size inferred by the shape '${this.size}'.`)}if(e===\"complex64\")throw new Error(\"complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).\");this.values=n||jg(e,this.size),this.strides=_i(t)}set(t,...e){e.length===0&&(e=[0]),_(e.length===this.rank,()=>`The number of provided coordinates (${e.length}) must match the rank (${this.rank})`);let n=this.locToIndex(e);this.values[n]=t}get(...t){t.length===0&&(t=[0]);let e=0;for(let o of t){if(o<0||o>=this.shape[e]){let s=`Requested out of range element at ${t}. Buffer shape=${this.shape}`;throw new Error(s)}e++}let n=t[t.length-1];for(let o=0;oKp(n))}catch(n){throw new Error(\"Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().\")}}return t}dataToGPU(t){return this.throwIfDisposed(),ii().readToGPU(this.dataId,t)}dataSync(){this.throwIfDisposed();let t=ii().readSync(this.dataId);if(this.dtype===\"string\")try{return t.map(e=>Kp(e))}catch(e){throw new Error(\"Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().\")}return t}async bytes(){this.throwIfDisposed();let t=await ii().read(this.dataId);return this.dtype===\"string\"?t:new Uint8Array(t.buffer)}dispose(){this.isDisposed||(this.kerasMask&&this.kerasMask.dispose(),ii().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error(\"Tensor is disposed.\")}print(t=!1){return jp.print(this,t)}clone(){return this.throwIfDisposed(),jp.clone(this)}toString(t=!1){let e=this.dataSync();return j_(e,this.shape,this.dtype,t)}cast(t){return this.throwIfDisposed(),jp.cast(this,t)}variable(t=!0,e,n){return this.throwIfDisposed(),ii().makeVariable(this,t,e,n)}};Object.defineProperty(Lt,Symbol.hasInstance,{value:r=>!!r&&r.data!=null&&r.dataSync!=null&&r.throwIfDisposed!=null});function O(){return Zd(\"Tensor\",()=>Lt)}O();var ml=class extends Lt{constructor(t,e,n,o){super(t.shape,t.dtype,t.dataId,o),this.trainable=e,this.name=n}assign(t){if(t.dtype!==this.dtype)throw new Error(`dtype of the new value (${t.dtype}) and previous value (${this.dtype}) must match`);if(!on(t.shape,this.shape))throw new Error(`shape of the new value (${t.shape}) and previous value (${this.shape}) must match`);ii().disposeTensor(this),this.dataId=t.dataId,ii().incRef(this,null)}dispose(){ii().disposeVariable(this),this.isDisposedInternal=!0}};Object.defineProperty(ml,Symbol.hasInstance,{value:r=>r instanceof Lt&&r.assign!=null&&r.assign instanceof Function});var Io={};Kt(Io,{assertTypesMatch:()=>F0,getTensorsInContainer:()=>sh,isTensorInList:()=>vK,makeTypesMatch:()=>Xt});var E0;(function(r){r.R0=\"R0\",r.R1=\"R1\",r.R2=\"R2\",r.R3=\"R3\",r.R4=\"R4\",r.R5=\"R5\",r.R6=\"R6\"})(E0||(E0={}));var A0;(function(r){r.float32=\"float32\",r.int32=\"int32\",r.bool=\"int32\",r.complex64=\"complex64\"})(A0||(A0={}));var D0;(function(r){r.float32=\"float32\",r.int32=\"int32\",r.bool=\"bool\",r.complex64=\"complex64\"})(D0||(D0={}));var $0;(function(r){r.float32=\"float32\",r.int32=\"float32\",r.bool=\"float32\",r.complex64=\"complex64\"})($0||($0={}));var R0;(function(r){r.float32=\"complex64\",r.int32=\"complex64\",r.bool=\"complex64\",r.complex64=\"complex64\"})(R0||(R0={}));var CK={float32:$0,int32:A0,bool:D0,complex64:R0};function ur(r,t){if(r===\"string\"||t===\"string\"){if(r===\"string\"&&t===\"string\")return\"string\";throw new Error(`Can not upcast ${r} with ${t}`)}return CK[r][t]}function lc(r){return ur(r,\"int32\")}function ex(r){return r!=null&&typeof r==\"object\"&&\"texture\"in r&&r.texture instanceof WebGLTexture}function rx(r){return typeof GPUBuffer!=\"undefined\"&&r!=null&&typeof r==\"object\"&&\"buffer\"in r&&r.buffer instanceof GPUBuffer}function Xt(r,t){if(r.dtype===t.dtype)return[r,t];let e=ur(r.dtype,t.dtype);return[r.cast(e),t.cast(e)]}function F0(r,t){_(r.dtype===t.dtype,()=>`The dtypes of the first(${r.dtype}) and second(${t.dtype}) input must match`)}function vK(r,t){return t.some(e=>e.id===r.id)}function sh(r){let t=[];return Q_(r,t,new Set),t}function Q_(r,t,e){if(r==null)return;if(r instanceof Lt){t.push(r);return}if(!SK(r))return;let n=r;for(let o in n){let s=n[o];e.has(s)||(e.add(s),Q_(s,t,e))}}function SK(r){return Array.isArray(r)||typeof r==\"object\"}function O0(r){return r.kernelName!=null}var nx=class{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map(t=>t.name)))}}}dispose(){for(let t in this.registeredVariables)this.registeredVariables[t].dispose()}},ih=class r{constructor(t){this.ENV=t,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new nx}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;let t=this.getSortedBackends();for(let e=0;e{e.setupFunc!=null&&e.setupFunc(this.backendInstance)})}disposeRegisteredKernels(t){Xg(t).forEach(n=>{n.disposeFunc!=null&&n.disposeFunc(this.registry[t])})}initializeBackend(t){let e=this.registryFactory[t];if(e==null)throw new Error(`Cannot initialize backend ${t}, no registration found.`);try{let n=e.factory();if(n&&!(n instanceof Bo)&&typeof n.then==\"function\"){let o=++this.pendingBackendInitId,s=n.then(i=>o(othis.registryFactory[e].priority-this.registryFactory[t].priority)}initializeBackendsAndReturnBest(){let t=this.getSortedBackends();for(let e=0;ethis.startScope(n),()=>this.endScope(o),()=>(o=e(),o instanceof Promise&&console.error(\"Cannot return a Promise inside of tidy.\"),o))}scopedRun(t,e,n){t();try{let o=n();return e(),o}catch(o){throw e(),o}}nextTensorId(){return r.nextTensorId++}nextVariableId(){return r.nextVariableId++}clone(t){let e=T.runKernel(go,{x:t}),n={x:t},o=i=>({x:()=>{let a=\"float32\",u={x:i},l={dtype:a};return T.runKernel(fo,u,l)}}),s=[];return this.addTapeNode(this.state.activeScope.name,n,[e],o,s,{}),e}runKernel(t,e,n){if(this.backendName==null&&this.backend,!(Wp(t,this.backendName)!=null))throw new Error(`Kernel '${t}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:t,inputs:e,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool(\"IS_TEST\")}checkKernelForMemLeak(t,e,n){let o=this.backend.numDataIds(),s=0;n.forEach(u=>{s+=u.dtype===\"complex64\"?3:1});let i=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],a=o-e-s-i;if(a>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${a} data ids) after running '${t}'`)}runKernelFunc(t){let e,n=[],o=this.isTapeOn(),s=this.state.numBytes,i=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let a;this.backendName==null&&this.backend;let u,l=O0(t)?t.kernelName:this.state.activeScope!=null?this.state.activeScope.name:\"\";if(O0(t)){let{kernelName:d,inputs:h,attrs:g}=t;this.backendName==null&&this.backend;let x=Wp(d,this.backendName);_(x!=null,()=>`Cannot find registered kernel '${d}' for backend '${this.backendName}'`),a=()=>{let b=this.backend.numDataIds();u=x.kernelFunc({inputs:h,attrs:g,backend:this.backend});let w=Array.isArray(u)?u:[u];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(d,b,w);let I=w.map(N=>N.rank!=null?N:this.makeTensorFromTensorInfo(N));if(o){let N=this.getTensorsForGradient(d,h,I);n=this.saveTensorsForBackwardMode(N)}return I}}else{let{forwardFunc:d}=t,h=g=>{o&&(n=g.map(x=>this.keep(this.clone(x))))};a=()=>{let g=this.backend.numDataIds();u=this.tidy(()=>d(this.backend,h));let x=Array.isArray(u)?u:[u];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,g,x),x}}let{inputs:c,attrs:p}=t,m=O0(t)?null:t.backwardsFunc,f;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool(\"DEBUG\")&&!this.state.profiling?e=a():(f=this.profiler.profileKernel(l,c,()=>a()),this.ENV.getBool(\"DEBUG\")&&this.profiler.logKernelProfile(f),e=f.outputs)}),o&&this.addTapeNode(l,c,e,m,n,p),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-i,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(c).map(d=>c[d]!=null?c[d].shape:null),outputShapes:e.map(d=>d.shape),kernelTimeMs:f.timeMs,extraInfo:f.extraInfo}),Array.isArray(u)?e:e[0]}saveTensorsForBackwardMode(t){return t.map(n=>this.keep(this.clone(n)))}getTensorsForGradient(t,e,n){let o=I0(t);if(o!=null){let s=o.inputsToSave||[],i=o.outputsToSave||[],a;o.saveAllInputs?(_(Array.isArray(e),()=>\"saveAllInputs is true, expected inputs to be an array.\"),a=Object.keys(e).map(l=>e[l])):a=s.map(l=>e[l]);let u=n.filter((l,c)=>i[c]);return a.concat(u)}return[]}makeTensor(t,e,n,o){if(t==null)throw new Error(\"Values passed to engine.makeTensor() are null\");n=n||\"float32\",o=o||this.backend;let s=t;n===\"string\"&&Vo(t[0])&&(s=t.map(u=>fu(u)));let i=o.write(s,e,n),a=new Lt(e,n,i,this.nextTensorId());if(this.trackTensor(a,o),n===\"string\"){let u=this.state.tensorInfo.get(i),l=x0(s);this.state.numBytes+=l-u.bytes,u.bytes=l}return a}makeTensorFromDataId(t,e,n,o){n=n||\"float32\";let s={dataId:t,shape:e,dtype:n};return this.makeTensorFromTensorInfo(s,o)}makeTensorFromTensorInfo(t,e){let{dataId:n,shape:o,dtype:s}=t,i=new Lt(o,s,n,this.nextTensorId());return this.trackTensor(i,e),i}makeVariable(t,e=!0,n,o){n=n||this.nextVariableId().toString(),o!=null&&o!==t.dtype&&(t=t.cast(o));let s=new ml(t,e,n,this.nextTensorId());if(this.state.registeredVariables[s.name]!=null)throw new Error(`Variable with name ${s.name} was already registered`);return this.state.registeredVariables[s.name]=s,this.incRef(s,this.backend),s}trackTensor(t,e){this.state.numTensors++,t.dtype===\"string\"&&this.state.numStringTensors++;let n=0;t.dtype!==\"complex64\"&&t.dtype!==\"string\"&&(n=t.size*Tp(t.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(t.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(t.dataId,{backend:e||this.backend,dtype:t.dtype,shape:t.shape,bytes:n})),t instanceof ml||this.track(t)}incRef(t,e){this.trackTensor(t,e),this.backend.incRef(t.dataId)}removeDataId(t,e){this.state.tensorInfo.has(t)&&this.state.tensorInfo.get(t).backend===e&&(this.state.tensorInfo.delete(t),this.state.numDataBuffers--)}disposeTensor(t){if(!this.state.tensorInfo.has(t.dataId))return;let e=this.state.tensorInfo.get(t.dataId);if(this.state.numTensors--,t.dtype===\"string\"&&(this.state.numStringTensors--,this.state.numBytes-=e.bytes),t.dtype!==\"complex64\"&&t.dtype!==\"string\"){let n=t.size*Tp(t.dtype);this.state.numBytes-=n}e.backend.disposeData(t.dataId)&&this.removeDataId(t.dataId,e.backend)}disposeVariables(){for(let t in this.state.registeredVariables){let e=this.state.registeredVariables[t];this.disposeVariable(e)}}disposeVariable(t){this.disposeTensor(t),this.state.registeredVariables[t.name]!=null&&delete this.state.registeredVariables[t.name]}memory(){let t=this.backend.memory();return t.numTensors=this.state.numTensors,t.numDataBuffers=this.state.numDataBuffers,t.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(t.unreliable=!0,t.reasons==null&&(t.reasons=[]),t.reasons.push(\"Memory usage by string tensors is approximate (2 bytes per character)\")),t}async profile(t){this.state.profiling=!0;let e=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await t(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map(o=>o.totalBytesSnapshot)),this.state.activeProfile.newBytes=this.state.numBytes-e,this.state.activeProfile.newTensors=this.state.numTensors-n;for(let o of this.state.activeProfile.kernels)o.kernelTimeMs=await o.kernelTimeMs,o.extraInfo=await o.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&this.state.kernelDepth===0}addTapeNode(t,e,n,o,s,i){let a={id:this.state.nextTapeNodeId++,kernelName:t,inputs:e,outputs:n,saved:s},u=I0(t);u!=null&&(o=u.gradFunc),o!=null&&(a.gradient=l=>(l=l.map((c,p)=>{if(c==null){let m=n[p],f=Ep(m.size,m.dtype);return this.makeTensor(f,m.shape,m.dtype)}return c}),o(l.length>1?l:l[0],s,i))),this.state.activeTape.push(a)}keep(t){return t.kept=!0,t}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(t){let e={track:[],name:\"unnamed scope\",id:this.state.nextScopeId++};t&&(e.name=t),this.state.scopeStack.push(e),this.state.activeScope=e}endScope(t){let e=sh(t),n=new Set(e.map(s=>s.id));for(let s=0;s{!s.kept&&s.scopeId===o.id&&this.track(s)})}gradients(t,e,n,o=!1){if(_(e.length>0,()=>\"gradients() received an empty list of xs.\"),n!=null&&n.dtype!==\"float32\")throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);let s=this.scopedRun(()=>this.startTape(),()=>this.endTape(),()=>this.tidy(\"forward\",t));_(s instanceof Lt,()=>\"The result y returned by f() must be a tensor.\");let i=H_(this.state.activeTape,e,s);if(!o&&i.length===0&&e.length>0)throw new Error(\"Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.\");return this.tidy(\"backward\",()=>{let a={};a[s.id]=n==null?NK(s.shape):n,q_(a,i,l=>this.tidy(l),kK);let u=e.map(l=>a[l.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(l=>{for(let c of l.saved)c.dispose()}),this.state.activeTape=null),{value:s,grads:u}})}customGrad(t){return _(Ti(t),()=>\"The f passed in customGrad(f) must be a function.\"),(...e)=>{_(e.every(a=>a instanceof Lt),()=>\"The args passed in customGrad(f)(x1, x2,...) must all be tensors\");let n,o={};e.forEach((a,u)=>{o[u]=a});let s=(a,u)=>(n=t(...e,u),_(n.value instanceof Lt,()=>\"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor\"),_(Ti(n.gradFunc),()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.\"),n.value),i=(a,u)=>{let l=n.gradFunc(a,u),c=Array.isArray(l)?l:[l];_(c.length===e.length,()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).\"),_(c.every(m=>m instanceof Lt),()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors.\");let p={};return c.forEach((m,f)=>{p[f]=()=>m}),p};return this.runKernelFunc({forwardFunc:s,backwardsFunc:i,inputs:o})}}readSync(t){return this.state.tensorInfo.get(t).backend.readSync(t)}read(t){return this.state.tensorInfo.get(t).backend.read(t)}readToGPU(t,e){return this.state.tensorInfo.get(t).backend.readToGPU(t,e)}async time(t){let e=ac(),n=await this.backend.time(t);return n.wallMs=ac()-e,n}track(t){return this.state.activeScope!=null&&(t.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(t)),t}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new nx;for(let t in this.registry)this.disposeRegisteredKernels(t),this.registry[t].dispose(),delete this.registry[t];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}};ih.nextTensorId=0;ih.nextVariableId=0;function NK(r){let t=Xd(jt(r),\"float32\");return T.makeTensor(t,r,\"float32\")}function M0(){let r=w0();if(r._tfengine==null){let t=new Yd(r);r._tfengine=new ih(t)}return N_(r._tfengine.ENV),Y_(()=>r._tfengine),r._tfengine}var T=M0();function kK(r,t){let e={a:r,b:t};return T.runKernel(no,e)}var du={};Kt(du,{isBrowser:()=>L0,isMobile:()=>EK,mockIsMobile:()=>_K});function TK(){return typeof navigator!=\"undefined\"&&navigator!=null}var P0;function _K(r){P0=r}function EK(r){if(P0!==void 0)return P0;if(r||TK()){if(r||(r=navigator),r.product===\"ReactNative\")return!0;let t=r.userAgent||r.vendor||(typeof window!=\"undefined\"?window.opera:\"\");if(!t){let e=r;return e.userAgentData&&e.userAgentData.mobile}return/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(t.substr(0,4))}return!1}function L0(){return typeof window!=\"undefined\"&&window.document!=null||typeof WorkerGlobalScope!=\"undefined\"}var vn=L();vn.registerFlag(\"DEBUG\",()=>!1,r=>{r&&console.warn(\"Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.\")});vn.registerFlag(\"IS_BROWSER\",()=>L0());vn.registerFlag(\"IS_NODE\",()=>typeof process!=\"undefined\"&&typeof process.versions!=\"undefined\"&&typeof process.versions.node!=\"undefined\");vn.registerFlag(\"IS_CHROME\",()=>typeof navigator!=\"undefined\"&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor));vn.registerFlag(\"IS_SAFARI\",()=>typeof navigator!=\"undefined\"&&navigator!=null&&navigator.userAgent!=null&&/Safari/.test(navigator.userAgent)&&/Apple/.test(navigator.vendor));vn.registerFlag(\"PROD\",()=>!1);vn.registerFlag(\"TENSORLIKE_CHECK_SHAPE_CONSISTENCY\",()=>vn.getBool(\"DEBUG\"));vn.registerFlag(\"DEPRECATION_WARNINGS_ENABLED\",()=>!0);vn.registerFlag(\"IS_TEST\",()=>!1);vn.registerFlag(\"CHECK_COMPUTATION_FOR_ERRORS\",()=>vn.getBool(\"DEBUG\"));vn.registerFlag(\"WRAP_TO_IMAGEBITMAP\",()=>!1);vn.registerFlag(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\",()=>!1);vn.registerFlag(\"USE_SETTIMEOUTCUSTOM\",()=>!1);function Gr(r,t){let e=r;if(sr(r))return t===\"string\"?[]:[r.length];if(ex(r)){let o=r.channels||\"RGBA\";return[r.height,r.width*o.length]}else if(rx(r))return[r.buffer.size/(t==null?4:Tp(t))];if(!Array.isArray(r))return[];let n=[];for(;Array.isArray(e)||sr(e)&&t!==\"string\";)n.push(e.length),e=e[0];return Array.isArray(r)&&L().getBool(\"TENSORLIKE_CHECK_SHAPE_CONSISTENCY\")&&eE(r,n,[]),n}function eE(r,t,e){if(e=e||[],!Array.isArray(r)&&!sr(r)){_(t.length===0,()=>`Element arr[${e.join(\"][\")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`);return}_(t.length>0,()=>`Element arr[${e.join(\"][\")}] should be a primitive, but is an array of ${r.length} elements`),_(r.length===t[0],()=>`Element arr[${e.join(\"][\")}] should have ${t[0]} elements, but has ${r.length} elements`);let n=t.slice(1);for(let o=0;o=0&&(o=n),tE(n,o,t,e),r==null||!sr(r)&&!Array.isArray(r)&&typeof r!=\"number\"&&typeof r!=\"boolean\"&&typeof r!=\"string\"){let u=r==null?\"null\":r.constructor.name;throw new Error(`Argument '${t}' passed to '${e}' must be a Tensor or TensorLike, but got '${u}'`)}let s=Gr(r,o);!sr(r)&&!Array.isArray(r)&&(r=[r]);let a=o!==\"string\"?qp(r,o):si(r,[],!0);return T.makeTensor(a,s,o)}function fl(r,t,e,n=\"numeric\"){if(!Array.isArray(r))throw new Error(`Argument ${t} passed to ${e} must be a \\`Tensor[]\\` or \\`TensorLike[]\\``);return r.map((s,i)=>C(s,`${t}[${i}]`,e,n))}var z0=\"__op\";function k(r){let t=Object.keys(r);if(t.length!==1)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let e=t[0],n=r[e];e.endsWith(\"_\")&&(e=e.substring(0,e.length-1)),e=e+z0;let o=(...s)=>{T.startScope(e);try{let i=n(...s);return tc(i)&&console.error(\"Cannot return a Promise inside of tidy.\"),T.endScope(i),i}catch(i){throw T.endScope(null),i}};return Object.defineProperty(o,\"name\",{value:e,configurable:!0}),o}function AK(r,t){let e=C(r,\"real\",\"complex\"),n=C(t,\"imag\",\"complex\");$e(e.shape,n.shape,`real and imag shapes, ${e.shape} and ${n.shape}, must match in call to tf.complex().`);let o={real:e,imag:n};return T.runKernel(Ap,o)}var Sn=k({complex_:AK});function an(r,t,e,n){if(n==null)n=Wl(r);else if(n===\"complex64\")throw new Error(\"Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).\");if(rx(r)||ex(r)){if(n!==\"float32\"&&n!==\"int32\")throw new Error(`Creating tensor from GPU data only supports 'float32'|'int32' dtype, while the dtype is ${n}.`);return T.backend.createTensorFromGPUData(r,t||e,n)}if(!sr(r)&&!Array.isArray(r)&&typeof r!=\"number\"&&typeof r!=\"boolean\"&&typeof r!=\"string\")throw new Error(\"values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray\");if(t!=null){Le(t);let o=jt(t),s=jt(e);_(o===s,()=>`Based on the provided shape, [${t}], the tensor should have ${o} values but has ${s}`);for(let i=0;i`Error creating a new Tensor. Inferred shape (${e}) does not match the provided shape (${t}). `)}}return!sr(r)&&!Array.isArray(r)&&(r=[r]),t=t||e,r=n!==\"string\"?qp(r,n):si(r,[],!0),T.makeTensor(r,t,n)}function ir(r,t,e){let n=Gr(r,e);return an(r,t,n,e)}var dl={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};var Wr=class r{static join(t){return new r(t).slice()}constructor(t){if(this.shards=[],this.previousShardIndex=0,t==null||(t instanceof Array||(t=[t]),t=t.map(n=>sr(n)?n.buffer:n),t.length===0))return;this.bufferUniformSize=t[0].byteLength;let e=0;for(let n=0;n=this.byteLength)return-1;if(this.bufferUniformSize!=null)return this.previousShardIndex=Math.floor(t/this.bufferUniformSize),this.previousShardIndex;function e(o){return t=o.end?1:0}if(e(this.shards[this.previousShardIndex])===0)return this.previousShardIndex;let n=DK(this.shards,e);return n===-1?-1:(this.previousShardIndex=n,this.previousShardIndex)}};function DK(r,t){let e=0,n=r.length;for(;e<=n;){let o=Math.floor((n-e)/2)+e,s=t(r[o]);if(s===0)return o;s<0?n=o:e=o+1}return-1}function ydt(){L().set(\"PROD\",!0)}function bdt(){L().set(\"DEBUG\",!0)}function wdt(){L().set(\"DEPRECATION_WARNINGS_ENABLED\",!1),console.warn(\"TensorFlow.js deprecation warnings have been disabled.\")}function B0(r){L().getBool(\"DEPRECATION_WARNINGS_ENABLED\")&&console.warn(r+\" You can disable deprecation warnings with tf.disableDeprecationWarnings().\")}J_(B0);function Idt(){T.disposeVariables()}function Bn(){return T}function ah(){return T.memory()}function Cdt(r){return T.profile(r)}function B(r,t){return T.tidy(r,t)}function Tt(r){sh(r).forEach(e=>e.dispose())}function De(r){return T.keep(r)}function vdt(r){return T.time(r)}function $K(r){return T.setBackend(r)}function Sdt(){return T.ready()}function rE(){return T.backendName}function Ndt(r){T.removeBackend(r)}function kdt(r){return T.findBackend(r)}function Tdt(r){return T.findBackendFactory(r)}function Xp(r,t,e=1){return T.registerBackend(r,t,e)}function ox(){return T.backend}function _dt(r,t){L().setPlatform(r,t)}var hu=4;async function sE(r,t){let e=[],n=[],o=Array.isArray(r)?r.map(i=>i.name):Object.keys(r);for(let i=0;i{let m=await u.bytes(),f=m.reduce((g,x)=>g+x.length,0)+hu*m.length,d=new Uint8Array(f),h=0;for(let g=0;ge.slice(o+a,o+u));n[s.name]=iE(s,e.slice(o,o+i)),o+=i}return n}function RK(r,t){let e=jt(r.shape),n;if(\"quantization\"in r){let o=r.quantization;n=dl[o.dtype]}else if(r.dtype===\"string\"){let o=0;for(let s=0;s(o=await nE(n,o,c),o.slice(l,c)));o=await nE(n,o,i);let a=o.slice(0,i);o=o.slice(i);let u=iE(s,a);if(e[s.name]=u,rE()===\"webgpu\"){let l=ox();\"uploadToGPU\"in l&&jt(u.shape)>=L().get(\"WEBGPU_CPU_HANDOFF_SIZE_THRESHOLD\")&&l.uploadToGPU(u.dataId)}}return e}function OK(r){if(r===null)throw new Error(`Invalid input value: ${JSON.stringify(r)}`);let t=0,e=[];r.forEach(s=>{if(t+=s.byteLength,e.push(s.byteLength===s.buffer.byteLength?s:new s.constructor(s)),!(s instanceof Float32Array||s instanceof Int32Array||s instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${s.constructor.name}`)});let n=new Uint8Array(t),o=0;return e.forEach(s=>{n.set(new Uint8Array(s.buffer),o),o+=s.byteLength}),n.buffer}var V0=typeof Buffer!=\"undefined\"&&(typeof Blob==\"undefined\"||typeof atob==\"undefined\"||typeof btoa==\"undefined\");function oE(r){return V0?Buffer.byteLength(r,\"utf8\"):new Blob([r]).size}function aE(r){if(V0)return Buffer.from(r).toString(\"base64\");let t=new Uint8Array(r),e=\"\";for(let n=0,o=t.length;n{let n=e<<13,o=0;for(;!(n&8388608);)o-=8388608,n<<=1;return n&=-8388609,o+=947912704,n|o},t=new Uint32Array(2048);t[0]=0;for(let e=1;e<1024;e++)t[e]=r(e);for(let e=1024;e<2048;e++)t[e]=939524096+(e-1024<<13);return t}function PK(){let r=new Uint32Array(64);r[0]=0,r[31]=1199570944,r[32]=2147483648,r[63]=3347054592;for(let t=1;t<31;t++)r[t]=t<<23;for(let t=33;t<63;t++)r[t]=2147483648+(t-32<<23);return r}function LK(){let r=new Uint32Array(64);for(let t=0;t<64;t++)r[t]=1024;return r[0]=r[32]=0,r}function zK(){let r=MK(),t=PK(),e=LK();return n=>{let o=new ArrayBuffer(4*n.length),s=new Uint32Array(o);for(let i=0;i>10]+(a&1023)]+t[a>>10];s[i]=u}return new Float32Array(o)}}var Cr=class r{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return r.instance==null&&(r.instance=new r),r.instance}static registerSaveRouter(t){r.getInstance().saveRouters.push(t)}static registerLoadRouter(t){r.getInstance().loadRouters.push(t)}static getSaveHandlers(t){return r.getHandlers(t,\"save\")}static getLoadHandlers(t,e){return r.getHandlers(t,\"load\",e)}static getHandlers(t,e,n){let o=[];return(e===\"load\"?r.getInstance().loadRouters:r.getInstance().saveRouters).forEach(i=>{let a=i(t,n);a!==null&&o.push(a)}),o}},cE=r=>Cr.registerSaveRouter(r),pE=r=>Cr.registerLoadRouter(r),mE=r=>Cr.getSaveHandlers(r),fE=(r,t)=>Cr.getLoadHandlers(r,t);var U0=\"tensorflowjs\",H0=1,uc=\"models_store\",gu=\"model_info_store\";function dE(){if(!L().getBool(\"IS_BROWSER\"))throw new Error(\"Failed to obtain IndexedDB factory because the current environmentis not a web browser.\");let r=typeof window==\"undefined\"?self:window,t=r.indexedDB||r.mozIndexedDB||r.webkitIndexedDB||r.msIndexedDB||r.shimIndexedDB;if(t==null)throw new Error(\"The current browser does not appear to support IndexedDB.\");return t}function q0(r){let t=r.result;t.createObjectStore(uc,{keyPath:\"modelPath\"}),t.createObjectStore(gu,{keyPath:\"modelPath\"})}var Qi=class{constructor(t){if(this.indexedDB=dE(),t==null||!t)throw new Error(\"For IndexedDB, modelPath must not be null, undefined or empty.\");this.modelPath=t}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");return this.databaseAction(this.modelPath,t)}async load(){return this.databaseAction(this.modelPath)}databaseAction(t,e){return new Promise((n,o)=>{let s=this.indexedDB.open(U0,H0);s.onupgradeneeded=()=>q0(s),s.onsuccess=()=>{let i=s.result;if(e==null){let a=i.transaction(uc,\"readonly\"),l=a.objectStore(uc).get(this.modelPath);l.onsuccess=()=>{if(l.result==null)return i.close(),o(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));n(l.result.modelArtifacts)},l.onerror=c=>(i.close(),o(l.error)),a.oncomplete=()=>i.close()}else{e.weightData=Wr.join(e.weightData);let a=Ji(e),u=i.transaction(gu,\"readwrite\"),l=u.objectStore(gu),c;try{c=l.put({modelPath:this.modelPath,modelArtifactsInfo:a})}catch(m){return o(m)}let p;c.onsuccess=()=>{p=i.transaction(uc,\"readwrite\");let m=p.objectStore(uc),f;try{f=m.put({modelPath:this.modelPath,modelArtifacts:e,modelArtifactsInfo:a})}catch(d){return o(d)}f.onsuccess=()=>n({modelArtifactsInfo:a}),f.onerror=d=>{l=u.objectStore(gu);let h=l.delete(this.modelPath);h.onsuccess=()=>(i.close(),o(f.error)),h.onerror=g=>(i.close(),o(f.error))}},c.onerror=m=>(i.close(),o(c.error)),u.oncomplete=()=>{p==null?i.close():p.oncomplete=()=>i.close()}}},s.onerror=i=>o(s.error)})}};Qi.URL_SCHEME=\"indexeddb://\";var hE=r=>L().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(Qi.URL_SCHEME)?BK(r.slice(Qi.URL_SCHEME.length)):null;Cr.registerSaveRouter(hE);Cr.registerLoadRouter(hE);function BK(r){return new Qi(r)}function VK(r){return r.startsWith(Qi.URL_SCHEME)?r.slice(Qi.URL_SCHEME.length):r}var lx=class{constructor(){this.indexedDB=dE()}async listModels(){return new Promise((t,e)=>{let n=this.indexedDB.open(U0,H0);n.onupgradeneeded=()=>q0(n),n.onsuccess=()=>{let o=n.result,s=o.transaction(gu,\"readonly\"),a=s.objectStore(gu).getAll();a.onsuccess=()=>{let u={};for(let l of a.result)u[l.modelPath]=l.modelArtifactsInfo;t(u)},a.onerror=u=>(o.close(),e(a.error)),s.oncomplete=()=>o.close()},n.onerror=o=>e(n.error)})}async removeModel(t){return t=VK(t),new Promise((e,n)=>{let o=this.indexedDB.open(U0,H0);o.onupgradeneeded=()=>q0(o),o.onsuccess=()=>{let s=o.result,i=s.transaction(gu,\"readwrite\"),a=i.objectStore(gu),u=a.get(t),l;u.onsuccess=()=>{if(u.result==null)return s.close(),n(new Error(`Cannot find model with path '${t}' in IndexedDB.`));{let c=a.delete(t),p=()=>{l=s.transaction(uc,\"readwrite\");let f=l.objectStore(uc).delete(t);f.onsuccess=()=>e(u.result.modelArtifactsInfo),f.onerror=d=>n(u.error)};c.onsuccess=p,c.onerror=m=>(p(),s.close(),n(u.error))}},u.onerror=c=>(s.close(),n(u.error)),i.oncomplete=()=>{l==null?s.close():l.oncomplete=()=>s.close()}},o.onerror=s=>n(o.error)})}};var hl=\"/\",Zp=\"tensorflowjs_models\",gE=\"info\",GK=\"model_topology\",WK=\"weight_specs\",UK=\"weight_data\",HK=\"model_metadata\";function xE(r){return{info:[Zp,r,gE].join(hl),topology:[Zp,r,GK].join(hl),weightSpecs:[Zp,r,WK].join(hl),weightData:[Zp,r,UK].join(hl),modelMetadata:[Zp,r,HK].join(hl)}}function yE(r){for(let t of Object.values(r))window.localStorage.removeItem(t)}function qK(r){let t=r.split(hl);if(t.length<3)throw new Error(`Invalid key format: ${r}`);return t.slice(1,t.length-1).join(hl)}function KK(r){return r.startsWith(ta.URL_SCHEME)?r.slice(ta.URL_SCHEME.length):r}var ta=class{constructor(t){if(!L().getBool(\"IS_BROWSER\")||typeof window==\"undefined\"||typeof window.localStorage==\"undefined\")throw new Error(\"The current environment does not support local storage.\");if(this.LS=window.localStorage,t==null||!t)throw new Error(\"For local storage, modelPath must not be null, undefined or empty.\");this.modelPath=t,this.keys=xE(this.modelPath)}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");{let e=JSON.stringify(t.modelTopology),n=JSON.stringify(t.weightSpecs),o=Ji(t),s=Wr.join(t.weightData);try{this.LS.setItem(this.keys.info,JSON.stringify(o)),this.LS.setItem(this.keys.topology,e),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,aE(s));let i={format:t.format,generatedBy:t.generatedBy,convertedBy:t.convertedBy,signature:t.signature!=null?t.signature:void 0,userDefinedMetadata:t.userDefinedMetadata!=null?t.userDefinedMetadata:void 0,modelInitializer:t.modelInitializer!=null?t.modelInitializer:void 0,initializerSignature:t.initializerSignature!=null?t.initializerSignature:void 0,trainingConfig:t.trainingConfig!=null?t.trainingConfig:void 0};return this.LS.setItem(this.keys.modelMetadata,JSON.stringify(i)),{modelArtifactsInfo:o}}catch(i){throw yE(this.keys),new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${o.modelTopologyBytes}, weightSpecsBytes=${o.weightSpecsBytes}, weightDataBytes=${o.weightDataBytes}.`)}}}async load(){let t=JSON.parse(this.LS.getItem(this.keys.info));if(t==null)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if(t.modelTopologyType!==\"JSON\")throw new Error(\"BrowserLocalStorage does not support loading non-JSON model topology yet.\");let e={},n=JSON.parse(this.LS.getItem(this.keys.topology));if(n==null)throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);e.modelTopology=n;let o=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(o==null)throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);e.weightSpecs=o;let s=this.LS.getItem(this.keys.modelMetadata);if(s!=null){let a=JSON.parse(s);e.format=a.format,e.generatedBy=a.generatedBy,e.convertedBy=a.convertedBy,a.signature!=null&&(e.signature=a.signature),a.userDefinedMetadata!=null&&(e.userDefinedMetadata=a.userDefinedMetadata),a.modelInitializer!=null&&(e.modelInitializer=a.modelInitializer),a.initializerSignature!=null&&(e.initializerSignature=a.initializerSignature),a.trainingConfig!=null&&(e.trainingConfig=a.trainingConfig)}let i=this.LS.getItem(this.keys.weightData);if(i==null)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return e.weightData=lE(i),e}};ta.URL_SCHEME=\"localstorage://\";var bE=r=>L().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(ta.URL_SCHEME)?jK(r.slice(ta.URL_SCHEME.length)):null;Cr.registerSaveRouter(bE);Cr.registerLoadRouter(bE);function jK(r){return new ta(r)}var ux=class{constructor(){_(L().getBool(\"IS_BROWSER\"),()=>\"Current environment is not a web browser\"),_(typeof window==\"undefined\"||typeof window.localStorage!=\"undefined\",()=>\"Current browser does not appear to support localStorage\"),this.LS=window.localStorage}async listModels(){let t={},e=Zp+hl,n=hl+gE;for(let o=0;o\"scheme must not be undefined or null.\"),t.endsWith(Jp)&&(t=t.slice(0,t.indexOf(Jp))),_(t.length>0,()=>\"scheme must not be an empty string.\");let n=r.getInstance();_(n.managers[t]==null,()=>`A model store manager is already registered for scheme '${t}'.`),n.managers[t]=e}static getManager(t){let e=r.getInstance().managers[t];if(e==null)throw new Error(`Cannot find model manager for scheme '${t}'`);return e}static getSchemes(){return Object.keys(r.getInstance().managers)}};function cx(r){if(r.indexOf(Jp)===-1)throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${ai.getSchemes().join(\",\")}`);return{scheme:r.split(Jp)[0],path:r.split(Jp)[1]}}async function wE(r,t,e=!1){_(r!==t,()=>`Old path and new path are the same: '${r}'`);let n=Cr.getLoadHandlers(r);_(n.length>0,()=>`Copying failed because no load handler is found for source URL ${r}.`),_(n.length<2,()=>`Copying failed because more than one (${n.length}) load handlers for source URL ${r}.`);let o=n[0],s=Cr.getSaveHandlers(t);_(s.length>0,()=>`Copying failed because no save handler is found for destination URL ${t}.`),_(s.length<2,()=>`Copying failed because more than one (${n.length}) save handlers for destination URL ${t}.`);let i=s[0],a=cx(r).scheme,u=cx(r).path,l=a===cx(r).scheme,c=await o.load();e&&l&&await ai.getManager(a).removeModel(u);let p=await i.save(c);return e&&!l&&await ai.getManager(a).removeModel(u),p.modelArtifactsInfo}async function IE(){let r=ai.getSchemes(),t={};for(let e of r){let n=await ai.getManager(e).listModels();for(let o in n){let s=e+Jp+o;t[s]=n[o]}}return t}async function CE(r){let t=cx(r);return ai.getManager(t.scheme).removeModel(t.path)}async function vE(r,t){return wE(r,t,!1)}async function SE(r,t){return wE(r,t,!0)}var K0=class{constructor(){this.messageName=\"setTimeoutCustom\",this.functionRefs=[],this.handledMessageCount=0,this.hasEventListener=!1}fetch(t,e){return fetch(t,e)}now(){return performance.now()}encode(t,e){if(e!==\"utf-8\"&&e!==\"utf8\")throw new Error(`Browser's encoder only supports utf-8, but got ${e}`);return this.textEncoder==null&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(t)}decode(t,e){return new TextDecoder(e).decode(t)}setTimeoutCustom(t,e){if(typeof window==\"undefined\"||!L().getBool(\"USE_SETTIMEOUTCUSTOM\")){setTimeout(t,e);return}this.functionRefs.push(t),setTimeout(()=>{window.postMessage({name:this.messageName,index:this.functionRefs.length-1},\"*\")},e),this.hasEventListener||(this.hasEventListener=!0,window.addEventListener(\"message\",n=>{if(n.source===window&&n.data.name===this.messageName){n.stopPropagation();let o=this.functionRefs[n.data.index];o(),this.handledMessageCount++,this.handledMessageCount===this.functionRefs.length&&(this.functionRefs=[],this.handledMessageCount=0)}},!0))}isTypedArray(t){return Yg(t)}};if(L().get(\"IS_BROWSER\")){L().setPlatform(\"browser\",new K0);try{ai.registerManager(ta.URL_SCHEME,new ux)}catch(r){}try{ai.registerManager(Qi.URL_SCHEME,new lx)}catch(r){}}var XK={importFetch:()=>NE()},j0;var X0=class{constructor(){this.util=kE(),this.textEncoder=new this.util.TextEncoder}fetch(t,e){return L().global.fetch!=null?L().global.fetch(t,e):(j0==null&&(j0=XK.importFetch()),j0(t,e))}now(){let t=process.hrtime();return t[0]*1e3+t[1]/1e6}encode(t,e){if(e!==\"utf-8\"&&e!==\"utf8\")throw new Error(`Node built-in encoder only supports utf-8, but got ${e}`);return this.textEncoder.encode(t)}decode(t,e){return t.length===0?\"\":new this.util.TextDecoder(e).decode(t)}isTypedArray(t){return this.util.types.isFloat32Array(t)||this.util.types.isInt32Array(t)||this.util.types.isUint8Array(t)||this.util.types.isUint8ClampedArray(t)}};L().get(\"IS_NODE\")&&!L().get(\"IS_BROWSER\")&&L().setPlatform(\"node\",new X0);function wt(r,t=\"float32\",e){return t=t||\"float32\",Le(r),new le(r,t,e)}function YK(r,t){let e=C(r,\"x\",\"cast\");if(!g0(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if(t===\"string\"&&e.dtype!==\"string\"||t!==\"string\"&&e.dtype===\"string\")throw new Error(\"Only strings can be casted to strings\");let n={x:e},o={dtype:t};return T.runKernel(fo,n,o)}var J=k({cast_:YK});function ZK(r){let e={x:C(r,\"x\",\"clone\",\"string_or_numeric\")};return T.runKernel(go,e)}var ln=k({clone_:ZK});function px(r,t=!1){console.log(r.toString(t))}M0();var JK={buffer:wt,cast:J,clone:ln,print:px};Z_(JK);function QK(r,t){let e=C(r,\"a\",\"add\"),n=C(t,\"b\",\"add\");[e,n]=Xt(e,n);let o={a:e,b:n};return T.runKernel(no,o)}var X=k({add_:QK});function tj(r,t){let e=C(r,\"a\",\"floorDiv\"),n=C(t,\"b\",\"floorDiv\");[e,n]=Xt(e,n);let o={a:e,b:n};return T.runKernel(fs,o)}var Qp=k({floorDiv_:tj});function ej(r,t){let e=C(r,\"a\",\"div\"),n=C(t,\"b\",\"div\");if([e,n]=Xt(e,n),e.dtype===\"int32\"&&n.dtype===\"int32\")return Qp(e,n);let o={a:e,b:n},s={};return T.runKernel(as,o,s)}var ct=k({div_:ej});function rj(r,t){let e=C(r,\"a\",\"mul\"),n=C(t,\"b\",\"mul\");[e,n]=Xt(e,n);let o={a:e,b:n};return T.runKernel(Ds,o)}var $=k({mul_:rj});function nj(r){let t=C(r,\"x\",\"abs\");if(t.dtype===\"complex64\"){let e={x:t};return T.runKernel(Kl,e)}else{let e={x:t};return T.runKernel(Ei,e)}}var _e=k({abs_:nj});function oj(r){let e={x:C(r,\"x\",\"acos\")};return T.runKernel(Go,e)}var mx=k({acos_:oj});function sj(r){let e={x:C(r,\"x\",\"acosh\")};return T.runKernel(Wo,e)}var fx=k({acosh_:sj});function ij(r){_(Array.isArray(r),()=>\"The argument passed to tf.addN() must be a list of tensors\"),_(r.length>=1,()=>`Must pass at least one tensor to tf.addN(), but got ${r.length}`);let t=r.map((o,s)=>C(o,`tensors${s}`,\"addN\")),e=t[0];t.forEach(o=>{if(o.dtype!==e.dtype)throw new Error(\"All tensors passed to tf.addN() must have the same dtype\")}),t.forEach(o=>{if(!on(o.shape,e.shape))throw new Error(\"All tensors passed to tf.addN() must have the same shape\")});let n=t;return T.runKernel(Uo,n)}var TE=k({addN_:ij});function aj(r,t=null,e=!1){let o={x:C(r,\"x\",\"all\",\"bool\")},s={axis:t,keepDims:e};return T.runKernel(Ea,o,s)}var tm=k({all_:aj});function lj(r,t=null,e=!1){let o={x:C(r,\"x\",\"any\",\"bool\")},s={axis:t,keepDims:e};return T.runKernel(Aa,o,s)}var cc=k({any_:lj});function uj(r,t=0){let n={x:C(r,\"x\",\"argMax\")},o={axis:t};return T.runKernel(Ai,n,o)}var ea=k({argMax_:uj});function cj(r,t=0){let n={x:C(r,\"x\",\"argMin\")},o={axis:t};return T.runKernel(Di,n,o)}var dx=k({argMin_:cj});function pj(r){let e={x:C(r,\"x\",\"asin\")};return T.runKernel(Ho,e)}var hx=k({asin_:pj});function mj(r){let e={x:C(r,\"x\",\"asinh\")};return T.runKernel(qo,e)}var gx=k({asinh_:mj});function fj(r){let e={x:C(r,\"x\",\"atan\")};return T.runKernel(Ko,e)}var xx=k({atan_:fj});function dj(r,t){let e=C(r,\"a\",\"atan2\"),n=C(t,\"b\",\"atan2\");[e,n]=Xt(e,n);let o={a:e,b:n};return T.runKernel(Xo,o)}var yx=k({atan2_:dj});function hj(r){let e={x:C(r,\"x\",\"atanh\")};return T.runKernel(jo,e)}var bx=k({atanh_:hj});function gj(r,t,e,n,o=\"NHWC\",s){let i=r[3],a=[...t,i],u=EE(o);return pc(r,a,e,s,n,null,null,u)}function Z0(r,t,e,n,o,s,i=\"channelsLast\"){let[a,u]=uh(t),l;if(i===\"channelsLast\")l=[a,u,r[3],r[3]];else if(i===\"channelsFirst\")l=[a,u,r[1],r[1]];else throw new Error(`Unknown dataFormat ${i}`);return pc(r,l,e,n,o,s,!1,i)}function xj(r,t,e,n,o,s,i=\"NDHWC\"){let[a,u,l]=Y0(t),c,p;if(i===\"NDHWC\")p=\"channelsLast\",c=[a,u,l,r[4],r[4]];else if(i===\"NCDHW\")p=\"channelsFirst\",c=[a,u,l,r[1],r[1]];else throw new Error(`Unknown dataFormat ${i}`);return _E(r,c,e,n,o,!1,p,s)}function pc(r,t,e,n,o,s,i=!1,a=\"channelsLast\"){let[u,l,c,p]=[-1,-1,-1,-1];if(a===\"channelsLast\")[u,l,c,p]=r;else if(a===\"channelsFirst\")[u,p,l,c]=r;else throw new Error(`Unknown dataFormat ${a}`);let[m,f,,d]=t,[h,g]=uh(e),[x,b]=uh(n),w=em(m,x),I=em(f,b),{padInfo:N,outHeight:E,outWidth:A}=wj(o,l,c,h,g,w,I,s,a),D=i?d*p:d,F;return a===\"channelsFirst\"?F=[u,D,E,A]:a===\"channelsLast\"&&(F=[u,E,A,D]),{batchSize:u,dataFormat:a,inHeight:l,inWidth:c,inChannels:p,outHeight:E,outWidth:A,outChannels:D,padInfo:N,strideHeight:h,strideWidth:g,filterHeight:m,filterWidth:f,effectiveFilterHeight:w,effectiveFilterWidth:I,dilationHeight:x,dilationWidth:b,inShape:r,outShape:F,filterShape:t}}function _E(r,t,e,n,o,s=!1,i=\"channelsLast\",a){let[u,l,c,p,m]=[-1,-1,-1,-1,-1];if(i===\"channelsLast\")[u,l,c,p,m]=r;else if(i===\"channelsFirst\")[u,m,l,c,p]=r;else throw new Error(`Unknown dataFormat ${i}`);let[f,d,h,,g]=t,[x,b,w]=Y0(e),[I,N,E]=Y0(n),A=em(f,I),D=em(d,N),F=em(h,E),{padInfo:M,outDepth:V,outHeight:G,outWidth:W}=Ij(o,l,c,p,x,b,w,A,D,F,a),q=s?g*m:g,H;return i===\"channelsFirst\"?H=[u,q,V,G,W]:i===\"channelsLast\"&&(H=[u,V,G,W,q]),{batchSize:u,dataFormat:i,inDepth:l,inHeight:c,inWidth:p,inChannels:m,outDepth:V,outHeight:G,outWidth:W,outChannels:q,padInfo:M,strideDepth:x,strideHeight:b,strideWidth:w,filterDepth:f,filterHeight:d,filterWidth:h,effectiveFilterDepth:A,effectiveFilterHeight:D,effectiveFilterWidth:F,dilationDepth:I,dilationHeight:N,dilationWidth:E,inShape:r,outShape:H,filterShape:t}}function yj(r,t,e,n,o){n==null&&(n=J0(r,t,e));let s=r[0],i=r[1],a=ch((s-t+2*n)/e+1,o),u=ch((i-t+2*n)/e+1,o);return[a,u]}function bj(r,t,e,n,o,s){o==null&&(o=J0(r,t[0],n[0]));let i=[0,0,0,e];for(let a=0;a<3;a++)r[a]+2*o>=t[a]&&(i[a]=ch((r[a]-t[a]+2*o)/n[a]+1,s));return i}function J0(r,t,e,n=1){let o=em(t,n);return Math.floor((r[0]*(e-1)-e+o)/2)}function uh(r){return typeof r==\"number\"?[r,r,r]:r.length===2?[r[0],r[1],1]:r}function Y0(r){return typeof r==\"number\"?[r,r,r]:r}function em(r,t){return t<=1?r:r+(r-1)*(t-1)}function wj(r,t,e,n,o,s,i,a,u){let l,c,p;if(typeof r==\"number\"){l={top:r,bottom:r,left:r,right:r,type:r===0?\"VALID\":\"NUMBER\"};let f=yj([t,e],s,n,r,a);c=f[0],p=f[1]}else if(r===\"same\"){c=Math.ceil(t/n),p=Math.ceil(e/o);let m=Math.max(0,(c-1)*n+s-t),f=Math.max(0,(p-1)*o+i-e),d=Math.floor(m/2),h=m-d,g=Math.floor(f/2),x=f-g;l={top:d,bottom:h,left:g,right:x,type:\"SAME\"}}else if(r===\"valid\")l={top:0,bottom:0,left:0,right:0,type:\"VALID\"},c=Math.ceil((t-s+1)/n),p=Math.ceil((e-i+1)/o);else if(typeof r==\"object\"){let m=u===\"channelsLast\"?r[1][0]:r[2][0],f=u===\"channelsLast\"?r[1][1]:r[2][1],d=u===\"channelsLast\"?r[2][0]:r[3][0],h=u===\"channelsLast\"?r[2][1]:r[3][1];l={top:m,bottom:f,left:d,right:h,type:m===0&&f===0&&d===0&&h===0?\"VALID\":\"EXPLICIT\"},c=ch((t-s+m+f)/n+1,a),p=ch((e-i+d+h)/o+1,a)}else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:l,outHeight:c,outWidth:p}}function Ij(r,t,e,n,o,s,i,a,u,l,c){let p,m,f,d;if(r===\"valid\"&&(r=0),typeof r==\"number\"){p={top:r,bottom:r,left:r,right:r,front:r,back:r,type:r===0?\"VALID\":\"NUMBER\"};let g=bj([t,e,n,1],[a,u,l],1,[o,s,i],r,c);m=g[0],f=g[1],d=g[2]}else if(r===\"same\"){m=Math.ceil(t/o),f=Math.ceil(e/s),d=Math.ceil(n/i);let h=(m-1)*o+a-t,g=(f-1)*s+u-e,x=(d-1)*i+l-n,b=Math.floor(h/2),w=h-b,I=Math.floor(g/2),N=g-I,E=Math.floor(x/2),A=x-E;p={top:I,bottom:N,left:E,right:A,front:b,back:w,type:\"SAME\"}}else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:p,outDepth:m,outHeight:f,outWidth:d}}function ch(r,t){if(!t)return Math.trunc(r);switch(t){case\"round\":return Math.round(r);case\"ceil\":return Math.ceil(r);case\"floor\":return Math.floor(r);default:throw new Error(`Unknown roundingMode ${t}`)}}function io(r){let[t,e,n]=uh(r);return t===1&&e===1&&n===1}function Dr(r,t){return io(r)||io(t)}function ra(r){return uh(r).every(t=>t>0)}function EE(r){if(r===\"NHWC\")return\"channelsLast\";if(r===\"NCHW\")return\"channelsFirst\";throw new Error(`Unknown dataFormat ${r}`)}function ve(r,t,e){if(e!=null){if(typeof t==\"string\")throw Error(`Error in ${r}: pad must be an integer when using dimRoundingMode ${e} but got pad ${t}.`);if(typeof t==\"number\")_(_a(t),()=>`Error in ${r}: pad must be an integer when using dimRoundingMode ${e} but got pad ${t}.`);else if(typeof t==\"object\")t.forEach(n=>{n.forEach(o=>{_(_a(o),()=>`Error in ${r}: pad must be an integer when using dimRoundingMode ${e} but got pad ${o}.`)})});else throw Error(`Error in ${r}: Unknown padding parameter: ${t}`)}}function Cj(r,t){let n={x:C(r,\"x\",\"reshape\",\"string_or_numeric\")},o={shape:t};return T.runKernel(Vi,n,o)}var R=k({reshape_:Cj});function vj(r,t,e,n,o){let s=C(r,\"x\",\"avgPool\",\"float32\"),i=1;_(Dr(e,i),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${e} and dilations '${i}'`);let a=s,u=!1;s.rank===3&&(u=!0,a=R(s,[1,s.shape[0],s.shape[1],s.shape[2]])),_(a.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${a.rank}.`),ve(\"avgPool\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o},p=T.runKernel(Yo,l,c);return p=J(p,s.dtype),u?R(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var xu=k({avgPool_:vj});function Sj(r,t,e,n,o,s=\"NDHWC\"){let i=C(r,\"x\",\"avgPool3d\",\"float32\"),a=i,u=!1;i.rank===4&&(u=!0,a=R(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),_(a.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${a.rank}.`),_(s===\"NDHWC\",()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),_(typeof e==\"number\"&&e>0||Array.isArray(e)&&e[0]>0&&e[1]>0&&e[2]>0,()=>`Error in avgPool3d: Stride must be > 0, but got '${e}'`),ve(\"avgPool3d\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o,dataFormat:s},p=T.runKernel($i,l,c);return p=J(p,a.dtype),u?R(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}var wx=k({avgPool3d_:Sj});function Nj(r,t=0){_(r.length>=1,()=>\"Pass at least one tensor to concat\");let e=fl(r,\"tensors\",\"concat\",\"string_or_numeric\");if(e[0].dtype===\"complex64\"&&e.forEach(s=>{if(s.dtype!==\"complex64\")throw new Error(`Cannot concatenate complex64 tensors with a tensor\n with dtype ${s.dtype}. `)}),e.length===1)return ln(e[0]);let n=e,o={axis:t};return T.runKernel(Fi,n,o)}var ie=k({concat_:Nj});function kj(r,t,e=!1,n=!1){let o=C(r,\"a\",\"matMul\"),s=C(t,\"b\",\"matMul\");[o,s]=Xt(o,s);let i={a:o,b:s},a={transposeA:e,transposeB:n};return T.runKernel(Zo,i,a)}var Bt=k({matMul_:kj});function Tj(r){let e={x:C(r,\"x\",\"sigmoid\",\"float32\")};return T.runKernel(Xs,e)}var Qr=k({sigmoid_:Tj});function _j(r,t,e){let n=C(r,\"x\",\"slice\",\"string_or_numeric\");if(n.rank===0)throw new Error(\"Slicing scalar is not possible\");let o={x:n},s={begin:t,size:e};return T.runKernel(Wi,o,s)}var Ot=k({slice_:_j});function Ej(r){let e={x:C(r,\"x\",\"tanh\",\"float32\")};return T.runKernel(ni,e)}var na=k({tanh_:Ej});function Aj(r,t,e,n,o,s){let i=C(r,\"forgetBias\",\"basicLSTMCell\"),a=C(t,\"lstmKernel\",\"basicLSTMCell\"),u=C(e,\"lstmBias\",\"basicLSTMCell\"),l=C(n,\"data\",\"basicLSTMCell\"),c=C(o,\"c\",\"basicLSTMCell\"),p=C(s,\"h\",\"basicLSTMCell\"),m=ie([l,p],1),f=Bt(m,a),d=X(f,u),h=d.shape[0],g=d.shape[1]/4,x=[h,g],b=Ot(d,[0,0],x),w=Ot(d,[0,g],x),I=Ot(d,[0,g*2],x),N=Ot(d,[0,g*3],x),E=X($(Qr(b),na(w)),$(c,Qr(X(i,I)))),A=$(na(E),Qr(N));return[E,A]}var AE=k({basicLSTMCell_:Aj});function Dj(r,t,e){let n=C(r,\"x\",\"batchToSpaceND\"),o=t.reduce((a,u)=>a*u);_(n.rank>=1+t.length,()=>`input rank is ${n.rank} but should be > than blockShape.length ${t.length}`),_(e.length===t.length,()=>`crops.length is ${e.length} but should be equal to blockShape.length ${t.length}`),_(n.shape[0]%o===0,()=>`input tensor batch is ${n.shape[0]} but is not divisible by the product of the elements of blockShape ${t.join(\" * \")} === ${o}`);let s={x:n},i={blockShape:t,crops:e};return T.runKernel(Ri,s,i)}var yu=k({batchToSpaceND_:Dj});function DE(r){let t;return r.rank===0||r.rank===1?t=R(r,[1,1,1,r.size]):r.rank===2?t=R(r,[1,1,r.shape[0],r.shape[1]]):r.rank===3?t=R(r,[1,r.shape[0],r.shape[1],r.shape[2]]):t=r,t}function $j(r,t,e,n,o,s){s==null&&(s=.001);let i=C(r,\"x\",\"batchNorm\"),a=C(t,\"mean\",\"batchNorm\"),u=C(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=C(o,\"scale\",\"batchNorm\"));let c;n!=null&&(c=C(n,\"offset\",\"batchNorm\")),_(a.rank===u.rank,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),_(c==null||a.rank===c.rank,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),_(l==null||a.rank===l.rank,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\");let m={x:DE(i),scale:l,offset:c,mean:a,variance:u},f={varianceEpsilon:s},d=T.runKernel(ds,m,f);return R(d,i.shape)}var oa=k({batchNorm_:$j});function Rj(r,t,e,n,o,s){let i=C(r,\"x\",\"batchNorm\"),a=C(t,\"mean\",\"batchNorm\"),u=C(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=C(o,\"scale\",\"batchNorm\"));let c;return n!=null&&(c=C(n,\"offset\",\"batchNorm\")),_(i.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${i.rank}.`),_(a.rank===2||a.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${a.rank}.`),_(u.rank===2||u.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${u.rank}.`),l!=null&&_(l.rank===2||l.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${l.rank}.`),c!=null&&_(c.rank===2||c.rank===1,()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${c.rank}.`),oa(i,a,u,c,l,s)}var Ix=k({batchNorm2d_:Rj});function Fj(r,t,e,n,o,s){let i=C(r,\"x\",\"batchNorm\"),a=C(t,\"mean\",\"batchNorm\"),u=C(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=C(o,\"scale\",\"batchNorm\"));let c;return n!=null&&(c=C(n,\"offset\",\"batchNorm\")),_(i.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${i.rank}.`),_(a.rank===3||a.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${a.rank}.`),_(u.rank===3||u.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${u.rank}.`),l!=null&&_(l.rank===3||l.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${l.rank}.`),c!=null&&_(c.rank===3||c.rank===1,()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${c.rank}.`),oa(i,a,u,c,l,s)}var Cx=k({batchNorm3d_:Fj});function Oj(r,t,e,n,o,s){let i=C(r,\"x\",\"batchNorm\"),a=C(t,\"mean\",\"batchNorm\"),u=C(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=C(o,\"scale\",\"batchNorm\"));let c;return n!=null&&(c=C(n,\"offset\",\"batchNorm\")),_(i.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${i.rank}.`),_(a.rank===4||a.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${a.rank}.`),_(u.rank===4||u.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${u.rank}.`),l!=null&&_(l.rank===4||l.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${l.rank}.`),c!=null&&_(c.rank===4||c.rank===1,()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${c.rank}.`),oa(i,a,u,c,l,s)}var vx=k({batchNorm4d_:Oj});function Mj(r,t,e){let n=C(r,\"x\",\"bincount\"),o=C(t,\"weights\",\"bincount\");_(n.dtype===\"int32\",()=>`Error in bincount: input dtype must be int32, but got ${n.dtype}`),_(e>=0,()=>`size must be non-negative, but got ${e}.`),_(o.size===n.size||o.size===0,()=>`Error in bincount: weights must have the same size as input or0-length, but got input shape: ${n.shape}, weights shape: ${o.shape}.`);let s={x:n,weights:o},i={size:e};return T.runKernel(Da,s,i)}var Sx=k({bincount_:Mj});function Pj(r,t){let e=C(r,\"x\",\"bitwiseAnd\"),n=C(t,\"y\",\"bitwiseAnd\");if(!on(e.shape,n.shape))throw new Error(`BitwiseAnd: Tensors must have the same shape. x: ${e.shape}, y: ${n.shape}`);if(e.dtype!==\"int32\"||n.dtype!==\"int32\")throw new Error(`BitwiseAnd: Only supports 'int32' values in tensor, found type of x: ${e.dtype} and type of y: ${n.dtype}`);let o={a:e,b:n};return T.runKernel($a,o)}var $E=k({bitwiseAnd_:Pj});function Lj(r,t){let e=C(r,\"s0\",\"broadcastArgs\",\"int32\"),n=C(t,\"s1\",\"broadcastArgs\",\"int32\");if(e.rank!==1)throw new Error(`broadcastArgs(): first input must be a vector (rank=1). Has rank ${e.rank}`);if(n.rank!==1)throw new Error(`broadcastArgs(): second input must be a vector (rank=1). Has rank ${n.rank}`);let o={s0:e,s1:n};return T.runKernel(ql,o)}var RE=k({broadcastArgs_:Lj});function zj(r,t){let e=C(r,\"broadcastTo\",\"x\"),n=e.shape;if(Le(t),t.lengthe.rank){let l=e.shape.slice();for(;l.length=0;l--)if(o[l]===t[l])s[l]=1;else if(e.shape[l]!==1)throw new Error(`broadcastTo(): [${n}] cannot be broadcast to [${t}].`);if(s.map((l,c)=>l>1?c:-1).filter(l=>l>=0).length===0)return ln(e);let a={x:e},u={reps:s};return T.runKernel(oo,a,u)}var sa=k({broadcastTo_:zj});function Bj(r){let e={x:C(r,\"x\",\"ceil\",\"float32\")};return T.runKernel(Jo,e)}var Nx=k({ceil_:Bj});function Co(r,t,e){Le(r),e=e||Wl(t);let n={shape:r,value:t,dtype:e};return T.runKernel(Jl,{},n)}function Vj(r,t,e){let n=C(r,\"x\",\"clipByValue\");if(_(t<=e,()=>`Error in clip: min (${t}) must be less than or equal to max (${e}).`),t===e)return Co(n.shape,t,n.dtype);let o={x:n},s={clipValueMin:t,clipValueMax:e};return T.runKernel(ho,o,s)}var vr=k({clipByValue_:Vj});function Gj(r){return ie(r,0)}var kx=k({concat1d_:Gj});function Wj(r,t){return ie(r,t)}var Tx=k({concat2d_:Wj});function Uj(r,t){return ie(r,t)}var _x=k({concat3d_:Uj});function Hj(r,t){return ie(r,t)}var Ex=k({concat4d_:Hj});function qj(r,t,e,n,o=\"NHWC\",s=[1,1],i){let a=C(r,\"x\",\"conv2d\",\"float32\"),u=C(t,\"filter\",\"conv2d\",\"float32\"),l=a,c=!1;a.rank===3&&(c=!0,l=R(a,[1,a.shape[0],a.shape[1],a.shape[2]])),_(l.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${l.rank}.`),_(u.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${u.rank}.`),ve(\"conv2d\",n,i);let p=o===\"NHWC\"?l.shape[3]:l.shape[1];_(p===u.shape[2],()=>`Error in conv2d: depth of input (${p}) must match input depth for filter ${u.shape[2]}.`),_(Dr(e,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`),_(ra(s),()=>\"Error in conv2D: Dilated rates should be larger than 0.\"),_(ra(e),()=>\"Error in conv2D: Strides should be larger than 0.\");let m={x:l,filter:u},f={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i},d=T.runKernel(Qo,m,f);return c?R(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var Nn=k({conv2d_:qj});function Kj(r,t,e,n,o=\"NWC\",s=1,i){let a=C(r,\"x\",\"conv1d\"),u=C(t,\"filter\",\"conv1d\"),l=a,c=!1;a.rank===2&&(c=!0,l=R(a,[1,a.shape[0],a.shape[1]])),_(l.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${l.rank}.`),_(u.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${u.rank}.`),ve(\"conv1d\",n,i),_(l.shape[2]===u.shape[1],()=>`Error in conv1d: depth of input (${l.shape[2]}) must match input depth for filter ${u.shape[1]}.`),_(Dr(e,s),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${e} and dilation '${s}'`),_(ra(s),()=>\"Error in conv1D: Dilated rates should be larger than 0.\"),_(ra(e),()=>\"Error in conv1D: Stride should be larger than 0.\"),_(o===\"NWC\",()=>`Error in conv1d: got dataFormat of ${o} but only NWC is currently supported.`);let p=R(u,[1,u.shape[0],u.shape[1],u.shape[2]]),m=R(l,[l.shape[0],1,l.shape[1],l.shape[2]]),g=Nn(m,p,[1,e],n,\"NHWC\",[1,s],i);return c?R(g,[g.shape[2],g.shape[3]]):R(g,[g.shape[0],g.shape[2],g.shape[3]])}var rm=k({conv1d_:Kj});function jj(r,t,e,n,o,s=\"NHWC\",i){_(r.length===t.rank,()=>`Length of inShape (${r.length}) and rank of dy (${t.rank}) must match`);let a=r,u=t,l=!1;t.rank===3&&(l=!0,u=R(t,[1,t.shape[0],t.shape[1],t.shape[2]]),a=[1,r[0],r[1],r[2]]),_(a.length===4,()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${a.length}.`),_(u.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${u.rank}`),_(e.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${e.rank}`);let c=s===\"NHWC\"?a[3]:a[1],p=s===\"NHWC\"?u.shape[3]:u.shape[1];_(c===e.shape[2],()=>`Error in conv2dDerInput: depth of input (${c}) must match input depth for filter ${e.shape[2]}.`),_(p===e.shape[3],()=>`Error in conv2dDerInput: depth of output (${p}) must match output depth for filter ${e.shape[3]}.`),ve(\"conv2dDerInput\",o,i);let m={dy:u,filter:e},f={strides:n,pad:o,dataFormat:s,dimRoundingMode:i,inputShape:a},d=T.runKernel(ts,m,f);return l?R(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var nm=k({conv2DBackpropInput_:jj});function Xj(r,t,e,n,o,s){let i=C(r,\"x\",\"conv2dTranspose\"),a=C(t,\"filter\",\"conv2dTranspose\");return nm(e,i,a,n,o,\"NHWC\",s)}var om=k({conv2dTranspose_:Xj});function Yj(r,t,e,n,o=\"NDHWC\",s=[1,1,1]){let i=C(r,\"x\",\"conv3d\"),a=C(t,\"filter\",\"conv3d\"),u=i,l=!1;i.rank===4&&(l=!0,u=R(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),_(u.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${u.rank}.`),_(a.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${a.rank}.`),_(u.shape[4]===a.shape[3],()=>`Error in conv3d: depth of input (${u.shape[4]}) must match input depth for filter ${a.shape[3]}.`),_(Dr(e,s),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`),_(o===\"NDHWC\",()=>`Error in conv3d: got dataFormat of ${o} but only NDHWC is currently supported.`),_(ra(s),()=>\"Error in conv3D: Dilated rates should be larger than 0.\"),_(ra(e),()=>\"Error in conv3D: Strides should be larger than 0.\");let c={x:u,filter:a},p={strides:e,pad:n,dataFormat:o,dilations:s},m=T.runKernel(es,c,p);return l?R(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var Ax=k({conv3d_:Yj});function Zj(r,t,e,n,o){_(r.length===t.rank,()=>`Length of inShape (${r.length}) and rank of dy (${t.rank}) must match`);let s=r,i=t,a=!1;t.rank===4&&(a=!0,i=R(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]),s=[1,r[0],r[1],r[2],r[3]]);let u=s[4],l=i.shape[4];_(s.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${s.length}.`),_(i.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${i.rank}`),_(e.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${e.rank}`),_(u===e.shape[3],()=>`Error in conv3dDerInput: depth of input (${u}) must match input depth for filter ${e.shape[3]}.`),_(l===e.shape[4],()=>`Error in conv3dDerInput: depth of output (${l}) must match output depth for filter ${e.shape[4]}.`);let c={dy:i,filter:e},p={pad:o,strides:n,inputShape:s},m=T.runKernel(Fa,c,p);return a?R(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var Dx=k({conv3DBackpropInput_:Zj});function Jj(r,t,e,n,o){let s=C(r,\"x\",\"conv3dTranspose\"),i=C(t,\"filter\",\"conv3dTranspose\");return Dx(e,s,i,n,o)}var $x=k({conv3dTranspose_:Jj});function Qj(r){let e={x:C(r,\"x\",\"cos\",\"float32\")};return T.runKernel(rs,e)}var bu=k({cos_:Qj});function t6(r){let e={x:C(r,\"x\",\"cosh\",\"float32\")};return T.runKernel(ns,e)}var sm=k({cosh_:t6});function e6(r,t=0,e=!1,n=!1){let s={x:C(r,\"x\",\"cumprod\")},i={axis:t,exclusive:e,reverse:n};return T.runKernel(Oa,s,i)}var mc=k({cumprod_:e6});function r6(r,t=0,e=!1,n=!1){let s={x:C(r,\"x\",\"cumsum\")},i={axis:t,exclusive:e,reverse:n};return T.runKernel(os,s,i)}var im=k({cumsum_:r6});function n6(r,t,e,n=!1){let o=C(r,\"x\",\"denseBincount\"),s=C(t,\"weights\",\"denseBincount\");_(o.dtype===\"int32\",()=>`Error in denseBincount: input dtype must be int32, but got ${o.dtype}`),_(o.rank<=2,()=>`Error in denseBincount: input must be at most rank 2, but got rank ${o.rank}.`),_(e>=0,()=>`size must be non-negative, but got ${e}.`),_(s.size===o.size||s.size===0,()=>`Error in denseBincount: weights must have the same shape as x or 0-length, but got x shape: ${o.shape}, weights shape: ${s.shape}.`);let i={x:o,weights:s},a={size:e,binaryOutput:n};return T.runKernel(jl,i,a)}var ph=k({denseBincount_:n6});function o6(r,t,e=\"NHWC\"){let n=C(r,\"x\",\"depthToSpace\",\"float32\"),o=e===\"NHWC\"?n.shape[1]:n.shape[2],s=e===\"NHWC\"?n.shape[2]:n.shape[3],i=e===\"NHWC\"?n.shape[3]:n.shape[1];_(t>1,()=>`blockSize should be > 1 for depthToSpace, but was: ${t}`),_(o*t>=0,()=>`Negative dimension size caused by overflow when multiplying\n ${o} and ${t} for depthToSpace with input shape\n ${n.shape}`),_(s*t>=0,()=>`Negative dimension size caused by overflow when multiplying\n ${s} and ${t} for depthToSpace with input shape\n ${n.shape}`),_(i%(t*t)===0,()=>`Dimension size must be evenly divisible by ${t*t} but is ${i} for depthToSpace with input shape ${n.shape}`);let a={x:n},u={blockSize:t,dataFormat:e};return T.runKernel(Pa,a,u)}var Rx=k({depthToSpace_:o6});function s6(r,t,e,n,o=\"NHWC\",s=[1,1],i){let a=C(r,\"x\",\"depthwiseConv2d\",\"float32\"),u=C(t,\"filter\",\"depthwiseConv2d\",\"float32\"),l=a,c=!1;a.rank===3&&(c=!0,l=R(a,[1,a.shape[0],a.shape[1],a.shape[2]])),_(l.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${l.rank}.`),_(u.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${u.rank}.`);let p=o===\"NHWC\"?l.shape[3]:l.shape[1];_(p===u.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${p}) must match the inChannels dimension in filter ${u.shape[2]}.`),ve(\"depthwiseConv2d\",n,i);let m={x:l,filter:u},f={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i},d=T.runKernel(ss,m,f);return c?R(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var ia=k({depthwiseConv2d_:s6});function i6(r){let e={x:C(r,\"x\",\"diag\")};return T.runKernel(Xl,e)}var FE=k({diag_:i6});function a6(r,t,e,n,o=[1,1],s=\"NHWC\"){let i=C(r,\"x\",\"dilation2d\"),a=C(t,\"filter\",\"dilation2d\");_(i.rank===3||i.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${i.rank}.`),_(a.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${a.rank}.`),_(s===\"NHWC\",()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${s}`);let u=i,l=!1;i.rank===3&&(u=R(i,[1,i.shape[0],i.shape[1],i.shape[2]]),l=!0),_(u.shape[3]===a.shape[2],()=>`Error in dilation2d: input and filter must have the same depth: ${u.shape[3]} vs ${a.shape[2]}`);let c={x:u,filter:a},p={strides:e,pad:n,dilations:o},m=T.runKernel(is,c,p);return l?R(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var Fx=k({dilation2d_:a6});var Ur={};Kt(Ur,{assertAndGetBroadcastShape:()=>Mt,getBroadcastDims:()=>OE,getReductionAxes:()=>be});function OE(r,t){let e=r.length,n=[];for(let o=0;o1&&i===1&&n.unshift(s)}return n}function be(r,t){let e=[];for(let n=0;n1)&&e.unshift(s)}return e}function Mt(r,t){let e=Math.max(r.length,t.length),n=new Array(e);for(let o=0;o`Error in dot: inputs must all be rank 1 or 2, but got ranks ${e.rank} and ${n.rank}.`);let o=e.rank===1?e.size:e.shape[1],s=n.rank===1?n.size:n.shape[0];if(_(o===s,()=>`Error in dot: inner dimensions of inputs must match, but got ${o} and ${s}.`),e.rank===1&&n.rank===1){let i=R(e,[1,-1]),a=R(n,[-1,1]),u=Bt(i,a);return R(u,[])}else if(e.rank===1&&n.rank===2){let i=R(e,[1,-1]),a=R(n,[n.shape[0],n.shape[1]]),u=Bt(i,a);return R(u,[u.size])}else if(e.rank===2&&n.rank===1){let i=R(n,[-1,1]),a=Bt(e,i);return R(a,[a.size])}else{let i=R(n,[n.shape[0],n.shape[1]]);return Bt(e,i)}}var Mx=k({dot_:m6});function f6(r,...t){let e=t.map((o,s)=>C(o,`tensors${s}`,\"einsum\")),n={equation:r};return T.runKernel(Fp,e,n)}var wu=k({einsum_:f6});function d6(r){let e={x:C(r,\"x\",\"elu\",\"float32\")};return T.runKernel(ls,e)}var aa=k({elu_:d6});function h6(r,t){let e=C(r,\"x\",\"ensureShape\",\"string_or_numeric\");if(!m0(e.shape,t))throw new Error(`EnsureShape: Shape of tensor ${e.shape} is not compatible with expected shape ${t}`);return r}var ME=k({ensureShape_:h6});function g6(r){let t=C(r,\"x\",\"erf\");_(t.dtype===\"int32\"||t.dtype===\"float32\",()=>\"Input dtype must be `int32` or `float32`.\"),t.dtype===\"int32\"&&(t=J(t,\"float32\"));let e={x:t};return T.runKernel(us,e)}var Px=k({erf_:g6});function Q0(r,t){for(let e=0;er[s]);return[e,o]}function vo(r,t){let e=t.map(n=>1);return PE(r,e,t)}function x6(r,t,e){_(Q0(t,e),()=>`${r} supports only inner-most axes for now. Got axes ${t} and rank-${e} input.`)}function eN(r,t){if(Q0(r,t))return null;let e=[];for(let n=0;ne.push(n)),e}function mh(r){return r.map((t,e)=>[e,t]).sort((t,e)=>t[1]-e[1]).map(t=>t[0])}function y6(r,t){let e=[];for(let n=t-r;n\"Axis must be <= rank of the tensor\");let n={input:e},o={dim:t};return T.runKernel(Oi,n,o)}var je=k({expandDims_:_6});function E6(r){let e={x:C(r,\"x\",\"expm1\")};return T.runKernel(ps,e)}var zx=k({expm1_:E6});function A6(r,t){let e=C(r,\"x\",\"tile\",\"string_or_numeric\");_(e.rank===t.length,()=>`Error in transpose: rank of input ${e.rank} must match length of reps ${t}.`);let n={x:e},o={reps:t};return T.runKernel(oo,n,o)}var Rr=k({tile_:A6});function D6(r,t,e,n=\"float32\"){t==null&&(t=r);let o=wt([r,t],n),s=r<=t?r:t;for(let a=0;a`Error in localResponseNormalization: x must be rank 3 or 4 but got\n rank ${s.rank}.`),_(_a(t),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${t}.`);let i=s,a=!1;s.rank===3&&(a=!0,i=R(s,[1,s.shape[0],s.shape[1],s.shape[2]]));let u={x:i},l={depthRadius:t,bias:e,alpha:n,beta:o},c=T.runKernel(Cs,u,l);return a?R(c,[c.shape[1],c.shape[2],c.shape[3]]):c}var Wx=k({localResponseNormalization_:W6});function U6(r){let e={x:C(r,\"x\",\"log\",\"float32\")};return T.runKernel(ws,e)}var Nr=k({log_:U6});function H6(r){let e={x:C(r,\"x\",\"log1p\")};return T.runKernel(Is,e)}var vu=k({log1p_:H6});function q6(r){return _(Ti(r),()=>\"The f passed in grad(f) must be a function\"),(t,e)=>{let n=C(t,\"x\",\"tf.grad\",\"string_or_numeric\"),o=e!=null?C(e,\"dy\",\"tf.grad\"):null;return T.tidy(()=>{let{value:s,grads:i}=T.gradients(()=>r(n),[n],o);return o!=null&&$e(s.shape,o.shape,\"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)\"),Hx(i),i[0]})}}function K6(r){return _(Ti(r),()=>\"The f passed in grads(f) must be a function\"),(t,e)=>{_(Array.isArray(t),()=>\"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s\");let n=fl(t,\"args\",\"tf.grads\",\"string_or_numeric\"),o=e!=null?C(e,\"dy\",\"tf.grads\"):null;return T.tidy(()=>{let{value:s,grads:i}=T.gradients(()=>r(...n),n,o);return o!=null&&$e(s.shape,o.shape,\"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),Hx(i),i})}}function j6(r){return _(Ti(r),()=>\"The f passed in valueAndGrad(f) must be a function\"),(t,e)=>{_(t instanceof Lt,()=>\"The x passed in valueAndGrad(f)(x) must be a tensor\"),_(e==null||e instanceof Lt,()=>\"The dy passed in valueAndGrad(f)(x, dy) must be a tensor\");let{grads:n,value:o}=T.gradients(()=>r(t),[t],e);return Hx(n),{grad:n[0],value:o}}}function X6(r){return _(Ti(r),()=>\"The f passed in valueAndGrads(f) must be a function\"),(t,e)=>{_(Array.isArray(t)&&t.every(o=>o instanceof Lt),()=>\"The args passed in valueAndGrads(f)(args) must be array of tensors\"),_(e==null||e instanceof Lt,()=>\"The dy passed in valueAndGrads(f)(args, dy) must be a tensor\");let n=T.gradients(()=>r(...t),t,e);return e!=null&&$e(n.value.shape,e.shape,\"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),Hx(n.grads),n}}function Ux(r,t){_(Ti(r),()=>\"The f passed in variableGrads(f) must be a function\"),_(t==null||Array.isArray(t)&&t.every(l=>l instanceof ml),()=>\"The varList passed in variableGrads(f, varList) must be an array of variables\");let e=t!=null;if(!e){t=[];for(let l in T.registeredVariables)t.push(T.registeredVariables[l])}let n=e?t.filter(l=>!l.trainable):null,o=t.length;t=t.filter(l=>l.trainable),_(t.length>0,()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${o} variables is trainable.`);let s=!0,{value:i,grads:a}=T.gradients(r,t,null,s);_(a.some(l=>l!=null),()=>\"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().\"),_(i.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`);let u={};return t.forEach((l,c)=>{a[c]!=null&&(u[l.name]=a[c])}),n!=null&&n.forEach(l=>u[l.name]=null),{value:i,grads:u}}function pn(r){return T.customGrad(r)}function Hx(r){if(r.filter(e=>e==null).length>0)throw new Error(`Cannot compute gradient of y=f(x) with respect to x. Make sure that\n the f you passed encloses all operations that lead from x to y.`)}function Y6(r){let e={x:C(r,\"x\",\"neg\")};return T.runKernel(Li,e)}var Ut=k({neg_:Y6});function Z6(r){let e={x:C(r,\"x\",\"softplus\")};return T.runKernel(Ys,e)}var li=k({softplus_:Z6});function J6(r){let t=C(r,\"x\",\"logSigmoid\");return pn(n=>({value:Ut(li(Ut(n))),gradFunc:i=>$(i,Qr(Ut(n)))}))(t)}var qx=k({logSigmoid_:J6});function Q6(r,t){let e=C(r,\"a\",\"sub\"),n=C(t,\"b\",\"sub\");[e,n]=Xt(e,n);let o={a:e,b:n};return T.runKernel(ei,o)}var at=k({sub_:Q6});function tX(r,t=-1){let e=C(r,\"logits\",\"logSoftmax\");if(t===-1&&(t=e.rank-1),t!==e.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${e.rank} and axis was ${t}`);return pn((o,s)=>{let a=Sr(o,t,!0),u=at(o,a),l=at(J(u,\"float32\"),Nr(mt(Ke(u),t,!0)));return s([l]),{value:l,gradFunc:(p,m)=>{let[f]=m,d=!0,h=Ke(f);return at(p,$(mt(p,t,d),h))}}})(e)}var am=k({logSoftmax_:tX});function eX(r,t=null,e=!1){let n=C(r,\"x\",\"logSumExp\"),o=fr(t,n.shape),s=Sr(n,o,!0),i=at(n,s),a=Ke(i),u=mt(a,o),l=Nr(u),c=X(R(s,l.shape),l);if(e){let p=vo(c.shape,o);return R(c,p)}return c}var Su=k({logSumExp_:eX});function rX(r,t){let e=C(r,\"a\",\"logicalAnd\",\"bool\"),n=C(t,\"b\",\"logicalAnd\",\"bool\");Mt(e.shape,n.shape);let o={a:e,b:n};return T.runKernel(qa,o)}var Fr=k({logicalAnd_:rX});function nX(r){let e={x:C(r,\"x\",\"logicalNot\",\"bool\")};return T.runKernel(Ka,e)}var Nu=k({logicalNot_:nX});function oX(r,t){let e=C(r,\"a\",\"logicalOr\",\"bool\"),n=C(t,\"b\",\"logicalOr\",\"bool\");Mt(e.shape,n.shape);let o={a:e,b:n};return T.runKernel(ja,o)}var lm=k({logicalOr_:oX});function sX(r,t){let e=C(r,\"a\",\"logicalXor\",\"bool\"),n=C(t,\"b\",\"logicalXor\",\"bool\");return Mt(e.shape,n.shape),Fr(lm(r,t),Nu(Fr(r,t)))}var Kx=k({logicalXor_:sX});var jx=2147483648;function iX(r,t,e=\"left\"){let n=C(r,\"sortedSequence\",\"searchSorted\"),o=C(t,\"values\",\"searchSorted\"),s=n.shape[n.shape.length-1],i=o.shape[o.shape.length-1],a=R(n,[-1,s]),u=R(o,[-1,i]);if(a.rank<2)throw new Error(\"Sorted input argument must be at least 2-dimensional\");if(a.shape[0]!==u.shape[0])throw new Error(\"Leading dimension of 'sortedSequence' and 'values' must match.\");if(jt(u.shape)>=jx)throw new Error(`values tensor size must less than ${jx}`);if(a.shape[1]>=jx)throw new Error(`trailing dim_size must less than ${jx} for int32 output type, was ${a.shape[1]}`);let l={sortedSequence:a,values:u},c={side:e};return T.runKernel(sl,l,c)}var fh=k({searchSorted_:iX});function BE(r,t){return fh(r,t,\"left\")}function aX(r,t,e,n,o){let s=C(r,\"x\",\"maxPool\"),i=1,a=s,u=!1;s.rank===3&&(u=!0,a=R(s,[1,s.shape[0],s.shape[1],s.shape[2]])),_(a.rank===4,()=>`Error in maxPool: input must be rank 4 but got rank ${a.rank}.`),_(Dr(e,i),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${e} and dilations '${i}'`),ve(\"maxPool\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o},p=T.runKernel(Ns,l,c);return u?R(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var ku=k({maxPool_:aX});function lX(r,t=[1,1,1],e,n,o,s=\"NDHWC\"){let i=C(r,\"x\",\"maxPool3d\"),a=i,u=!1;i.rank===4&&(u=!0,a=R(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),_(a.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${a.rank}.`),_(s===\"NDHWC\",()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),ve(\"maxPool3d\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o,dataFormat:s},p=T.runKernel(Pi,l,c);return u?R(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}var Xx=k({maxPool3d_:lX});function uX(r,t,e,n,o=!1){let i={x:C(r,\"x\",\"maxPoolWithArgmax\")},a={filterSize:t,strides:e,pad:n,includeBatchInIndex:o},u=T.runKernel(eu,i,a);return{result:u[0],indexes:u[1]}}var VE=k({maxPoolWithArgmax_:uX});function cX(r,t){let e=C(r,\"a\",\"maximum\"),n=C(t,\"b\",\"maximum\");[e,n]=Xt(e,n),e.dtype===\"bool\"&&(e=J(e,\"int32\"),n=J(n,\"int32\")),Mt(e.shape,n.shape);let o={a:e,b:n};return T.runKernel(Ss,o)}var kn=k({maximum_:cX});function pX(r,t=null,e=!1){let o={x:C(r,\"x\",\"mean\")},s={axis:t,keepDims:e};return T.runKernel(ks,o,s)}var Ne=k({mean_:pX});function ke(r,t=\"float32\"){if(Le(r),t===\"complex64\"){let n=ke(r,\"float32\"),o=ke(r,\"float32\");return Sn(n,o)}let e=Ep(jt(r),t);return T.makeTensor(e,r,t)}function ar(r,t=\"float32\"){if(Le(r),t===\"complex64\"){let n=ar(r,\"float32\"),o=ke(r,\"float32\");return Sn(n,o)}let e=Xd(jt(r),t);return T.makeTensor(e,r,t)}function GE(r,t,{indexing:e=\"xy\"}={}){if(e!==\"xy\"&&e!==\"ij\")throw new TypeError(`${e} is not a valid third argument to meshgrid`);if(r===void 0)return[];let n=C(r,\"x\",\"meshgrid\",r instanceof Lt?r.dtype:\"float32\");if(t===void 0)return[n];let o=C(t,\"y\",\"meshgrid\",t instanceof Lt?t.dtype:\"float32\"),s=jt(n.shape),i=jt(o.shape);return e===\"xy\"?(n=R(n,[1,-1]),o=R(o,[-1,1]),[Bt(ar([i,1],n.dtype),n),Bt(o,ar([1,s],o.dtype))]):(n=R(n,[-1,1]),o=R(o,[1,-1]),[Bt(n,ar([1,i],n.dtype)),Bt(ar([s,1],o.dtype),o)])}function mX(r,t){let e=C(r,\"a\",\"minimum\"),n=C(t,\"b\",\"minimum\");[e,n]=Xt(e,n),e.dtype===\"bool\"&&(e=J(e,\"int32\"),n=J(n,\"int32\")),Mt(e.shape,n.shape);let o={a:e,b:n};return T.runKernel(_s,o)}var lo=k({minimum_:mX});function fX(r,t,e){_(e===\"reflect\"||e===\"symmetric\",()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${e}.`);let n=C(r,\"x\",\"mirrorPad\");if(n.rank===0)throw new Error(\"mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad\");_(t.length===n.rank,()=>`Padding doesn't match input. Must be ${n.rank}. Got ${t.length}.`);let o=e===\"reflect\"?1:0;for(let a=0;a\"Invalid number of paddings. Must be length of 2 each.\"),_(t[a][0]>=0&&t[a][0]<=n.shape[a]-o&&t[a][1]>=0&&t[a][1]<=n.shape[a]-o,()=>`Padding in dimension ${a} cannot be greater than or equal to ${n.shape[a]-o} or less than 0 for input of shape ${n.shape}`);let s={paddings:t,mode:e},i={x:n};return T.runKernel(Es,i,s)}var Yx=k({mirrorPad_:fX});function dX(r,t){let e=C(r,\"a\",\"mod\"),n=C(t,\"b\",\"mod\");[e,n]=Xt(e,n);let o={a:e,b:n};return T.runKernel(As,o)}var Zx=k({mod_:dX});function hX(r,t=null,e=!1){r=C(r,\"x\",\"moments\");let n=fr(t,r.shape),o=Ne(r,n,e),s=o.shape;e||(s=vo(o.shape,n));let i=Wt(at(J(r,\"float32\"),R(o,s))),a=Ne(i,n,e);return{mean:o,variance:a}}var dc=k({moments_:hX});function gX(r,t,e,n){let o=C(t,\"data\",\"multiRNNCell\"),s=fl(e,\"c\",\"multiRNNCell\"),i=fl(n,\"h\",\"multiRNNCell\"),a=o,u=[];for(let p=0;p2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${i}`);e=e||Math.random();let u={logits:i===1?R(o,[1,-1]):o},l={numSamples:t,seed:e,normalized:n},c=T.runKernel(Ya,u,l);return i===1?R(c,[c.size]):c}var UE=k({multinomial_:xX});function yX(r,t){let e=C(r,\"a\",\"notEqual\",\"string_or_numeric\"),n=C(t,\"b\",\"notEqual\",\"string_or_numeric\");[e,n]=Xt(e,n),Mt(e.shape,n.shape);let o={a:e,b:n};return T.runKernel(Za,o)}var ui=k({notEqual_:yX});function bX(r,t,e=1,n=0,o=\"int32\"){if(t<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${t}`);let i={indices:C(r,\"indices\",\"oneHot\",\"int32\")},a={dtype:o,depth:t,onValue:e,offValue:n};return T.runKernel($s,i,a)}var ca=k({oneHot_:bX});function wX(r){let e={x:C(r,\"x\",\"onesLike\")};return T.runKernel(zi,e)}var wr=k({onesLike_:wX});function IX(r,t){let e=C(r,\"v1\",\"outerProduct\"),n=C(t,\"v2\",\"outerProduct\");_(e.rank===1&&n.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${e.rank} and ${n.rank}.`);let o=R(e,[-1,1]),s=R(n,[1,-1]);return Bt(o,s)}var HE=k({outerProduct_:IX});function CX(r,t,e=0){let n=C(r,\"x\",\"pad\");if(n.rank===0)throw new Error(\"pad(scalar) is not defined. Pass non-scalar to pad\");let o={paddings:t,constantValue:e},s={x:n};return T.runKernel(Rs,s,o)}var mn=k({pad_:CX});function vX(r,t,e=0){return _(t.length===2,()=>\"Invalid number of paddings. Must be length of 2.\"),mn(r,[t],e)}var qE=k({pad1d_:vX});function SX(r,t,e=0){return _(t.length===2&&t[0].length===2&&t[1].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),mn(r,t,e)}var KE=k({pad2d_:SX});function NX(r,t,e=0){return _(t.length===3&&t[0].length===2&&t[1].length===2&&t[2].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),mn(r,t,e)}var jE=k({pad3d_:NX});function kX(r,t,e=0){return _(t.length===4&&t[0].length===2&&t[1].length===2&&t[2].length===2&&t[3].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),mn(r,t,e)}var XE=k({pad4d_:kX});function TX(r,t,e){let n=C(r,\"x\",\"spaceToBatchND\");_(n.rank>=1+t.length,()=>`input rank ${n.rank} should be > than [blockShape] ${t.length}`),_(e.length===t.length,()=>`paddings.shape[0] ${e.length} must be equal to [blockShape] ${t.length}`),_(n.shape.reduce((i,a,u)=>u>0&&u<=t.length?i&&(a+e[u-1][0]+e[u-1][1])%t[u-1]===0:i,!0),()=>`input spatial dimensions ${n.shape.slice(1)} with paddings ${e.toString()} must be divisible by blockShapes ${t.toString()}`);let o={x:n},s={blockShape:t,paddings:e};return T.runKernel(Ui,o,s)}var Tu=k({spaceToBatchND_:TX});function _X(r,t,e,n,o,s,i){o==null&&(o=[1,1]),s==null&&(s=1),n===0&&(n=\"valid\");let a=C(r,\"x\",\"maxPool\"),u=a,l=!1;a.rank===3&&(l=!0,u=R(a,[1,a.shape[0],a.shape[1],a.shape[2]])),_(Dr(s,o),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${s} and dilations '${o}'`);let c=Z0(u.shape,t,s,o,n),p=[c.dilationHeight,c.dilationWidth],m;n===\"same\"?m=AX([c.filterHeight,c.filterWidth],p):m=[[0,0],[0,0]];let f=p[0]===1&&p[1]===1,[d,h]=EX([c.inHeight,c.inWidth],p,m),g=f?n:\"valid\",x=f?u:Tu(u,p,d),w=(e===\"avg\"?()=>xu(x,t,s,g,i):()=>ku(x,t,s,g,i))(),I=f?w:yu(w,p,h);return l?R(I,[I.shape[1],I.shape[2],I.shape[3]]):I}function EX(r,t,e){let n=e.map(c=>c[0]),o=e.map(c=>c[1]),s=r.concat(n,o),i=t.map((c,p)=>(c-s[p]%c)%c),a=o.map((c,p)=>c+i[p]),u=t.map((c,p)=>[n[p],a[p]]),l=t.map((c,p)=>[0,i[p]]);return[u,l]}function AX(r,t){let n=r.map((i,a)=>i+(i-1)*(t[a]-1)).map(i=>i-1),o=n.map(i=>Math.floor(i/2)),s=n.map((i,a)=>i-o[a]);return n.map((i,a)=>[o[a],s[a]])}var Jx=k({pool_:_X});function DX(r,t){let e=C(r,\"x\",\"prelu\"),n=C(t,\"alpha\",\"prelu\"),o={x:e,alpha:n};return T.runKernel(Os,o)}var _u=k({prelu_:DX});function $X(r,t=null,e=!1){let n=C(r,\"x\",\"prod\");n.dtype===\"bool\"&&(n=J(n,\"int32\"));let o={x:n},s={axis:t,keepDims:e};return T.runKernel(Ms,o,s)}var Qx=k({prod_:$X});function RX(r,t,e,n){let o=r.map((c,p)=>C(c,`tensors${p}`,\"raggedGather\",\"int32\")),s=C(t,\"paramsDenseValues\",\"raggedGather\"),i=C(e,\"indices\",\"raggedGather\",\"int32\"),a={paramsNestedSplits:o,paramsDenseValues:s,indices:i},u={outputRaggedRank:n},l=T.runKernel(Lp,a,u);return{outputNestedSplits:l.slice(0,l.length-1),outputDenseValues:l[l.length-1]}}var YE=k({raggedGather_:RX});function FX(r,t,e){let n=C(r,\"starts\",\"raggedRange\"),o=C(t,\"limits\",\"raggedRange\",n.dtype),s=C(e,\"deltas\",\"raggedRange\",n.dtype),i={starts:n,limits:o,deltas:s},a=T.runKernel(zp,i);return{rtNestedSplits:a[0],rtDenseValues:a[1]}}var ZE=k({raggedRange_:FX});function OX(r,t,e,n,o){let s=C(r,\"shape\",\"raggedTensorToTensor\",\"int32\"),i=C(t,\"values\",\"raggedTensorToTensor\"),a=C(e,\"defaultValue\",\"raggedTensorToTensor\",i.dtype),u=n.map((p,m)=>C(p,`tensors${m}`,\"raggedTensorToTensor\",\"int32\")),l={shape:s,values:i,defaultValue:a,rowPartitionTensors:u},c={rowPartitionTypes:o};return T.runKernel(Bp,l,c)}var JE=k({raggedTensorToTensor_:OX});function MX(r,t,e){Le(r);let n=jt(r),o=null;if(e==null||e===\"float32\")o=new Float32Array(n);else if(e===\"int32\")o=new Int32Array(n);else if(e===\"bool\")o=new Uint8Array(n);else throw new Error(`Unknown data type ${e}`);for(let s=0;sgA,createVideoElement:()=>XX,encodeStrings:()=>yA,expectArrayBuffersEqual:()=>jX,expectArraysClose:()=>UX,expectArraysEqual:()=>qX,expectNumbersClose:()=>xA,expectPromiseToFail:()=>HX,expectValuesInRange:()=>KX,play:()=>YX,testEpsilon:()=>ey});var WX=.001,gA=.1;function UX(r,t,e){return e==null&&(e=ey()),uN(r,t,(n,o)=>cN(n,o,e))}function ey(){return T.backend.floatPrecision()===32?WX:gA}function uN(r,t,e){let n=!0;if((sr(r)||sr(t))&&(n=!1),sr(r)&&sr(t)&&(n=!0),n){let i=r.constructor.name,a=t.constructor.name;if(i!==a)throw new Error(`Arrays are of different type. Actual: ${i}. Expected: ${a}`)}if(Array.isArray(r)&&Array.isArray(t)){let i=Gr(r),a=Gr(t);if(!on(i,a))throw new Error(`Arrays have different shapes. Actual: [${i}]. Expected: [${a}]`)}let o=sr(r)?r:si(r),s=sr(t)?t:si(t);if(o.length!==s.length)throw new Error(`Arrays have different lengths actual: ${o.length} vs expected: ${s.length}.\nActual: ${o}.\nExpected: ${s}.`);for(let i=0;it.fail(),()=>t()),typeof expect!=\"undefined\"&&expect().nothing()}function qX(r,t){let e=typeof t==\"string\"||typeof t==\"number\"||typeof t==\"boolean\"?[t]:t;return Vo(r)||Vo(r[0])||Vo(t)||Vo(t[0])?uN(r,e,(n,o)=>n==o):uN(r,t,(n,o)=>cN(n,o,0))}function xA(r,t,e){if(e==null&&(e=ey()),!cN(r,t,e))throw new Error(`Numbers differ: actual === ${r}, expected === ${t}`);typeof expect!=\"undefined\"&&expect().nothing()}function cN(r,t,e){return!isFinite(r)&&!isFinite(t)?!0:!(isNaN(r)||isNaN(t)||Math.abs(r-t)>e)}function KX(r,t,e){for(let n=0;ne)throw new Error(`Value out of range:${r[n]} low: ${t}, high: ${e}`)}function jX(r,t){let e=new Float32Array(r),n=new Float32Array(t);if(e.length!==n.length)throw new Error(`Expected ArrayBuffer to be of length ${n.length}, but it was ${e.length}`);for(let o=0;o{t.addEventListener(\"loadeddata\",n=>e(t)),t.load()})}async function YX(r){await r.play(),\"requestVideoFrameCallback\"in r&&await new Promise(t=>{r.requestVideoFrameCallback(t)})}var gc=class{constructor(t,e,n,o,s){this.mean=t,this.stdDev=e,this.dtype=n,this.nextVal=NaN,this.truncated=o,this.truncated&&(this.upper=this.mean+this.stdDev*2,this.lower=this.mean-this.stdDev*2);let i=s||Math.random();this.random=oy.alea(i.toString())}nextValue(){if(!isNaN(this.nextVal)){let o=this.nextVal;return this.nextVal=NaN,o}let t,e,n=!1;for(;!n;){let o,s,i;do o=2*this.random()-1,s=2*this.random()-1,i=o*o+s*s;while(i>=1||i===0);let a=Math.sqrt(-2*Math.log(i)/i);t=this.mean+this.stdDev*o*a,e=this.mean+this.stdDev*s*a,(!this.truncated||this.isValidTruncated(t))&&(n=!0)}return(!this.truncated||this.isValidTruncated(e))&&(this.nextVal=this.convertValue(e)),this.convertValue(t)}convertValue(t){return this.dtype==null||this.dtype===\"float32\"?t:Math.round(t)}isValidTruncated(t){return t<=this.upper&&t>=this.lower}},ry=class{constructor(t,e,n,o){this.alpha=t,this.beta=1/e,this.dtype=n;let s=o||Math.random();this.randu=oy.alea(s.toString()),this.randn=new gc(0,1,n,!1,this.randu()),t<1?this.d=t+2/3:this.d=t-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let t,e,n,o,s,i;for(;;){do o=this.randn.nextValue(),i=1+this.c*o;while(i<=0);if(i*=i*i,t=o*o,e=1-.331*t*t,n=.5*t+this.d*(1-i+Math.log(i)),s=this.randu(),sthis.dtype==null||this.dtype===\"float32\",this.min=t,this.range=e-t,this.dtype=n,o==null&&(o=Math.random()),typeof o==\"number\"&&(o=o.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${t} - ${e} <= 1 and dtype is not float`);this.random=oy.alea(o)}convertValue(t){return this.canReturnFloat()?t:Math.round(t)}nextValue(){return this.convertValue(this.min+this.range*this.random())}};function ZX(r,t,e=1,n=\"float32\",o){if(Le(r),e==null&&(e=1),n==null&&(n=\"float32\"),n!==\"float32\"&&n!==\"int32\")throw new Error(`Unsupported data type ${n}`);let s=new ry(t,e,n,o),i=wt(r,n);for(let a=0;a`Error in reverse1D: x must be rank 1 but got rank ${t.rank}.`),dr(t,0)}var vA=k({reverse1d_:a5});function l5(r,t){let e=C(r,\"x\",\"reverse\");return _(e.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${e.rank}.`),dr(e,t)}var SA=k({reverse2d_:l5});function u5(r,t){let e=C(r,\"x\",\"reverse\");return _(e.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${e.rank}.`),dr(e,t)}var NA=k({reverse3d_:u5});function c5(r,t){let e=C(r,\"x\",\"reverse\");return _(e.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${e.rank}.`),dr(e,t)}var kA=k({reverse4d_:c5});function p5(r){let e={x:C(r,\"x\",\"round\")};return T.runKernel(Ws,e)}var cm=k({round_:p5});function m5(r){let e={x:C(r,\"x\",\"rsqrt\",\"float32\")};return T.runKernel(Us,e)}var pm=k({rsqrt_:m5});function f5(r){let e={x:C(r,\"x\",\"selu\")};return T.runKernel(Hs,e)}var mm=k({selu_:f5});function d5(r,t,e,n,o,s=[1,1],i=\"NHWC\"){let a=C(r,\"x\",\"separableConv2d\"),u=C(t,\"depthwiseFilter\",\"separableConv2d\"),l=C(e,\"pointwiseFilter\",\"separableConv2d\"),c=a,p=!1;if(a.rank===3&&(p=!0,c=R(a,[1,a.shape[0],a.shape[1],a.shape[2]])),i===\"NCHW\")throw new Error(\"separableConv2d currently does not support dataFormat NCHW; only NHWC is supported\");_(c.rank===4,()=>`Error in separableConv2d: input must be rank 4, but got rank ${c.rank}.`),_(u.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${u.rank}.`),_(l.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${u.rank}.`),_(l.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${l.shape[0]}.`),_(l.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${l.shape[1]}.`);let m=u.shape[2],f=u.shape[3];_(l.shape[2]===m*f,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${m*f}, but got ${l.shape[2]}.`);let d=ia(c,u,n,o,i,s),g=Nn(d,l,1,\"valid\",i);return p?R(g,[g.shape[1],g.shape[2],g.shape[3]]):g}var fm=k({separableConv2d_:d5});async function h5(r,t){let e=C(r,\"x\",\"setdiff1d\"),n=C(t,\"y\",\"setdiff1d\");_(e.dtype===n.dtype,()=>`x and y should have the same dtype, but got x (${e.dtype}) and y (${n.dtype}).`),_(e.rank===1,()=>`x should be 1D tensor, but got x (${e.shape}).`),_(n.rank===1,()=>`y should be 1D tensor, but got y (${n.shape}).`);let o=await e.data(),s=await n.data(),i=new Set(s),a=0;for(let c=0;c`slice1d expects a rank-1 tensor, but got a rank-${n.rank} tensor`),Ot(n,[t],[e])}var gm=k({slice1d_:b5});function w5(r,t,e){let n=C(r,\"x\",\"slice2d\");return _(n.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${n.rank} tensor`),Ot(n,t,e)}var hh=k({slice2d_:w5});function I5(r,t,e){let n=C(r,\"x\",\"slice3d\");return _(n.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${n.rank} tensor`),Ot(n,t,e)}var xm=k({slice3d_:I5});function C5(r,t,e){let n=C(r,\"x\",\"slice4d\");return _(n.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${n.rank} tensor`),Ot(n,t,e)}var yc=k({slice4d_:C5});function v5(r,t=-1){let e=C(r,\"logits\",\"softmax\",\"float32\");if(t===-1&&(t=e.rank-1),t!==e.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${e.rank} and dim was ${t}`);let n={logits:e},o={dim:t};return T.runKernel(Qs,n,o)}var Eu=k({softmax_:v5});function S5(r){_(r.dtype===\"complex64\",()=>`The dtype for tf.spectral.fft() must be complex64 but got ${r.dtype}.`);let t={input:r};return T.runKernel(Op,t)}var Au=k({fft_:S5});function N5(r){_(r.dtype===\"complex64\",()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${r.dtype}.`);let t={input:r};return T.runKernel(Mp,t)}var wl=k({ifft_:N5});function k5(r){let t=r.shape[r.shape.length-1],e=r.size/t,n;if(t<=2){let o=R(r,[e,t]);n=wl(o)}else{let o=[e,2*(t-1)],s=R(bl(r),[e,t]),i=R(Iu(r),[e,t]),a=dr(Ot(s,[0,1],[e,t-2]),1),u=$(dr(Ot(i,[0,1],[e,t-2]),1),pt(-1)),l=ie([s,a],1),c=ie([i,u],1),p=R(Sn(l,c),[o[0],o[1]]);n=wl(p)}if(n=bl(n),r.rank===3&&r.shape[0]!==0){let o=n,s=r.shape[0];n=R(n,[s,n.shape[0]/s,n.shape[1]]),o.dispose()}return n}var ym=k({irfft_:k5});function T5(r,t,e=0){let o={x:C(r,\"x\",\"split\")},s={numOrSizeSplits:t,axis:e};return T.runKernel(Hi,o,s)}var hr=k({split_:T5});function _5(r,t){_(r.dtype===\"float32\",()=>`The dtype for rfft() must be real value but got ${r.dtype}`);let e=r.shape[r.shape.length-1],n=r.size/e,o;if(t!=null&&t0),h=r.shape.map(g=>g);h[r.shape.length-1]=t,o=Ot(r,d,h),e=t}else if(t!=null&&t>e){let d=r.shape.map(h=>h);d[r.shape.length-1]=t-e,o=ie([r,ke(d)],r.shape.length-1),e=t}else o=r;let s=vt(o),i=R(Sn(o,s),[n,e]),a=Au(i),u=Math.floor(e/2)+1,l=bl(a),c=Iu(a),p=hr(l,[u,e-u],l.shape.length-1),m=hr(c,[u,e-u],c.shape.length-1),f=o.shape.slice();return f[o.shape.length-1]=u,R(Sn(p[0],m[0]),f)}var Du=k({rfft_:_5});function E5(r,t){let e=C(r,\"a\",\"squaredDifference\"),n=C(t,\"b\",\"squaredDifference\");[e,n]=Xt(e,n),Mt(e.shape,n.shape);let o={a:e,b:n},s={};return T.runKernel(ti,o,s)}var bm=k({squaredDifference_:E5});function A5(r,t){let e=C(r,\"x\",\"squeeze\",\"string_or_numeric\");return R(e,f0(e.shape,t).newShape)}var Wn=k({squeeze_:A5});function D5(r,t=0){let e=fl(r,\"tensors\",\"stack\",\"string_or_numeric\");_(e.length>=1,()=>\"Pass at least one tensor to tf.stack\"),e.length>0&&_(t<=e[0].rank,()=>\"Axis must be <= rank of the tensor\");let n=e,o={axis:t};return T.runKernel(Bi,n,o)}var Fe=k({stack_:D5});function $5(r,t=0){let n={x:C(r,\"x\",\"step\")},o={alpha:t};return T.runKernel(xo,n,o)}var So=k({step_:$5});function R5(r,t,e,n,o=0,s=0,i=0,a=0,u=0){let c={x:C(r,\"x\",\"stridedSlice\",\"string_or_numeric\")},p={begin:t,end:e,strides:n,beginMask:o,endMask:s,ellipsisMask:i,newAxisMask:a,shrinkAxisMask:u};return T.runKernel(ll,c,p)}var ay=k({stridedSlice_:R5});function F5(r){let e={x:C(r,\"x\",\"tan\",\"float32\")};return T.runKernel(ri,e)}var ly=k({tan_:F5});function Oe(r,t){ro(r);let e=Gr(r,t);if(e.length!==1)throw new Error(\"tensor1d() requires values to be a flat/TypedArray\");return an(r,null,e,t)}function ci(r,t,e){if(ro(r),t!=null&&t.length!==2)throw new Error(\"tensor2d() requires shape to have two numbers\");let n=Gr(r,e);if(n.length!==2&&n.length!==1)throw new Error(\"tensor2d() requires values to be number[][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor2d() requires shape to be provided when `values` are a flat/TypedArray\");return an(r,t,n,e)}function uy(r,t,e){if(ro(r),t!=null&&t.length!==3)throw new Error(\"tensor3d() requires shape to have three numbers\");let n=Gr(r,e);if(n.length!==3&&n.length!==1)throw new Error(\"tensor3d() requires values to be number[][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor3d() requires shape to be provided when `values` are a flat array\");return an(r,t,n,e)}function _A(r,t,e){if(ro(r),t!=null&&t.length!==4)throw new Error(\"tensor4d() requires shape to have four numbers\");let n=Gr(r,e);if(n.length!==4&&n.length!==1)throw new Error(\"tensor4d() requires values to be number[][][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor4d() requires shape to be provided when `values` are a flat array\");return an(r,t,n,e)}function EA(r,t,e){if(ro(r),t!=null&&t.length!==5)throw new Error(\"tensor5d() requires shape to have five numbers\");let n=Gr(r,e);if(n.length!==5&&n.length!==1)throw new Error(\"tensor5d() requires values to be number[][][][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor5d() requires shape to be provided when `values` are a flat array\");return an(r,t,n,e)}function AA(r,t,e){if(ro(r),t!=null&&t.length!==6)throw new Error(\"tensor6d() requires shape to have six numbers\");let n=Gr(r,e);if(n.length!==6&&n.length!==1)throw new Error(\"tensor6d() requires values to be number[][][][][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor6d() requires shape to be provided when `values` are a flat array\");return t=t||n,an(r,t,n,e)}var $u={};Kt($u,{calculateShapes:()=>DA,validateInput:()=>wm,validateUpdateShape:()=>pN});function pN(r,t,e){let n=t.rank>1?t.shape[t.rank-1]:1,o=t.rank>1?t.rank-1:1,s=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${e.shape}, indices.shape: ${t.shape}, shape: ${r}, sliceDim: ${n}, and batchDim: ${o}.`;if(e.rank1?t.shape[n-1]:1,s=e.length,i=1;for(let p=o;p= 0 but got ${t}`);if(t>o)throw new Error(`'k' passed to topk() must be <= the last dimension (${o}) but got ${t}`);let s={x:n},i={k:t,sorted:e},[a,u]=T.runKernel(ul,s,i);return{values:a,indices:u}}var cy=k({topk_:M5});function P5(r,t=0,e=1,n,o){if(Le(r),n!=null&&n===\"bool\")throw new Error(\"Unsupported data type $ { dtype }\");let s=new gc(t,e,n,!0,o),i=wt(r,n);for(let a=0;a0,()=>\"The input tensor must be at least 1D\");let n={x:e},o={axis:t},[s,i]=T.runKernel(cu,n,o);return{values:s,indices:i}}var py=k({unique_:L5});function z5(r,t,e){let n=C(r,\"x\",\"unsortedSegmentSum\"),o=C(t,\"segmentIds\",\"unsortedSegmentSum\",\"int32\");_(_a(e),()=>\"numSegments must be of dtype int\");let s={x:n,segmentIds:o},i={numSegments:e};return T.runKernel(pu,s,i)}var Cm=k({unsortedSegmentSum_:z5});function B5(r,t=0){let e=C(r,\"x\",\"unstack\",\"string_or_numeric\");_(t>=-e.shape.length&&t`Axis = ${t} is not in [-${e.shape.length}, ${e.shape.length})`);let n={value:e},o={axis:t};return T.runKernel(qi,n,o)}var gr=k({unstack_:B5});function RA(r,t){return fh(r,t,\"right\")}function my(r,t=!0,e,n){return T.makeVariable(r,t,e,n)}function fy(r,t){let e=[];for(let s=0;s0,()=>\"mask cannot be scalar\"),$e(a.slice(s,s+i),o.shape,\"mask's shape must match the first K dimensions of tensor's shape,\");let u=1;for(let h=s;ha).reverse()),_(n.rank===t.length,()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${t}.`),t.forEach(i=>{_(i>=0&&i`All entries in 'perm' must be between 0 and ${n.rank-1} but got ${t}`)}),n.rank<=1)return n.clone();let o={x:n},s={perm:t};return n.dtype===\"complex64\"?B(()=>{let i=bl(n),a=Iu(n);return i=T.runKernel(so,{x:i},s),a=T.runKernel(so,{x:a},s),e&&(a=Ut(a)),Sn(i,a)}):T.runKernel(so,o,s)}var Vt=k({transpose_:U5});function H5(r,t,e,n,o=!0){let s=C(r,\"v\",\"movingAverage\"),i=C(t,\"x\",\"movingAverage\"),a=C(e,\"decay\",\"movingAverage\");F0(s,i),_(on(s.shape,i.shape),()=>\"Shape mismatch in v and x\");let u=pt(1),l=at(u,a),c=$(at(i,s),l);if(o){_(n!=null,()=>\"When using zeroDebias: true, step is required.\");let p=C(n,\"step\",\"movingAverage\");c=ct(c,at(u,un(a,p)))}return X(s,c)}var q5=k({movingAverage_:H5});function K5(r,t,e){Le(e);let n=C(r,\"indices\",\"scatterND\",\"int32\"),o=C(t,\"updates\",\"scatterND\");wm(o,n,e);let s={indices:n,updates:o},i={shape:e};return T.runKernel(nl,s,i)}var j5=k({scatterND_:K5});function FA(r,t,e,n){if(r.dtype!==\"int32\")throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${r.dtype}.`);if(r.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${r.shape}.`);let o=r.rank>0?r.shape[0]:1,s=r.rank>1?r.shape[1]:1;if(e.length!==s)throw new Error(`outputShape has incorrect number of elements:, ${e.length}, should be: ${s}.`);let i=t.size;if(!(t.rank===0||t.rank===1&&i===o))throw new Error(`sparseValues has incorrect shape ${t.shape}, should be [] or [${o}]`);if(t.dtype!==n.dtype)throw new Error(\"sparseValues.dtype must match defaultValues.dtype\")}function Y5(r,t,e,n=0){Le(e);let o=C(r,\"sparseIndices\",\"sparseToDense\",\"int32\"),s=C(t,\"sparseValues\",\"sparseToDense\",\"string_or_numeric\"),i=C(n,\"defaultValue\",\"sparseToDense\",s.dtype);FA(o,s,e,i);let a={sparseIndices:o,sparseValues:s,defaultValue:i},u={outputShape:e};return T.runKernel(al,a,u)}var Z5=k({sparseToDense_:Y5});function J5(r,t){let e=C(t,\"indices\",\"gatherND\",\"int32\"),o={params:C(r,\"x\",\"gatherND\",\"string_or_numeric\"),indices:e};return T.runKernel(Va,o)}var Q5=k({gatherND_:J5});function OA(r,t){if(t==null)return r.shape.slice();if(on(r.shape,t))return t;if(r.shape.length===t.length){let e=[];for(let n=0;n`x has to be a floating point tensor since it's going to be scaled, but got a ${o.dtype} tensor instead.`),_(t>=0&&t<1,()=>`rate must be a float in the range [0, 1), but got ${t}.`),t===0)return r instanceof Lt?o.clone():o;let s=OA(o,e),i=1-t,a=ct(la(X(Gn(s,0,1,\"float32\",n),i)),i);return $(o,a)}var mN=k({dropout_:t8});function fN(r){return Math.floor(Math.pow(2,Math.ceil(Math.log(r)/Math.log(2))))}function gh(r,t,e){let n=1-r%2,o=new Float32Array(r);for(let s=0;s1,()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${n.rank}`),_(n.rank-1===o.rank,()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${n.rank} and targets rank ${o.rank}`),$e(n.shape.slice(0,n.shape.length-1),o.shape,\"predictions's shape should be align with the targets' shape, except the last dimension.\");let s=n.shape[n.shape.length-1];_(e>0&&e<=s,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${s}), but got ${e}`);let i=await n.data(),a=await o.data(),[u,l]=[i.length/s,s],c=d0(\"bool\",u);for(let p=0;pg.value-h.value),c[p]=0;for(let h=0;hMA,depthwiseConv2d:()=>PA,matMul:()=>LA});function n8(r,t,e,n,o,s=\"NHWC\",i){let a=r;r.rank===3&&(a=R(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let u=t;u.rank===3&&(u=R(t,[1,t.shape[0],t.shape[1],t.shape[2]])),_(a.rank===4,()=>`Error in conv2dDerFilter: input must be rank 4, but got shape ${a.shape}.`),_(u.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${u.shape}.`),_(e.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${e}.`);let l=s===\"NHWC\"?a.shape[3]:a.shape[1],c=s===\"NHWC\"?u.shape[3]:u.shape[1];_(l===e[2],()=>`Error in conv2dDerFilter: depth of input ${l}) must match input depth in filter (${e[2]}.`),_(c===e[3],()=>`Error in conv2dDerFilter: depth of dy (${c}) must match output depth for filter (${e[3]}).`),ve(\"conv2dDerFilter\",o,i);let p={x:a,dy:u},m={strides:n,pad:o,dataFormat:s,dimRoundingMode:i,filterShape:e};return T.runKernel(Dp,p,m)}var vm=k({conv2DBackpropFilter_:n8});function bc(r,t,e){if(e==null||e===\"linear\")return r;if(e===\"relu\")return $(r,So(t));throw new Error(`Cannot compute gradient for fused activation ${e}.`)}function wc(r,t){let e=t,n=be(r.shape,t.shape);return n.length>0&&(e=mt(e,n)),R(e,r.shape)}function Ic(r,t,e,n){if(t===\"linear\")return r;if(t===\"relu\")return Or(r);if(t===\"elu\")return aa(r);if(t===\"relu6\")return um(r);if(t===\"prelu\")return _u(r,e);if(t===\"leakyrelu\")return Cu(r,n);if(t===\"sigmoid\")return Qr(r);throw new Error(`Unknown fused activation ${t}.`)}var Cc=(r,t)=>!(r>0)||t===\"linear\";function o8({x:r,filter:t,strides:e,pad:n,dataFormat:o=\"NHWC\",dilations:s=[1,1],dimRoundingMode:i,bias:a,activation:u=\"linear\",preluActivationWeights:l,leakyreluAlpha:c}){if(u=u||\"linear\",Cc(T.state.gradientDepth,u)===!1){_(o===\"NHWC\",()=>`Error in fused conv2d: got dataFormat of ${o} but only NHWC is currently supported for the case of gradient depth is 0 and the activation is not linear.`);let E=Nn(r,t,e,n,o,s,i);return a!=null&&(E=X(E,a)),Ic(E,u,l,c)}let p=C(r,\"x\",\"conv2d\",\"float32\"),m=C(t,\"filter\",\"conv2d\",\"float32\"),f=p,d=!1;p.rank===3&&(d=!0,f=R(p,[1,p.shape[0],p.shape[1],p.shape[2]])),_(f.rank===4,()=>`Error in fused conv2d: input must be rank 4, but got rank ${f.rank}.`),_(m.rank===4,()=>`Error in fused conv2d: filter must be rank 4, but got rank ${m.rank}.`),ve(\"fused conv2d\",n,i);let h=o===\"NHWC\"?f.shape[3]:f.shape[1];_(m.shape[2]===h,()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${m.shape[2]}.`),_(Dr(e,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`);let g=pc(f.shape,m.shape,e,s,n,i),x;a!=null&&(x=C(a,\"bias\",\"fused conv2d\"),[x]=Xt(x,p),o===\"NHWC\"?Mt(g.outShape,x.shape):(_(x.shape.length<=1,()=>`Error in fused conv2d: only supports scalar or 1-D Tensor bias for NCHW format but got the bias of rank-${x.shape.length}.`),_(x.shape.length===0||x.shape[0]===g.outChannels||x.shape[0]===1,()=>`Error in fused conv2d: bias shape (${x.shape}) is not compatible with the number of output channels (${g.outChannels})`)));let b;if(l!=null){let E=l.shape;if(_(E.length<=1||E.length===3,()=>`Error in fused conv2d: only supports scalar, 1-D Tensor or 3-D Tensor PReLU activation weights but got a tensor of rank-${E.length}.`),E.length===1)_(E[0]===1||E[0]===g.outChannels,()=>`Error in fused conv2d: PReLU activation weights (${E}) is not compatible with the number of output channels (${g.outChannels}).`);else if(E.length===3)try{Mt(E,g.outShape)}catch(A){let D=`Error in fused conv2d: PReLU activation weights (${E}) is not compatible with the output shape of the conv2d (${g.outShape}).`;throw Error(D)}b=C(l,\"prelu weights\",\"fused conv2d\")}let w=(E,A)=>{_(o===\"NHWC\",()=>`Error in gradient of fused conv2D: got dataFormat of ${o} but only NHWC is currently supported.`);let[D,F,M,V]=A,G=bc(E,M,u);_(io(s),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`);let W=nm(F.shape,G,D,e,n),q=vm(F,G,D.shape,e,n),H=[W,q];if(V!=null){let K=wc(V,G);H.push(K)}return H},I={x:f,filter:m,bias:x,preluActivationWeights:b},N={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i,activation:u,leakyreluAlpha:c};return a==null?pn((A,D,F)=>{let M=T.runKernel(Xi,I,N);return F([D,A,M]),d&&(M=R(M,[M.shape[1],M.shape[2],M.shape[3]])),{value:M,gradFunc:w}})(f,m):pn((A,D,F,M)=>{let V=T.runKernel(Xi,I,N);return M([D,A,V,F]),d&&(V=R(V,[V.shape[1],V.shape[2],V.shape[3]])),{value:V,gradFunc:w}})(f,m,x)}var MA=k({fusedConv2d_:o8});function s8(r,t,e,n,o,s=[1,1],i){let a=r;r.rank===3&&(a=R(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let u=t;u.rank===3&&(u=R(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l={x:a,dy:u},c={strides:n,pad:o,dimRoundingMode:i,dilations:s,filterShape:e};return T.runKernel($p,l,c)}var hy=k({depthwiseConv2dNativeBackpropFilter_:s8});function i8(r,t,e,n,o,s=[1,1],i){let a=t,u=!1;t.rank===3&&(u=!0,a=R(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l={dy:a,filter:e},c={strides:n,pad:o,dimRoundingMode:i,dilations:s,inputShape:r},p=T.runKernel(Rp,l,c);return u?R(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var gy=k({depthwiseConv2dNativeBackpropInput_:i8});function a8({x:r,filter:t,strides:e,pad:n,dataFormat:o=\"NHWC\",dilations:s=[1,1],dimRoundingMode:i,bias:a,activation:u=\"linear\",preluActivationWeights:l,leakyreluAlpha:c}){if(Cc(T.state.gradientDepth,u)===!1){let N=ia(r,t,e,n,o,s,i);return a!=null&&(N=X(N,a)),Ic(N,u,l,c)}let p=C(r,\"x\",\"depthwiseConv2d\",\"float32\"),m=C(t,\"filter\",\"depthwiseConv2d\",\"float32\"),f=p,d=!1;p.rank===3&&(d=!0,f=R(p,[1,p.shape[0],p.shape[1],p.shape[2]])),_(f.rank===4,()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${f.rank}.`),_(m.rank===4,()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${m.rank}.`),_(f.shape[3]===m.shape[2],()=>`Error in fused depthwiseConv2d: number of input channels (${f.shape[3]}) must match the inChannels dimension in filter ${m.shape[2]}.`),s==null&&(s=[1,1]),_(Dr(e,s),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`),ve(\"fused depthwiseConv2d\",n,i);let h=pc(f.shape,m.shape,e,s,n,i,!0),g;a!=null&&(g=C(a,\"bias\",\"fused conv2d\"),[g]=Xt(g,p),Mt(h.outShape,g.shape));let x;l!=null&&(x=C(l,\"prelu weights\",\"fused depthwiseConv2d\"));let b=(N,E)=>{_(io(s),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${s}'`);let[A,D,F,M]=E,V=bc(N,F,u),G=gy(D.shape,V,A,e,n,s,i),W=hy(D,V,A.shape,e,n,s,i);if(M!=null){let q=wc(g,V);return[G,W,q]}return[G,W]},w={x:f,filter:m,bias:g,preluActivationWeights:x},I={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i,activation:u,leakyreluAlpha:c};return a==null?pn((E,A,D)=>{let F=T.runKernel(Yi,w,I);return D([A,E,F]),d&&(F=R(F,[F.shape[1],F.shape[2],F.shape[3]])),{value:F,gradFunc:b}})(f,m):pn((E,A,D,F)=>{let M=T.runKernel(Yi,w,I);return F([A,E,M,D]),d&&(M=R(M,[M.shape[1],M.shape[2],M.shape[3]])),{value:M,gradFunc:b}})(f,m,g)}var PA=k({fusedDepthwiseConv2d_:a8});function l8({a:r,b:t,transposeA:e=!1,transposeB:n=!1,bias:o,activation:s=\"linear\",preluActivationWeights:i,leakyreluAlpha:a=.2}){if(Cc(T.state.gradientDepth,s)===!1){let V=Bt(r,t,e,n);return o!=null&&(V=X(V,o)),Ic(V,s,i,a)}let u=C(r,\"a\",\"fused matMul\"),l=C(t,\"b\",\"fused matMul\");[u,l]=Xt(u,l);let c=e?u.shape[u.rank-2]:u.shape[u.rank-1],p=n?l.shape[l.rank-1]:l.shape[l.rank-2],m=e?u.shape[u.rank-1]:u.shape[u.rank-2],f=n?l.shape[l.rank-2]:l.shape[l.rank-1],d=u.shape.slice(0,-2),h=l.shape.slice(0,-2),g=jt(d),x=jt(h);_(c===p,()=>`Error in fused matMul: inner shapes (${c}) and (${p}) of Tensors with shapes ${u.shape} and ${l.shape} and transposeA=${e} and transposeB=${n} must match.`);let w=Mt(u.shape.slice(0,-2),l.shape.slice(0,-2)).concat([m,f]),I=e?R(u,[g,c,m]):R(u,[g,m,c]),N=n?R(l,[x,f,p]):R(l,[x,p,f]),E;o!=null&&(E=C(o,\"bias\",\"fused matMul\"),[E]=Xt(E,u),Mt(w,E.shape));let A;i!=null&&(A=C(i,\"prelu weights\",\"fused matMul\"));let D=(V,G)=>{let[W,q,H,K]=G,Y=bc(R(V,H.shape),H,s),Z,et;if(!e&&!n?(Z=Bt(Y,q,!1,!0),et=Bt(W,Y,!0,!1)):!e&&n?(Z=Bt(Y,q,!1,!1),et=Bt(Y,W,!0,!1)):e&&!n?(Z=Bt(q,Y,!1,!0),et=Bt(W,Y,!1,!1)):(Z=Bt(q,Y,!0,!0),et=Bt(Y,W,!0,!0)),o!=null){let nt=wc(K,Y);return[Z,et,nt]}else return[Z,et]},F={a:I,b:N,bias:E,preluActivationWeights:A},M={transposeA:e,transposeB:n,activation:s,leakyreluAlpha:a};return o==null?pn((G,W,q)=>{let H=T.runKernel(ji,F,M);return q([G,W,H]),{value:R(H,w),gradFunc:D}})(I,N):pn((G,W,q,H)=>{let K=T.runKernel(ji,F,M);return H([G,W,K,q]),{value:R(K,w),gradFunc:D}})(I,N,E)}var LA=k({fusedMatMul_:l8});function u8(r){return gh(r,.54,.46)}var zA=k({hammingWindow_:u8});function c8(r){return gh(r,.5,.5)}var xy=k({hannWindow_:c8});function p8(r,t,e,n=!1,o=0){let s=0,i=[];for(;s+t<=r.size;)i.push(Ot(r,s,t)),s+=e;if(n)for(;s`Error in cropAndResize: image must be rank 4,but got rank ${i.rank}.`),_(a.rank===2&&a.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${l},4] but had shape ${a.shape}.`),_(u.rank===1&&u.shape[0]===l,()=>`Error in cropAndResize: boxInd must be have size [${l}] but had shape ${a.shape}.`),_(n.length===2,()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${n.length}.`),_(n[0]>=1&&n[1]>=1,()=>`cropSize must be atleast [1,1], but was ${n}`),_(o===\"bilinear\"||o===\"nearest\",()=>`method must be bilinear or nearest, but was ${o}`);let c={image:i,boxes:a,boxInd:u},p={method:o,extrapolationValue:s,cropSize:n};return T.runKernel(Ma,c,p)}var VA=k({cropAndResize_:f8});function d8(r){let t=C(r,\"image\",\"flipLeftRight\",\"float32\");_(t.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${t.rank}.`);let e={image:t};return T.runKernel(Ba,e,{})}var GA=k({flipLeftRight_:d8});function h8(r){let t=C(r,\"image\",\"grayscaleToRGB\"),e=t.rank-1,n=t.shape[e];_(t.rank>=2,()=>`Error in grayscaleToRGB: images must be at least rank 2, but got rank ${t.rank}.`),_(n===1,()=>`Error in grayscaleToRGB: last dimension of a grayscale image should be size 1, but got size ${n}.`);let o=new Array(t.rank);return o.fill(1,0,e),o[e]=3,Rr(t,o)}var WA=k({grayscaleToRGB_:h8});function g8(r){let t=C(r,\"image\",\"RGBToGrayscale\"),e=t.rank-1,n=t.shape[e];_(t.rank>=2,()=>`Error in RGBToGrayscale: images must be at least rank 2, but got rank ${t.rank}.`),_(n===3,()=>`Error in RGBToGrayscale: last dimension of an RGB image should be size 3, but got size ${n}.`);let o=t.dtype,s=J(t,\"float32\"),i=Oe([.2989,.587,.114]),a;switch(t.rank){case 2:a=wu(\"ij,j->i\",s,i);break;case 3:a=wu(\"ijk,k->ij\",s,i);break;case 4:a=wu(\"ijkl,l->ijk\",s,i);break;case 5:a=wu(\"ijklm,m->ijkl\",s,i);break;case 6:a=wu(\"ijklmn,n->ijklm\",s,i);break;default:throw new Error(\"Not a valid tensor rank.\")}return a=je(a,-1),J(a,o)}var UA=k({rgbToGrayscale_:g8});function x8(r,t,e=0,n=.5){let o=C(r,\"image\",\"rotateWithOffset\",\"float32\");_(o.rank===4,()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${o.rank}.`);let s={image:o},i={radians:t,fillValue:e,center:n};return T.runKernel(pl,s,i)}var HA=k({rotateWithOffset_:x8});function No(r,t,e,n,o,s){n==null&&(n=.5),o==null&&(o=Number.NEGATIVE_INFINITY),s==null&&(s=0);let i=r.shape[0];return e=Math.min(e,i),_(0<=n&&n<=1,()=>`iouThreshold must be in [0, 1], but was '${n}'`),_(r.rank===2,()=>`boxes must be a 2D tensor, but was of rank '${r.rank}'`),_(r.shape[1]===4,()=>`boxes must have 4 columns, but 2nd dimension was ${r.shape[1]}`),_(t.rank===1,()=>\"scores must be a 1D tensor\"),_(t.shape[0]===i,()=>`scores has incompatible shape with boxes. Expected ${i}, but was ${t.shape[0]}`),_(0<=s&&s<=1,()=>`softNmsSigma must be in [0, 1], but was '${s}'`),{maxOutputSize:e,iouThreshold:n,scoreThreshold:o,softNmsSigma:s}}function y8(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY){let s=C(r,\"boxes\",\"nonMaxSuppression\",\"float32\"),i=C(t,\"scores\",\"nonMaxSuppression\",\"float32\"),a=No(s,i,e,n,o);e=a.maxOutputSize,n=a.iouThreshold,o=a.scoreThreshold;let u={maxOutputSize:e,iouThreshold:n,scoreThreshold:o};return T.runKernel(Ja,{boxes:s,scores:i},u)}var qA=k({nonMaxSuppression_:y8});function KA(r,t,e){let n=b8(r,t,e),o=n<0?-(n+1):n;r.splice(o,0,t)}function b8(r,t,e){return I8(r,t,e||w8)}function w8(r,t){return r>t?1:r>>1);let a=e(t,r[s]);a>0?n=s+1:(o=s,i=!a)}return i?n:-n-1}function by(r,t,e,n,o){return dN(r,t,e,n,o,0)}function wy(r,t,e,n,o,s){return dN(r,t,e,n,o,0,!1,s,!0)}function Iy(r,t,e,n,o,s){return dN(r,t,e,n,o,s,!0)}function dN(r,t,e,n,o,s,i=!1,a=!1,u=!1){let l=[];for(let g=0;go&&l.push({score:t[g],boxIndex:g,suppressBeginIndex:0});l.sort(jA);let c=s>0?-.5/s:0,p=[],m=[];for(;p.length0;){let g=l.pop(),{score:x,boxIndex:b,suppressBeginIndex:w}=g;if(x=w;--N){let E=C8(r,b,p[N]);if(E>=n){I=!0;break}if(g.score=g.score*v8(n,c,E),g.score<=o)break}g.suppressBeginIndex=p.length,I||(g.score===x?(p.push(b),m.push(g.score)):g.score>o&&KA(l,g,jA))}let f=p.length,d=e-f;a&&d>0&&(p.push(...new Array(d).fill(0)),m.push(...new Array(d).fill(0)));let h={selectedIndices:p};return i&&(h.selectedScores=m),u&&(h.validOutputs=f),h}function C8(r,t,e){let n=r.subarray(t*4,t*4+4),o=r.subarray(e*4,e*4+4),s=Math.min(n[0],n[2]),i=Math.min(n[1],n[3]),a=Math.max(n[0],n[2]),u=Math.max(n[1],n[3]),l=Math.min(o[0],o[2]),c=Math.min(o[1],o[3]),p=Math.max(o[0],o[2]),m=Math.max(o[1],o[3]),f=(a-s)*(u-i),d=(p-l)*(m-c);if(f<=0||d<=0)return 0;let h=Math.max(s,l),g=Math.max(i,c),x=Math.min(a,p),b=Math.min(u,m),w=Math.max(x-h,0)*Math.max(b-g,0);return w/(f+d-w)}function v8(r,t,e){let n=Math.exp(t*e*e);return e<=r?n:0}function jA(r,t){return r.score-t.score||r.score===t.score&&t.boxIndex-r.boxIndex}async function S8(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY){let s=C(r,\"boxes\",\"nonMaxSuppressionAsync\"),i=C(t,\"scores\",\"nonMaxSuppressionAsync\"),a=No(s,i,e,n,o);e=a.maxOutputSize,n=a.iouThreshold,o=a.scoreThreshold;let u=await Promise.all([s.data(),i.data()]),l=u[0],c=u[1],{selectedIndices:p}=by(l,c,e,n,o);return s!==r&&s.dispose(),i!==t&&i.dispose(),Oe(p,\"int32\")}var XA=S8;function N8(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=0){let i=C(r,\"boxes\",\"nonMaxSuppression\"),a=C(t,\"scores\",\"nonMaxSuppression\"),u=No(i,a,e,n,o,s);e=u.maxOutputSize,n=u.iouThreshold,o=u.scoreThreshold,s=u.softNmsSigma;let l={boxes:i,scores:a},c={maxOutputSize:e,iouThreshold:n,scoreThreshold:o,softNmsSigma:s},p=T.runKernel(tl,l,c);return{selectedIndices:p[0],selectedScores:p[1]}}var YA=k({nonMaxSuppressionWithScore_:N8});async function k8(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=0){let i=C(r,\"boxes\",\"nonMaxSuppressionAsync\"),a=C(t,\"scores\",\"nonMaxSuppressionAsync\"),u=No(i,a,e,n,o,s);e=u.maxOutputSize,n=u.iouThreshold,o=u.scoreThreshold,s=u.softNmsSigma;let l=await Promise.all([i.data(),a.data()]),c=l[0],p=l[1],{selectedIndices:m,selectedScores:f}=Iy(c,p,e,n,o,s);return i!==r&&i.dispose(),a!==t&&a.dispose(),{selectedIndices:Oe(m,\"int32\"),selectedScores:Oe(f)}}var ZA=k8;function T8(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=!1){let i=C(r,\"boxes\",\"nonMaxSuppression\"),a=C(t,\"scores\",\"nonMaxSuppression\"),u=No(i,a,e,n,o,null),l=u.maxOutputSize,c=u.iouThreshold,p=u.scoreThreshold,m={boxes:i,scores:a},f={maxOutputSize:l,iouThreshold:c,scoreThreshold:p,padToMaxOutputSize:s},d=T.runKernel(Qa,m,f);return{selectedIndices:d[0],validOutputs:d[1]}}var JA=k({nonMaxSuppressionPadded_:T8});async function _8(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=!1){let i=C(r,\"boxes\",\"nonMaxSuppressionAsync\"),a=C(t,\"scores\",\"nonMaxSuppressionAsync\"),u=No(i,a,e,n,o,null),l=u.maxOutputSize,c=u.iouThreshold,p=u.scoreThreshold,[m,f]=await Promise.all([i.data(),a.data()]),{selectedIndices:d,validOutputs:h}=wy(m,f,l,c,p,s);return i!==r&&i.dispose(),a!==t&&a.dispose(),{selectedIndices:Oe(d,\"int32\"),validOutputs:pt(h,\"int32\")}}var QA=_8;function E8(r,t,e=!1,n=!1){let o=C(r,\"images\",\"resizeBilinear\");_(o.rank===3||o.rank===4,()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${o.rank}.`),_(t.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${t}.`),_(n===!1||e===!1,()=>\"Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false.\");let s=o,i=!1;o.rank===3&&(i=!0,s=R(o,[1,o.shape[0],o.shape[1],o.shape[2]]));let[]=t,a={images:s},u={alignCorners:e,halfPixelCenters:n,size:t},l=T.runKernel(Bs,a,u);return i?R(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var Cy=k({resizeBilinear_:E8});function A8(r,t,e=!1,n=!1){let o=C(r,\"images\",\"resizeNearestNeighbor\");_(o.rank===3||o.rank===4,()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${o.rank}.`),_(t.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${t}.`),_(o.dtype===\"float32\"||o.dtype===\"int32\",()=>\"`images` must have `int32` or `float32` as dtype\"),_(n===!1||e===!1,()=>\"Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false.\");let s=o,i=!1;o.rank===3&&(i=!0,s=R(o,[1,o.shape[0],o.shape[1],o.shape[2]]));let[]=t,a={images:s},u={alignCorners:e,halfPixelCenters:n,size:t},l=T.runKernel(zs,a,u);return i?R(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var vy=k({resizeNearestNeighbor_:A8});function D8(r,t=\"binary\",e=!1,n=.5){let o=C(r,\"image\",\"threshold\"),s=.2989,i=.587,a=.114,u=o.shape[0]*o.shape[1],l=$(Oe([n]),255),c,p,m,f;if(_(o.rank===3,()=>`Error in threshold: image must be rank 3,but got rank ${o.rank}.`),_(o.shape[2]===3||o.shape[2]===1,()=>`Error in threshold: image color channel must be equal to 3 or 1but got ${o.shape[2]}.`),_(o.dtype===\"int32\"||o.dtype===\"float32\",()=>`Error in dtype: image dtype must be int32 or float32,but got dtype ${o.dtype}.`),_(t===\"otsu\"||t===\"binary\",()=>`Method must be binary or otsu, but was ${t}`),o.shape[2]===3){[c,p,m]=hr(o,[1,1,1],-1);let g=$(c,s),x=$(p,i),b=$(m,a);f=X(X(g,x),b)}else f=r;if(t===\"otsu\"){let g=Sx(J(cm(f),\"int32\"),ir([]),256);l=$8(g,u)}let d=e?Vn(f,l):Re(f,l);return J($(d,255),\"int32\")}function $8(r,t){let e=Oe([-1]),n=Oe([0]),o=Oe([0]),s,i,a,u,l,c;for(let p=0;p`Error in transform: image must be rank 4,but got rank ${i.rank}.`),_(a.rank===2&&(a.shape[0]===i.shape[0]||a.shape[0]===1)&&a.shape[1]===8,()=>\"Error in transform: Input transform should be batch x 8 or 1 x 8\"),_(s==null||s.length===2,()=>`Error in transform: outputShape must be [height, width] or null, but got ${s}.`);let u={image:i,transforms:a},l={interpolation:e,fillMode:n,fillValue:o,outputShape:s};return T.runKernel(cl,u,l)}var e2=k({transform_:R8});function F8(r,t,e){let n=C(r,\"a\",\"bandPart\");_(n.rank>=2,()=>`bandPart(): Rank must be at least 2, got ${n.rank}.`);let o=n.shape,[s,i]=n.shape.slice(-2),a,u;typeof t==\"number\"?(_(t%1===0,()=>`bandPart(): numLower must be an integer, got ${t}.`),_(t<=s,()=>`bandPart(): numLower (${t}) must not be greater than the number of rows (${s}).`),a=C(t<0?s:t,\"numLower\",\"bandPart\")):(_(t.dtype===\"int32\",()=>\"bandPart(): numLower's dtype must be an int32.\"),a=we(yl(t,0),s,lo(t,s))),typeof e==\"number\"?(_(e%1===0,()=>`bandPart(): numUpper must be an integer, got ${e}.`),_(e<=i,()=>`bandPart(): numUpper (${e}) must not be greater than the number of columns (${i}).`),u=C(e<0?i:e,\"numUpper\",\"bandPart\")):(_(e.dtype===\"int32\",()=>\"bandPart(): numUpper's dtype must be an int32.\"),u=we(yl(e,0),i,lo(e,i)));let l=R(pa(0,s,1,\"int32\"),[-1,1]),c=pa(0,i,1,\"int32\"),p=at(l,c),m=Fr(Vn(p,a),cn(p,Ut(u))),f=ke([s,i],n.dtype);return R(Fe(gr(R(n,[-1,s,i])).map(d=>we(m,d,f))),o)}var r2=k({bandPart_:F8});function O8(r){let t;if(Array.isArray(r)){t=!1,_(r!=null&&r.length>0,()=>\"Gram-Schmidt process: input must not be null, undefined, or empty\");let o=r[0].shape[0];for(let s=1;s`Gram-Schmidt: Non-unique lengths found in the input vectors: (${r[s].shape[0]} vs. ${o})`)}else t=!0,r=hr(r,r.shape[0],0).map(o=>Wn(o,[0]));_(r.length<=r[0].shape[0],()=>`Gram-Schmidt: Number of vectors (${r.length}) exceeds number of dimensions (${r[0].shape[0]}).`);let e=[],n=r;for(let o=0;o{let s=n[o];if(o>0)for(let i=0;i=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${r.rank}`),r.rank===2)return o2(r,t);{let e=r.shape.slice(0,r.shape.length-2).reduce((u,l)=>u*l),n=gr(R(r,[e,r.shape[r.shape.length-2],r.shape[r.shape.length-1]]),0),o=[],s=[];n.forEach(u=>{let[l,c]=o2(u,t);o.push(l),s.push(c)});let i=R(Fe(o,0),r.shape),a=R(Fe(s,0),r.shape);return[i,a]}}function o2(r,t=!1){return T.tidy(()=>{_(r.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${r.shape.length}D Tensor.`);let e=r.shape[0],n=r.shape[1],o=fc(e),s=ln(r),i=ci([[1]],[1,1]),a=ln(i),u=e>=n?n:e;for(let l=0;l{let f=Ot(s,[l,l],[e-l,1]),d=xl(f),h=Ot(s,[l,l],[1,1]),g=we(Re(h,0),ci([[-1]]),ci([[1]])),x=at(h,$(g,d)),b=ct(f,x);b.shape[0]===1?a=ln(i):a=ie([i,Ot(b,[1,0],[b.shape[0]-1,b.shape[1]])],0);let w=Ut(ct(Bt(g,x),d)),I=Ot(s,[l,0],[e-l,n]),N=$(w,a),E=Vt(a);if(l===0)s=at(I,Bt(N,Bt(E,I)));else{let F=at(I,Bt(N,Bt(E,I)));s=ie([Ot(s,[0,0],[l,n]),F],0)}let A=Vt(N),D=Ot(o,[0,l],[e,o.shape[1]-l]);if(l===0)o=at(D,Bt(Bt(D,a),A));else{let F=at(D,Bt(Bt(D,a),A));o=ie([Ot(o,[0,0],[e,l]),F],1)}return[a,s,o]}),Tt([c,p,m])}return!t&&e>n&&(o=Ot(o,[0,0],[e,n]),s=Ot(s,[0,0],[n,n])),[o,s]})}var s2=k({qr_:M8});var Je;(function(r){r[r.NONE=0]=\"NONE\",r[r.MEAN=1]=\"MEAN\",r[r.SUM=2]=\"SUM\",r[r.SUM_BY_NONZERO_WEIGHTS=3]=\"SUM_BY_NONZERO_WEIGHTS\"})(Je||(Je={}));function P8(r,t,e=Je.SUM_BY_NONZERO_WEIGHTS){let n=C(r,\"losses\",\"computeWeightedLoss\"),o=null;t!=null&&(o=C(t,\"weights\",\"computeWeightedLoss\"));let s=o==null?n:$(n,o);if(e===Je.NONE)return s;if(e===Je.SUM)return mt(s);if(e===Je.MEAN){if(o==null)return Ne(s);{let i=n.size/o.size,a=ct(mt(s),mt(o));return i>1?ct(a,pt(i)):a}}if(e===Je.SUM_BY_NONZERO_WEIGHTS){if(o==null)return ct(mt(s),pt(n.size));{let i=$(o,ar(n.shape)),a=J(mt(ui(i,pt(0))),\"float32\");return ct(mt(s),a)}}throw Error(`Unknown reduction: ${e}`)}var Hr=k({computeWeightedLoss_:P8});function L8(r,t,e,n=Je.SUM_BY_NONZERO_WEIGHTS){let o=C(r,\"labels\",\"absoluteDifference\"),s=C(t,\"predictions\",\"absoluteDifference\"),i=null;e!=null&&(i=C(e,\"weights\",\"absoluteDifference\")),$e(o.shape,s.shape,\"Error in absoluteDifference: \");let a=_e(at(o,s));return Hr(a,i,n)}var i2=k({absoluteDifference_:L8});function z8(r,t,e,n,o=Je.SUM_BY_NONZERO_WEIGHTS){let s=C(r,\"labels\",\"cosineDistance\"),i=C(t,\"predictions\",\"cosineDistance\"),a=null;n!=null&&(a=C(n,\"weights\",\"cosineDistance\")),$e(s.shape,i.shape,\"Error in cosineDistance: \");let u=pt(1),l=at(u,mt($(s,i),e,!0));return Hr(l,a,o)}var a2=k({cosineDistance_:z8});function B8(r,t,e,n=Je.SUM_BY_NONZERO_WEIGHTS){let o=C(r,\"labels\",\"hingeLoss\"),s=C(t,\"predictions\",\"hingeLoss\"),i=null;e!=null&&(i=C(e,\"weights\",\"hingeLoss\")),$e(o.shape,s.shape,\"Error in hingeLoss: \");let a=pt(1);o=at($(pt(2),o),a);let u=Or(at(a,$(o,s)));return Hr(u,i,n)}var l2=k({hingeLoss_:B8});function V8(r,t,e,n=1,o=Je.SUM_BY_NONZERO_WEIGHTS){let s=C(r,\"labels\",\"huberLoss\"),i=C(t,\"predictions\",\"huberLoss\"),a=null;e!=null&&(a=C(e,\"weights\",\"huberLoss\")),$e(s.shape,i.shape,\"Error in huberLoss: \");let u=pt(n),l=_e(at(i,s)),c=lo(l,u),p=at(l,c),m=X($(pt(.5),Wt(c)),$(u,p));return Hr(m,a,o)}var u2=k({huberLoss_:V8});function G8(r,t,e,n=1e-7,o=Je.SUM_BY_NONZERO_WEIGHTS){let s=C(r,\"labels\",\"logLoss\"),i=C(t,\"predictions\",\"logLoss\"),a=null;e!=null&&(a=C(e,\"weights\",\"logLoss\")),$e(s.shape,i.shape,\"Error in logLoss: \");let u=pt(1),l=pt(n),c=Ut($(s,Nr(X(i,l)))),p=$(at(u,s),Nr(X(at(u,i),l))),m=at(c,p);return Hr(m,a,o)}var c2=k({logLoss_:G8});function W8(r,t,e,n=Je.SUM_BY_NONZERO_WEIGHTS){let o=C(r,\"labels\",\"meanSquaredError\"),s=C(t,\"predictions\",\"meanSquaredError\"),i=null;e!=null&&(i=C(e,\"weights\",\"meanSquaredError\")),$e(o.shape,s.shape,\"Error in meanSquaredError: \");let a=bm(o,s);return Hr(a,i,n)}var p2=k({meanSquaredError_:W8});function U8(r,t){let e=C(r,\"labels\",\"sigmoidCrossEntropyWithLogits\"),n=C(t,\"logits\",\"sigmoidCrossEntropyWithLogits\");$e(e.shape,n.shape,\"Error in sigmoidCrossEntropyWithLogits: \");let o=Or(n),s=$(n,e),i=vu(Ke(Ut(_e(n))));return X(at(o,s),i)}function H8(r,t,e,n=0,o=Je.SUM_BY_NONZERO_WEIGHTS){let s=C(r,\"multiClassLabels\",\"sigmoidCrossEntropy\"),i=C(t,\"logits\",\"sigmoidCrossEntropy\"),a=null;if(e!=null&&(a=C(e,\"weights\",\"sigmoidCrossEntropy\")),$e(s.shape,i.shape,\"Error in sigmoidCrossEntropy: \"),n>0){let l=pt(n),c=pt(1),p=pt(.5);s=X($(s,at(c,l)),$(p,l))}let u=U8(s,i);return Hr(u,a,o)}var m2=k({sigmoidCrossEntropy_:H8});function q8(r,t,e=-1){if(e===-1&&(e=t.rank-1),e!==t.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${t.rank} and dim was ${e}`);return pn((o,s,i)=>{let u=Su(s,[e],!0),l=at(J(s,\"float32\"),u);i([o,l]);let c=Ut($(l,o));return{value:mt(c,[e]),gradFunc:(f,d)=>{let[h,g]=d,x=vo(f.shape,[e]);return[$(R(f,x),at(J(h,\"float32\"),Ke(g))),$(R(f,x),at(Ke(g),J(h,\"float32\")))]}}})(r,t)}function K8(r,t,e,n=0,o=Je.SUM_BY_NONZERO_WEIGHTS){let s=C(r,\"onehotLabels\",\"softmaxCrossEntropy\"),i=C(t,\"logits\",\"softmaxCrossEntropy\"),a=null;if(e!=null&&(a=C(e,\"weights\",\"softmaxCrossEntropy\")),$e(s.shape,i.shape,\"Error in softmaxCrossEntropy: \"),n>0){let l=pt(n),c=pt(1),p=pt(s.shape[1]);s=X($(s,at(c,l)),ct(l,p))}let u=q8(s,i);return Hr(u,a,o)}var f2=k({softmaxCrossEntropy_:K8});function j8(r,t,e,n){let o=C(r,\"indices\",\"sparseFillEmptyRows\",\"int32\"),s=C(t,\"values\",\"sparseFillEmptyRows\"),i=C(e,\"denseShape\",\"sparseFillEmptyRows\",\"int32\"),a=C(n,\"defaultValue\",\"sparseFillEmptyRows\",s.dtype);if(o.rank!==2)throw new Error(`Indices should be Tensor2D but received shape\n ${o.shape}`);if(s.rank!==1)throw new Error(`Values should be Tensor1D but received shape ${s.shape}`);if(i.rank!==1)throw new Error(`Dense shape should be Tensor1D but received shape ${i.shape}`);if(a.rank!==0)throw new Error(`Default value should be a scalar but received shape ${a.shape}`);let u={indices:o,values:s,denseShape:i,defaultValue:a},l=T.runKernel(nu,u);return{outputIndices:l[0],outputValues:l[1],emptyRowIndicator:l[2],reverseIndexMap:l[3]}}var d2=k({sparseFillEmptyRows_:j8});function X8(r,t,e){let n=C(r,\"inputIndices\",\"sparseReshape\",\"int32\"),o=C(t,\"inputShape\",\"sparseReshape\",\"int32\"),s=C(e,\"newShape\",\"sparseReshape\",\"int32\");if(n.rank!==2)throw new Error(`Input indices should be Tensor2D but received shape\n ${n.shape}`);if(o.rank!==1)throw new Error(`Input shape should be Tensor1D but received shape ${o.shape}`);if(s.rank!==1)throw new Error(`New shape should be Tensor1D but received shape ${s.shape}`);let i={inputIndices:n,inputShape:o,newShape:s},a=T.runKernel(il,i);return{outputIndices:a[0],outputShape:a[1]}}var h2=k({sparseReshape_:X8});function Y8(r,t,e){let n=C(r,\"data\",\"sparseSegmentMean\"),o=C(t,\"indices\",\"sparseSegmentMean\",\"int32\"),s=C(e,\"segmentIds\",\"sparseSegmentMean\",\"int32\");if(n.rank<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.rank!==1)throw new Error(`Indices should be Tensor1D but received shape\n ${o.shape}`);if(s.rank!==1)throw new Error(`Segment ids should be Tensor1D but received shape\n ${s.shape}`);let i={data:n,indices:o,segmentIds:s};return T.runKernel(ou,i)}var g2=k({sparseSegmentMean_:Y8});function Z8(r,t,e){let n=C(r,\"data\",\"sparseSegmentSum\"),o=C(t,\"indices\",\"sparseSegmentSum\",\"int32\"),s=C(e,\"segmentIds\",\"sparseSegmentSum\",\"int32\");if(n.rank<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.rank!==1)throw new Error(`Indices should be Tensor1D but received shape\n ${o.shape}`);if(s.rank!==1)throw new Error(`Segment ids should be Tensor1D but received shape\n ${s.shape}`);let i={data:n,indices:o,segmentIds:s};return T.runKernel(su,i)}var x2=k({sparseSegmentSum_:Z8});function J8(r,t,e,n,o,s,i,a){let u=C(r,\"data\",\"stringNGrams\",\"string\");if(u.dtype!==\"string\")throw new Error(\"Data must be of datatype string\");if(u.shape.length!==1)throw new Error(`Data must be a vector, saw: ${u.shape}`);let l=C(t,\"dataSplits\",\"stringNGrams\");if(l.dtype!==\"int32\")throw new Error(\"Data splits must be of datatype int32\");let c={separator:e,nGramWidths:n,leftPad:o,rightPad:s,padWidth:i,preserveShortSequences:a},p={data:u,dataSplits:l},m=T.runKernel(au,p,c);return{nGrams:m[0],nGramsSplits:m[1]}}var y2=k({stringNGrams_:J8});function Q8(r,t,e=!0){let n=C(r,\"input\",\"stringSplit\",\"string\"),o=C(t,\"delimiter\",\"stringSplit\",\"string\");if(n.rank!==1)throw new Error(`Input should be Tensor1D but received shape ${n.shape}`);if(o.rank!==0)throw new Error(`Delimiter should be a scalar but received shape ${o.shape}`);let s={skipEmpty:e},i={input:n,delimiter:o},a=T.runKernel(lu,i,s);return{indices:a[0],values:a[1],shape:a[2]}}var b2=k({stringSplit_:Q8});function tY(r,t){let e=C(r,\"input\",\"stringToHashBucketFast\",\"string\"),n={numBuckets:t};if(t<=0)throw new Error(\"Number of buckets must be at least 1\");let o={input:e};return T.runKernel(uu,o,n)}var w2=k({stringToHashBucketFast_:tY});function eY(r,t,e,n=!0){let o=C(r,\"input\",\"staticRegexReplace\",\"string\"),s={pattern:t,rewrite:e,replaceGlobal:n};return T.runKernel(ec,{x:o},s)}var I2=k({staticRegexReplace_:eY});var rY={fft:Au,ifft:wl,rfft:Du,irfft:ym},nY={hammingWindow:zA,hannWindow:xy,frame:yy,stft:BA},fn={flipLeftRight:GA,grayscaleToRGB:WA,resizeNearestNeighbor:vy,resizeBilinear:Cy,rgbToGrayscale:UA,rotateWithOffset:HA,cropAndResize:VA,nonMaxSuppression:qA,nonMaxSuppressionAsync:XA,nonMaxSuppressionWithScore:YA,nonMaxSuppressionWithScoreAsync:ZA,nonMaxSuppressionPadded:JA,nonMaxSuppressionPaddedAsync:QA,threshold:t2,transform:e2},hN={bandPart:r2,gramSchmidt:n2,qr:s2},oY={absoluteDifference:i2,computeWeightedLoss:Hr,cosineDistance:a2,hingeLoss:l2,huberLoss:u2,logLoss:c2,meanSquaredError:p2,sigmoidCrossEntropy:m2,softmaxCrossEntropy:f2},sY={sparseFillEmptyRows:d2,sparseReshape:h2,sparseSegmentMean:g2,sparseSegmentSum:x2},iY={stringNGrams:y2,stringSplit:b2,stringToHashBucketFast:w2,staticRegexReplace:I2};var Q={};Kt(Q,{Serializable:()=>xh,SerializationMap:()=>Sy,getRegisteredName:()=>lY,registerClass:()=>xN});var aY=new Map,gN=new Map,xh=class{getClassName(){return this.constructor.className}static fromConfig(t,e){return new t(e)}},Sy=class r{constructor(){this.classNameMap={}}static getMap(){return r.instance==null&&(r.instance=new r),r.instance}static register(t){r.getMap().classNameMap[t.className]=[t,t.fromConfig]}};function xN(r,t,e){_(r.className!=null,()=>\"Class being registered does not have the static className property defined.\"),_(typeof r.className==\"string\",()=>\"className is required to be a string, but got type \"+typeof r.className),_(r.className.length>0,()=>\"Class being registered has an empty-string as its className, which is disallowed.\"),typeof t==\"undefined\"&&(t=\"Custom\"),typeof e==\"undefined\"&&(e=r.className);let n=e,o=t+\">\"+n;return Sy.register(r),aY.set(o,r),gN.set(r,o),r}function lY(r){return gN.has(r)?gN.get(r):r.className}var qr=class extends xh{minimize(t,e=!1,n){let{value:o,grads:s}=this.computeGradients(t,n);if(n!=null){let i=n.map(a=>({name:a.name,tensor:s[a.name]}));this.applyGradients(i)}else this.applyGradients(s);return Tt(s),e?o:(o.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(t,e){return Ux(t,e)}dispose(){this.iterations_!=null&&Tt(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:\"iter\",tensor:pt(this.iterations_,\"int32\")}}async getWeights(){throw new Error(\"getWeights() is not implemented for this optimizer yet.\")}async setWeights(t){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(t){return this.iterations_=(await t[0].tensor.data())[0],t.slice(1)}};Object.defineProperty(qr,Symbol.hasInstance,{value:r=>r.minimize!=null&&r.computeGradients!=null&&r.applyGradients!=null});var vc=class extends qr{static get className(){return\"Adadelta\"}constructor(t,e,n=null){super(),this.learningRate=t,this.rho=e,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],n==null&&(this.epsilon=T.backend.epsilon())}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=T.registeredVariables[n],i=!1;this.accumulatedGrads[o]==null&&(this.accumulatedGrads[o]={originalName:`${n}/accum_grad`,variable:B(()=>vt(s).variable(i))}),this.accumulatedUpdates[o]==null&&(this.accumulatedUpdates[o]={originalName:`${n}/accum_var`,variable:B(()=>vt(s).variable(i))});let a=Array.isArray(t)?t[o].tensor:t[n];if(a==null)return;let u=this.accumulatedGrads[o].variable,l=this.accumulatedUpdates[o].variable;B(()=>{let c=X($(u,this.rho),$(Wt(a),1-this.rho)),p=$(ct(Se(X(l,this.epsilon)),Se(X(u,this.epsilon))),a),m=X($(l,this.rho),$(Wt(p),1-this.rho));u.assign(c),l.assign(m);let f=X($(p,-this.learningRate),s);s.assign(f)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(Tt(this.accumulatedGrads.map(t=>t.variable)),Tt(this.accumulatedUpdates.map(t=>t.variable)))}async getWeights(){let t=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(t.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=t.length/2,n=!1;this.accumulatedGrads=t.slice(0,e).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedUpdates=t.slice(e,e*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(t,e){return new t(e.learningRate,e.rho,e.epsilon)}};var Sc=class extends qr{static get className(){return\"Adagrad\"}constructor(t,e=.1){super(),this.learningRate=t,this.initialAccumulatorValue=e,this.accumulatedGrads=[]}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=T.registeredVariables[n];this.accumulatedGrads[o]==null&&(this.accumulatedGrads[o]={originalName:`${n}/accumulator`,variable:B(()=>Co(s.shape,this.initialAccumulatorValue).variable(!1))});let i=Array.isArray(t)?t[o].tensor:t[n];if(i==null)return;let a=this.accumulatedGrads[o].variable;B(()=>{let u=X(a,Wt(i));a.assign(u);let l=X($(ct(i,Se(X(u,T.backend.epsilon()))),-this.learningRate),s);s.assign(l)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&Tt(this.accumulatedGrads.map(t=>t.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=!1;this.accumulatedGrads=t.map(n=>({originalName:n.name,variable:n.tensor.variable(e)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(t,e){return new t(e.learningRate,e.initialAccumulatorValue)}};var Nc=class extends qr{static get className(){return\"Adam\"}constructor(t,e,n,o=null){super(),this.learningRate=t,this.beta1=e,this.beta2=n,this.epsilon=o,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],B(()=>{this.accBeta1=pt(e).variable(),this.accBeta2=pt(n).variable()}),o==null&&(this.epsilon=T.backend.epsilon())}applyGradients(t){let e=Array.isArray(t)?t.map(n=>n.name):Object.keys(t);B(()=>{let n=at(1,this.accBeta1),o=at(1,this.accBeta2);e.forEach((s,i)=>{let a=T.registeredVariables[s],u=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${s}/m`,variable:B(()=>vt(a).variable(u))}),this.accumulatedSecondMoment[i]==null&&(this.accumulatedSecondMoment[i]={originalName:`${s}/v`,variable:B(()=>vt(a).variable(u))});let l=Array.isArray(t)?t[i].tensor:t[s];if(l==null)return;let c=this.accumulatedFirstMoment[i].variable,p=this.accumulatedSecondMoment[i].variable,m=X($(c,this.beta1),$(l,1-this.beta1)),f=X($(p,this.beta2),$(Wt(l),1-this.beta2)),d=ct(m,n),h=ct(f,o);c.assign(m),p.assign(f);let g=X($(ct(d,X(Se(h),this.epsilon)),-this.learningRate),a);a.assign(g)}),this.accBeta1.assign($(this.accBeta1,this.beta1)),this.accBeta2.assign($(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&Tt(this.accumulatedFirstMoment.map(t=>t.variable)),this.accumulatedSecondMoment!=null&&Tt(this.accumulatedSecondMoment.map(t=>t.variable))}async getWeights(){let t=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(t.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(t){t=await this.extractIterations(t),B(()=>{this.accBeta1.assign(un(this.beta1,this.iterations_+1)),this.accBeta2.assign(un(this.beta2,this.iterations_+1))});let e=t.length/2,n=!1;this.accumulatedFirstMoment=t.slice(0,e).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedSecondMoment=t.slice(e,e*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(t,e){return new t(e.learningRate,e.beta1,e.beta2,e.epsilon)}};var kc=class extends qr{static get className(){return\"Adamax\"}constructor(t,e,n,o=null,s=0){super(),this.learningRate=t,this.beta1=e,this.beta2=n,this.epsilon=o,this.decay=s,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],B(()=>{this.iteration=pt(0).variable(),this.accBeta1=pt(e).variable()}),o==null&&(this.epsilon=T.backend.epsilon())}applyGradients(t){let e=Array.isArray(t)?t.map(n=>n.name):Object.keys(t);B(()=>{let n=at(1,this.accBeta1),o=ct(-this.learningRate,X($(this.iteration,this.decay),1));e.forEach((s,i)=>{let a=T.registeredVariables[s],u=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${s}/m`,variable:vt(a).variable(u)}),this.accumulatedWeightedInfNorm[i]==null&&(this.accumulatedWeightedInfNorm[i]={originalName:`${s}/v`,variable:vt(a).variable(u)});let l=Array.isArray(t)?t[i].tensor:t[s];if(l==null)return;let c=this.accumulatedFirstMoment[i].variable,p=this.accumulatedWeightedInfNorm[i].variable,m=X($(c,this.beta1),$(l,1-this.beta1)),f=$(p,this.beta2),d=_e(l),h=kn(f,d);c.assign(m),p.assign(h);let g=X($(ct(o,n),ct(m,X(h,this.epsilon))),a);a.assign(g)}),this.iteration.assign(X(this.iteration,1)),this.accBeta1.assign($(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&Tt(this.accumulatedFirstMoment.map(t=>t.variable)),this.accumulatedWeightedInfNorm!=null&&Tt(this.accumulatedWeightedInfNorm.map(t=>t.variable))}async getWeights(){throw new Error(\"getWeights() is not implemented for Adamax yet.\")}async setWeights(t){throw new Error(\"setWeights() is not implemented for Adamax yet.\")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(t,e){return new t(e.learningRate,e.beta1,e.beta2,e.epsilon,e.decay)}};var Il=class extends qr{static get className(){return\"SGD\"}constructor(t){super(),this.learningRate=t,this.setLearningRate(t)}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=Array.isArray(t)?t[o].tensor:t[n];if(s==null)return;let i=T.registeredVariables[n];B(()=>{let a=X($(this.c,s),i);i.assign(a)})}),this.incrementIterations()}setLearningRate(t){this.learningRate=t,this.c!=null&&this.c.dispose(),this.c=De(pt(-t))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(t){if(t=await this.extractIterations(t),t.length!==0)throw new Error(\"SGD optimizer does not have settable weights.\")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(t,e){return new t(e.learningRate)}};var Tc=class extends Il{static get className(){return\"Momentum\"}constructor(t,e,n=!1){super(t),this.learningRate=t,this.momentum=e,this.useNesterov=n,this.accumulations=[],this.m=pt(this.momentum)}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=T.registeredVariables[n];this.accumulations[o]==null&&(this.accumulations[o]={originalName:`${n}/momentum`,variable:B(()=>vt(s).variable(!1))});let i=this.accumulations[o].variable,a=Array.isArray(t)?t[o].tensor:t[n];a!=null&&B(()=>{let u,l=X($(this.m,i),a);this.useNesterov?u=X($(this.c,X(a,$(l,this.m))),s):u=X($(this.c,l),s),i.assign(l),s.assign(u)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&Tt(this.accumulations.map(t=>t.variable))}setMomentum(t){this.momentum=t}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=!1;this.accumulations=t.map(n=>({originalName:n.name,variable:n.tensor.variable(e)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(t,e){return new t(e.learningRate,e.momentum,e.useNesterov)}};var _c=class extends qr{static get className(){return\"RMSProp\"}constructor(t,e=.9,n=0,o=null,s=!1){if(super(),this.learningRate=t,this.decay=e,this.momentum=n,this.epsilon=o,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=s,o==null&&(this.epsilon=T.backend.epsilon()),t==null)throw new Error(\"learningRate for RMSPropOptimizer must be defined.\")}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=T.registeredVariables[n],i=!1;this.accumulatedMeanSquares[o]==null&&(this.accumulatedMeanSquares[o]={originalName:`${n}/rms`,variable:B(()=>vt(s).variable(i))}),this.accumulatedMoments[o]==null&&(this.accumulatedMoments[o]={originalName:`${n}/momentum`,variable:B(()=>vt(s).variable(i))}),this.accumulatedMeanGrads[o]==null&&this.centered&&(this.accumulatedMeanGrads[o]={originalName:`${n}/mg`,variable:B(()=>vt(s).variable(i))});let a=Array.isArray(t)?t[o].tensor:t[n];if(a==null)return;let u=this.accumulatedMeanSquares[o].variable,l=this.accumulatedMoments[o].variable;B(()=>{let c=X($(u,this.decay),$(Wt(a),1-this.decay));if(this.centered){let p=this.accumulatedMeanGrads[o].variable,m=X($(p,this.decay),$(a,1-this.decay)),f=ct($(a,this.learningRate),Se(at(c,X(Wt(m),this.epsilon)))),d=X($(l,this.momentum),f);u.assign(c),p.assign(m),l.assign(d);let h=at(s,d);s.assign(h)}else{let p=X($(u,this.decay),$(Wt(a),1-this.decay)),m=X($(l,this.momentum),ct($(a,this.learningRate),Se(X(p,this.epsilon))));u.assign(p),l.assign(m);let f=at(s,m);s.assign(f)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&Tt(this.accumulatedMeanSquares.map(t=>t.variable)),this.accumulatedMeanGrads!=null&&this.centered&&Tt(this.accumulatedMeanGrads.map(t=>t.variable)),this.accumulatedMoments!=null&&Tt(this.accumulatedMoments.map(t=>t.variable))}async getWeights(){let t=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&t.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(t.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=this.centered?t.length/3:t.length/2,n=!1;this.accumulatedMeanSquares=t.slice(0,e).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedMoments=t.slice(e,e*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.centered&&(this.accumulatedMeanGrads=t.slice(e*2,e*3).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(t,e){return new t(e.learningRate,e.decay,e.momentum,e.epsilon,e.centered)}};var uY=[vc,Sc,Nc,kc,Tc,_c,Il];function C2(){for(let r of uY)xN(r)}var Mr={};Kt(Mr,{CompositeArrayBuffer:()=>Wr,browserFiles:()=>S2,browserHTTPRequest:()=>_2,concatenateArrayBuffers:()=>uE,copyModel:()=>vE,decodeWeights:()=>sx,decodeWeightsStream:()=>ix,encodeWeights:()=>sE,fromMemory:()=>E2,fromMemorySync:()=>vN,getLoadHandlers:()=>fE,getModelArtifactsForJSON:()=>Yp,getModelArtifactsForJSONSync:()=>W0,getModelArtifactsInfoForJSON:()=>Ji,getSaveHandlers:()=>mE,getWeightSpecs:()=>lh,http:()=>ky,isHTTPScheme:()=>Ny,listModels:()=>IE,loadWeights:()=>k2,moveModel:()=>SE,registerLoadRouter:()=>pE,registerSaveRouter:()=>cE,removeModel:()=>CE,weightsLoaderFactory:()=>IN,withSaveHandler:()=>A2,withSaveHandlerSync:()=>D2});var cY=\"model\",pY=\".json\",mY=\".weights.bin\";function v2(r){return new Promise(t=>setTimeout(t)).then(r)}var Sm=class r{constructor(t){if(!L().getBool(\"IS_BROWSER\"))throw new Error(\"browserDownloads() cannot proceed because the current environment is not a browser.\");t.startsWith(r.URL_SCHEME)&&(t=t.slice(r.URL_SCHEME.length)),(t==null||t.length===0)&&(t=cY),this.modelJsonFileName=t+pY,this.weightDataFileName=t+mY}async save(t){if(typeof document==\"undefined\")throw new Error(\"Browser downloads are not supported in this environment since `document` is not present\");let e=Wr.join(t.weightData),n=window.URL.createObjectURL(new Blob([e],{type:\"application/octet-stream\"}));if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserDownloads.save() does not support saving model topology in binary formats yet.\");{let o=[{paths:[\"./\"+this.weightDataFileName],weights:t.weightSpecs}],s=ax(t,o),i=window.URL.createObjectURL(new Blob([JSON.stringify(s)],{type:\"application/json\"})),a=this.modelJsonAnchor==null?document.createElement(\"a\"):this.modelJsonAnchor;if(a.download=this.modelJsonFileName,a.href=i,await v2(()=>a.dispatchEvent(new MouseEvent(\"click\"))),t.weightData!=null){let u=this.weightDataAnchor==null?document.createElement(\"a\"):this.weightDataAnchor;u.download=this.weightDataFileName,u.href=n,await v2(()=>u.dispatchEvent(new MouseEvent(\"click\")))}return{modelArtifactsInfo:Ji(t)}}}};Sm.URL_SCHEME=\"downloads://\";var yN=class{constructor(t){if(t==null||t.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${t}`);this.jsonFile=t[0],this.weightsFiles=t.slice(1)}async load(){return new Promise((t,e)=>{let n=new FileReader;n.onload=o=>{let s=JSON.parse(o.target.result),i=s.modelTopology;if(i==null){e(new Error(`modelTopology field is missing from file ${this.jsonFile.name}`));return}if(s.weightsManifest==null){e(new Error(`weightManifest field is missing from file ${this.jsonFile.name}`));return}if(this.weightsFiles.length===0){t({modelTopology:i});return}let u=Yp(s,l=>this.loadWeights(l));t(u)},n.onerror=o=>e(`Failed to read model topology and weights manifest JSON from file '${this.jsonFile.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),n.readAsText(this.jsonFile)})}loadWeights(t){let e=[],n=[];for(let i of t)e.push(...i.weights),n.push(...i.paths);let o=this.checkManifestAndWeightFiles(t),s=n.map(i=>this.loadWeightsFile(i,o[i]));return Promise.all(s).then(i=>[e,i])}loadWeightsFile(t,e){return new Promise((n,o)=>{let s=new FileReader;s.onload=i=>{let a=i.target.result;n(a)},s.onerror=i=>o(`Failed to weights data from file of path '${t}'.`),s.readAsArrayBuffer(e)})}checkManifestAndWeightFiles(t){let e=[],n=this.weightsFiles.map(s=>G0(s.name)),o={};for(let s of t)s.paths.forEach(i=>{let a=G0(i);if(e.indexOf(a)!==-1)throw new Error(`Duplicate file basename found in weights manifest: '${a}'`);if(e.push(a),n.indexOf(a)===-1)throw new Error(`Weight file with basename '${a}' is not provided.`);o[i]=this.weightsFiles[n.indexOf(a)]});if(e.length!==this.weightsFiles.length)throw new Error(`Mismatch in the number of files in weights manifest (${e.length}) and the number of weight files provided (${this.weightsFiles.length}).`);return o}},fY=r=>L().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(Sm.URL_SCHEME)?dY(r.slice(Sm.URL_SCHEME.length)):null;Cr.registerSaveRouter(fY);function dY(r=\"model\"){return new Sm(r)}function S2(r){return new yN(r)}function bN(r,t,e,n){i(r),e=e==null?0:e,n=n==null?1:n,a(e,n);let o=0,s=u=>(u.then(l=>{let c=e+ ++o/r.length*(n-e);return t(c),l}),u);function i(u){_(u!=null&&Array.isArray(u)&&u.length>0,()=>\"promises must be a none empty array\")}function a(u,l){_(u>=0&&u<=1,()=>`Progress fraction must be in range [0, 1], but got startFraction ${u}`),_(l>=0&&l<=1,()=>`Progress fraction must be in range [0, 1], but got endFraction ${l}`),_(l>=u,()=>`startFraction must be no more than endFraction, but got startFraction ${u} and endFraction ${l}`)}return Promise.all(r.map(s))}async function wN(r,t){t==null&&(t={});let e=t.fetchFunc==null?L().platform.fetch:t.fetchFunc,n=r.map(p=>e(p,t.requestInit,{isBinary:!0})),a=(t.onProgress==null?await Promise.all(n):await bN(n,t.onProgress,0,.5)).map(p=>p.arrayBuffer());return t.onProgress==null?await Promise.all(a):await bN(a,t.onProgress,.5,1)}function N2(r,t){var e;let n=t.fetchFunc==null?L().platform.fetch:t.fetchFunc,o=0,s;return(e=t.onProgress)===null||e===void 0||e.call(t,0),new ReadableStream({pull:async i=>{for(var a;owN(i,{requestInit:n}))(r,t,e)}function IN(r){return async(t,e=\"\",n)=>{let o=t.map(()=>!1),s={},i=n!=null?n.map(()=>!1):[],a=[];if(t.forEach((f,d)=>{let h=0;f.weights.forEach(g=>{let x=\"quantization\"in g?g.quantization.dtype:g.dtype,b=dl[x]*jt(g.shape),w=()=>{o[d]=!0,s[d]==null&&(s[d]=[]),s[d].push({manifestEntry:g,groupOffset:h,sizeBytes:b})};n!=null?n.forEach((I,N)=>{I===g.name&&(w(),i[N]=!0)}):w(),a.push(g.name),h+=b})}),!i.every(f=>f)){let f=n.filter((d,h)=>!i[h]);throw new Error(`Could not find weights in manifest with names: ${f.join(\", \")}. \nManifest JSON has weights with names: ${a.join(\", \")}.`)}let u=o.reduce((f,d,h)=>(d&&f.push(h),f),[]),l=[];u.forEach(f=>{t[f].paths.forEach(d=>{let h=e+(e.endsWith(\"/\")?\"\":\"/\")+d;l.push(h)})});let c=await r(l),p={},m=0;return u.forEach(f=>{let d=t[f].paths.length,h=new Wr(c.slice(m,m+d));s[f].forEach(x=>{let b=h.slice(x.groupOffset,x.groupOffset+x.sizeBytes),w=sx(b,[x.manifestEntry]);for(let I in w)p[I]=w[I]}),m+=d}),p}}var hY=\"application/octet-stream\",gY=\"application/json\",yh=class{constructor(t,e){if(this.DEFAULT_METHOD=\"POST\",e==null&&(e={}),this.weightPathPrefix=e.weightPathPrefix,this.weightUrlConverter=e.weightUrlConverter,e.fetchFunc!=null?(_(typeof e.fetchFunc==\"function\",()=>\"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\"),this.fetch=e.fetchFunc):this.fetch=L().platform.fetch,_(t!=null&&t.length>0,()=>\"URL path for http must not be null, undefined or empty.\"),Array.isArray(t)&&_(t.length===2,()=>`URL paths for http must have a length of 2, (actual length is ${t.length}).`),this.path=t,e.requestInit!=null&&e.requestInit.body!=null)throw new Error(\"requestInit is expected to have no pre-existing body, but has one.\");this.requestInit=e.requestInit||{},this.loadOptions=e}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.\");let e=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);e.body=new FormData;let n=[{paths:[\"./model.weights.bin\"],weights:t.weightSpecs}],o=ax(t,n);if(e.body.append(\"model.json\",new Blob([JSON.stringify(o)],{type:gY}),\"model.json\"),t.weightData!=null){let i=Wr.join(t.weightData);e.body.append(\"model.weights.bin\",new Blob([i],{type:hY}),\"model.weights.bin\")}let s=await this.fetch(this.path,e);if(s.ok)return{modelArtifactsInfo:Ji(t),responses:[s]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${s.status}.`)}async loadModelJSON(){let t=await this.fetch(this.path,this.requestInit);if(!t.ok)throw new Error(`Request to ${this.path} failed with status code ${t.status}. Please verify this URL points to the model JSON of the model to load.`);let e;try{e=await t.json()}catch(s){let i=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(\".pb\")?i+=\" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.\":i+=\" Please make sure the server is serving valid JSON for this request.\",new Error(i)}let n=e.modelTopology,o=e.weightsManifest;if(n==null&&o==null)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);return e}async load(){if(this.loadOptions.streamWeights)return this.loadStream();let t=await this.loadModelJSON();return Yp(t,e=>this.loadWeights(e))}async loadStream(){let t=await this.loadModelJSON(),e=await this.getWeightUrls(t.weightsManifest),n=lh(t.weightsManifest),o=()=>N2(e,this.loadOptions);return Object.assign(Object.assign({},t),{weightSpecs:n,getWeightStream:o})}async getWeightUrls(t){let e=Array.isArray(this.path)?this.path[1]:this.path,[n,o]=xY(e),s=this.weightPathPrefix||n,i=[],a=[];for(let u of t)for(let l of u.paths)this.weightUrlConverter!=null?a.push(this.weightUrlConverter(l)):i.push(s+l+o);return this.weightUrlConverter&&i.push(...await Promise.all(a)),i}async loadWeights(t){let e=await this.getWeightUrls(t),n=lh(t),o=await wN(e,this.loadOptions);return[n,o]}};yh.URL_SCHEME_REGEX=/^https?:\\/\\//;function xY(r){let t=r.lastIndexOf(\"/\"),e=r.lastIndexOf(\"?\"),n=r.substring(0,t),o=e>t?r.substring(e):\"\";return[n+\"/\",o]}function Ny(r){return r.match(yh.URL_SCHEME_REGEX)!=null}var T2=(r,t)=>{if(typeof fetch==\"undefined\"&&(t==null||t.fetchFunc==null))return null;{let e=!0;if(Array.isArray(r)?e=r.every(n=>Ny(n)):e=Ny(r),e)return ky(r,t)}return null};Cr.registerSaveRouter(T2);Cr.registerLoadRouter(T2);function ky(r,t){return new yh(r,t)}function _2(r,t){return ky(r,t)}var bh=class{constructor(t){this.modelArtifacts=t}load(){return this.modelArtifacts}},Ty=class{constructor(t){this.saveHandler=t}save(t){return this.saveHandler(t)}},CN=class{constructor(t){t.load&&(this.load=()=>Promise.resolve(t.load())),t.save&&(this.save=e=>Promise.resolve(t.save(e)))}};function E2(r,t,e,n){let o=arguments;return new CN(vN(...o))}function vN(r,t,e,n){return arguments.length===1?r.modelTopology!=null||r.weightSpecs!=null?new bh(r):(console.warn(\"Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release.\"),new bh({modelTopology:r})):(console.warn(\"Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release.\"),new bh({modelTopology:r,weightSpecs:t,weightData:e,trainingConfig:n}))}function A2(r){return new Ty(r)}function D2(r){return new Ty(r)}var R2={};Kt(R2,{confusionMatrix:()=>$2});function yY(r,t,e){let n=C(r,\"labels\",\"confusionMatrix\"),o=C(t,\"predictions\",\"confusionMatrix\");_(e==null||e>0&&Number.isInteger(e),()=>`If provided, numClasses must be a positive integer, but got ${e}`),_(n.rank===1,()=>`Expected the rank of labels to be 1, but got ${n.rank}`),_(o.rank===1,()=>`Expected the rank of predictions to be 1, but got ${o.rank}`),_(n.shape[0]===o.shape[0],()=>`Mismatch in the number of examples: ${n.shape[0]} vs. ${o.shape[0]}. Labels and predictions should have the same number of elements.`),_(e>0&&Number.isInteger(e),()=>`numClasses is required to be a positive integer, but got ${e}`);let s=ca(J(n,\"int32\"),e),i=ca(J(o,\"int32\"),e),a=Vt(s),u=Bt(a,i);return J(u,\"int32\")}var $2=k({confusionMatrix_:yY});var _y={};Kt(_y,{draw:()=>kY,fromPixels:()=>TY,fromPixelsAsync:()=>vY,toPixels:()=>NY});var Ec,F2=!1;function O2(r,t=3){if(t>4)throw new Error(\"Cannot construct Tensor with more than 4 channels from pixels.\");if(r==null)throw new Error(\"pixels passed to tf.browser.fromPixels() can not be null\");let e=!1,n=!1,o=!1,s=!1,i=!1,a=!1;if(r.data instanceof Uint8Array)e=!0;else if(typeof ImageData!=\"undefined\"&&r instanceof ImageData)n=!0;else if(typeof HTMLVideoElement!=\"undefined\"&&r instanceof HTMLVideoElement)o=!0;else if(typeof HTMLImageElement!=\"undefined\"&&r instanceof HTMLImageElement)s=!0;else if(r.getContext!=null)i=!0;else if(typeof ImageBitmap!=\"undefined\"&&r instanceof ImageBitmap)a=!0;else throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${r.constructor.name}`);if(Wp(Qd,T.backendName)!=null){let d={pixels:r},h={numChannels:t};return T.runKernel(Qd,d,h)}let[l,c]=o?[r.videoWidth,r.videoHeight]:[r.width,r.height],p;if(i)p=r.getContext(\"2d\").getImageData(0,0,l,c).data;else if(n||e)p=r.data;else if(s||o||a){if(Ec==null)if(typeof document==\"undefined\")if(typeof OffscreenCanvas!=\"undefined\"&&typeof OffscreenCanvasRenderingContext2D!=\"undefined\")Ec=new OffscreenCanvas(1,1).getContext(\"2d\");else throw new Error(\"Cannot parse input in current context. Reason: OffscreenCanvas Context2D rendering is not supported.\");else Ec=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:!0});Ec.canvas.width=l,Ec.canvas.height=c,Ec.drawImage(r,0,0,l,c),p=Ec.getImageData(0,0,l,c).data}let m;if(t===4)m=new Int32Array(p);else{let d=l*c;m=new Int32Array(d*t);for(let h=0;h4||t===2)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${t}`);if(r.dtype!==\"float32\"&&r.dtype!==\"int32\")throw new Error(`Unsupported type for toPixels: ${r.dtype}. Please use float32 or int32 tensors.`)}function SY(r){let t=(r==null?void 0:r.alpha)||1;if(t>1||t<0)throw new Error(`Alpha value ${t} is suppoed to be in range [0 - 1].`)}async function NY(r,t){let e=C(r,\"img\",\"toPixels\");if(!(r instanceof Lt)){let l=e;e=J(l,\"int32\"),l.dispose()}M2(e);let[n,o]=e.shape.slice(0,2),s=e.rank===2?1:e.shape[2],i=await e.data(),a=e.dtype===\"float32\"?255:1,u=new Uint8ClampedArray(o*n*4);for(let l=0;l1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${f}.`)}else if(e.dtype===\"int32\"&&(f<0||f>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${f}.`);s===1?(c[0]=f*a,c[1]=f*a,c[2]=f*a):c[m]=f*a}let p=l*4;u[p+0]=Math.round(c[0]),u[p+1]=Math.round(c[1]),u[p+2]=Math.round(c[2]),u[p+3]=Math.round(c[3])}if(t!=null){F2||Wp(Jd,T.backendName)!=null&&(console.warn(\"tf.browser.toPixels is not efficient to draw tensor on canvas. Please try tf.browser.draw instead.\"),F2=!0),t.width=o,t.height=n;let l=t.getContext(\"2d\"),c=new ImageData(u,o,n);l.putImageData(c,0,0)}return e!==r&&e.dispose(),u}function kY(r,t,e){let n=C(r,\"img\",\"draw\");if(!(r instanceof Lt)){let i=n;n=J(i,\"int32\"),i.dispose()}M2(n),SY(e==null?void 0:e.imageOptions);let o={image:n},s={canvas:t,options:e};T.runKernel(Jd,o,s)}var TY=k({fromPixels_:O2});var Ey={};Kt(Ey,{prepareAndValidate:()=>P2});function P2(r,t){let e=r.shape.length,n=t.shape.length;if(e<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${e}.`);if(n<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${n}.`);if(t.dtype!==\"int32\")throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);if(t.shape[n-1]>e)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[n-1]} vs. ${e}`);if(jt(r.shape)===0)throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${r.shape}.`);let o=t.shape,s=o[o.length-1],i=1;for(let p=0;pp/l),1].slice(0,s);return[u,i,l,c]}var Be={};Kt(Be,{assertParamsValid:()=>EY,computeFlatOffset:()=>FY,computeOutShape:()=>DY,getNormalizedAxes:()=>$Y,isSliceContinous:()=>RY,maskToAxes:()=>AY,parseSliceParams:()=>NN,sliceInfo:()=>OY,startForAxis:()=>H2,startIndicesWithElidedDims:()=>G2,stopForAxis:()=>q2,stopIndicesWithElidedDims:()=>W2,stridesForAxis:()=>U2,stridesWithElidedDims:()=>z2});var SN=-2,_Y=-1;function EY(r,t,e){let n=r.shape.length;_(n===t.length,()=>`Error in slice${n}D: Length of begin ${t} must match the rank of the array (${n}).`),_(n===e.length,()=>`Error in slice${n}D: Length of size ${e} must match the rank of the array (${n}).`);for(let o=0;o`Error in slice${n}D: begin[${o}] + size[${o}] (${t[o]+e[o]}) would overflow input.shape[${o}] (${r.shape[o]})`)}function AY(r){let t=[],e=0;for(;r>0;)r&1&&t.push(e),r/=2,e++;return t}function DY(r,t,e){let n=[];for(let o=0;o0){let f=t[0],d=e+1;c=G2(i,f,d,n,r),p=W2(a,f,d,o,r),m=z2(s,f,d,r)}else for(let f=0;f-1)s[a]=0;else{let u=B2(t,e,a),l=n[u];r&1<-1)s[a]=Number.MAX_SAFE_INTEGER;else{let u=B2(t,e,a),l=n[u];r&1<0?i=Number.MIN_SAFE_INTEGER:i=Number.MAX_SAFE_INTEGER);let u=n[o];return i<0&&(i+=u),i=kp(0,i,u-1),i}function q2(r,t,e,n,o,s){let i=t[o],a=e[o]||1;(r&1<0?i=Number.MAX_SAFE_INTEGER:i=Number.MIN_SAFE_INTEGER);let u=n[o];return i<0&&(i+=u),a>0?i=kp(0,i,u):i=kp(-1,i,u-1),i}function RY(r,t,e){let n=e.length;for(let o=0;o1){n=o;break}for(let o=n+1;o0||e[o]!==r[o])return!1;return!0}function FY(r,t){let e=r.length>0?r[r.length-1]:1;for(let n=0;n{_(i!==-1,()=>\"slice() does not support negative begin indexing.\")});let s;return e==null?s=new Array(o).fill(-1):typeof e==\"number\"?s=[e,...new Array(o-1).fill(-1)]:e.lengthi>=0?i:(_(i===-1,()=>`Negative size values should be exactly -1 but got ${i} for the slice() size at index ${a}.`),r.shape[a]-n[a])),[n,s]}function OY(r,t,e,n,o,s,i,a,u){let l;if(n==null?(l=new Array(t.length),l.fill(1)):l=n,i!=null&&i&i-1)throw new Error(\"Multiple ellipses in slice is not allowed.\");let c=!1,p={dims:l.length,numAddAxisAfterEllipsis:0,begin:t.slice(),end:e.slice(),strides:l.slice(),beginMask:o,endMask:s,ellipsisMask:i,newAxisMask:a,shrinkAxisMask:u};for(let w=0;w0?0:-1,m.strides[w]>0?N:N-1];if(I&&m.strides[w]<=0)throw Error(\"only stride 1 allowed on non-range indexing.\");h=h&&m.strides[w]===1;let D=!!(m.beginMask&1<=N)throw Error(`slice index ${m.begin[w]} of dimension ${w} out of bounds.`)}else m.begin[w]=L2(m.begin[w],0,m.strides[w],N,E,A),m.end[w]=L2(m.end[w],1,m.strides[w],N,E,A);let V=m.strides[w]===1&&m.begin[w]===0&&m.end[w]===N;f=f&&V,d=d&&(w===0&&m.strides[w]===1||V)}else f=f&&m.strides[w]===1&&D,d=d&&(w===0&&m.strides[w]===1||D);let F,M=!1;if(m.beginValid&&m.endValid?(F=m.end[w]-m.begin[w],M=!0):I?(F=1,M=!0):D&&N>=0&&(m.strides[w]<0?F=-N:F=N,M=!0),M){let V;F===0||F<0!=m.strides[w]<0?V=0:V=Math.trunc(F/m.strides[w])+(F%m.strides[w]!==0?1:0),g.push(V)}else g.push(-1)}for(let w=0;w=0?x.push(g[I]):I===SN&&x.push(1)}return{finalShapeSparse:x.filter((w,I)=>m.finalShapeGatherIndices[I]!==SN),finalShape:x,isIdentity:f,sliceDim0:d,isSimpleSlice:h,begin:m.begin,end:m.end,strides:m.strides}}function MY(r,t){t.beginMask=0,t.endMask=0,t.shrinkAxisMask=0;let e=0;t.beginValid=r.begin!=null,t.endValid=r.end!=null,t.begin=new Array(t.dims),t.end=new Array(t.dims),t.strides=new Array(t.dims),t.finalShapeGatherIndices=[],t.finalShapeGatherIndicesSparse=[],t.inputShapeGatherIndicesSparse=new Array(t.dims);for(let n=0;n0?s[t]:s[t+1&1];{let i=r<0?n+r:r;return is[1]?s[1]:i}}var K2=\"4.16.0\";var wh=class{static sgd(t){return new Il(t)}static momentum(t,e,n=!1){return new Tc(t,e,n)}static rmsprop(t,e=.9,n=0,o=null,s=!1){return new _c(t,e,n,o,s)}static adam(t=.001,e=.9,n=.999,o=null){return new Nc(t,e,n,o)}static adadelta(t=.001,e=.95,n=null){return new vc(t,e,n)}static adamax(t=.002,e=.9,n=.999,o=null,s=0){return new kc(t,e,n,o,s)}static adagrad(t,e=.1){return new Sc(t,e)}};var Ac=wh;var PY=typeof requestAnimationFrame!=\"undefined\"?requestAnimationFrame:typeof setImmediate!=\"undefined\"?setImmediate:r=>r();function Ih(){return new Promise(r=>PY(()=>r()))}var S={};Kt(S,{ERF_A1:()=>JY,ERF_A2:()=>QY,ERF_A3:()=>tZ,ERF_A4:()=>eZ,ERF_A5:()=>rZ,ERF_P:()=>ZY,PARALLELIZE_THRESHOLD:()=>Ay,RowPartitionType:()=>ma,SELU_SCALE:()=>TN,SELU_SCALEALPHA:()=>kN,applyActivation:()=>Ic,assertAndGetBroadcastShape:()=>Mt,assertAxesAreInnerMostDims:()=>x6,assertParamsConsistent:()=>LY,assignToTypedArray:()=>lZ,axesAreInnerMostDims:()=>Q0,calculateShapes:()=>DA,checkEinsumDimSizes:()=>dZ,checkPadOnDimRoundingMode:()=>ve,combineLocations:()=>PE,combineRaggedTensorToTensorShapes:()=>BY,complexWithEvenIndex:()=>sZ,complexWithOddIndex:()=>iZ,computeConv2DInfo:()=>pc,computeConv3DInfo:()=>_E,computeDefaultPad:()=>J0,computeDilation2DInfo:()=>gj,computeOptimalWindowSize:()=>UY,computeOutAndReduceShapes:()=>tN,computeOutShape:()=>zY,computePool2DInfo:()=>Z0,computePool3DInfo:()=>xj,convertConv2DDataFormat:()=>EE,decodeEinsumEquation:()=>mZ,eitherStridesOrDilationsAreOne:()=>Dr,expandShapeToKeepDim:()=>vo,exponent:()=>cZ,exponents:()=>uZ,fromStringArrayToUint8:()=>OZ,fromUint8ToStringArray:()=>FZ,getAxesPermutation:()=>eN,getBroadcastDims:()=>OE,getComplexWithIndex:()=>aZ,getEinsumComputePath:()=>hZ,getEinsumPermutation:()=>fZ,getFusedBiasGradient:()=>wc,getFusedDyActivation:()=>bc,getImageCenter:()=>HY,getInnerMostAxes:()=>y6,getPermuted:()=>KY,getRaggedRank:()=>GY,getReductionAxes:()=>be,getReshaped:()=>qY,getReshapedPermuted:()=>jY,getRowPartitionTypesHelper:()=>VY,getSliceBeginCoords:()=>XY,getSliceSize:()=>YY,getSparseFillEmptyRowsIndicesDenseShapeMismatch:()=>bZ,getSparseFillEmptyRowsNegativeIndexErrorMessage:()=>wZ,getSparseFillEmptyRowsOutOfRangeIndexErrorMessage:()=>IZ,getSparseReshapeEmptyTensorZeroOutputDimErrorMessage:()=>SZ,getSparseReshapeInputOutputMismatchErrorMessage:()=>kZ,getSparseReshapeInputOutputMultipleErrorMessage:()=>NZ,getSparseReshapeMultipleNegativeOneOutputDimErrorMessage:()=>CZ,getSparseReshapeNegativeOutputDimErrorMessage:()=>vZ,getSparseSegmentReductionIndicesOutOfRangeErrorMessage:()=>AZ,getSparseSegmentReductionNegativeSegmentIdsErrorMessage:()=>TZ,getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage:()=>_Z,getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage:()=>EZ,getUndoAxesPermutation:()=>mh,isIdentityPermutation:()=>gZ,log:()=>uK,mergeRealAndImagArrays:()=>nZ,prepareAndValidate:()=>P2,prepareSplitSize:()=>yZ,segment_util:()=>EN,shouldFuse:()=>Cc,slice_util:()=>Be,splitRealAndImagArrays:()=>oZ,stridesOrDilationsArePositive:()=>ra,tupleValuesAreOne:()=>io,upcastType:()=>ur,validateDefaultValueShape:()=>WY,validateInput:()=>wm,validateUpdateShape:()=>pN,warn:()=>Zi});function LY(r,t){let e=r[0].length;r.forEach((o,s)=>{_(o.length===e,()=>`Error in concat${e}D: rank of tensors[${s}] must be the same as the rank of the rest (${e})`)}),_(t>=0&&t`Error in concat${e}D: axis must be between 0 and ${e-1}.`);let n=r[0];r.forEach((o,s)=>{for(let i=0;i`Error in concat${e}D: Shape of tensors[${s}] (${o}) does not match the shape of the rest (${n}) along the non-concatenated axis ${s}.`)})}function zY(r,t){let e=r[0].slice();for(let n=1;n=0)if(a>=0){if(a!==s)throw new Error(`rt input.shape and shape=${t} are incompatible: rt input.shape[${o+r}] = ${s} but shape[${o+r}] = ${a}`)}else n[i]=s}return n}function VY(r){let t={FIRST_DIM_SIZE:ma.FIRST_DIM_SIZE,VALUE_ROWIDS:ma.VALUE_ROWIDS,ROW_LENGTHS:ma.ROW_LENGTHS,ROW_SPLITS:ma.ROW_SPLITS,ROW_LIMITS:ma.ROW_LIMITS,ROW_STARTS:ma.ROW_STARTS},e=[];for(let n of r)if(n in t)e.push(t[n]);else break;return e}function GY(r){return r.length===0?0:r[0]===ma.FIRST_DIM_SIZE?r.length-1:r.length}function WY(r,t){if(r==null||t==null)return;let e=r.length,n=t.length;if(e>=n)throw new Error(`defaultValue.shape=${r} and ragged tensor flatValues.shape=${t}, are incompatible: defaultValue.rank = ${e} must be less than ragged tensor input flatValues.rank = ${n})`);for(let o=0;o=0&&i>=0&&s!==1&&s!==i)throw new Error(`defaultValue.shape=${r}, and ragged tensor input flatValues.shape=${t} are incompatible: defaultValue.shape[${o-r.length}] = ${s} but ragged tensor input.flatValues.shape[${o-r.length}] = ${i}`)}}var Ay=30;function UY(r){return r<=Ay?r:_p(r,Math.floor(Math.sqrt(r)))}function HY(r,t,e){let n=e*(typeof r==\"number\"?r:r[0]),o=t*(typeof r==\"number\"?r:r[1]);return[n,o]}function qY(r,t,e,n=!0){let o=[];if(n)o=o.concat(t.slice(0)),o.push(r[0]/e),o=o.concat(r.slice(1));else{o=o.concat(r[0]);let s=t.length;for(let i=0;i=t*2+1||i%2===1?s.push(i):o.push(i);n.push(...o),n.push(0),n.push(...s)}return n}function jY(r,t,e,n=!0){let o=[];n?o.push(r[0]/e):o.push(r[0]*e);for(let s=1;s\",pZ=/->/g,j2=\",\",X2=\"...\";function mZ(r,t){r=r.replace(/\\s/g,\"\");let e=(r.length-r.replace(pZ,\"\").length)/_N.length;if(e<1)throw new Error(\"Equations without an arrow are not supported.\");if(e>1)throw new Error(`Equation must contain exactly one arrow (\"${_N}\").`);let[n,o]=r.split(_N);_(n.indexOf(X2)===-1,()=>`The ellipsis notation (\"${X2}\") is not supported yet.`);let s=n.split(j2),i=s.length;if(t!==i)throw new Error(`Expected ${i} input tensors, received ${t}`);if(i>2)throw new Error(\"Support for more than 2 input tensors is not implemented yet.\");let a=[];for(let m=0;md.indexOf(f)!==-1))throw new Error(`Output subscripts contain the label ${f} not present in the input subscripts.`);a.indexOf(f)===-1&&a.push(f)}for(let m=0;mo!==-1),{permutationIndices:e,expandDims:n}}function dZ(r,t,e){let n=new Array(r);for(let o=0;o`Expected dimension ${n[t[o][i]]} at axis ${i} of input shaped ${JSON.stringify(s)}, but got dimension ${s[i]}`)}}function hZ(r,t){let e=r,n=[],o=0;r.length===0&&e.push(-1),o=r.length+1;for(let i=0;it===e)}function xZ(r,t){let e=[];for(let n=0;n\"Number of splits must evenly divide the axis.\"),n=new Array(t).fill(r.shape[e]/t);else{let o=t.reduce((i,a)=>(a===-1&&(i+=1),i),0);_(o<=1,()=>\"There should be only one negative value in split array.\");let s=t.indexOf(-1);if(s!==-1){let i=t.reduce((a,u)=>u>0?a+u:a);t[s]=r.shape[e]-i}_(r.shape[e]===t.reduce((i,a)=>i+a),()=>\"The sum of sizes must match the size of the axis dimension.\"),n=t}return n}function bZ(r){return`Received SparseTensor with denseShape[0] = 0 but\n indices.shape[0] = ${r}`}function wZ(r,t){return`indices(${r}, 0) is invalid: ${t} < 0`}function IZ(r,t,e){return`indices(${r}, 0) is invalid: ${t} >= ${e}`}function CZ(r,t){return`only one output dimension may be -1, not both ${r} and ${t}`}function vZ(r,t){return`size ${r} must be non-negative, not ${t}`}function SZ(){return\"reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero\"}function NZ(r,t){let e=jt(r),n=jt(t);return`Input to reshape is a SparseTensor with ${e}\n dense values, but the requested shape requires a multiple of ${n}. inputShape=${r} outputShape= ${t}`}function kZ(r,t){let e=jt(r),n=jt(t);return`Input to reshape is a tensor with ${e} dense values, but the requested shape has ${n}. inputShape=${r} outputShape=${t}`}function TZ(){return\"segment ids must be >= 0\"}function _Z(){return\"segment ids are not increasing\"}function EZ(r,t){return`Segment id ${r} out of range [0, ${t}), possibly because segmentIds input is not sorted.`}function AZ(r,t,e){return`Bad: indices[${r}] == ${t} out of range [0, ${e})`}var EN={};Kt(EN,{collectGatherOpShapeInfo:()=>RZ,computeOutShape:()=>$Z,segOpComputeOptimalWindowSize:()=>DZ});function DZ(r,t){let e=!1,n;for(r<=Ay?(n=r,e=!0):n=_p(r,Math.floor(Math.sqrt(r)));!e;)n>t||n===r?e=!0:n=_p(r,n+1);return n}function $Z(r,t,e){let n=[],o=r.length;for(let s=0;so))throw new Error(`Expect batchDims in the range of [-${o}, ${o}], but got ${n}`);if(n<0&&(n+=o),n>s)throw new Error(`batchDims (${n}) must be less than rank(x) (\n ${s}).`);if(eKp(t))}catch(t){throw new Error(`Failed to decode encoded string bytes into utf-8, error: ${t}`)}}function OZ(r){return r.map(t=>fu(t))}var Kr={};Kt(Kr,{nonMaxSuppressionV3Impl:()=>by,nonMaxSuppressionV4Impl:()=>wy,nonMaxSuppressionV5Impl:()=>Iy,whereImpl:()=>fy});C2();var Dy={kernelName:Ei,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,So(J(e,\"float32\"),-1))}}};var Y2={kernelName:Go,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Wt(J(e,\"float32\")),o=Se(at(pt(1),n));return Ut(ct(r,o))}}}};var Z2={kernelName:Wo,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Se(at(Wt(J(e,\"float32\")),1));return ct(r,n)}}}};var J2={kernelName:no,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=r,u=be(e.shape,o);return u.length>0&&(a=mt(a,u)),R(a,e.shape)},b:()=>{let a=r,u=be(n.shape,o);return u.length>0&&(a=mt(a,u)),R(a,n.shape)}}}};var Q2={kernelName:Uo,saveAllInputs:!0,gradFunc:(r,t)=>{let e={};return t.forEach((n,o)=>{e[o]=()=>r.clone()}),e}};var tD={kernelName:Ai,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>vt(e)}}};var eD={kernelName:Di,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>vt(e)}}};var rD={kernelName:Ho,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,Se(at(pt(1),Wt(J(e,\"float32\")))))}}};var nD={kernelName:qo,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Se(X(pt(1),Wt(J(e,\"float32\"))));return ct(r,n)}}}};var oD={kernelName:Xo,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=X(Wt(e),Wt(n)),u=$(r,ct(n,a)),l=be(e.shape,o);return l.length>0&&(u=mt(u,l)),R(u,e.shape)},b:()=>{let a=X(Wt(e),Wt(n)),u=Ut($(r,ct(e,a))),l=be(n.shape,o);return l.length>0&&(u=mt(u,l)),R(u,n.shape)}}}};var sD={kernelName:Ko,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,X(Wt(J(e,\"float32\")),1))}}};var iD={kernelName:jo,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,at(pt(1),Wt(J(e,\"float32\"))))}}};function MZ(r,t,e,n,o,s){let i=C(r,\"dy\",\"avgPool3dGrad\"),a=C(t,\"input\",\"avgPool3dGrad\"),u=i,l=a,c=!1;a.rank===4&&(c=!0,u=R(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]]),l=R(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),_(u.rank===5,()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${u.rank}.`),_(l.rank===5,()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${l.rank}.`),ve(\"avgPool3dGrad\",o,s);let p={dy:u,input:l},m={filterSize:e,strides:n,pad:o,dimRoundingMode:s},f=T.runKernel(Hl,p,m);return c?R(f,[f.shape[1],f.shape[2],f.shape[3],f.shape[4]]):f}var aD=k({avgPool3dGrad_:MZ});var lD={kernelName:$i,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{filterSize:o,strides:s,pad:i,dimRoundingMode:a}=e;return{x:()=>aD(r,n,o,s,i,a)}}};function PZ(r,t,e,n,o){let s=C(r,\"dy\",\"avgPoolGrad\"),i=C(t,\"input\",\"avgPoolGrad\");_(i.rank===s.rank,()=>`Rank of input (${i.rank}) does not match rank of dy (${s.rank})`);let a=i,u=s,l=!1;i.rank===3&&(l=!0,a=R(i,[1,i.shape[0],i.shape[1],i.shape[2]]),u=R(s,[1,s.shape[0],s.shape[1],s.shape[2]])),_(u.rank===4,()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${u.rank}.`),_(a.rank===4,()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${a.rank}.`);let c={dy:u,input:a},p={filterSize:e,strides:n,pad:o},m=T.runKernel(Ul,c,p);return l?R(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var uD=k({avgPoolGrad_:PZ});var cD={kernelName:Yo,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{filterSize:o,strides:s,pad:i}=e;return{x:()=>uD(r,n,o,s,i)}}};var pD={kernelName:Zo,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t,e)=>{let[n,o]=t,{transposeA:s,transposeB:i}=e;return!s&&!i?{a:()=>Bt(r,o,!1,!0),b:()=>Bt(n,r,!0,!1)}:!s&&i?{a:()=>Bt(r,o,!1,!1),b:()=>Bt(r,n,!0,!1)}:s&&!i?{a:()=>Bt(o,r,!1,!0),b:()=>Bt(n,r,!1,!1)}:{a:()=>Bt(o,r,!0,!0),b:()=>Bt(r,n,!0,!0)}}};var mD={kernelName:Ri,gradFunc:(r,t,e)=>{let{blockShape:n,crops:o}=e;return{x:()=>Tu(r,n,o)}}};var fD={kernelName:k_,gradFunc:(r,t,e)=>{let n=e,o=n.inputShape,s=n.shape,i=Array.from(s);for(let u=o.length-1;u>=0;u--)if(o[u]===s[u])i[u]=1;else if(o[u]!==1)throw new Error(`broadcastTo(): [${o}] cannot be broadcast to [${s}].`);let a=[];for(let u=0;u1&&a.push(u);return{x:()=>mt(r,a,!0)}}};var dD={kernelName:fo,gradFunc:r=>({x:()=>r.clone()})};var hD={kernelName:Jo,gradFunc:r=>({x:()=>vt(r)})};var gD={kernelName:ho,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{clipValueMin:o,clipValueMax:s}=e;return{x:()=>we(Fr(cn(n,o),Vn(n,s)),r,vt(r))}}};var xD={kernelName:Kl,inputsToSave:[\"x\"],gradFunc:Dy.gradFunc};var yD={kernelName:Fi,saveAllInputs:!0,gradFunc:(r,t,e)=>{let n=t.map(u=>u.shape),{axis:o}=e,s=fr(o,t[0].shape)[0],i=n.map(u=>u[s]);return hr(r,i,s).map(u=>()=>u)}};var bD={kernelName:Qo,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let[n,o]=t,{dilations:s,strides:i,pad:a,dataFormat:u}=e;return _(io(s),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`),{x:()=>nm(n.shape,r,o,i,a,u),filter:()=>vm(n,r,o.shape,i,a,u)}}};var wD={kernelName:ts,inputsToSave:[\"dy\",\"filter\"],gradFunc:(r,t,e)=>{let[n,o]=t,{strides:s,pad:i,dataFormat:a,dimRoundingMode:u}=e;return{dy:()=>Nn(r,o,s,i,a,1,u),filter:()=>vm(r,n,o.shape,s,i,a,u)}}};function LZ(r,t,e,n,o){let s=r;r.rank===4&&(s=R(r,[1,r.shape[0],r.shape[1],r.shape[2],r.shape[3]]));let i=t;i.rank===4&&(i=R(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),_(s.rank===5,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${s.shape}.`),_(i.rank===5,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${i.shape}.`),_(e.length===5,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${e}.`),_(s.shape[4]===e[3],()=>`Error in conv3dDerFilter: depth of input ${s.shape[4]}) must match input depth in filter (${e[3]}.`),_(i.shape[4]===e[4],()=>`Error in conv3dDerFilter: depth of dy (${i.shape[4]}) must match output depth for filter (${e[4]}).`);let a={x:s,dy:i},u={strides:n,pad:o,filterShape:e};return T.runKernel(Ra,a,u)}var ID=k({conv3DBackpropFilter_:LZ});var CD={kernelName:es,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let{dilations:n,strides:o,pad:s}=e;_(io(n),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${n}'`);let[i,a]=t;return{x:()=>Dx(i.shape,r,a,o,s),filter:()=>ID(i,r,a.shape,o,s)}}};var vD={kernelName:rs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(Ut(dm(J(e,\"float32\"))),r)}}};var SD={kernelName:ns,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(hm(J(e,\"float32\")),r)}}};var ND={kernelName:os,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{axis:o,exclusive:s,reverse:i}=e;return{x:()=>{let a=eN([o],n.rank),u=im(r,o,s,!i);return a!=null&&(u=Vt(u,a)),u}}}};var kD={kernelName:ss,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let{dilations:n,strides:o,pad:s,dimRoundingMode:i}=e,a=n==null?[1,1]:n;_(io(a),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${a}'`);let[u,l]=t;return _(u.rank===4,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${u.rank}.`),_(l.rank===4,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${l.rank}.`),_(u.shape[3]===l.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${u.shape[3]}) must match the inChannels dimension in filter ${l.shape[2]}.`),_(Dr(o,a),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${a}'.`),ve(\"depthwiseConv2d\",s,i),{x:()=>gy(u.shape,r,l,o,s,a,i),filter:()=>hy(u,r,l.shape,o,s,a,i)}}};var TD={kernelName:is,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let[n,o]=t,s={x:n,filter:o,dy:r},i={x:n,filter:o,dy:r};return{x:()=>T.runKernel(Yl,s,e),filter:()=>T.runKernel(Zl,i,e)}}};var _D={kernelName:ls,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t,n={dy:r,y:e};return{x:()=>T.runKernel(La,n)}}};var ED={kernelName:us,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t,n=$(Ke(Ut(Wt(e))),2/Math.sqrt(Math.PI));return{x:()=>$(r,n)}}};var AD={kernelName:cs,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,e)}}};var DD={kernelName:Oi,inputsToSave:[\"input\"],gradFunc:(r,t)=>{let[e]=t;return{input:()=>R(r,e.shape)}}};var $D={kernelName:ps,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,Ke(e))}}};var RD={kernelName:ms,gradFunc:r=>({x:()=>vt(r)})};var FD={kernelName:fs,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=ct(r,J(n,\"float32\")),u=be(e.shape,o);return u.length>0?R(mt(a,u),e.shape):a},b:()=>{let a=$(r,J(e,\"float32\")),u=be(n.shape,o);u.length>0&&(a=R(mt(a,u),n.shape));let l=Wt(n);return Ut(ct(a,J(l,\"float32\")))}}}};var OD={kernelName:ds,inputsToSave:[\"x\",\"mean\",\"variance\",\"scale\"],gradFunc:(r,t,e)=>{let{varianceEpsilon:n}=e,[o,s,i,a]=t,u=a==null?pt(1):a,l=be(s.shape,o.shape),c=[];if(s.rank===1){for(let I=0;Is.rank===1?R($($(r,Rr(R(f,[1,1,1,s.shape[0]]),c)),u),o.shape):R($($(r,f),u),o.shape),mean:()=>{let I=$($(f,pt(-1)),m);return s.rank===1&&(I=mt(I,l)),R(I,s.shape)},variance:()=>{let I=$($(d,p),m);return s.rank===1&&(I=mt(I,l)),R(I,s.shape)},scale:()=>{let I=$(p,f),N=$(r,I);return s.rank===1&&(N=mt(N,l)),R(N,s.shape)},offset:()=>{let I=r;return s.rank===1&&(I=mt(I,l)),R(I,s.shape)}}}};var LD={kernelName:Mi,inputsToSave:[\"x\",\"indices\"],gradFunc:(r,t,e)=>{let[n,o]=t,{axis:s,batchDims:i}=e,a=fr(s,n.shape)[0],u=(l,c,p)=>()=>{let m=l.shape,f=c.size,d=m.slice(0,a),h=d.length,g=m.slice(s,m.length).slice(1),x=g.length,b=MD(0,h),w=MD(h+1,h+1+x),I=PD([d,[f],g]),N=R(p,I),E=R(c,[f]),A=PD([[h],b,w]),D=Vt(N,A),F=Cm(D,E,l.shape[a]),M=mh(A);return F=Vt(F,M),F};if(i===1){let l=n.shape[0],c=n.split(l,0);return{x:()=>Fe(c.map((f,d)=>u(f,o.slice(d,1),r.slice(d,1))())).reshape(n.shape),indices:()=>o}}else return{x:u(n,o,r),indices:()=>o}}};function MD(r,t){let e=[];for(let n=r;n{let[e,n]=t;return{a:()=>vt(e),b:()=>vt(n)}}};var BD={kernelName:go,gradFunc:r=>({x:()=>J(r,\"float32\")})};var VD={kernelName:gs,gradFunc:r=>({x:()=>vt(r)})};var GD={kernelName:xs,gradFunc:r=>({x:()=>vt(r)})};var WD={kernelName:ys,gradFunc:r=>({x:()=>vt(r)})};var UD={kernelName:bs,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{alpha:o}=e,s=Re(n,0);return{x:()=>we(s,r,$(r,o))}}};var HD={kernelName:Is,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,X(e,1))}}};var qD={kernelName:ws,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,J(e,\"float32\"))}}};var KD={kernelName:__,inputsToSave:[],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n]=t,{axis:o}=e;return{logits:()=>{let i=Ke(n);return at(r,$(mt(r,o,!0),i))}}}};function zZ(r,t,e,n=5,o=1,s=1,i=.5){let a={x:r,y:t,dy:e},u={depthRadius:n,bias:o,alpha:s,beta:i};return T.runKernel(Xa,a,u)}var jD=k({localResponseNormalizationBackprop_:zZ});var XD={kernelName:Cs,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n,o]=t,{depthRadius:s,bias:i,alpha:a,beta:u}=e;return{x:()=>jD(n,o,r,s,i,a,u)}}};function $y(r,t,e,n){return t.rank$(r,J($r(e,t),r.dtype))}}var AN={kernelName:vs,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let n=e,{reductionIndices:o}=n,s=t[0],i=t[1],a=fr(o,s.shape),u=$y(r,i,s,a);return{x:()=>u.x()}}};var YD={kernelName:Ss,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t;return{a:()=>$(r,J(cn(e,n),\"float32\")),b:()=>$(r,J(yl(e,n),\"float32\"))}}};function BZ(r,t,e,n,o,s,i){let a=C(r,\"dy\",\"maxPool3dGrad\"),u=C(t,\"input\",\"maxPool3dGrad\"),l=C(e,\"output\",\"maxPool3dGrad\"),c=a,p=u,m=l,f=!1;u.rank===4&&(f=!0,c=R(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]]),p=R(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]]),m=R(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]])),_(c.rank===5,()=>`Error in maxPool3dGrad: dy must be rank 5 but got rank ${c.rank}.`),_(p.rank===5,()=>`Error in maxPool3dGrad: input must be rank 5 but got rank ${p.rank}.`),_(m.rank===5,()=>`Error in maxPool3dGrad: output must be rank 5 but got rank ${m.rank}.`),ve(\"maxPool3dGrad\",s,i);let d={dy:c,input:p,output:m},h={filterSize:n,strides:o,pad:s,dimRoundingMode:i},g=T.runKernel(tu,d,h);return f?R(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}var ZD=k({maxPool3dGrad_:BZ});var JD={kernelName:Pi,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n,o]=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u}=e;return{x:()=>ZD(r,n,o,s,i,a,u)}}};function VZ(r,t,e,n,o,s,i){let a=C(r,\"dy\",\"maxPoolGrad\"),u=C(t,\"input\",\"maxPoolGrad\"),l=C(e,\"output\",\"maxPoolGrad\");_(u.rank===a.rank,()=>`Rank of input (${u.rank}) does not match rank of dy (${a.rank})`),_(a.rank===4,()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${a.rank}.`),_(u.rank===4,()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${u.rank}.`),ve(\"maxPoolGrad\",s,i);let c={dy:a,input:u,output:l},p={filterSize:n,strides:o,pad:s,dimRoundingMode:i};return T.runKernel(Ql,c,p)}var QD=k({maxPoolGrad_:VZ});var t$={kernelName:Ns,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n,o]=t,{filterSize:s,strides:i,pad:a}=e;return{x:()=>QD(r,n,o,s,i,a)}}};var e$={kernelName:ks,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{axis:o}=e,s=fr(o,n.shape),a=tN(n.shape,s)[1],u=jt(a);return{x:()=>{let c=n.shape.slice();s.forEach(f=>{c[f]=1});let p=R(r,c);return ct($(p,ar(n.shape,\"float32\")),u)}}}};var r$={kernelName:Ts,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let n=e,{axis:o}=n,[s,i]=t,a=fr(o,s.shape),u=$y(r,i,s,a);return{x:()=>u.x()}}};var n$={kernelName:_s,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t;return{a:()=>$(r,J(Vn(e,n),\"float32\")),b:()=>$(r,J(Re(e,n),\"float32\"))}}};var o$={kernelName:Es,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let n=t[0],{paddings:o}=e,s=o.map(i=>i[0]);return{x:()=>Ot(r,s,n.shape)}}};var s$={kernelName:As,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=be(e.shape,o);return a.length>0?R(mt(r,a),e.shape):r},b:()=>{let a=$(r,Ut(la(ct(e,n)))),u=be(n.shape,o);return u.length>0?R(mt(a,u),n.shape):a}}}};var i$={kernelName:Ds,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=$(r,J(n,\"float32\")),u=be(e.shape,o);return u.length>0?R(mt(a,u),e.shape):a},b:()=>{let a=$(r,J(e,\"float32\")),u=be(n.shape,o);return u.length>0?R(mt(a,u),n.shape):a}}}};var a$={kernelName:Li,gradFunc:r=>({x:()=>Ut(r)})};var l$={kernelName:$s,inputsToSave:[\"indices\"],gradFunc:(r,t)=>{let e=t[0];return{indices:()=>ke(e.shape,\"float32\")}}};var u$={kernelName:zi,gradFunc:r=>({x:()=>vt(r)})};var c$={kernelName:Bi,saveAllInputs:!0,gradFunc:(r,t,e)=>{let{axis:n}=e;return gr(r,n).map(s=>()=>s)}};var DN={kernelName:Rs,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let n=t[0],{paddings:o}=e,s=o.map(i=>i[0]);return{x:()=>Ot(r,s,n.shape)}}};var p$={kernelName:Fs,inputsToSave:[\"a\",\"b\"],outputsToSave:[!0],gradFunc:(r,t)=>{let[e,n,o]=t,s=e,i=n,a=Mt(s.shape,i.shape);return{a:()=>{let c=J(i,\"float32\"),p=$(r,$(c,un(s,at(c,pt(1))))),m=be(s.shape,a);return m.length>0&&(p=mt(p,m)),R(p,s.shape)},b:()=>{let c=Re(s,0),p=we(c,Nr(s),vt(s)),m=$(r,$(o,p)),f=be(i.shape,a);return f.length>0&&(m=mt(m,f)),R(m,i.shape)}}}};var m$={kernelName:Os,inputsToSave:[\"x\",\"alpha\"],gradFunc:(r,t)=>{let[e,n]=t,o=Re(e,0);return{x:()=>we(o,r,$(r,n)),alpha:()=>{let s=we(o,vt(r),$(r,e)),i=be(n.shape,r.shape);return i.length>0&&(s=mt(s,i)),R(s,n.shape)}}}};function GZ(r,t,e){let n=r.shape.slice();n[e]=1;let o=R(t,n),s=mc(r,e,!0,!1),i=mc(r,e,!0,!0),a=$(s,i);return $(o,a)}function WZ(r,t,e){let n=r.shape.length,o=n-e.length,s=S.getAxesPermutation(e,n),i=r;s!=null&&(i=Vt(r,s));let a=i.shape.slice(),l=a.splice(n-e.length,e.length).reduce((m,f)=>m*f,1);a.push(l);let c=i.reshape(a),p=GZ(c,t,o);if(p=p.reshape(i.shape),s!=null){let m=S.getUndoAxesPermutation(s);p=Vt(p,m)}return p}var f$={kernelName:Ms,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{axis:o}=e,s=[];return o==null?s=n.shape.map((i,a)=>a):typeof o==\"number\"?s=[o]:s=o,{x:()=>WZ(n,r,s)}}};var d$={kernelName:as,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=ct(r,J(n,\"float32\")),u=be(e.shape,o);return u.length>0?R(mt(a,u),e.shape):a},b:()=>{let a=$(r,J(e,\"float32\")),u=be(n.shape,o);u.length>0&&(a=R(mt(a,u),n.shape));let l=Wt(n);return Ut(ct(a,J(l,\"float32\")))}}}};var h$={kernelName:Ps,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,Ut(Wt(e)))}}};var g$={kernelName:Vs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t,n=$(Vn(e,6),So(e));return{x:()=>$(r,J(n,\"float32\"))}}};var x$={kernelName:Ls,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,J(So(e),\"float32\"))}}};var y$={kernelName:Vi,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>R(r,e.shape)}}};var b$={kernelName:Bs,inputsToSave:[\"images\"],gradFunc:(r,t,e)=>{let[n]=t,o={dy:r,images:n};return{images:()=>T.runKernel(rl,o,e)}}};var w$={kernelName:zs,inputsToSave:[\"images\"],gradFunc:(r,t,e)=>{let[n]=t,o={dy:r,images:n};return{images:()=>T.runKernel(el,o,e)}}};var I$={kernelName:Gs,gradFunc:(r,t,e)=>{let{dims:n}=e,o=fr(n,r.shape);return{x:()=>dr(r,o)}}};var C$={kernelName:Ws,gradFunc:r=>({x:()=>vt(r)})};var v$={kernelName:Us,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>Ut(ct(r,$(un(e,1.5),2)))}}};var S$={kernelName:Gi,inputsToSave:[\"condition\"],gradFunc:(r,t)=>{let[e]=t;return{condition:()=>J(vt(e),\"float32\"),t:()=>$(r,J(e,r.dtype)),e:()=>$(r,J(Nu(e),r.dtype))}}};var N$={kernelName:Hs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Re(e,pt(0)),o=pt(kN),s=pt(TN),i=$(r,s),a=$($(r,o),Ke(J(e,\"float32\")));return we(n,i,a)}}}};var k$={kernelName:Xs,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,$(e,at(pt(1),e)))}}};var T$={kernelName:js,gradFunc:r=>({x:()=>vt(r)})};var _$={kernelName:qs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(bu(J(e,\"float32\")),r)}}};var E$={kernelName:Ks,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(sm(J(e,\"float32\")),r)}}};var A$={kernelName:Wi,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{begin:o,size:s}=e,i=n.shape,[a,u]=NN(n,o,s),l=[];for(let c=0;cmn(r,l)}}};var D$={kernelName:Qs,outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n]=t,{dim:o}=e,s=!0,i=$(r,n);return{logits:()=>at(i,$(mt(i,[o],s),n))}}};var $$={kernelName:Ys,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,Qr(e))}}};var $N={kernelName:Ui,gradFunc:(r,t,e)=>{let{blockShape:n,paddings:o}=e;return{x:()=>yu(r,n,o)}}};var RN={kernelName:Hi,gradFunc:(r,t,e)=>{let{axis:n}=e;return{x:()=>ie(r,n)}}};var R$={kernelName:Zs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,$(Se(J(e,\"float32\")),2))}}};var F$={kernelName:iu,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,$(J(e,\"float32\"),2))}}};var O$={kernelName:ti,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=pt(2);return{a:()=>$(r,$(o,at(e,n))),b:()=>$(r,$(o,at(n,e)))}}};var M$={kernelName:xo,gradFunc:r=>({x:()=>vt(r)})};var P$={kernelName:ei,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=r,u=be(e.shape,o);return u.length>0&&(a=mt(a,u)),R(a,e.shape)},b:()=>{let a=r,u=be(n.shape,o);return u.length>0&&(a=mt(a,u)),R(Ut(a),n.shape)}}}};var L$={kernelName:Js,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,o=n.shape.slice(),{axis:s}=e;fr(s,n.shape).forEach(l=>{o[l]=1});let a=R(r,o),u=$(a,ar(n.shape,\"float32\"));return{x:()=>u}}};var z$={kernelName:ri,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,Wt(bu(e)))}}};var B$={kernelName:ni,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(at(pt(1),Wt(e)),r)}}};var V$={kernelName:oo,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{reps:o}=e;return{x:()=>{let i=vt(n);if(n.rank===1)for(let a=0;a{let n=e,{perm:o}=n,s=mh(o);return{x:()=>Vt(r,s)}}};var W$={kernelName:qi,gradFunc:(r,t,e)=>{let n=e,{axis:o}=n;return{value:()=>Fe(r,o)}}};var U$={kernelName:pu,inputsToSave:[\"segmentIds\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>UZ(r,e)}}};function UZ(r,t){let e=kn(t,vt(t)),n=ua(r,e),o=cn(t,pt(0,\"int32\")),s=n.rank-o.rank;for(let a=0;a({x:()=>vt(r)})};var HZ=[Dy,Y2,Z2,J2,Q2,tD,eD,rD,nD,oD,sD,iD,lD,cD,pD,mD,fD,dD,hD,gD,xD,yD,wD,bD,CD,vD,SD,ND,kD,TD,d$,_D,ED,AD,DD,$D,FD,RD,OD,LD,zD,BD,VD,GD,WD,UD,HD,qD,KD,XD,AN,AN,YD,JD,t$,e$,r$,n$,o$,s$,i$,a$,l$,u$,c$,DN,DN,p$,m$,f$,h$,g$,x$,y$,b$,w$,I$,C$,v$,S$,N$,k$,T$,_$,E$,A$,D$,$$,$N,$N,RN,RN,R$,O$,F$,M$,P$,L$,z$,B$,V$,G$,W$,U$,H$];for(let r of HZ)A_(r);O().prototype.abs=function(){return this.throwIfDisposed(),_e(this)};O().prototype.acos=function(){return this.throwIfDisposed(),mx(this)};O().prototype.acosh=function(){return this.throwIfDisposed(),fx(this)};O().prototype.add=function(r){return this.throwIfDisposed(),X(this,r)};O().prototype.all=function(r,t){return this.throwIfDisposed(),tm(this,r,t)};O().prototype.any=function(r,t){return this.throwIfDisposed(),cc(this,r,t)};O().prototype.argMax=function(r){return this.throwIfDisposed(),ea(this,r)};O().prototype.argMin=function(r){return this.throwIfDisposed(),dx(this,r)};O().prototype.asScalar=function(){return this.throwIfDisposed(),_(this.size===1,()=>\"The array must have only 1 element.\"),R(this,[])};O().prototype.asType=function(r){return this.throwIfDisposed(),J(this,r)};O().prototype.as1D=function(){return this.throwIfDisposed(),R(this,[this.size])};O().prototype.as2D=function(r,t){return this.throwIfDisposed(),R(this,[r,t])};O().prototype.as3D=function(r,t,e){return this.throwIfDisposed(),R(this,[r,t,e])};O().prototype.as4D=function(r,t,e,n){return this.throwIfDisposed(),R(this,[r,t,e,n])};O().prototype.as5D=function(r,t,e,n,o){return this.throwIfDisposed(),R(this,[r,t,e,n,o])};O().prototype.asin=function(){return this.throwIfDisposed(),hx(this)};O().prototype.asinh=function(){return this.throwIfDisposed(),gx(this)};O().prototype.atan=function(){return this.throwIfDisposed(),xx(this)};O().prototype.atan2=function(r){return this.throwIfDisposed(),yx(this,r)};O().prototype.atanh=function(){return this.throwIfDisposed(),bx(this)};O().prototype.avgPool=function(r,t,e,n){return this.throwIfDisposed(),xu(this,r,t,e,n)};O().prototype.batchToSpaceND=function(r,t){return this.throwIfDisposed(),yu(this,r,t)};O().prototype.batchNorm=function(r,t,e,n,o){return this.throwIfDisposed(),oa(this,r,t,e,n,o)};O().prototype.broadcastTo=function(r){return this.throwIfDisposed(),sa(this,r)};O().prototype.cast=function(r){return this.throwIfDisposed(),J(this,r)};O().prototype.ceil=function(){return this.throwIfDisposed(),Nx(this)};O().prototype.clipByValue=function(r,t){return this.throwIfDisposed(),vr(this,r,t)};O().prototype.concat=function(r,t){return this.throwIfDisposed(),r instanceof Lt&&(r=[r]),ie([this,...r],t)};O().prototype.conv1d=function(r,t,e,n,o,s){return this.throwIfDisposed(),rm(this,r,t,e,n,o,s)};O().prototype.conv2dTranspose=function(r,t,e,n,o){return this.throwIfDisposed(),om(this,r,t,e,n,o)};O().prototype.conv2d=function(r,t,e,n,o,s){return this.throwIfDisposed(),Nn(this,r,t,e,n,o,s)};O().prototype.cos=function(){return this.throwIfDisposed(),bu(this)};O().prototype.cosh=function(){return this.throwIfDisposed(),sm(this)};O().prototype.cumprod=function(r,t,e){return this.throwIfDisposed(),mc(this,r,t,e)};O().prototype.cumsum=function(r,t,e){return this.throwIfDisposed(),im(this,r,t,e)};O().prototype.depthToSpace=function(r,t){return this.throwIfDisposed(),Rx(this,r,t)};O().prototype.depthwiseConv2d=function(r,t,e,n,o,s){return this.throwIfDisposed(),ia(this,r,t,e,n,o,s)};O().prototype.dilation2d=function(r,t,e,n,o){return this.throwIfDisposed(),Fx(this,r,t,e,n,o)};O().prototype.divNoNan=function(r){return this.throwIfDisposed(),Ox(this,r)};O().prototype.div=function(r){return this.throwIfDisposed(),ct(this,r)};O().prototype.dot=function(r){return this.throwIfDisposed(),Mx(this,r)};O().prototype.elu=function(){return this.throwIfDisposed(),aa(this)};O().prototype.equal=function(r){return this.throwIfDisposed(),$r(this,r)};O().prototype.erf=function(){return this.throwIfDisposed(),Px(this)};O().prototype.euclideanNorm=function(r,t){return this.throwIfDisposed(),Lx(this,r,t)};O().prototype.exp=function(){return this.throwIfDisposed(),Ke(this)};O().prototype.expandDims=function(r){return this.throwIfDisposed(),je(this,r)};O().prototype.expm1=function(){return this.throwIfDisposed(),zx(this)};O().prototype.fft=function(){return this.throwIfDisposed(),Au(this)};O().prototype.flatten=function(){return this.throwIfDisposed(),R(this,[this.size])};O().prototype.floor=function(){return this.throwIfDisposed(),la(this)};O().prototype.floorDiv=function(r){return this.throwIfDisposed(),Qp(this,r)};O().prototype.gather=function(r,t,e){return this.throwIfDisposed(),ua(this,r,t,e)};O().prototype.greaterEqual=function(r){return this.throwIfDisposed(),cn(this,r)};O().prototype.greater=function(r){return this.throwIfDisposed(),Re(this,r)};O().prototype.ifft=function(){return this.throwIfDisposed(),wl(this)};O().prototype.irfft=function(){return this.throwIfDisposed(),ym(this)};O().prototype.isFinite=function(){return this.throwIfDisposed(),Bx(this)};O().prototype.isInf=function(){return this.throwIfDisposed(),Vx(this)};O().prototype.isNaN=function(){return this.throwIfDisposed(),Gx(this)};O().prototype.leakyRelu=function(r){return this.throwIfDisposed(),Cu(this,r)};O().prototype.lessEqual=function(r){return this.throwIfDisposed(),Vn(this,r)};O().prototype.less=function(r){return this.throwIfDisposed(),yl(this,r)};O().prototype.localResponseNormalization=function(r,t,e,n){return this.throwIfDisposed(),Wx(this,r,t,e,n)};O().prototype.logSigmoid=function(){return this.throwIfDisposed(),qx(this)};O().prototype.logSoftmax=function(r){return this.throwIfDisposed(),am(this,r)};O().prototype.logSumExp=function(r,t){return this.throwIfDisposed(),Su(this,r,t)};O().prototype.log=function(){return this.throwIfDisposed(),Nr(this)};O().prototype.log1p=function(){return this.throwIfDisposed(),vu(this)};O().prototype.logicalAnd=function(r){return this.throwIfDisposed(),Fr(this,r)};O().prototype.logicalNot=function(){return this.throwIfDisposed(),Nu(this)};O().prototype.logicalOr=function(r){return this.throwIfDisposed(),lm(this,r)};O().prototype.logicalXor=function(r){return this.throwIfDisposed(),Kx(this,r)};O().prototype.matMul=function(r,t,e){return this.throwIfDisposed(),Bt(this,r,t,e)};O().prototype.maxPool=function(r,t,e,n){return this.throwIfDisposed(),ku(this,r,t,e,n)};O().prototype.max=function(r,t){return this.throwIfDisposed(),Sr(this,r,t)};O().prototype.maximum=function(r){return this.throwIfDisposed(),kn(this,r)};O().prototype.mean=function(r,t){return this.throwIfDisposed(),Ne(this,r,t)};O().prototype.min=function(r,t){return this.throwIfDisposed(),gl(this,r,t)};O().prototype.minimum=function(r){return this.throwIfDisposed(),lo(this,r)};O().prototype.mirrorPad=function(r,t){return this.throwIfDisposed(),Yx(this,r,t)};O().prototype.mod=function(r){return this.throwIfDisposed(),Zx(this,r)};O().prototype.mul=function(r){return this.throwIfDisposed(),$(this,r)};O().prototype.neg=function(){return this.throwIfDisposed(),Ut(this)};O().prototype.norm=function(r,t,e){return this.throwIfDisposed(),xl(this,r,t,e)};O().prototype.notEqual=function(r){return this.throwIfDisposed(),ui(this,r)};O().prototype.oneHot=function(r,t=1,e=0){return this.throwIfDisposed(),ca(this,r,t,e)};O().prototype.onesLike=function(){return this.throwIfDisposed(),wr(this)};O().prototype.pad=function(r,t){return this.throwIfDisposed(),mn(this,r,t)};O().prototype.pool=function(r,t,e,n,o,s){return this.throwIfDisposed(),Jx(this,r,t,e,n,o,s)};O().prototype.pow=function(r){return this.throwIfDisposed(),un(this,r)};O().prototype.prelu=function(r){return this.throwIfDisposed(),_u(this,r)};O().prototype.prod=function(r,t){return this.throwIfDisposed(),Qx(this,r,t)};O().prototype.reciprocal=function(){return this.throwIfDisposed(),sy(this)};O().prototype.relu=function(){return this.throwIfDisposed(),Or(this)};O().prototype.relu6=function(){return this.throwIfDisposed(),um(this)};O().prototype.reshapeAs=function(r){return this.throwIfDisposed(),R(this,r.shape)};O().prototype.reshape=function(r){return this.throwIfDisposed(),R(this,r)};O().prototype.resizeBilinear=function(r,t,e){return this.throwIfDisposed(),Cy(this,r,t,e)};O().prototype.resizeNearestNeighbor=function(r,t,e){return this.throwIfDisposed(),vy(this,r,t,e)};O().prototype.reverse=function(r){return this.throwIfDisposed(),dr(this,r)};O().prototype.rfft=function(){return this.throwIfDisposed(),Du(this)};O().prototype.round=function(){return this.throwIfDisposed(),cm(this)};O().prototype.rsqrt=function(){return this.throwIfDisposed(),pm(this)};O().prototype.selu=function(){return this.throwIfDisposed(),mm(this)};O().prototype.separableConv2d=function(r,t,e,n,o,s){return this.throwIfDisposed(),fm(this,r,t,e,n,o,s)};O().prototype.sigmoid=function(){return this.throwIfDisposed(),Qr(this)};O().prototype.sign=function(){return this.throwIfDisposed(),iy(this)};O().prototype.sin=function(){return this.throwIfDisposed(),dm(this)};O().prototype.sinh=function(){return this.throwIfDisposed(),hm(this)};O().prototype.slice=function(r,t){return this.throwIfDisposed(),Ot(this,r,t)};O().prototype.softmax=function(r){return this.throwIfDisposed(),Eu(this,r)};O().prototype.softplus=function(){return this.throwIfDisposed(),li(this)};O().prototype.spaceToBatchND=function(r,t){return this.throwIfDisposed(),Tu(this,r,t)};O().prototype.split=function(r,t){return this.throwIfDisposed(),hr(this,r,t)};O().prototype.sqrt=function(){return this.throwIfDisposed(),Se(this)};O().prototype.square=function(){return this.throwIfDisposed(),Wt(this)};O().prototype.squaredDifference=function(r){return this.throwIfDisposed(),bm(this,r)};O().prototype.squeeze=function(r){return this.throwIfDisposed(),Wn(this,r)};O().prototype.stack=function(r,t){this.throwIfDisposed();let e=r instanceof Lt?[this,r]:[this,...r];return Fe(e,t)};O().prototype.step=function(r){return this.throwIfDisposed(),So(this,r)};O().prototype.stridedSlice=function(r,t,e,n,o,s,i,a){return this.throwIfDisposed(),ay(this,r,t,e,n,o,s,i,a)};O().prototype.sub=function(r){return this.throwIfDisposed(),at(this,r)};O().prototype.sum=function(r,t){return this.throwIfDisposed(),mt(this,r,t)};O().prototype.tan=function(){return this.throwIfDisposed(),ly(this)};O().prototype.tanh=function(){return this.throwIfDisposed(),na(this)};O().prototype.tile=function(r){return this.throwIfDisposed(),Rr(this,r)};O().prototype.toBool=function(){return this.throwIfDisposed(),J(this,\"bool\")};O().prototype.toFloat=function(){return this.throwIfDisposed(),J(this,\"float32\")};O().prototype.toInt=function(){return this.throwIfDisposed(),J(this,\"int32\")};O().prototype.topk=function(r,t){return this.throwIfDisposed(),cy(this,r,t)};O().prototype.transpose=function(r){return this.throwIfDisposed(),Vt(this,r)};O().prototype.unique=function(r){return this.throwIfDisposed(),py(this,r)};O().prototype.unsortedSegmentSum=function(r,t){return this.throwIfDisposed(),Cm(this,r,t)};O().prototype.unstack=function(r){return this.throwIfDisposed(),gr(this,r)};O().prototype.where=function(r,t){return this.throwIfDisposed(),we(r,this,t)};O().prototype.zerosLike=function(){return this.throwIfDisposed(),vt(this)};var uo=class r extends Error{constructor(t){super(t),Object.setPrototypeOf(this,r.prototype)}},dn=class r extends Error{constructor(t){super(t),Object.setPrototypeOf(this,r.prototype)}},z=class r extends Error{constructor(t){super(t),Object.setPrototypeOf(this,r.prototype)}},_t=class r extends Error{constructor(t){super(t),Object.setPrototypeOf(this,r.prototype)}},Ry=class r extends Error{constructor(t){super(t),Object.setPrototypeOf(this,r.prototype)}};var Ch=class{constructor(t){this.maxEntries=t||100,this.cache=new Map}get(t){let e;return this.cache.has(t)&&(e=this.cache.get(t),this.cache.delete(t),this.cache.set(t,e)),e}put(t,e){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxEntries){let n=this.cache.keys().next().value;this.cache.delete(n)}this.cache.set(t,e)}getMaxEntries(){return this.maxEntries}setMaxEntries(t){if(t<0)throw new Error(`The maxEntries of LRU caches must be at least 0, but got ${t}.`);if(this.maxEntries>t)for(let e=0;ee.toUpperCase())}var ko={};function Nm(r){if(r==null)return null;let t={};return t.className=r.getClassName(),t.config=r.getConfig(),t}function FN(r){if(!(r==null||typeof r!=\"object\"))if(Array.isArray(r))r.forEach(t=>FN(t));else{let t=Object.keys(r);for(let e of t){let n=r[e];n!=null&&typeof n==\"object\"&&(!Array.isArray(n)&&n.type===\"ndarray\"&&typeof n.value==\"number\"?r[e]=n.value:FN(n))}}}function fa(r,t={},e={},n=\"object\",o=!1){if(typeof r==\"string\"){let s=r,i;if(s in e)i=e[s];else if(s in ko)i=ko[s];else if(i=t[s],i==null)throw new z(`Unknown ${n}: ${r}. This may be due to one of the following reasons:\n1. The ${n} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${n} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return i}else{let s=r;if(s.className==null||s.config==null)throw new z(`${n}: Improper config format: ${JSON.stringify(s)}.\n'className' and 'config' must set.`);let i=s.className,a,u;if(i in e?[a,u]=e[i]:i in ko?[a,u]=ko.className:i in t&&([a,u]=t[i]),a==null)throw new z(`Unknown ${n}: ${i}. This may be due to one of the following reasons:\n1. The ${n} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${n} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(u!=null){let l={};for(let f of Object.keys(ko))l[f]=ko[f];for(let f of Object.keys(e))l[f]=e[f];let c=s.config;c.customObjects=l;let p=Object.assign({},ko);for(let f of Object.keys(e))ko[f]=e[f];FN(s.config);let m=u(a,s.config,e,o);return ko=Object.assign({},p),m}else{let l=Object.assign({},ko);for(let p of Object.keys(e))ko[p]=e[p];let c=new a(s.config);return ko=Object.assign({},l),c}}}function qZ(r,t){return rt?1:0}function vh(r,t){return-1*qZ(r,t)}function Eo(r){if(r==null)return r;let t=[];for(let e of r)t.indexOf(e)===-1&&t.push(e);return t}function q$(r){if(r==null)throw new z(`Invalid value in obj: ${JSON.stringify(r)}`);for(let t in r)if(r.hasOwnProperty(t))return!1;return!0}function da(r,t,e){if(e!=null&&r.indexOf(e)<0)throw new z(`${e} is not a valid ${t}. Valid values are ${r} or null/undefined.`)}function Fy(r,t,e=0,n=1/0){return co(e>=0),co(n>=e),Array.isArray(r)&&r.length>=e&&r.length<=n&&r.every(o=>typeof o===t)}function tr(r,t){Array.isArray(r)?(y.assert(r.length>0,()=>`${t} is unexpectedly an empty array.`),r.forEach((e,n)=>tr(e,`element ${n+1} of ${t}`))):y.assert(Number.isInteger(r)&&r>0,()=>`Expected ${t} to be a positive integer, but got ${K$(r)}.`)}function K$(r){return r===null?\"null\":Array.isArray(r)?\"[\"+r.map(t=>K$(t)).join(\",\")+\"]\":typeof r==\"string\"?`\"${r}\"`:`${r}`}function j$(r,t,e){let n=e!=null?e():y.now(),o;return(...i)=>{let a=e!=null?e():y.now();return a-n0){let e=`${r}_${t}`;return km.set(e,1),e}else return r}var XZ=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\\._\\/]*$/);function rR(r){return!!r.match(XZ)}function nR(r){return r===parseInt(r.toString(),10)}function Ao(r,t,e){t==null&&(t=0),e==null&&(e=r.length);let n=1;for(let o=t;ot&&(t=n)}return t}function gn(r,t){if(t{if(r.shape.length!==2)throw new z(`repeat() expects a rank-2 tensor, but received a rank-${r.shape.length} tensor.`);let e=Sl(r,1);return Vy(e,[1,t,1])})}function sR(r){let t=[Ao(r.shape)];return R(r,t)}function iR(r){if(r.rank<=1)throw new z(`batchFlatten requires a minimum rank of 2. Got rank: ${r.rank}.`);let t=[r.shape[0],Ao(r.shape,1)];return R(r,t)}function vl(r,t,e){return B(()=>{switch(r.rank){case 1:return gm(r,t,e);case 2:return hh(r,[t,0],[e,r.shape[1]]);case 3:return xm(r,[t,0,0],[e,r.shape[1],r.shape[2]]);case 4:return yc(r,[t,0,0,0],[e,r.shape[1],r.shape[2],r.shape[3]]);case 5:return Ot(r,[t,0,0,0,0],[e,r.shape[1],r.shape[2],r.shape[3],r.shape[4]]);case 6:return Ot(r,[t,0,0,0,0,0],[e,r.shape[1],r.shape[2],r.shape[3],r.shape[4],r.shape[5]]);default:throw new z(`sliceAlongFirstAxis() received an unsupported tensor rank: ${r.rank}`)}})}function LN(r,t,e){return B(()=>{switch(r.rank){case 1:return gm(r,t,e);case 2:return hh(r,[0,t],[r.shape[0],e]);case 3:return xm(r,[0,0,t],[r.shape[0],r.shape[1],e]);case 4:return yc(r,[0,0,0,t],[r.shape[0],r.shape[1],r.shape[2],e]);default:throw new z(`sliceAlongLastAxis() received an unsupported tensor rank: ${r.rank}`)}})}function Nh(r,t,e,n){return B(()=>{switch(r.rank){case 1:return gm(r,t,e);case 2:switch(n){case 1:return vl(r,t,e);case 2:return LN(r,t,e);default:throw new z(`The axis is not within the rank of the tensor ${n}`)}case 3:switch(n){case 1:return vl(r,t,e);case 2:return xm(r,[0,t,0],[r.shape[0],e,r.shape[2]]);case 3:return LN(r,t,e);default:throw new z(`The axis is not within the rank of the tensor ${n}`)}case 4:switch(n){case 1:return vl(r,t,e);case 2:return yc(r,[0,t,0,0],[r.shape[0],e,r.shape[2],r.shape[3]]);case 3:return yc(r,[0,0,t,0],[r.shape[0],r.shape[1],e,r.shape[3]]);case 4:return LN(r,t,e);default:throw new z(`The axis is not within the rank of the tensor ${n}`)}default:throw new z(`sliceAlongLastAxis() received an unsupported tensor rank: ${r.rank}`)}})}function Tm(r,t=-1){let e;return t<0&&(e=r[0].rank,e!==0?t=e:t=0),t===r[0].rank&&(t=-1),ie(r,t)}function BN(r,t){switch(r.rank){case 1:return kx([r,t]);case 2:return Tx([r,t],0);case 3:return _x([r,t],0);case 4:return Ex([r,t],0);default:throw new z(`concatAlongFirstAxis() received an unsupported tensor rank: ${r.rank}`)}}function Vy(r,t){if(Array.isArray(t)||(t=[t]),r.rank!==t.length)throw new z(`The length of input n (${t.length}) does not match the number of dimensions in input x (${r.rank})`);return Rr(r,t)}function _m(r,t=0,e=1,n,o){return xc(r,t,e,n,o)}function Do(r,t,e,n){if(r.rank<2||t.rank<2)throw new _t(`dot requires both inputs to be rank >= 2 but got x shape = ${r.shape} and y shape = ${t.shape}`);if(t.rank>=3){let o=r.shape.slice(-1)[0],s=t.shape.slice(-2)[0];if(o!==s)throw new _t(`If rank y >= 3, then the second last dim of y must equal the last dim of x but got x shape = ${r.shape} and y shape = ${t.shape}`)}if(r.rank===2&&t.rank===2)return Ru.matMul({a:r,b:t,transposeA:!1,transposeB:!1,bias:n?zN(r.rank,n,xn()):null,activation:e});{let o=r.shape.slice(),s=o.pop();r=R(r,[-1,s]);let i=t.shape.slice(),a=i.pop(),u=i.pop(),l=[...i,a],c=Array.from({length:t.rank},(d,h)=>h===0?t.rank-2:h<=t.rank-2?h-1:h);t=R(Vt(t,c),[u,-1]);let p=[...o,...l];return R(Ru.matMul({a:r,b:t,transposeA:!1,transposeB:!1,bias:n?zN(r.rank,n,xn()):null,activation:e}),p)}}function Gy(r,t,e){return B(()=>(Array.isArray(t)?t=Oe(t,\"int32\"):t=J(t,\"int32\"),ua(r,t,e)))}function $c(r){return $(r,r)}function zN(r,t,e){let n=t.shape;if(t.rank!==1&&t.rank!==r)throw new z(`Unexpected bias dimensions: ${t.rank}; expected it to be 1 or ${r}`);if(r===5){if(e===\"channelsFirst\")return n.length===1?R(t,[1,n[0],1,1,1]):R(t,[1,n[3],n[0],n[1],n[2]]);if(e===\"channelsLast\")return n.length===1?R(t,[1,1,1,1,n[0]]):R(t,[1].concat(n))}else if(r===4){if(e===\"channelsFirst\")return n.length===1?R(t,[1,n[0],1,1]):R(t,[1,n[2],n[0],n[1]]);if(e===\"channelsLast\")return n.length===1?R(t,[1,1,1,n[0]]):R(t,[1].concat(n))}else if(r===3){if(e===\"channelsFirst\")return n.length===1?R(t,[1,n[0],1]):R(t,[1,n[1],n[0]]);if(e===\"channelsLast\")return n.length===1?R(t,[1,1,n[0]]):R(t,[1].concat(n))}else if(r<3)return t;throw new z(`Unsupported input rank by biasAdd: ${t.rank}`)}function yn(r,t,e){return B(()=>(e==null&&(e=xn()),Me(e),X(r,zN(r.rank,t,e))))}function aR(r,t=1){if(t!==1)throw new _t(`Support for alpha values other than 1 (${t}) is not implemented yet.`);return aa(r)}function lR(r){return B(()=>ct(r,X(_e(r),1)))}function Wy(r,t,e,n){return B(()=>mN(r,t,e,n))}function uR(r){return B(()=>{let t=X(.5,$(.2,r));return vr(t,0,1)})}function Ou(r,t,e=!1){return e?r():t()}var cR=[\"fanIn\",\"fanOut\",\"fanAvg\"],pR=[\"normal\",\"uniform\",\"truncatedNormal\"];function YZ(r){da(cR,\"FanMode\",r)}function ZZ(r){da(pR,\"Distribution\",r)}var bn=class extends Q.Serializable{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}},Em=class extends bn{apply(t,e){return ke(t,e)}};Em.className=\"Zeros\";Q.registerClass(Em);var Mu=class extends bn{apply(t,e){return ar(t,e)}};Mu.className=\"Ones\";Q.registerClass(Mu);var Am=class extends bn{constructor(t){if(super(),typeof t!=\"object\")throw new z(`Expected argument of type ConstantConfig but got ${t}`);if(t.value===void 0)throw new z(`config must have value set but got ${t}`);this.value=t.value}apply(t,e){return B(()=>$(pt(this.value),ar(t,e)))}getConfig(){return{value:this.value}}};Am.className=\"Constant\";Q.registerClass(Am);var Dm=class extends bn{constructor(t){super(),this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=t.minval||this.DEFAULT_MINVAL,this.maxval=t.maxval||this.DEFAULT_MAXVAL,this.seed=t.seed}apply(t,e){return Gn(t,this.minval,this.maxval,e,this.seed)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}};Dm.className=\"RandomUniform\";Q.registerClass(Dm);var $m=class extends bn{constructor(t){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=t.mean||this.DEFAULT_MEAN,this.stddev=t.stddev||this.DEFAULT_STDDEV,this.seed=t.seed}apply(t,e){if(e=e||\"float32\",e!==\"float32\"&&e!==\"int32\")throw new _t(`randomNormal does not support dType ${e}.`);return _m(t,this.mean,this.stddev,e,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}};$m.className=\"RandomNormal\";Q.registerClass($m);var Rm=class extends bn{constructor(t){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=t.mean||this.DEFAULT_MEAN,this.stddev=t.stddev||this.DEFAULT_STDDEV,this.seed=t.seed}apply(t,e){if(e=e||\"float32\",e!==\"float32\"&&e!==\"int32\")throw new _t(`truncatedNormal does not support dType ${e}.`);return Im(t,this.mean,this.stddev,e,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}};Rm.className=\"TruncatedNormal\";Q.registerClass(Rm);var Fm=class extends bn{constructor(t){super(),this.gain=t.gain!=null?t.gain:1}apply(t,e){return B(()=>{if(t.length!==2||t[0]!==t[1])throw new z(\"Identity matrix initializer can only be used for 2D square matrices.\");return $(this.gain,fc(t[0]))})}getConfig(){return{gain:this.gain}}};Fm.className=\"Identity\";Q.registerClass(Fm);function JZ(r,t=\"channelsLast\"){let e,n;if(Me(t),r.length===2)e=r[0],n=r[1];else if([3,4,5].indexOf(r.length)!==-1){if(t===\"channelsFirst\"){let o=Ao(r,2);e=r[1]*o,n=r[0]*o}else if(t===\"channelsLast\"){let o=Ao(r,0,r.length-2);e=r[r.length-2]*o,n=r[r.length-1]*o}}else{let o=Ao(r);e=Math.sqrt(o),n=Math.sqrt(o)}return[e,n]}var jr=class extends bn{constructor(t){if(super(),t.scale<0)throw new z(`scale must be a positive float. Got: ${t.scale}`);this.scale=t.scale==null?1:t.scale,this.mode=t.mode==null?\"fanIn\":t.mode,YZ(this.mode),this.distribution=t.distribution==null?\"normal\":t.distribution,ZZ(this.distribution),this.seed=t.seed}apply(t,e){let n=JZ(t),o=n[0],s=n[1],i=this.scale;if(this.mode===\"fanIn\"?i/=Math.max(1,o):this.mode===\"fanOut\"?i/=Math.max(1,s):i/=Math.max(1,(o+s)/2),this.distribution===\"normal\"){let a=Math.sqrt(i);if(e=e||\"float32\",e!==\"float32\"&&e!==\"int32\")throw new _t(`${this.getClassName()} does not support dType ${e}.`);return Im(t,0,a,e,this.seed)}else{let a=Math.sqrt(3*i);return Gn(t,-a,a,e,this.seed)}}getConfig(){return{scale:this.scale,mode:this.mode,distribution:this.distribution,seed:this.seed}}};jr.className=\"VarianceScaling\";Q.registerClass(jr);var Rc=class extends jr{constructor(t){super({scale:1,mode:\"fanAvg\",distribution:\"uniform\",seed:t==null?null:t.seed})}getClassName(){return jr.className}};Rc.className=\"GlorotUniform\";Q.registerClass(Rc);var Fc=class extends jr{constructor(t){super({scale:1,mode:\"fanAvg\",distribution:\"normal\",seed:t==null?null:t.seed})}getClassName(){return jr.className}};Fc.className=\"GlorotNormal\";Q.registerClass(Fc);var Oc=class extends jr{constructor(t){super({scale:2,mode:\"fanIn\",distribution:\"normal\",seed:t==null?null:t.seed})}getClassName(){return jr.className}};Oc.className=\"HeNormal\";Q.registerClass(Oc);var Mc=class extends jr{constructor(t){super({scale:2,mode:\"fanIn\",distribution:\"uniform\",seed:t==null?null:t.seed})}getClassName(){return jr.className}};Mc.className=\"HeUniform\";Q.registerClass(Mc);var Pc=class extends jr{constructor(t){super({scale:1,mode:\"fanIn\",distribution:\"normal\",seed:t==null?null:t.seed})}getClassName(){return jr.className}};Pc.className=\"LeCunNormal\";Q.registerClass(Pc);var Lc=class extends jr{constructor(t){super({scale:1,mode:\"fanIn\",distribution:\"uniform\",seed:t==null?null:t.seed})}getClassName(){return jr.className}};Lc.className=\"LeCunUniform\";Q.registerClass(Lc);var Om=class extends bn{constructor(t){super(),this.DEFAULT_GAIN=1,this.ELEMENTS_WARN_SLOW=2e3,this.gain=t.gain==null?this.DEFAULT_GAIN:t.gain,this.seed=t.seed}apply(t,e){return B(()=>{if(t.length<2)throw new _t(\"Shape must be at least 2D.\");if(e!==\"int32\"&&e!==\"float32\"&&e!==void 0)throw new TypeError(`Unsupported data type ${e}.`);e=e;let n=y.sizeFromShape(t.slice(0,-1)),o=t[t.length-1],s=n*o;s>this.ELEMENTS_WARN_SLOW&&console.warn(`Orthogonal initializer is being called on a matrix with more than ${this.ELEMENTS_WARN_SLOW} (${s}) elements: Slowness may result.`);let i=[Math.max(o,n),Math.min(o,n)],a=_m(i,0,1,e,this.seed),u=hN.qr(a,!1),l=u[0],p=u[1].flatten().stridedSlice([0],[Math.min(o,n)*Math.min(o,n)],[Math.min(o,n)+1]);return l=$(l,p.sign()),nn*o);return t}var hR=\"Variable\",kh=class{constructor(t,e=\"float32\",n=hR,o=!0,s=null){this.dtype=e==null?\"float32\":e,this.shape=t.shape,this.id=Py(),n=n==null?hR:n,this.originalName=Ly(n),this.name=zy(this.originalName),this.trainable_=o,this.constraint=s,this.val=my(t,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(t){return this.assertNotDisposed(),t7(this.val,t),this.val.id!==t.id&&(this.val.assign(t),this.constraint!=null&&this.val.assign(this.constraint.apply(this.val))),this}dispose(){this.assertNotDisposed(),this.val.dispose()}assertNotDisposed(){if(this.val.isDisposed)throw new Error(`LayersVariable ${this.name} is already disposed.`)}get trainable(){return this.trainable_}set trainable(t){this.trainable_=t,this.val.trainable=t}};function t7(r,t){if(r.shape.toString()!==t.shape.toString())throw new Error(\"Shape mismatch: \"+JSON.stringify(r.shape)+\" vs. \"+JSON.stringify(t.shape))}function Th(r){return r.map(t=>t.read())}function Lm(r){r.forEach(t=>{t[0].write(t[1])})}var Ie=class{constructor(t){this.dtype=t.dtype,this.shape=t.shape,t.shape!=null?this.ndim=t.shape.length:this.ndim=t.ndim,this.maxNDim=t.maxNDim,this.minNDim=t.minNDim,this.axes=t.axes||{}}},en=class{constructor(t,e,n,o,s,i,a){this.dtype=t,this.shape=e,this.sourceLayer=n,this.inputs=o,this.callArgs=s,this.outputTensorIndex=a,this.id=Py(),i!=null&&(this.originalName=Ly(i),this.name=zy(this.originalName)),this.rank=e.length}},e7=0,Nl=class{constructor(t,e){this.callArgs=e,this.id=e7++,this.outboundLayer=t.outboundLayer,this.inboundLayers=t.inboundLayers,this.nodeIndices=t.nodeIndices,this.tensorIndices=t.tensorIndices,this.inputTensors=t.inputTensors,this.outputTensors=t.outputTensors,this.inputMasks=t.inputMasks,this.outputMasks=t.outputMasks,this.inputShapes=t.inputShapes,this.outputShapes=t.outputShapes;for(let n of t.inboundLayers)n!=null&&n.outboundNodes.push(this);t.outboundLayer.inboundNodes.push(this)}getConfig(){let t=[];for(let e of this.inboundLayers)e!=null?t.push(e.name):t.push(null);return{outboundLayer:this.outboundLayer?this.outboundLayer.name:null,inboundLayers:t,nodeIndices:this.nodeIndices,tensorIndices:this.tensorIndices}}},r7=0,Et=class extends Q.Serializable{constructor(t={}){super(),this._callHook=null,this._addedWeightNames=[],this._stateful=!1,this.id=r7++,this.activityRegularizer=null,this.inputSpec=null,this.supportsMasking=!1,this._trainableWeights=[],this._nonTrainableWeights=[],this._losses=[],this._updates=[],this._built=!1,this.inboundNodes=[],this.outboundNodes=[];let e=t.name;if(!e){let n=this.getClassName();e=_o(n)+\"_\"+Fu(n)}if(this.name=e,this.trainable_=t.trainable==null?!0:t.trainable,t.inputShape!=null||t.batchInputShape!=null){let n;if(t.batchInputShape!=null)n=t.batchInputShape;else if(t.inputShape!=null){let s=null;t.batchSize!=null&&(s=t.batchSize),n=[s].concat(t.inputShape)}this.batchInputShape=n;let o=t.dtype;o==null&&(o=t.inputDType),o==null&&(o=\"float32\"),this.dtype=o}t.weights!=null?this.initialWeights=t.weights:this.initialWeights=null,this._refCount=null,this.fastWeightInitDuringBuild=!1}static nodeKey(t,e){return t.name+\"_ib-\"+e.toString()}getNodeAtIndex(t,e){if(this.inboundNodes.length===0)throw new dn(`The layer has never been called and thus has no defined ${e}.`);if(this.inboundNodes.length<=t)throw new z(`Asked to get ${e} at node ${t}, but the layer has only ${this.inboundNodes.length} inbound nodes.`);return this.inboundNodes[t]}getInputAt(t){return kr(this.getNodeAtIndex(t,\"input\").inputTensors)}getOutputAt(t){return kr(this.getNodeAtIndex(t,\"output\").outputTensors)}get input(){if(this.inboundNodes.length>1)throw new uo(`Layer ${this.name} has multiple inbound nodes, hence the notion of \"layer input\" is ill-defined. Use \\`getInputAt(nodeIndex)\\` instead.`);if(this.inboundNodes.length===0)throw new uo(`Layer ${this.name} is not connected, no input to return.`);return kr(this.getNodeAtIndex(0,\"input\").inputTensors)}get output(){if(this.inboundNodes.length===0)throw new uo(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new uo(`Layer ${this.name} has multiple inbound nodes, hence the notion of \"layer output\" is ill-defined. Use \\`getOutputAt(nodeIndex)\\` instead.`);return kr(this.getNodeAtIndex(0,\"output\").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map(t=>t())}get updates(){return this._updates}get built(){return this._built}set built(t){this._built=t}get trainable(){return this.trainable_}set trainable(t){this._trainableWeights.forEach(e=>e.trainable=t),this.trainable_=t}get trainableWeights(){return this.trainable_?this._trainableWeights.filter(t=>t.trainable):[]}set trainableWeights(t){this._trainableWeights=t}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter(t=>!t.trainable).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(t){this._nonTrainableWeights=t}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}get stateful(){return this._stateful}resetStates(){if(!this.stateful)throw new Error(\"Cannot call the resetStates() method of a non-stateful Layer object.\")}assertInputCompatibility(t){let e=ue(t);if(this.inputSpec==null||this.inputSpec.length===0)return;let n=ue(this.inputSpec);if(e.length!==n.length)throw new z(`Layer ${this.name} expects ${n.length} inputs, but it received ${e.length} input tensors. Input received: ${t}`);for(let o=0;oi.maxNDim)throw new z(`Input ${o} is incompatible with layer ${this.name}: expected max_ndim=${i.maxNDim}, found ndim=${a}`);if(i.minNDim!=null&&a=0?u[c]:u[u.length+c];if(p!=null&&[p,null].indexOf(m)===-1)throw new z(`Input ${o} is incompatible with layer ${this.name}: expected axis ${c} of input shape to have value ${p} but got shape ${u}.`)}}if(i.shape!=null)for(let u=0;u{if(!this.built){this.assertInputCompatibility(t);let i=[];for(let a of ue(t))i.push(a.shape);this.build(kr(i)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),this._refCount===null&&s&&(this._refCount=1)}if(this.assertInputCompatibility(t),s){let i=this.call(t,e);this.supportsMasking&&this.setMaskMetadata(t,i);let a=ue(i),u=[];for(let l of a)n.indexOf(l)!==-1&&(l=l.clone()),u.push(l);if(i=kr(u),this.activityRegularizer!=null)throw new _t(\"Layer invocation in the presence of activity regularizer(s) is not supported yet.\");return i}else{let i=n7(t),a=this.computeOutputShape(i),u,l=o7(t);if(this.warnOnIncompatibleInputShape(Array.isArray(t)?i[0]:i),a!=null&&a.length>0&&Array.isArray(a[0])?u=a.map((c,p)=>new en(l,c,this,ue(t),e,this.name,p)):u=new en(l,a,this,ue(t),e,this.name),this.addInboundNode(t,u,null,null,i,a,e),this._refCount++,this.activityRegularizer!=null)throw new _t(\"Layer invocation in the presence of activity regularizer(s) is not supported yet.\");return u}})}warnOnIncompatibleInputShape(t){if(this.batchInputShape!=null)if(t.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(t)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let e=!1;this.batchInputShape.forEach((n,o)=>{n!=null&&t[o]!=null&&t[o]!==n&&(e=!0)}),e&&console.warn(`The shape of the input tensor (${JSON.stringify(t)}) does not match the expectation of layer ${this.name}: ${JSON.stringify(this.batchInputShape)}`)}}get outputShape(){if(this.inboundNodes==null||this.inboundNodes.length===0)throw new uo(`The layer ${this.name} has never been called and thus has no defined output shape.`);let t=[];for(let e of this.inboundNodes){let n=JSON.stringify(e.outputShapes);t.indexOf(n)===-1&&t.push(n)}if(t.length===1){let e=this.inboundNodes[0].outputShapes;return Array.isArray(e)&&Array.isArray(e[0])&&e.length===1?e[0]:e}else throw new uo(`The layer ${this.name} has multiple inbound nodes with different output shapes. Hence the notion of \"output shape\" is ill-defined for the layer.`)}countParams(){if(!this.built)throw new dn(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return Pm(this.weights)}build(t){this.built=!0}getWeights(t=!1){return Th(t?this.trainableWeights:this.weights)}setWeights(t){B(()=>{let e=this.weights;if(e.length!==t.length)throw new z(`You called setWeights(weights) on layer \"${this.name}\" with a weight list of length ${t.length}, but the layer was expecting ${e.length} weights. Provided weights: ${t}...`);if(e.length===0)return;let n=[],o=Th(e);for(let s=0;ss.apply(c.read())),i==null&&(i=!0),i?this._trainableWeights.push(c):this._nonTrainableWeights.push(c),c}setFastWeightInitDuringBuild(t){this.fastWeightInitDuringBuild=t}addLoss(t){t==null||Array.isArray(t)&&t.length===0||(t=ue(t),this._losses!==void 0&&this._losses!==null&&this.losses.push(...t))}computeOutputShape(t){return t}computeMask(t,e){if(!this.supportsMasking){if(e!=null)if(Array.isArray(e))e.forEach(n=>{if(n!=null)throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`)});else throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`);return null}return e}setMaskMetadata(t,e,n){if(!this.supportsMasking)return;let o=this.computeMask(t,n),s=ue(e),i=ue(o);if(s.length!==i.length)throw new Error(`${this.name} outputs ${s.length} tensors but ${s.length} masks for those tensors`);for(let a=0;at.dispose()),this.weights.length}assertNotDisposed(){if(this._refCount===0)throw new Error(`Layer '${this.name}' is already disposed.`)}dispose(){if(!this.built)throw new Error(`Cannot dispose Layer ${this.name} because it has not been built yet.`);if(this._refCount===null)throw new Error(`Cannot dispose Layer ${this.name} because it has not been used yet.`);this.assertNotDisposed();let t=0;return--this._refCount===0&&(t=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:t}}};function n7(r){r=ue(r);let t=[];for(let e of r)t.push(e.shape);return kr(t)}function o7(r){return\"float32\"}function VN(r,t,e){if((t==null||e!=null&&e>0)&&(t=r.sourceLayer,e=r.nodeIndex),t.inboundNodes.length===0)return[r];{let n=t.inboundNodes[e];if(n.inboundLayers.length===0)return n.inputTensors;{let o=[];for(let s=0;sd.name),u=[],l=t.names();for(let d of a)l.indexOf(d)!==-1?u.push(t.getValue(d)):u.push(null);n!=null&&(n.maxNumTensors=-1/0,n.minNumTensors=1/0);let c=a.join(\",\")+\"|\"+t.names().sort().join(\",\"),p=qy.get(c),m;if(p==null){let d=l7(i,t);p=d.sorted,m=d.recipientCounts,qy.put(c,p),Ky.put(c,m)}m={},o||Object.assign(m,Ky.get(c));let f=new ha(t);for(let d=0;dn.maxNumTensors&&(n.maxNumTensors=F),F0,()=>\"Expected at least one fetch, got none\");let e=[],n={};if(r.length===1){let o=gR(r[0],t);e=o.sorted,n=o.recipientMap}else{let o=new Set;for(let s of r){let{sorted:i,recipientMap:a}=gR(s,t);for(let u of i)o.has(u.name)||(e.push(u),o.add(u.name));for(let u in a)n[u]==null&&(n[u]=new Set),a[u].forEach(l=>n[u].add(l))}}return{sorted:e,recipientCounts:u7(n)}}function u7(r){let t={};for(let e in r)t[e]=r[e].size;return t}function gR(r,t){let e=new Set,n=[],o={};for(let a of t.names())e.add(a);let s=[],i=[];for(s.push(r);s.length>0;){let a=s[s.length-1];if(e.has(a.name)){s.pop();continue}let u=i[i.length-1]===s.length-1;if(a.inputs.length===0||u)s.pop(),n.push(a),e.add(a.name),u&&i.pop();else{i.push(s.length-1);for(let l of a.inputs)o[l.name]==null&&(o[l.name]=new Set),o[l.name].add(a.name),!e.has(l.name)&&s.push(l)}}return{sorted:n,recipientMap:o}}function c7(r){let t;if(r.sourceLayer.inboundNodes.length===1)t=r.sourceLayer.output;else{let e=null;for(let n=0;n100,xR);var wR={};Kt(wR,{maxNorm:()=>m7,minMaxNorm:()=>h7,nonNeg:()=>d7,unitNorm:()=>f7});function GN(r,t){return B(()=>Se(mt($(r,r),t,!0)))}var Bc=class extends Q.Serializable{getConfig(){return{}}},zm=class extends Bc{constructor(t){super(),this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=t.maxValue!=null?t.maxValue:this.defaultMaxValue,this.axis=t.axis!=null?t.axis:this.defaultAxis}apply(t){return B(()=>{let e=GN(t,this.axis),n=vr(e,0,this.maxValue);return $(t,ct(n,X(cr(),e)))})}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}};zm.className=\"MaxNorm\";Q.registerClass(zm);var Bm=class extends Bc{constructor(t){super(),this.defaultAxis=0,this.axis=t.axis!=null?t.axis:this.defaultAxis}apply(t){return B(()=>ct(t,X(cr(),GN(t,this.axis))))}getConfig(){return{axis:this.axis}}};Bm.className=\"UnitNorm\";Q.registerClass(Bm);var Vm=class extends Bc{apply(t){return Or(t)}};Vm.className=\"NonNeg\";Q.registerClass(Vm);var Gm=class extends Bc{constructor(t){super(),this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=t.minValue!=null?t.minValue:this.defaultMinValue,this.maxValue=t.maxValue!=null?t.maxValue:this.defaultMaxValue,this.rate=t.rate!=null?t.rate:this.defaultRate,this.axis=t.axis!=null?t.axis:this.defaultAxis}apply(t){return B(()=>{let e=GN(t,this.axis),n=X($(this.rate,vr(e,this.minValue,this.maxValue)),$(1-this.rate,e));return $(t,ct(n,X(cr(),e)))})}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}};Gm.className=\"MinMaxNorm\";Q.registerClass(Gm);var yR={maxNorm:\"MaxNorm\",minMaxNorm:\"MinMaxNorm\",nonNeg:\"NonNeg\",unitNorm:\"UnitNorm\"};function Ve(r){return Nm(r)}function bR(r,t={}){return fa(r,Q.SerializationMap.getMap().classNameMap,t,\"constraint\")}function Ge(r){if(r==null)return null;if(typeof r==\"string\"){let e={className:r in yR?yR[r]:r,config:{}};return bR(e)}else return r instanceof Bc?r:bR(r)}function m7(r){return new zm(r)}function f7(r){return new Bm(r)}function d7(){return new Vm}function h7(r){return new Gm(r)}var IR={};Kt(IR,{constant:()=>y7,glorotNormal:()=>N7,glorotUniform:()=>S7,heNormal:()=>k7,heUniform:()=>T7,identity:()=>C7,leCunNormal:()=>_7,leCunUniform:()=>E7,ones:()=>x7,orthogonal:()=>A7,randomNormal:()=>w7,randomUniform:()=>b7,truncatedNormal:()=>I7,varianceScaling:()=>v7,zeros:()=>g7});function g7(){return new Em}function x7(){return new Mu}function y7(r){return new Am(r)}function b7(r){return new Dm(r)}function w7(r){return new $m(r)}function I7(r){return new Rm(r)}function C7(r){return new Fm(r)}function v7(r){return new jr(r)}function S7(r){return new Rc(r)}function N7(r){return new Fc(r)}function k7(r){return new Oc(r)}function T7(r){return new Mc(r)}function _7(r){return new Pc(r)}function E7(r){return new Lc(r)}function A7(r){return new Om(r)}var eF={};Kt(eF,{Layer:()=>Et,RNN:()=>po,RNNCell:()=>Tl,activation:()=>XJ,add:()=>o9,alphaDropout:()=>V9,average:()=>s9,averagePooling1d:()=>rk,averagePooling2d:()=>nk,averagePooling3d:()=>ok,avgPool1d:()=>d9,avgPool2d:()=>g9,avgPool3d:()=>y9,avgPooling1d:()=>h9,avgPooling2d:()=>x9,avgPooling3d:()=>b9,batchNormalization:()=>p9,bidirectional:()=>R9,categoryEncoding:()=>q9,centerCrop:()=>U9,concatenate:()=>i9,conv1d:()=>BJ,conv2d:()=>VJ,conv2dTranspose:()=>GJ,conv3d:()=>WJ,conv3dTranspose:()=>UJ,convLstm2d:()=>E9,convLstm2dCell:()=>A9,cropping2D:()=>qJ,dense:()=>YJ,depthwiseConv2d:()=>jJ,dot:()=>c9,dropout:()=>ZJ,elu:()=>FJ,embedding:()=>n9,flatten:()=>QJ,gaussianDropout:()=>B9,gaussianNoise:()=>z9,globalAveragePooling1d:()=>w9,globalAveragePooling2d:()=>I9,globalMaxPool1d:()=>O9,globalMaxPool2d:()=>M9,globalMaxPooling1d:()=>ZR,globalMaxPooling2d:()=>JR,gru:()=>v9,gruCell:()=>S9,input:()=>YN,inputLayer:()=>RJ,layerNormalization:()=>m9,leakyReLU:()=>MJ,lstm:()=>N9,lstmCell:()=>k9,masking:()=>G9,maxPool1d:()=>P9,maxPool2d:()=>L9,maxPooling1d:()=>QR,maxPooling2d:()=>tF,maxPooling3d:()=>C9,maximum:()=>a9,minimum:()=>l9,multiply:()=>u9,permute:()=>r9,prelu:()=>PJ,randomWidth:()=>K9,reLU:()=>OJ,repeatVector:()=>t9,rescaling:()=>W9,reshape:()=>e9,resizing:()=>H9,rnn:()=>D9,separableConv2d:()=>HJ,simpleRNN:()=>T9,simpleRNNCell:()=>_9,softmax:()=>LJ,spatialDropout1d:()=>JJ,stackedRNNCells:()=>$9,thresholdedReLU:()=>zJ,timeDistributed:()=>F9,upSampling2d:()=>KJ,zeroPadding2d:()=>f9});async function ga(r){if(r==null)return;let t=[],e=[],n=[];for(let o in r){let s=r[o];if(typeof s!=\"number\"){let i=s;t.push(i.data()),e.push(o),n.push(i)}}if(t.length>0){let o=await Promise.all(t);for(let s=0;sX(this.totals[o],$(s,n)));this.totals[o]=a,i!=null&&i.dispose()}}}async onEpochEnd(t,e){if(e!=null)for(let n of this.params.metrics)this.totals[n]!=null&&(typeof this.totals[n]==\"number\"?e[n]=this.totals[n]/this.seen:B(()=>{let o=$(ct(1,this.seen),this.totals[n]);e[n]=o,this.totals[n].dispose(),De(e[n])}))}},Yy=class extends kl{async onTrainBegin(t){this.epoch=[],this.history={}}async onEpochEnd(t,e){e==null&&(e={}),this.epoch.push(t);for(let n in e)this.history[n]==null&&(this.history[n]=[]),this.history[n].push(e[n])}async syncData(){let t=[],e=[],n=[];for(let s in this.history){let i=this.history[s];for(let a=0;anew Zy(n,t))}var Wm=class r{constructor(){}static registerCallbackConstructor(t,e){y.assert(t>=0&&Number.isInteger(t),()=>`Verbosity level is expected to be an integer >= 0, but got ${t}`),r.checkForDuplicate(e),r.constructors[t]==null&&(r.constructors[t]=[]),r.constructors[t].push(e)}static checkForDuplicate(t){for(let e in r.constructors)r.constructors[+e].forEach(o=>{if(o===t)throw new z(\"Duplicate callback constructor.\")})}static clear(){r.constructors={}}static createCallbacks(t){let e=[];for(let n in r.constructors){let o=+n;t>=o&&e.push(...r.constructors[o])}return e.map(n=>new n)}};Wm.constructors={};function Qy(r,t,e,n,o,s,i,a,u){let l=new Yy,c=[new WN,...Wm.createCallbacks(t)];r!=null&&c.push(...r),c.push(l);let p=new Xy(c);return p.setParams({epochs:e,initialEpoch:n,samples:o,steps:s,batchSize:i,verbose:t,doValidation:a,metrics:u}),{callbackList:p,history:l}}function wn(r,t={},e=!1){return fa(r,Q.SerializationMap.getMap().classNameMap,t,\"layer\",e)}function _h(r,t){return B(()=>{r.dtype!==\"float32\"&&(r=J(r,\"float32\"));let e=mt($c(r),t,!0),n=Co(e.shape,cr()),o=Se(kn(e,n));return ct(r,o)})}function xa(r,t){return B(()=>Ne($c(at(t,r)),-1))}function Um(r,t){return B(()=>Ne(_e(at(t,r)),-1))}function Pu(r,t){return B(()=>{let e=at(r,t),n=vr(_e(r),cr(),Number.MAX_VALUE),o=_e(ct(e,n));return $(100,Ne(o,-1))})}function $7(r,t){return B(()=>{let e=vr(t,cr(),Number.MAX_VALUE),n=Nr(X(1,e)),o=vr(r,cr(),Number.MAX_VALUE),s=Nr(X(1,o));return Ne($c(at(n,s)),-1)})}function R7(r,t){return B(()=>{let e=kn(0,at(1,$(r,t)));return Ne($c(e),-1)})}function F7(r,t){return B(()=>{let e=kn(0,at(1,$(r,t)));return Ne(e,-1)})}function O7(r,t){return B(()=>{let e=mt($(r,t),-1),n=Sr($(at(1,r),t),-1);return kn(0,X(1,at(n,e)))})}function M7(r,t){return B(()=>{let e=Math.log(2),n=at(t,r),o=at(X(n,li($(-2,n))),e);return Ne(o,-1)})}function Vc(r,t,e=!1){return B(()=>{if(e)t=Eu(t);else{let n=mt(t,t.shape.length-1,!0);t=ct(t,n)}return t=vr(t,cr(),1-cr()),Ut(mt($(J(r,\"float32\"),Nr(t)),t.shape.length-1))})}function Hm(r,t,e=!1){return B(()=>{let n=J(la(sR(r)),\"int32\");t=vr(t,cr(),1-cr());let o=t.shape,s=R(ca(n,o[o.length-1]),o);return Vc(s,t,e)})}function P7(r,t){if(!y.arraysEqual(r.shape,t.shape))throw new z(`logits and labels must have the same shape, but got shapes ${JSON.stringify(r.shape)} and ${JSON.stringify(t.shape)}`);return B(()=>{let e=Or(t),n=Ut(_e(t));return X(at(e,$(t,r)),vu(Ke(n)))})}function qm(r,t){return B(()=>{let e;return e=vr(t,cr(),1-cr()),e=Nr(ct(e,at(1,e))),Ne(P7(r,e),-1)})}function L7(r,t){return B(()=>{let e=vr(r,cr(),1),n=vr(t,cr(),1);return mt($(r,Nr(ct(e,n))),-1)})}function z7(r,t){return B(()=>{let e=Nr(X(cr(),t));return Ne(at(t,$(r,e)),-1)})}function Ah(r,t){return B(()=>{let e=_h(r,-1),n=_h(t,-1),o=$(e,n);return Ut(mt(o,-1))})}var Eh={meanSquaredError:xa,meanAbsoluteError:Um,meanAbsolutePercentageError:Pu,meanSquaredLogarithmicError:$7,squaredHinge:R7,hinge:F7,categoricalHinge:O7,logcosh:M7,categoricalCrossentropy:Vc,sparseCategoricalCrossentropy:Hm,binaryCrossentropy:qm,kullbackLeiblerDivergence:L7,poisson:z7,cosineProximity:Ah};function tb(r){if(typeof r==\"string\"){if(r in Eh)return Eh[r];let t=`Unknown loss ${r}`;throw r.toLowerCase().includes(\"softmaxcrossentropy\")&&(t=`Unknown loss ${r}. Use \"categoricalCrossentropy\" as the string name for tf.losses.softmaxCrossEntropy`),new z(t)}else return r}function Dh(r,t){return B(()=>{let e=$(.5,wr(t)),n=tn(Re(t,e),r.dtype);return Ne($r(r,n),-1)})}function $h(r,t){return B(()=>tn($r(ea(r,-1),ea(t,-1)),\"float32\"))}function SR(r,t){return B(()=>J(mt(Fr($r(r,1),$r(t,1))),\"float32\"))}function B7(r,t){return B(()=>J(mt(Fr($r(r,1),$r(t,0))),\"float32\"))}function V7(r,t){return B(()=>J(mt(Fr($r(r,0),$r(t,1))),\"float32\"))}function UN(r,t){return B(()=>{let e=SR(r,t),n=V7(r,t),o=X(e,n);return J(we(Re(o,0),ct(e,o),0),\"float32\")})}function NR(r,t){return B(()=>{let e=SR(r,t),n=B7(r,t),o=X(e,n);return J(we(Re(o,0),ct(e,o),0),\"float32\")})}function rb(r,t){return qm(r,t)}function nb(r,t){return r.rank===t.rank&&(r=Wn(r,[r.rank-1])),t=ea(t,-1),t.dtype!==r.dtype&&(t=J(t,r.dtype)),J($r(r,t),\"float32\")}var G7=xa,W7=xa,U7=Um,H7=Um,q7=Pu,K7=Pu,Rh=Vc,j7=Ah,HN=Hm,eb={binaryAccuracy:Dh,categoricalAccuracy:$h,precision:UN,categoricalCrossentropy:Rh,sparseCategoricalCrossentropy:HN,mse:G7,MSE:W7,mae:U7,MAE:H7,mape:q7,MAPE:K7,cosine:j7};function kR(r){if(typeof r==\"string\"&&r in eb)return eb[r];if(typeof r!=\"string\"&&r!=null)return r;throw new z(`Unknown metric ${r}`)}function Fh(r){if(co(r!==null,`Unknown LossOrMetricFn ${r}`),typeof r==\"string\")return r;{let t;for(let e of Object.keys(Eh))if(Eh[e]===r){t=e;break}if(t!==void 0)return t;for(let e of Object.keys(eb))if(eb[e]===r){t=e;break}return t!==void 0?t:r.name}}function _R(r){let t={Adagrad:()=>Ac.adagrad(.01),Adadelta:()=>Ac.adadelta(1,.95,cr()),Adam:()=>Ac.adam(.001,.9,.999,cr()),Adamax:()=>Ac.adamax(.002,.9,.999,cr(),0),RMSProp:()=>Ac.rmsprop(.001,.9,0,cr()),SGD:()=>Ac.sgd(.01)};if(t.adagrad=t.Adagrad,t.adadelta=t.Adadelta,t.adam=t.Adam,t.adamax=t.Adamax,t.rmsprop=t.RMSProp,t.sgd=t.SGD,r in t)return t[r]();throw new z(`Unknown Optimizer ${r}`)}function KN(r,t,e=!1){if(r==null||typeof r!=\"object\"||Object.getPrototypeOf(r)!==Object.prototype||!qN(r))throw new Error(\"User-defined metadata is expected to be a JSON object, but is not.\");if(e){let n=JSON.stringify(r);n.length>1048576&&console.warn(`User-defined metadata of model \"${t}\" is too large in size (length=${n.length} when serialized). It is not recommended to store such large objects in user-defined metadata. Please make sure its serialized length is <= 1048576.`)}}function qN(r){if(r===null)return!0;if(typeof r==\"object\")if(Object.getPrototypeOf(r)===Object.prototype){let t=Object.keys(r);for(let e of t)if(typeof e!=\"string\"||!qN(r[e]))return!1;return!0}else if(Array.isArray(r)){for(let t of r)if(!qN(t))return!1;return!0}else return!1;else{let t=typeof r;return t===\"string\"||t===\"number\"||t===\"boolean\"}}function ER(r,t,e,n=console.log){let o=Z7(r),s=[\"Layer (type)\",\"Input Shape\",\"Output shape\",\"Param #\"];o?(t=t||90,e=e||[.32,.61,.89,1]):(t=t||115,e=e||[.24,.48,.7,.8,1]),e[e.length-1]<=1&&(e=e.map(c=>Math.floor(t*c)));let i;if(!o){s.push(\"Receives inputs\"),i=[];for(let c in r.nodesByDepth)i.push(...r.nodesByDepth[c])}n(\"_\".repeat(t)),ob(s,e,n),n(\"=\".repeat(t));let a=r.layers;for(let c=0;c1||o.length===1&&o[0].inboundLayers.length>1){t=!1;break}n.push(...o)}if(t)for(let o of r.layers){let s=!1;for(let i of o.inboundNodes)if(n.indexOf(i)!==-1)if(s){t=!1;break}else s=!0;if(!t)break}return t}function ob(r,t,e=console.log){let n=\"\";for(let o=0;o0&&(n=n.slice(0,n.length-1)+\" \"),n+=r[o],n=n.slice(0,t[o]),n+=\" \".repeat(t[o]-n.length);e(n)}function J7(r,t,e){let n,o;try{o=r.inboundNodes.map(u=>JSON.stringify(u.inputShapes)).join(\",\")}catch(u){o=\"multiple\"}try{n=JSON.stringify(r.outputShape)}catch(u){n=\"multiple\"}let s=r.name,i=r.getClassName(),a=[`${s} (${i})`,o,n,r.countParams().toString()];ob(a,t,e)}function Q7(r,t,e,n){let o,s;try{s=r.inboundNodes.map(p=>JSON.stringify(p.inputShapes)).join(\",\")}catch(p){s=\"multiple\"}try{o=JSON.stringify(r.outputShape)}catch(p){o=\"multiple\"}let i=[];for(let p of r.inboundNodes)if(!(e!=null&&e.length>0&&e.indexOf(p)===-1))for(let m=0;m{let t=Object.keys(r);if(t.length===0)return!1;let e=t[0].split(\"/\");return!isNaN(parseInt(e[e.length-1],10))},ib=class r extends Et{constructor(t){if(super({}),this.containerNodes=new Set,this.name=t.name,this.name==null){let b=this.getClassName().toLowerCase();this.name=Fu(b)}if(this.supportsMasking=!1,this.trainable_=!0,Array.isArray(t.inputs)?this.inputs=t.inputs.slice():this.inputs=[t.inputs],Array.isArray(t.outputs)?this.outputs=t.outputs.slice():this.outputs=[t.outputs],Eo(this.inputs).length!==this.inputs.length)throw new z(`The list of inputs passed to the model is redundant. All inputs should only appear once. Found: ${this.inputs.map(b=>b.name)}`);Eo(this.outputs).length!==this.outputs.length&&console.warn(`The list of outputs passed to the model is redundant. All outputs should only appear once. Found: ${this.outputs.map(b=>b.name)}`),this.inputLayers=[],this.inputLayersNodeIndices=[],this.inputLayersTensorIndices=[],this.outputLayers=[],this.outputLayersNodeIndices=[],this.outputLayersTensorIndices=[],this.layers=[],this.internalContainerRefs=[];for(let b of this.outputs){let w=b.sourceLayer,I=b.nodeIndex,N=b.tensorIndex;this.outputLayers.push(w),this.outputLayersNodeIndices.push(I),this.outputLayersTensorIndices.push(N)}for(let b of this.inputs){let w=b.sourceLayer,I=b.nodeIndex,N=b.tensorIndex;co(I===0,\"input layer has >1 nodes\"),co(N===0,\"input layer has >1 tensors\"),this.inputLayers.push(w),this.inputLayersNodeIndices.push(I),this.inputLayersTensorIndices.push(N)}this.inputNames=[],this.outputNames=[],this.feedInputShapes=[],this.feedInputNames=[],this.feedOutputNames=[];for(let b=0;bb.shape),this.internalOutputShapes=this.outputs.map(b=>b.shape);let e={},n={},o={},s={},i={},a=[],u=(b,w,I,N,E,A)=>{(N==null||E==null||A==null)&&(N=b.sourceLayer,E=b.nodeIndex,A=b.tensorIndex);let D=N.inboundNodes[E];if(I.indexOf(D)!==-1)throw new dn(`The tensor ${b.name} at layer \"${N.name}\" is part of a cycle.`);if(w.indexOf(D)!==-1)return;this.containerNodes.add(r.nodeKey(N,E)),N.id in i||(i[N.id]=Object.keys(i).length),I.indexOf(D)===-1&&I.push(D);let F=D.inboundLayers.length;for(let M=0;M=0;)I.splice(I.indexOf(D),1);a.push(D)},l=[],c=[];for(let b of this.outputs)u(b,l,c);let p=a.slice().reverse();for(let b of p){n[b.id]=b,b.id in e||(e[b.id]=0);let w=e[b.id],I=o[b.outboundLayer.id]==null?0:o[b.outboundLayer.id];w=Math.max(w,I),o[b.outboundLayer.id]=w,s[b.outboundLayer.id]=b.outboundLayer,e[b.id]=w;for(let N=0;NparseInt(b,10)).sort(vh);this.layers=[];for(let b of d){let w=f[b];w.sort((I,N)=>{let E=i[I.id],A=i[N.id];return EA?1:0});for(let I of w)I instanceof r&&this.internalContainerRefs.push(I),this.layers.push(I)}this.layersByDepth=f,d=Object.keys(m).map(b=>parseInt(b,10)).sort(vh);let h=this.inputs.slice(),g=[];for(let b of d)for(let w of m[b]){let I=w.outboundLayer;if(I!=null){for(let N of w.inputTensors)if(h.indexOf(N)===-1)throw new dn(`Graph disconnected: cannot obtain value for tensor ${N} at layer \"${I.name}\". The following previous layers were accessed without issue: ${g}`);for(let N of w.outputTensors)h.push(N);g.push(I.name)}}this.nodesByDepth=m;let x=this.layers.map(b=>b.name);for(let b of x){let w=x.filter(I=>I===b).length;if(w!==1)throw new dn(`The name \"${b}\" is used ${w} times in the model. All layer names should be unique. Layer names: `+JSON.stringify(x))}this.outboundNodes=[],this.inboundNodes=[],new Nl({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:this.inputs.map(b=>null),outputMasks:this.outputs.map(b=>null),inputShapes:this.inputs.map(b=>b.shape),outputShapes:this.outputs.map(b=>b.shape)}),this.built=!0,this._refCount=1}assertNotDisposed(){if(this._refCount===0)throw new Error(`Container '${this.name}' is already disposed.`)}dispose(){this.assertNotDisposed();let t={refCountAfterDispose:null,numDisposedVariables:0};if(--this._refCount===0){for(let e of this.layers)t.numDisposedVariables+=e.dispose().numDisposedVariables;for(let e of this.internalContainerRefs)t.numDisposedVariables+=e.dispose().numDisposedVariables}return t.refCountAfterDispose=this._refCount,t}get trainable(){return this.trainable_}set trainable(t){this.layers.forEach(e=>{e._trainableWeights.forEach(n=>n.trainable=t)}),this.trainable_=t}get trainableWeights(){if(this._trainableWeights.length>0)throw new z(\"Container instance unexpectedly contains _trainableWeights.The trainable weights of a Container are a union of the trainable weights of its consituent Layers. Its own _trainableWeights must remain an empty Array.\");if(!this.trainable)return[];let t=[];for(let e of this.layers)t=t.concat(e.trainableWeights);return t}get nonTrainableWeights(){let t=[];for(let e of this.layers)t.push(...e.nonTrainableWeights);if(!this.trainable){let e=[];for(let n of this.layers)e.push(...n.trainableWeights);return e.concat(t)}return t}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(t,e=!0){let n={},o=0,s=tJ(t);s&&this.parseWeights(t);for(let a of this.layers)for(let[u,l]of a.weights.entries()){let c=s?`${l.name.split(\"/\").slice(0,-1).join(\"/\")+\"/\"}${u}`:l.originalName;if(n[c]!=null)throw new z(`Duplicate weight name: ${c}`);n[c]=l,o++}let i=[];for(let a in t){let u=a;if(n[a]==null){let l=a.split(\"/\");u=l.slice(0,-2).concat([l[l.length-1]]).join(\"/\")}if(n[u]!=null)i.push([n[u],t[a]]);else if(e)throw new z(`Provided weight data has no target variable: ${a}`);delete n[u]}if(e){let a=[];for(let u in n)a.push(u);if(a.length>0)throw new z(`${a.length} of ${o} weights are not set: ${a}`)}Lm(i)}parseWeights(t){for(let e in Object.keys(t)){let n=e.split(\"/\"),o=[\"vars\",\"layer_checkpoint_dependencies\"],s=n.map(i=>i.startsWith(\"_\")?i.slice(1):i).filter(i=>!o.includes(i)).join(\"/\");s!==e&&(t[s]=t[e],delete t[e])}}updatedConfig(){let t=this.getConfig(),e={};return e.className=this.getClassName(),e.config=t,e.kerasVersion=`tfjs-layers ${Km}`,e.backend=\"TensorFlow.js\",e}toJSON(t,e=!0){let n=sb(this.updatedConfig());return e?JSON.stringify(n):n}call(t,e){return B(()=>{t=ue(t);let n=new ha;for(let o=0;o{t=ue(t);let n;return e==null?n=To(null,t.length):n=ue(e),this.runInternalGraph(t,n)[1]})}computeOutputShape(t){let e=Mm(t);if(e.length!==this.inputLayers.length)throw new z(`Invalid inputShape argument ${t}: model has ${this.inputLayers.length} tensor inputs.`);let n={};for(let a=0;aparseInt(a,10)).sort(vh);if(o.length>1)for(let a of o){let u=this.nodesByDepth[a];for(let l of u){let c=l.outboundLayer;if(this.inputLayers.map(h=>h.id).indexOf(c.id)!==-1)continue;let p=[];for(let h=0;hparseInt(u,10)).sort(vh);for(let u of o){let l=this.nodesByDepth[u];for(let c of l){let p=c.outboundLayer,m=c.inputTensors,f=c.outputTensors,d=new Array;for(let h of m)h.id in n&&d.push(n[h.id]);if(d.length===m.length){let h={},g,x,b,w;if(c.callArgs!=null&&(h=c.callArgs),d.length===1){let[I,N]=d[0];h.mask==null&&(h.mask=N),b=ue(p.call(I,h)),w=ue(p.computeMask(I,N)),g=[I],x=[N]}else g=d.map(I=>I[0]),x=d.map(I=>I[1]),h.mask==null&&(h.mask=x),b=ue(p.call(g,h)),w=ue(p.computeMask(g,x));if(p.activityRegularizer)throw new _t(\"LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.\");for(let I=0;I{let t=[];for(let e of this.layers)for(let n=0;n0){let h=[];for(let g=0;g0&&g.apply(kr(b),w)}function l(g){let x=g.name,b=wn(g,e.customObjects!=null?e.customObjects:{});b.setFastWeightInitDuringBuild(o),s[x]=b,g.inboundNodes.forEach(I=>{if(!(I instanceof Array))throw new z(`Corrupted configuration, expected array for nodeData: ${I}`);a(b,I)})}let c=e.name,p=e.layers;for(let g of p)l(g);for(;!q$(i);)for(let g of p){let x=s[g.name];if(x.name in i){let b=i[x.name];delete i[x.name];for(let w of b)u(x,w)}}let m=[],f=[],d=e.inputLayers;for(let g of d){let x=g[0],b=g[1],w=g[2];co(x in s);let N=s[x].inboundNodes[b].outputTensors;m.push(N[w])}let h=e.outputLayers;for(let g of h){let x=g[0],b=g[1],w=g[2];co(x in s);let N=s[x].inboundNodes[b].outputTensors;f.push(N[w])}return new t({inputs:m,outputs:f,name:c})}get stateful(){if(this._stateful)throw new z(\"Container instance unexpectedly has _stateful = true. The statefulness of a Container is determined by the Layers it contains. Its _stateful property must remain the default false.\");for(let t of this.layers)if(t.stateful)return!0;return!1}resetStates(){B(()=>{this.layers.forEach(t=>{t.stateful&&t.resetStates()})})}};function eJ(r,t,e){let n=t.length;if(r==null||Array.isArray(r)&&r.length===0)return t.map(o=>null);if(n===1)return Array.isArray(r)&&r.length===1?r:typeof r==\"object\"&&t[0]in r?[r[t[0]]]:[r];if(Array.isArray(r)){if(r.length!==n)throw new Error(`Provided ${e} is an array of ${r.length} element(s), but the model has ${n} outputs. Make sure a set of weights is provided for each model output.`);return r}else if(typeof r==\"object\"&&Object.keys(r).length>0&&typeof r[Object.keys(r)[0]]==\"object\"){let o=[];return t.forEach(s=>{s in r?o.push(r[s]):o.push(null)}),o}else throw new Error(`The model has multiple (${n}) outputs, so ${e} must be either an array with ${n} elements or an object with ${t} keys. Provided ${e} not understood: ${JSON.stringify(r)}`)}function ab(r,t){return eJ(r,t,\"classWeight\")}async function lb(r,t,e,n){if(t!=null||n!=null)throw new Error(\"Support sampleWeight is not implemented yet\");if(e!=null){let o=B(()=>{if(r.shape.length===1)return ln(r);if(r.shape.length===2){if(r.shape[1]>1)return ea(r,1);if(r.shape[1]===1)return R(r,[r.shape[0]]);throw new Error(`Encountered unexpected last-dimension size (${r.shape[1]}) during handling of class weights. The size is expected to be >= 1.`)}else throw new Error(`Unexpected rank of target (y) tensor (${r.rank}) during handling of class weights. The rank is expected to be 1 or 2.`)}),s=Array.from(await o.data());Tt(o);let i=[];return s.forEach(a=>{if(e[a]==null)throw new Error(`classWeight must contain all classes in the training data. The class ${a} exists in the data but not in classWeight`);i.push(e[a])}),Oe(i,\"float32\")}else return null}function DR(r,t){return $(r,t)}var rJ=32;function FR(r,t){let e,n,o=t;e=o.xs,n=o.ys,y.assert(e!=null&&n!=null,()=>`A Dataset iterator for fitDataset() is expected to generate objects of the form \\`{xs: xVal, ys: yVal}\\`, where the two values may be \\`tf.Tensor\\`, an array of Tensors, or a map of string to Tensor. The provided Dataset instead generates ${t}`);let s=$R(\"input\",r.inputNames,e),i=$R(\"output\",r.outputNames,n),a=s[0].shape[0];y.assert(s.length===r.inputs.length,()=>`LayersModel has ${r.inputs.length} inputs, but the dataset provides ${s.length} inputs. (Expected input keys: ${JSON.stringify(r.inputNames)})`),y.assert(i.length===r.outputs.length,()=>`LayersModel has ${r.outputs.length} outputs, but the dataset provides ${i.length} outputs. (Expected output keys: ${JSON.stringify(r.outputNames)})`);for(let u=0;u`Batch size mismatch: input ${r.inputNames[u]} has ${s[u].shape[0]}; expected ${a} based on input ${r.inputNames[0]}.`);for(let u=0;u`Batch size mismatch: output ${r.outputNames[u]} has ${i[u].shape[0]}; expected ${a} based on input ${r.inputNames[0]}.`);return{xs:s,ys:i}}function $R(r,t,e){if(e instanceof Lt)return[e];if(Array.isArray(e))return y.assert(e.length===t.length,()=>`Received an array of ${e.length} Tensors, but expected ${t.length} to match the ${r} keys ${t}.`),e;{let n=[];for(let o of t){if(e[o]==null)throw new z(`The feature data generated by the dataset lacks the required ${r} key '${o}'.`);n.push(e[o])}return n}}function nJ(r){if(r.length===3)throw new _t(\"Validation with sample weights is not implemented yet.\");return{xs:r[0],ys:r[1]}}async function OR(r,t,e){let n=e.batchesPerEpoch!=null;if(y.assert(r.optimizer!=null,()=>\"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig).\"),y.assert(e!=null,()=>\"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call.\"),y.assert(e.epochs!=null&&e.epochs>0&&Number.isInteger(e.epochs),()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${e.epochs}`),y.assert(!n||e.batchesPerEpoch>0&&Number.isInteger(e.batchesPerEpoch),()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${e.batchesPerEpoch}`),y.assert(e.validationSplit==null,()=>\"`validationSplit` is not supported by `fitDataset()`. Use validationData instead.\"),r.isTraining)throw new Error(\"Cannot start training because another fit() call is ongoing.\");r.isTraining=!0;try{let o=e.validationData!=null,s,i;if(o)if(RR(e.validationData))y.assert(e.validationBatches==null||e.validationBatches>0&&Number.isInteger(e.validationBatches),()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${e.validationBatches}`);else{let g=nJ(e.validationData);s=g.xs,i=g.ys}let a=r.makeTrainFunction(),u=r.getDedupedMetricsNames(),l;o?l=u.slice().concat(u.map(g=>\"val_\"+g)):l=u.slice();let c=Jy(e.callbacks,e.yieldEvery),p=e.verbose==null?1:e.verbose,{callbackList:m,history:f}=Qy(c,p,e.epochs,null,null,oJ(t,e),null,o,l);m.setModel(r),r.history=f,await m.onTrainBegin(),r.stopTraining_=!1;let d=e.initialEpoch==null?0:e.initialEpoch,h=await t.iterator();for(;d=e.batchesPerEpoch:w.done){if(o){let I;RR(e.validationData)?I=ue(await r.evaluateDataset(e.validationData,{batches:e.validationBatches})):I=ue(r.evaluate(s,i,{batchSize:e.validationBatchSize==null?rJ:e.validationBatchSize,verbose:0}));for(let N=0;N0)throw new _t(\"Verbose mode is not implemented yet.\");y.assert(!n||e.batches>0&&Number.isInteger(e.batches),()=>`Test loop expects \\`batches\\` to be a positive integer, but received ${JSON.stringify(e.batches)}`);let i=sJ(t)?t:await t.iterator(),a=0,u=0;for(;!n||u{if(l.value){let{xs:c,ys:p}=FR(r,l.value),m=c.concat(p),f=B(()=>o(m));if(Tt(m),u===0)for(let h=0;hX(s[h],$(d,g))),u>0&&Tt(x)}Tt(f),a+=d,++u}return s}),l.done){n&&console.warn(`Your dataset iterator ran out of data during evaluateDataset(). Interrupting evalution. Make sure that your dataset can generate at least \\`batches\\` batches (in this case, ${e.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let l=0;l0&&Number.isInteger(r),()=>`batchSize is required to be a positive integer, but got ${r}`)}function jm(r,t,e){return r==null?[null]:Array.isArray(r)?r.map(n=>vl(n,t,e-t)):vl(r,t,e-t)}function cb(r,t){return B(()=>r==null?null:Array.isArray(r)?r.map(e=>cb(e,t)):Gy(r,t.dtype===\"int32\"?t:J(t,\"int32\")))}function pb(r,t){let e=[],n=0,o=null;for(;n=r&&(o=r),e.push([n,o]),n=o;return e}function jN(r){let t=[];r instanceof Lt&&(r=[r]);for(let e=0;ee.push(o.id));else if(t!=null)for(let o in t){let s=t[o];e.push(s.id)}let n=[];if(r instanceof Lt)e.indexOf(r.id)===-1&&n.push(r);else if(Array.isArray(r))r.forEach(o=>{e.indexOf(o.id)===-1&&n.push(o)});else if(r!=null)for(let o in r){let s=r[o];e.indexOf(s.id)===-1&&n.push(s)}n.forEach(o=>{o.isDisposed||o.dispose()})}function iJ(r){return r instanceof Lt}function XN(r){return Array.isArray(r)}function PR(r){return!iJ(r)&&!XN(r)}function LR(r,t,e,n=!0,o=\"\"){if(t==null||t.length===0){if(r!=null){let i=!1;if(XN(r)&&r.length>0)i=!0;else if(PR(r)){for(let a in r)if(r.hasOwnProperty(a)){i=!0;break}}else i=!0;if(i)throw new z(`Error when checking model ${o} expected no data, but got ${r}`)}return[]}if(r==null)return t.map(i=>null);let s;if(PR(r)){r=r,s=[];for(let i of t){if(r[i]==null)throw new z(`No data provided for \"${i}\". Need data for each key in: ${t}`);s.push(r[i])}}else if(XN(r)){if(r=r,r.length!==t.length)throw new z(`Error when checking model ${o}: the Array of Tensors that you are passing to your model is not the size the model expected. Expected to see ${t.length} Tensor(s), but instead got the following list of Tensor(s): ${r}`);s=r}else{if(r=r,t.length>1)throw new z(`The model ${o} expects ${t.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${r.shape}`);s=[r]}if(s=jN(s),e!=null)for(let i=0;i=0&&l!==c)throw new z(`${o} expected a batch of elements where each example has shape [${e[i].slice(1,e[i].length)}] (i.e.,tensor shape [*,${e[i].slice(1,e[i].length)}]) but the ${o} received an input with ${a.shape[0]} examples, each with shape [${a.shape.slice(1,a.shape.length)}] (tensor shape [${a.shape}])`)}}return s}function aJ(r,t,e){let n=Eo(r.map(s=>s.shape[0]));n.sort();let o=Eo(t.map(s=>s.shape[0]));if(o.sort(),n.length>1)throw new z(`All input Tensors (x) should have the same number of samples. Got array shapes: ${JSON.stringify(r.map(s=>s.shape))}`);if(o.length>1)throw new z(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(t.map(s=>s.shape))}`);if(n.length>0&&o.length>0&&!y.arraysEqual(n,o))throw new z(`Input Tensors should have the same number of samples as target Tensors. Found ${n[0]} input sample(s) and ${o[0]} target sample(s).`)}function lJ(r,t,e){let n=[xa,qm,Vc];for(let o=0;o1)throw new z(`The model expects ${t.length} ${o} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(r.shape)}.`);s=[r]}if(e!=null)for(let i=0;i[]);let e;if(typeof r==\"string\"||typeof r==\"function\")e=[r];else if(Array.isArray(r)||typeof r==\"object\")e=r;else throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${r}`);if(Array.isArray(e))return t.map(n=>e);{let n=[];for(let o of t){let s=e.hasOwnProperty(o)?e[o]:[];Array.isArray(s)||(s=[s]),n.push(s)}return n}}var cJ=\"layers-model\",Un=class extends ib{constructor(t){super(t),this.isTraining=!1}summary(t,e,n=console.log){if(!this.built)throw new z(\"This model has never been called, thus its weights have not been created yet. So no summary can be displayed. Build the model first (e.g., by calling it on some test data).\");ER(this,t,e,n)}compile(t){if(t.loss==null&&(t.loss=[]),this.loss=t.loss,typeof t.optimizer==\"string\")this.optimizer_=_R(t.optimizer),this.isOptimizerOwned=!0;else{if(!(t.optimizer instanceof qr))throw new z(\"User-defined optimizer must be an instance of tf.Optimizer.\");this.optimizer_=t.optimizer,this.isOptimizerOwned=!1}let e=[];if(!Array.isArray(t.loss)&&typeof t.loss!=\"string\"&&typeof t.loss!=\"function\"){t.loss=t.loss;for(let i in t.loss)if(this.outputNames.indexOf(i)===-1)throw new z(`Unknown entry in loss dictionary: \"${i}\". Only expected the following keys: ${this.outputNames}`);for(let i of this.outputNames)t.loss[i]==null&&console.warn(`Output \"${i}\" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${i} during training`),e.push(tb(t.loss[i]))}else if(Array.isArray(t.loss)){if(t.loss.length!==this.outputs.length)throw new z(`When passing an Array as loss, it should have one entry per model output. The model has ${this.outputs.length} output(s), but you passed loss=${t.loss}.`);e=t.loss.map(a=>tb(a))}else{let i=tb(t.loss);this.outputs.forEach(a=>{e.push(i)})}this.lossFunctions=e,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let i=0;i{for(let i=0;i1&&(this.metricsTensors.push([a,i]),this.metricsNames.push(this.outputNames[i]+\"_loss\"))}});let o=uJ(t.metrics,this.outputNames),s=(i,a,u)=>{this.outputNames.length>1&&(a=this.outputNames[i]+\"_\"+a),this.metricsNames.push(a),this.metricsTensors.push([u,i])};mi(\"metric\",()=>{for(let i=0;i{let c=\"\",p,m,f;for(let d of l){if(typeof d==\"string\"&&[\"accuracy\",\"acc\",\"crossentropy\",\"ce\"].indexOf(d)!==-1){let g=this.internalOutputShapes[i];g[g.length-1]===1||this.lossFunctions[i]===qm?[\"accuracy\",\"acc\"].indexOf(d)!==-1?m=Dh:[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(m=rb):this.lossFunctions[i]===Hm?[\"accuracy\",\"acc\"].indexOf(d)!==-1?m=nb:[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(m=HN):[\"accuracy\",\"acc\"].indexOf(d)!==-1?m=$h:[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(m=Rh);let x;[\"accuracy\",\"acc\"].indexOf(d)!==-1?x=\"acc\":[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(x=\"ce\"),f=m,p=c+x}else f=kR(d),p=c+Fh(d);let h;mi(p,()=>{h=f}),s(i,p,h)}})(a)}}),this.collectedTrainableWeights=this.trainableWeights}checkTrainableWeightsConsistency(){this.collectedTrainableWeights!=null&&this.trainableWeights.length!==this.collectedTrainableWeights.length&&console.warn(\"Discrepancy between trainableweights and collected trainable weights. Did you set `model.trainable` without calling `model.compile()` afterwards?\")}evaluate(t,e,n={}){let o=n.batchSize==null?32:n.batchSize;ub(o);let i=this.standardizeUserDataXY(t,e,!0,o);try{let a=i[0].concat(i[1]);this.makeTestFunction();let u=this.testFunction,l=this.testLoop(u,a,o,n.verbose,n.steps);return kr(l)}finally{$o(i[0],t),$o(i[1],e)}}async evaluateDataset(t,e){return this.makeTestFunction(),MR(this,t,e)}checkNumSamples(t,e,n,o=\"steps\"){let s;if(n!=null){if(s=null,e!=null)throw new z(`If ${o} is set, batchSize must be null or undefined.Got batchSize = ${e}`)}else if(t!=null)Array.isArray(t)?s=t[0].shape[0]:s=t.shape[0];else throw new z(`Either the input data should have a defined shape, or ${o} shoud be specified.`);return s}execute(t,e){if(Array.isArray(e)&&e.length===0)throw new z(\"`outputs` is an empty Array, which is not allowed.\");let n=Array.isArray(e),o=n?e:[e],s=this.retrieveSymbolicTensors(o),i=new ha;if(t instanceof Lt&&(t=[t]),Array.isArray(t)){if(t.length!==this.inputs.length)throw new z(`The number of inputs provided (${t.length}) does not match the number of inputs of this model (${this.inputs.length}).`);for(let u=0;ua.name);for(let a=0;a0){let o=[];throw e.forEach((s,i)=>{s==null&&o.push(t[i])}),new z(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(o)}`)}return e}predictLoop(t,e=32,n=!1){return B(()=>{let o=this.checkNumSamples(t);if(n)throw new _t(\"Verbose predictLoop() is not implemented yet.\");let s=pb(o,e),i=this.outputs.map(a=>[]);for(let a=0;a{let l=s[a][0],c=s[a][1],p=jm(t,l,c),m=[];if(Array.isArray(p))for(let d=0;di[c].push(l));return kr(i.map(a=>ie(a,0)))})}predict(t,e={}){let n=jN(t);zR(n,this.inputNames,this.feedInputShapes,!1);try{let o=e.batchSize==null?32:e.batchSize;return ub(o),this.predictLoop(n,o)}finally{$o(n,t)}}predictOnBatch(t){zR(t,this.inputNames,this.feedInputShapes,!0);let e=(Array.isArray(t)?t[0]:t).shape[0];return this.predictLoop(t,e)}standardizeUserDataXY(t,e,n=!0,o){if(this.optimizer_==null)throw new dn(\"You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).\");let s=[];for(let i=0;i0&&t[0].shape[0]%o!==0)throw new z(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${o}. Found: ${t[0].shape[0]} sample(s).`);return[t,e]}async standardizeUserData(t,e,n,o,s=!0,i){let[a,u]=this.standardizeUserDataXY(t,e,s,i);if(n!=null)throw new Error(\"sample weight is not supported yet.\");let l=null;if(o!=null){let c=ab(o,this.outputNames);l=[];for(let p=0;p{let i=this.checkNumSamples(e,n,s,\"steps\"),a=[];if(o>0)throw new _t(\"Verbose mode is not implemented yet.\");if(s!=null)throw new _t(\"steps mode in testLoop() is not implemented yet\");{let u=pb(i,n),l=Oe(gn(0,i));for(let c=0;c1){let i=ON(t.slice(0,n),o);s+=`_${i}`}e.push(s)}return e}makeTrainFunction(){return t=>{let e=[],n=t.slice(0,this.inputs.length),o=t.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=t.slice(this.inputs.length+this.outputs.length,this.inputs.length+this.outputs.length*2),i=[],a=()=>{let p=[];for(let h=0;h1&&h{d=X(d,h)}),d},u=this.collectedTrainableWeights.map(p=>p.read());return[this.optimizer_.minimize(a,!0,u)].concat(i)}}makeTestFunction(){this.testFunction=t=>B(()=>{let e=[],n,o=t.slice(0,this.inputs.length),s=t.slice(this.inputs.length,this.inputs.length+this.outputs.length),i=[];for(let l=0;l0){if(g=!0,n.validationData.length===2)u=n.validationData[0],l=n.validationData[1];else throw n.validationData.length===3?new _t(\"validationData including sample weights is not supported yet.\"):new z(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${n.validationData} is invalid.`);let M=await this.standardizeUserData(u,l,null,null,!0,f);c=M[0],p=M[1],x=c.concat(p)}else if(n.validationSplit!=null&&n.validationSplit>0&&n.validationSplit<1){g=!0;let F=Math.floor(o[0].shape[0]*(1-n.validationSplit)),M=o[0].shape[0];c=jm(o,F,M),i=o,o=jm(o,0,F),p=jm(s,F,M),a=s,s=jm(s,0,F),x=c.concat(p)}else n.validationSteps!=null&&(g=!0);let b=o.concat(s).concat(m);this.checkTrainableWeightsConsistency();let w=this.makeTrainFunction(),I=this.getDedupedMetricsNames(),N,E;g?(this.makeTestFunction(),N=this.testFunction,E=I.slice().concat(I.map(F=>\"val_\"+F))):(N=null,x=[],E=I.slice());let A=Jy(n.callbacks,n.yieldEvery);return await this.fitLoop(w,b,I,f,n.epochs,n.verbose,A,N,x,n.shuffle,E,n.initialEpoch,null,null)}finally{this.isTraining=!1,$o(o,t),$o(s,e),$o(i,t),$o(a,e),$o(c,u),$o(p,l),m!=null&&Tt(m)}}async fitLoop(t,e,n,o,s,i,a,u,l,c,p,m,f,d){o==null&&(o=32),s==null&&(s=1),c==null&&(c=!0),m==null&&(m=0);let h=!1;if(u!=null&&l!=null&&(h=!0),d!=null&&(h=!0,f==null))throw new z(\"Can only use `validationSteps` when doing step-wise training, i.e., `stepsPerEpoch` must be set.\");let g=this.checkNumSamples(e,o,f,\"steps_per_epoch\"),x;g!=null&&(x=gn(0,g)),i==null&&(i=1);let{callbackList:b,history:w}=Qy(a,i,s,m,g,f,o,h,p);b.setModel(this),this.history=w,await b.onTrainBegin(),this.stopTraining_=!1;for(let I=m;I{let M=A[D][0],V=A[D][1],G=vl(E,M,V-M);F.batch=D,F.size=V-M;let W=cb(e,G),q=t(W);for(let H=0;H_o(e))}else{let e=Object.keys(this.loss);t={};let n=this.loss;for(let o of e)if(typeof n[o]==\"string\")t[o]=_o(n[o]);else throw new Error(\"Serialization of non-string loss is not supported.\")}return t}getMetricIdentifiers(){if(typeof this.metrics==\"string\"||typeof this.metrics==\"function\")return[_o(Fh(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map(t=>_o(Fh(t)));{let t={};for(let e in this.metrics)t[e]=_o(Fh(this.metrics[e]));return t}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(t){if(t.weighted_metrics!=null)throw new Error(\"Loading weight_metrics is not supported yet.\");if(t.loss_weights!=null)throw new Error(\"Loading loss_weights is not supported yet.\");if(t.sample_weight_mode!=null)throw new Error(\"Loading sample_weight_mode is not supported yet.\");let e=Gc(t.optimizer_config),n=wn(e),o;if(typeof t.loss==\"string\")o=Cl(t.loss);else if(Array.isArray(t.loss))o=t.loss.map(i=>Cl(i));else if(t.loss!=null){o={};for(let i in t.loss)o[i]=Cl(t.loss[i])}let s;if(Array.isArray(t.metrics))s=t.metrics.map(i=>Cl(i));else if(t.metrics!=null){s={};for(let i in t.metrics)s[i]=Cl(t.metrics[i])}this.compile({loss:o,metrics:s,optimizer:n})}async save(t,e){if(typeof t==\"string\"){let l=Mr.getSaveHandlers(t);if(l.length===0)throw new z(`Cannot find any save handlers for URL '${t}'`);if(l.length>1)throw new z(`Found more than one (${l.length}) save handlers for URL '${t}'`);t=l[0]}if(t.save==null)throw new z(\"LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.\");let n=await Mr.encodeWeights(this.getNamedWeights(e)),a={modelTopology:this.toJSON(null,!1),format:cJ,generatedBy:`TensorFlow.js tfjs-layers v${Km}`,convertedBy:null};if((e==null?!1:e.includeOptimizer)&&this.optimizer!=null){a.trainingConfig=this.getTrainingConfig();let l=\"optimizer\",{data:c,specs:p}=await Mr.encodeWeights(await this.optimizer.getWeights(),l);n.specs.push(...p),n.data=Mr.concatenateArrayBuffers([n.data,c])}return this.userDefinedMetadata!=null&&(KN(this.userDefinedMetadata,this.name,!0),a.userDefinedMetadata=this.userDefinedMetadata),a.weightData=n.data,a.weightSpecs=n.specs,t.save(a)}setUserDefinedMetadata(t){KN(t,this.name),this.userDefinedMetadata=t}getUserDefinedMetadata(){return this.userDefinedMetadata}};Un.className=\"Model\";Q.registerClass(Un);var mb=class extends Un{};mb.className=\"Functional\";Q.registerClass(mb);async function BR(r,t){\"modelTopology\"in r||(r={modelTopology:r}),r=r;let e=r.modelTopology;e.model_config!=null&&(e=e.model_config);let n=Gc(e),o=wn(n,t);if(r.weightsManifest!=null){let s=await Mr.loadWeights(r.weightsManifest,r.pathPrefix,o.weights.map(a=>a.originalName)),i={};for(let a of o.weights)i[a.originalName]=s[a.originalName];o.loadWeights(i),Tt(s)}return o}async function VR(r,t){if(t==null&&(t={}),typeof r==\"string\"){let e=Mr.getLoadHandlers(r,t);if(e.length===0)e.push(Mr.browserHTTPRequest(r,t));else if(e.length>1)throw new z(`Found more than one (${e.length}) load handlers for URL '${r}'`);r=e[0]}return pJ(r,void 0,t)}async function pJ(r,t,e){if(e==null&&(e={}),r.load==null)throw new z(\"Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.\");let n=await r.load(),o=n.modelTopology;o.model_config!=null&&(o=o.model_config);let s=e.strict==null?!0:e.strict,i=n.weightData!=null&&n.weightSpecs!=null&&s,a=wn(Gc(o),t,i),u=n.trainingConfig;if(u!=null&&a.loadTrainingConfig(u),n.userDefinedMetadata!=null&&a.setUserDefinedMetadata(n.userDefinedMetadata),n.weightData!=null){if(n.weightSpecs==null)throw new z(\"LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.\");let{modelWeights:l,optimizerWeights:c}=mJ(n.weightData,n.weightSpecs);a.loadWeights(l,s),a.optimizer!=null&&c.length>0&&await a.optimizer.setWeights(c),Tt(l),Tt(c.map(p=>p.tensor))}return a}function mJ(r,t){let e=Mr.decodeWeights(r,t),n={},o=[];return t.forEach(s=>{s.group===\"optimizer\"?o.push({name:s.name,tensor:e[s.name]}):n[s.name]=e[s.name]}),{modelWeights:n,optimizerWeights:o}}var Wc=class r extends Un{constructor(t){if(super({inputs:[],outputs:[]}),t=t||{},this.trainable=!0,this.built=!1,this.name=t.name!=null?t.name:Fu(\"sequential_\"),t.layers!=null)for(let e of t.layers)this.add(e)}checkShape(t){if(t.inboundNodes[0].outputTensors[0].shape.some(n=>n<0))throw new z(`Negative dimension size caused by adding layer ${t.name} with input shape [${t.inboundNodes[0].inputTensors[0].shape}]`)}add(t){let e=t instanceof r||t instanceof Un,n;if(e){if(n=t,n.outputs.length!==1)throw new z(\"All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.\");if(n.inputs.length!==1)throw new z(\"All layers in a Sequential model should have a single input tensor. For multi-input layers, use the functional API.\")}if(this.outputs.length===0){if(t.inboundNodes.length===0){if(t.batchInputShape==null)throw new z(\"The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.\");let o=Hy({batchShape:t.batchInputShape,dtype:t.dtype,name:t.name+\"_input\"});t.apply(o)}if(e)this.outputs=n.outputs,this.inputs=n.inputs;else{if(t.inboundNodes.length!==1)throw new z(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${t.name} which has ${t.inboundNodes.length} pre-existing inbound connections.`);if(t.inboundNodes[0].outputTensors.length!==1)throw new z(\"All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.\");this.checkShape(t),this.outputs=[t.inboundNodes[0].outputTensors[0]],this.inputs=VN(this.outputs[0])}this.inboundNodes=[],new Nl({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:To(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map(o=>o.shape),outputShapes:this.outputs[0].shape})}else{let o=t.apply(this.outputs[0]);if(Array.isArray(o))throw new TypeError(\"All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.\");this.checkShape(t),this.outputs=[o],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(t),this.built=!1}pop(){if(this.layers.length===0)throw new TypeError(\"There are no layers in the model.\");if(this.layers.pop(),this.layers.length===0)this.outputs=[],this.inboundNodes=[],this.outboundNodes=[];else{let t=this.layers.length-1;this.layers[t].outboundNodes=[],this.outputs=[this.layers[t].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(t,e){return this.model==null&&this.build(),this.model.call(t,e)}build(t){if(Gt(t),this.inputs.length===0||this.outputs.length===0)throw new TypeError(\"Sequential model cannot be built: model is empty. Add some layers first.\");this.model=new Un({inputs:this.inputs,outputs:this.outputs[0],name:this.name+\"_model\"}),this.model.trainable=this.trainable,this.supportsMasking=this.model.supportsMasking,this.inputLayers=this.model.inputLayers,this.inputLayersNodeIndices=this.model.inputLayersNodeIndices,this.inputLayersTensorIndices=this.model.inputLayersTensorIndices,this.outputLayers=this.model.outputLayers,this.outputLayersNodeIndices=this.model.outputLayersNodeIndices,this.outputLayersTensorIndices=this.model.outputLayersTensorIndices,this.nodesByDepth=this.model.nodesByDepth,this.containerNodes=this.model.containerNodes,this.outputNames=this.model.outputNames,this.inputNames=this.model.inputNames,this.built=!0}countParams(){return this.built||this.build(),super.countParams()}summary(t,e,n=console.log){this.built||this.build(),super.summary(t,e,n)}setWeights(t){this.model==null&&this.build(),this.model.setWeights(t)}evaluate(t,e,n={}){if(!this.built)throw new dn(\"The model needs to be compiled before being used.\");return this.model.evaluate(t,e,n)}async evaluateDataset(t,e){if(!this.built)throw new dn(\"The model needs to be compiled before being used.\");return this.model.evaluateDataset(t,e)}predict(t,e={}){return this.model==null&&this.build(),this.model.predict(t,e)}predictOnBatch(t){return this.model==null&&this.build(),this.model.predictOnBatch(t)}compile(t){this.build(),this.model.compile(t),this.optimizer_=this.model.optimizer,this.isOptimizerOwned=this.model.isOptimizerOwned,this.loss=this.model.loss,this.metrics=this.model.metrics,this.metricsTensors=this.model.metricsTensors,this.metricsNames=this.model.metricsNames}get optimizer(){return this.model==null?void 0:this.model.optimizer}set optimizer(t){this.model.optimizer=t}async fit(t,e,n={}){if(!this.built)throw new dn(\"The model needs to be compiled before being used.\");return this.model.fit(t,e,n)}async fitDataset(t,e){if(!this.built)throw new dn(\"The model needs to be compiled before being used.\");return this.model.fitDataset(t,e)}async trainOnBatch(t,e){return this.model.trainOnBatch(t,e)}static fromConfig(t,e,n={},o=!1){let s,i={};if(e instanceof Array){if(e[0].className==null||e[0].className===\"Merge\")throw new z(\"Legacy serialization format not supported yet.\");s=e}else y.assert(e.layers!=null,()=>\"When the config data for a Sequential model is not an Array, it must be an Object that contains the 'layers' field.\"),s=e.layers,delete e.layers,i=e;let a=new t(i);if(!(a instanceof r))throw new _t(`Sequential.fromConfig called on non-Sequential input: ${a}`);for(let u of s){let c=wn(u,void 0,o);o&&c.setFastWeightInitDuringBuild(!0),a.add(c)}return a}set stopTraining(t){if(this.model==null)throw new z(\"Cannot set the stopTraining property of a sequential model before it is compiled.\");this.model.stopTraining=t}get stopTraining(){if(this.model==null)throw new z(\"Cannot get the stopTraining property of a sequential model before it is compiled.\");return this.model.stopTraining}getConfig(){let t=[];for(let e of this.layers){let n={};n.className=e.getClassName(),n.config=e.getConfig(),t.push(n)}return{name:this.name,layers:t}}};Wc.className=\"Sequential\";Q.registerClass(Wc);function fJ(r){return new Un(r)}function dJ(r){return new Wc(r)}function YN(r){return Hy(r)}function hJ(r,t){Wm.registerCallbackConstructor(r,t)}var rn=class extends Q.Serializable{getConfig(){return{}}},fb=class extends rn{apply(t,e=1){return aR(t,e)}};fb.className=\"elu\";Q.registerClass(fb);var db=class extends rn{apply(t){return mm(t)}};db.className=\"selu\";Q.registerClass(db);var hb=class extends rn{apply(t){return Or(t)}};hb.className=\"relu\";Q.registerClass(hb);var gb=class extends rn{apply(t){return B(()=>lo(6,Or(t)))}};gb.className=\"relu6\";Q.registerClass(gb);var xb=class extends rn{apply(t){return t}};xb.className=\"linear\";Q.registerClass(xb);var yb=class extends rn{apply(t){return Qr(t)}};yb.className=\"sigmoid\";Q.registerClass(yb);var bb=class extends rn{apply(t){return uR(t)}};bb.className=\"hardSigmoid\";Q.registerClass(bb);var wb=class extends rn{apply(t){return li(t)}};wb.className=\"softplus\";Q.registerClass(wb);var Ib=class extends rn{apply(t){return lR(t)}};Ib.className=\"softsign\";Q.registerClass(Ib);var Cb=class extends rn{apply(t){return na(t)}};Cb.className=\"tanh\";Q.registerClass(Cb);var Xm=class extends rn{apply(t,e=-1){return Eu(t,e)}};Xm.className=\"softmax\";Q.registerClass(Xm);var vb=class extends rn{apply(t,e=-1){return am(t,e)}};vb.className=\"logSoftmax\";Q.registerClass(vb);var Sb=class extends rn{apply(t,e=1){return B(()=>$(Qr($(t,e)),t))}};Sb.className=\"swish\";Q.registerClass(Sb);var Nb=class extends rn{apply(t){return B(()=>$(t,na(li(t))))}};Nb.className=\"mish\";Q.registerClass(Nb);function hi(r){return r.getClassName()}function ZN(r,t={}){return fa(r,Q.SerializationMap.getMap().classNameMap,t,\"activation\")}function gi(r){if(r==null){let t={};return t.className=\"linear\",t.config={},ZN(t)}if(typeof r==\"string\"){let t={};return t.className=r,t.config={},ZN(t)}else return r instanceof rn?r:ZN(r)}function JN(r){if(r!=null&&typeof r!=\"object\")throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an object, but received: ${r}`)}var kb=class extends Q.Serializable{},Lu=class extends kb{constructor(t){super(),JN(t),this.l1=t==null||t.l1==null?.01:t.l1,this.l2=t==null||t.l2==null?.01:t.l2,this.hasL1=this.l1!==0,this.hasL2=this.l2!==0}apply(t){return B(()=>{let e=ke([1]);return this.hasL1&&(e=X(e,mt($(this.l1,_e(t))))),this.hasL2&&(e=X(e,mt($(this.l2,$c(t))))),R(e,[])})}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(t,e){return new t({l1:e.l1,l2:e.l2})}};Lu.className=\"L1L2\";Q.registerClass(Lu);function UR(r){return JN(r),new Lu({l1:r!=null?r.l1:null,l2:0})}function HR(r){return JN(r),new Lu({l2:r!=null?r.l2:null,l1:0})}var GR={l1l2:\"L1L2\"};function fe(r){return Nm(r)}function WR(r,t={}){return fa(r,Q.SerializationMap.getMap().classNameMap,t,\"regularizer\")}function Ce(r){if(r==null)return null;if(typeof r==\"string\"){let e={className:r in GR?GR[r]:r,config:{}};return WR(e)}else return r instanceof kb?r:WR(r)}var Ym=class extends Et{constructor(t){super(t==null?{}:t),this.supportsMasking=!0,t!=null&&(this.maxValue=t.maxValue)}call(t,e){t=St(t);let n=Or(t);return this.maxValue!=null&&(n=vr(n,0,this.maxValue)),n}computeOutputShape(t){return t}getConfig(){let t={maxValue:this.maxValue},e=super.getConfig();return Object.assign(t,e),t}};Ym.className=\"ReLU\";Q.registerClass(Ym);var Zm=class extends Et{constructor(t){super(t==null?{}:t),this.DEFAULT_ALPHA=.3,t==null&&(t={}),this.alpha=t.alpha==null?this.DEFAULT_ALPHA:t.alpha}call(t,e){let n=St(t);return Cu(n,this.alpha)}computeOutputShape(t){return t}getConfig(){let t={alpha:this.alpha},e=super.getConfig();return Object.assign(t,e),t}};Zm.className=\"LeakyReLU\";Q.registerClass(Zm);var Jm=class extends Et{constructor(t){if(super(t==null?{}:t),this.DEFAULT_ALPHA_INITIALIZER=\"zeros\",t==null&&(t={}),this.supportsMasking=!0,this.alphaInitializer=ge(t.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=Ce(t.alphaRegularizer),this.alphaConstraint=Ge(t.alphaConstraint),t.sharedAxes==null)this.sharedAxes=null;else if(Array.isArray(t.sharedAxes))this.sharedAxes=t.sharedAxes;else if(typeof t.sharedAxes==\"number\")this.sharedAxes=[t.sharedAxes];else throw new z(`Expected sharedAxes to be a number or an array of numbers, but got ${t.sharedAxes}`)}build(t){t=Gt(t);let e=t.slice(1);if(this.sharedAxes!=null)for(let o of this.sharedAxes)e[o-1]=1;this.alpha=this.addWeight(\"alpha\",e,\"float32\",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);let n={};if(this.sharedAxes!=null)for(let o=1;o{let n=St(t),o=e.mask;if(o!=null){let s=$(at(ar(n.shape),J(o,n.dtype)),pt(-1e9));n=X(n,s)}return this.axis instanceof Array?this.axis.length>1?Ke(at(n,Su(n,this.axis,!0))):this.softmax(n,this.axis[0]):this.softmax(n,this.axis)})}computeOutputShape(t){return t}getConfig(){let t={axis:this.axis},e=super.getConfig();return Object.assign(t,e),t}};ef.className=\"Softmax\";Q.registerClass(ef);function zu(r,t,e){if(typeof r==\"number\")return To(r,t);if(r.length!==t)throw new z(`The ${e} argument must be an integer or tuple of ${t} integers. Received: ${r.length} elements.`);for(let n=0;n(Me(t),t===\"channelsFirst\"?Vt(r,[0,2,3,1]):r))}function QN(r,t){return B(()=>(Me(t),t===\"channelsFirst\"?Vt(r,[0,2,3,4,1]):r))}function xJ(r,t,e,n=1,o=\"valid\",s,i=1){return B(()=>{if(s==null&&(s=xn()),Me(s),r.shape.length!==3)throw new z(`The input of a conv1dWithBias operation should be 3, but is ${r.shape.length} instead.`);if(t.shape.length!==3)throw new z(`The kernel for a conv1dWithBias operation should be 3, but is ${t.shape.length} instead`);if(e!=null&&e.shape.length!==1)throw new z(`The bias for a conv1dWithBias operation should be 1, but is ${t.shape.length} instead`);if(s===\"channelsFirst\"&&(r=Vt(r,[0,2,1])),o===\"causal\")throw new _t(\"The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.\");let a=rm(r,t,n,o===\"same\"?\"same\":\"valid\",\"NWC\",i);return e!=null&&(a=yn(a,e)),a})}function qR(r,t,e,n=[1,1],o=\"valid\",s,i,a=null){return B(()=>{if(s==null&&(s=xn()),Me(s),r.rank!==3&&r.rank!==4)throw new z(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${r.rank}.`);if(t.rank!==3&&t.rank!==4)throw new z(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${r.rank}.`);let u=Mh(r,s);if(o===\"causal\")throw new _t(\"The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.\");return u=Ru.conv2d({x:u,filter:t,strides:n,pad:o===\"same\"?\"same\":\"valid\",dilations:i,dataFormat:\"NHWC\",bias:e,activation:a}),s===\"channelsFirst\"&&(u=Vt(u,[0,3,1,2])),u})}function yJ(r,t,e,n=[1,1,1],o=\"valid\",s,i){return B(()=>{if(s==null&&(s=xn()),Me(s),r.rank!==4&&r.rank!==5)throw new z(`conv3dWithBias expects input to be of rank 4 or 5, but received ${r.rank}.`);if(t.rank!==4&&t.rank!==5)throw new z(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${r.rank}.`);let a=QN(r,s);if(o===\"causal\")throw new _t(\"The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.\");return a=Ax(a,t,n,o===\"same\"?\"same\":\"valid\",\"NDHWC\",i),e!=null&&(a=yn(a,e)),s===\"channelsFirst\"&&(a=Vt(a,[0,4,1,2,3])),a})}var Oh=class r extends Et{constructor(t,e){if(super(e),this.bias=null,this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",r.verifyArgs(e),this.rank=t,tr(this.rank,\"rank\"),this.rank!==1&&this.rank!==2&&this.rank!==3)throw new _t(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=zu(e.kernelSize,t,\"kernelSize\"),this.strides=zu(e.strides==null?1:e.strides,t,\"strides\"),this.padding=e.padding==null?\"valid\":e.padding,hn(this.padding),this.dataFormat=e.dataFormat==null?\"channelsLast\":e.dataFormat,Me(this.dataFormat),this.activation=gi(e.activation),this.useBias=e.useBias==null?!0:e.useBias,this.biasInitializer=ge(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=Ge(e.biasConstraint),this.biasRegularizer=Ce(e.biasRegularizer),this.activityRegularizer=Ce(e.activityRegularizer),this.dilationRate=zu(e.dilationRate==null?1:e.dilationRate,t,\"dilationRate\"),this.rank===1&&Array.isArray(this.dilationRate)&&this.dilationRate.length!==1)throw new z(`dilationRate must be a number or an array of a single number for 1D convolution, but received ${JSON.stringify(this.dilationRate)}`);if(this.rank===2){if(typeof this.dilationRate==\"number\")this.dilationRate=[this.dilationRate,this.dilationRate];else if(this.dilationRate.length!==2)throw new z(`dilationRate must be a number or array of two numbers for 2D convolution, but received ${JSON.stringify(this.dilationRate)}`)}else if(this.rank===3){if(typeof this.dilationRate==\"number\")this.dilationRate=[this.dilationRate,this.dilationRate,this.dilationRate];else if(this.dilationRate.length!==3)throw new z(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}}static verifyArgs(t){if(co(\"kernelSize\"in t,\"required key 'kernelSize' not in config\"),typeof t.kernelSize!=\"number\"&&!Fy(t.kernelSize,\"number\",1,3))throw new z(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(t.kernelSize)}.`)}getConfig(){let t={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:hi(this.activation),useBias:this.useBias,biasInitializer:Te(this.biasInitializer),biasRegularizer:fe(this.biasRegularizer),activityRegularizer:fe(this.activityRegularizer),biasConstraint:Ve(this.biasConstraint)},e=super.getConfig();return Object.assign(t,e),t}},rf=class r extends Oh{constructor(t,e){super(t,e),this.kernel=null,r.verifyArgs(e),this.filters=e.filters,tr(this.filters,\"filters\"),this.kernelInitializer=ge(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=Ge(e.kernelConstraint),this.kernelRegularizer=Ce(e.kernelRegularizer)}build(t){t=Gt(t);let e=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[e]==null)throw new z(`The channel dimension of the input should be defined. Found ${t[e]}`);let n=t[e],o=this.kernelSize.concat([n,this.filters]);this.kernel=this.addWeight(\"kernel\",o,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight(\"bias\",[this.filters],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[{ndim:this.rank+2,axes:{[e]:n}}],this.built=!0}call(t,e){return B(()=>{t=St(t);let n,o=this.bias==null?null:this.bias.read(),s=Oy(this.activation.getClassName());if(s!=null&&this.rank===2)n=qR(t,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate,s);else{if(this.rank===1)n=xJ(t,this.kernel.read(),o,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(this.rank===2)n=qR(t,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate);else if(this.rank===3)n=yJ(t,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate);else throw new _t(\"convolutions greater than 3D are not implemented yet.\");this.activation!=null&&(n=this.activation.apply(n))}return n})}computeOutputShape(t){t=Gt(t);let e=[],n=this.dataFormat===\"channelsLast\"?t.slice(1,t.length-1):t.slice(2);for(let s=0;s 0 but got ${JSON.stringify(t.filters)}`)}},Uc=class r extends rf{constructor(t){super(2,t),r.verifyArgs(t)}getConfig(){let t=super.getConfig();return delete t.rank,t}static verifyArgs(t){if(typeof t.kernelSize!=\"number\"&&!Fy(t.kernelSize,\"number\",1,2))throw new z(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(t.kernelSize)}.`)}};Uc.className=\"Conv2D\";Q.registerClass(Uc);var Hc=class r extends rf{constructor(t){super(3,t),r.verifyArgs(t)}getConfig(){let t=super.getConfig();return delete t.rank,t}static verifyArgs(t){if(typeof t.kernelSize!=\"number\"&&!(Array.isArray(t.kernelSize)&&(t.kernelSize.length===1||t.kernelSize.length===3)))throw new z(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(t.kernelSize)}.`)}};Hc.className=\"Conv3D\";Q.registerClass(Hc);var nf=class extends Uc{constructor(t){if(super(t),this.inputSpec=[new Ie({ndim:4})],this.padding!==\"same\"&&this.padding!==\"valid\")throw new z(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(t){if(t=Gt(t),t.length!==4)throw new z(\"Input should have rank 4; Received input shape: \"+JSON.stringify(t));let e=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[e]==null)throw new z(\"The channel dimension of the inputs should be defined. Found `None`.\");let n=t[e],o=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight(\"kernel\",o,\"float32\",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight(\"bias\",[this.filters],\"float32\",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new Ie({ndim:4,axes:{[e]:n}})],this.built=!0}call(t,e){return B(()=>{let n=St(t);if(n.shape.length!==4)throw new z(`Conv2DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${n.shape.length}`);let o=n.shape,s=o[0],i,a;this.dataFormat===\"channelsFirst\"?(i=2,a=3):(i=1,a=2);let u=o[i],l=o[a],c=this.kernelSize[0],p=this.kernelSize[1],m=this.strides[0],f=this.strides[1],d=xi(u,m,c,this.padding),h=xi(l,f,p,this.padding),g=[s,d,h,this.filters];this.dataFormat!==\"channelsLast\"&&(n=Vt(n,[0,2,3,1]));let x=om(n,this.kernel.read(),g,this.strides,this.padding);return this.dataFormat!==\"channelsLast\"&&(x=Vt(x,[0,3,1,2])),this.bias!=null&&(x=yn(x,this.bias.read(),this.dataFormat)),this.activation!=null&&(x=this.activation.apply(x)),x})}computeOutputShape(t){t=Gt(t);let e=t.slice(),n,o,s;this.dataFormat===\"channelsFirst\"?(n=1,o=2,s=3):(n=3,o=1,s=2);let i=this.kernelSize[0],a=this.kernelSize[1],u=this.strides[0],l=this.strides[1];return e[n]=this.filters,e[o]=xi(e[o],u,i,this.padding),e[s]=xi(e[s],l,a,this.padding),e}getConfig(){let t=super.getConfig();return delete t.dilationRate,t}};nf.className=\"Conv2DTranspose\";Q.registerClass(nf);var of=class extends Hc{constructor(t){if(super(t),this.inputSpec=[new Ie({ndim:5})],this.padding!==\"same\"&&this.padding!==\"valid\")throw new z(`Conv3DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(t){if(t=Gt(t),t.length!==5)throw new z(\"Input should have rank 5; Received input shape: \"+JSON.stringify(t));let e=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[e]==null)throw new z(\"The channel dimension of the inputs should be defined. Found `None`.\");let n=t[e],o=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight(\"kernel\",o,\"float32\",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight(\"bias\",[this.filters],\"float32\",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new Ie({ndim:5,axes:{[e]:n}})],this.built=!0}call(t,e){return B(()=>{let n=St(t);if(n.shape.length!==5)throw new z(`Conv3DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${n.shape.length}`);let o=n.shape,s=o[0],i,a,u;this.dataFormat===\"channelsFirst\"?(u=2,i=3,a=4):(u=1,i=2,a=3);let l=o[u],c=o[i],p=o[a],m=this.kernelSize[0],f=this.kernelSize[1],d=this.kernelSize[2],h=this.strides[0],g=this.strides[1],x=this.strides[2],b=xi(l,h,m,this.padding),w=xi(c,g,f,this.padding),I=xi(p,x,d,this.padding),N=[s,b,w,I,this.filters];this.dataFormat!==\"channelsLast\"&&(n=Vt(n,[0,2,3,4,1]));let E=$x(n,this.kernel.read(),N,this.strides,this.padding);return this.dataFormat!==\"channelsLast\"&&(E=Vt(E,[0,4,1,2,3])),this.bias!==null&&(E=yn(E,this.bias.read(),this.dataFormat)),this.activation!==null&&(E=this.activation.apply(E)),E})}computeOutputShape(t){t=Gt(t);let e=t.slice(),n,o,s,i;this.dataFormat===\"channelsFirst\"?(n=1,o=2,s=3,i=4):(n=4,o=1,s=2,i=3);let a=this.kernelSize[0],u=this.kernelSize[1],l=this.kernelSize[2],c=this.strides[0],p=this.strides[1],m=this.strides[2];return e[n]=this.filters,e[o]=xi(e[o],c,a,this.padding),e[s]=xi(e[s],p,u,this.padding),e[i]=xi(e[i],m,l,this.padding),e}getConfig(){let t=super.getConfig();return delete t.dilationRate,t}};of.className=\"Conv3DTranspose\";Q.registerClass(of);var Tb=class extends rf{constructor(t,e){if(super(t,e),this.DEFAULT_DEPTHWISE_INITIALIZER=\"glorotUniform\",this.DEFAULT_POINTWISE_INITIALIZER=\"glorotUniform\",this.depthwiseKernel=null,this.pointwiseKernel=null,e.filters==null)throw new z(\"The `filters` configuration field is required by SeparableConv, but is unspecified.\");if(e.kernelInitializer!=null||e.kernelRegularizer!=null||e.kernelConstraint!=null)throw new z(\"Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.\");if(e.padding!=null&&e.padding!==\"same\"&&e.padding!==\"valid\")throw new z(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(e.padding)}`);this.depthMultiplier=e.depthMultiplier==null?1:e.depthMultiplier,this.depthwiseInitializer=ge(e.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=Ce(e.depthwiseRegularizer),this.depthwiseConstraint=Ge(e.depthwiseConstraint),this.pointwiseInitializer=ge(e.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=Ce(e.pointwiseRegularizer),this.pointwiseConstraint=Ge(e.pointwiseConstraint)}build(t){if(t=Gt(t),t.length{t=St(t);let n;if(this.rank===1)throw new _t(\"1D separable convolution is not implemented yet.\");return this.rank===2&&(this.dataFormat===\"channelsFirst\"&&(t=Vt(t,[0,2,3,1])),n=fm(t,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,\"NHWC\")),this.useBias&&(n=yn(n,this.bias.read(),this.dataFormat)),this.activation!=null&&(n=this.activation.apply(n)),this.dataFormat===\"channelsFirst\"&&(n=Vt(n,[0,3,1,2])),n})}getConfig(){let t=super.getConfig();return delete t.rank,delete t.kernelInitializer,delete t.kernelRegularizer,delete t.kernelConstraint,t.depthwiseInitializer=Te(this.depthwiseInitializer),t.pointwiseInitializer=Te(this.pointwiseInitializer),t.depthwiseRegularizer=fe(this.depthwiseRegularizer),t.pointwiseRegularizer=fe(this.pointwiseRegularizer),t.depthwiseConstraint=Ve(this.depthwiseConstraint),t.pointwiseConstraint=Ve(this.pointwiseConstraint),t}};Tb.className=\"SeparableConv\";var sf=class extends Tb{constructor(t){super(2,t)}};sf.className=\"SeparableConv2D\";Q.registerClass(sf);var af=class r extends rf{constructor(t){super(1,t),r.verifyArgs(t),this.inputSpec=[{ndim:3}]}getConfig(){let t=super.getConfig();return delete t.rank,delete t.dataFormat,t}static verifyArgs(t){if(typeof t.kernelSize!=\"number\"&&!Fy(t.kernelSize,\"number\",1,1))throw new z(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(t.kernelSize)}.`)}};af.className=\"Conv1D\";Q.registerClass(af);var lf=class extends Et{constructor(t){super(t),typeof t.cropping==\"number\"?this.cropping=[[t.cropping,t.cropping],[t.cropping,t.cropping]]:typeof t.cropping[0]==\"number\"?this.cropping=[[t.cropping[0],t.cropping[0]],[t.cropping[1],t.cropping[1]]]:this.cropping=t.cropping,this.dataFormat=t.dataFormat===void 0?\"channelsLast\":t.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(t){return this.dataFormat===\"channelsFirst\"?[t[0],t[1],t[2]-this.cropping[0][0]-this.cropping[0][1],t[3]-this.cropping[1][0]-this.cropping[1][1]]:[t[0],t[1]-this.cropping[0][0]-this.cropping[0][1],t[2]-this.cropping[1][0]-this.cropping[1][1],t[3]]}call(t,e){return B(()=>{if(t=St(t),this.dataFormat===\"channelsLast\"){let n=Nh(t,this.cropping[0][0],t.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return Nh(n,this.cropping[1][0],t.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}else{let n=Nh(t,this.cropping[0][0],t.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return Nh(n,this.cropping[1][0],t.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}})}getConfig(){let t={cropping:this.cropping,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}};lf.className=\"Cropping2D\";Q.registerClass(lf);var uf=class extends Et{constructor(t){super(t),this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=t.size==null?this.DEFAULT_SIZE:t.size,this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Me(this.dataFormat),this.interpolation=t.interpolation==null?\"nearest\":t.interpolation,eR(this.interpolation)}computeOutputShape(t){if(this.dataFormat===\"channelsFirst\"){let e=t[2]==null?null:this.size[0]*t[2],n=t[3]==null?null:this.size[1]*t[3];return[t[0],t[1],e,n]}else{let e=t[1]==null?null:this.size[0]*t[1],n=t[2]==null?null:this.size[1]*t[2];return[t[0],e,n,t[3]]}}call(t,e){return B(()=>{let n=St(t),o=n.shape;if(this.dataFormat===\"channelsFirst\"){n=Vt(n,[0,2,3,1]);let s=this.size[0]*o[2],i=this.size[1]*o[3],a=this.interpolation===\"nearest\"?fn.resizeNearestNeighbor(n,[s,i]):fn.resizeBilinear(n,[s,i]);return Vt(a,[0,3,1,2])}else{let s=this.size[0]*o[1],i=this.size[1]*o[2];return this.interpolation===\"nearest\"?fn.resizeNearestNeighbor(n,[s,i]):fn.resizeBilinear(n,[s,i])}})}getConfig(){let t={size:this.size,dataFormat:this.dataFormat,interpolation:this.interpolation},e=super.getConfig();return Object.assign(t,e),t}};uf.className=\"UpSampling2D\";Q.registerClass(uf);function bJ(r,t,e=[1,1],n=\"valid\",o,s){return B(()=>{o==null&&(o=xn()),Me(o);let i=Mh(r,o);if(r.rank!==4)throw new z(`Input for depthwiseConv2d is required to be 4-D, but is instead ${r.rank}-D`);if(t.rank!==4)throw new z(`depthwiseKernel is required to be 4-D, but is instead ${t.rank}-D`);return i=ia(i,t,e,n===\"same\"?\"same\":\"valid\",\"NHWC\",s),o===\"channelsFirst\"&&(i=Vt(i,[0,3,1,2])),i})}var cf=class extends Oh{constructor(t){super(2,t),this.depthwiseKernel=null,this.depthMultiplier=t.depthMultiplier==null?1:t.depthMultiplier,this.depthwiseInitializer=ge(t.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=Ge(t.depthwiseConstraint),this.depthwiseRegularizer=Ce(t.depthwiseRegularizer)}build(t){if(t=Gt(t),t.length<4)throw new z(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(t)}.`);let e=this.dataFormat===\"channelsFirst\"?1:3;if(t[e]==null||t[e]<0)throw new z(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${t[e]}).`);let n=t[e],o=[this.kernelSize[0],this.kernelSize[1],n,this.depthMultiplier];this.depthwiseKernel=this.addWeight(\"depthwise_kernel\",o,null,this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.useBias?this.bias=this.addWeight(\"bias\",[n*this.depthMultiplier],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(t,e){return B(()=>{t=St(t);let n=bJ(t,this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(n=yn(n,this.bias.read(),this.dataFormat)),this.activation!=null&&(n=this.activation.apply(n)),n})}computeOutputShape(t){t=Gt(t);let e=this.dataFormat===\"channelsFirst\"?t[2]:t[1],n=this.dataFormat===\"channelsFirst\"?t[3]:t[2],o=this.dataFormat===\"channelsFirst\"?t[1]*this.depthMultiplier:t[3]*this.depthMultiplier,s=Tn(e,this.kernelSize[0],this.padding,this.strides[0]),i=Tn(n,this.kernelSize[1],this.padding,this.strides[1]);return this.dataFormat===\"channelsFirst\"?[t[0],o,s,i]:[t[0],s,i,o]}getConfig(){let t=super.getConfig();return t.depthMultiplier=this.depthMultiplier,t.depthwiseInitializer=Te(this.depthwiseInitializer),t.depthwiseRegularizer=fe(this.depthwiseRegularizer),t.depthwiseConstraint=Ve(this.depthwiseRegularizer),t}};cf.className=\"DepthwiseConv2D\";Q.registerClass(cf);function tk(r,t,e,n){if(Array.isArray(r)){if(t!=null||e!=null)throw new z(\"When inputs is an array, neither initialState or constants should be provided\");n!=null&&(e=r.slice(r.length-n,r.length),r=r.slice(0,r.length-n)),r.length>1&&(t=r.slice(1,r.length)),r=r[0]}function o(s){return s==null||Array.isArray(s)?s:[s]}return t=o(t),e=o(e),{inputs:r,initialState:t,constants:e}}function ek(r,t,e,n=!1,o,s,i=!1,a=!1){return B(()=>{let u=t.shape.length;if(u<3)throw new z(`Input should be at least 3D, but is ${u}D.`);let l=[1,0].concat(gn(2,u));if(t=Vt(t,l),s!=null)throw new _t(\"The rnn() functoin of the deeplearn.js backend does not support constants yet.\");i&&console.warn(\"Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend.\"),o!=null&&(o=J(J(o,\"bool\"),\"float32\"),o.rank===u-1&&(o=je(o,-1)),o=Vt(o,l)),n&&(t=dr(t,0),o!=null&&(o=dr(o,0)));let c=[],p,m=e,f=t.shape[0],d=gr(t),h;o!=null&&(h=gr(o));for(let x=0;xr(b,m));if(o==null)p=w[0],m=w[1];else{let I=B(()=>{let N=h[x],E=at(wr(N),N),A=X($(w[0],N),$(m[0],E)),D=m.map((F,M)=>X($(w[1][M],N),$(F,E)));return{output:A,newStates:D}});p=I.output,m=I.newStates}a&&c.push(p)}let g;return a&&(g=Fe(c,1)),[p,g,m]})}var po=class r extends Et{constructor(t){super(t);let e;if(t.cell==null)throw new z(\"cell property is missing for the constructor of RNN.\");if(Array.isArray(t.cell)?e=new jc({cells:t.cell}):e=t.cell,e.stateSize==null)throw new z(\"The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).\");this.cell=e,this.returnSequences=t.returnSequences==null?!1:t.returnSequences,this.returnState=t.returnState==null?!1:t.returnState,this.goBackwards=t.goBackwards==null?!1:t.goBackwards,this._stateful=t.stateful==null?!1:t.stateful,this.unroll=t.unroll==null?!1:t.unroll,this.supportsMasking=!0,this.inputSpec=[new Ie({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){if(this.states_==null){let t=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;return gn(0,t).map(e=>null)}else return this.states_}setStates(t){this.states_=t}computeOutputShape(t){Uy(t)&&(t=t[0]),t=t;let e=this.cell.stateSize;Array.isArray(e)||(e=[e]);let n=e[0],o;if(this.returnSequences?o=[t[0],t[1],n]:o=[t[0],n],this.returnState){let s=[];for(let i of e)s.push([t[0],i]);return[o].concat(s)}else return o}computeMask(t,e){return B(()=>{Array.isArray(e)&&(e=e[0]);let n=this.returnSequences?e:null;if(this.returnState){let o=this.states.map(s=>null);return[n].concat(o)}else return n})}get states(){if(this.states_==null){let t=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,e=[];for(let n=0;na.shape[a.shape.length-1]),i))throw new z(`An initialState was passed that is not compatible with cell.stateSize. Received stateSpec=${this.stateSpec}; However cell.stateSize is ${this.cell.stateSize}`)}else this.stateSpec=i.map(a=>new Ie({shape:[null,a]}));this.stateful&&this.resetStates()}resetStates(t,e=!1){B(()=>{if(!this.stateful)throw new uo(\"Cannot call resetStates() on an RNN Layer that is not stateful.\");let n=this.inputSpec[0].shape[0];if(n==null)throw new z(\"If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \\n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.\");if(this.states_==null)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(o=>ke([n,o])):this.states_=[ke([n,this.cell.stateSize])];else if(t==null)Tt(this.states_),this.keptStates!=null&&(Tt(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(o=>ke([n,o])):this.states_[0]=ke([n,this.cell.stateSize]);else{if(Array.isArray(t)||(t=[t]),t.length!==this.states_.length)throw new z(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${t.length} state value(s). Input received: ${t}`);e===!0?this.keptStates.push(this.states_.slice()):Tt(this.states_);for(let o=0;oDe(o.clone()))})}apply(t,e){let n=e==null?null:e.initialState,o=e==null?null:e.constants;e==null&&(e={});let s=tk(t,n,o,this.numConstants);t=s.inputs,n=s.initialState,o=s.constants;let i=[],a=[];if(n!=null){e.initialState=n,i=i.concat(n),this.stateSpec=[];for(let l of n)this.stateSpec.push(new Ie({shape:l.shape}));a=a.concat(this.stateSpec)}if(o!=null&&(e.constants=o,i=i.concat(o),this.numConstants=o.length),i[0]instanceof en){let l=[t].concat(i),c=this.inputSpec.concat(a),p=this.inputSpec;this.inputSpec=c;let m=super.apply(l,e);return this.inputSpec=p,m}else return super.apply(t,e)}call(t,e){return B(()=>{let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;t=St(t),s==null&&(this.stateful?s=this.states_:s=this.getInitialState(t));let i=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(s.length!==i)throw new z(`RNN Layer has ${i} state(s) but was passed ${s.length} initial state(s).`);this.unroll&&console.warn(\"Ignoring unroll = true for RNN layer, due to imperative backend.\");let a={training:o},l=ek((d,h)=>{let g=this.cell.call([d].concat(h),a);return[g[0],g.slice(1)]},t,s,this.goBackwards,n,null,this.unroll,this.returnSequences),c=l[0],p=l[1],m=l[2];this.stateful&&this.resetStates(m,o);let f=this.returnSequences?p:c;return this.returnState?[f].concat(m):f})}getInitialState(t){return B(()=>{let e=ke(t.shape);return e=mt(e,[1,2]),e=Sl(e),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map(n=>n>1?Vy(e,[1,n]):e):this.cell.stateSize>1?[Vy(e,[1,this.cell.stateSize])]:[e]})}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),this.cell!=null&&this.cell.setFastWeightInitDuringBuild(t)}getConfig(){let t=super.getConfig(),e={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};this.numConstants!=null&&(e.numConstants=this.numConstants);let n=this.cell.getConfig();return this.getClassName()===r.className&&(e.cell={className:this.cell.getClassName(),config:n}),Object.assign(Object.assign(Object.assign({},n),t),e)}static fromConfig(t,e,n={}){let o=e.cell,s=wn(o,n);return new t(Object.assign(e,{cell:s}))}};po.className=\"RNN\";Q.registerClass(po);var Tl=class extends Et{},qc=class extends Tl{constructor(t){super(t),this.DEFAULT_ACTIVATION=\"tanh\",this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",this.units=t.units,tr(this.units,\"units\"),this.activation=gi(t.activation==null?this.DEFAULT_ACTIVATION:t.activation),this.useBias=t.useBias==null?!0:t.useBias,this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=ge(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=Ce(t.kernelRegularizer),this.recurrentRegularizer=Ce(t.recurrentRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.kernelConstraint=Ge(t.kernelConstraint),this.recurrentConstraint=Ge(t.recurrentConstraint),this.biasConstraint=Ge(t.biasConstraint),this.dropout=Dc([1,fi([0,t.dropout==null?0:t.dropout])]),this.recurrentDropout=Dc([1,fi([0,t.recurrentDropout==null?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){t=Gt(t),this.kernel=this.addWeight(\"kernel\",[t[t.length-1],this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight(\"recurrent_kernel\",[this.units,this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight(\"bias\",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(t,e){return B(()=>{if(t=t,t.length!==2)throw new z(`SimpleRNNCell expects 2 input Tensors, got ${t.length}.`);let n=t[1];t=t[0];let o=e.training==null?!1:e.training;0wr(t),rate:this.dropout,training:o,dropoutFunc:this.dropoutFunc})),0wr(n),rate:this.recurrentDropout,training:o,dropoutFunc:this.dropoutFunc}));let s,i=this.dropoutMask,a=this.recurrentDropoutMask;i!=null?s=Do($(t,i),this.kernel.read()):s=Do(t,this.kernel.read()),this.bias!=null&&(s=yn(s,this.bias.read())),a!=null&&(n=$(n,a));let u=X(s,Do(n,this.recurrentKernel.read()));return this.activation!=null&&(u=this.activation.apply(u)),[u,u]})}getConfig(){let t=super.getConfig(),e={units:this.units,activation:hi(this.activation),useBias:this.useBias,kernelInitializer:Te(this.kernelInitializer),recurrentInitializer:Te(this.recurrentInitializer),biasInitializer:Te(this.biasInitializer),kernelRegularizer:fe(this.kernelRegularizer),recurrentRegularizer:fe(this.recurrentRegularizer),biasRegularizer:fe(this.biasRegularizer),activityRegularizer:fe(this.activityRegularizer),kernelConstraint:Ve(this.kernelConstraint),recurrentConstraint:Ve(this.recurrentConstraint),biasConstraint:Ve(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign(Object.assign({},t),e)}};qc.className=\"SimpleRNNCell\";Q.registerClass(qc);var pf=class extends po{constructor(t){t.cell=new qc(t),super(t)}call(t,e){return B(()=>{this.cell.dropoutMask!=null&&(Tt(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(Tt(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}static fromConfig(t,e){return new t(e)}};pf.className=\"SimpleRNN\";Q.registerClass(pf);var Kc=class extends Tl{constructor(t){if(super(t),this.DEFAULT_ACTIVATION=\"tanh\",this.DEFAULT_RECURRENT_ACTIVATION=\"hardSigmoid\",this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",t.resetAfter)throw new z(\"GRUCell does not support reset_after parameter set to true.\");this.units=t.units,tr(this.units,\"units\"),this.activation=gi(t.activation===void 0?this.DEFAULT_ACTIVATION:t.activation),this.recurrentActivation=gi(t.recurrentActivation===void 0?this.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),this.useBias=t.useBias==null?!0:t.useBias,this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=ge(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=Ce(t.kernelRegularizer),this.recurrentRegularizer=Ce(t.recurrentRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.kernelConstraint=Ge(t.kernelConstraint),this.recurrentConstraint=Ge(t.recurrentConstraint),this.biasConstraint=Ge(t.biasConstraint),this.dropout=Dc([1,fi([0,t.dropout==null?0:t.dropout])]),this.recurrentDropout=Dc([1,fi([0,t.recurrentDropout==null?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.implementation=t.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){t=Gt(t);let e=t[t.length-1];this.kernel=this.addWeight(\"kernel\",[e,this.units*3],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight(\"recurrent_kernel\",[this.units,this.units*3],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight(\"bias\",[this.units*3],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(t,e){return B(()=>{if(t=t,t.length!==2)throw new z(`GRUCell expects 2 input Tensors (inputs, h, c), got ${t.length}.`);let n=e.training==null?!1:e.training,o=t[1];t=t[0],0wr(t),rate:this.dropout,training:n,count:3,dropoutFunc:this.dropoutFunc})),0wr(o),rate:this.recurrentDropout,training:n,count:3,dropoutFunc:this.dropoutFunc}));let s=this.dropoutMask,i=this.recurrentDropoutMask,a,u,l;0{this.cell.dropoutMask!=null&&(Tt(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(Tt(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}static fromConfig(t,e){return e.implmentation===0&&(e.implementation=1),new t(e)}};mf.className=\"GRU\";Q.registerClass(mf);var _l=class extends Tl{constructor(t){super(t),this.DEFAULT_ACTIVATION=\"tanh\",this.DEFAULT_RECURRENT_ACTIVATION=\"hardSigmoid\",this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",this.units=t.units,tr(this.units,\"units\"),this.activation=gi(t.activation===void 0?this.DEFAULT_ACTIVATION:t.activation),this.recurrentActivation=gi(t.recurrentActivation===void 0?this.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),this.useBias=t.useBias==null?!0:t.useBias,this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=ge(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=t.unitForgetBias,this.kernelRegularizer=Ce(t.kernelRegularizer),this.recurrentRegularizer=Ce(t.recurrentRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.kernelConstraint=Ge(t.kernelConstraint),this.recurrentConstraint=Ge(t.recurrentConstraint),this.biasConstraint=Ge(t.biasConstraint),this.dropout=Dc([1,fi([0,t.dropout==null?0:t.dropout])]),this.recurrentDropout=Dc([1,fi([0,t.recurrentDropout==null?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.implementation=t.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){var e;t=Gt(t);let n=t[t.length-1];this.kernel=this.addWeight(\"kernel\",[n,this.units*4],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight(\"recurrent_kernel\",[this.units,this.units*4],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint);let o;if(this.useBias){if(this.unitForgetBias){let s=this.biasInitializer,i=this.units;o=new(e=class extends bn{apply(u,l){let c=s.apply([i]),p=new Mu().apply([i]),m=s.apply([i*2]);return BN(BN(c,p),m)}},e.className=\"CustomInit\",e)}else o=this.biasInitializer;this.bias=this.addWeight(\"bias\",[this.units*4],null,o,this.biasRegularizer,!0,this.biasConstraint)}else this.bias=null;this.built=!0}call(t,e){return B(()=>{let n=e.training==null?!1:e.training;if(t=t,t.length!==3)throw new z(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${t.length}.`);let o=t[1],s=t[2];t=t[0],0wr(t),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc})),0wr(o),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));let i=this.dropoutMask,a=this.recurrentDropoutMask,u,l,c,p;0{this.cell.dropoutMask!=null&&(Tt(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(Tt(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}static fromConfig(t,e){return e.implmentation===0&&(e.implementation=1),new t(e)}};ff.className=\"LSTM\";Q.registerClass(ff);var jc=class extends Tl{constructor(t){super(t),this.cells=t.cells}get stateSize(){let t=[];for(let e of this.cells.slice().reverse())Array.isArray(e.stateSize)?t.push(...e.stateSize):t.push(e.stateSize);return t}call(t,e){return B(()=>{t=t;let n=t.slice(1),o=[];for(let a of this.cells.slice().reverse())Array.isArray(a.stateSize)?o.push(n.splice(0,a.stateSize.length)):o.push(n.splice(0,1));o.reverse();let s=[],i;for(let a=0;a{mi(`RNNCell_${o}`,()=>{n.build(t),Array.isArray(n.stateSize)?e=n.stateSize[0]:e=n.stateSize,t=[t[0],e]})}),this.built=!0}getConfig(){let t=super.getConfig(),e=s=>({className:s.getClassName(),config:s.getConfig()}),o={cells:this.cells.map(e)};return Object.assign(Object.assign({},t),o)}static fromConfig(t,e,n={}){let o=[];for(let s of e.cells)o.push(wn(s,n));return new t({cells:o})}get trainableWeights(){if(!this.trainable)return[];let t=[];for(let e of this.cells)t.push(...e.trainableWeights);return t}get nonTrainableWeights(){let t=[];for(let e of this.cells)t.push(...e.nonTrainableWeights);if(!this.trainable){let e=[];for(let n of this.cells)e.push(...n.trainableWeights);return e.concat(t)}return t}getWeights(){let t=[];for(let e of this.cells)t.push(...e.weights);return Th(t)}setWeights(t){let e=[];for(let n of this.cells){let o=n.weights.length,s=t.splice(o);for(let i=0;is!=null?s(t(),e):Wy(t(),e),a=()=>Ou(i,t,n);return!o||o<=1?De(a().clone()):Array(o).fill(void 0).map(a).map(l=>De(l.clone()))}var wJ=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var o=0,n=Object.getOwnPropertySymbols(r);o{if(this.cell.dropoutMask!=null&&(Tt(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(Tt(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),e&&e.constants)throw new z(\"ConvRNN2D cell does not support constants\");let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}computeOutputShape(t){let e=this.computeSingleOutputShape(t);return this.returnSequences||(e=[e[0],...e.slice(2)]),this.returnState&&(e=[e,...Array(2).fill([t[0],...e.slice(-3)])]),e}getInitialState(t){return B(()=>{let{stateSize:e}=this.cell,n=t.shape,o=this.computeSingleOutputShape(n),s=[o[0],...o.slice(2)],i=ke(s);return Array.isArray(e)?Array(e.length).fill(i):[i]})}resetStates(t,e=!1){B(()=>{if(!this.stateful)throw new uo(\"Cannot call resetStates() on an RNN Layer that is not stateful.\");let n=this.inputSpec[0].shape,o=this.computeSingleOutputShape(n),s=[o[0],...o.slice(2)];if(n[0]==null)throw new z(\"If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \\n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.\");if(this.getStates()==null)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>ke(s)):this.states_=[ke(s)];else if(t==null)Tt(this.states_),this.keptStates!=null&&(Tt(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>ke(s)):this.states_[0]=ke(s);else{if(Array.isArray(t)||(t=[t]),t.length!==this.states_.length)throw new z(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${t.length} state value(s). Input received: ${t}`);e?this.keptStates.push(this.states_.slice()):Tt(this.states_);for(let a=0;aDe(a.clone()))})}computeSingleOutputShape(t){let{dataFormat:e,filters:n,kernelSize:o,padding:s,strides:i,dilationRate:a}=this.cell,u=e===\"channelsFirst\",l=t[u?3:2],c=t[u?4:3],p=Tn(l,o[0],s,i[0],a[0]),m=Tn(c,o[1],s,i[1],a[1]);return[...t.slice(0,2),...u?[n,p,m]:[p,m,n]]}};_b.className=\"ConvRNN2D\";var Xc=class extends _l{constructor(t){let{filters:e,kernelSize:n,strides:o,padding:s,dataFormat:i,dilationRate:a}=t;super(Object.assign(Object.assign({},t),{units:e})),this.filters=e,tr(this.filters,\"filters\"),this.kernelSize=zu(n,2,\"kernelSize\"),this.kernelSize.forEach(u=>tr(u,\"kernelSize\")),this.strides=zu(o||1,2,\"strides\"),this.strides.forEach(u=>tr(u,\"strides\")),this.padding=s||\"valid\",hn(this.padding),this.dataFormat=i||\"channelsLast\",Me(this.dataFormat),this.dilationRate=zu(a||1,2,\"dilationRate\"),this.dilationRate.forEach(u=>tr(u,\"dilationRate\"))}build(t){var e;t=Gt(t);let n=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[n]==null)throw new z(`The channel dimension of the input should be defined. Found ${t[n]}`);let o=t[n],s=4,i=this.kernelSize.concat([o,this.filters*s]);this.kernel=this.addWeight(\"kernel\",i,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);let a=this.kernelSize.concat([this.filters,this.filters*s]);if(this.recurrentKernel=this.addWeight(\"recurrent_kernel\",a,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let u;if(this.unitForgetBias){let l=this.biasInitializer,c=this.filters;u=new(e=class extends bn{apply(m,f){let d=l.apply([c]),h=ar([c]),g=l.apply([c*2]);return Tm([d,h,g])}},e.className=\"CustomInit\",e)}else u=this.biasInitializer;this.bias=this.addWeight(\"bias\",[this.filters*s],null,u,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(t,e){return B(()=>{if(t.length!==3)throw new z(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${t.length}.`);let n=e.training||!1,o=t[0],s=t[1],i=t[2],a=4;0wr(o),rate:this.dropout,training:n,count:a,dropoutFunc:this.dropoutFunc}));let u=this.dropoutMask,l=(nt,st,lt)=>!st||!st[lt]?nt:$(st[lt],nt),c=l(o,u,0),p=l(o,u,1),m=l(o,u,2),f=l(o,u,3);0wr(s),rate:this.recurrentDropout,training:n,count:a,dropoutFunc:this.dropoutFunc}));let d=this.recurrentDropoutMask,h=l(s,d,0),g=l(s,d,1),x=l(s,d,2),b=l(s,d,3),w=3,[I,N,E,A]=hr(this.kernel.read(),a,w),[D,F,M,V]=this.useBias?hr(this.bias.read(),a):[null,null,null,null];c=this.inputConv(c,I,D,this.padding),p=this.inputConv(p,N,F,this.padding),m=this.inputConv(m,E,M,this.padding),f=this.inputConv(f,A,V,this.padding);let[G,W,q,H]=hr(this.recurrentKernel.read(),a,w);h=this.recurrentConv(h,G),g=this.recurrentConv(g,W),x=this.recurrentConv(x,q),b=this.recurrentConv(b,H);let K=this.recurrentActivation.apply(X(c,h)),Y=this.recurrentActivation.apply(X(p,g)),Z=X($(Y,i),$(K,this.activation.apply(X(m,x)))),et=$(this.recurrentActivation.apply(X(f,b)),this.activation.apply(Z));return[et,et,Z]})}getConfig(){let t=super.getConfig(),{units:e}=t,n=wJ(t,[\"units\"]),o={filters:this.filters,kernelSize:this.kernelSize,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,strides:this.strides};return Object.assign(Object.assign({},n),o)}inputConv(t,e,n,o){let s=Nn(t,e,this.strides,o||\"valid\",this.dataFormat===\"channelsFirst\"?\"NCHW\":\"NHWC\",this.dilationRate);return n?yn(s,n,this.dataFormat):s}recurrentConv(t,e){return Nn(t,e,1,\"same\",this.dataFormat===\"channelsFirst\"?\"NCHW\":\"NHWC\")}};Xc.className=\"ConvLSTM2DCell\";Q.registerClass(Xc);var df=class extends _b{constructor(t){let e=new Xc(t);super(Object.assign(Object.assign({},t),{cell:e}))}static fromConfig(t,e){return new t(e)}};df.className=\"ConvLSTM2D\";Q.registerClass(df);var Yc=class extends Et{constructor(t){super(t),this.rate=Math.max(Math.min(t.rate,1),0),this.noiseShape=t.noiseShape,this.seed=t.seed,this.supportsMasking=!0}getNoiseShape(t){if(this.noiseShape==null)return this.noiseShape;let e=t.shape,n=[];for(let o=0;o{this.invokeCallHook(t,e);let n=St(t);if(0Wy(n,this.rate,s,this.seed),()=>n,o)}return t})}getConfig(){let t={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},e=super.getConfig();return Object.assign(t,e),t}dispose(){return super.dispose()}};Yc.className=\"Dropout\";Q.registerClass(Yc);var hf=class extends Yc{constructor(t){super(t),this.inputSpec=[{ndim:3}]}getNoiseShape(t){let e=t.shape;return[e[0],1,e[2]]}};hf.className=\"SpatialDropout1D\";Q.registerClass(hf);var gf=class extends Et{constructor(t){if(super(t),this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",t.batchInputShape==null&&t.inputShape==null&&t.inputDim!=null){let e=null;t.batchSize!=null&&(e=t.batchSize),this.batchInputShape=[e,t.inputDim]}this.units=t.units,tr(this.units,\"units\"),this.activation=gi(t.activation),t.useBias!=null&&(this.useBias=t.useBias),this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=Ge(t.kernelConstraint),this.biasConstraint=Ge(t.biasConstraint),this.kernelRegularizer=Ce(t.kernelRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.activityRegularizer=Ce(t.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(t){t=Gt(t);let e=t[t.length-1];this.kernel==null&&(this.kernel=this.addWeight(\"kernel\",[e,this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight(\"bias\",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint))),this.inputSpec=[{minNDim:2,axes:{[-1]:e}}],this.built=!0}computeOutputShape(t){t=Gt(t);let e=t.slice();return e[e.length-1]=this.units,e}call(t,e){return B(()=>{this.invokeCallHook(t,e);let n=St(t),o=Oy(this.activation.getClassName()),s;return o!=null?s=Do(n,this.kernel.read(),o,this.bias?this.bias.read():null):(s=Do(n,this.kernel.read()),this.bias!=null&&(s=yn(s,this.bias.read())),this.activation!=null&&(s=this.activation.apply(s))),s})}getConfig(){let t={units:this.units,activation:hi(this.activation),useBias:this.useBias,kernelInitializer:Te(this.kernelInitializer),biasInitializer:Te(this.biasInitializer),kernelRegularizer:fe(this.kernelRegularizer),biasRegularizer:fe(this.biasRegularizer),activityRegularizer:fe(this.activityRegularizer),kernelConstraint:Ve(this.kernelConstraint),biasConstraint:Ve(this.biasConstraint)},e=super.getConfig();return Object.assign(t,e),t}};gf.className=\"Dense\";Q.registerClass(gf);var xf=class extends Et{constructor(t){t=t||{},super(t),this.inputSpec=[{minNDim:3}],this.dataFormat=t.dataFormat}computeOutputShape(t){t=Gt(t);for(let e of t.slice(1))if(e==null)throw new z(`The shape of the input to \"Flatten\" is not fully defined (got ${t.slice(1)}). Make sure to pass a complete \"input_shape\" or \"batch_input_shape\" argument to the first layer in your model.`);return[t[0],Ao(t,1)]}call(t,e){return B(()=>{this.invokeCallHook(t,e);let n=St(t);if(this.dataFormat===\"channelsFirst\"&&n.rank>1){let o=[0];for(let s=2;s{this.invokeCallHook(t,e);let n=St(t);return this.activation.apply(n)})}getConfig(){let t={activation:hi(this.activation)},e=super.getConfig();return Object.assign(t,e),t}};yf.className=\"Activation\";Q.registerClass(yf);var bf=class extends Et{constructor(t){super(t),this.n=t.n,this.inputSpec=[{ndim:2}]}computeOutputShape(t){return[t[0],this.n,t[1]]}call(t,e){return B(()=>(t=St(t),oR(t,this.n)))}getConfig(){let t={n:this.n},e=super.getConfig();return Object.assign(t,e),t}};bf.className=\"RepeatVector\";Q.registerClass(bf);var wf=class extends Et{constructor(t){super(t),this.targetShape=t.targetShape;for(let e=0;e{this.invokeCallHook(t,e);let n=St(t),o=n.shape,s=o.slice(0,1).concat(this.fixUnknownDimension(o.slice(1),this.targetShape));return R(n,s)})}getConfig(){let t={targetShape:this.targetShape},e=super.getConfig();return Object.assign(t,e),t}};wf.className=\"Reshape\";Q.registerClass(wf);var If=class extends Et{constructor(t){if(super(t),t.dims==null)throw new Error(\"Required configuration field `dims` is missing during Permute constructor call.\");if(!Array.isArray(t.dims))throw new Error(`Permute constructor requires \\`dims\\` to be an Array, but received ${t.dims} instead.`);let e=gn(1,t.dims.length+1);if(!y.arraysEqual(t.dims.slice().sort(),e))throw new Error(\"Invalid permutation `dims`: \"+JSON.stringify(t.dims)+\" `dims` must contain consecutive integers starting from 1.\");this.dims=t.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new Ie({ndim:this.dims.length+1})]}computeOutputShape(t){t=Gt(t);let e=t.slice();return this.dims.forEach((n,o)=>{e[o+1]=t[n]}),e}call(t,e){return Vt(St(t),this.dimsIncludingBatch)}getConfig(){let t={dims:this.dims},e=super.getConfig();return Object.assign(t,e),t}};If.className=\"Permute\";Q.registerClass(If);var Cf=class extends Et{constructor(t){super(t==null?{}:t),this.supportsMasking=!0,t!=null?this.maskValue=t.maskValue==null?0:t.maskValue:this.maskValue=0}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={maskValue:this.maskValue};return Object.assign(e,t),e}computeMask(t,e){let n=St(t);return cc(ui(n,this.maskValue),-1)}call(t,e){return B(()=>{this.invokeCallHook(t,e);let n=St(t),i=cc(ui(n,this.maskValue),-1,!0);return $(n,J(i,n.dtype))})}};Cf.className=\"Masking\";Q.registerClass(Cf);var vf=class extends Et{constructor(t){if(super(t),this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER=\"randomUniform\",t.batchInputShape==null&&t.inputShape==null){let e=null;t.batchSize!=null&&(e=t.batchSize),t.inputLength==null?this.batchInputShape=[e,null]:this.batchInputShape=[e].concat(ue(t.inputLength))}this.inputDim=t.inputDim,tr(this.inputDim,\"inputDim\"),this.outputDim=t.outputDim,tr(this.outputDim,\"outputDim\"),this.embeddingsInitializer=ge(t.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=Ce(t.embeddingsRegularizer),this.activityRegularizer=Ce(t.activityRegularizer),this.embeddingsConstraint=Ge(t.embeddingsConstraint),this.maskZero=t.maskZero,this.supportsMasking=t.maskZero,this.inputLength=t.inputLength}build(t){this.embeddings=this.addWeight(\"embeddings\",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(t){}computeMask(t,e){return B(()=>this.maskZero?(t=St(t),ui(t,vt(t))):null)}computeOutputShape(t){if(t=Gt(t),this.inputLength==null)return[...t,this.outputDim];let e=ue(this.inputLength);if(e.length!==t.length-1)throw new z(`\"inputLength\" is ${this.inputLength}, but received input shape has shape ${t}`);{let n=0;for(let o=0;o{this.invokeCallHook(t,e);let n=St(t);n.dtype!==\"int32\"&&(n=tn(n,\"int32\"));let o=Gy(this.embeddings.read(),R(n,[n.size]));return R(o,Gt(this.computeOutputShape(n.shape)))})}getConfig(){let t={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:Te(this.embeddingsInitializer),embeddingsRegularizer:fe(this.embeddingsRegularizer),activityRegularizer:fe(this.activityRegularizer),embeddingsConstraint:Ve(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},e=super.getConfig();return Object.assign(t,e),t}};vf.className=\"Embedding\";Q.registerClass(vf);var Al=class extends Et{constructor(t){super(t||{}),this.supportsMasking=!0}mergeFunction(t){throw new _t}computeElementwiseOpOutputShape(t,e){if(t==null||e==null)return null;if(t.length1)throw new z(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(t)}.`);let n=t[0]==null?null:t[0].slice(1);for(let s=1;ss.length);t.indexOf(null)===-1&&Eo(o).length===1?this.reshapeRequired=!1:this.reshapeRequired=!0}call(t,e){return B(()=>{if(t=t,this.reshapeRequired){let n=[],o=t.map(s=>s.rank);if(o.indexOf(null)===-1){let s=fi(o);for(let i of t){let a=i.rank;for(let u=0;u1){let c=gn(1,l).concat([0]);n.push(Vt(u,c)),s=!0}else n.push(u)}let i=this.mergeFunction(n),a=i.rank;if(s){if(a==null){let u=i.shape,l=u.length,c=u[l-1],p=[c].concat(u.slice(0,u.length-1));i=R(Vt(R(i,[-1,c]),[1,0]),p)}else if(a>1){let u=[a-1].concat(gn(0,a-1));i=Vt(i,u)}}return i}}else return this.mergeFunction(t)})}computeOutputShape(t){t=t;let e;t[0]==null?e=null:e=t[0].slice(1);for(let o=1;o{if(e==null)return null;if(!Array.isArray(e))throw new z(\"`mask` should be an Array\");if(!Array.isArray(t))throw new z(\"`inputs` should be an Array\");if(e.length!==t.length)throw new z(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${t.length} vs ${e.length})`);if(e.every(o=>o==null))return null;e=e.map(o=>o==null?o:je(o,0));let n=e[0];for(let o=1;o{let e=t[0].clone();for(let n=1;n{let e=t[0].clone();for(let n=1;n{let e=t[0].clone();for(let n=1;n{let e=t[0];for(let n=1;n{let e=t[0];for(let n=1;n1)throw new z(\"A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: \"+JSON.stringify(t))}mergeFunction(t){return B(()=>Tm(t,this.axis))}computeOutputShape(t){if(!(Array.isArray(t)&&Array.isArray(t[0])))throw new z(\"A `Concatenate` layer should be called on a list of inputs.\");let e=t,n=e[0].slice(),o=this.axis<0?n.length+this.axis:this.axis;for(let s of e.slice(1)){if(n[o]==null||s[o]==null){n[o]=null;break}n[o]+=s[o]}return n}computeMask(t,e){if(e==null)return null;if(!Array.isArray(e))throw new z(\"`mask` should be an array for Concatenate\");if(!Array.isArray(t))throw new z(\"`inputs` should be an array for Concatenate\");if(e.length!==t.length)throw new z(`Mismatch in the length of mask (${e.length}) and the legnth of inputs (${t.length})`);return B(()=>{let n=!0;if(e.forEach(i=>{if(i!=null){n=!1;return}}),n)return null;let o=[];for(let i=0;i3||t.shape.length>3)throw new _t(\"batchDot is not implemented for tensors of 4D or higher rank yet\");if(y.assert(r.shape.length>=2,()=>`batchDot requires the rank of x to be >= 2, but got ${r.shape.length}`),y.assert(r.shape.length>=2,()=>`batchDot requires the rank of y to be >= 2, but got ${t.shape.length}`),typeof e==\"number\"&&(e=[e,e]),r.dtype===\"complex64\"||t.dtype===\"complex64\")throw new _t(\"batchDot is not implemented for complex64-type Tensors yet.\");let n=r.shape.length,o=t.shape.length;e==null&&(e=[n-1,o-2]);let s=e;return B(()=>{let i;if(n>o){i=n-o;let u=[];for(let l=0;ln){i=o-n;let u=[];for(let l=0;l0){let u;n>o?u=n+o-3:u=n-1;let l=[];for(let c=u;c\"A `Dot` layer should be called on a list of exactly 2 inputs.\");let e=t[0],n=t[1];if(e.length>3||n.length>3)throw new _t(\"Dot layer does not support tensors of 4D or higher rank yet.\");let o=this.interpretAxes(e,n);if(e[o[0]]!==n[o[1]])throw new z(`Dimension incompatibility: ${e[o[0]]} !== ${n[o[1]]}`)}mergeFunction(t){if(t.length!==2)throw new z(`A \\`Dot\\` layer must be called on exactly 2 inputs, but received ${t.length} input(s).`);let e=t[0],n=t[1],o;return Array.isArray(this.axes)?o=this.axes.map((s,i)=>Ph(s,t[i].shape.length)):o=[Ph(this.axes,e.shape.length),Ph(this.axes,n.shape.length)],this.normalize&&(e=_h(e,o[0]),n=_h(n,o[1])),IJ(e,n,o)}interpretAxes(t,e){let n;return Array.isArray(this.axes)?n=this.axes:n=[Ph(this.axes,t.length),Ph(this.axes,e.length)],n}computeOutputShape(t){y.assert(Array.isArray(t)&&t.length===2&&Array.isArray(t[0])&&Array.isArray(t[1]),()=>\"A `Dot` layer should be called on a list of exactly 2 inputs.\");let e=t[0].slice(),n=t[1].slice();if(e.length>3||n.length>3)throw new _t(\"Dot layer does not support tensors of 4D or higher rank yet.\");let o=this.interpretAxes(e,n);e.splice(o[0],1),n.splice(o[1],1),n.splice(0,1);let s=e.concat(n);return s.length===1&&s.push(1),s}computeMask(t,e){return null}getConfig(){let t={axes:this.axes,normalize:this.normalize},e=super.getConfig();return Object.assign(t,e),t}};Af.className=\"Dot\";Q.registerClass(Af);var Df=class extends Et{constructor(t){super(t),this.supportsMasking=!0,this.stddev=t.stddev}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={stddev:this.stddev};return Object.assign(e,t),e}call(t,e){return B(()=>{this.invokeCallHook(t,e);let n=St(t);return Ou(()=>X(_m(n.shape,0,this.stddev),n),()=>n,e.training||!1)})}};Df.className=\"GaussianNoise\";Q.registerClass(Df);var $f=class extends Et{constructor(t){super(t),this.supportsMasking=!0,this.rate=t.rate}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={rate:this.rate};return Object.assign(e,t),e}call(t,e){return B(()=>{this.invokeCallHook(t,e);let n=St(t);return this.rate>0&&this.rate<1?Ou(()=>{let s=Math.sqrt(this.rate/(1-this.rate));return $(n,_m(n.shape,1,s))},()=>n,e.training||!1):n})}};$f.className=\"GaussianDropout\";Q.registerClass($f);var Rf=class extends Et{constructor(t){super(t),this.supportsMasking=!0,this.rate=t.rate,this.noiseShape=t.noiseShape}_getNoiseShape(t){return this.noiseShape||St(t).shape}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={rate:this.rate};return Object.assign(e,t),e}call(t,e){return B(()=>{if(this.rate<1&&this.rate>0){let n=this._getNoiseShape(t);return Ou(()=>{let s=St(t),u=-1.6732632423543772*1.0507009873554805,l=cn(Gn(n),this.rate);l=tn(l,\"float32\");let c=((1-this.rate)*(1+this.rate*u**2))**-.5,p=-c*u*this.rate,m=X($(s,l),$(X(l,-1),u));return X($(m,c),p)},()=>St(t),e.training||!1)}return t})}};Rf.className=\"AlphaDropout\";Q.registerClass(Rf);function Lh(r,t,e,n,o,s=.001){let i;if(r.rank===2)i=Ix(r,t,e,n,o,s);else if(r.rank===3)i=Cx(r,t,e,n,o,s);else if(r.rank===4)i=vx(r,t,e,n,o,s);else throw new _t(`batchNormalization is not implemented for array of rank ${r.rank} yet`);return i}function CJ(r,t,e,n,o=.001){return B(()=>{let s=dc(r,n),i=s.mean,a=s.variance;return[Lh(r,i,a,e,t,o),i,a]})}function vJ(r,t,e,n,o=.001){return B(()=>{let s=dc(r,n),i=s.mean,a=s.variance,u=[];for(let d of gn(0,r.rank))n.indexOf(d)!==-1?u.push(1):u.push(r.shape[d]);let l=R(i,u),c=R(a,u),p=t==null?null:R(t,u),m=e==null?null:R(e,u);return[Lh(r,l,c,m,p,o),i,a]})}function SJ(r,t,e,n,o=.001){return y.arraysEqual(n.slice().sort(),gn(0,r.rank-1))?CJ(r,t,e,n,o):vJ(r,t,e,n,o)}var Ff=class extends Et{constructor(t){t==null&&(t={}),super(t),this.supportsMasking=!0,this.axis=t.axis==null?-1:t.axis,this.momentum=t.momentum==null?.99:t.momentum,this.epsilon=t.epsilon==null?.001:t.epsilon,this.center=t.center==null?!0:t.center,this.scale=t.scale==null?!0:t.scale,this.betaInitializer=ge(t.betaInitializer||\"zeros\"),this.gammaInitializer=ge(t.gammaInitializer||\"ones\"),this.movingMeanInitializer=ge(t.movingMeanInitializer||\"zeros\"),this.movingVarianceInitializer=ge(t.movingVarianceInitializer||\"ones\"),this.betaConstraint=Ge(t.betaConstraint),this.gammaConstraint=Ge(t.gammaConstraint),this.betaRegularizer=Ce(t.betaRegularizer),this.gammaRegularizer=Ce(t.gammaRegularizer)}build(t){t=Gt(t);let e=this.axis>=0?this.axis:this.axis+t.length,n=t[e];if(n==null)throw new z(`Axis ${e} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(t)}.`);this.inputSpec=[new Ie({ndim:t.length,axes:{[e]:n}})];let o=[n];this.scale&&(this.gamma=this.addWeight(\"gamma\",o,null,this.gammaInitializer,this.gammaRegularizer,!0,this.gammaConstraint)),this.center&&(this.beta=this.addWeight(\"beta\",o,null,this.betaInitializer,this.betaRegularizer,!0,this.betaConstraint)),this.movingMean=this.addWeight(\"moving_mean\",o,null,this.movingMeanInitializer,null,!1),this.movingVariance=this.addWeight(\"moving_variance\",o,null,this.movingVarianceInitializer,null,!1),this.built=!0}call(t,e){return B(()=>{let n=e.training==null?!1:e.training,o=St(t),s=o.shape,i=s.length,a=gn(0,i),u=this.axis>=0?this.axis:this.axis+i;a.splice(u,1);let l=To(1,i);l[u]=s[u];let c=a.slice();c.sort();let p=!y.arraysEqual(c,gn(0,i).slice(0,i-1)),m=()=>{if(p){let b=R(this.movingMean.read(),l),w=R(this.movingVariance.read(),l),I=this.center?R(this.beta.read(),l):null,N=this.scale?R(this.gamma.read(),l):null;return Lh(o,b,w,I,N,this.epsilon)}else return Lh(o,this.movingMean.read(),this.movingVariance.read(),this.beta==null?null:this.beta.read(),this.gamma==null?null:this.gamma.read(),this.epsilon)};if(!n)return m();let[f,d,h]=SJ(o,this.gamma.read(),this.beta.read(),a,this.epsilon),g=(b,w,I)=>{B(()=>{let N=1-I,E=b.read(),A=$(at(E,w),N);b.write(at(E,A))})};return(()=>{g(this.movingMean,d,this.momentum),g(this.movingVariance,h,this.momentum)})(),f})}getConfig(){let t={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:Te(this.betaInitializer),gammaInitializer:Te(this.gammaInitializer),movingMeanInitializer:Te(this.movingMeanInitializer),movingVarianceInitializer:Te(this.movingVarianceInitializer),betaRegularizer:fe(this.betaRegularizer),gammaRegularizer:fe(this.gammaRegularizer),betaConstraint:Ve(this.betaConstraint),gammaConstraint:Ve(this.gammaConstraint)},e=super.getConfig();return Object.assign(t,e),t}};Ff.className=\"BatchNormalization\";Q.registerClass(Ff);var Of=class extends Et{constructor(t){if(t==null&&(t={}),super(t),this.axis=t.axis==null?-1:t.axis,typeof this.axis==\"number\"){if(!Number.isInteger(this.axis))throw new Error(`Expected axis to be an integer, but received ${this.axis}`)}else if(Array.isArray(this.axis)){for(let e of this.axis)if(!Number.isInteger(e))throw new Error(`Expected axis to be an array of integers, but received ${JSON.stringify(this.axis)}`)}else throw new Error(`Expected axis to be an integer or an array of integers, but received ${JSON.stringify(this.axis)}`);this.epsilon=t.epsilon==null?.001:t.epsilon,this.center=t.center==null?!0:t.center,this.scale=t.scale==null?!0:t.scale,this.betaInitializer=ge(t.betaInitializer||\"zeros\"),this.gammaInitializer=ge(t.gammaInitializer||\"ones\"),this.betaRegularizer=Ce(t.betaRegularizer),this.gammaRegularizer=Ce(t.gammaRegularizer),this.supportsMasking=!0}build(t){t=Gt(t);let e=t.length;typeof this.axis==\"number\"&&(this.axis=[this.axis]);for(let s=0;s=e)throw new Error(`Invalid axis: ${s}`);if(this.axis.length!==Eo(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);let n=this.axis.map(s=>t[s]),o=!0;this.scale?this.gamma=this.addWeight(\"gamma\",n,\"float32\",this.gammaInitializer,this.gammaRegularizer,o):this.gamma=null,this.center?this.beta=this.addWeight(\"beta\",n,\"float32\",this.betaInitializer,this.betaRegularizer,o):this.beta=null,this.built=!0}call(t,e){let n=St(t),o=n.shape,s=o.length;return B(()=>{let{mean:a,variance:u}=dc(n,this.axis,!0),l=To(1,s);for(let h of this.axis)l[h]=o[h];let c=h=>h!=null&&h.shape.length!==s?R(h,l):h,p=this.scale?c(this.gamma.read()):null,m=this.center?c(this.beta.read()):null,f=[],d=[];for(let h=0;h{if(r.rank!==4)throw new z(`temporalPadding expects input tensor to be 4-D, but received a ${r.rank}-D tensor.`);if(t==null&&(t=[[1,1],[1,1]]),t.length!==2||t[0].length!==2||t[1].length!==2)throw new z(\"spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.\");if(e==null&&(e=xn()),e!==\"channelsLast\"&&e!==\"channelsFirst\")throw new z(`Unknown data format: ${e}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let n;return e===\"channelsFirst\"?n=[[0,0],[0,0],t[0],t[1]]:n=[[0,0],t[0],t[1],[0,0]],mn(r,n)})}var Mf=class extends Et{constructor(t){if(t==null&&(t={}),super(t),this.dataFormat=t.dataFormat==null?xn():t.dataFormat,t.padding==null)this.padding=[[1,1],[1,1]];else if(typeof t.padding==\"number\")this.padding=[[t.padding,t.padding],[t.padding,t.padding]];else{if(t.padding=t.padding,t.padding.length!==2)throw new z(`ZeroPadding2D expects padding to be a length-2 array, but received a length-${t.padding.length} array.`);let e,n;if(typeof t.padding[0]==\"number\")e=[t.padding[0],t.padding[0]],n=[t.padding[1],t.padding[1]];else{if(t.padding=t.padding,t.padding[0].length!==2)throw new z(`ZeroPadding2D expects height padding to be a length-2 array, but received a length-${t.padding[0].length} array.`);if(e=t.padding[0],t.padding[1].length!==2)throw new z(`ZeroPadding2D expects width padding to be a length-2 array, but received a length-${t.padding[1].length} array.`);n=t.padding[1]}this.padding=[e,n]}this.inputSpec=[new Ie({ndim:4})]}computeOutputShape(t){t=Gt(t);let e,n;return this.dataFormat===\"channelsFirst\"?(t[2]!=null&&t[2]>=0?e=t[2]+this.padding[0][0]+this.padding[0][1]:e=null,t[3]!=null&&t[3]>=0?n=t[3]+this.padding[1][0]+this.padding[1][1]:n=null,[t[0],t[1],e,n]):(t[1]!=null&&t[1]>=0?e=t[1]+this.padding[0][0]+this.padding[0][1]:e=null,t[2]!=null&&t[2]>=0?n=t[2]+this.padding[1][0]+this.padding[1][1]:n=null,[t[0],e,n,t[3]])}call(t,e){return B(()=>NJ(St(t),this.padding,this.dataFormat))}getConfig(){let t={padding:this.padding,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}};Mf.className=\"ZeroPadding2D\";Q.registerClass(Mf);function Fb(r,t,e,n,o,s){return B(()=>{Me(o),MN(s),hn(n),e==null&&(e=[1,1]),n==null&&(n=\"valid\"),o==null&&(o=xn()),s==null&&(s=\"max\"),r=Mh(r,o);let i,a=n===\"same\"?\"same\":\"valid\";return s===\"max\"?i=ku(r,t,e,a):i=xu(r,t,e,a),o===\"channelsFirst\"&&(i=Vt(i,[0,3,1,2])),i})}function KR(r,t,e,n,o,s){return B(()=>{Me(o),MN(s),hn(n),e==null&&(e=[1,1,1]),n==null&&(n=\"valid\"),o==null&&(o=xn()),s==null&&(s=\"max\"),r=QN(r,o);let i,a=n===\"same\"?\"same\":\"valid\";return s===\"max\"?i=Xx(r,t,e,a):i=wx(r,t,e,a),o===\"channelsFirst\"&&(i=Vt(i,[0,4,1,2,3])),i})}var Eb=class extends Et{constructor(t){if(t.poolSize==null&&(t.poolSize=2),super(t),typeof t.poolSize==\"number\")this.poolSize=[t.poolSize];else if(Array.isArray(t.poolSize)&&t.poolSize.length===1&&typeof t.poolSize[0]==\"number\")this.poolSize=t.poolSize;else throw new z(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(t.poolSize)}`);if(tr(this.poolSize,\"poolSize\"),t.strides==null)this.strides=this.poolSize;else if(typeof t.strides==\"number\")this.strides=[t.strides];else if(Array.isArray(t.strides)&&t.strides.length===1&&typeof t.strides[0]==\"number\")this.strides=t.strides;else throw new z(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(t.strides)}`);tr(this.strides,\"strides\"),this.padding=t.padding==null?\"valid\":t.padding,hn(this.padding),this.inputSpec=[new Ie({ndim:3})]}computeOutputShape(t){t=Gt(t);let e=Tn(t[1],this.poolSize[0],this.padding,this.strides[0]);return[t[0],e,t[2]]}call(t,e){return B(()=>{this.invokeCallHook(t,e),t=Sl(St(t),2);let n=this.poolingFunction(St(t),[this.poolSize[0],1],[this.strides[0],1],this.padding,\"channelsLast\");return Wn(n,[2])})}getConfig(){let t={poolSize:this.poolSize,padding:this.padding,strides:this.strides},e=super.getConfig();return Object.assign(t,e),t}},Pf=class extends Eb{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Me(s),hn(o),Fb(t,e,n,o,s,\"max\")}};Pf.className=\"MaxPooling1D\";Q.registerClass(Pf);var Lf=class extends Eb{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Me(s),hn(o),Fb(t,e,n,o,s,\"avg\")}};Lf.className=\"AveragePooling1D\";Q.registerClass(Lf);var Ab=class extends Et{constructor(t){if(t.poolSize==null&&(t.poolSize=[2,2]),super(t),this.poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize],t.strides==null)this.strides=this.poolSize;else if(Array.isArray(t.strides)){if(t.strides.length!==2)throw new z(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${t.strides.length}.`);this.strides=t.strides}else this.strides=[t.strides,t.strides];tr(this.poolSize,\"poolSize\"),tr(this.strides,\"strides\"),this.padding=t.padding==null?\"valid\":t.padding,this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Me(this.dataFormat),hn(this.padding),this.inputSpec=[new Ie({ndim:4})]}computeOutputShape(t){t=Gt(t);let e=this.dataFormat===\"channelsFirst\"?t[2]:t[1],n=this.dataFormat===\"channelsFirst\"?t[3]:t[2];return e=Tn(e,this.poolSize[0],this.padding,this.strides[0]),n=Tn(n,this.poolSize[1],this.padding,this.strides[1]),this.dataFormat===\"channelsFirst\"?[t[0],t[1],e,n]:[t[0],e,n,t[3]]}call(t,e){return B(()=>(this.invokeCallHook(t,e),this.poolingFunction(St(t),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){let t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}},zf=class extends Ab{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Me(s),hn(o),Fb(t,e,n,o,s,\"max\")}};zf.className=\"MaxPooling2D\";Q.registerClass(zf);var Bf=class extends Ab{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Me(s),hn(o),Fb(t,e,n,o,s,\"avg\")}};Bf.className=\"AveragePooling2D\";Q.registerClass(Bf);var Db=class extends Et{constructor(t){if(t.poolSize==null&&(t.poolSize=[2,2,2]),super(t),this.poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize,t.poolSize],t.strides==null)this.strides=this.poolSize;else if(Array.isArray(t.strides)){if(t.strides.length!==3)throw new z(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${t.strides.length}.`);this.strides=t.strides}else this.strides=[t.strides,t.strides,t.strides];tr(this.poolSize,\"poolSize\"),tr(this.strides,\"strides\"),this.padding=t.padding==null?\"valid\":t.padding,this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Me(this.dataFormat),hn(this.padding),this.inputSpec=[new Ie({ndim:5})]}computeOutputShape(t){t=Gt(t);let e=this.dataFormat===\"channelsFirst\"?t[2]:t[1],n=this.dataFormat===\"channelsFirst\"?t[3]:t[2],o=this.dataFormat===\"channelsFirst\"?t[4]:t[3];return e=Tn(e,this.poolSize[0],this.padding,this.strides[0]),n=Tn(n,this.poolSize[1],this.padding,this.strides[1]),o=Tn(o,this.poolSize[2],this.padding,this.strides[2]),this.dataFormat===\"channelsFirst\"?[t[0],t[1],e,n,o]:[t[0],e,n,o,t[4]]}call(t,e){return B(()=>(this.invokeCallHook(t,e),this.poolingFunction(St(t),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){let t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}},Vf=class extends Db{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Me(s),hn(o),KR(t,e,n,o,s,\"max\")}};Vf.className=\"MaxPooling3D\";Q.registerClass(Vf);var Gf=class extends Db{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Me(s),hn(o),KR(t,e,n,o,s,\"avg\")}};Gf.className=\"AveragePooling3D\";Q.registerClass(Gf);var $b=class extends Et{constructor(t){super(t),this.inputSpec=[new Ie({ndim:3})]}computeOutputShape(t){return[t[0],t[2]]}call(t,e){throw new _t}},Wf=class extends $b{constructor(t){super(t||{})}call(t,e){return B(()=>{let n=St(t);return Ne(n,1)})}};Wf.className=\"GlobalAveragePooling1D\";Q.registerClass(Wf);var Uf=class extends $b{constructor(t){super(t||{})}call(t,e){return B(()=>{let n=St(t);return Sr(n,1)})}};Uf.className=\"GlobalMaxPooling1D\";Q.registerClass(Uf);var Rb=class extends Et{constructor(t){super(t),this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Me(this.dataFormat),this.inputSpec=[new Ie({ndim:4})]}computeOutputShape(t){return t=t,this.dataFormat===\"channelsLast\"?[t[0],t[3]]:[t[0],t[1]]}call(t,e){throw new _t}getConfig(){let t={dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}},Hf=class extends Rb{call(t,e){return B(()=>{let n=St(t);return this.dataFormat===\"channelsLast\"?Ne(n,[1,2]):Ne(n,[2,3])})}};Hf.className=\"GlobalAveragePooling2D\";Q.registerClass(Hf);var qf=class extends Rb{call(t,e){return B(()=>{let n=St(t);return this.dataFormat===\"channelsLast\"?Sr(n,[1,2]):Sr(n,[2,3])})}};qf.className=\"GlobalMaxPooling2D\";Q.registerClass(qf);var Ob=class extends Et{constructor(t){super(t),this.layer=t.layer}build(t){this.built=!0}get trainable(){return this.layer!=null?this.layer.trainable:!1}set trainable(t){this.layer!=null&&(this.layer.trainable=t)}get trainableWeights(){return this.layer.trainableWeights}get nonTrainableWeights(){return this.layer.nonTrainableWeights}get updates(){return this.layer._updates}get losses(){return this.layer.losses}getWeights(){return this.layer.getWeights()}setWeights(t){this.layer.setWeights(t)}getConfig(){let t={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},e=super.getConfig();return Object.assign(t,e),t}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),this.layer!=null&&this.layer.setFastWeightInitDuringBuild(t)}static fromConfig(t,e,n={}){let o=e.layer,s=wn(o,n);delete e.layer;let i={layer:s};return Object.assign(i,e),new t(i)}},Kf=class extends Ob{constructor(t){super(t),this.supportsMasking=!0}build(t){if(t=Gt(t),t.length<3)throw new z(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(t)}`);this.inputSpec=[{shape:t}];let e=[t[0]].concat(t.slice(2));this.layer.built||(this.layer.build(e),this.layer.built=!0),super.build(t)}computeOutputShape(t){t=Gt(t);let e=[t[0]].concat(t.slice(2)),n=this.layer.computeOutputShape(e),o=t[1];return[n[0],o].concat(n.slice(1))}call(t,e){return B(()=>(t=St(t),ek((i,a)=>[St(this.layer.call(i,e)),[]],t,[],!1,null,null,!1,!0)[1]))}};Kf.className=\"TimeDistributed\";Q.registerClass(Kf);function kJ(r){da(Q$,\"BidirectionalMergeMode\",r)}var TJ=\"concat\",jf=class extends Ob{constructor(t){super(t);let e=t.layer.getConfig(),n={};n.className=t.layer.getClassName(),n.config=e,this.forwardLayer=wn(n),e.goBackwards=e.goBackwards!==!0;let o={};if(o.className=t.layer.getClassName(),o.config=e,this.backwardLayer=wn(o),this.forwardLayer.name=\"forward_\"+this.forwardLayer.name,this.backwardLayer.name=\"backward_\"+this.backwardLayer.name,this.mergeMode=t.mergeMode===void 0?TJ:t.mergeMode,kJ(this.mergeMode),t.weights)throw new _t(\"weights support is not implemented for Bidirectional layer yet.\");this._stateful=t.layer.stateful,this.returnSequences=t.layer.returnSequences,this.returnState=t.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=t.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(t){this._trainable=t,this.forwardLayer!=null&&(this.forwardLayer.trainable=t),this.backwardLayer!=null&&(this.backwardLayer.trainable=t)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(t){let e=t.length,n=Math.floor(e/2);this.forwardLayer.setWeights(t.slice(0,n)),this.backwardLayer.setWeights(t.slice(n))}computeOutputShape(t){let e=this.forwardLayer.computeOutputShape(t);Array.isArray(e)&&Array.isArray(e[0])||(e=[e]),e=e;let n,o,s;return this.returnState&&(s=e.slice(1)),n=e[0],n=n,this.mergeMode===\"concat\"?(n[n.length-1]*=2,o=[n]):this.mergeMode==null?o=[n,n.slice()]:o=[n],this.returnState?this.mergeMode==null?o.concat(s).concat(s.slice()):[n].concat(s).concat(s.slice()):kr(o)}apply(t,e){let n=e==null?null:e.initialState,o=e==null?null:e.constants;e==null&&(e={});let s=tk(t,n,o,this.numConstants);if(t=s.inputs,n=s.initialState,o=s.constants,Array.isArray(t)&&(n=t.slice(1),t=t[0]),(n==null||n.length===0)&&o==null)return super.apply(t,e);let i=[],a=[];if(n!=null){let l=n.length;if(l%2>0)throw new z(\"When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.\");e.initialState=n,i.push(...n);let c=n.map(p=>new Ie({shape:p.shape}));this.forwardLayer.stateSpec=c.slice(0,l/2),this.backwardLayer.stateSpec=c.slice(l/2),a.push(...c)}if(o!=null)throw new _t(\"Support for constants in Bidirectional layers is not implemented yet.\");let u=i[0]instanceof en;for(let l of i)if(l instanceof en!==u)throw new z(\"The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors\");if(u){let l=[t].concat(i),c=this.inputSpec.concat(a),p=this.inputSpec;this.inputSpec=c;let m=super.apply(l,e);return this.inputSpec=p,m}else return super.apply(t,e)}call(t,e){return B(()=>{let n=e.initialState,o,s;if(n==null)o=this.forwardLayer.call(t,e),s=this.backwardLayer.call(t,e);else{let u=n.slice(0,n.length/2),l=n.slice(n.length/2);o=this.forwardLayer.call(t,Object.assign(e,{initialState:u})),s=this.backwardLayer.call(t,Object.assign(e,{initialState:l}))}let i;this.returnState&&(Array.isArray(o)&&(i=o.slice(1).concat(s.slice(1))),o=o[0],s=s[0]),this.returnSequences&&(s=dr(s,1));let a;return this.mergeMode===\"concat\"?a=Tm([o,s]):this.mergeMode===\"sum\"?a=X(o,s):this.mergeMode===\"ave\"?a=$(.5,X(o,s)):this.mergeMode===\"mul\"?a=$(o,s):this.mergeMode==null&&(a=[o,s]),this.returnState?this.mergeMode==null?a.concat(i):[a].concat(i):a})}resetStates(t){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(t){mi(this.forwardLayer.name,()=>{this.forwardLayer.build(t)}),mi(this.backwardLayer.name,()=>{this.backwardLayer.build(t)}),this.built=!0}computeMask(t,e){Array.isArray(e)&&(e=e[0]);let n;if(this.returnSequences?this.mergeMode==null?n=[e,e]:n=e:this.mergeMode==null?n=[null,null]:n=null,this.returnState){let s=this.forwardLayer.states.map(i=>null);return Array.isArray(n)?n.concat(s).concat(s):[n].concat(s).concat(s)}else return n}get trainableWeights(){return this.forwardLayer.trainableWeights.concat(this.backwardLayer.trainableWeights)}get nonTrainableWeights(){return this.forwardLayer.nonTrainableWeights.concat(this.backwardLayer.nonTrainableWeights)}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),this.forwardLayer!=null&&this.forwardLayer.setFastWeightInitDuringBuild(t),this.backwardLayer!=null&&this.backwardLayer.setFastWeightInitDuringBuild(t)}getConfig(){let t={mergeMode:this.mergeMode},e=super.getConfig();return Object.assign(t,e),t}static fromConfig(t,e){let n=wn(e.layer);if(delete e.layer,e.numConstants!=null)throw new _t(\"Deserialization of a Bidirectional layer with numConstants present is not supported yet.\");let o=e;return o.layer=n,new t(o)}};jf.className=\"Bidirectional\";Q.registerClass(jf);var Xf=class extends Et{constructor(t){super(t),this.scale=t.scale,t.offset?this.offset=t.offset:this.offset=0}getConfig(){let t={scale:this.scale,offset:this.offset},e=super.getConfig();return Object.assign(t,e),t}call(t,e){return B(()=>(t=St(t),t.dtype!==\"float32\"&&(t=tn(t,\"float32\")),X($(t,this.scale),this.offset)))}};Xf.className=\"Rescaling\";Q.registerClass(Xf);var{resizeBilinear:_J,cropAndResize:EJ}=fn,Yf=class extends Et{constructor(t){super(t),this.height=t.height,this.width=t.width}centerCrop(t,e,n,o,s,i,a,u){return B(()=>{let l,c=!1,p=e/i,m=n/a,f=(o+e)/i,d=(s+n)/a,h=[p,m,f,d],g=[];t.rank===3?(c=!0,l=Fe([t])):l=t;for(let N=0;N{let s=_J(t,[e,n]);return tn(s,o)})}call(t,e){return B(()=>{let n=St(t),o=n.dtype,s=n.shape,i=s[s.length-3],a=s[s.length-2],u=0;i!==this.height&&(u=Math.floor((i-this.height)/2));let l=0;return a!==this.width&&(l=Math.floor((a-this.width)/2),l===0&&(l=1)),u>=0&&l>=0?this.centerCrop(n,u,l,this.height,this.width,i,a,o):this.upsize(t,this.height,this.width,o)})}getConfig(){let t={height:this.height,width:this.width},e=super.getConfig();return Object.assign(t,e),t}computeOutputShape(t){t=Gt(t);let e=t.length-3,n=t.length-2;return t[e]=this.height,t[n]=this.width,t}};Yf.className=\"CenterCrop\";Q.registerClass(Yf);function jR(r,t,e,n){let o=St(r);if(o.dtype!==\"int32\"&&(o=tn(o,\"int32\")),t===\"int\")return o;let s=o.shape;if(o.rank===0&&(o=je(o,-1)),t===\"oneHot\"&&o.shape[o.shape.length-1]!==1&&(o=je(o,-1)),o.rank>2)throw new z(`When outputMode is not int, maximum output rank is 2 Received outputMode ${t} and input shape ${s} which would result in output rank ${o.rank}.`);let i=[\"multiHot\",\"oneHot\"].includes(t),a=o,u;if(typeof n!=\"undefined\"&&t===\"count\"?u=ph(a,n,e,i):u=ph(a,[],e,i),t!==\"tfIdf\")return u;if(n)return $(u,n);throw new z(\"When outputMode is 'tfIdf', weights must be provided.\")}var Zf=class extends Et{constructor(t){super(t),this.numTokens=t.numTokens,t.outputMode?this.outputMode=t.outputMode:this.outputMode=\"multiHot\"}getConfig(){let t={numTokens:this.numTokens,outputMode:this.outputMode},e=super.getConfig();return Object.assign(t,e),t}computeOutputShape(t){return t=Gt(t),t==null?[this.numTokens]:this.outputMode===\"oneHot\"&&t[t.length-1]!==1?(t.push(this.numTokens),t):(t[t.length-1]=this.numTokens,t)}call(t,e){return B(()=>{t=St(t),t.dtype!==\"int32\"&&(t=tn(t,\"int32\"));let n;if(typeof e.countWeights!=\"undefined\"){if(this.outputMode!==\"count\")throw new z(`countWeights is not used when outputMode !== count.\n Received countWeights=${e.countWeights}`);n=St(e.countWeights)}let o=Sr(t),s=gl(t),i=Re(this.numTokens,o).bufferSync().get(0),a=cn(s,0).bufferSync().get(0);if(!(i&&a))throw new z(`Input values must be between 0 < values <= numTokens with numTokens=${this.numTokens}`);return jR(t,this.outputMode,this.numTokens,n)})}};Zf.className=\"CategoryEncoding\";Q.registerClass(Zf);var DJ=[\"bilinear\",\"nearest\"],XR=new Set(DJ),Jf=class extends Et{constructor(t){if(super(t),this.height=t.height,this.width=t.width,t.interpolation)if(XR.has(t.interpolation))this.interpolation=t.interpolation;else throw new z(`Invalid interpolation parameter: ${t.interpolation} is not implemented`);else this.interpolation=\"bilinear\";this.cropToAspectRatio=!!t.cropToAspectRatio}computeOutputShape(t){t=Gt(t);let e=t[2];return[this.height,this.width,e]}getConfig(){let t={height:this.height,width:this.width,interpolation:this.interpolation,cropToAspectRatio:this.cropToAspectRatio},e=super.getConfig();return Object.assign(t,e),t}call(t,e){return B(()=>{let n=[this.height,this.width];if(this.interpolation===\"bilinear\")return fn.resizeBilinear(t,n,!this.cropToAspectRatio);if(this.interpolation===\"nearest\")return fn.resizeNearestNeighbor(t,n,!this.cropToAspectRatio);throw new Error(`Interpolation is ${this.interpolation} but only ${[...XR]} are supported`)})}};Jf.className=\"Resizing\";Q.registerClass(Jf);var zh=class{constructor(t){this.seed=t}next(){if(this.seed!==void 0)return this.seed++}};zh.className=\"RandomSeed\";var Bh=class extends Et{constructor(t){super(t),this.randomGenerator=new zh(t.seed)}getConfig(){let t={seed:this.randomGenerator.seed},e=super.getConfig();return Object.assign(t,e),t}};Bh.className=\"BaseRandomLayer\";var $J=[\"bilinear\",\"nearest\"],YR=new Set($J),Qf=class extends Bh{constructor(t){super(t);let{factor:e,interpolation:n=\"bilinear\"}=t;if(this.factor=e,Array.isArray(this.factor)&&this.factor.length===2)this.widthLower=this.factor[0],this.widthUpper=this.factor[1];else if(!Array.isArray(this.factor)&&this.factor>0)this.widthLower=-this.factor,this.widthUpper=this.factor;else throw new z(`Invalid factor: ${this.factor}. Must be positive number or tuple of 2 numbers`);if(this.widthLower<-1||this.widthUpper<-1)throw new z(`factor must have values larger than -1. Got: ${this.factor}`);if(this.widthUpper{let n=St(t);this.imgHeight=n.shape[n.shape.length-3];let o=n.shape[n.shape.length-2];this.widthFactor=Gn([1],1+this.widthLower,1+this.widthUpper,\"float32\",this.randomGenerator.next());let s=this.widthFactor.dataSync()[0]*o;s=Math.round(s);let i=[this.imgHeight,s];switch(this.interpolation){case\"bilinear\":return fn.resizeBilinear(t,i);case\"nearest\":return fn.resizeNearestNeighbor(t,i);default:throw new Error(`Interpolation is ${this.interpolation}\n but only ${[...YR]} are supported`)}})}};Qf.className=\"RandomWidth\";Q.registerClass(Qf);function RJ(r){return new di(r)}function FJ(r){return new Qm(r)}function OJ(r){return new Ym(r)}function MJ(r){return new Zm(r)}function PJ(r){return new Jm(r)}function LJ(r){return new ef(r)}function zJ(r){return new tf(r)}function BJ(r){return new af(r)}function VJ(r){return new Uc(r)}function GJ(r){return new nf(r)}function WJ(r){return new Hc(r)}function UJ(r){return new of(r)}function HJ(r){return new sf(r)}function qJ(r){return new lf(r)}function KJ(r){return new uf(r)}function jJ(r){return new cf(r)}function XJ(r){return new yf(r)}function YJ(r){return new gf(r)}function ZJ(r){return new Yc(r)}function JJ(r){return new hf(r)}function QJ(r){return new xf(r)}function t9(r){return new bf(r)}function e9(r){return new wf(r)}function r9(r){return new If(r)}function n9(r){return new vf(r)}function o9(r){return new Sf(r)}function s9(r){return new kf(r)}function i9(r){return new Ef(r)}function a9(r){return new Tf(r)}function l9(r){return new _f(r)}function u9(r){return new Nf(r)}function c9(r){return new Af(r)}function p9(r){return new Ff(r)}function m9(r){return new Of(r)}function f9(r){return new Mf(r)}function rk(r){return new Lf(r)}function d9(r){return rk(r)}function h9(r){return rk(r)}function nk(r){return new Bf(r)}function g9(r){return nk(r)}function x9(r){return nk(r)}function ok(r){return new Gf(r)}function y9(r){return ok(r)}function b9(r){return ok(r)}function w9(r){return new Wf(r)}function I9(r){return new Hf(r)}function ZR(r){return new Uf(r)}function JR(r){return new qf(r)}function QR(r){return new Pf(r)}function tF(r){return new zf(r)}function C9(r){return new Vf(r)}function v9(r){return new mf(r)}function S9(r){return new Kc(r)}function N9(r){return new ff(r)}function k9(r){return new _l(r)}function T9(r){return new pf(r)}function _9(r){return new qc(r)}function E9(r){return new df(r)}function A9(r){return new Xc(r)}function D9(r){return new po(r)}function $9(r){return new jc(r)}function R9(r){return new jf(r)}function F9(r){return new Kf(r)}var O9=ZR,M9=JR,P9=QR,L9=tF;function z9(r){return new Df(r)}function B9(r){return new $f(r)}function V9(r){return new Rf(r)}function G9(r){return new Cf(r)}function W9(r){return new Xf(r)}function U9(r){return new Yf(r)}function H9(r){return new Jf(r)}function q9(r){return new Zf(r)}function K9(r){return new Qf(r)}var rF={};Kt(rF,{MAPE:()=>oQ,MSE:()=>aQ,binaryAccuracy:()=>j9,binaryCrossentropy:()=>X9,categoricalAccuracy:()=>Z9,categoricalCrossentropy:()=>J9,cosineProximity:()=>eQ,mape:()=>sQ,meanAbsoluteError:()=>rQ,meanAbsolutePercentageError:()=>nQ,meanSquaredError:()=>iQ,mse:()=>lQ,precision:()=>Q9,recall:()=>tQ,sparseCategoricalAccuracy:()=>Y9});function j9(r,t){return Dh(r,t)}function X9(r,t){return rb(r,t)}function Y9(r,t){return nb(r,t)}function Z9(r,t){return $h(r,t)}function J9(r,t){return Rh(r,t)}function Q9(r,t){return UN(r,t)}function tQ(r,t){return NR(r,t)}function eQ(r,t){return Ah(r,t)}function rQ(r,t){return Um(r,t)}function nQ(r,t){return Pu(r,t)}function oQ(r,t){return Pu(r,t)}function sQ(r,t){return Pu(r,t)}function iQ(r,t){return xa(r,t)}function aQ(r,t){return xa(r,t)}function lQ(r,t){return xa(r,t)}var nF={};Kt(nF,{modelFromJSON:()=>BR});var oF={};Kt(oF,{l1:()=>cQ,l1l2:()=>uQ,l2:()=>pQ});function uQ(r){return new Lu(r)}function cQ(r){return UR(r)}function pQ(r){return HR(r)}var Pb=class extends kl{constructor(){super(...arguments),this.model=null}setModel(t){if(!(t instanceof Un))throw new Error(\"model must be a LayersModel, not some other Container\");this.model=t}};function Mb(r,t){return rt}var Lb=class extends Pb{constructor(t){if(super(),t==null&&(t={}),t.restoreBestWeights)throw new _t(\"restoreBestWeights = True is not implemented in EarlyStopping yet.\");this.monitor=t.monitor||\"val_loss\",this.minDelta=Math.abs(t.minDelta||0),this.patience=t.patience||0,this.verbose=t.verbose||0,this.mode=t.mode||\"auto\",this.baseline=t.baseline,[\"auto\",\"min\",\"max\"].indexOf(this.mode)===-1&&(console.warn(`EarlyStopping mode '${this.mode}' is invalid. Falling back to mode 'auto'.`),this.mode=\"auto\"),this.mode===\"min\"?this.monitorFunc=Mb:this.mode===\"max\"?this.monitorFunc=sF:this.monitor.indexOf(\"acc\")!==-1?this.monitorFunc=sF:this.monitorFunc=Mb,this.monitorFunc===Mb&&(this.minDelta*=-1)}async onTrainBegin(t){this.wait=0,this.stoppedEpoch=0,this.baseline!=null?this.best=this.baseline:this.best=this.monitorFunc===Mb?1/0:-1/0}async onEpochEnd(t,e){await ga(e);let n=this.getMonitorValue(e);n!=null&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=t,this.model.stopTraining=!0)))}async onTrainEnd(t){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(t){t==null&&(t={});let e=t[this.monitor];return e==null&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(t)}`),e}};function mQ(r){return new Lb(r)}var fQ={earlyStopping:mQ};var dQ=L();dQ.registerFlag(\"KEEP_INTERMEDIATE_TENSORS\",()=>!1,r=>{r&&console.warn(\"Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.\")});var _n;(function(r){r[r.DT_INVALID=0]=\"DT_INVALID\",r[r.DT_FLOAT=1]=\"DT_FLOAT\",r[r.DT_DOUBLE=2]=\"DT_DOUBLE\",r[r.DT_INT32=3]=\"DT_INT32\",r[r.DT_UINT8=4]=\"DT_UINT8\",r[r.DT_INT16=5]=\"DT_INT16\",r[r.DT_INT8=6]=\"DT_INT8\",r[r.DT_STRING=7]=\"DT_STRING\",r[r.DT_COMPLEX64=8]=\"DT_COMPLEX64\",r[r.DT_INT64=9]=\"DT_INT64\",r[r.DT_BOOL=10]=\"DT_BOOL\",r[r.DT_QINT8=11]=\"DT_QINT8\",r[r.DT_QUINT8=12]=\"DT_QUINT8\",r[r.DT_QINT32=13]=\"DT_QINT32\",r[r.DT_BFLOAT16=14]=\"DT_BFLOAT16\",r[r.DT_QINT16=15]=\"DT_QINT16\",r[r.DT_QUINT16=16]=\"DT_QUINT16\",r[r.DT_UINT16=17]=\"DT_UINT16\",r[r.DT_COMPLEX128=18]=\"DT_COMPLEX128\",r[r.DT_HALF=19]=\"DT_HALF\",r[r.DT_RESOURCE=20]=\"DT_RESOURCE\",r[r.DT_VARIANT=21]=\"DT_VARIANT\",r[r.DT_UINT32=22]=\"DT_UINT32\",r[r.DT_UINT64=23]=\"DT_UINT64\",r[r.DT_FLOAT_REF=101]=\"DT_FLOAT_REF\",r[r.DT_DOUBLE_REF=102]=\"DT_DOUBLE_REF\",r[r.DT_INT32_REF=103]=\"DT_INT32_REF\",r[r.DT_UINT8_REF=104]=\"DT_UINT8_REF\",r[r.DT_INT16_REF=105]=\"DT_INT16_REF\",r[r.DT_INT8_REF=106]=\"DT_INT8_REF\",r[r.DT_STRING_REF=107]=\"DT_STRING_REF\",r[r.DT_COMPLEX64_REF=108]=\"DT_COMPLEX64_REF\",r[r.DT_INT64_REF=109]=\"DT_INT64_REF\",r[r.DT_BOOL_REF=110]=\"DT_BOOL_REF\",r[r.DT_QINT8_REF=111]=\"DT_QINT8_REF\",r[r.DT_QUINT8_REF=112]=\"DT_QUINT8_REF\",r[r.DT_QINT32_REF=113]=\"DT_QINT32_REF\",r[r.DT_BFLOAT16_REF=114]=\"DT_BFLOAT16_REF\",r[r.DT_QINT16_REF=115]=\"DT_QINT16_REF\",r[r.DT_QUINT16_REF=116]=\"DT_QUINT16_REF\",r[r.DT_UINT16_REF=117]=\"DT_UINT16_REF\",r[r.DT_COMPLEX128_REF=118]=\"DT_COMPLEX128_REF\",r[r.DT_HALF_REF=119]=\"DT_HALF_REF\",r[r.DT_RESOURCE_REF=120]=\"DT_RESOURCE_REF\",r[r.DT_VARIANT_REF=121]=\"DT_VARIANT_REF\",r[r.DT_UINT32_REF=122]=\"DT_UINT32_REF\",r[r.DT_UINT64_REF=123]=\"DT_UINT64_REF\"})(_n||(_n={}));var iF;(function(r){let t;(function(e){e[e.LEGACY=0]=\"LEGACY\",e[e.V1=1]=\"V1\",e[e.V2=2]=\"V2\"})(t=r.CheckpointFormatVersion||(r.CheckpointFormatVersion={}))})(iF||(iF={}));var sk={};function gQ(r,t){let e={tfOpName:r,category:\"custom\",inputs:[],attrs:[],customExecutor:t};sk[r]=e}function zb(r){return sk[r]}function xQ(r){delete sk[r]}function v(r,t,e,n,o){let s=t.inputParams[r];if(s&&s.inputIndexStart!==void 0){let a=s.inputIndexStart,u=s.inputIndexEnd===0?void 0:s.inputIndexEnd===void 0?a+1:s.inputIndexEnd,l=a<0?t.inputNames.length+a:a;if(s.type===\"tensor\")return pr(t.inputNames[l],e,n,o);if(s.type===\"tensors\"){let m=t.inputs.slice(a,u);return t.inputNames.slice(a,u).filter((d,h)=>{var g;return((g=m[h])===null||g===void 0?void 0:g.op)!==\"NoOp\"}).map(d=>pr(d,e,n,o))}let c=pr(t.inputNames[l],e,n,o),p=c.dataSync();return s.type===\"number\"?p[0]:y.toNestedArray(c.shape,p)}let i=t.attrParams[r];return i&&i.value}function pr(r,t,e,n){let[o,s]=In(r,e);if(n!=null){let a=n.getHashTableHandleByName(o);if(a!=null)return a}let i=e.currentContextIds.find(a=>!!t[Bb(o,a)]);return i!==void 0?t[Bb(o,i)][s]:void 0}function ik(r,t,e){return t[Bb(r,e.currentContextId)]}function yi(r,t){let[e,n,o]=In(r,t);return[Bb(e,t&&t.currentContextId),n,o]}function Bb(r,t){return t?`${r}-${t}`:r}function In(r,t){if(r===\"\")return[\"\",0,void 0];let e=t!=null&&t.parseNodeNameCache!=null;if(e){let s=t.parseNodeNameCache.get(r);if(s!=null)return s}let n=r.split(\":\"),o;if(n.length===1)o=[r,0,void 0];else{let s=n[0],i=n.length===3?n[1]:void 0,a=Number(n[n.length-1]);o=[s,a,i]}return e&&t.parseNodeNameCache.set(r,o),o}function Vh(r,t,e){let n=v(\"pad\",r,t,e);if(n===\"explicit\"){n=v(\"explicitPaddings\",r,t,e);let o=[[0,0],[0,0],[0,0],[0,0]];for(let s=0;s<4;s++)o[s][0]=n[s*2],o[s][1]=n[s*2+1];return o}return n}function bi(r){return r.kept?r:ln(r)}var ak={};Kt(ak,{json:()=>yQ});var yQ=[{tfOpName:\"Add\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"AddV2\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"AddN\",category:\"arithmetic\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}]},{tfOpName:\"BiasAdd\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"Sub\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"RealDiv\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Div\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"DivNoNan\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"FloorDiv\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Mul\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Maximum\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Minimum\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Pow\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SquaredDifference\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Mod\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"FloorMod\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var lk={};Kt(lk,{json:()=>bQ});var bQ=[{tfOpName:\"Abs\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Acos\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Asin\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atan2\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"y\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Ceil\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ClipByValue\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"clipValueMin\",type:\"number\"},{start:2,name:\"clipValueMax\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Complex\",category:\"basic_math\",inputs:[{start:0,name:\"real\",type:\"tensor\"},{start:1,name:\"imag\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ComplexAbs\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Cos\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Cosh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Elu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Exp\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Floor\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Log\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Imag\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"outputType\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Neg\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Real\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"outputType\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Prelu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"alpha\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Relu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Relu6\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Selu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sigmoid\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sin\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sinh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sqrt\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Rsqrt\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Square\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Tan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Tanh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sign\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Round\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Expm1\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Log1p\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Reciprocal\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Softplus\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Asinh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Acosh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atanh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Erf\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LeakyRelu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"alpha\",name:\"alpha\",type:\"number\",defaultValue:.2},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"IsNan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"IsFinite\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"IsInf\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var uk={};Kt(uk,{json:()=>wQ});var wQ=[{tfOpName:\"EmptyTensorList\",category:\"control\",inputs:[{start:0,name:\"elementShape\",type:\"shape\"},{start:1,name:\"maxNumElements\",type:\"number\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"LoopCond\",category:\"control\",inputs:[{start:0,name:\"pred\",type:\"tensor\"}]},{tfOpName:\"Switch\",category:\"control\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"pred\",type:\"tensor\"}]},{tfOpName:\"Merge\",category:\"control\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}]},{tfOpName:\"Enter\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"frame_name\",name:\"frameName\",type:\"string\"},{tfName:\"is_constant\",name:\"isConstant\",type:\"bool\"}]},{tfOpName:\"Exit\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"NextIteration\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayV3\",category:\"control\",inputs:[{start:0,name:\"size\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"},{tfName:\"dynamic_size\",name:\"dynamicSize\",type:\"bool\"},{tfName:\"clear_after_read\",name:\"clearAfterRead\",type:\"bool\"},{tfName:\"identical_element_shapes\",name:\"identicalElementShapes\",type:\"bool\"},{tfName:\"tensor_array_name\",name:\"name\",type:\"string\"}]},{tfOpName:\"TensorArrayWriteV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"tensor\",type:\"tensor\"},{start:3,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayReadV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayGatherV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"}]},{tfOpName:\"TensorArrayScatterV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"tensor\",type:\"tensor\"},{start:3,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TensorArrayConcatV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"element_shape_except0\",name:\"elementShapeExcept0\",type:\"shape\",notSupported:!0}]},{tfOpName:\"TensorArraySplitV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"tensor\",type:\"tensor\"},{start:2,name:\"lengths\",type:\"number[]\"},{start:3,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TensorArraySizeV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"flowIn\",type:\"number\"}]},{tfOpName:\"TensorArrayCloseV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"}]},{tfOpName:\"StatelessIf\",category:\"control\",inputs:[{start:0,name:\"cond\",type:\"tensor\"},{start:1,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"then_branch\",name:\"thenBranch\",type:\"func\"},{tfName:\"else_branch\",name:\"elseBranch\",type:\"func\"}]},{tfOpName:\"If\",category:\"control\",inputs:[{start:0,name:\"cond\",type:\"tensor\"},{start:1,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"then_branch\",name:\"thenBranch\",type:\"func\"},{tfName:\"else_branch\",name:\"elseBranch\",type:\"func\"}]},{tfOpName:\"StatelessWhile\",category:\"control\",inputs:[{start:0,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"cond\",name:\"cond\",type:\"func\"},{tfName:\"body\",name:\"body\",type:\"func\"}]},{tfOpName:\"While\",category:\"control\",inputs:[{start:0,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"cond\",name:\"cond\",type:\"func\"},{tfName:\"body\",name:\"body\",type:\"func\"}]},{tfOpName:\"TensorListScatter\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListScatterV2\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"elementShape\",type:\"shape\"},{start:3,name:\"numElements\",type:\"number\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListGather\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListGetItem\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListSetItem\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListReserve\",category:\"control\",inputs:[{start:0,name:\"elementShape\",type:\"shape\"},{start:1,name:\"numElements\",type:\"number\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListFromTensor\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListStack\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"},{tfName:\"num_elements\",name:\"numElements\",type:\"dtype\"}]},{tfOpName:\"TensorListSplit\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"},{start:2,name:\"lengths\",type:\"number[]\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListConcat\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}],attrs:[{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"},{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListConcatV2\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}],attrs:[{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"},{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListPopBack\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListPushBack\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListLength\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}]},{tfOpName:\"TensorListResize\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"}]}];var ck={};Kt(ck,{json:()=>IQ});var IQ=[{tfOpName:\"AvgPool\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPool\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[],notSupported:!0},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPoolWithArgmax\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"include_batch_in_index\",name:\"includeBatchInIndex\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"AvgPool3D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPool3D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Conv1D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"stride\",name:\"stride\",type:\"number\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NWC\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"dilation\",name:\"dilation\",type:\"number\",defaultValue:1}]},{tfOpName:\"Conv2D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"useCudnnOnGpu\",name:\"useCudnnOnGpu\",type:\"bool\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"_FusedConv2D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"},{start:2,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"num_args\",name:\"numArgs\",type:\"number\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"use_cudnn_on_gpu\",name:\"useCudnnOnGpu\",type:\"bool\",defaultValue:!0},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\",defaultValue:[1,1,1,1]},{tfName:\"fused_ops\",name:\"fusedOps\",type:\"string[]\",defaultValue:[]},{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:1e-4},{tfName:\"leakyrelu_alpha\",name:\"leakyreluAlpha\",type:\"number\",defaultValue:.2}]},{tfOpName:\"Conv2DBackpropInput\",category:\"convolution\",inputs:[{start:2,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"},{start:0,name:\"outputShape\",type:\"number[]\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\",notSupported:!0}]},{tfOpName:\"DepthwiseConv2d\",category:\"convolution\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"DepthwiseConv2dNative\",category:\"convolution\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"FusedDepthwiseConv2dNative\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"},{start:2,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"num_args\",name:\"numArgs\",type:\"number\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\",defaultValue:[1,1,1,1]},{tfName:\"fused_ops\",name:\"fusedOps\",type:\"string[]\",defaultValue:[]},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]}]},{tfOpName:\"Conv3D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"Dilation2D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"rates\",name:\"dilations\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"}]}];var pk={};Kt(pk,{json:()=>CQ});var CQ=[{tfOpName:\"Fill\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"},{start:1,name:\"value\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"LinSpace\",category:\"creation\",inputs:[{start:0,name:\"start\",type:\"number\"},{start:1,name:\"stop\",type:\"number\"},{start:2,name:\"num\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"OneHot\",category:\"creation\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"depth\",type:\"number\"},{start:2,name:\"onValue\",type:\"number\",defaultValue:1},{start:3,name:\"offValue\",type:\"number\",defaultValue:0}],attrs:[{tfName:\"axis\",name:\"axis\",type:\"number\",notSupported:!0},{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Ones\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"OnesLike\",category:\"creation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"RandomStandardNormal\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"seed\",name:\"seed\",type:\"number\",defaultValue:0},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"T\",name:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"RandomUniform\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"minval\",name:\"minval\",type:\"number\",defaultValue:0},{tfName:\"maxval\",name:\"maxval\",type:\"number\",defaultValue:1},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"seed\",name:\"seed\",type:\"number\",defaultValue:0},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfName:\"T\",name:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"RandomUniformInt\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"minval\",name:\"minval\",type:\"number\"},{tfName:\"maxval\",name:\"maxval\",type:\"number\"},{tfName:\"seed\",name:\"seed\",type:\"number\",defaultValue:0},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0}]},{tfOpName:\"Range\",category:\"creation\",inputs:[{start:0,name:\"start\",type:\"number\"},{start:1,name:\"stop\",type:\"number\"},{start:2,name:\"step\",type:\"number\",defaultValue:0}],attrs:[{tfName:\"Tidx\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TruncatedNormal\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"means\",name:\"mean\",type:\"number\",defaultValue:0},{tfName:\"stddev\",name:\"stdDev\",type:\"number\",defaultValue:1},{tfName:\"seed\",name:\"seed\",type:\"number\"},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"T\",name:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"Zeros\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"ZerosLike\",category:\"creation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Multinomial\",category:\"creation\",inputs:[{start:0,name:\"logits\",type:\"tensor\"},{start:1,name:\"numSamples\",type:\"number\"}],attrs:[{tfName:\"seed\",name:\"seed\",type:\"number\"},{tfName:\"seed2\",name:\"seed2\",type:\"number\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\"},{tfName:\"output_dtype\",name:\"output_dtype\",type:\"dtype\"}]}];var mk={};Kt(mk,{json:()=>vQ});var vQ=[{tfOpName:\"NonMaxSuppressionV2\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"}]},{tfOpName:\"NonMaxSuppressionV3\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"},{start:4,name:\"scoreThreshold\",type:\"number\"}]},{tfOpName:\"NonMaxSuppressionV4\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"},{start:4,name:\"scoreThreshold\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"T_threshold\",name:\"threshold\",type:\"dtype\",notSupported:!0},{tfName:\"pad_to_max_output_size\",name:\"padToMaxOutputSize\",type:\"bool\"}]},{tfOpName:\"NonMaxSuppressionV5\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"},{start:4,name:\"scoreThreshold\",type:\"number\"},{start:5,name:\"softNmsSigma\",type:\"number\"}]},{tfOpName:\"Where\",category:\"dynamic\",inputs:[{start:0,name:\"condition\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ListDiff\",category:\"dynamic\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"y\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var fk={};Kt(fk,{json:()=>SQ});var SQ=[{tfOpName:\"LowerBound\",category:\"evaluation\",inputs:[{start:0,name:\"sortedSequence\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"}]},{tfOpName:\"TopKV2\",category:\"evaluation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"k\",type:\"number\"}],attrs:[{tfName:\"sorted\",name:\"sorted\",type:\"bool\"}]},{tfOpName:\"UpperBound\",category:\"evaluation\",inputs:[{start:0,name:\"sortedSequence\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"}]},{tfOpName:\"Unique\",category:\"evaluation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"UniqueV2\",category:\"evaluation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]}];var dk={};Kt(dk,{json:()=>NQ});var NQ=[{tfOpName:\"PlaceholderWithDefault\",category:\"graph\",inputs:[{start:0,name:\"default\",type:\"tensor\"}],attrs:[{tfName:\"shape\",name:\"shape\",type:\"shape\"},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Placeholder\",category:\"graph\",attrs:[{tfName:\"shape\",name:\"shape\",type:\"shape\"},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Const\",category:\"graph\"},{tfOpName:\"Identity\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"IdentityN\",category:\"graph\",inputs:[{start:0,end:0,name:\"x\",type:\"tensors\"}]},{tfOpName:\"Snapshot\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"Rank\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"Size\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"Shape\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"ShapeN\",category:\"graph\",inputs:[{start:0,end:0,name:\"x\",type:\"tensors\"}]},{tfOpName:\"Print\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"data\",type:\"tensors\"}],attrs:[{tfName:\"message\",name:\"message\",type:\"string\"},{tfName:\"first_n\",name:\"firstN\",type:\"number\",notSupported:!0},{tfName:\"summarize\",name:\"summarize\",type:\"number\",defaultValue:3}]},{tfOpName:\"NoOp\",category:\"graph\",inputs:[]},{tfOpName:\"StopGradient\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"FakeQuantWithMinMaxVars\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"min\",name:\"min\",type:\"number\"},{tfName:\"max\",name:\"max\",type:\"number\"}]}];var hk={};Kt(hk,{json:()=>kQ});var kQ=[{tfOpName:\"HashTable\",category:\"hash_table\",inputs:[],attrs:[{tfName:\"shared_name\",name:\"sharedName\",type:\"string\"},{tfName:\"use_node_name_sharing\",name:\"useNodeNameSharing\",type:\"bool\"},{tfName:\"key_dtype\",name:\"keyDType\",type:\"dtype\"},{tfName:\"value_dtype\",name:\"valueDType\",type:\"dtype\"}]},{tfOpName:\"HashTableV2\",category:\"hash_table\",inputs:[],attrs:[{tfName:\"shared_name\",name:\"sharedName\",type:\"string\"},{tfName:\"use_node_name_sharing\",name:\"useNodeNameSharing\",type:\"bool\"},{tfName:\"key_dtype\",name:\"keyDType\",type:\"dtype\"},{tfName:\"value_dtype\",name:\"valueDType\",type:\"dtype\"}]},{tfOpName:\"LookupTableImport\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableImportV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableFind\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableFindV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableSize\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"}]},{tfOpName:\"LookupTableSizeV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"}]},{tfOpName:\"InitializeTable\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}]},{tfOpName:\"InitializeTableV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}]}];var gk={};Kt(gk,{json:()=>TQ});var TQ=[{tfOpName:\"ResizeBilinear\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"size\",type:\"number[]\"}],attrs:[{tfName:\"align_corners\",name:\"alignCorners\",type:\"bool\"},{tfName:\"half_pixel_centers\",name:\"halfPixelCenters\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ResizeNearestNeighbor\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"size\",type:\"number[]\"}],attrs:[{tfName:\"align_corners\",name:\"alignCorners\",type:\"bool\"},{tfName:\"half_pixel_centers\",name:\"halfPixelCenters\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"CropAndResize\",category:\"image\",inputs:[{start:0,name:\"image\",type:\"tensor\"},{start:1,name:\"boxes\",type:\"tensor\"},{start:2,name:\"boxInd\",type:\"tensor\"},{start:3,name:\"cropSize\",type:\"number[]\"}],attrs:[{tfName:\"method\",name:\"method\",type:\"string\"},{tfName:\"extrapolation_value\",name:\"extrapolationValue\",type:\"number\"}]},{tfOpName:\"ImageProjectiveTransformV3\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"transforms\",type:\"tensor\"},{start:2,name:\"outputShape\",type:\"number[]\"},{start:3,name:\"fillValue\",type:\"number\"}],attrs:[{tfName:\"interpolation\",name:\"interpolation\",type:\"string\"},{tfName:\"fill_mode\",name:\"fillMode\",type:\"string\"}]}];var xk={};Kt(xk,{json:()=>_Q});var _Q=[{tfOpName:\"Equal\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"NotEqual\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Greater\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"GreaterEqual\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Less\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LessEqual\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalAnd\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalNot\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalOr\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Select\",category:\"logical\",inputs:[{start:0,name:\"condition\",type:\"tensor\"},{start:1,name:\"a\",type:\"tensor\"},{start:2,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SelectV2\",category:\"logical\",inputs:[{start:0,name:\"condition\",type:\"tensor\"},{start:1,name:\"a\",type:\"tensor\"},{start:2,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"BitwiseAnd\",category:\"logical\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"y\",type:\"tensor\"}]}];var yk={};Kt(yk,{json:()=>EQ});var EQ=[{tfOpName:\"_FusedMatMul\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"},{start:2,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"num_args\",name:\"numArgs\",type:\"number\"},{tfName:\"fused_ops\",name:\"fusedOps\",type:\"string[]\",defaultValue:[]},{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:1e-4},{tfName:\"transpose_a\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"transpose_b\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"leakyrelu_alpha\",name:\"leakyreluAlpha\",type:\"number\",defaultValue:.2},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MatMul\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"transpose_a\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"transpose_b\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"BatchMatMul\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"adj_x\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"adj_y\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"BatchMatMulV2\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"adj_x\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"adj_y\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Transpose\",category:\"matrices\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"perm\",type:\"number[]\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Einsum\",category:\"matrices\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}],attrs:[{tfName:\"equation\",name:\"equation\",type:\"string\"},{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2},{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"MatrixBandPart\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"numLower\",type:\"tensor\"},{start:1,name:\"numUpper\",type:\"tensor\"}]}];var bk={};Kt(bk,{json:()=>AQ});var AQ=[{tfOpName:\"EuclideanNorm\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\",defaultValue:!1}]},{tfOpName:\"FusedBatchNorm\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"scale\",type:\"tensor\"},{start:2,name:\"offset\",type:\"tensor\"},{start:3,name:\"mean\",type:\"tensor\"},{start:4,name:\"variance\",type:\"tensor\"}],attrs:[{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:.001},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"FusedBatchNormV2\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"scale\",type:\"tensor\"},{start:2,name:\"offset\",type:\"tensor\"},{start:3,name:\"mean\",type:\"tensor\"},{start:4,name:\"variance\",type:\"tensor\"}],attrs:[{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:.001},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"FusedBatchNormV3\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"scale\",type:\"tensor\"},{start:2,name:\"offset\",type:\"tensor\"},{start:3,name:\"mean\",type:\"tensor\"},{start:4,name:\"variance\",type:\"tensor\"}],attrs:[{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:.001},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"LRN\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"depth_radius\",name:\"radius\",type:\"number\",defaultValue:5},{tfName:\"bias\",name:\"bias\",type:\"number\",defaultValue:1},{tfName:\"alpha\",name:\"alpha\",type:\"number\",defaultValue:1},{tfName:\"beta\",name:\"beta\",type:\"number\",defaultValue:.5}]},{tfOpName:\"Softmax\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"LogSoftmax\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]}];var wk={};Kt(wk,{json:()=>DQ});var DQ=[{tfOpName:\"Bincount\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"},{start:2,name:\"weights\",type:\"tensor\"}]},{tfOpName:\"DenseBincount\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"},{start:2,name:\"weights\",type:\"tensor\"}],attrs:[{tfName:\"binary_output\",name:\"binaryOutput\",type:\"bool\"}]},{tfOpName:\"Max\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Mean\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Min\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Sum\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"All\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Any\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"ArgMax\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]},{tfOpName:\"ArgMin\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]},{tfOpName:\"Prod\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Cumprod\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"exclusive\",name:\"exclusive\",type:\"bool\"},{tfName:\"reverse\",name:\"reverse\",type:\"bool\"}]},{tfOpName:\"Cumsum\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"exclusive\",name:\"exclusive\",type:\"bool\"},{tfName:\"reverse\",name:\"reverse\",type:\"bool\"}]}];var Ik={};Kt(Ik,{json:()=>$Q});var $Q=[{tfOpName:\"ConcatV2\",category:\"slice_join\",inputs:[{start:0,end:-1,name:\"tensors\",type:\"tensors\"},{start:-1,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2}]},{tfOpName:\"Concat\",category:\"slice_join\",inputs:[{start:1,end:0,name:\"tensors\",type:\"tensors\"},{start:0,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2}]},{tfOpName:\"GatherV2\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"axis\",type:\"number\",defaultValue:0}],attrs:[{tfName:\"batch_dims\",name:\"batchDims\",type:\"number\",defaultValue:0}]},{tfOpName:\"Gather\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"}],attrs:[{tfName:\"validate_indices\",name:\"validateIndices\",type:\"bool\",notSupported:!0}]},{tfOpName:\"Reverse\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"dims\",type:\"bool[]\"}]},{tfOpName:\"ReverseV2\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}]},{tfOpName:\"Slice\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"begin\",type:\"number[]\"},{start:2,name:\"size\",type:\"number[]\"}]},{tfOpName:\"StridedSlice\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"begin\",type:\"number[]\"},{start:2,name:\"end\",type:\"number[]\"},{start:3,name:\"strides\",type:\"number[]\"}],attrs:[{tfName:\"begin_mask\",name:\"beginMask\",type:\"number\",defaultValue:0},{tfName:\"end_mask\",name:\"endMask\",type:\"number\",defaultValue:0},{tfName:\"new_axis_mask\",name:\"newAxisMask\",type:\"number\",defaultValue:0},{tfName:\"ellipsis_mask\",name:\"ellipsisMask\",type:\"number\",defaultValue:0},{tfName:\"shrink_axis_mask\",name:\"shrinkAxisMask\",type:\"number\",defaultValue:0}]},{tfOpName:\"Pack\",category:\"slice_join\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}],attrs:[{tfName:\"axis\",name:\"axis\",type:\"number\",defaultValue:0}]},{tfOpName:\"Unpack\",category:\"slice_join\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"axis\",name:\"axis\",type:\"number\",defaultValue:0},{tfName:\"num\",name:\"num\",type:\"number\",defaultValue:0,notSupported:!0}]},{tfOpName:\"Tile\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"reps\",type:\"number[]\"}]},{tfOpName:\"Split\",category:\"slice_join\",inputs:[{start:0,name:\"axis\",type:\"number\",defaultValue:0},{start:1,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"num_split\",name:\"numOrSizeSplits\",type:\"number\",defaultValue:1}]},{tfOpName:\"SplitV\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"numOrSizeSplits\",type:\"number[]\"},{start:2,name:\"axis\",type:\"number\",defaultValue:0}]},{tfOpName:\"ScatterNd\",category:\"slice_join\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"},{start:2,name:\"shape\",type:\"number[]\"}]},{tfOpName:\"GatherNd\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"}]},{tfOpName:\"SparseToDense\",category:\"slice_join\",inputs:[{start:0,name:\"sparseIndices\",type:\"tensor\"},{start:1,name:\"outputShape\",type:\"number[]\"},{start:2,name:\"sparseValues\",type:\"tensor\"},{start:3,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"validate_indices\",name:\"validateIndices\",type:\"bool\",defaultValue:!1,notSupported:!0}]},{tfOpName:\"TensorScatterUpdate\",category:\"slice_join\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}]}];var Ck={};Kt(Ck,{json:()=>RQ});var RQ=[{tfOpName:\"SparseFillEmptyRows\",category:\"sparse\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"},{start:2,name:\"denseShape\",type:\"tensor\"},{start:3,name:\"defaultValue\",type:\"tensor\"}]},{tfOpName:\"SparseReshape\",category:\"sparse\",inputs:[{start:0,name:\"inputIndices\",type:\"tensor\"},{start:1,name:\"inputShape\",type:\"tensor\"},{start:2,name:\"newShape\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SparseSegmentMean\",category:\"sparse\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"segmentIds\",type:\"tensor\"}]},{tfOpName:\"SparseSegmentSum\",category:\"sparse\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"segmentIds\",type:\"tensor\"}]}];var vk={};Kt(vk,{json:()=>FQ});var FQ=[{tfOpName:\"FFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"IFFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"RFFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"fft_length\",type:\"number\",notSupported:!0}]},{tfOpName:\"IRFFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"fft_length\",type:\"number\",notSupported:!0}]}];var Sk={};Kt(Sk,{json:()=>OQ});var OQ=[{tfOpName:\"StaticRegexReplace\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"}],attrs:[{tfName:\"pattern\",name:\"pattern\",type:\"string\"},{tfName:\"rewrite\",name:\"rewrite\",type:\"string\"},{tfName:\"replace_global\",name:\"replaceGlobal\",type:\"bool\"}]},{tfOpName:\"StringNGrams\",category:\"string\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"dataSplits\",type:\"tensor\"}],attrs:[{tfName:\"separator\",name:\"separator\",type:\"string\"},{tfName:\"ngram_widths\",name:\"nGramWidths\",type:\"number[]\"},{tfName:\"left_pad\",name:\"leftPad\",type:\"string\"},{tfName:\"right_pad\",name:\"rightPad\",type:\"string\"},{tfName:\"pad_width\",name:\"padWidth\",type:\"number\"},{tfName:\"preserve_short_sequences\",name:\"preserveShortSequences\",type:\"bool\"}],outputs:[\"ngrams\",\"ngrams_splits\"]},{tfOpName:\"StringSplit\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"delimiter\",type:\"tensor\"}],attrs:[{tfName:\"skip_empty\",name:\"skipEmpty\",type:\"bool\"}],outputs:[\"indices\",\"values\",\"shape\"]},{tfOpName:\"StringToHashBucketFast\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"}],attrs:[{tfName:\"num_buckets\",name:\"numBuckets\",type:\"number\"}]}];var Nk={};Kt(Nk,{json:()=>MQ});var MQ=[{tfOpName:\"Cast\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"SrcT\",name:\"sdtype\",type:\"dtype\",notSupported:!0},{tfName:\"DstT\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"ExpandDims\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]},{tfOpName:\"MirrorPad\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"padding\",type:\"number[]\"}],attrs:[{tfName:\"mode\",name:\"mode\",type:\"string\"}]},{tfOpName:\"Pad\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"padding\",type:\"number[]\"}],attrs:[{tfName:\"constant_value\",name:\"constantValue\",type:\"number\",defaultValue:0}]},{tfOpName:\"PadV2\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"padding\",type:\"number[]\"},{start:2,name:\"constantValue\",type:\"number\",defaultValue:0}]},{tfOpName:\"Reshape\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"shape\",type:\"number[]\"}]},{tfOpName:\"EnsureShape\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"shape\",type:\"number[]\"}]},{tfOpName:\"Squeeze\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"axis\",tfDeprecatedName:\"squeeze_dims\",name:\"axis\",type:\"number[]\"}]},{tfOpName:\"SpaceToBatchND\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"blockShape\",type:\"number[]\"},{start:2,name:\"paddings\",type:\"number[]\"}]},{tfOpName:\"BatchToSpaceND\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"blockShape\",type:\"number[]\"},{start:2,name:\"crops\",type:\"number[]\"}]},{tfOpName:\"DepthToSpace\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"block_size\",name:\"blockSize\",type:\"number\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\"}]},{tfOpName:\"BroadcastTo\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"shape\",type:\"number[]\"}],attrs:[]},{tfOpName:\"BroadcastArgs\",category:\"transformation\",inputs:[{start:0,name:\"s0\",type:\"tensor\"},{start:1,name:\"s1\",type:\"tensor\"}],attrs:[]}];var Gh=class{static get Instance(){return this._instance||(this._instance=new this)}constructor(){let t=[ak,lk,uk,ck,pk,mk,fk,dk,hk,gk,xk,yk,bk,wk,Ik,Ck,vk,Sk,Nk],e=[].concat(...t.map(n=>n.json));this.opMappers=e.reduce((n,o)=>(n[o.tfOpName]=o,n),{})}transformGraph(t,e={}){let n=t.node,o=[],s=[],i=[],a=n.reduce((h,g)=>(h[g.name]=this.mapNode(g),g.op.startsWith(\"Placeholder\")?o.push(h[g.name]):g.op===\"Const\"?s.push(h[g.name]):(g.input==null||g.input.length===0)&&i.push(h[g.name]),h),{}),u=[],l=[],c={},p={};e!=null&&(c=this.mapSignatureEntries(e.inputs),p=this.mapSignatureEntries(e.outputs));let m=Object.keys(a);m.forEach(h=>{let g=a[h];g.inputNames.forEach((x,b)=>{let[w,,I]=yi(x),N=a[w];if(N.outputs!=null){let E=N.outputs.indexOf(I);if(E!==-1){let A=`${w}:${E}`;g.inputNames[b]=A}}g.inputs.push(N),N.children.push(g)})}),Object.keys(p).length===0?m.forEach(h=>{let g=a[h];g.children.length===0&&l.push(g)}):Object.keys(p).forEach(h=>{let[g]=yi(h),x=a[g];x!=null&&(x.signatureKey=p[h],l.push(x))}),Object.keys(c).length>0?Object.keys(c).forEach(h=>{let[g]=yi(h),x=a[g];x&&(x.signatureKey=c[h],u.push(x))}):u=o;let f={};t.library!=null&&t.library.function!=null&&(f=t.library.function.reduce((h,g)=>(h[g.signature.name]=this.mapFunction(g),h),{}));let d={nodes:a,inputs:u,outputs:l,weights:s,placeholders:o,signature:e,functions:f};return i.length>0&&(d.initNodes=i),d}mapSignatureEntries(t){return Object.keys(t||{}).reduce((e,n)=>(e[t[n].name]=n,e),{})}mapNode(t){let e=zb(t.op)||this.opMappers[t.op]||{};t.attr==null&&(t.attr={});let n={name:t.name,op:t.op,category:e.category,inputNames:(t.input||[]).map(o=>o.startsWith(\"^\")?o.slice(1):o),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:t.attr,outputs:e.outputs};return e.inputs!=null&&(n.inputParams=e.inputs.reduce((o,s)=>(o[s.name]={type:s.type,inputIndexStart:s.start,inputIndexEnd:s.end},o),{})),e.attrs!=null&&(n.attrParams=e.attrs.reduce((o,s)=>{let i=s.type,a;switch(s.type){case\"string\":a=Vb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Vb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"string[]\":a=jb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=jb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"number\":a=Wb(t.attr,s.tfName,s.defaultValue||0),a===void 0&&s.tfDeprecatedName&&(a=Wb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"number[]\":a=Kb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Kb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"bool\":a=Gb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Gb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"bool[]\":a=Yb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Yb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"shape\":a=qb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=qb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"shape[]\":a=Xb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Xb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"dtype\":a=Ub(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Ub(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"dtype[]\":a=Hb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Hb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"func\":a=aF(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=aF(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"tensor\":case\"tensors\":break;default:throw new Error(`Unsupported param type: ${s.type} for op: ${t.op}`)}return o[s.name]={value:a,type:i},o},{})),n}mapFunction(t){let e=t.nodeDef,n=[],o=[],s={};e!=null&&(s=e.reduce((p,m)=>(p[m.name]=this.mapNode(m),m.op===\"Const\"&&o.push(p[m.name]),p),{}));let i=[],a=[];t.signature.inputArg.forEach(p=>{let[m]=yi(p.name),f={name:m,op:\"Placeholder\",inputs:[],inputNames:[],category:\"graph\",inputParams:{},attrParams:{dtype:{value:kk(p.type),type:\"dtype\"}},children:[]};f.signatureKey=p.name,i.push(f),s[m]=f}),Object.keys(s).forEach(p=>{let m=s[p];m.inputNames.forEach((f,d)=>{let[h,,g]=yi(f),x=s[h];if(x.outputs!=null){let b=x.outputs.indexOf(g);if(b!==-1){let w=`${h}:${b}`;m.inputNames[d]=w}}m.inputs.push(x),x.children.push(m)})});let l=t.ret;t.signature.outputArg.forEach(p=>{let[m,f]=yi(l[p.name]),d=s[m];d!=null&&(d.defaultOutput=f,a.push(d))});let c=this.mapArgsToSignature(t);return{nodes:s,inputs:i,outputs:a,weights:o,placeholders:n,signature:c}}mapArgsToSignature(t){return{methodName:t.signature.name,inputs:t.signature.inputArg.reduce((e,n)=>(e[n.name]=this.mapArgToTensorInfo(n),e),{}),outputs:t.signature.outputArg.reduce((e,n)=>(e[n.name]=this.mapArgToTensorInfo(n,t.ret),e),{})}}mapArgToTensorInfo(t,e){let n=t.name;return e!=null&&(n=e[n]),{name:n,dtype:t.type}}};function PQ(r){let t=L().global;if(typeof t.atob!=\"undefined\")return t.atob(r);if(typeof Buffer!=\"undefined\")return new Buffer(r,\"base64\").toString();throw new Error(\"Unable to decode base64 in this environment. Missing built-in atob() or Buffer()\")}function lF(r,t){let e=Array.isArray(r)?String.fromCharCode.apply(null,r):PQ(r);return t?e:e.toLowerCase()}function Vb(r,t,e,n=!1){let o=r[t];return o!=null?lF(o.s,n):e}function Gb(r,t,e){let n=r[t];return n?n.b:e}function Wb(r,t,e){let n=r[t]||{},o=n.i!=null?n.i:n.f!=null?n.f:e;return typeof o==\"number\"?o:parseInt(o,10)}function kk(r){switch(typeof r==\"string\"&&(r=_n[r]),r){case _n.DT_FLOAT:case _n.DT_HALF:return\"float32\";case _n.DT_INT32:case _n.DT_INT64:case _n.DT_INT8:case _n.DT_UINT8:return\"int32\";case _n.DT_BOOL:return\"bool\";case _n.DT_DOUBLE:return\"float32\";case _n.DT_STRING:return\"string\";case _n.DT_COMPLEX64:case _n.DT_COMPLEX128:return\"complex64\";default:return null}}function aF(r,t,e){let n=r[t];return n&&n.func?n.func.name:e}function Ub(r,t,e){let n=r[t];return n&&n.type?kk(n.type):e}function Hb(r,t,e){let n=r[t];return n&&n.list&&n.list.type?n.list.type.map(o=>kk(o)):e}function uF(r){if(!r.unknownRank)return r.dim!=null?r.dim.map(t=>typeof t.size==\"number\"?t.size:parseInt(t.size,10)):[]}function qb(r,t,e){let n=r[t];return n&&n.shape?uF(n.shape):e}function Kb(r,t,e){let n=r[t];return n?((n.list.f&&n.list.f.length?n.list.f:n.list.i)||[]).map(o=>typeof o==\"number\"?o:parseInt(o,10)):e}function jb(r,t,e,n=!1){let o=r[t];return o&&o.list&&o.list.s?o.list.s.map(s=>lF(s,n)):e}function Xb(r,t,e){let n=r[t];return n&&n.list&&n.list.shape?n.list.shape.map(o=>uF(o)):e}function Yb(r,t,e){let n=r[t];return n&&n.list&&n.list.b?n.list.b:e}var Zb=class{constructor(t,e,n){this.node=t,this.tensorMap=e,this.context=n,this.inputs=[],this.attrs={},this.inputs=t.inputNames.map(o=>this.getInput(o)),t.rawAttrs!=null&&(this.attrs=Object.keys(t.rawAttrs).reduce((o,s)=>(o[s]=this.getAttr(s),o),{}))}getInput(t){return pr(t,this.tensorMap,this.context)}getAttr(t,e){let n=this.node.rawAttrs[t];if(n.tensor!=null)return pr(t,this.tensorMap,this.context);if(n.i!=null||n.f!=null)return Wb(this.node.rawAttrs,t,e);if(n.s!=null)return Vb(this.node.rawAttrs,t,e);if(n.b!=null)return Gb(this.node.rawAttrs,t,e);if(n.shape!=null)return qb(this.node.rawAttrs,t,e);if(n.type!=null)return Ub(this.node.rawAttrs,t,e);if(n.list!=null){if(n.list.i!=null||n.list.f!=null)return Kb(this.node.rawAttrs,t,e);if(n.list.s!=null)return jb(this.node.rawAttrs,t,e);if(n.list.shape!=null)return Xb(this.node.rawAttrs,t,e);if(n.list.b!=null)return Yb(this.node.rawAttrs,t,e);if(n.list.type!=null)return Hb(this.node.rawAttrs,t,e)}return e}};var ae={};Kt(ae,{OP_SCOPE_SUFFIX:()=>z0,abs:()=>_e,acos:()=>mx,acosh:()=>fx,add:()=>X,addN:()=>TE,all:()=>tm,any:()=>cc,argMax:()=>ea,argMin:()=>dx,asin:()=>hx,asinh:()=>gx,atan:()=>xx,atan2:()=>yx,atanh:()=>bx,avgPool:()=>xu,avgPool3d:()=>wx,basicLSTMCell:()=>AE,batchNorm:()=>oa,batchNorm2d:()=>Ix,batchNorm3d:()=>Cx,batchNorm4d:()=>vx,batchToSpaceND:()=>yu,bincount:()=>Sx,bitwiseAnd:()=>$E,booleanMaskAsync:()=>W5,broadcastArgs:()=>RE,broadcastTo:()=>sa,buffer:()=>wt,cast:()=>J,ceil:()=>Nx,clipByValue:()=>vr,clone:()=>ln,complex:()=>Sn,concat:()=>ie,concat1d:()=>kx,concat2d:()=>Tx,concat3d:()=>_x,concat4d:()=>Ex,conv1d:()=>rm,conv2d:()=>Nn,conv2dTranspose:()=>om,conv3d:()=>Ax,conv3dTranspose:()=>$x,cos:()=>bu,cosh:()=>sm,cosineWindow:()=>gh,cumprod:()=>mc,cumsum:()=>im,denseBincount:()=>ph,depthToSpace:()=>Rx,depthwiseConv2d:()=>ia,diag:()=>FE,dilation2d:()=>Fx,div:()=>ct,divNoNan:()=>Ox,dot:()=>Mx,dropout:()=>mN,einsum:()=>wu,elu:()=>aa,enclosingPowerOfTwo:()=>fN,ensureShape:()=>ME,equal:()=>$r,erf:()=>Px,euclideanNorm:()=>Lx,exp:()=>Ke,expandDims:()=>je,expm1:()=>zx,eye:()=>fc,fft:()=>Au,fill:()=>Co,floor:()=>la,floorDiv:()=>Qp,fused:()=>Ru,gather:()=>ua,gatherND:()=>Q5,greater:()=>Re,greaterEqual:()=>cn,ifft:()=>wl,imag:()=>Iu,image:()=>fn,inTopKAsync:()=>r8,irfft:()=>ym,isFinite:()=>Bx,isInf:()=>Vx,isNaN:()=>Gx,leakyRelu:()=>Cu,less:()=>yl,lessEqual:()=>Vn,linalg:()=>hN,linspace:()=>zE,localResponseNormalization:()=>Wx,log:()=>Nr,log1p:()=>vu,logSigmoid:()=>qx,logSoftmax:()=>am,logSumExp:()=>Su,logicalAnd:()=>Fr,logicalNot:()=>Nu,logicalOr:()=>lm,logicalXor:()=>Kx,losses:()=>oY,lowerBound:()=>BE,matMul:()=>Bt,max:()=>Sr,maxPool:()=>ku,maxPool3d:()=>Xx,maxPoolWithArgmax:()=>VE,maximum:()=>kn,mean:()=>Ne,meshgrid:()=>GE,min:()=>gl,minimum:()=>lo,mirrorPad:()=>Yx,mod:()=>Zx,moments:()=>dc,movingAverage:()=>q5,mul:()=>$,multiRNNCell:()=>WE,multinomial:()=>UE,neg:()=>Ut,norm:()=>xl,notEqual:()=>ui,oneHot:()=>ca,ones:()=>ar,onesLike:()=>wr,op:()=>k,outerProduct:()=>HE,pad:()=>mn,pad1d:()=>qE,pad2d:()=>KE,pad3d:()=>jE,pad4d:()=>XE,pool:()=>Jx,pow:()=>un,prelu:()=>_u,print:()=>px,prod:()=>Qx,raggedGather:()=>YE,raggedRange:()=>ZE,raggedTensorToTensor:()=>JE,rand:()=>QE,randomGamma:()=>wA,randomNormal:()=>xc,randomStandardNormal:()=>IA,randomUniform:()=>Gn,randomUniformInt:()=>CA,range:()=>pa,real:()=>bl,reciprocal:()=>sy,relu:()=>Or,relu6:()=>um,reshape:()=>R,reverse:()=>dr,reverse1d:()=>vA,reverse2d:()=>SA,reverse3d:()=>NA,reverse4d:()=>kA,rfft:()=>Du,round:()=>cm,rsqrt:()=>pm,scalar:()=>pt,scatterND:()=>j5,searchSorted:()=>fh,selu:()=>mm,separableConv2d:()=>fm,setdiff1dAsync:()=>TA,sigmoid:()=>Qr,sign:()=>iy,signal:()=>nY,sin:()=>dm,sinh:()=>hm,slice:()=>Ot,slice1d:()=>gm,slice2d:()=>hh,slice3d:()=>xm,slice4d:()=>yc,softmax:()=>Eu,softplus:()=>li,spaceToBatchND:()=>Tu,sparse:()=>sY,sparseToDense:()=>Z5,spectral:()=>rY,split:()=>hr,sqrt:()=>Se,square:()=>Wt,squaredDifference:()=>bm,squeeze:()=>Wn,stack:()=>Fe,step:()=>So,stridedSlice:()=>ay,string:()=>iY,sub:()=>at,sum:()=>mt,tan:()=>ly,tanh:()=>na,tensor:()=>ir,tensor1d:()=>Oe,tensor2d:()=>ci,tensor3d:()=>uy,tensor4d:()=>_A,tensor5d:()=>EA,tensor6d:()=>AA,tensorScatterUpdate:()=>$A,tile:()=>Rr,topk:()=>cy,transpose:()=>Vt,truncatedNormal:()=>Im,unique:()=>py,unsortedSegmentSum:()=>Cm,unstack:()=>gr,upperBound:()=>RA,variable:()=>my,where:()=>we,whereAsync:()=>dy,zeros:()=>ke,zerosLike:()=>vt});var cF=(r,t,e,n=ae)=>{switch(r.op){case\"BiasAdd\":case\"AddV2\":case\"Add\":return[n.add(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"AddN\":return[n.addN(v(\"tensors\",r,t,e))];case\"FloorMod\":case\"Mod\":return[n.mod(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Mul\":return[n.mul(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"RealDiv\":case\"Div\":return[n.div(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"DivNoNan\":return[n.divNoNan(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"FloorDiv\":return[n.floorDiv(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Sub\":return[n.sub(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Minimum\":return[n.minimum(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Maximum\":return[n.maximum(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Pow\":return[n.pow(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"SquaredDifference\":return[n.squaredDifference(v(\"a\",r,t,e),v(\"b\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var pF=(r,t,e,n=ae)=>{switch(r.op){case\"Abs\":case\"ComplexAbs\":return[n.abs(v(\"x\",r,t,e))];case\"Acos\":return[n.acos(v(\"x\",r,t,e))];case\"Acosh\":return[n.acosh(v(\"x\",r,t,e))];case\"Asin\":return[n.asin(v(\"x\",r,t,e))];case\"Asinh\":return[n.asinh(v(\"x\",r,t,e))];case\"Atan\":return[n.atan(v(\"x\",r,t,e))];case\"Atan2\":return[n.atan2(v(\"x\",r,t,e),v(\"y\",r,t,e))];case\"Atanh\":return[n.atanh(v(\"x\",r,t,e))];case\"Ceil\":return[n.ceil(v(\"x\",r,t,e))];case\"Complex\":return[n.complex(v(\"real\",r,t,e),v(\"imag\",r,t,e))];case\"Cos\":return[n.cos(v(\"x\",r,t,e))];case\"Cosh\":return[n.cosh(v(\"x\",r,t,e))];case\"Elu\":return[n.elu(v(\"x\",r,t,e))];case\"Erf\":return[n.erf(v(\"x\",r,t,e))];case\"Exp\":return[n.exp(v(\"x\",r,t,e))];case\"Expm1\":return[n.expm1(v(\"x\",r,t,e))];case\"Floor\":return[n.floor(v(\"x\",r,t,e))];case\"Log\":return[n.log(v(\"x\",r,t,e))];case\"Log1p\":return[n.log1p(v(\"x\",r,t,e))];case\"Imag\":return[n.imag(v(\"x\",r,t,e))];case\"Neg\":return[n.neg(v(\"x\",r,t,e))];case\"Reciprocal\":return[n.reciprocal(v(\"x\",r,t,e))];case\"Real\":return[n.real(v(\"x\",r,t,e))];case\"Relu\":return[n.relu(v(\"x\",r,t,e))];case\"Round\":return[n.round(v(\"x\",r,t,e))];case\"Selu\":return[n.selu(v(\"x\",r,t,e))];case\"Sigmoid\":return[n.sigmoid(v(\"x\",r,t,e))];case\"Sin\":return[n.sin(v(\"x\",r,t,e))];case\"Sign\":return[n.sign(v(\"x\",r,t,e))];case\"Sinh\":return[n.sinh(v(\"x\",r,t,e))];case\"Softplus\":return[n.softplus(v(\"x\",r,t,e))];case\"Sqrt\":return[n.sqrt(v(\"x\",r,t,e))];case\"Square\":return[n.square(v(\"x\",r,t,e))];case\"Tanh\":return[n.tanh(v(\"x\",r,t,e))];case\"Tan\":return[n.tan(v(\"x\",r,t,e))];case\"ClipByValue\":return[n.clipByValue(v(\"x\",r,t,e),v(\"clipValueMin\",r,t,e),v(\"clipValueMax\",r,t,e))];case\"Relu6\":return[n.relu6(v(\"x\",r,t,e))];case\"Rsqrt\":return[n.rsqrt(pr(r.inputNames[0],t,e))];case\"LeakyRelu\":return[n.leakyRelu(v(\"x\",r,t,e),v(\"alpha\",r,t,e))];case\"Prelu\":return[n.prelu(v(\"x\",r,t,e),v(\"alpha\",r,t,e))];case\"IsNan\":return[n.isNaN(pr(r.inputNames[0],t,e))];case\"IsInf\":return[n.isInf(pr(r.inputNames[0],t,e))];case\"IsFinite\":return[n.isFinite(pr(r.inputNames[0],t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function Hn(r,t,e=\"\"){if(!(typeof r==\"number\"||typeof t==\"number\")){y.assert(r.length===t.length,()=>e+` Shapes ${r} and ${t} must match`);for(let n=0;ne+` Shapes ${r} and ${t} must match`)}}}function mF(r){return!(typeof r==\"number\"||r.some(t=>t<0))}function td(r,t,e){let n=Jb(r,e),o=!mF(n);if(o&&t.length===0)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${n}`);if(o&&t.forEach(s=>{n=Jb(s.shape,n)}),!mF(n))throw new Error(`Non-fully-defined elementShape: ${n}`);return n}function Jb(r,t){if(typeof r==\"number\")return t;if(typeof t==\"number\")return r;if(r.length!==t.length)throw new Error(`Incompatible ranks during merge: ${r} vs. ${t}`);let e=[];for(let n=0;n=0&&s>=0&&o!==s)throw new Error(`Incompatible shape during merge: ${r} vs. ${t}`);e[n]=o>=0?o:s}return e}var Qb=class{constructor(t,e,n,o,s,i,a){this.name=t,this.dtype=e,this.maxSize=n,this.elementShape=o,this.identicalElementShapes=s,this.dynamicSize=i,this.clearAfterRead=a,this.tensors=[],this.closed_=!1,this.idTensor=pt(0),De(this.idTensor)}get id(){return this.idTensor.id}get closed(){return this.closed_}clearAndClose(t){this.tensors.forEach(e=>{(t==null||!t.has(e.tensor.id))&&e.tensor.dispose()}),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(t<0||t>=this.size())throw new Error(`Tried to read from index ${t}, but array size is: ${this.size()}`);let e=this.tensors[t];if(e.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${t} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(e.cleared=!0),e.read=!0,e.tensor}readMany(t){return t.map(e=>this.read(e))}write(t,e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(t<0||!this.dynamicSize&&t>=this.maxSize)throw new Error(`Tried to write to index ${t}, but array is not resizeable and size is: ${this.maxSize}`);let n=this.tensors[t]||{};if(e.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t},\n because the value dtype is ${e.dtype}, but TensorArray dtype is ${this.dtype}.`);if(this.size()===0&&(this.elementShape==null||this.elementShape.length===0)&&(this.elementShape=e.shape),Hn(this.elementShape,e.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${t}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t}, because it has already been written.`);n.tensor=e,De(e),n.written=!0,this.tensors[t]=n}writeMany(t,e){if(t.length!==e.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${t.length} is not the same as tensors size: ${e.length}.`);t.forEach((n,o)=>this.write(n,e[o]))}gather(t,e){if(e&&e!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${e}`);if(t)t=t.slice(0,this.size());else{t=[];for(let o=0;o=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(t,gr(e,0))}split(t,e){if(e.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${e.dtype}`);let n=0,o=t.map(u=>(n+=u,n));if(n!==e.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${e.shape}`);if(!this.dynamicSize&&t.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${t.length}), and the TensorArray is not marked as dynamically resizeable`);let s=n===0?0:e.size/n,i=[];B(()=>{e=R(e,[1,n,s]);for(let u=0;u{if(n!==s.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${s.dtype}`);Hn(e,s.shape,\"TensorList shape mismatch: \"),De(s)}),this.idTensor=pt(0),this.maxNumElements=o,De(this.idTensor)}copy(){return new r([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(t){this.tensors.forEach(e=>{(t==null||!t.has(e.id))&&e.dispose()}),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(t,e,n=-1){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);if(n!==-1&&this.tensors.length!==n)throw new Error(`Operation expected a list with ${n} elements but got a list with ${this.tensors.length} elements.`);Hn(t,this.elementShape,\"TensorList shape mismatch: \");let o=td(this.elementShape,this.tensors,t);return B(()=>{let s=this.tensors.map(i=>R(i,o));return Fe(s,0)})}popBack(t,e){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);if(this.size()===0)throw new Error(\"Trying to pop from an empty list.\");let n=td(this.elementShape,this.tensors,t),o=this.tensors.pop();return o.kept=!1,Hn(o.shape,t,\"TensorList shape mismatch: \"),R(o,n)}pushBack(t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(Hn(t.shape,this.elementShape,\"TensorList shape mismatch: \"),this.maxNumElements===this.size())throw new Error(\"Trying to push element into a full list.\");De(t),this.tensors.push(t)}resize(t){if(t<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${t}`);if(this.maxNumElements!==-1&&t>this.maxNumElements)throw new Error(`TensorListResize input size ${t} is greater maxNumElement ${this.maxNumElements}.`);let e=new r([],this.elementShape,this.elementDtype,this.maxNumElements);e.tensors.length=t;for(let n=0;nthis.tensors.length)throw new Error(`Trying to access element ${t} in a list with ${this.tensors.length} elements.`);if(this.tensors[t]==null)throw new Error(`element at index ${t} is null.`);Hn(this.tensors[t].shape,e,\"TensorList shape mismatch: \");let o=td(this.elementShape,this.tensors,e);return R(this.tensors[t],o)}setItem(t,e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(t<0||this.maxNumElements!==-1&&t>=this.maxNumElements)throw new Error(`Trying to set element ${t} in a list with max ${this.maxNumElements} elements.`);Hn(this.elementShape,e.shape,\"TensorList shape mismatch: \"),De(e),this.tensors[t]!=null&&(this.tensors[t].kept=!1),this.tensors[t]=e}gather(t,e,n){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);Hn(this.elementShape,n,\"TensorList shape mismatch: \"),t=t.slice(0,this.size());let o=td(this.elementShape,this.tensors,n);return t.length===0?ir([],[0].concat(o)):B(()=>{let s=t.map(i=>R(this.tensors[i],o));return Fe(s,0)})}concat(t,e){if(t&&t!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${t}`);Hn(this.elementShape,e,\"TensorList shape mismatch: \");let n=td(this.elementShape,this.tensors,e);return this.size()===0?ir([],[0].concat(n)):B(()=>{let o=this.tensors.map(s=>R(s,n));return ie(o,0)})}};function fF(r,t,e){let n=r.dtype;if(r.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${r.shape}`);if(r.dtype!==e)throw new Error(`Invalid data types; op elements ${r.dtype}, but list elements ${e}`);let o=r.shape.slice(1);Hn(o,t,\"TensorList shape mismatch: \");let s=gr(r);return new ed(s,t,n)}function dF(r,t,e,n){return new ed([],r,t,n)}function hF(r,t,e,n){if(t.length!==r.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${t.length} vs. ${r.shape[0]}`);let o=Math.max(...t);if(n!=null&&n!==-1&&o>=n)throw new Error(`Max index must be < array size (${o} vs. ${n})`);let s=new ed([],e,r.dtype,n),i=gr(r,0);return t.forEach((a,u)=>{s.setItem(a,i[u])}),s}function gF(r,t,e){let n=0,o=t.map(c=>(n+=c,n));if(n!==r.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${r.shape}`);let s=r.shape.slice(1),i=Jb(s,e),a=n===0?0:r.size/n,u=B(()=>{let c=[];r=R(r,[1,n,a]);for(let p=0;p{switch(r.op){case\"If\":case\"StatelessIf\":{let n=v(\"thenBranch\",r,t,e),o=v(\"elseBranch\",r,t,e),s=v(\"cond\",r,t,e),i=v(\"args\",r,t,e);return(await s.data())[0]?e.functionMap[n].executeFunctionAsync(i,e.tensorArrayMap,e.tensorListMap):e.functionMap[o].executeFunctionAsync(i,e.tensorArrayMap,e.tensorListMap)}case\"While\":case\"StatelessWhile\":{let n=v(\"body\",r,t,e),o=v(\"cond\",r,t,e),s=v(\"args\",r,t,e),i=await e.functionMap[o].executeFunctionAsync(s,e.tensorArrayMap,e.tensorListMap),a=s.map(c=>c.id),u=await i[0].data();i.forEach(c=>{!c.kept&&a.indexOf(c.id)===-1&&c.dispose()});let l=s;for(;u[0];){let c=l;l=await e.functionMap[n].executeFunctionAsync(l,e.tensorArrayMap,e.tensorListMap);let p=l.map(f=>f.id);c.forEach(f=>{!f.kept&&a.indexOf(f.id)===-1&&p.indexOf(f.id)===-1&&f.dispose()});let m=await e.functionMap[o].executeFunctionAsync(l,e.tensorArrayMap,e.tensorListMap);u=await m[0].data(),m.forEach(f=>{!f.kept&&a.indexOf(f.id)===-1&&p.indexOf(f.id)===-1&&f.dispose()})}return l}case\"LoopCond\":{let n=v(\"pred\",r,t,e);return[bi(n)]}case\"Switch\":{let n=v(\"pred\",r,t,e),o=v(\"data\",r,t,e);return o.kept||(o=bi(o)),(await n.data())[0]?[void 0,o]:[o,void 0]}case\"Merge\":{let n=r.inputNames.find(o=>pr(o,t,e)!==void 0);if(n){let o=pr(n,t,e);return[bi(o)]}return}case\"Enter\":{let n=v(\"frameName\",r,t,e),o=v(\"tensor\",r,t,e);return e.enterFrame(n),[bi(o)]}case\"Exit\":{let n=v(\"tensor\",r,t,e);return e.exitFrame(),[bi(n)]}case\"NextIteration\":{let n=v(\"tensor\",r,t,e);return e.nextIteration(),[bi(n)]}case\"TensorArrayV3\":{let n=v(\"size\",r,t,e),o=v(\"dtype\",r,t,e),s=v(\"elementShape\",r,t,e),i=v(\"dynamicSize\",r,t,e),a=v(\"clearAfterRead\",r,t,e),u=v(\"identicalElementShapes\",r,t,e),l=v(\"name\",r,t,e),c=new Qb(l,o,n,s,u,i,a);return e.addTensorArray(c),[c.idTensor,pt(1)]}case\"TensorArrayWriteV3\":{let n=v(\"tensorArrayId\",r,t,e),o=v(\"index\",r,t,e),s=v(\"tensor\",r,t,e),i=e.getTensorArray(n.id);return i.write(o,s),[i.idTensor]}case\"TensorArrayReadV3\":{let n=v(\"tensorArrayId\",r,t,e),o=v(\"index\",r,t,e);return[e.getTensorArray(n.id).read(o)]}case\"TensorArrayGatherV3\":{let n=v(\"tensorArrayId\",r,t,e),o=v(\"indices\",r,t,e),s=v(\"dtype\",r,t,e);return[e.getTensorArray(n.id).gather(o,s)]}case\"TensorArrayScatterV3\":{let n=v(\"tensorArrayId\",r,t,e),o=v(\"indices\",r,t,e),s=v(\"tensor\",r,t,e),i=e.getTensorArray(n.id);return i.scatter(o,s),[i.idTensor]}case\"TensorArrayConcatV3\":{let n=v(\"tensorArrayId\",r,t,e),o=e.getTensorArray(n.id),s=v(\"dtype\",r,t,e);return[o.concat(s)]}case\"TensorArraySplitV3\":{let n=v(\"tensorArrayId\",r,t,e),o=v(\"tensor\",r,t,e),s=v(\"lengths\",r,t,e),i=e.getTensorArray(n.id);return i.split(s,o),[i.idTensor]}case\"TensorArraySizeV3\":{let n=v(\"tensorArrayId\",r,t,e),o=e.getTensorArray(n.id);return[pt(o.size(),\"int32\")]}case\"TensorArrayCloseV3\":{let n=v(\"tensorArrayId\",r,t,e),o=e.getTensorArray(n.id);return o.clearAndClose(),[o.idTensor]}case\"TensorListSetItem\":{let n=v(\"tensorListId\",r,t,e),o=v(\"index\",r,t,e),s=v(\"tensor\",r,t,e),i=e.getTensorList(n.id);return i.setItem(o,s),[i.idTensor]}case\"TensorListGetItem\":{let n=v(\"tensorListId\",r,t,e),o=v(\"index\",r,t,e),s=v(\"elementShape\",r,t,e),i=v(\"elementDType\",r,t,e);return[e.getTensorList(n.id).getItem(o,s,i)]}case\"TensorListScatterV2\":case\"TensorListScatter\":{let n=v(\"indices\",r,t,e),o=v(\"tensor\",r,t,e),s=v(\"elementShape\",r,t,e),i=v(\"numElements\",r,t,e),a=hF(o,n,s,i);return e.addTensorList(a),[a.idTensor]}case\"TensorListReserve\":case\"EmptyTensorList\":{let n=v(\"elementShape\",r,t,e),o=v(\"elementDType\",r,t,e),s;r.op===\"TensorListReserve\"?s=\"numElements\":s=\"maxNumElements\";let i=v(s,r,t,e),a=r.op===\"TensorListReserve\"?-1:i,u=dF(n,o,i,a);return e.addTensorList(u),[u.idTensor]}case\"TensorListGather\":{let n=v(\"tensorListId\",r,t,e),o=v(\"indices\",r,t,e),s=v(\"elementShape\",r,t,e),i=v(\"elementDType\",r,t,e);return[e.getTensorList(n.id).gather(o,i,s)]}case\"TensorListStack\":{let n=v(\"tensorListId\",r,t,e),o=v(\"elementShape\",r,t,e),s=v(\"elementDType\",r,t,e),i=v(\"numElements\",r,t,e);return[e.getTensorList(n.id).stack(o,s,i)]}case\"TensorListFromTensor\":{let n=v(\"tensor\",r,t,e),o=v(\"elementShape\",r,t,e),s=v(\"elementDType\",r,t,e),i=fF(n,o,s);return e.addTensorList(i),[i.idTensor]}case\"TensorListConcat\":case\"TensorListConcatV2\":{let n=v(\"tensorListId\",r,t,e),o=e.getTensorList(n.id),s=v(\"dtype\",r,t,e),i=v(\"elementShape\",r,t,e);return[o.concat(s,i)]}case\"TensorListPushBack\":{let n=v(\"tensorListId\",r,t,e),o=v(\"tensor\",r,t,e),s=e.getTensorList(n.id);return s.pushBack(o),[s.idTensor]}case\"TensorListPopBack\":{let n=v(\"tensorListId\",r,t,e),o=v(\"elementShape\",r,t,e),s=v(\"elementDType\",r,t,e);return[e.getTensorList(n.id).popBack(o,s)]}case\"TensorListSplit\":{let n=v(\"tensor\",r,t,e),o=v(\"elementShape\",r,t,e),s=v(\"lengths\",r,t,e),i=gF(n,s,o);return e.addTensorList(i),[i.idTensor]}case\"TensorListLength\":{let n=v(\"tensorListId\",r,t,e),o=e.getTensorList(n.id);return[pt(o.size(),\"int32\")]}case\"TensorListResize\":{let n=v(\"tensorListId\",r,t,e),o=v(\"size\",r,t,e),i=e.getTensorList(n.id).resize(o);return e.addTensorList(i),[i.idTensor]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};function yF(r,t,e){let[n,o]=v(\"fusedOps\",r,t,e),s=n===\"biasadd\",i=!s,a=o===\"prelu\",u=n===\"fusedbatchnorm\",l=v(\"numArgs\",r,t,e);if(s){if(a&&l!==2)throw new Error(\"FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.\");if(!a&&s&&l!==1)throw new Error(\"FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.\")}if(u)throw new Error(\"FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported\");let c=v(\"strides\",r,t,e),p=Vh(r,t,e),m=v(\"dataFormat\",r,t,e).toUpperCase(),f=v(\"dilations\",r,t,e),[d,h]=v(\"args\",r,t,e);i&&(h=d,d=void 0);let g=v(\"leakyreluAlpha\",r,t,e);return{stride:c,pad:p,dataFormat:m,dilations:f,biasArg:d,preluArg:h,activationFunc:o,leakyreluAlpha:g}}var bF=(r,t,e,n=ae)=>{switch(r.op){case\"Conv1D\":{let o=v(\"stride\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"dataFormat\",r,t,e).toUpperCase(),a=v(\"dilation\",r,t,e);return[n.conv1d(v(\"x\",r,t,e),v(\"filter\",r,t,e),o,s,i,a)]}case\"Conv2D\":{let o=v(\"strides\",r,t,e),s=Vh(r,t,e),i=v(\"dataFormat\",r,t,e).toUpperCase(),a=v(\"dilations\",r,t,e);return[n.conv2d(v(\"x\",r,t,e),v(\"filter\",r,t,e),[o[1],o[2]],s,i,[a[1],a[2]])]}case\"_FusedConv2D\":{let{stride:o,pad:s,dataFormat:i,dilations:a,biasArg:u,preluArg:l,activationFunc:c,leakyreluAlpha:p}=yF(r,t,e);return[n.fused.conv2d({x:v(\"x\",r,t,e),filter:v(\"filter\",r,t,e),strides:[o[1],o[2]],pad:s,dataFormat:i,dilations:[a[1],a[2]],bias:u,activation:c,preluActivationWeights:l,leakyreluAlpha:p})]}case\"FusedDepthwiseConv2dNative\":{let{stride:o,pad:s,dataFormat:i,dilations:a,biasArg:u,preluArg:l,activationFunc:c,leakyreluAlpha:p}=yF(r,t,e);return[n.fused.depthwiseConv2d({x:v(\"x\",r,t,e),filter:v(\"filter\",r,t,e),strides:[o[1],o[2]],pad:s,dataFormat:i,dilations:[a[1],a[2]],bias:u,activation:c,preluActivationWeights:l,leakyreluAlpha:p})]}case\"Conv2DBackpropInput\":case\"Conv2dTranspose\":{let o=v(\"outputShape\",r,t,e),s=v(\"strides\",r,t,e),i=Vh(r,t,e);return[n.conv2dTranspose(v(\"x\",r,t,e),v(\"filter\",r,t,e),o,[s[1],s[2]],i)]}case\"DepthwiseConv2dNative\":case\"DepthwiseConv2d\":{let o=v(\"strides\",r,t,e),s=Vh(r,t,e),i=v(\"dilations\",r,t,e),a=v(\"dataFormat\",r,t,e).toUpperCase();return[n.depthwiseConv2d(v(\"input\",r,t,e),v(\"filter\",r,t,e),[o[1],o[2]],s,a,[i[1],i[2]])]}case\"Conv3D\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"dataFormat\",r,t,e).toUpperCase(),a=v(\"dilations\",r,t,e);return[n.conv3d(v(\"x\",r,t,e),v(\"filter\",r,t,e),[o[1],o[2],o[3]],s,i,[a[1],a[2],a[3]])]}case\"AvgPool\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"kernelSize\",r,t,e);return[n.avgPool(v(\"x\",r,t,e),[i[1],i[2]],[o[1],o[2]],s)]}case\"MaxPool\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"kernelSize\",r,t,e);return[n.maxPool(v(\"x\",r,t,e),[i[1],i[2]],[o[1],o[2]],s)]}case\"MaxPoolWithArgmax\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"kernelSize\",r,t,e),a=v(\"includeBatchInIndex\",r,t,e),{result:u,indexes:l}=n.maxPoolWithArgmax(v(\"x\",r,t,e),[i[1],i[2]],[o[1],o[2]],s,a);return[u,l]}case\"AvgPool3D\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"kernelSize\",r,t,e);return[n.avgPool3d(v(\"x\",r,t,e),[i[1],i[2],i[3]],[o[1],o[2],o[3]],s)]}case\"MaxPool3D\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"kernelSize\",r,t,e);return[n.maxPool3d(v(\"x\",r,t,e),[i[1],i[2],i[3]],[o[1],o[2],o[3]],s)]}case\"Dilation2D\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"dilations\",r,t,e),a=o[1],u=o[2],l=i[1],c=i[2];return[n.dilation2d(v(\"x\",r,t,e),v(\"filter\",r,t,e),[a,u],s,[l,c],\"NHWC\")]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var wF=(r,t,e,n=ae)=>{switch(r.op){case\"Fill\":{let o=v(\"shape\",r,t,e),s=v(\"dtype\",r,t,e),i=v(\"value\",r,t,e);return[n.fill(o,i,s)]}case\"LinSpace\":{let o=v(\"start\",r,t,e),s=v(\"stop\",r,t,e),i=v(\"num\",r,t,e);return[n.linspace(o,s,i)]}case\"Multinomial\":{let o=v(\"logits\",r,t,e),s=v(\"numSamples\",r,t,e),i=v(\"seed\",r,t,e);return[n.multinomial(o,s,i)]}case\"OneHot\":{let o=v(\"indices\",r,t,e),s=v(\"depth\",r,t,e),i=v(\"onValue\",r,t,e),a=v(\"offValue\",r,t,e),u=v(\"dtype\",r,t,e);return[n.oneHot(o,s,i,a,u)]}case\"Ones\":return[n.ones(v(\"shape\",r,t,e),v(\"dtype\",r,t,e))];case\"OnesLike\":return[n.onesLike(v(\"x\",r,t,e))];case\"RandomStandardNormal\":return[n.randomStandardNormal(v(\"shape\",r,t,e),v(\"dtype\",r,t,e),v(\"seed\",r,t,e))];case\"RandomUniform\":return[n.randomUniform(v(\"shape\",r,t,e),v(\"minval\",r,t,e),v(\"maxval\",r,t,e),v(\"dtype\",r,t,e))];case\"RandomUniformInt\":return[n.randomUniformInt(v(\"shape\",r,t,e),v(\"minval\",r,t,e),v(\"maxval\",r,t,e),v(\"seed\",r,t,e))];case\"Range\":{let o=v(\"start\",r,t,e),s=v(\"stop\",r,t,e),i=v(\"step\",r,t,e);return[n.range(o,s,i,v(\"dtype\",r,t,e))]}case\"TruncatedNormal\":{let o=v(\"shape\",r,t,e),s=v(\"mean\",r,t,e),i=v(\"stdDev\",r,t,e),a=v(\"seed\",r,t,e);return[n.truncatedNormal(o,s,i,v(\"dtype\",r,t,e),a)]}case\"Zeros\":return[n.zeros(v(\"shape\",r,t,e),v(\"dtype\",r,t,e))];case\"ZerosLike\":return[n.zerosLike(v(\"x\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function Tk(r,t,e){let n=v(\"boxes\",r,t,e),o=v(\"scores\",r,t,e),s=v(\"maxOutputSize\",r,t,e),i=v(\"iouThreshold\",r,t,e),a=v(\"scoreThreshold\",r,t,e),u=v(\"softNmsSigma\",r,t,e);return{boxes:n,scores:o,maxOutputSize:s,iouThreshold:i,scoreThreshold:a,softNmsSigma:u}}var IF=async(r,t,e,n,o=ae)=>{switch(r.op){case\"NonMaxSuppressionV5\":{let{boxes:s,scores:i,maxOutputSize:a,iouThreshold:u,scoreThreshold:l,softNmsSigma:c}=Tk(r,t,e),p=await o.image.nonMaxSuppressionWithScoreAsync(s,i,a,u,l,c);return[p.selectedIndices,p.selectedScores]}case\"NonMaxSuppressionV4\":{let{boxes:s,scores:i,maxOutputSize:a,iouThreshold:u,scoreThreshold:l}=Tk(r,t,e),c=v(\"padToMaxOutputSize\",r,t,e),p=await o.image.nonMaxSuppressionPaddedAsync(s,i,a,u,l,c);return[p.selectedIndices,p.validOutputs]}case\"NonMaxSuppressionV3\":case\"NonMaxSuppressionV2\":{let{boxes:s,scores:i,maxOutputSize:a,iouThreshold:u,scoreThreshold:l}=Tk(r,t,e);return[await o.image.nonMaxSuppressionAsync(s,i,a,u,l)]}case\"Where\":{let s=o.cast(v(\"condition\",r,t,e),\"bool\"),i=[await o.whereAsync(s)];return s.dispose(),i}case\"ListDiff\":return o.setdiff1dAsync(v(\"x\",r,t,e),v(\"y\",r,t,e));default:throw TypeError(`Node type ${r.op} is not implemented`)}};var CF=(r,t,e,n=ae)=>{switch(r.op){case\"LowerBound\":{let o=v(\"sortedSequence\",r,t,e),s=v(\"values\",r,t,e);return[n.lowerBound(o,s)]}case\"TopKV2\":{let o=v(\"x\",r,t,e),s=v(\"k\",r,t,e),i=v(\"sorted\",r,t,e),a=n.topk(o,s,i);return[a.values,a.indices]}case\"UpperBound\":{let o=v(\"sortedSequence\",r,t,e),s=v(\"values\",r,t,e);return[n.upperBound(o,s)]}case\"Unique\":{let o=v(\"x\",r,t,e),s=n.unique(o);return[s.values,s.indices]}case\"UniqueV2\":{let o=v(\"x\",r,t,e),s=v(\"axis\",r,t,e),i=n.unique(o,s);return[i.values,i.indices]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var vF=(r,t,e,n=ae)=>{switch(r.op){case\"Const\":return t[r.name];case\"PlaceholderWithDefault\":let o=v(\"default\",r,t,e);return[pr(r.name,t,e)||o];case\"Placeholder\":return[pr(r.name,t,e)];case\"Identity\":case\"StopGradient\":case\"FakeQuantWithMinMaxVars\":{let c=v(\"x\",r,t,e);return[bi(c)]}case\"IdentityN\":return v(\"x\",r,t,e).map(c=>bi(c));case\"Snapshot\":let s=v(\"x\",r,t,e);return[bi(s)];case\"Shape\":return[n.tensor1d(v(\"x\",r,t,e).shape,\"int32\")];case\"ShapeN\":return v(\"x\",r,t,e).map(c=>n.tensor1d(c.shape));case\"Size\":return[n.scalar(v(\"x\",r,t,e).size,\"int32\")];case\"Rank\":return[n.scalar(v(\"x\",r,t,e).rank,\"int32\")];case\"NoOp\":return[n.scalar(1)];case\"Print\":let i=v(\"x\",r,t,e),a=v(\"data\",r,t,e),u=v(\"message\",r,t,e),l=v(\"summarize\",r,t,e);console.warn(\"The graph has a tf.print() operation,usually used for debugging, which slows down performance.\"),console.log(u);for(let c=0;ct.dispose()),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return pt(this.size(),\"int32\")}async import(t,e){this.checkKeyAndValueTensor(t,e);let n=await t.data();return this.tensorMap.forEach(o=>o.dispose()),this.tensorMap.clear(),B(()=>{let o=gr(e),s=n.length,i=o.length;y.assert(s===i,()=>`The number of elements doesn't match, keys has ${s} elements, the values has ${i} elements.`);for(let a=0;a{let o=[];for(let s=0;s{switch(r.op){case\"HashTable\":case\"HashTableV2\":{let o=n.getHashTableHandleByName(r.name);if(o!=null)return[o];{let s=v(\"keyDType\",r,t,e),i=v(\"valueDType\",r,t,e),a=new tw(s,i);return n.addHashTable(r.name,a),[a.handle]}}case\"InitializeTable\":case\"InitializeTableV2\":case\"LookupTableImport\":case\"LookupTableImportV2\":{let o=v(\"tableHandle\",r,t,e,n),s=v(\"keys\",r,t,e),i=v(\"values\",r,t,e);return[await n.getHashTableById(o.id).import(s,i)]}case\"LookupTableFind\":case\"LookupTableFindV2\":{let o=v(\"tableHandle\",r,t,e,n),s=v(\"keys\",r,t,e),i=v(\"defaultValue\",r,t,e);return[await n.getHashTableById(o.id).find(s,i)]}case\"LookupTableSize\":case\"LookupTableSizeV2\":{let o=v(\"tableHandle\",r,t,e,n);return[n.getHashTableById(o.id).tensorSize()]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var NF=(r,t,e,n=ae)=>{switch(r.op){case\"ResizeBilinear\":{let o=v(\"images\",r,t,e),s=v(\"size\",r,t,e),i=v(\"alignCorners\",r,t,e),a=v(\"halfPixelCenters\",r,t,e);return[n.image.resizeBilinear(o,[s[0],s[1]],i,a)]}case\"ResizeNearestNeighbor\":{let o=v(\"images\",r,t,e),s=v(\"size\",r,t,e),i=v(\"alignCorners\",r,t,e),a=v(\"halfPixelCenters\",r,t,e);return[n.image.resizeNearestNeighbor(o,[s[0],s[1]],i,a)]}case\"CropAndResize\":{let o=v(\"image\",r,t,e),s=v(\"boxes\",r,t,e),i=v(\"boxInd\",r,t,e),a=v(\"cropSize\",r,t,e),u=v(\"method\",r,t,e),l=v(\"extrapolationValue\",r,t,e);return[n.image.cropAndResize(o,s,i,a,u,l)]}case\"ImageProjectiveTransformV3\":{let o=v(\"images\",r,t,e),s=v(\"transforms\",r,t,e),i=v(\"outputShape\",r,t,e),a=v(\"fillValue\",r,t,e),u=v(\"interpolation\",r,t,e),l=v(\"fillMode\",r,t,e);return[n.image.transform(o,s,u.toLowerCase(),l.toLowerCase(),a,i)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var kF=(r,t,e,n=ae)=>{switch(r.op){case\"Equal\":return[n.equal(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"NotEqual\":return[n.notEqual(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Greater\":return[n.greater(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"GreaterEqual\":return[n.greaterEqual(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Less\":return[n.less(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"LessEqual\":return[n.lessEqual(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"LogicalAnd\":return[n.logicalAnd(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"LogicalNot\":return[n.logicalNot(v(\"a\",r,t,e))];case\"LogicalOr\":return[n.logicalOr(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Select\":case\"SelectV2\":return[n.where(v(\"condition\",r,t,e),v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"BitwiseAnd\":return[n.bitwiseAnd(v(\"a\",r,t,e),v(\"b\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var TF=(r,t,e,n=ae)=>{switch(r.op){case\"BatchMatMul\":case\"BatchMatMulV2\":case\"MatMul\":return[n.matMul(v(\"a\",r,t,e),v(\"b\",r,t,e),v(\"transposeA\",r,t,e),v(\"transposeB\",r,t,e))];case\"Einsum\":return[n.einsum(v(\"equation\",r,t,e),...v(\"tensors\",r,t,e))];case\"Transpose\":return[n.transpose(v(\"x\",r,t,e),v(\"perm\",r,t,e))];case\"_FusedMatMul\":let[o,s]=v(\"fusedOps\",r,t,e),i=o===\"biasadd\",a=s===\"prelu\",u=v(\"numArgs\",r,t,e),l=v(\"leakyreluAlpha\",r,t,e);if(i){if(a&&u!==2)throw new Error(\"Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.\");if(!a&&u!==1)throw new Error(\"Fused MatMul with BiasAdd must have one extra argument: bias.\")}let[c,p]=v(\"args\",r,t,e);return[n.fused.matMul({a:v(\"a\",r,t,e),b:v(\"b\",r,t,e),transposeA:v(\"transposeA\",r,t,e),transposeB:v(\"transposeB\",r,t,e),bias:c,activation:s,preluActivationWeights:p,leakyreluAlpha:l})];case\"MatrixBandPart\":return[n.linalg.bandPart(v(\"a\",r,t,e),v(\"numLower\",r,t,e),v(\"numUpper\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var _F=(r,t,e,n=ae)=>{switch(r.op){case\"EuclideanNorm\":return[n.euclideanNorm(v(\"x\",r,t,e),v(\"axis\",r,t,e),v(\"keepDims\",r,t,e))];case\"FusedBatchNorm\":case\"FusedBatchNormV2\":return[n.batchNorm(v(\"x\",r,t,e),v(\"mean\",r,t,e),v(\"variance\",r,t,e),v(\"offset\",r,t,e),v(\"scale\",r,t,e),v(\"epsilon\",r,t,e))];case\"FusedBatchNormV3\":return[n.batchNorm(v(\"x\",r,t,e),v(\"mean\",r,t,e),v(\"variance\",r,t,e),v(\"offset\",r,t,e),v(\"scale\",r,t,e),v(\"epsilon\",r,t,e))];case\"LRN\":return[n.localResponseNormalization(v(\"x\",r,t,e),v(\"radius\",r,t,e),v(\"bias\",r,t,e),v(\"alpha\",r,t,e),v(\"beta\",r,t,e))];case\"Softmax\":return[n.softmax(v(\"x\",r,t,e))];case\"LogSoftmax\":return[n.logSoftmax(v(\"x\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var EF=(r,t,e,n=ae)=>{switch(r.op){case\"RaggedGather\":{let{outputNestedSplits:o,outputDenseValues:s}=n.raggedGather(v(\"paramsNestedSplits\",r,t,e),v(\"paramsDenseValues\",r,t,e),v(\"indices\",r,t,e),v(\"outputRaggedRank\",r,t,e));return o.concat(s)}case\"RaggedRange\":{let{rtNestedSplits:o,rtDenseValues:s}=n.raggedRange(v(\"starts\",r,t,e),v(\"limits\",r,t,e),v(\"splits\",r,t,e));return[o,s]}case\"RaggedTensorToTensor\":return[n.raggedTensorToTensor(v(\"shape\",r,t,e),v(\"values\",r,t,e),v(\"defaultValue\",r,t,e),v(\"rowPartitionTensors\",r,t,e),v(\"rowPartitionTypes\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var AF=(r,t,e,n=ae)=>{switch(r.op){case\"Max\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.max(v(\"x\",r,t,e),a,u)]}case\"Mean\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.mean(v(\"x\",r,t,e),a,u)]}case\"Min\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.min(v(\"x\",r,t,e),a,u)]}case\"Sum\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.sum(v(\"x\",r,t,e),a,u)]}case\"All\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.all(v(\"x\",r,t,e),a,u)]}case\"Any\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.any(v(\"x\",r,t,e),a,u)]}case\"ArgMax\":{let a=v(\"axis\",r,t,e);return[n.argMax(v(\"x\",r,t,e),a)]}case\"ArgMin\":{let a=v(\"axis\",r,t,e);return[n.argMin(v(\"x\",r,t,e),a)]}case\"Prod\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.prod(v(\"x\",r,t,e),a,u)]}case\"Cumprod\":{let a=v(\"axis\",r,t,e),u=v(\"exclusive\",r,t,e),l=v(\"reverse\",r,t,e);return[n.cumprod(v(\"x\",r,t,e),a,u,l)]}case\"Cumsum\":{let a=v(\"axis\",r,t,e),u=v(\"exclusive\",r,t,e),l=v(\"reverse\",r,t,e);return[n.cumsum(v(\"x\",r,t,e),a,u,l)]}case\"Bincount\":let o=v(\"x\",r,t,e),s=v(\"weights\",r,t,e),i=v(\"size\",r,t,e);return[n.bincount(o,s,i)];case\"DenseBincount\":{let a=v(\"x\",r,t,e),u=v(\"weights\",r,t,e),l=v(\"size\",r,t,e),c=v(\"binaryOutput\",r,t,e);return[n.denseBincount(a,u,l,c)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var DF=(r,t,e,n=ae)=>{switch(r.op){case\"ConcatV2\":case\"Concat\":{let o=v(\"n\",r,t,e),s=v(\"axis\",r,t,e),i=v(\"tensors\",r,t,e);return i=i.slice(0,o),[n.concat(i,s)]}case\"Gather\":{let o=v(\"x\",r,t,e),s=v(\"indices\",r,t,e);return[n.gather(o,n.cast(s,\"int32\"),0)]}case\"GatherV2\":{let o=v(\"axis\",r,t,e),s=v(\"batchDims\",r,t,e),i=v(\"x\",r,t,e),a=v(\"indices\",r,t,e);return[n.gather(i,n.cast(a,\"int32\"),o,s)]}case\"Reverse\":{let o=v(\"dims\",r,t,e),s=[];for(let a=0;a{let o=v(\"axis\",r,t,e),s=v(\"tensors\",r,t,e),i=s[0].shape,a=n.squeeze(s[0]).shape,u=s.map(l=>{let c=y.arraysEqual(l.shape,i);if(!c&&!y.arraysEqual(n.squeeze(l).shape,a))throw new Error(\"the input tensors shape does not match\");return c?l:n.reshape(l,i)});return[n.stack(u,o)]});case\"Unpack\":{let o=v(\"axis\",r,t,e),s=v(\"tensor\",r,t,e);return n.unstack(s,o)}case\"Tile\":{let o=v(\"reps\",r,t,e);return[n.tile(v(\"x\",r,t,e),o)]}case\"Split\":case\"SplitV\":{let o=v(\"axis\",r,t,e),s=v(\"numOrSizeSplits\",r,t,e),i=v(\"x\",r,t,e);return n.split(i,s,o)}case\"ScatterNd\":{let o=v(\"indices\",r,t,e),s=v(\"values\",r,t,e),i=v(\"shape\",r,t,e);return[n.scatterND(o,s,i)]}case\"GatherNd\":{let o=v(\"x\",r,t,e),s=v(\"indices\",r,t,e);return[n.gatherND(o,s)]}case\"SparseToDense\":{let o=v(\"sparseIndices\",r,t,e),s=v(\"outputShape\",r,t,e),i=v(\"sparseValues\",r,t,e),a=v(\"defaultValue\",r,t,e);return[n.sparseToDense(o,i,s,i.dtype===a.dtype?a:n.cast(a,i.dtype))]}case\"TensorScatterUpdate\":{let o=v(\"indices\",r,t,e),s=v(\"values\",r,t,e),i=v(\"tensor\",r,t,e);return[n.tensorScatterUpdate(i,o,s)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var $F=(r,t,e,n=ae)=>{switch(r.op){case\"SparseFillEmptyRows\":{let{outputIndices:o,outputValues:s,emptyRowIndicator:i,reverseIndexMap:a}=n.sparse.sparseFillEmptyRows(v(\"indices\",r,t,e),v(\"values\",r,t,e),v(\"denseShape\",r,t,e),v(\"defaultValue\",r,t,e));return[o,s,i,a]}case\"SparseReshape\":{let{outputIndices:o,outputShape:s}=n.sparse.sparseReshape(v(\"inputIndices\",r,t,e),v(\"inputShape\",r,t,e),v(\"newShape\",r,t,e));return[o,s]}case\"SparseSegmentMean\":return[n.sparse.sparseSegmentMean(v(\"data\",r,t,e),v(\"indices\",r,t,e),v(\"segmentIds\",r,t,e))];case\"SparseSegmentSum\":return[n.sparse.sparseSegmentSum(v(\"data\",r,t,e),v(\"indices\",r,t,e),v(\"segmentIds\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var RF=(r,t,e,n=ae)=>{switch(r.op){case\"FFT\":return[n.fft(v(\"x\",r,t,e))];case\"IFFT\":return[n.ifft(v(\"x\",r,t,e))];case\"RFFT\":return[n.rfft(v(\"x\",r,t,e))];case\"IRFFT\":return[n.irfft(v(\"x\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var FF=(r,t,e,n=ae)=>{switch(r.op){case\"StaticRegexReplace\":return[n.string.staticRegexReplace(v(\"input\",r,t,e),v(\"pattern\",r,t,e),v(\"rewrite\",r,t,e),v(\"replaceGlobal\",r,t,e))];case\"StringNGrams\":{let{nGrams:o,nGramsSplits:s}=n.string.stringNGrams(v(\"data\",r,t,e),v(\"dataSplits\",r,t,e),v(\"separator\",r,t,e),v(\"nGramWidths\",r,t,e),v(\"leftPad\",r,t,e),v(\"rightPad\",r,t,e),v(\"padWidth\",r,t,e),v(\"preserveShortSequences\",r,t,e));return[o,s]}case\"StringSplit\":{let{indices:o,values:s,shape:i}=n.string.stringSplit(v(\"input\",r,t,e),v(\"delimiter\",r,t,e),v(\"skipEmpty\",r,t,e));return[o,s,i]}case\"StringToHashBucketFast\":return[n.string.stringToHashBucketFast(v(\"input\",r,t,e),v(\"numBuckets\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var OF=(r,t,e,n=ae)=>{switch(r.op){case\"Cast\":return[n.cast(v(\"x\",r,t,e),v(\"dtype\",r,t,e))];case\"ExpandDims\":{let o=v(\"axis\",r,t,e);return[n.expandDims(v(\"x\",r,t,e),o)]}case\"Squeeze\":{let o=v(\"axis\",r,t,e);return[n.squeeze(v(\"x\",r,t,e),o)]}case\"Reshape\":return[n.reshape(v(\"x\",r,t,e),v(\"shape\",r,t,e))];case\"EnsureShape\":return[n.ensureShape(v(\"x\",r,t,e),v(\"shape\",r,t,e))];case\"MirrorPad\":return[n.mirrorPad(v(\"x\",r,t,e),v(\"padding\",r,t,e),v(\"mode\",r,t,e))];case\"PadV2\":case\"Pad\":return[n.pad(v(\"x\",r,t,e),v(\"padding\",r,t,e),v(\"constantValue\",r,t,e))];case\"SpaceToBatchND\":{let o=v(\"blockShape\",r,t,e),s=v(\"paddings\",r,t,e);return[n.spaceToBatchND(v(\"x\",r,t,e),o,s)]}case\"BatchToSpaceND\":{let o=v(\"blockShape\",r,t,e),s=v(\"crops\",r,t,e);return[n.batchToSpaceND(v(\"x\",r,t,e),o,s)]}case\"DepthToSpace\":{let o=v(\"blockSize\",r,t,e),s=v(\"dataFormat\",r,t,e).toUpperCase();return[n.depthToSpace(v(\"x\",r,t,e),o,s)]}case\"BroadcastTo\":return[n.broadcastTo(v(\"x\",r,t,e),v(\"shape\",r,t,e))];case\"BroadcastArgs\":return[n.broadcastArgs(v(\"s0\",r,t,e),v(\"s1\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function _k(r,t,e,n,o=B){let s=((i,a,u)=>{switch(i.category){case\"arithmetic\":return o(()=>cF(i,a,u));case\"basic_math\":return o(()=>pF(i,a,u));case\"control\":return xF(i,a,u);case\"convolution\":return o(()=>bF(i,a,u));case\"creation\":return o(()=>wF(i,a,u));case\"dynamic\":return IF(i,a,u);case\"evaluation\":return o(()=>CF(i,a,u));case\"image\":return o(()=>NF(i,a,u));case\"graph\":return o(()=>vF(i,a,u));case\"logical\":return o(()=>kF(i,a,u));case\"matrices\":return o(()=>TF(i,a,u));case\"normalization\":return o(()=>_F(i,a,u));case\"ragged\":return o(()=>EF(i,a,u));case\"reduction\":return o(()=>AF(i,a,u));case\"slice_join\":return o(()=>DF(i,a,u));case\"sparse\":return o(()=>$F(i,a,u));case\"spectral\":return o(()=>RF(i,a,u));case\"string\":return o(()=>FF(i,a,u));case\"transformation\":return o(()=>OF(i,a,u));case\"hash_table\":return SF(i,a,u,n);case\"custom\":let l=zb(i.op);if(l&&l.customExecutor)return l.customExecutor(new Zb(i,a,u));throw TypeError(`Custom op ${i.op} is not registered.`);default:throw TypeError(`Unknown op '${i.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(r,t,e);return y.isPromise(s)?s.then(i=>[].concat(i)):[].concat(s)}var Wh=class{constructor(t={},e={},n={},o={},s){this.weightMap=t,this.tensorArrayMap=e,this.tensorListMap=n,this.functionMap=o,this.parseNodeNameCache=s,this.rootContext={id:0,frameName:\"\",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(t,e){return{id:t,frameName:e,iterationId:0}}set currentContext(t){this.contexts!==t&&(this.contexts=t,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){let t=[];for(let e=0;ee.id===0&&e.iterationId===0?\"\":`${e.frameName}-${e.iterationId}`).join(\"/\"):\"\"}enterFrame(t){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,t)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(this.contexts&&this.contexts.length>1)this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift();else throw new Error(\"Cannot exit frame, the context is empty\")}nextIteration(){if(this.contexts&&this.contexts.length>0){this.contexts=this.contexts.slice(),this.lastId++;let t=Object.assign({},this.contexts[this.contexts.length-1]);t.iterationId+=1,t.id=this.lastId,this.contexts.splice(-1,1,t),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}else throw new Error(\"Cannot increase frame iteration, the context is empty\")}getWeight(t){return this.weightMap[t]}addTensorArray(t){this.tensorArrayMap[t.id]=t}getTensorArray(t){return this.tensorArrayMap[t]}addTensorList(t){this.tensorListMap[t.id]=t}getTensorList(t){return this.tensorListMap[t]}dispose(t){for(let e in this.tensorArrayMap)this.tensorArrayMap[e].clearAndClose(t);for(let e in this.tensorListMap)this.tensorListMap[e].clearAndClose(t)}};function Ek(r,t,e,n){let o=new Set,s=[],i=null,a=null,u=new Set,l=new Set(Object.keys(r).map(m=>In(m)[0]));n=n||[];let c=new Set(n.map(m=>In(m.name)[0])),p=[...t];for(;p.length>0;){let m=p.pop();if((Bu(m)||utt(m)||ctt(m))&&i==null&&(i=m,a=i.children.map(f=>f.name).filter(f=>o.has(f))),o.add(m.name),e[m.name]==null&&!l.has(m.name)&&!c.has(m.name)){if(m.inputs.length===0){s.push(m.name);continue}m.inputs.forEach(f=>{u.has(f.name)||(u.add(f.name),p.push(f))})}}return{inputs:r,outputs:t,usedNodes:o,missingInputs:s,dynamicNode:i,syncInputs:a}}function MF(r,t){let{usedNodes:e,inputs:n}=t,o=Object.keys(n).map(g=>In(g)[0]).map(g=>r.nodes[g]),s=r.initNodes||[],i=g=>e.has(typeof g==\"string\"?g:g.name);function a(g){return[...new Map(g.map(x=>[x.name,x])).values()]}let u=a([...o,...r.weights,...s]).filter(i),l=a([...u,...Object.values(r.nodes)]).filter(i),c=new Map(l.map(g=>[g.name,g])),p={};for(let g of l){p[g.name]=p[g.name]||0;for(let x of g.children)i(x)||(p[x.name]=Number.POSITIVE_INFINITY),p[x.name]=(p[x.name]||0)+1}let m=Object.entries(p).filter(([,g])=>g===0).map(([g])=>g),f=[...m];for(;m.length>0;){let g=m.pop(),x=c.get(g);for(let b of x.children.filter(i))--p[b.name]===0&&(f.push(b.name),m.push(b.name))}let d=f.map(g=>c.get(g)),h=ott(d,u);return stt(h,u),h}function ott(r,t){let e=new Map(r.map(i=>[i.name,i])),n=t.map(i=>i.name),o=new Set(n);for(;n.length>0;){let i=n.pop(),a=e.get(i);for(let u of a.children)!e.has(u.name)||o.has(u.name)||(o.add(u.name),n.push(u.name))}return r.filter(i=>o.has(i.name))}var rd=class extends Error{constructor(t){super(`NodesExecutionOrderError: ${t}`)}};function stt(r,t){let e=new Map(r.map((a,u)=>[a.name,u])),n=new Set(t.map(a=>a.name)),o=a=>n.has(typeof a==\"string\"?a:a.name),s=new Set(r.map(a=>a.name)),i=a=>s.has(typeof a==\"string\"?a:a.name);for(let a of r){for(let u of a.children.filter(i)){if(!e.has(u.name))throw new rd(`Child ${u.name} of node ${a.name} is unreachable.`);if(e.get(a.name)>e.get(u.name))throw new rd(`Node ${a.name} is scheduled to run after its child ${u.name}.`)}if(!o(a))for(let u of a.inputs){if(!e.has(u.name))throw new rd(`Input ${u.name} of node ${a.name} is unreachable.`);if(e.get(u.name)>e.get(a.name))throw new rd(`Node ${a.name} is scheduled to run before its input ${u.name}.`)}}}function PF(r){let t=new Map(r.map((a,u)=>[a.name,u])),e=Number.MAX_SAFE_INTEGER,n=r.map((a,u)=>Bu(a)?e:u),o=a=>{let u=n[t.get(a.name)];return u==null?-1:u},s=r.map((a,u)=>a.children.map(o).reduce((l,c)=>Math.max(l,c),n[u])),i=new Map;for(let a=0;at[n].map(o=>o.id));this._weightIds=[].concat(...e),this._weightMap=t}set resourceManager(t){this._resourceManager=t}get inputs(){return this._inputs.map(t=>({name:t.name,shape:t.attrParams.shape?t.attrParams.shape.value:void 0,dtype:t.attrParams.dtype?t.attrParams.dtype.value:void 0}))}get outputs(){return this._outputs.map(t=>({name:t.name,shape:t.attrParams.shape?t.attrParams.shape.value:void 0,dtype:t.attrParams.dtype?t.attrParams.dtype.value:void 0}))}get inputNodes(){return this._inputs.map(t=>t.signatureKey||t.name)}get outputNodes(){return this._outputs.map(t=>{let e=t.signatureKey||t.name;return t.defaultOutput?`${e}:${t.defaultOutput}`:e})}get functions(){return Object.keys(this._functions).reduce((t,e)=>(t[e]=this._functions[e].signature,t),{})}constructor(t,e){this.graph=t,this.parent=e,this.compiledMap=new Map,this.parseNodeNameCache=new Map,this._weightMap={},this.SEPARATOR=\",\",this._functions={},this._functionExecutorMap={},this.keepIntermediateTensors=!1,this._outputs=t.outputs,this._inputs=t.inputs,this._initNodes=t.initNodes,this._signature=t.signature,this._functions=t.functions,t.functions!=null&&Object.keys(t.functions).forEach(n=>{this._functionExecutorMap[n]=new r(t.functions[n],this)})}getCompilationKey(t,e){let n=t.map(s=>s.name).sort(),o=e.map(s=>s.name).sort();return n.join(this.SEPARATOR)+\"--\"+o.join(this.SEPARATOR)}compile(t,e){let n=Ek(t,e,this.weightMap,this._initNodes),{missingInputs:o,dynamicNode:s,syncInputs:i}=n;if(s!=null)throw new Error(`This execution contains the node '${s.name}', which has the dynamic op '${s.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${i}]`);if(o.length>0){let l=e.map(p=>p.name),c=Object.keys(t);throw new Error(`Cannot compute the outputs [${l}] from the provided inputs [${c}]. Missing the following inputs: [${o}]`)}let a=MF(this.graph,n),u=PF(a);return{orderedNodes:a,nodeLiveUntilMap:u}}cloneAndKeepTensor(t){if(t==null)return null;let e=t.clone();return De(e),e}cloneTensorList(t){return t?t.map(n=>this.cloneAndKeepTensor(n)):null}cloneTensorMap(t){return Object.fromEntries(Object.entries(t).map(([e,n])=>[e,this.cloneTensorList(n)]))}execute(t,e){this.disposeIntermediateTensors(),t=this.mapInputs(t);let n=Object.keys(t).sort();this.checkInputs(t),this.checkInputShapeAndType(t),e=this.mapOutputs(e),this.checkOutputs(e);let o=n.map(m=>this.graph.nodes[In(m)[0]]),s=e.map(m=>In(m)[0]),i=new Set(s),a=s.map(m=>this.graph.nodes[m]);a.length===0&&(a=this._outputs);let u=this.getCompilationKey(o,a),l=this.compiledMap.get(u);l==null&&(l=this.compile(t,a),this.compiledMap.set(u,l));try{this.keepIntermediateTensors=L().getBool(\"KEEP_INTERMEDIATE_TENSORS\")}catch(m){this.keepIntermediateTensors=!1,console.warn(m.message)}let c={},p={};return B(()=>{let m=new Wh(this.weightMap,c,p,this.functionExecutorMap,this.parseNodeNameCache),f=Object.assign({},this.weightMap);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap)),Object.keys(t).forEach(x=>{let[b,w]=In(x,m),I=[];I[w]=t[x],f[b]=I,this.keepIntermediateTensors&&(this.clonedTensorsMap[b]=this.cloneTensorList(I))});let d=this.getFrozenTensorIds(f),{orderedNodes:h,nodeLiveUntilMap:g}=l;for(let x of h){if(f[x.name])continue;let b=_k(x,f,m,this._resourceManager);if(y.isPromise(b))throw new Error(`The execution of the op '${x.op}' returned a promise. Please use model.executeAsync() instead.`);f[x.name]=b,this.keepIntermediateTensors&&(this.clonedTensorsMap[x.name]=this.cloneTensorList(b)),this.checkTensorForDisposalWithNodeLiveUntilInfo(x,f,m,d,i,g.get(x.name))}return this.parent==null&&m.dispose(d),e.map(x=>pr(x,f,m))})}getFrozenTensorIds(t){let e=[].concat.apply([],Object.keys(t).map(n=>t[n]).map(n=>n.map(o=>o.id)));return new Set(e)}checkTensorForDisposal(t,e,n,o,s,i,a){if(!(Bu(e)||i.has(t))){for(let u of n[t])u!=null&&(a[u.id]=(a[u.id]||0)+e.children.length);for(let u of e.inputs){if(Bu(u))continue;let l=ik(u.name,n,o);if(l!=null)for(let c of l){if(!c||c.kept||s.has(c.id))continue;let p=a[c.id];p===1?(c.dispose(),delete a[c.id]):p!=null&&a[c.id]--}}}}checkTensorForDisposalWithNodeLiveUntilInfo(t,e,n,o,s,i){function a(u){return Bu(u)||s.has(u.name)}if(!(Bu(t)||i==null))for(let u of i){if(a(u))continue;let l=ik(u.name,e,n);for(let c of l)!c||c.kept||o.has(c.id)||c.dispose()}}async executeAsync(t,e){return this._executeAsync(t,e)}disposeIntermediateTensors(){this.clonedTensorsMap&&(Object.values(this.clonedTensorsMap).forEach(t=>{for(let e of t)e&&!e.isDisposed&&e.dispose()}),this.clonedTensorsMap=null)}getIntermediateTensors(){return this.clonedTensorsMap}async _executeAsync(t,e,n=!1,o={},s={}){this.disposeIntermediateTensors(),n||(t=this.mapInputs(t),this.checkInputs(t),this.checkInputShapeAndType(t),e=this.mapOutputs(e),this.checkOutputs(e));try{this.keepIntermediateTensors=L().getBool(\"KEEP_INTERMEDIATE_TENSORS\")}catch(m){this.keepIntermediateTensors=!1,console.warn(m.message)}let i=new Wh(this.weightMap,o,s,this.functionExecutorMap,this.parseNodeNameCache);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap));let a=await this.executeWithControlFlow(t,i,e,n),u=e.map(m=>pr(m,a,i)),l=u.map(m=>m.id),c=Object.keys(t).map(m=>t[m].id),p=new Set([...l,...c,...this.weightIds]);return Object.values(a).forEach(m=>{m.forEach(f=>{f&&!f.isDisposed&&!p.has(f.id)&&f.dispose()})}),this.parent==null&&i.dispose(p),u}async executeFunctionAsync(t,e,n){let o=t.reduce((s,i,a)=>(s[this.inputs[a].name]=i,s),{});return this._executeAsync(o,this.outputNodes,!0,e,n)}async executeWithControlFlow(t,e,n,o){let s=Object.keys(t),i=s.map(I=>this.graph.nodes[In(I)[0]]),a=n.map(I=>In(I)[0]),u=new Set(a),l=a.map(I=>this.graph.nodes[I]);l.length===0&&(l=this._outputs);let{usedNodes:c,missingInputs:p,dynamicNode:m,syncInputs:f}=Ek(t,l,this.weightMap,this._initNodes),d=[...i,...this.graph.weights,...this._initNodes||[]].map(I=>({node:I,contexts:e.currentContext})),h=Object.assign({},this.weightMap);Object.keys(t).forEach(I=>{let[N,E]=In(I),A=[];A[E]=t[I],h[N]=A});let g={},x=this.getFrozenTensorIds(h),b={};for(;d.length>0;){let I=this.processStack(i,d,e,h,b,x,u,g,c);await Promise.all(I)}m==null&&!o&&console.warn(\"This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.\");let w=l.filter(I=>!Bu(I)&&!pr(I.name,h,e)).map(I=>I.name);if(w.length>0){let I=\"\";throw m!=null&&(I=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${f}]`),new Error(`Cannot compute the outputs [${w}] from the provided inputs [${s}]. Consider providing the following inputs: [${p}]. ${I}`)}return h}processStack(t,e,n,o,s,i,a,u,l){let c=[];for(;e.length>0;){let p=e.pop();n.currentContext=p.contexts;let m=\"\";if(p.node.op===\"Enter\"&&v(\"isConstant\",p.node,o,n)&&([m]=yi(p.node.name,n)),o[p.node.name]==null){let f=_k(p.node,o,n,this._resourceManager);m||([m]=yi(p.node.name,n));let d=n.currentContext;y.isPromise(f)?c.push(f.then(h=>(o[m]=h,this.keepIntermediateTensors&&(this.clonedTensorsMap[m]=this.cloneTensorList(h)),n.currentContext=d,this.checkTensorForDisposal(m,p.node,o,n,i,a,u),this.processChildNodes(p.node,e,n,o,s,l),h))):(o[m]=f,this.keepIntermediateTensors&&(this.clonedTensorsMap[m]=this.cloneTensorList(f)),this.checkTensorForDisposal(m,p.node,o,n,i,a,u),this.processChildNodes(p.node,e,n,o,s,l))}else this.processChildNodes(p.node,e,n,o,s,l)}return c}processChildNodes(t,e,n,o,s,i){t.children.forEach(a=>{let[u]=yi(a.name,n);s[u]||!i.has(a.name)||(a.op===\"Merge\"?a.inputNames.some(l=>!!pr(l,o,n))&&(s[u]=!0,e.push({contexts:n.currentContext,node:a})):a.inputNames.every(l=>!!pr(l,o,n))&&(s[u]=!0,e.push({contexts:n.currentContext,node:a})))})}dispose(){Object.keys(this.weightMap).forEach(t=>this.weightMap[t].forEach(e=>e.dispose()))}checkInputShapeAndType(t){Object.keys(t).forEach(e=>{let n=t[e],[o]=In(e),s=this.graph.nodes[o];if(s.attrParams.shape&&s.attrParams.shape.value){let i=s.attrParams.shape.value,a=i.length===n.shape.length&&n.shape.every((u,l)=>i[l]===-1||i[l]===u);y.assert(a,()=>`The shape of dict['${s.name}'] provided in model.execute(dict) must be [${i}], but was [${n.shape}]`)}s.attrParams.dtype&&s.attrParams.dtype.value&&y.assert(n.dtype===s.attrParams.dtype.value,()=>`The dtype of dict['${s.name}'] provided in model.execute(dict) must be ${s.attrParams.dtype.value}, but was ${n.dtype}`)})}mapInputs(t){var e,n;let o={};for(let s in t){let i=(n=(e=this._signature)===null||e===void 0?void 0:e.inputs)===null||n===void 0?void 0:n[s];i!=null?o[i.name]=t[s]:o[s]=t[s]}return o}checkInputs(t){let e=Object.keys(t).filter(n=>{let[o]=In(n);return this.graph.nodes[o]==null});if(e.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${e}] that are not part of graph`)}mapOutputs(t){return t.map(e=>{var n,o;let s=(o=(n=this._signature)===null||n===void 0?void 0:n.outputs)===null||o===void 0?void 0:o[e];return s!=null?s.name:e},{})}checkOutputs(t){t.forEach(e=>{let[n]=In(e);if(!this.graph.nodes[n])throw new Error(`The output '${e}' is not found in the graph`)})}};var ew=class{constructor(t={},e={}){this.hashTableNameToHandle=t,this.hashTableMap=e}addHashTable(t,e){this.hashTableNameToHandle[t]=e.handle,this.hashTableMap[e.id]=e}getHashTableHandleByName(t){return this.hashTableNameToHandle[t]}getHashTableById(t){return this.hashTableMap[t]}dispose(){for(let t in this.hashTableMap)this.hashTableMap[t].clearAndClose(),delete this.hashTableMap[t];for(let t in this.hashTableNameToHandle)this.hashTableNameToHandle[t].dispose(),delete this.hashTableNameToHandle[t]}};var ptt=\"?tfjs-format=file\",mtt=\"model.json\",Hh=class{get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}get modelStructuredOutputKeys(){return this.structuredOutputKeys}constructor(t,e={},n=Mr){this.modelUrl=t,this.loadOptions=e,this.version=\"n/a\",this.io=n,e==null&&(this.loadOptions={}),this.resourceManager=new ew}findIOHandler(){let t=this.modelUrl;if(t.load!=null)this.handler=t;else if(this.loadOptions.requestInit!=null)this.handler=this.io.browserHTTPRequest(t,this.loadOptions);else{let e=this.io.getLoadHandlers(t,this.loadOptions);if(e.length===0)e.push(this.io.browserHTTPRequest(t,this.loadOptions));else if(e.length>1)throw new Error(`Found more than one (${e.length}) load handlers for URL '${[t]}'`);this.handler=e[0]}}load(){if(this.findIOHandler(),this.handler.load==null)throw new Error(\"Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.\");let t=this.handler.load();return y.isPromise(t)?t.then(e=>e.getWeightStream==null?this.loadSync(e):this.loadStreaming(e)):this.loadSync(t)}loadSync(t){let e=this.io.decodeWeights(t.weightData,t.weightSpecs);return this.loadWithWeightMap(t,e)}async loadStreaming(t){if(t.getWeightStream==null)throw new Error(\"Model artifacts missing streamWeights function\");let e=await ix(t.getWeightStream(),t.weightSpecs);return this.loadWithWeightMap(t,e)}loadWithWeightMap(t,e){this.artifacts=t;let n=this.artifacts.modelTopology,o=this.artifacts.signature;if(this.artifacts.userDefinedMetadata!=null){let s=this.artifacts.userDefinedMetadata;s.signature!=null&&(o=s.signature),s.structuredOutputKeys!=null&&(this.structuredOutputKeys=s.structuredOutputKeys)}if(this.signature=o,this.version=`${n.versions.producer}.${n.versions.minConsumer}`,this.executor=new Uh(Gh.Instance.transformGraph(n,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(e),this.executor.resourceManager=this.resourceManager,t.modelInitializer!=null&&t.modelInitializer.node!=null){let s=Gh.Instance.transformGraph(t.modelInitializer);this.initializer=new Uh(s),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializerSignature=t.initializerSignature}return!0}async save(t,e){if(typeof t==\"string\"){let n=this.io.getSaveHandlers(t);if(n.length===0)throw new Error(`Cannot find any save handlers for URL '${t}'`);if(n.length>1)throw new Error(`Found more than one (${n.length}) save handlers for URL '${t}'`);t=n[0]}if(t.save==null)throw new Error(\"GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.\");return t.save(this.artifacts)}addStructuredOutputNames(t){if(this.structuredOutputKeys){let e=t instanceof Lt?[t]:t,n={};return e.forEach((o,s)=>n[this.structuredOutputKeys[s]]=o),n}return t}predict(t,e){let n=this.execute(t,this.outputNodes);return this.addStructuredOutputNames(n)}async predictAsync(t,e){let n=await this.executeAsync(t,this.outputNodes);return this.addStructuredOutputNames(n)}normalizeInputs(t){var e;if(!(t instanceof Lt)&&!Array.isArray(t)){let s=(e=this.signature)===null||e===void 0?void 0:e.inputs;if(s!=null)for(let i in s){let a=s[i];a.resourceId!=null&&(t[i]=this.resourceIdToCapturedInput[a.resourceId])}return t}t=Array.isArray(t)?t:[t];let n=Object.keys(this.resourceIdToCapturedInput).length;if(t.length+n!==this.inputNodes.length)throw new Error(`Input tensor count mismatch, the graph model has ${this.inputNodes.length-n} non-resource placeholders, while there are ${t.length} input tensors provided.`);let o=0;return this.inputNodes.reduce((s,i)=>{var a,u,l;let c=(l=(u=(a=this.signature)===null||a===void 0?void 0:a.inputs)===null||u===void 0?void 0:u[i])===null||l===void 0?void 0:l.resourceId;return c!=null?s[i]=this.resourceIdToCapturedInput[c]:s[i]=t[o++],s},{})}normalizeOutputs(t){return t=t||this.outputNodes,Array.isArray(t)?t:[t]}executeInitializerGraph(){return this.initializer==null?[]:this.initializerSignature==null?this.initializer.execute({},[]):this.initializer.execute({},Object.keys(this.initializerSignature.outputs))}async executeInitializerGraphAsync(){return this.initializer==null?[]:this.initializerSignature==null?this.initializer.executeAsync({},[]):this.initializer.executeAsync({},Object.keys(this.initializerSignature.outputs))}setResourceIdToCapturedInput(t){if(this.resourceIdToCapturedInput={},this.initializerSignature){let e=this.initializerSignature.outputs,n=Object.keys(e);for(let o=0;o1?n:n[0]}async executeAsync(t,e){this.resourceIdToCapturedInput==null&&this.setResourceIdToCapturedInput(await this.executeInitializerGraphAsync()),t=this.normalizeInputs(t),e=this.normalizeOutputs(e);let n=await this.executor.executeAsync(t,e);return n.length>1?n:n[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(t){return Object.keys(t).reduce((e,n)=>(e[n]=[t[n]],e),{})}dispose(){this.executor.dispose(),this.initializer&&(this.initializer.dispose(),this.resourceIdToCapturedInput&&Tt(this.resourceIdToCapturedInput)),this.resourceManager.dispose()}};async function ftt(r,t={},e=Mr){if(r==null)throw new Error(\"modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model\");t==null&&(t={}),t.fromTFHub&&typeof r==\"string\"&&(r=htt(r));let n=new Hh(r,t,e);return await n.load(),n}function dtt(r){if(r==null)throw new Error(\"modelUrl in loadGraphModelSync() cannot be null. Please provide model artifacts or an IOHandler that loads the model\");let t;if(r instanceof Array){let[n,o]=r;if(!n)throw new Error(\"modelJSON must be the first element of the array\");if(!o||!(o instanceof ArrayBuffer))throw new Error(\"An ArrayBuffer of weights must be the second element of the array\");if(!(\"modelTopology\"in n))throw new Error(\"Model JSON is missing 'modelTopology'\");if(!(\"weightsManifest\"in n))throw new Error(\"Model JSON is missing 'weightsManifest'\");let s=Mr.getWeightSpecs(n.weightsManifest),i=Mr.getModelArtifactsForJSONSync(n,s,o);t=Mr.fromMemorySync(i)}else if(\"load\"in r)t=r;else if(\"modelTopology\"in r&&\"weightSpecs\"in r&&\"weightData\"in r)t=Mr.fromMemorySync(r);else throw new Error(\"Unknown model format\");let e=new Hh(t);return e.load(),e}function htt(r){return r.endsWith(\"/\")||(r=r+\"/\"),`${r}${mtt}${ptt}`}var LF=\"4.16.0\";var oO={};Kt(oO,{CSVDataset:()=>sd,Dataset:()=>wi,FileDataSource:()=>ld,TextLineDataset:()=>od,URLDataSource:()=>ud,array:()=>jF,csv:()=>QF,func:()=>tO,generator:()=>eO,microphone:()=>nO,version_data:()=>Yk,webcam:()=>rO,zip:()=>XF});var KF=Gl(dh());var UF=Gl(dh());function zF(r,t){return rw(r,t)}function rw(r,t,e=new Map,n=new Set){if(r==null)return null;if(typeof Blob==\"function\"&&r instanceof Blob)return r.slice();if(n.has(r))throw new Error(\"Circular references are not supported.\");if(e.has(r))return e.get(r);let o=t(r);if(o.recurse&&o.value!==null)throw new Error(\"A deep map function may not return both a value and recurse=true.\");if(o.recurse)if(Vu(r)){let s=Array.isArray(r)?[]:{};n.add(r);for(let i in r){let a=r[i],u=rw(a,t,e,n);s[i]=u}return n.delete(r),r.__proto__&&(s.__proto__=r.__proto__),s}else throw new Error(`Can't recurse into non-iterable type: ${r}`);else return e.set(r,o.value),o.value}function BF(r,t=Dk){return VF(r,t)}function VF(r,t,e=new Set){let n=r[0];if(e.has(n))throw new Error(\"Circular references are not supported.\");let o=t(r);if(o.recurse&&o.value!==null)throw new Error(\"A deep zip function may not return both a value and recurse=true.\");if(o.recurse)if(Vu(n)){let s=Array.isArray(n)?[]:{};e.add(n);for(let i in n){let a=r.map(l=>l[i]),u=VF(a,t,e);s[i]=u}return e.delete(n),s}else throw new Error(`Can't recurse into non-iterable type: ${n}`);else return o.value}function Dk(r){return r===null?null:Vu(r[0])?{value:null,recurse:!0}:{value:r,recurse:!1}}async function nw(r,t){let e=new Map;rw(r,t,e);for(let o of Array.from(e.keys())){let s=e.get(o);if(y.isPromise(s)){let i=await s;e.set(o,i)}}return rw(r,t,e)}function Vu(r){let t=!1;if(L().get(\"IS_BROWSER\"))t=r instanceof TextDecoder;else{let{StringDecoder:e}=Ak();t=r instanceof e}return r!=null&&!ArrayBuffer.isView(r)&&(Array.isArray(r)||typeof r==\"object\"&&!(r instanceof Lt)&&!(r instanceof Promise)&&!t)}function GF(r){return r==null||gtt(r)||Array.isArray(r)||typeof r==\"object\"&&r instanceof Lt||y.isTypedArray(r)}function gtt(r){return r===null||typeof r!=\"object\"&&typeof r!=\"function\"}function WF(r){return zF(r,xtt)}function xtt(r){return r instanceof Lt?{value:r.clone(),recurse:!1}:Vu(r)?{value:null,recurse:!0}:{value:r,recurse:!1}}var nd=class{constructor(t){if(this.capacity=t,this.begin=0,this.end=0,t==null)throw new RangeError(\"Can't create a ring buffer of unknown capacity.\");if(t<1)throw new RangeError(\"Can't create ring buffer of capacity < 1.\");this.data=new Array(t),this.doubledCapacity=2*t}wrap(t){for(;t<0;)t+=this.doubledCapacity;return t%this.doubledCapacity}get(t){if(t<0)throw new RangeError(\"Can't get item at a negative index.\");return this.data[t%this.capacity]}set(t,e){if(t<0)throw new RangeError(\"Can't set item at a negative index.\");this.data[t%this.capacity]=e}length(){let t=this.end-this.begin;return t<0&&(t=this.doubledCapacity+t),t}isFull(){return this.length()===this.capacity}isEmpty(){return this.length()===0}push(t){if(this.isFull())throw new RangeError(\"Ring buffer is full.\");this.set(this.end,t),this.end=this.wrap(this.end+1)}pushAll(t){for(let e of t)this.push(e)}pop(){if(this.isEmpty())throw new RangeError(\"Ring buffer is empty.\");this.end=this.wrap(this.end-1);let t=this.get(this.end);return this.set(this.end,void 0),t}unshift(t){if(this.isFull())throw new RangeError(\"Ring buffer is full.\");this.begin=this.wrap(this.begin-1),this.set(this.begin,t)}shift(){if(this.isEmpty())throw new RangeError(\"Ring buffer is empty.\");let t=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),t}shuffleExcise(t){if(this.isEmpty())throw new RangeError(\"Ring buffer is empty.\");let e=this.wrap(this.begin+t),n=this.get(e);return this.set(e,this.pop()),n}};var qh=class r extends nd{constructor(){super(r.INITIAL_CAPACITY)}isFull(){return!1}push(t){super.isFull()&&this.expand(),super.push(t)}unshift(t){super.isFull()&&this.expand(),super.unshift(t)}expand(){let t=this.capacity*2,e=new Array(t),n=this.length();for(let o=0;oe===!0)}rowMajorBatch(t,e=!0){return new Pk(this,t,e)}columnMajorBatch(t,e=!0,n=Dk){return this.rowMajorBatch(t,e).map(s=>BF(s,n))}concatenate(t,e){return new sw(Uk([this,t]),e)}take(t){return t<0||t==null?this:new Mk(this,t)}skip(t){return t<0||t==null?this:new Ok(this,t)}prefetch(t){return new iw(this,t)}shuffle(t,e){return new Wk(this,t,e)}serial(){return new Fk(this)}},$k=class extends er{constructor(t){super(),this.items=t,this.trav=0}summary(){return`Array of ${this.items.length} items`}async next(){if(this.trav>=this.items.length)return{value:null,done:!0};let t=this.items[this.trav];return this.trav++,{value:WF(t),done:!1}}},Rk=class extends er{constructor(t){super(),this.nextFn=t}summary(){return\"Function call\"}async next(){try{return this.nextFn()}catch(t){throw t.message=`Error thrown while iterating through a dataset: ${t.message}`,t}}},Fk=class extends er{constructor(t){super(),this.upstream=t,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Serial`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){return this.upstream.next()}},Ok=class extends er{constructor(t,e){super(),this.upstream=t,this.maxCount=e,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Skip`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;this.count++ Take`}async next(){return this.count++>=this.maxCount?{value:null,done:!0}:this.upstream.next()}},Pk=class extends er{constructor(t,e,n=!0){super(),this.upstream=t,this.batchSize=e,this.enableSmallLastBatch=n,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> RowMajorBatch`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){let t=[];for(;t.length0?{value:t,done:!1}:{value:null,done:!0};t.push(e.value)}return{value:t,done:!1}}},Lk=class extends er{constructor(t,e){super(),this.upstream=t,this.predicate=e,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Filter`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;){let t=await this.upstream.next();if(t.done||this.predicate(t.value))return t;Tt(t.value)}}},zk=class extends er{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> Map`}async next(){let t=await this.upstream.next();if(t.done)return{value:null,done:!0};let e=Io.getTensorsInContainer(t.value),n=this.transform(t.value),o=Io.getTensorsInContainer(n);for(let s of e)Io.isTensorInList(s,o)||s.dispose();return{value:n,done:!1}}},Bk=class extends er{constructor(t,e){super(),this.upstream=t,this.handler=e,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> handleErrors`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;)try{return await this.upstream.next()}catch(t){if(!this.handler(t))return{value:null,done:!0}}}},ow=class extends er{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){let t=await this.upstream.next();if(t.done)return{value:null,done:!0};let e=Io.getTensorsInContainer(t.value),n=await this.transform(t.value),o=Io.getTensorsInContainer(n);for(let s of e)Io.isTensorInList(s,o)||s.dispose();return{value:n,done:!1}}},Zc=class extends er{constructor(){super(),this.outputQueue=new qh,this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;this.outputQueue.length()===0;)if(!await this.pump())return{value:null,done:!0};return{value:this.outputQueue.shift(),done:!1}}},Vk=class extends Zc{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){let t=await this.upstream.next();if(t.done)return!1;let e=Io.getTensorsInContainer(t.value),n=this.transform(t.value),o=Io.getTensorsInContainer(n);this.outputQueue.pushAll(n);for(let s of e)Io.isTensorInList(s,o)||s.dispose();return!0}},sw=class extends er{constructor(t,e){super(),this.baseErrorHandler=e,this.lastRead=null,this.iterator=null,this.moreIterators=t}summary(){return\"TODO: fill in upstream of chained summaries -> Chained\"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(t){if(await t,this.iterator==null){let n=await this.moreIterators.next();if(n.done)return{value:null,done:!0};this.iterator=n.value,this.baseErrorHandler!=null&&(this.iterator=this.iterator.handleErrors(this.baseErrorHandler))}let e=await this.iterator.next();return e.done?(this.iterator=null,this.readFromChain(t)):e}},Dl;(function(r){r[r.FAIL=0]=\"FAIL\",r[r.SHORTEST=1]=\"SHORTEST\",r[r.LONGEST=2]=\"LONGEST\"})(Dl||(Dl={}));var Gk=class extends er{constructor(t,e=Dl.FAIL){super(),this.iterators=t,this.mismatchMode=e,this.count=0,this.currentPromise=null}summary(){return\"{TODO: fill in upstream of zip summaries} -> Zip\"}async nextState(t){await t;let e=0,n=0;function o(i){return i instanceof er?{value:i.next().then(u=>(e++,u.done&&n++,u.value)),recurse:!1}:{value:null,recurse:!0}}let s=await nw(this.iterators,o);if(e===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case Dl.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case Dl.SHORTEST:return{value:null,done:!0};case Dl.LONGEST:default:}return this.count++,{value:s,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}},iw=class extends er{constructor(t,e){super(),this.upstream=t,this.bufferSize=e,this.buffer=new nd(e)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){let t=this.upstream.next();this.buffer.push(t)}}next(){return this.refill(),this.buffer.shift()}},Wk=class extends iw{constructor(t,e,n){super(t,e),this.upstream=t,this.windowSize=e,this.upstreamExhausted=!1,this.random=UF.alea(n||y.now().toString()),this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}randomInt(t){return Math.floor(this.random()*t)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){let t=this.chooseIndex(),e=await this.buffer.shuffleExcise(t);if(e.done)this.upstreamExhausted=!0;else return this.refill(),e}return{value:null,done:!0}}};var wi=class{constructor(){this.size=null}batch(t,e=!0){let n=this;y.assert(t>0,()=>`batchSize needs to be positive, but it is\n ${t}`);let o;return this.size===1/0||this.size==null?o=this.size:e?o=Math.ceil(this.size/t):o=Math.floor(this.size/t),En(async()=>(await n.iterator()).columnMajorBatch(t,e,ytt),o)}concatenate(t){let e=this,n;return this.size===1/0||t.size===1/0?n=1/0:this.size!=null&&t.size!=null?n=this.size+t.size:n=null,En(async()=>(await e.iterator()).concatenate(await t.iterator()),n)}filter(t){let e=this,n;return this.size===1/0?n=1/0:n=null,En(async()=>(await e.iterator()).filter(o=>B(()=>t(o))),n)}async forEachAsync(t){return(await this.iterator()).forEachAsync(t)}map(t){let e=this;return En(async()=>(await e.iterator()).map(n=>B(()=>t(n))),this.size)}mapAsync(t){let e=this;return En(async()=>(await e.iterator()).mapAsync(t),this.size)}prefetch(t){if(t==null)throw new RangeError(\"`Dataset.prefetch()` requires bufferSize to be specified.\");let e=this;return En(async()=>(await e.iterator()).prefetch(t),this.size)}repeat(t){let e=this,n;return this.size!=null&&t>0?n=this.size*t:t===0?n=0:this.size!=null&&(t===void 0||t<0)?n=1/0:n=null,En(async()=>{let o=Kh(async()=>({value:await e.iterator(),done:!1}));return HF(o.take(t))},n)}skip(t){let e=this,n;return this.size!=null&&t>=0&&this.size>=t?n=this.size-t:this.size!=null&&(this.size(await e.iterator()).skip(t),n)}shuffle(t,e,n=!0){if(t==null||t<0)throw this.size==null?new RangeError(\"`Dataset.shuffle()` requires bufferSize to be specified.\"):new RangeError(`\\`Dataset.shuffle()\\` requires bufferSize to be specified. If your data fits in main memory (for regular JS objects), and/or GPU memory (for \\`tf.Tensor\\`s), consider setting bufferSize to the dataset size (${this.size} elements)`);let o=this,s=KF.alea(e||y.now().toString());return En(async()=>{let i=s.int32();return n&&(i+=s.int32()),(await o.iterator()).shuffle(t,i.toString())},this.size)}take(t){let e=this,n;return this.size!=null&&this.size>t?n=t:this.size!=null&&this.size<=t?n=this.size:n=null,En(async()=>(await e.iterator()).take(t),n)}async toArray(){if(this.size===1/0)throw new Error(\"Can not convert infinite data stream to array.\");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===1/0)throw new Error(\"Can not convert infinite data stream to array.\");return(await this.iterator()).toArrayForTest()}};wi.MAX_BUFFER_SIZE=1e4;function En(r,t=null){return new class extends wi{constructor(){super(...arguments),this.size=t}async iterator(){return r()}}}function jF(r){return En(async()=>Uk(r),r.length)}function XF(r){if(!Vu(r))throw new Error(\"The argument to zip() must be an object or array.\");let t;if(Array.isArray(r))for(let e=0;e{let e=await nw(r,n=>{if(n instanceof wi)return{value:n.iterator(),recurse:!1};if(Vu(n))return{value:null,recurse:!0};throw new Error(\"Leaves of the structure passed to zip() must be Datasets, not primitives.\")});return qF(e,Dl.SHORTEST)},t)}function ytt(r){if(r===null)return null;let t=r[0];return GF(t)?{value:btt(r),recurse:!1}:{value:null,recurse:!0}}function btt(r){if(r.length===0)throw new Error(\"Can't make a batch of zero elements.\");return r[0]instanceof Lt?Fe(r):ir(r)}var od=class extends wi{constructor(t){super(),this.input=t}async iterator(){return(await this.input.iterator()).decodeUTF8().split(`\n`).map(o=>(o.endsWith(\"\\r\")&&(o=o.slice(0,-1)),o))}};var aw='\"',jh=Symbol(\"out\"),YF=Symbol(\"field\"),lw=Symbol(\"quote\"),Hk=Symbol(\"quoteafterquote\"),ZF=Symbol(\"quoteinquote\"),sd=class extends wi{async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){let t=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!t)throw new Error(\"Column names must be provided if there is no header line.\");this.fullColumnNames&&t&&y.assert(t.length===this.fullColumnNames.length,()=>\"The length of provided columnNames (\"+this.fullColumnNames.length.toString()+\") does not match the length of the header line read from file (\"+t.length.toString()+\").\"),this.fullColumnNames||(this.fullColumnNames=t);let e=this.fullColumnNames.reduce((o,s)=>(o[s]=o[s]+1||1,o),{}),n=Object.keys(e).filter(o=>e[o]>1);if(y.assert(n.length===0,()=>\"Duplicate column names found: \"+n.toString()),this.columnConfigs){for(let o of Object.keys(this.columnConfigs))if(this.fullColumnNames.indexOf(o)===-1)throw new Error('The key \"'+o+'\" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+\").\")}this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){let e=await(await this.base.iterator()).next();if(e.done)throw new Error(\"No data was found for CSV parsing.\");let n=e.value;return this.parseRow(n,!1)}else return null}constructor(t,e){super(),this.input=t,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=\",\",this.delimWhitespace=!1,this.base=new od(t),e||(e={}),this.hasHeader=e.hasHeader!==!1,this.fullColumnNames=e.columnNames,this.columnConfigs=e.columnConfigs,this.configuredColumnsOnly=e.configuredColumnsOnly,e.delimWhitespace?(y.assert(e.delimiter==null,()=>\"Delimiter should not be provided when delimWhitespace is true.\"),this.delimWhitespace=!0,this.delimiter=\" \"):this.delimiter=e.delimiter?e.delimiter:\",\"}async iterator(){this.columnNamesValidated||await this.setColumnNames();let t=await this.base.iterator();return this.hasHeader&&(t=t.skip(1)),t.map(e=>this.makeDataElement(e))}makeDataElement(t){let e=this.parseRow(t),n={},o={};for(let s=0;s14||!Number.isInteger(e))throw new Error(`Invalid fftSize: it must be a power of 2 between 2 to 4 and 2 to 14, but got ${this.fftSize}`);if(this.numFrames=t.numFramesPerSpectrogram||43,this.sampleRateHz=t.sampleRateHz,this.columnTruncateLength=t.columnTruncateLength||this.fftSize,this.audioTrackConstraints=t.audioTrackConstraints,this.smoothingTimeConstant=t.smoothingTimeConstant||0,this.includeSpectrogram=t.includeSpectrogram!==!1,this.includeWaveform=t.includeWaveform===!0,!this.includeSpectrogram&&!this.includeWaveform)throw new Error(\"Both includeSpectrogram and includeWaveform are false. At least one type of data should be returned.\")}summary(){return\"microphone\"}static async create(t={}){if(!L().get(\"IS_BROWSER\"))throw new Error(\"microphone API is only supported in browser environment.\");let e=new r(t);return await e.start(),e}async start(){try{this.stream=await navigator.mediaDevices.getUserMedia({audio:this.audioTrackConstraints==null?!0:this.audioTrackConstraints,video:!1})}catch(n){throw new Error(`Error thrown while initializing video stream: ${n.message}`)}if(!this.stream)throw new Error(\"Could not obtain audio from microphone.\");let t=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new t,!this.sampleRateHz)this.sampleRateHz=this.audioContext.sampleRate;else if(this.audioContext.sampleRate!==this.sampleRateHz)throw new Error(`Mismatch in sampling rate: Expected: ${this.sampleRateHz}; Actual: ${this.audioContext.sampleRate}`);let e=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=this.fftSize*2,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,e.connect(this.analyser),this.freqData=new Float32Array(this.fftSize),this.timeData=new Float32Array(this.fftSize)}async next(){if(this.isClosed)return{value:null,done:!0};let t,e,n=await this.getAudioData();if(this.includeSpectrogram){let o=this.flattenQueue(n.freqDataQueue);t=this.getTensorFromAudioDataArray(o,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){let o=this.flattenQueue(n.timeDataQueue);e=this.getTensorFromAudioDataArray(o,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:t,waveform:e},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){let t=[],e=[],n=0;return new Promise(o=>{let s=setInterval(()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&o({freqDataQueue:t,timeDataQueue:e}),t.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),e.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(s),o({freqDataQueue:t,timeDataQueue:e}))},this.fftSize/this.sampleRateHz*1e3)})}stop(){this.isClosed||(this.isClosed=!0,this.analyser.disconnect(),this.audioContext.close(),this.stream!=null&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop())}toArray(){throw new Error(\"Can not convert infinite audio stream to array.\")}getSampleRate(){return this.sampleRateHz}flattenQueue(t){let e=t[0].length,n=new Float32Array(t.length*e);return t.forEach((o,s)=>n.set(o,s*e)),n}getTensorFromAudioDataArray(t,e){let n=new Float32Array(y.sizeFromShape(e));return n.set(t,n.length-t.length),ir(n,e)}};var cw=class r extends er{constructor(t,e){if(super(),this.webcamVideoElement=t,this.webcamConfig=e,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=Oe([0],\"int32\"),this.webcamConfig.centerCrop){let n=this.webcamConfig.resizeWidth*1/this.webcamVideoElement.width,o=this.webcamConfig.resizeHeight*1/this.webcamVideoElement.height,s=(1-n)/2,i=(1-o)/2,a=s+n,u=o+i;this.cropBox=ci([i,s,u,a],[1,4])}else this.cropBox=ci([0,0,1,1],[1,4])}summary(){return\"webcam\"}static async create(t,e={}){if(!L().get(\"IS_BROWSER\"))throw new Error(\"tf.data.webcam is only supported in browser environment.\");if(!t){if(t=document.createElement(\"video\"),!e.resizeWidth||!e.resizeHeight)throw new Error(\"Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.\");t.width=e.resizeWidth,t.height=e.resizeHeight}let n=new r(t,e);return await n.start(),n}async start(){this.webcamConfig.facingMode&&y.assert(this.webcamConfig.facingMode===\"user\"||this.webcamConfig.facingMode===\"environment\",()=>`Invalid webcam facing mode: ${this.webcamConfig.facingMode}. Please provide 'user' or 'environment'`);try{this.stream=await navigator.mediaDevices.getUserMedia({video:{deviceId:this.webcamConfig.deviceId,facingMode:this.webcamConfig.facingMode?this.webcamConfig.facingMode:\"user\",width:this.webcamVideoElement.width,height:this.webcamVideoElement.height}})}catch(t){throw t.message=`Error thrown while initializing video stream: ${t.message}`,t}if(!this.stream)throw new Error(\"Could not obtain video from webcam.\");try{this.webcamVideoElement.srcObject=this.stream}catch(t){console.log(t),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise(t=>{this.webcamVideoElement.onloadedmetadata=()=>{t()}})}async next(){if(this.isClosed)return{value:null,done:!0};let t;try{t=_y.fromPixels(this.webcamVideoElement)}catch(e){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(e)}`)}if(this.resize)try{return{value:this.cropAndResizeFrame(t),done:!1}}catch(e){throw new Error(`Error thrown cropping the video: ${e.message}`)}finally{t.dispose()}else return{value:t,done:!1}}needToResize(){return!!(this.webcamConfig.resizeWidth&&this.webcamConfig.resizeHeight&&(this.webcamVideoElement.width!==this.webcamConfig.resizeWidth||this.webcamVideoElement.height!==this.webcamConfig.resizeHeight))}cropAndResizeFrame(t){return B(()=>{let e=je(J(t,\"float32\"),0),n;n=fn.cropAndResize(e,this.cropBox,this.cropBoxInd,this.cropSize,\"bilinear\");let o=n.shape;return R(n,o.slice(1))})}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach(e=>e.stop());try{this.webcamVideoElement.srcObject=null}catch(e){console.log(e),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error(\"Can not convert infinite video stream to array.\")}};var id=class{};var Xh=class extends er{split(t){return new qk(this,t)}},qk=class extends Xh{constructor(t,e){super(),this.upstream=t,this.impl=new Kk(t,e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}},Kk=class extends Zc{constructor(t,e){super(),this.upstream=t,this.separator=e,this.carryover=\"\"}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){let t=await this.upstream.next();if(t.done)return this.carryover===\"\"?!1:(this.outputQueue.push(this.carryover),this.carryover=\"\",!0);let e=t.value.split(this.separator);e[0]=this.carryover+e[0];for(let n of e.slice(0,-1))this.outputQueue.push(n);return this.carryover=e[e.length-1],!0}};var pw=class extends er{decodeUTF8(){return new jk(this)}},jk=class extends Xh{constructor(t){super(),this.upstream=t,this.impl=new Xk(t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}},Xk=class extends Zc{constructor(t){if(super(),this.upstream=t,L().get(\"IS_BROWSER\"))this.decoder=new TextDecoder(\"utf-8\");else{let{StringDecoder:e}=Ak();this.decoder=new e(\"utf8\")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){let t=await this.upstream.next(),e;if(t.done)return!1;e=t.value;let n;return L().get(\"IS_BROWSER\")?n=this.decoder.decode(e,{stream:!0}):n=this.decoder.write(Buffer.from(e.buffer)),this.outputQueue.push(n),!0}};var ad=class extends pw{constructor(t,e={}){super(),this.file=t,this.options=e,y.assert(t instanceof Uint8Array||(L().get(\"IS_BROWSER\")?t instanceof File||t instanceof Blob:!1),()=>\"FileChunkIterator only supports File, Blob and Uint8Array right now.\"),this.offset=e.offset||0,this.chunkSize=e.chunkSize||1024*1024}summary(){return`FileChunks ${this.file}`}async next(){return this.offset>=(this.file instanceof Uint8Array?this.file.byteLength:this.file.size)?{value:null,done:!0}:{value:await new Promise((e,n)=>{let o=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)e(new Uint8Array(this.file.slice(this.offset,o)));else{let s=new FileReader;s.onload=a=>{let u=s.result;if(u instanceof ArrayBuffer&&(u=new Uint8Array(u)),!(u instanceof Uint8Array))return n(new TypeError(\"FileReader returned unknown type.\"));e(u)},s.onabort=a=>n(new Error(\"Aborted\")),s.onerror=a=>n(new Error(a.type));let i=this.file.slice(this.offset,o);s.readAsArrayBuffer(i)}this.offset=o}),done:!1}}};async function JF(r,t={},e){let n,o;typeof r==\"string\"?n=r:(n=r.url,o=wtt(r));let s=await(e||y.fetch)(n,o);if(s.ok){let i=new Uint8Array(await s.arrayBuffer());return new ad(i,t)}else throw new Error(s.statusText)}var wtt=r=>({method:r.method,headers:r.headers,body:r.body,mode:r.mode,credentials:r.credentials,cache:r.cache,redirect:r.redirect,referrer:r.referrer,integrity:r.integrity});function mw(r){return typeof r==\"string\"&&r.slice(0,7)===\"file://\"}var ld=class extends id{constructor(t,e={}){super(),this.input=t,this.options=e}async iterator(){if(mw(this.input)&&L().get(\"IS_NODE\")){let t=fw();this.input=t.readFileSync(this.input.slice(7))}return new ad(this.input,this.options)}};var ud=class extends id{constructor(t,e={}){super(),this.url=t,this.fileOptions=e}async iterator(){return mw(this.url)?new ld(this.url,this.fileOptions).iterator():JF(this.url,this.fileOptions)}};function QF(r,t={}){return new sd(new ud(r),t)}function tO(r){let t=Kh(r);return En(async()=>t)}function eO(r){return En(async()=>{let t=await r();return Kh(()=>t.next())})}async function rO(r,t){return cw.create(r,t)}async function nO(r){return uw.create(r)}var Yk=\"4.16.0\";function tt(r,t){Array.isArray(r)||(r=[r]),r.forEach(e=>{e!=null&&y.assert(e.dtype!==\"complex64\",()=>`${t} does not support complex64 tensors in the CPU backend.`)})}var Itt=Kr.whereImpl,cd=class r extends Bo{nextDataId(){return r.nextDataId++}constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new Ta(this,Bn())}write(t,e,n){this.firstUse&&(this.firstUse=!1,L().get(\"IS_NODE\")&&S.warn(`\n============================\nHi, looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, visit https://github.com/tensorflow/tfjs-node for more details. \n============================`));let o={id:this.nextDataId()};return this.data.set(o,{values:t,dtype:n,refCount:1}),o}makeTensorInfo(t,e,n){let o;if(e===\"string\"&&n!=null&&n.length>0&&y.isString(n[0])){let s=n.map(i=>y.encodeString(i));o=this.write(s,t,e)}else o=this.write(n,t,e);return{dataId:o,shape:t,dtype:e}}refCount(t){return this.data.has(t)?this.data.get(t).refCount:0}incRef(t){let e=this.data.get(t);e.refCount++}decRef(t){if(this.data.has(t)){let e=this.data.get(t);e.refCount--}}move(t,e,n,o,s){this.data.set(t,{values:e,dtype:o,refCount:s})}numDataIds(){return this.data.numDataIds()}async read(t){return this.readSync(t)}readSync(t){let{dtype:e,complexTensorInfos:n}=this.data.get(t);if(e===\"complex64\"){let o=this.readSync(n.real.dataId),s=this.readSync(n.imag.dataId);return S.mergeRealAndImagArrays(o,s)}return y.convertBackendValuesAndArrayBuffer(this.data.get(t).values,e)}bufferSync(t){let e=this.readSync(t.dataId);if(t.dtype===\"string\")try{let n=e.map(o=>y.decodeString(o));return wt(t.shape,t.dtype,n)}catch(n){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return wt(t.shape,t.dtype,e)}makeOutput(t,e,n){return Bn().makeTensorFromTensorInfo(this.makeTensorInfo(e,n,t),this)}disposeData(t,e=!1){if(this.data.has(t)){if(this.data.get(t).refCount--,!e&&this.data.get(t).refCount>0)return!1;let{complexTensorInfos:n}=this.data.get(t);n!=null&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(t)}return!0}disposeIntermediateTensorInfo(t){this.disposeData(t.dataId)}async time(t){let e=y.now();return t(),{kernelMs:y.now()-e}}memory(){return{unreliable:!0,reasons:[\"The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less.\"]}}where(t){tt([t],\"where\");let e=this.readSync(t.dataId);return Itt(t.shape,e)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}};cd.nextDataId=0;var Tw={};Kt(Tw,{addImpl:()=>Qk,bincountImpl:()=>fd,bincountReduceImpl:()=>dw,bitwiseAndImpl:()=>tT,castImpl:()=>Jk,ceilImpl:()=>eT,concatImpl:()=>Jc,equalImpl:()=>rT,expImpl:()=>oT,expm1Impl:()=>iT,floorDivImpl:()=>lT,floorImpl:()=>aT,gatherNdImpl:()=>hw,gatherV2Impl:()=>gw,greaterEqualImpl:()=>cT,greaterImpl:()=>uT,lessEqualImpl:()=>mT,lessImpl:()=>pT,linSpaceImpl:()=>xw,logImpl:()=>fT,maxImpl:()=>yw,maximumImpl:()=>dT,minimumImpl:()=>hT,multiplyImpl:()=>Yh,negImpl:()=>gT,notEqualImpl:()=>xT,prodImpl:()=>yT,raggedGatherImpl:()=>bw,raggedRangeImpl:()=>ww,raggedTensorToTensorImpl:()=>Iw,rangeImpl:()=>tp,rsqrtImpl:()=>wT,scatterImpl:()=>Ii,sigmoidImpl:()=>OO,simpleAbsImpl:()=>Zk,sliceImpl:()=>ep,sparseFillEmptyRowsImpl:()=>Cw,sparseReshapeImpl:()=>vw,sparseSegmentReductionImpl:()=>hd,sqrtImpl:()=>LO,squaredDifferenceImpl:()=>CT,staticRegexReplaceImpl:()=>vT,stridedSliceImpl:()=>Sw,stringNGramsImpl:()=>rp,stringSplitImpl:()=>np,stringToHashBucketFastImpl:()=>op,subImpl:()=>NT,tileImpl:()=>Nw,topKImpl:()=>kw,transposeImpl:()=>dd,uniqueImpl:()=>sp});function Zk(r){let t=new Float32Array(r.length);for(let e=0;e{let{x:t}=r.inputs,e=r.backend;tt(t,\"abs\");let n=new Float32Array(y.sizeFromShape(t.shape)),o=e.data.get(t.dataId).values;return n=Zk(o),e.makeOutput(n,t.shape,t.dtype)},sO={kernelName:Ei,backendName:\"cpu\",kernelFunc:Ctt};function Qt(r){return(t,e,n,o,s)=>{let i=S.assertAndGetBroadcastShape(t,e),a=i.length,u=y.computeStrides(i),l=y.sizeFromShape(i),c=y.getTypedArrayFromDType(s,l),p=t.length,m=e.length,f=y.computeStrides(t),d=y.computeStrides(e),h=S.getBroadcastDims(t,i),g=S.getBroadcastDims(e,i);if(h.length+g.length===0)for(let x=0;xw[A]=0);let I=y.locToIndex(w,p,f),N=b.slice(-m);g.forEach(A=>N[A]=0);let E=y.locToIndex(N,m,d);c[x]=r(n[I],o[E])}return[c,i]}}function Ir(r){let{inputs:t,backend:e}=r,{real:n,imag:o}=t,s=e.data.get(n.dataId).values,i=e.data.get(o.dataId).values,a=e.makeTensorInfo(n.shape,\"complex64\"),u=e.data.get(a.dataId);return u.complexTensorInfos={real:e.makeTensorInfo(n.shape,\"float32\",s),imag:e.makeTensorInfo(o.shape,\"float32\",i)},a}var iO={kernelName:Ap,backendName:\"cpu\",kernelFunc:Ir};function pd(r,t,e=\"float32\"){if(e===\"complex64\"){let o=pd(r,t,\"float32\"),s=pd(r,t,\"float32\");return Ir({inputs:{real:o,imag:s},backend:r})}let n=y.makeZerosTypedArray(y.sizeFromShape(t),e);return r.makeTensorInfo(t,e,n)}function Xr(r){let{inputs:t,backend:e}=r,{x:n}=t;return e.incRef(n.dataId),{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}var aO={kernelName:go,backendName:\"cpu\",kernelFunc:Xr};function Ro(r){let{inputs:t,backend:e}=r,{input:n}=t,o=e.data.get(n.dataId).complexTensorInfos.real,s=e.data.get(o.dataId).values;return e.makeTensorInfo(o.shape,o.dtype,s)}var lO={kernelName:Vp,backendName:\"cpu\",kernelFunc:Ro};function Jk(r,t,e,n){if(n===\"int32\"){let o=Int32Array.from(r);return[t,\"int32\",o]}if(n===\"bool\"){let o=y.toTypedArray([0],e),[s,i]=Qt((a,u)=>a!==u?1:0)(t,[],r,o,\"bool\");return[i,\"bool\",s]}throw new Error(`Error in Cast: failed to cast ${e} to ${n}`)}function Fo(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dtype:s}=n;if(s===\"complex64\"){if(o.dtype===\"complex64\")return Xr({inputs:{x:o},backend:e});let c=pd(e,o.shape,o.dtype),p=Fo({inputs:{x:o},backend:e,attrs:{dtype:\"float32\"}}),m=Ir({inputs:{real:p,imag:c},backend:e});return e.disposeIntermediateTensorInfo(c),e.disposeIntermediateTensorInfo(p),m}if(o.dtype===\"complex64\"){let c=Ro({inputs:{input:o},backend:e}),p=Fo({inputs:{x:c},backend:e,attrs:{dtype:s}});return e.disposeIntermediateTensorInfo(c),p}if(!y.hasEncodingLoss(o.dtype,s)){let c=Xr({inputs:{x:o},backend:e});return{dataId:c.dataId,shape:c.shape,dtype:s}}let i=e.data.get(o.dataId).values,[a,u,l]=Jk(i,o.shape,o.dtype,s);return e.makeTensorInfo(a,u,l)}var uO={kernelName:fo,backendName:\"cpu\",kernelFunc:Fo};function oe(r,t,e,n){return e==null?({inputs:o,backend:s})=>{let{a:i,b:a}=o,u=s;tt([i,a],r);let l=u.data.get(i.dataId).values,c=u.data.get(a.dataId).values,p=i.dtype===\"string\"?S.fromUint8ToStringArray(l):l,m=i.dtype===\"string\"?S.fromUint8ToStringArray(c):c,f=n||i.dtype,[d,h]=t(i.shape,a.shape,p,m,f);return u.makeTensorInfo(h,f,d)}:({inputs:o,backend:s})=>{let{a:i,b:a}=o,u=s;if(i.dtype===\"complex64\"||a.dtype===\"complex64\"){let l=Fo({inputs:{x:i},backend:u,attrs:{dtype:\"complex64\"}}),c=u.data.get(l.dataId),p=c.complexTensorInfos.real,m=c.complexTensorInfos.imag,f=u.data.get(p.dataId).values,d=u.data.get(m.dataId).values,h=Fo({inputs:{x:a},backend:u,attrs:{dtype:\"complex64\"}}),g=u.data.get(h.dataId),x=g.complexTensorInfos.real,b=g.complexTensorInfos.imag,w=u.data.get(x.dataId).values,I=u.data.get(b.dataId).values,[N,E,A]=e(i.shape,a.shape,f,d,w,I),D=u.makeTensorInfo(A,\"float32\",N),F=u.makeTensorInfo(A,\"float32\",E),M=Ir({inputs:{real:D,imag:F},backend:u});return u.disposeIntermediateTensorInfo(l),u.disposeIntermediateTensorInfo(h),u.disposeIntermediateTensorInfo(D),u.disposeIntermediateTensorInfo(F),M}else{let l=u.data.get(i.dataId).values,c=u.data.get(a.dataId).values,p=n||i.dtype,[m,f]=t(i.shape,a.shape,l,c,p);return u.makeTensorInfo(f,p,m)}}}function md(r){return(t,e,n,o,s,i)=>{let a=S.assertAndGetBroadcastShape(t,e),u=y.sizeFromShape(a),l=a.length,c=y.computeStrides(a),p=y.getTypedArrayFromDType(\"float32\",u),m=y.getTypedArrayFromDType(\"float32\",u),f=S.getBroadcastDims(t,a),d=S.getBroadcastDims(e,a),h=S.mergeRealAndImagArrays(n,o),g=S.mergeRealAndImagArrays(s,i),x=t.length,b=y.computeStrides(t),w=e.length,I=y.computeStrides(e);if(f.length+d.length===0)for(let N=0;NA[G]=0);let D=y.locToIndex(A,x,b),F=E.slice(-w);d.forEach(G=>F[G]=0);let M=y.locToIndex(F,w,I),V=r(h[D*2],h[D*2+1],g[M*2],g[M*2+1]);p[N]=V.real,m[N]=V.imag}return[p,m,a]}}var Qk=Qt((r,t)=>r+t),vtt=md((r,t,e,n)=>({real:r+e,imag:t+n})),ya=oe(no,Qk,vtt),cO={kernelName:no,backendName:\"cpu\",kernelFunc:ya};function fd(r,t,e,n,o){let s=y.sizeFromShape(n),i=y.makeZerosTypedArray(o,e);for(let a=0;a=o||(s>0?i[u]+=t[a]:i[u]+=1)}return i}function dw(r,t,e,n=!1){let o=r.shape[0],s=r.shape[1],i=wt([o,e],t.dtype);for(let a=0;a=e||(n?i.set(1,a,l):t.size>0?i.set(i.get(a,l)+t.get(a,u),a,l):i.set(i.get(a,l)+1,a,l))}return i}var tT=Qt((r,t)=>r&t),Stt=oe($a,tT),pO={kernelName:$a,backendName:\"cpu\",kernelFunc:Stt};function _r(r){return(t,e,n)=>{let o=y.getArrayFromDType(e,t.length);for(let s=0;s{let{x:i}=n;tt(i,r);let a=s,u=a.data.get(i.dataId).values,l;if(i.dtype===\"string\"){if(!Array.isArray(u))throw new Error(\"String tensor's value was not an instance of Array\");l=S.fromUint8ToStringArray(u)}else l=u;let c=e||i.dtype,p=t(l,c,o);return a.makeTensorInfo(i.shape,c,p)}}var eT=_r(r=>Math.ceil(r)),Ntt=An(Jo,eT),mO={kernelName:Jo,backendName:\"cpu\",kernelFunc:Ntt};function Jc(r,t,e,n){let o=y.getArrayFromDType(e,y.sizeFromShape(t));if(n&&e!==\"string\"){let s=0;r.forEach(i=>{let a=y.sizeFromShape(i.shape);o.set(i.vals,s),s+=a})}else{let s=0;r.forEach(i=>{let a=e===\"string\"?S.fromUint8ToStringArray(i.vals):i.vals,u=0;for(let l=0;lr===t?1:0),nT=oe(za,rT,null,\"bool\"),fO={kernelName:za,backendName:\"cpu\",kernelFunc:nT};var oT=_r(r=>Math.exp(r)),sT=An(cs,oT,\"float32\"),dO={kernelName:cs,backendName:\"cpu\",kernelFunc:sT};var iT=_r(r=>Math.expm1(r)),ktt=An(ps,iT),hO={kernelName:ps,backendName:\"cpu\",kernelFunc:ktt};var aT=_r(r=>Math.floor(r)),Ttt=An(ms,aT),gO={kernelName:ms,backendName:\"cpu\",kernelFunc:Ttt};var lT=Qt((r,t)=>Math.floor(r/t)),_tt=oe(fs,lT,null,\"int32\"),xO={kernelName:fs,backendName:\"cpu\",kernelFunc:_tt};function hw(r,t,e,n,o,s,i,a,u){let l=wt([n,s],e);for(let c=0;c=u/s)throw new Error(`Invalid indices: ${p} does not index into ${a}`);for(let f=0;fr>t?1:0),Ett=oe(Ga,uT,null,\"bool\"),yO={kernelName:Ga,backendName:\"cpu\",kernelFunc:Ett};var cT=Qt((r,t)=>r>=t?1:0),Att=oe(hs,cT,null,\"bool\"),bO={kernelName:hs,backendName:\"cpu\",kernelFunc:Att};var pT=Qt((r,t)=>rr<=t?1:0),$tt=oe(Ua,mT,null,\"bool\"),IO={kernelName:Ua,backendName:\"cpu\",kernelFunc:$tt};function xw(r,t,e){let n=(t-r)/(e-1),o=y.makeZerosTypedArray(e,\"float32\");o[0]=r;for(let s=1;sMath.log(r)),Rtt=An(ws,fT),CO={kernelName:ws,backendName:\"cpu\",kernelFunc:Rtt};function yw(r,t,e,n){let o=y.getTypedArrayFromDType(n,y.sizeFromShape(e));for(let s=0;sa)&&(a=l)}o[s]=a}return o}var dT=Qt((r,t)=>Math.max(r,t)),Ftt=oe(Ss,dT),vO={kernelName:Ss,backendName:\"cpu\",kernelFunc:Ftt};var hT=Qt((r,t)=>Math.min(r,t)),Ott=oe(_s,hT),SO={kernelName:_s,backendName:\"cpu\",kernelFunc:Ott};var Yh=Qt((r,t)=>r*t),Mtt=md((r,t,e,n)=>({real:r*e-t*n,imag:r*n+t*e})),Qc=oe(Ds,Yh,Mtt),NO={kernelName:Ds,backendName:\"cpu\",kernelFunc:Qc};function gT(r,t,e){let n=y.createScalarValue(-1,e);return Yh([],t,n,r,e)}function Ptt(r){let{inputs:t,backend:e}=r,{x:n}=t;tt(n,\"neg\");let o=e.data.get(n.dataId).values,[s,i]=gT(o,n.shape,n.dtype);return e.makeTensorInfo(i,n.dtype,s)}var kO={kernelName:Li,backendName:\"cpu\",kernelFunc:Ptt};var xT=Qt((r,t)=>r!==t?1:0),Ltt=oe(Za,xT,null,\"bool\"),TO={kernelName:Za,backendName:\"cpu\",kernelFunc:Ltt};function dd(r,t,e,n,o){let s=t.length,i=y.sizeFromShape(t),a=y.computeStrides(t),u=y.computeStrides(o),l=y.getTypedArrayFromDType(e,y.sizeFromShape(o));for(let c=0;ce.disposeIntermediateTensorInfo(b)),e.makeTensorInfo(x,g,d)}var EO={kernelName:Ms,backendName:\"cpu\",kernelFunc:ztt};function Btt(r,t,e){r.forEach((n,o)=>{if(n<0||n>=e){let s=y.indexToLoc(o,t.length,y.computeStrides(t)).join(\",\");throw new Error(`indices[${s}] = ${n} is not in [0, ${e})`)}})}function Vtt(r,t){for(let e=0;eo)throw new Error(\"Ragged splits must not point past values\");for(let s=1;sn[s])throw new Error(\"Ragged splits must be sorted in ascending order\")}}function Gtt(r,t,e,n){let o=[],s=0,i=t.length-1+e.length,a=new Array(i).fill(null).map(()=>[0]);Vtt(e,n);let u=1;for(let l=0;l=0){let h=a[d],g=h[h.length-1]-f[c];for(let x=c;xo[i]=s)}return t}function AO(r,t){let e=r.slice(0,t);for(;e.length1)throw new Error(\"starts must be a scalar or vector\");if(o.length>1)throw new Error(\"limits must be a scalar or vector\");if(i.length>1)throw new Error(\"deltas must be a scalar or vector\");let a=t.length===0,u=o.length===0,l=i.length===0,c=[];a||c.push(t[0]),u||c.push(o[0]),l||c.push(i[0]);for(let g=1;g0&&bx)I=0;else if(I=Math.ceil(Math.abs((b-x)/w)),I>DO)throw new Error(`Requires ((limit - start) / delta) <= ${DO}`);m[g+1]=m[g]+I}let f=m[p],d=y.getArrayFromDType(e,f),h=0;for(let g=0;gn&&(n=s)}return n}static getMaxWidthValueRowID(t){let e=t.length;if(e===0)return 0;let n=0,o=t[0],s=0;for(let i=1;i\"Final length of result must be equal to firstDimension.\"),s}calculateOutputIndexRowSplit(t,e,n,o){let s=t.length,i=[];for(let a=0;a0&&i.length!==t[s-1])throw new Error(\"Invalid row split size.\");return i}calculateOutputIndexValueRowID(t,e,n,o){let s=t.length,i=[];if(s===0)return[];let a=0,u=t[0];if(u>=e.length)throw new Error(`Got currentValueRowId=${u}, which is not less than ${e.length}`);let l=e[u];i.push(l);for(let c=1;c=0&&(++a,a=e.length)throw new Error(`Got nextValueRowId=${p} which is not less than ${e.length}`);l=e[p]}i.push(l)}if(i.length!==t.length)throw new Error(\"Invalid row ids.\");return i}calculateOutputIndex(t,e,n,o){let s=this.getRowPartitionTensor(t),i=this.getRowPartitionTypeByDimension(t);switch(i){case Oo.VALUE_ROWIDS:return this.calculateOutputIndexValueRowID(s,e,n,o);case Oo.ROW_SPLITS:if(s.length-1>e.length)throw new Error(`Row partition size is greater than output size: ${s.length-1} > ${e.length}`);return this.calculateOutputIndexRowSplit(s,e,n,o);default:throw new Error(`Unsupported partition type: ${Oo[i]}`)}}getFirstDimensionSize(){let t=this.rowPartitionValues[0];if(this.rowPartitionTypes.length===0)throw new Error(\"No row_partition_types given.\");let e=this.rowPartitionTypes[0];switch(e){case Oo.FIRST_DIM_SIZE:return t[0];case Oo.VALUE_ROWIDS:throw new Error(\"Cannot handle VALUE_ROWIDS in first dimension.\");case Oo.ROW_SPLITS:return this.rowPartitionValuesShapes[0][0]-1;default:throw new Error(`Cannot handle type ${Oo[e]}`)}}compute(){if(this.rowPartitionValues[0].length<=0)throw new Error(\"Invalid first partition input. Tensor requires at least one element.\");let e=this.getFirstDimensionSize(),n=this.calculateOutputSize(e),o=new Array(this.raggedRank+1);o[o.length-1]=1;for(let u=o.length-2;u>=0;--u)o[u]=o[u+1]*n[u+1];let s=RO(n,!1),i=y.getArrayFromDType(this.valuesDType,y.sizeFromShape(s));if(o[0]*n[0]>0){let u=this.calculateFirstParentOutputIndex(e,o[0],n[0]);for(let l=1;l<=this.raggedRank;++l)u=this.calculateOutputIndex(l-1,u,o[l],n[l]);this.setOutput(this.raggedRank,u,i,s)}return[s,i]}setOutput(t,e,n,o){if(n.length===0)return;let s=this.values,i=n,a=o.slice();a=a.slice(t+1);let u=y.sizeFromShape(a),l=e.length,c=this.defaultValue;if(c.length!==u&&c.length!==1){let d=this.defaultValueShape;B(()=>{let h=R(c,d);c=sa(h,a).dataSync()})}let p=0,m=0,f=0;for(let d=0;d<=l;++d){let h=d=l){let g=n.length;h=Math.floor(g/u)}if(h>f)if(this.defaultValue.length===1)i.subarray(f*u,h*u).fill(this.defaultValue[0]),f=h;else for(;h>f;){let g=i.slice(f*u);$O(g,c,u),++f}h<0?(p=d+1,m=f):(p=d,m=f,f=m+1)}}};function $O(r,t,e){for(let n=0;n= 0`);if(n<-1)throw new Error(`Dimension ${n} must be >= -1`);n=-1}e.push(n)}return e}function Iw(r,t,e,n,o,s,i,a,u,l){return new bT(r,t,e,n,o,s,i,a,u,l).compute()}function tp(r,t,e,n){let o=r===t,s=r1;if(o||s||i)return y.makeZerosTypedArray(0,n);let a=Math.abs(Math.ceil((t-r)/e)),u=y.makeZerosTypedArray(a,n);t1/Math.sqrt(r)),qtt=An(Us,wT),FO={kernelName:Us,backendName:\"cpu\",kernelFunc:qtt};function Ii(r,t,e,n,o,s,i,a,u,l){let c=[n/o,o],p=r.values,m=t.values;if(n===0)return wt(e,t.dtype);let f=u instanceof le?u:wt(c,t.dtype);typeof u==\"string\"||typeof u==\"number\"?f.values.fill(u):typeof u==\"boolean\"&&f.values.fill(+u);for(let d=0;d=n/o)throw new Error(`Invalid indices: ${h} does not index into ${e}`);for(let x=0;x1/(1+Math.exp(-r))),IT=At(Xs,r=>1/(1+Math.exp(-r))),MO={kernelName:Xs,backendName:\"cpu\",kernelFunc:IT};function ep(r,t,e,n,o){let s=Be.isSliceContinous(n,t,e),i=y.sizeFromShape(e),a=y.computeStrides(n);if(s){let p=Be.computeFlatOffset(t,a);return o===\"string\"?r.slice(p,p+i):r.subarray(p,p+i)}let u=o===\"string\"?S.fromUint8ToStringArray(r):r,l=wt(n,o,u),c=wt(e,o);for(let p=0;pd+t[h]);c.set(l.get(...f),...m)}return o===\"string\"?S.fromStringArrayToUint8(c.values):c.values}function Mo(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,size:i}=n;tt(o,\"slice\");let[a,u]=Be.parseSliceParams(o,s,i);Be.assertParamsValid(o,a,u);let l=e.data.get(o.dataId).values,c=ep(l,a,u,o.shape,o.dtype);return e.makeTensorInfo(u,o.dtype,c)}var PO={kernelName:Wi,backendName:\"cpu\",kernelFunc:Mo};function Cw(r,t,e,n,o,s,i){let a=t[0],u=s[0],l=new Array(u),c=new Array(a),p=t[1];if(u===0){if(a!==0)throw new Error(S.getSparseFillEmptyRowsIndicesDenseShapeMismatch(a));let g=y.getArrayFromDType(e,0),x=y.getArrayFromDType(o,0);return[g,[0,p],x,l,c]}let m=!0,f=0,d=new Array(u).fill(0);for(let g=0;g=u)throw new Error(S.getSparseFillEmptyRowsOutOfRangeIndexErrorMessage(g,x,u));++d[x],m=m&&x>=f,f=x}let h=!0;for(let g=0;g0&&(d[g]+=d[g-1])}if(h&&m){let g=r,x=n;for(let b=0;b0){f[m-1]=1;for(let g=m-2;g>=0;--g)f[g]=f[g+1]*n[g+1]}let d=[];if(a>0){d[a-1]=1;for(let g=a-2;g>=0;--g)d[g]=d[g+1]*u[g+1]}let h=y.getArrayFromDType(e,i*a);for(let g=0;g0?o[a-1]+1:0;if(p<0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let m=t.slice();m[0]=p;let f=m.reduce((w,I)=>w*I,1),d=y.getArrayFromDType(e,f);if(a===0)return p>0&&d.fill(i),[d,m];if(p<=0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let h=0,g=1,x=0,b=o[h];for(;;){let w=0;if(g=w)throw new Error(S.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage())}if(b<0||b>=p)throw new Error(S.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(b,p));b>x&&d.fill(i,x*l,b*l);for(let I=h;I=u[0])throw new Error(S.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(I,n[I],u[0]));for(let E=0;Ea)break}return xMath.sqrt(r)),Ktt=At(Zs,r=>Math.sqrt(r)),zO={kernelName:Zs,backendName:\"cpu\",kernelFunc:Ktt};var CT=Qt((r,t)=>{let e=r-t;return e*e}),jtt=oe(ti,CT),BO={kernelName:ti,backendName:\"cpu\",kernelFunc:jtt};var vT=_r((r,t)=>{let{pattern:e,replaceGlobal:n,rewrite:o}=t;return r.replace(new RegExp(e,n?\"g\":\"\"),o)}),Xtt=An(ec,vT),VO={kernelName:ec,backendName:\"cpu\",kernelFunc:Xtt};function Sw(r,t,e,n){let o=wt(r,t.dtype);for(let s=0;s0?0:a-u),f=0;f+=l*this.leftPad.length;for(let b=0;bb.forEach(w=>h[g++]=w);for(let b=0;b0){x(t[m+p-1]);for(let b=0;b0){let u=e[0];if(u!==0)throw new Error(`First split value must be 0, got ${u}`);for(let l=1;l=u;if(c=c&&e[l]<=n,!c)throw new Error(`Invalid split value ${e[l]}, must be in [${u}, ${n}]`);u=e[l]}if(u!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${u}`)}let s=o-1,i=y.getArrayFromDType(\"int32\",o);if(n===0||o===0){let u=new Array(n);for(let l=0;l<=s;++l)i[l]=0;return[u,i]}i[0]=0;for(let u=1;u<=s;++u){let l=e[u]-e[u-1],c=0;this.nGramWidths.forEach(p=>{c+=this.getNumNGrams(l,p)}),this.preserveShort&&l>0&&c===0&&(c=1),i[u]=i[u-1]+c}let a=new Array(i[s]);for(let u=0;u{let m=e[u+1]-e[u],f=this.getNumNGrams(m,p);this.createNGrams(t,l,a,c,f,p),c+=f}),this.preserveShort&&c===i[u]){let p=e[u+1]-e[u];if(p===0)continue;let m=p+2*this.padWidth;this.createNGrams(t,l,a,c,1,m)}}return[a,i]}};function rp(r,t,e,n,o,s,i,a){return new ST(e,n,o,s,i,a).compute(r,t)}function Ytt(r,t,e,n){if(!r.length)return;if(t.length===0){for(let s=0;sr-t),Ztt=md((r,t,e,n)=>({real:r-e,imag:t-n})),Zh=oe(ei,NT,Ztt),GO={kernelName:ei,backendName:\"cpu\",kernelFunc:Zh};function Nw(r,t){let e=new Array(r.rank);for(let o=0;o{let e=t.value-r.value;return e===0?r.index-t.index:e};function WO(r,t,e=0,n=r.length-1){for(;n>e;){if(n-e>600){let a=n-e+1,u=t-e+1,l=Math.log(a),c=.5*Math.exp(2*l/3),p=.5*Math.sqrt(l*c*(a-c)/a)*Math.sign(u-a/2),m=Math.max(e,Math.floor(t-u*c/a+p)),f=Math.min(n,Math.floor(t+(a-u)*c/a+p));WO(r,t,m,f)}let o=r[t],s=e,i=n;for(y.swap(r,e,t),Jh(r[n],o)>0&&y.swap(r,e,n);s0;)i=i-1}Jh(r[e],o)===0?y.swap(r,e,i):(i=i+1,y.swap(r,i,n)),i<=t&&(e=i+1),t<=i&&(n=i-1)}}function kw(r,t,e,n,o){let s=t[t.length-1],[i,a]=[r.length/s,s],u=y.getTypedArrayFromDType(e,i*n),l=y.getTypedArrayFromDType(\"int32\",i*n);for(let p=0;pd[w]={value:b,index:w}),n{for(let g=0;gnew cd,1);var kT=At(ls,r=>r>=0?r:Math.exp(r)-1),HO={kernelName:ls,backendName:\"cpu\",kernelFunc:kT};function TT(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{alpha:s}=n;tt([o],\"leakyRelu\");let i=y.sizeFromShape(o.shape),a=e.data.get(o.dataId).values,u=y.getTypedArrayFromDType(\"float32\",i);for(let l=0;lr<0?t*r:r);function _T(r){let{inputs:t,backend:e}=r,{x:n,alpha:o}=t;tt([n,o],\"prelu\");let s=e.data.get(n.dataId).values,i=e.data.get(o.dataId).values,[a,u]=Jtt(n.shape,o.shape,s,i,\"float32\");return e.makeTensorInfo(u,\"float32\",a)}var KO={kernelName:Os,backendName:\"cpu\",kernelFunc:_T};var ET=At(Ls,r=>Math.max(0,r)),jO={kernelName:Ls,backendName:\"cpu\",kernelFunc:ET};var AT=At(Vs,r=>Math.min(Math.max(0,r),6)),XO={kernelName:Vs,backendName:\"cpu\",kernelFunc:AT};function ip(r,t,e,n,o){if(e===\"linear\")return Xr({inputs:{x:t},backend:r});if(e===\"relu\")return ET({inputs:{x:t},backend:r});if(e===\"elu\")return kT({inputs:{x:t},backend:r});if(e===\"relu6\")return AT({inputs:{x:t},backend:r});if(e===\"prelu\")return _T({inputs:{x:t,alpha:n},backend:r});if(e===\"leakyrelu\")return TT({inputs:{x:t},backend:r,attrs:{alpha:o}});if(e===\"sigmoid\")return IT({inputs:{x:t},backend:r});throw new Error(`Activation ${e} has not been implemented for the CPU backend.`)}function te(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{shape:s}=n,i=y.sizeFromShape(o.shape),a=y.inferFromImplicitShape(s,i),u=y.sizeFromShape(a);y.assert(i===u,()=>`The new shape (${a}) has ${u} elements and the old shape (${o.shape}) has ${i} elements. The new shape and old shape must have the same number of elements.`),e.incRef(o.dataId);let l=e.data.get(o.dataId);if(l.complexTensorInfos!=null){let c=l.complexTensorInfos.real,p=l.complexTensorInfos.imag;c.shape=a,p.shape=a}return{dataId:o.dataId,shape:a,dtype:o.dtype}}var YO={kernelName:Vi,backendName:\"cpu\",kernelFunc:te};function DT(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s}=t,{transposeA:i,transposeB:a}=n;tt([o,s],\"matMul\");let u=o.shape.length,l=s.shape.length,c=i?o.shape[u-2]:o.shape[u-1],p=a?s.shape[l-1]:s.shape[l-2],m=i?o.shape[u-1]:o.shape[u-2],f=a?s.shape[l-2]:s.shape[l-1],d=o.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(d),x=y.sizeFromShape(h),w=Ur.assertAndGetBroadcastShape(o.shape.slice(0,-2),s.shape.slice(0,-2)).concat([m,f]);y.assert(c===p,()=>`Error in matMul: inner shapes (${c}) and (${p}) of Tensors with shapes ${o.shape} and ${s.shape} and transposeA=${i} and transposeB=${a} must match.`);let I=i?[g,c,m]:[g,m,c],N=a?[x,f,p]:[x,p,f],E=te({inputs:{x:o},backend:e,attrs:{shape:I}}),A=te({inputs:{x:s},backend:e,attrs:{shape:N}}),D=i?E.shape[1]:E.shape[2],F=i?E.shape[2]:E.shape[1],M=a?A.shape[1]:A.shape[2],V=Math.max(g,x),G=e.data.get(E.dataId).values,W=e.data.get(A.dataId).values,q=y.computeStrides(E.shape),H=y.computeStrides(A.shape),[K,Y,Z]=i?[q[0],1,q[1]]:[q[0],q[1],1],[et,nt,st]=a?[1,H[1],H[0]]:[H[1],1,H[0]],lt=F*M,ot=wt([V,F,M],E.dtype),it=ot.values,ft=e.blockSize;for(let gt=0;gtMath.acos(r)),QO={kernelName:Go,backendName:\"cpu\",kernelFunc:tet};var eet=At(Wo,r=>Math.acosh(r)),tM={kernelName:Wo,backendName:\"cpu\",kernelFunc:eet};function ret(r){let{inputs:t,backend:e}=r,n=t;tt(t,\"addN\");let o=n.map(a=>e.data.get(a.dataId).values),s=wt(n[0].shape,n[0].dtype),i=s.values;for(let a=0;ab&&(b=N,w=I)}f[g]=w}return l.forEach(g=>e.disposeIntermediateTensorInfo(g)),e.makeTensorInfo(c,\"int32\",f)}var oM={kernelName:Ai,backendName:\"cpu\",kernelFunc:set};function iet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s}=n;tt(o,\"argMin\");let i=y.parseAxisParam(s,o.shape),a=S.getAxesPermutation(i,o.shape.length),u=o,l=[];a!=null&&(u=We({inputs:{x:o},backend:e,attrs:{perm:a}}),l.push(u),i=S.getInnerMostAxes(i.length,u.shape.length)),i=[i[0]],S.assertAxesAreInnerMostDims(\"argMin\",i,u.shape.length);let[c,p]=S.computeOutAndReduceShapes(u.shape,i),m=y.sizeFromShape(c),f=y.makeZerosTypedArray(m,\"int32\"),d=y.sizeFromShape(p),h=e.data.get(u.dataId).values;for(let g=0;ge.disposeIntermediateTensorInfo(g)),e.makeTensorInfo(c,\"int32\",f)}var sM={kernelName:Di,backendName:\"cpu\",kernelFunc:iet};var aet=At(Ho,r=>Math.asin(r)),iM={kernelName:Ho,backendName:\"cpu\",kernelFunc:aet};var uet=At(qo,r=>Math.asinh(r)),aM={kernelName:qo,backendName:\"cpu\",kernelFunc:uet};var cet=At(Ko,r=>Math.atan(r)),lM={kernelName:Ko,backendName:\"cpu\",kernelFunc:cet};var pet=Qt((r,t)=>Math.atan2(r,t)),met=oe(Xo,pet),uM={kernelName:Xo,backendName:\"cpu\",kernelFunc:met};var fet=At(jo,r=>Math.atanh(r)),cM={kernelName:jo,backendName:\"cpu\",kernelFunc:fet};function gd(r,t,e,n,o,s){let i=o.strideHeight,a=o.strideWidth,u=o.dilationHeight,l=o.dilationWidth,c=o.effectiveFilterHeight,p=o.effectiveFilterWidth,m=o.padInfo.top,f=o.padInfo.left,d=s===\"max\"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,h=wt(o.outShape,e),g=h.values,x=o.outShape[1]*o.outShape[2]*o.outShape[3],b=o.outShape[2]*o.outShape[3],w=o.outShape[3];for(let I=0;IY?Y=ft:s===\"avg\"&&(Z+=ft,et++)}if(isNaN(Y))break}let nt=G+W*w+A;g[nt]=s===\"avg\"?Z/et:Y}}}return h}function _w(r,t,e,n,o=!1,s=!1){let i=wt(n.outShape,\"int32\"),a=n.strideHeight,u=n.strideWidth,l=n.dilationHeight,c=n.dilationWidth,p=n.effectiveFilterHeight,m=n.effectiveFilterWidth,f=n.padInfo.top,d=n.padInfo.left,h=wt(t,e,r);for(let g=0;gM&&(M=K,o?V=s?((g*n.inHeight+G)*n.inWidth+q)*n.inChannels+x:(G*n.inWidth+q)*n.inChannels+x:V=W*m+H)}}i.set(V,g,b,E,x)}}return i}function Ew(r,t,e,n,o,s){let i=o.strideDepth,a=o.strideHeight,u=o.strideWidth,l=o.dilationDepth,c=o.dilationHeight,p=o.dilationWidth,m=o.effectiveFilterDepth,f=o.effectiveFilterHeight,d=o.effectiveFilterWidth,h=o.padInfo.front,g=o.padInfo.top,x=o.padInfo.left,b=s===\"max\"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,w=wt(o.outShape,e),I=w.values,N=o.outShape[1]*o.outShape[2]*o.outShape[3]*o.outShape[4],E=o.outShape[2]*o.outShape[3]*o.outShape[4],A=o.outShape[3]*o.outShape[4],D=o.outShape[4];for(let F=0;FRt?Rt=Ae:s===\"avg\"&&(Dt+=Ae,Ht++),isNaN(Rt))break}if(isNaN(Rt))break}if(isNaN(Rt))break}let qt=Ct+G;I[qt]=s===\"avg\"?Dt/Math.max(Ht,1):Rt}}}}return w}function pM(r,t){let e=wt(t.outShape,\"int32\"),n=t.strideDepth,o=t.strideHeight,s=t.strideWidth,i=t.dilationDepth,a=t.dilationHeight,u=t.dilationWidth,l=t.effectiveFilterDepth,c=t.effectiveFilterHeight,p=t.effectiveFilterWidth,m=t.padInfo.front,f=t.padInfo.top,d=t.padInfo.left;for(let h=0;h=W&&(W=st,q=K*c*p+Z*c+nt)}}}e.set(q,h,x,N,F,g)}}}return e}function det(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t;tt(o,\"avgPool\");let{filterSize:s,strides:i,pad:a,dimRoundingMode:u}=n,l=1;y.assert(S.eitherStridesOrDilationsAreOne(i,l),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u),p;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))p=Xr({inputs:{x:o},backend:e});else{let m=e.data.get(o.dataId).values,f=y.computeStrides(o.shape),d=gd(m,o.shape,o.dtype,f,c,\"avg\");p=e.makeTensorInfo(c.outShape,o.dtype,d.values)}return p}var mM={kernelName:Yo,backendName:\"cpu\",kernelFunc:det};function het(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n;tt(o,\"avgPool3d\");let c=S.computePool3DInfo(o.shape,s,i,1,a,u,l),p=e.data.get(o.dataId).values,m=Ew(p,o.shape,o.dtype,y.computeStrides(o.shape),c,\"avg\");return e.makeTensorInfo(m.shape,\"float32\",m.values)}var fM={kernelName:$i,backendName:\"cpu\",kernelFunc:het};function get(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=n;tt([o,s],\"avgPool3DGrad\");let c=S.computePool3DInfo(s.shape,i,a,1,u,l),p=c.strideDepth,m=c.strideHeight,f=c.strideWidth,d=c.filterDepth,h=c.filterHeight,g=c.filterWidth,x=c.dilationDepth,b=c.dilationHeight,w=c.dilationWidth,I=c.effectiveFilterDepth,N=c.effectiveFilterHeight,E=c.effectiveFilterWidth,A=I-1-c.padInfo.front,D=E-1-c.padInfo.left,F=N-1-c.padInfo.top,M=wt(s.shape,\"float32\"),V=1/(d*h*g),G=e.bufferSync(o);for(let W=0;W=c.outDepth||Math.floor(ot)!==ot))for(let it=0;it=c.outHeight||Math.floor(ft)!==ft))for(let gt=0;gt=c.outWidth||Math.floor(Ct)!==Ct)continue;let Rt=G.get(W,ot,ft,Ct,q);st+=Rt}}}M.set(st*V,W,H,K,Y,q)}return e.makeTensorInfo(M.shape,M.dtype,M.values)}var dM={kernelName:Hl,backendName:\"cpu\",kernelFunc:get};function xet(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s;tt([o,s],\"avgPoolGrad\");let{filterSize:a,strides:u,pad:l}=n,c=S.computePool2DInfo(i.shape,a,u,1,l),p=c.strideHeight,m=c.strideWidth,f=c.filterHeight,d=c.filterWidth,h=c.dilationHeight,g=c.dilationWidth,x=c.effectiveFilterHeight,b=c.effectiveFilterWidth,w=b-1-c.padInfo.left,I=x-1-c.padInfo.top,N=wt(i.shape,\"float32\"),E=1/(f*d),A=e.data.get(o.dataId).values,D=wt(o.shape,\"float32\",A);for(let F=0;F=c.outHeight||Math.floor(Y)!==Y))for(let Z=0;Z=c.outWidth||Math.floor(et)!==et)continue;let nt=D.get(F,Y,et,M);H+=nt}}N.set(H*E,F,V,G,M)}return e.makeTensorInfo(N.shape,N.dtype,N.values)}var hM={kernelName:Ul,backendName:\"cpu\",kernelFunc:xet};function yet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,scale:s,offset:i,mean:a,variance:u}=t;y.assert(a.shape.length===u.shape.length,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),y.assert(i==null||a.shape.length===i.shape.length,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),y.assert(s==null||a.shape.length===s.shape.length,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\"),tt([o,a,u,s,i],\"batchNorm\");let{varianceEpsilon:l}=n;l==null&&(l=.001);let c=e.data.get(o.dataId).values,p=e.data.get(a.dataId).values,m=e.data.get(u.dataId).values,f=s?e.data.get(s.dataId).values:new Float32Array([1]),d=i?e.data.get(i.dataId).values:new Float32Array([0]),h=new Float32Array(c.length),g=d.length,x=f.length,b=m.length,w=p.length,I=0,N=0,E=0,A=0;for(let D=0;D=g&&(I=0),N>=w&&(N=0),E>=x&&(E=0),A>=b&&(A=0);return e.makeTensorInfo(o.shape,o.dtype,h)}var gM={kernelName:ds,backendName:\"cpu\",kernelFunc:yet};function bet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,crops:i}=n;tt([o],\"batchToSpaceND\");let a=s.reduce((x,b)=>x*b),u=S.getReshaped(o.shape,s,a),l=S.getPermuted(u.length,s.length),c=S.getReshapedPermuted(o.shape,s,a),p=S.getSliceBeginCoords(i,s.length),m=S.getSliceSize(c,i,s.length),f=te({inputs:{x:o},backend:e,attrs:{shape:u}}),d=We({inputs:{x:f},backend:e,attrs:{perm:l}}),h=te({inputs:{x:d},backend:e,attrs:{shape:c}}),g=Mo({inputs:{x:h},backend:e,attrs:{begin:p,size:m}});return e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),g}var xM={kernelName:Ri,backendName:\"cpu\",kernelFunc:bet};function wet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,weights:s}=t,{size:i}=n,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,l=fd(a,u,s.dtype,s.shape,i);return e.makeTensorInfo([i],s.dtype,l)}var yM={kernelName:Da,backendName:\"cpu\",kernelFunc:wet};function Iet(r){let{inputs:t,backend:e}=r,{s0:n,s1:o}=t,s=e.data.get(n.dataId).values,i=e.data.get(o.dataId).values,a=S.assertAndGetBroadcastShape(Array.from(s),Array.from(i));return e.makeTensorInfo([a.length],\"int32\",Int32Array.from(a))}var bM={kernelName:ql,backendName:\"cpu\",kernelFunc:Iet};var Cet=At(ho,(r,t)=>{let e=t;return r>e.clipValueMax?e.clipValueMax:r{let{x:t}=r.inputs,e=r.backend,n=new Float32Array(y.sizeFromShape(t.shape)),o=e.data.get(t.dataId),s=o.complexTensorInfos.real,i=o.complexTensorInfos.imag,a=e.data.get(s.dataId).values,u=e.data.get(i.dataId).values;for(let l=0;lh.shape);S.assertParamsConsistent(i,s);let a=S.computeOutShape(t.map(h=>h.shape),s);if(y.sizeFromShape(a)===0)return e.makeTensorInfo(a,t[0].dtype,[]);let u=t.filter(h=>y.sizeFromShape(h.shape)>0);if(u.length===1)return Xr({inputs:{x:u[0]},backend:e});if(u[0].dtype===\"complex64\"){let h=u.map(I=>Ro({inputs:{input:I},backend:e})),g=u.map(I=>ba({inputs:{input:I},backend:e})),x=Gu({inputs:h,backend:e,attrs:{axis:s}}),b=Gu({inputs:g,backend:e,attrs:{axis:s}}),w=Ir({inputs:{real:x,imag:b},backend:e});return h.forEach(I=>e.disposeIntermediateTensorInfo(I)),g.forEach(I=>e.disposeIntermediateTensorInfo(I)),e.disposeIntermediateTensorInfo(x),e.disposeIntermediateTensorInfo(b),w}let l=u.map(h=>{let x=[-1,y.sizeFromShape(h.shape.slice(s))];return te({inputs:{x:h},backend:e,attrs:{shape:x}})}),c=l.map(h=>({vals:e.data.get(h.dataId).values,shape:h.shape}));a=S.computeOutShape(l.map(h=>h.shape),1);let p=l[0].shape[0]===1,m=Jc(c,a,t[0].dtype,p),f=S.computeOutShape(u.map(h=>h.shape),s),d=e.makeTensorInfo(f,t[0].dtype,m);return l.forEach(h=>e.disposeIntermediateTensorInfo(h)),d}var vM={kernelName:Fi,backendName:\"cpu\",kernelFunc:Gu};function $T(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dataFormat:u,dilations:l,dimRoundingMode:c}=n;tt([o,s],\"conv2d\");let p=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(o.shape,s.shape,i,l,a,c,!1,p),f=m.filterHeight,d=m.filterWidth,h=m.dilationHeight,g=m.dilationWidth,x=m.padInfo.left,b=m.padInfo.top,w=m.dataFormat===\"channelsLast\",I=new le(m.outShape,o.dtype),N=y.computeStrides(o.shape),E=y.computeStrides(s.shape),A=N[0],D=w?N[1]:N[2],F=w?N[2]:1,M=w?1:N[1],V=I.strides[0],G=w?I.strides[1]:I.strides[2],W=w?I.strides[2]:1,q=w?1:I.strides[1],H=e.data.get(o.dataId).values,K=e.data.get(s.dataId).values,Y=I.values;for(let Z=0;Z=m.inHeight)continue;let gt=it*E[0],Ct=et+ft*D;for(let Rt=0;Rt=m.inWidth)continue;let xe=gt+qt*E[1],re=Ct+pe*F,ye=xe;for(let de=0;de=l.inDepth)continue;let Z=K*F[0],et=V+Y*D[1];for(let nt=0;nt=l.inHeight)continue;let ft=Z+ot*F[1],gt=et+it*D[2];for(let Ct=0;Ct=l.inWidth)continue;let pe=ft+Ht*F[2],xe=gt+qt*l.inChannels,re=pe;for(let ye=0;yeMath.cos(r)),AM={kernelName:rs,backendName:\"cpu\",kernelFunc:Aet};var Det=At(ns,r=>Math.cosh(r)),DM={kernelName:ns,backendName:\"cpu\",kernelFunc:Det};function $et(r){let{inputs:t,backend:e,attrs:n}=r,{image:o,boxes:s,boxInd:i}=t,{cropSize:a,method:u,extrapolationValue:l}=n,[c,p,m,f]=o.shape,d=s.shape[0],[h,g]=a,x=wt([d,h,g,f],\"float32\"),b=e.data.get(s.dataId).values,w=e.data.get(i.dataId).values,I=e.data.get(o.dataId).values,N=y.computeStrides(o.shape),E=y.computeStrides(x.shape);for(let A=0;A=c)continue;let q=h>1?(V-F)*(p-1)/(h-1):0,H=g>1?(G-M)*(m-1)/(g-1):0;for(let K=0;K1?F*(p-1)+K*q:.5*(F+V)*(p-1);if(Y<0||Y>p-1){for(let Z=0;Z1?M*(m-1)+st*H:.5*(M+G)*(m-1);if(lt<0||lt>m-1){for(let gt=0;gt1?M*(m-1)+Z*H:.5*(M+G)*(m-1);if(et<0||et>m-1){for(let lt=0;ltx+d-b-1:(x,b)=>x+b;for(let x=0;xx+d-b-1:(x,b)=>x+b;for(let x=0;x`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${i}`);let a=o.shape[0],u=o.shape[1],l=o.shape[2],c=o.shape[3],p=u*s,m=l*s,f=c/(s*s),d=e.data.get(o.dataId).values,h=new Float32Array(a*p*m*f),g=0;for(let x=0;x`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${m}'`);let f=S.computeConv2DInfo(o.shape,s.shape,i,m,a,l,!0),{filterHeight:d,filterWidth:h,dilationHeight:g,dilationWidth:x,padInfo:b}=f,w=b.left,I=b.top,N=f.outChannels/f.inChannels,E=new le(f.outShape,o.dtype),A=e.data.get(o.dataId).values,D=e.data.get(s.dataId).values,F=E.values;for(let M=0;M=f.inHeight)continue;let Z=K*p[0],et=V+Y*c[1];for(let nt=0;nt=f.inWidth)continue;let ft=Z+ot*p[1],gt=et+it*f.inChannels,Ct=st,Rt=ft;for(let Dt=0;Dt{let{x:n,filter:o}=r,{strides:s,pad:i,dilations:a}=e,u=t,l=u.data.get(n.dataId).values,c=n.shape.length,p=u.data.get(o.dataId).values,m=o.shape.length,{batchSize:f,inHeight:d,inWidth:h,inChannels:g,outHeight:x,outWidth:b,padInfo:w,strideHeight:I,strideWidth:N,filterHeight:E,filterWidth:A,dilationHeight:D,dilationWidth:F,outShape:M}=S.computeDilation2DInfo(n.shape,o.shape,s,i,\"NHWC\",a),V=y.sizeFromShape(M),G=M.length,W=y.getArrayFromDType(n.dtype,V);for(let H=0;H=0&&it=0&>st&&(st=Dt)}}}let lt=y.locToIndex([H,K,Z,nt],G,y.computeStrides(M));W[lt]=st}}}return{dataId:u.write(y.toTypedArray(W,n.dtype),M,n.dtype),shape:M,dtype:n.dtype}}};var GM={kernelName:Zl,backendName:\"cpu\",kernelFunc:({inputs:r,backend:t,attrs:e})=>{let{x:n,filter:o,dy:s}=r,{strides:i,pad:a,dilations:u}=e,l=t,c=y.toNestedArray(n.shape,l.data.get(n.dataId).values),p=y.toNestedArray(o.shape,l.data.get(o.dataId).values),{batchSize:m,inHeight:f,inWidth:d,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:w,strideWidth:I,filterHeight:N,filterWidth:E,dilationHeight:A,dilationWidth:D,outShape:F}=S.computeDilation2DInfo(n.shape,o.shape,i,a,\"NHWC\",u);y.assert(s.rank===F.length,()=>`Error in ${Zl}, dy must have the same rank as output ${F.length}, but got ${s.rank}`);let M=y.toNestedArray(F,l.data.get(s.dataId).values),V=y.makeZerosNestedTypedArray(o.shape,o.dtype);for(let W=0;W=0&&ot=0&&ftet&&(et=gt,nt=lt,st=it)}}}V[nt][st][Z]+=M[W][q][K][Z]}}}return{dataId:l.write(y.toTypedArray(V,n.dtype),o.shape,o.dtype),shape:o.shape,dtype:o.dtype}}};var WM={kernelName:Yl,backendName:\"cpu\",kernelFunc:({inputs:r,backend:t,attrs:e})=>{let{x:n,filter:o,dy:s}=r,{strides:i,pad:a,dilations:u}=e,l=t,c=y.toNestedArray(n.shape,l.data.get(n.dataId).values),p=y.toNestedArray(o.shape,l.data.get(o.dataId).values),{batchSize:m,inHeight:f,inWidth:d,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:w,strideWidth:I,filterHeight:N,filterWidth:E,dilationHeight:A,dilationWidth:D,outShape:F}=S.computeDilation2DInfo(n.shape,o.shape,i,a,\"NHWC\",u);y.assert(s.rank===F.length,()=>`Error in ${Yl}, dy must have the same rank as output ${F.length}, but got ${s.rank}`);let M=y.toNestedArray(F,l.data.get(s.dataId).values),V=y.makeZerosNestedTypedArray(n.shape,n.dtype);for(let W=0;W=0&&ot=0&&ftet&&(et=gt,nt=ot,st=ft)}}}V[W][nt][st][Z]+=M[W][q][K][Z]}}}return{dataId:l.write(y.toTypedArray(V,n.dtype),n.shape,n.dtype),shape:n.shape,dtype:n.dtype}}};function Bet(r){let{inputs:t,backend:e,attrs:n}=r,{image:o}=t,{canvas:s,options:i}=n,{contextOptions:a,imageOptions:u}=i||{},l=(u==null?void 0:u.alpha)||1,c=(a==null?void 0:a.contextType)||\"2d\";if(c!==\"2d\")throw new Error(`Context type ${a.contextType} is not supported by the CPU backend.`);let p=s.getContext(c,(a==null?void 0:a.contextAttributes)||{});if(p==null)throw new Error(`Could not get the context with ${c} type.`);let[m,f]=o.shape.slice(0,2),d=o.shape.length===2?1:o.shape[2],h=e.data.get(o.dataId).values,g=o.dtype===\"float32\"?255:1,x=new Uint8ClampedArray(f*m*4);for(let w=0;w1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${A}.`)}else if(o.dtype===\"int32\"&&(A<0||A>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${A}.`);d===1?(I[0]=A*g,I[1]=A*g,I[2]=A*g):I[E]=A*g}let N=w*4;x[N+0]=Math.round(I[0]),x[N+1]=Math.round(I[1]),x[N+2]=Math.round(I[2]),x[N+3]=Math.round(I[3])}s.width=f,s.height=m;let b=new ImageData(x,f,m);return p.putImageData(b,0,0),o}var UM={kernelName:Jd,backendName:\"cpu\",kernelFunc:Bet};function $l(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n;tt(o,\"sum\");let a;o.dtype===\"bool\"?a=Fo({inputs:{x:o},backend:e,attrs:{dtype:\"int32\"}}):a=Xr({inputs:{x:o},backend:e});let u=a.shape.length,l=y.parseAxisParam(s,a.shape),c=S.getAxesPermutation(l,u),p=l,m=a;c!=null&&(m=We({inputs:{x:a},backend:e,attrs:{perm:c}}),p=S.getInnerMostAxes(p.length,u)),S.assertAxesAreInnerMostDims(\"sum\",p,m.shape.length);let[f,d]=S.computeOutAndReduceShapes(m.shape,p),h=S.upcastType(m.dtype,\"int32\"),g=pd(e,f,h),x=y.sizeFromShape(d),b=e.data.get(g.dataId).values,w=e.data.get(m.dataId).values;for(let I=0;I=0&&(m=$l({inputs:{x:m},backend:e,attrs:{axis:l[h]-(i.length-f),keepDims:!1}}),d.push(m)),f--)}for(let h of d)h!==m&&e.disposeIntermediateTensorInfo(h);return m}var qM={kernelName:Fp,backendName:\"cpu\",kernelFunc:Vet};function Get(r){let{inputs:t,backend:e}=r,{dy:n,y:o}=t;tt([n,o],\"eluGrad\");let s=new Float32Array(y.sizeFromShape(o.shape)),i=e.data.get(o.dataId).values,a=e.data.get(n.dataId).values;for(let u=0;u=0?s[u]=a[u]:s[u]=a[u]*(l+1)}return e.makeTensorInfo(o.shape,\"float32\",s)}var KM={kernelName:La,backendName:\"cpu\",kernelFunc:Get};var Wet=S.ERF_P,Uet=S.ERF_A1,Het=S.ERF_A2,qet=S.ERF_A3,Ket=S.ERF_A4,jet=S.ERF_A5,Xet=At(us,r=>{let t=Math.sign(r),e=Math.abs(r),n=1/(1+Wet*e);return t*(1-((((jet*n+Ket)*n+qet)*n+Het)*n+Uet)*n*Math.exp(-e*e))}),jM={kernelName:us,backendName:\"cpu\",kernelFunc:Xet};function xd(r){let{inputs:t,backend:e,attrs:n}=r,{input:o}=t,{dim:s}=n,i=o.shape.length,a=o.shape.slice(),u=s;return s<0&&(y.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+s+1),a.splice(u,0,1),te({inputs:{x:o},backend:e,attrs:{shape:a}})}var XM={kernelName:Oi,backendName:\"cpu\",kernelFunc:xd};var Yet=Qt((r,t)=>r/t),Qh=oe(as,Yet),tg={kernelName:as,backendName:\"cpu\",kernelFunc:Qh};function Aw(r,t,e){let n=r.shape,o=n[0],s=n[1],i=e.data.get(r.dataId),a=i.complexTensorInfos.real,u=i.complexTensorInfos.imag,l=[o,s],c=y.sizeFromShape(l),p=y.getTypedArrayFromDType(\"float32\",c),m=y.getTypedArrayFromDType(\"float32\",c);for(let g=0;g{let{image:n}=r,o=e,s=y.getTypedArrayFromDType(n.dtype,y.sizeFromShape(n.shape)),[i,a,u,l]=n.shape,c=o.data.get(n.dataId).values;for(let m=0;m=0&&w=0,()=>`GatherV2: the index value ${N} is not in [0, ${c-1}]`)}let p=a;a==null&&(p=0);let m=y.sizeFromShape(s.shape),f=S.segment_util.collectGatherOpShapeInfo(o,s,u,p),d=te({inputs:{x:o},backend:e,attrs:{shape:[f.batchSize,f.outerSize,f.dimSize,f.sliceSize]}}),h=te({inputs:{x:s},backend:e,attrs:{shape:[f.batchSize,m/f.batchSize]}}),g=[f.batchSize,f.outerSize,m/f.batchSize,f.sliceSize],x=e.bufferSync(h),b=e.bufferSync(d),w=gw(b,x,g);return e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),e.makeTensorInfo(f.outputShape,w.dtype,w.values)}var rP={kernelName:Mi,backendName:\"cpu\",kernelFunc:srt};function irt(r){let{inputs:t,backend:e}=r,{input:n}=t,o=y.sizeFromShape(n.shape),s=n.shape[n.shape.length-1],i=o/s,a=te({inputs:{x:n},backend:e,attrs:{shape:[i,s]}}),u=Aw(a,!0,e),l=te({inputs:{x:u},backend:e,attrs:{shape:n.shape}});return e.disposeIntermediateTensorInfo(a),e.disposeIntermediateTensorInfo(u),l}var nP={kernelName:Mp,backendName:\"cpu\",kernelFunc:irt};var art=At(gs,r=>Number.isFinite(r)?1:0,\"bool\"),oP={kernelName:gs,backendName:\"cpu\",kernelFunc:art};var lrt=At(xs,r=>Math.abs(r)===1/0?1:0,\"bool\"),sP={kernelName:xs,backendName:\"cpu\",kernelFunc:lrt};var urt=At(ys,r=>Number.isNaN(r)?1:0,\"bool\"),iP={kernelName:ys,backendName:\"cpu\",kernelFunc:urt};function crt(r){let{backend:t,attrs:e}=r,{start:n,stop:o,num:s}=e,i=xw(n,o,s);return t.makeTensorInfo([i.length],\"float32\",i)}var aP={kernelName:Ha,backendName:\"cpu\",kernelFunc:crt};var prt=At(Is,r=>Math.log1p(r)),lP={kernelName:Is,backendName:\"cpu\",kernelFunc:prt};var mrt=Qt((r,t)=>r&&t),frt=oe(qa,mrt,null,\"bool\"),uP={kernelName:qa,backendName:\"cpu\",kernelFunc:frt};var drt=At(Ka,r=>r?0:1,\"bool\"),cP={kernelName:Ka,backendName:\"cpu\",kernelFunc:drt};var hrt=Qt((r,t)=>r||t),grt=oe(ja,hrt,null,\"bool\"),pP={kernelName:ja,backendName:\"cpu\",kernelFunc:grt};function xrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{depthRadius:s,bias:i,alpha:a,beta:u}=n;tt(o,\"LRN\");let l=o.shape[3],c=l-1,p=e.data.get(o.dataId).values,m=y.sizeFromShape(o.shape),f=new Float32Array(m);function d(h){let g=h%l,x=h-g+Math.max(0,g-s),b=h-g+Math.min(g+s,c),w=0;for(;x<=b;x++){let I=p[x];w+=I*I}return w}for(let h=0;h`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u),p;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))p=Xr({inputs:{x:o},backend:e});else{let m=e.data.get(o.dataId).values,f=y.computeStrides(o.shape),d=gd(m,o.shape,o.dtype,f,c,\"max\");p=e.makeTensorInfo(c.outShape,o.dtype,d.values)}return p}var hP={kernelName:Ns,backendName:\"cpu\",kernelFunc:brt};function wrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n;tt(o,\"maxPool3d\");let c=S.computePool3DInfo(o.shape,s,i,1,a,u,l),p=e.data.get(o.dataId).values,m=Ew(p,o.shape,o.dtype,y.computeStrides(o.shape),c,\"max\");return e.makeTensorInfo(m.shape,\"float32\",m.values)}var gP={kernelName:Pi,backendName:\"cpu\",kernelFunc:wrt};function Irt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=n;tt([o,s],\"maxPool3DGrad\");let c=S.computePool3DInfo(s.shape,i,a,1,u,l),p=e.bufferSync(s),m=pM(p,c),f=c.strideDepth,d=c.strideHeight,h=c.strideWidth,g=c.dilationDepth,x=c.dilationHeight,b=c.dilationWidth,w=c.effectiveFilterDepth,I=c.effectiveFilterHeight,N=c.effectiveFilterWidth,E=w-1-c.padInfo.front,A=N-1-c.padInfo.left,D=I-1-c.padInfo.top,F=wt(s.shape,\"float32\"),M=e.bufferSync(o);for(let V=0;V=c.outDepth||Math.floor(st)!==st))for(let lt=0;lt=c.outHeight||Math.floor(ot)!==ot))for(let it=0;it=c.outWidth||Math.floor(ft)!==ft)continue;let gt=w*I*N-1-m.get(V,st,ot,ft,G),Ct=nt*I*N+lt*N+it,Rt=gt===Ct?1:0;if(Rt===0)continue;let Dt=M.get(V,st,ot,ft,G);et+=Dt*Rt}}}F.set(et,V,W,q,H,G)}return e.makeTensorInfo(F.shape,F.dtype,F.values)}var xP={kernelName:tu,backendName:\"cpu\",kernelFunc:Irt};function Crt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s,output:i}=t,a=s;tt([s,i],\"maxPoolGrad\");let{filterSize:u,strides:l,pad:c,dimRoundingMode:p}=n,m=S.computePool2DInfo(a.shape,u,l,1,c,p),f=e.data.get(a.dataId).values,d=wt(m.outShape,a.dtype,_w(f,a.shape,a.dtype,m).values),h=m.strideHeight,g=m.strideWidth,x=m.dilationHeight,b=m.dilationWidth,w=m.effectiveFilterHeight,I=m.effectiveFilterWidth,N=I-1-m.padInfo.left,E=w-1-m.padInfo.top,A=wt(a.shape,\"float32\"),D=e.data.get(o.dataId).values,F=wt(o.shape,\"float32\",D);for(let M=0;M=m.outHeight||Math.floor(Z)!==Z))for(let et=0;et=m.outWidth||Math.floor(nt)!==nt)continue;let st=w*I-1-d.get(M,Z,nt,V),lt=Y*I+et,ot=st===lt?1:0;if(ot===0)continue;let it=F.get(M,Z,nt,V);K+=it*ot}}A.set(K,M,G,W,V)}return e.makeTensorInfo(A.shape,A.dtype,A.values)}var yP={kernelName:Ql,backendName:\"cpu\",kernelFunc:Crt};function bP(r,t,e,n,o){let s=y.computeStrides(t),i=gd(r,t,e,s,o,\"max\"),a=_w(r,t,e,o,!0,n);return[i.values,a.values]}var wP={kernelName:eu,backendName:\"cpu\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{x:n}=r,{filterSize:o,strides:s,pad:i,includeBatchInIndex:a}=t,u=e;tt(n,\"MaxPoolWithArgmax\");let l=u.data.get(n.dataId).values,c=S.computePool2DInfo(n.shape,o,s,[1,1],i),[p,m]=bP(l,n.shape,n.dtype,a,c),f=u.write(p,c.outShape,n.dtype),d=u.write(m,c.outShape,n.dtype);return[{dataId:f,shape:c.outShape,dtype:n.dtype},{dataId:d,shape:c.outShape,dtype:\"int32\"}]}};function vrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=y.parseAxisParam(s,o.shape),l=S.computeOutAndReduceShapes(o.shape,a)[1],c=y.sizeFromShape(l),p=[],m=e.makeTensorInfo([],\"float32\",new Float32Array([c]));p.push(m);let f=Fo({inputs:{x:o},backend:e,attrs:{dtype:\"float32\"}});p.push(f);let d=Qh({inputs:{a:f,b:m},backend:e});p.push(d);let h=$l({inputs:{x:d},backend:e,attrs:{axis:s,keepDims:i}});return p.forEach(g=>e.disposeIntermediateTensorInfo(g)),h}var IP={kernelName:ks,backendName:\"cpu\",kernelFunc:vrt};function Srt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n;tt(o,\"min\");let a=y.parseAxisParam(s,o.shape),u=a,l=S.getAxesPermutation(u,o.shape.length),c=o;l!=null&&(c=We({inputs:{x:o},backend:e,attrs:{perm:l}}),u=S.getInnerMostAxes(u.length,o.shape.length)),S.assertAxesAreInnerMostDims(\"min\",u,c.shape.length);let[p,m]=S.computeOutAndReduceShapes(c.shape,u),f=y.sizeFromShape(m),d=y.makeZerosTypedArray(y.sizeFromShape(p),c.dtype),h=e.data.get(c.dataId).values;for(let x=0;xw[0]+o.shape[I]+w[1]),u=s.map(w=>w[0]),l=s.map((w,I)=>w[0]+o.shape[I]),c=i===\"reflect\"?0:1,p=e.data.get(o.dataId).values,m=o.shape.length,f=y.computeStrides(o.shape),d=y.sizeFromShape(a),h=a.length,g=y.computeStrides(a),x=y.getTypedArrayFromDType(o.dtype,d);for(let w=0;w=l[E]&&(I[E]=(l[E]-1)*2-I[E]+c);I=I.map((E,A)=>E-u[A]);let N=y.locToIndex(I,m,f);x[w]=p[N]}return{dataId:e.write(x,a,o.dtype),shape:a,dtype:o.dtype}}var vP={kernelName:Es,backendName:\"cpu\",kernelFunc:Nrt};var krt=Qt((r,t)=>{let e=r%t;return r<0&&t<0||r>=0&&t>=0?e:(e+t)%t}),Trt=oe(As,krt),SP={kernelName:As,backendName:\"cpu\",kernelFunc:Trt};var kP=Gl(dh());function MT(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{dim:s}=n,i=o.shape.length,a=s;if(a===-1&&(a=i-1),a!==i-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${i} and dim was ${a}`);let u=y.parseAxisParam([a],o.shape),l=OT({inputs:{x:o},backend:e,attrs:{reductionIndices:u,keepDims:!1}}),c=S.expandShapeToKeepDim(l.shape,u),p=te({inputs:{x:l},backend:e,attrs:{shape:c}}),m=Zh({inputs:{a:o,b:p},backend:e}),f=sT({inputs:{x:m},backend:e}),d=$l({inputs:{x:f},backend:e,attrs:{axis:u,keepDims:!1}}),h=te({inputs:{x:d},backend:e,attrs:{shape:c}}),g=Qh({inputs:{a:f,b:h},backend:e});return e.disposeIntermediateTensorInfo(l),e.disposeIntermediateTensorInfo(p),e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),g}var NP={kernelName:Qs,backendName:\"cpu\",kernelFunc:MT};function _rt(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{numSamples:s,seed:i,normalized:a}=n;tt(o,\"multinomial\");let u=a?o:MT({inputs:{logits:o},backend:e,attrs:{dim:-1}}),l=u.shape[0],c=u.shape[1],p=e.data.get(u.dataId).values,m=[l,s],f=y.makeZerosTypedArray(y.sizeFromShape(m),\"int32\");for(let d=0;d=0&&p[m]{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(i===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let a=[],u=t.map(c=>{let p=xd({inputs:{input:c},backend:e,attrs:{dim:o}});return a.push(p),p}),l=Gu({inputs:u,backend:e,attrs:{axis:o}});return a.forEach(c=>e.disposeIntermediateTensorInfo(c)),l}var OP={kernelName:Bi,backendName:\"cpu\",kernelFunc:PT};function Mrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{paddings:s,constantValue:i}=n;tt(o,\"pad\");let a=s.map((b,w)=>b[0]+o.shape[w]+b[1]),u=s.map(b=>b[0]),l=e.data.get(o.dataId).values,c=y.sizeFromShape(o.shape),p=o.shape.length,m=y.computeStrides(o.shape),f=y.sizeFromShape(a),d=a.length,h=y.computeStrides(a),g=y.getTypedArrayFromDType(o.dtype,f);i!==0&&g.fill(i);for(let b=0;bE+u[A]),N=y.locToIndex(I,d,h);g[N]=l[b]}return{dataId:e.write(g,a,o.dtype),shape:a,dtype:o.dtype}}var Dw={kernelName:Rs,backendName:\"cpu\",kernelFunc:Mrt};var Prt=Qt((r,t)=>Math.pow(r,t)),Lrt=oe(Fs,Prt),MP={kernelName:Fs,backendName:\"cpu\",kernelFunc:Lrt};function zrt(r){let{inputs:t,backend:e,attrs:n}=r,{paramsNestedSplits:o,paramsDenseValues:s,indices:i}=t,{outputRaggedRank:a}=n,u=o.map(x=>e.data.get(x.dataId).values),l=o.map(x=>x.shape),c=e.data.get(s.dataId).values,p=e.data.get(i.dataId).values,[m,f,d]=bw(u,l,c,s.shape,s.dtype,p,i.shape,a),h=m.map(x=>e.makeTensorInfo([x.length],\"int32\",x)),g=e.makeTensorInfo(d,s.dtype,f);return h.concat([g])}var PP={kernelName:Lp,backendName:\"cpu\",kernelFunc:zrt};function Brt(r){let{inputs:t,backend:e}=r,{starts:n,limits:o,deltas:s}=t,i=e.data.get(n.dataId).values,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,[l,c]=ww(i,n.shape,n.dtype,a,o.shape,u,s.shape),p=e.makeTensorInfo([l.length],\"int32\",l),m=e.makeTensorInfo([c.length],n.dtype,c);return[p,m]}var LP={kernelName:zp,backendName:\"cpu\",kernelFunc:Brt};function Vrt(r){let{inputs:t,backend:e,attrs:n}=r,{shape:o,values:s,defaultValue:i,rowPartitionTensors:a}=t,{rowPartitionTypes:u}=n,l=e.data.get(o.dataId).values,c=e.data.get(s.dataId).values,p=e.data.get(i.dataId).values,m=a.map(g=>e.data.get(g.dataId).values),f=a.map(g=>g.shape),[d,h]=Iw(l,o.shape,c,s.shape,s.dtype,p,i.shape,m,f,u);return e.makeTensorInfo(d,s.dtype,h)}var zP={kernelName:Bp,backendName:\"cpu\",kernelFunc:Vrt};function Grt(r){let{backend:t,attrs:e}=r,{start:n,stop:o,dtype:s,step:i}=e,a=tp(n,o,i,s);return t.makeTensorInfo([a.length],s,a)}var BP={kernelName:ru,backendName:\"cpu\",kernelFunc:Grt};var Wrt=At(Ps,r=>1/r),VP={kernelName:Ps,backendName:\"cpu\",kernelFunc:Wrt};function Urt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:i,size:a}=n;tt(o,\"resizeBilinear\");let u=y.computeStrides(o.shape),[l,c]=a,[p,m,f,d]=o.shape,h=e.data.get(o.dataId).values,g=new Float32Array(y.sizeFromShape([p,l,c,d])),x=[s&&l>1?m-1:m,s&&c>1?f-1:f],b=[s&&l>1?l-1:l,s&&c>1?c-1:c],w=0,I=x[0]/b[0],N=x[1]/b[1];for(let E=0;E1?l-1:l,i&&f>1?c-1:c],g=[i&&m>1?m-1:m,i&&f>1?f-1:f],x=h[0]/g[0],b=h[1]/g[1],w=e.data.get(s.dataId).values,I=0;for(let N=0;N1?m-1:m,s&&c>1?f-1:f],b=[s&&l>1?l-1:l,s&&c>1?c-1:c],w=x[0]/b[0],I=x[1]/b[1],N=0;for(let E=0;E1?c-1:c,i&&d>1?p-1:p],b=[i&&f>1?f-1:f,i&&d>1?d-1:d],w=x[0]/b[0],I=x[1]/b[1],N=1/w,E=1/I,A=Math.ceil(N)*2+2,D=Math.ceil(E)*2+2;for(let F=0;F=f)continue;let ot=M+lt*u[1],it=lt*w,ft=Math.min(c-1,i?Math.round(it):Math.floor(it));if(V===ft)for(let gt=0;gt=d)continue;let Rt=ot+Ct*u[2],Dt=Ct*I,Ht=Math.min(p-1,i?Math.round(Dt):Math.floor(Dt));H===Ht&&(nt+=g[Rt+et])}}h[K+et]=nt}}}}return e.makeTensorInfo(o.shape,o.dtype,h)}var HP={kernelName:el,backendName:\"cpu\",kernelFunc:Krt};function jrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dims:s}=n;tt(o,\"reverse\");let i=o.shape.length,a=y.parseAxisParam(s,o.shape);if(i===0)return Xr({inputs:{x:o},backend:e});let u=new le(o.shape,o.dtype),l=e.bufferSync(o);for(let c=0;cm[f]=o.shape[f]-1-m[f]),u.set(l.get(...m),...p)}return e.makeTensorInfo(u.shape,u.dtype,u.values)}var qP={kernelName:Gs,backendName:\"cpu\",kernelFunc:jrt};var KP={kernelName:pl,backendName:\"cpu\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{image:n}=r,{radians:o,fillValue:s,center:i}=t,a=e,u=y.getTypedArrayFromDType(n.dtype,y.sizeFromShape(n.shape)),[l,c,p,m]=n.shape,[f,d]=S.getImageCenter(i,c,p),h=255,g=Math.sin(o),x=Math.cos(o),b=a.data.get(n.dataId).values;for(let I=0;I=0&&q=0&&H{let t=Math.floor(r);return r-t<.5?Math.floor(r):r-t>.5?Math.ceil(r):t%2===0?t:t+1}),jP={kernelName:Ws,backendName:\"cpu\",kernelFunc:Xrt};function Yrt(r){let{inputs:t,backend:e,attrs:n}=r,{indices:o,updates:s}=t,{shape:i}=n,{sliceRank:a,numUpdates:u,sliceSize:l,strides:c,outputSize:p}=S.calculateShapes(s,o,i),m=!0,f=e.bufferSync(o),d=e.bufferSync(s),h=Ii(f,d,i,p,l,u,a,c,0,m);return e.makeTensorInfo(i,h.dtype,h.values)}var XP={kernelName:nl,backendName:\"cpu\",kernelFunc:Yrt};function Zrt(r,t){let e=0,n=r.length,o=0;for(;e1||o.shape.length===1?1:y.sizeFromShape(o.shape.slice(1));for(let d=0;dr>=0?rnt*r:ent*(Math.exp(r)-1)),QP={kernelName:Hs,backendName:\"cpu\",kernelFunc:nnt};var ont=At(js,r=>r<0?-1:r>0?1:0),tL={kernelName:js,backendName:\"cpu\",kernelFunc:ont};var snt=At(qs,r=>Math.sin(r)),eL={kernelName:qs,backendName:\"cpu\",kernelFunc:snt};var int=At(Ks,r=>Math.sinh(r)),rL={kernelName:Ks,backendName:\"cpu\",kernelFunc:int};var ant=11920928955078125e-23,nL=Math.log(ant)+2,lnt=At(Ys,r=>{let t=r>-nL,e=rNumber(g)))),e.makeTensorInfo([h.length],n.dtype,new Int32Array(h))]}var iL={kernelName:nu,backendName:\"cpu\",kernelFunc:cnt};function pnt(r){let{inputs:t,backend:e}=r,{inputIndices:n,inputShape:o,newShape:s}=t;if(n.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape\n ${n.shape}`);if(o.shape.length!==1)throw new Error(`Input shape should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=Array.from(e.data.get(o.dataId).values),a=e.data.get(n.dataId).values,u=Array.from(e.data.get(s.dataId).values),[l,c,p]=vw(a,n.shape,n.dtype,i,u);return[e.makeTensorInfo(c,n.dtype,l),e.makeTensorInfo([p.length],s.dtype,new Int32Array(p))]}var aL={kernelName:il,backendName:\"cpu\",kernelFunc:pnt};function mnt(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(o.shape[0]!==s.shape[0])throw new Error(\"segmentIds and indices should have same size.\");let i=e.data.get(n.dataId).values,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,[l,c]=hd(i,n.shape,n.dtype,a,u,!0);return e.makeTensorInfo(c,n.dtype,l)}var lL={kernelName:ou,backendName:\"cpu\",kernelFunc:mnt};function fnt(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(o.shape[0]!==s.shape[0])throw new Error(\"segmentIds and indices should have same size.\");let i=e.data.get(n.dataId).values,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,[l,c]=hd(i,n.shape,n.dtype,a,u);return e.makeTensorInfo(c,n.dtype,l)}var uL={kernelName:su,backendName:\"cpu\",kernelFunc:fnt};function dnt(r){let{inputs:t,backend:e,attrs:n}=r,{sparseIndices:o,sparseValues:s,defaultValue:i}=t,{outputShape:a}=n,{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=S.calculateShapes(s,o,a),f=!1,d=e.bufferSync(o),h;switch(s.dtype){case\"bool\":{let g=e.bufferSync(s),x=!!e.data.get(i.dataId).values[0];h=Ii(d,g,a,m,c,l,u,p,x,f);break}case\"float32\":{let g=e.bufferSync(s),x=e.data.get(i.dataId).values[0];h=Ii(d,g,a,m,c,l,u,p,x,f);break}case\"int32\":{let g=e.bufferSync(s),x=e.data.get(i.dataId).values[0];h=Ii(d,g,a,m,c,l,u,p,x,f);break}case\"string\":{let g=e.bufferSync(s),x=y.decodeString(e.data.get(i.dataId).values[0]);h=Ii(d,g,a,m,c,l,u,p,x,f);break}default:throw new Error(`Unsupported type ${s.dtype}`)}return e.makeTensorInfo(a,h.dtype,h.values)}var cL={kernelName:al,backendName:\"cpu\",kernelFunc:dnt};function hnt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{numOrSizeSplits:s,axis:i}=n,a=y.parseAxisParam(i,o.shape)[0],u=S.prepareSplitSize(o,s,a),l=new Array(o.shape.length).fill(0),c=o.shape.slice();return u.map(p=>{let m=[...c];m[a]=p;let f=Mo({inputs:{x:o},backend:e,attrs:{begin:l,size:m}});return l[a]+=p,f})}var pL={kernelName:Hi,backendName:\"cpu\",kernelFunc:hnt};var mL={kernelName:iu,backendName:\"cpu\",kernelFunc:({inputs:r,backend:t})=>{let{x:e}=r,n=t;tt(e,\"square\");let o=n.data.get(e.dataId).values,s=new Float32Array(o.length);for(let a=0;a{let e=t;return isNaN(r)?NaN:r>0?1:e.alpha}),fL={kernelName:xo,backendName:\"cpu\",kernelFunc:gnt};function xnt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,end:i,strides:a,beginMask:u,endMask:l,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n;tt(o,\"stridedSlice\");let{finalShapeSparse:f,finalShape:d,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:w,strides:I}=Be.sliceInfo(o.shape,s,i,a,u,l,c,p,m),N;if(h)N=te({inputs:{x:o},backend:e,attrs:{shape:d}});else if(g||x){y.assert(o.shape.length>=1,()=>`Input must have rank at least 1, got: ${o.shape.length}`);let E=Be.computeOutShape(b,w,I),A=Mo({inputs:{x:o},backend:e,attrs:{begin:b,size:E}});N=te({inputs:{x:A},backend:e,attrs:{shape:d}}),e.disposeIntermediateTensorInfo(A)}else{let E=e.bufferSync(o),A=Sw(f,E,I,b);N=e.makeTensorInfo(d,A.dtype,A.values)}return N}var dL={kernelName:ll,backendName:\"cpu\",kernelFunc:xnt};function ynt(r){let{inputs:t,backend:e,attrs:n}=r,{separator:o,nGramWidths:s,leftPad:i,rightPad:a,padWidth:u,preserveShortSequences:l}=n,{data:c,dataSplits:p}=t,m=e.data.get(c.dataId).values,f=e.data.get(p.dataId).values,[d,h]=rp(m,f,o,s,i,a,u,l);return[e.makeTensorInfo([d.length],\"string\",d),e.makeTensorInfo(p.shape,\"int32\",h)]}var hL={kernelName:au,backendName:\"cpu\",kernelFunc:ynt};function bnt(r){let{inputs:t,backend:e,attrs:n}=r,{skipEmpty:o}=n,{input:s,delimiter:i}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(s.shape.length!==1)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(i.shape.length!==0)throw new Error(`Delimiter must be a scalar, got shape: ${i.shape}`);let a=e.data.get(s.dataId).values,u=e.data.get(i.dataId).values[0],[l,c,p]=np(a,u,o),m=c.length;return[e.makeTensorInfo([m,2],\"int32\",l),e.makeTensorInfo([m],\"string\",c),e.makeTensorInfo([2],\"int32\",new Int32Array(p))]}var gL={kernelName:lu,backendName:\"cpu\",kernelFunc:bnt};function wnt(r){let{inputs:t,backend:e,attrs:n}=r,{numBuckets:o}=n,{input:s}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(o<=0)throw new Error(\"Number of buckets must be at least 1\");let i=e.data.get(s.dataId).values,a=op(i,o);return e.makeTensorInfo(s.shape,\"int32\",a)}var xL={kernelName:uu,backendName:\"cpu\",kernelFunc:wnt};var Int=At(ri,r=>Math.tan(r)),yL={kernelName:ri,backendName:\"cpu\",kernelFunc:Int};var Cnt=At(ni,r=>Math.tanh(r)),bL={kernelName:ni,backendName:\"cpu\",kernelFunc:Cnt};function vnt(r){let{inputs:t,backend:e}=r,{tensor:n,indices:o,updates:s}=t,{sliceRank:i,numUpdates:a,sliceSize:u,strides:l,outputSize:c}=S.calculateShapes(s,o,n.shape),p=!1,m=e.bufferSync(o),f=e.bufferSync(s),d=e.bufferSync(n),h=Ii(m,f,n.shape,c,u,a,i,l,d,p);return e.makeTensorInfo(n.shape,h.dtype,h.values)}var wL={kernelName:ol,backendName:\"cpu\",kernelFunc:vnt};function Snt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{reps:s}=n;tt(o,\"tile\");let i=Nw(e.bufferSync(o),s);return e.makeTensorInfo(i.shape,i.dtype,i.values)}var IL={kernelName:oo,backendName:\"cpu\",kernelFunc:Snt};function Nnt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{k:s,sorted:i}=n;tt(o,\"topk\");let a=e.data.get(o.dataId).values,[u,l]=kw(a,o.shape,o.dtype,s,i);return[e.makeTensorInfo(u.shape,u.dtype,u.values),e.makeTensorInfo(l.shape,l.dtype,l.values)]}var CL={kernelName:ul,backendName:\"cpu\",kernelFunc:Nnt};function knt(r){let{inputs:t,attrs:e,backend:n}=r,{image:o,transforms:s}=t,{interpolation:i,fillMode:a,fillValue:u,outputShape:l}=e,[c,p,m,f]=o.shape,[d,h]=l!=null?l:[p,m],g=[c,d,h,f],x=y.computeStrides(o.shape),b=x[0],w=x[1],I=x[2],N=y.computeStrides(g),E=N[0],A=N[1],D=N[2],F=y.getTypedArrayFromDType(o.dtype,y.sizeFromShape(g));F.fill(u);let M=n.data.get(o.dataId).values,V=n.data.get(s.dataId).values;for(let W=0;Wt-1)if(t<=1)e=0;else{let n=2*t;e-=n*Math.trunc(e/n),e>=t&&(e=n-e-1)}return y.clamp(0,e,t-1)}function _nt(r,t){let e=r;if(e<0)if(t<=1)e=0;else{let n=t-1;e+=t*(Math.trunc(-e/n)+1)}else if(e>t-1)if(t<=1)e=0;else{let n=t-1;e-=t*Math.trunc(e/n)}return y.clamp(0,e,t-1)}function Ent(r,t){return r}function Ant(r,t){return y.clamp(0,r,t-1)}function ng(r,t,e,n,o,s,i,a,u,l,c){let p=i*n+a*o+u*s+l;return 0<=a&&ae.disposeIntermediateTensorInfo(d)),f}var TL={kernelName:pu,backendName:\"cpu\",kernelFunc:Ont};var Mnt=[JO,sO,QO,tM,cO,eM,rM,nM,oM,sM,iM,aM,lM,uM,cM,mM,fM,dM,hM,ZO,gM,xM,yM,pO,bM,uO,mO,wM,iO,IM,vM,SM,NM,kM,TM,_M,EM,AM,DM,$M,RM,FM,OM,MM,PM,LM,zM,BM,VM,GM,WM,UM,qM,HO,KM,fO,jM,dO,XM,hO,YM,ZM,JM,gO,xO,QM,tP,eP,rP,yO,bO,aO,nP,CM,oP,sP,iP,qO,wO,IO,aP,CO,lP,uP,cP,pP,mP,fP,dP,vO,hP,gP,xP,yP,wP,IP,CP,SO,vP,SP,TP,NO,kO,_P,EP,AP,TO,DP,FP,OP,Dw,MP,KO,EO,PP,LP,zP,BP,lO,tg,VP,jO,XO,YO,GP,WP,UP,HP,qP,KP,jP,FO,XP,ZP,JP,QP,MO,tL,eL,rL,PO,NP,oL,sL,iL,aL,lL,uL,cL,pL,zO,mL,BO,VO,fL,dL,hL,gL,xL,GO,HM,yL,bL,wL,IL,CL,SL,_O,NL,kL,TL,$P];for(let r of Mnt)rc(r);var Id={};Kt(Id,{assertNotComplex:()=>Ci,bindCanvasToFramebuffer:()=>Hnt,bindColorTextureToFramebuffer:()=>ag,bindTextureToProgramUniformSampler:()=>QT,bindTextureUnit:()=>DL,bindVertexBufferToProgramAttribute:()=>Pw,callAndCheck:()=>ht,canBeRepresented:()=>VT,createFragmentShader:()=>WT,createFramebuffer:()=>YT,createProgram:()=>UT,createStaticIndexBuffer:()=>KT,createStaticVertexBuffer:()=>qT,createTexture:()=>jT,createVertexShader:()=>GT,getBatchDim:()=>Fl,getExtensionOrThrow:()=>yd,getFramebufferErrorMessage:()=>$L,getMaxTexturesInShader:()=>r1,getNumChannels:()=>Wnt,getProgramUniformLocation:()=>JT,getProgramUniformLocationOrThrow:()=>ZT,getRowsCols:()=>Ol,getShapeAs3D:()=>wd,getTextureShapeFromLogicalShape:()=>t1,getWebGLDisjointQueryTimerVersion:()=>n1,getWebGLErrorMessage:()=>AL,getWebGLMaxTextureSize:()=>e1,hasExtension:()=>Kn,isCapableOfRenderingToFloatTexture:()=>o1,isDownloadFloatTextureEnabled:()=>s1,isReshapeFree:()=>Uu,isWebGLFenceEnabled:()=>i1,isWebGLVersionEnabled:()=>zw,linkProgram:()=>HT,logShaderSourceAndInfoLog:()=>Mw,resetMaxTextureSize:()=>qnt,resetMaxTexturesInShader:()=>Knt,unbindColorTextureFromFramebuffer:()=>Lw,unbindTextureUnit:()=>Unt,validateFramebuffer:()=>bd,validateProgram:()=>ig,validateTextureSize:()=>XT});var ap={},$w={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function LT(r,t){ap[r]=t}function qn(r,t){if(!(r in ap)||t!=null){let n=Lnt(r,t);if(n!==null)ap[r]=n;else return console.log(\"Could not get context for WebGL version\",r),null}let e=ap[r];return e==null||e.isContextLost()?(delete ap[r],qn(r)):(e.disable(e.DEPTH_TEST),e.disable(e.STENCIL_TEST),e.disable(e.BLEND),e.disable(e.DITHER),e.disable(e.POLYGON_OFFSET_FILL),e.disable(e.SAMPLE_COVERAGE),e.enable(e.SCISSOR_TEST),e.enable(e.CULL_FACE),e.cullFace(e.BACK),ap[r])}function Pnt(r){if(!L().getBool(\"IS_SAFARI\")&&typeof OffscreenCanvas!=\"undefined\"&&r===2)return new OffscreenCanvas(300,150);if(typeof document!=\"undefined\")return document.createElement(\"canvas\");throw new Error(\"Cannot create a canvas in this context\")}function Lnt(r,t){if(r!==1&&r!==2)throw new Error(\"Cannot get WebGL rendering context, WebGL is disabled.\");let e=t==null?Pnt(r):t;return e.addEventListener(\"webglcontextlost\",n=>{n.preventDefault(),delete ap[r]},!1),L().getBool(\"SOFTWARE_WEBGL_ENABLED\")&&($w.failIfMajorPerformanceCaveat=!1),r===1?e.getContext(\"webgl\",$w)||e.getContext(\"experimental-webgl\",$w):e.getContext(\"webgl2\",$w)}var Wu;(function(r){r[r.DENSE=0]=\"DENSE\",r[r.SHARED_BATCH=1]=\"SHARED_BATCH\"})(Wu||(Wu={}));var Yr;(function(r){r[r.RENDER=0]=\"RENDER\",r[r.UPLOAD=1]=\"UPLOAD\",r[r.PIXELS=2]=\"PIXELS\",r[r.DOWNLOAD=3]=\"DOWNLOAD\"})(Yr||(Yr={}));var Pr;(function(r){r[r.UNPACKED_FLOAT16=0]=\"UNPACKED_FLOAT16\",r[r.UNPACKED_FLOAT32=1]=\"UNPACKED_FLOAT32\",r[r.PACKED_4X1_UNSIGNED_BYTE=2]=\"PACKED_4X1_UNSIGNED_BYTE\",r[r.PACKED_2X2_FLOAT32=3]=\"PACKED_2X2_FLOAT32\",r[r.PACKED_2X2_FLOAT16=4]=\"PACKED_2X2_FLOAT16\"})(Pr||(Pr={}));function lp(r,t){return[t,r]}function _L(r,t){return r*t}function og(r){let t=y.sizeFromShape(r),e=Math.ceil(t/4);return y.sizeToSquarishShape(e)}function wa(r,t){return[Math.max(1,Math.ceil(t/2)),Math.max(1,Math.ceil(r/2))]}function EL(r,t){let[e,n]=wa(r,t);return e*n*4}function sg(r,t){let e=r,n,o,s,i,a,u,l,c,p,m;return L().getNumber(\"WEBGL_VERSION\")===2?(n=e.R32F,o=e.R16F,s=e.RGBA16F,i=e.RGBA32F,a=e.RED,l=4,c=1,p=e.HALF_FLOAT,m=e.FLOAT,u=e.RGBA8):(n=r.RGBA,o=r.RGBA,s=r.RGBA,i=e.RGBA,a=r.RGBA,l=4,c=4,p=t!=null?t.HALF_FLOAT_OES:null,m=r.FLOAT,u=r.RGBA),{internalFormatFloat:n,internalFormatHalfFloat:o,internalFormatPackedHalfFloat:s,internalFormatPackedFloat:i,textureFormatFloat:a,downloadTextureFormat:u,downloadUnpackNumChannels:l,defaultNumChannels:c,textureTypeHalfFloat:p,textureTypeFloat:m}}function ht(r,t){let e=t();return L().getBool(\"DEBUG\")&&znt(r),e}function znt(r){let t=r.getError();if(t!==r.NO_ERROR)throw new Error(\"WebGL Error: \"+AL(r,t))}var Bnt=596e-10,Vnt=65504;function VT(r){return!!(L().getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")||r===0||Bntr.getExtension(t),'Extension \"'+t+'\" not supported on this browser.')}function GT(r,t){let e=Rl(r,()=>r.createShader(r.VERTEX_SHADER),\"Unable to create vertex WebGLShader.\");if(ht(r,()=>r.shaderSource(e,t)),ht(r,()=>r.compileShader(e)),r.getShaderParameter(e,r.COMPILE_STATUS)===!1)throw console.log(r.getShaderInfoLog(e)),new Error(\"Failed to compile vertex shader.\");return e}function WT(r,t){let e=Rl(r,()=>r.createShader(r.FRAGMENT_SHADER),\"Unable to create fragment WebGLShader.\");if(ht(r,()=>r.shaderSource(e,t)),ht(r,()=>r.compileShader(e)),L().get(\"ENGINE_COMPILE_ONLY\"))return e;if(r.getShaderParameter(e,r.COMPILE_STATUS)===!1)throw Mw(t,r.getShaderInfoLog(e)),new Error(\"Failed to compile fragment shader.\");return e}var Gnt=/ERROR: [0-9]+:([0-9]+):/g;function Mw(r,t){let e=Gnt.exec(t);if(e==null){console.log(`Couldn't parse line number in error: ${t}`),console.log(r);return}let n=+e[1],o=r.split(`\n`),s=o.length.toString().length+2,i=o.map((p,m)=>y.rightPad((m+1).toString(),s)+p),a=0;for(let p=0;pr.createProgram(),\"Unable to create WebGLProgram.\")}function HT(r,t){if(ht(r,()=>r.linkProgram(t)),!L().get(\"ENGINE_COMPILE_ONLY\")&&r.getProgramParameter(t,r.LINK_STATUS)===!1)throw console.log(r.getProgramInfoLog(t)),new Error(\"Failed to link vertex and fragment shaders.\")}function ig(r,t){if(ht(r,()=>r.validateProgram(t)),r.getProgramParameter(t,r.VALIDATE_STATUS)===!1)throw console.log(r.getProgramInfoLog(t)),new Error(\"Shader program validation failed.\")}function qT(r,t){let e=Rl(r,()=>r.createBuffer(),\"Unable to create WebGLBuffer\");return ht(r,()=>r.bindBuffer(r.ARRAY_BUFFER,e)),ht(r,()=>r.bufferData(r.ARRAY_BUFFER,t,r.STATIC_DRAW)),e}function KT(r,t){let e=Rl(r,()=>r.createBuffer(),\"Unable to create WebGLBuffer\");return ht(r,()=>r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,e)),ht(r,()=>r.bufferData(r.ELEMENT_ARRAY_BUFFER,t,r.STATIC_DRAW)),e}function Wnt(){return L().getNumber(\"WEBGL_VERSION\")===2?1:4}function jT(r){return Rl(r,()=>r.createTexture(),\"Unable to create WebGLTexture.\")}function XT(r,t){let e=L().getNumber(\"WEBGL_MAX_TEXTURE_SIZE\");if(r<=0||t<=0){let n=`[${r}x${t}]`;throw new Error(\"Requested texture size \"+n+\" is invalid.\")}if(r>e||t>e){let n=`[${r}x${t}]`,o=`[${e}x${e}]`;throw new Error(\"Requested texture size \"+n+\" greater than WebGL maximum on this browser / GPU \"+o+\".\")}}function YT(r){return Rl(r,()=>r.createFramebuffer(),\"Unable to create WebGLFramebuffer.\")}function Pw(r,t,e,n,o,s,i){let a=r.getAttribLocation(t,e);return a===-1?!1:(ht(r,()=>r.bindBuffer(r.ARRAY_BUFFER,n)),ht(r,()=>r.vertexAttribPointer(a,o,r.FLOAT,!1,s,i)),ht(r,()=>r.enableVertexAttribArray(a)),!0)}function DL(r,t,e){RL(r,e),ht(r,()=>r.activeTexture(r.TEXTURE0+e)),ht(r,()=>r.bindTexture(r.TEXTURE_2D,t))}function Unt(r,t){RL(r,t),ht(r,()=>r.activeTexture(r.TEXTURE0+t)),ht(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function ZT(r,t,e){return Rl(r,()=>r.getUniformLocation(t,e),'uniform \"'+e+'\" not present in program.')}function JT(r,t,e){return r.getUniformLocation(t,e)}function QT(r,t,e,n){ht(r,()=>DL(r,t,n)),ht(r,()=>r.uniform1i(e,n))}function Hnt(r){ht(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,null)),ht(r,()=>r.viewport(0,0,r.canvas.width,r.canvas.height)),ht(r,()=>r.scissor(0,0,r.canvas.width,r.canvas.height))}function ag(r,t,e){ht(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,e)),ht(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,t,0))}function Lw(r,t){ht(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,t)),ht(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,null,0))}function bd(r){let t=r.checkFramebufferStatus(r.FRAMEBUFFER);if(t!==r.FRAMEBUFFER_COMPLETE)throw new Error(\"Error binding framebuffer: \"+$L(r,t))}function $L(r,t){switch(t){case r.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\";case r.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\";case r.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\";case r.FRAMEBUFFER_UNSUPPORTED:return\"FRAMEBUFFER_UNSUPPORTED\";default:return`unknown error ${t}`}}function Rl(r,t,e){let n=ht(r,()=>t());if(n==null)throw new Error(e);return n}function RL(r,t){let e=r.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,n=t+r.TEXTURE0;if(ne){let o=`[gl.TEXTURE0, gl.TEXTURE${e}]`;throw new Error(`textureUnit must be in ${o}.`)}}function Fl(r,t=2){return y.sizeFromShape(r.slice(0,r.length-t))}function Ol(r){if(r.length===0)throw Error(\"Cannot get rows and columns of an empty shape array.\");return[r.length>1?r[r.length-2]:1,r[r.length-1]]}function wd(r){let t=[1,1,1];return r.length===0||r.length===1&&r[0]===1||(t=[Fl(r),...Ol(r)]),t}function t1(r,t=!1){let e=L().getNumber(\"WEBGL_MAX_TEXTURE_SIZE\"),n=L().getNumber(\"WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE\");n===1/0&&L().getBool(\"WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE\")&&(n=e/2),t&&(e=e*2,n=n*2,r=r.map((a,u)=>u>=r.length-2?y.nearestLargerEven(r[u]):r[u]),r.length===1&&(r=[2,r[0]])),r.length!==2&&(r=y.squeezeShape(r).newShape);let o=y.sizeFromShape(r),s=null;r.length<=1&&o<=e?s=[1,o]:r.length===2&&r[0]<=e&&r[1]<=e?s=r:r.length===3&&r[0]*r[1]<=e&&r[2]<=e?s=[r[0]*r[1],r[2]]:r.length===3&&r[0]<=e&&r[1]*r[2]<=e?s=[r[0],r[1]*r[2]]:r.length===4&&r[0]*r[1]*r[2]<=e&&r[3]<=e?s=[r[0]*r[1]*r[2],r[3]]:r.length===4&&r[0]<=e&&r[1]*r[2]*r[3]<=e&&(s=[r[0],r[1]*r[2]*r[3]]);let i=s!=null&&Math.max(...s)>n&&Math.min(...s)<=(t?2:1)&&Math.min(...s)>0;if(s==null||i)if(t){let a=Fl(r),u=2,l=2;r.length&&([u,l]=Ol(r)),o=a*(u/2)*(l/2),s=y.sizeToSquarishShape(o).map(c=>c*2)}else s=y.sizeToSquarishShape(o);return s}function Rw(r){return r%2===0}function Uu(r,t){if(r=r.slice(-2),t=t.slice(-2),y.arraysEqual(r,t)||!r.length||!t.length||r[0]===0||r[1]===0||t[0]===0||t[1]===0)return!0;if(r.length!==t.length){let e=r[r.length-1],n=t[t.length-1];if(e===n||Rw(e)&&Rw(n)&&(r[0]===1||t[0]===1))return!0}return r[1]===t[1]&&Rw(r[0])&&Rw(t[0])}var Fw,Ow;function e1(r){if(Fw==null){let t=qn(r);Fw=t.getParameter(t.MAX_TEXTURE_SIZE)}return Fw}function qnt(){Fw=null}function Knt(){Ow=null}function r1(r){if(Ow==null){let t=qn(r);Ow=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,Ow)}function n1(r){if(r===0)return 0;let t,e=qn(r);return Kn(e,\"EXT_disjoint_timer_query_webgl2\")&&r===2?t=2:Kn(e,\"EXT_disjoint_timer_query\")?t=1:t=0,t}function Kn(r,t){return r.getExtension(t)!=null}function zw(r){try{if(qn(r)!=null)return!0}catch(t){return console.log(\"Error when getting WebGL context: \",t),!1}return!1}function o1(r){if(r===0)return!1;let t=qn(r);if(r===1){if(!Kn(t,\"OES_texture_float\"))return!1}else if(!Kn(t,\"EXT_color_buffer_float\"))return!1;return BT(t)}function s1(r){if(r===0)return!1;let t=qn(r);if(r===1){if(!Kn(t,\"OES_texture_float\")||!Kn(t,\"WEBGL_color_buffer_float\"))return!1}else{if(Kn(t,\"EXT_color_buffer_float\"))return BT(t);let n=\"EXT_color_buffer_half_float\";if(Kn(t,n)){let o=t.getExtension(n);return jnt(t,o)}return!1}return BT(t)}function BT(r){let t=sg(r),e=r.createTexture();r.bindTexture(r.TEXTURE_2D,e),r.texImage2D(r.TEXTURE_2D,0,t.internalFormatFloat,1,1,0,t.textureFormatFloat,t.textureTypeFloat,null);let s=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,s),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,e,0);let i=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(e),r.deleteFramebuffer(s),i}function jnt(r,t){let e=sg(r,t),n=r.createTexture();r.bindTexture(r.TEXTURE_2D,n),r.texImage2D(r.TEXTURE_2D,0,e.internalFormatHalfFloat,1,1,0,e.textureFormatFloat,e.textureTypeHalfFloat,null);let i=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,i),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,n,0);let a=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(n),r.deleteFramebuffer(i),a}function i1(r){return r!==2?!1:qn(r).fenceSync!=null}function Ci(r,t){Array.isArray(r)||(r=[r]),r.forEach(e=>{e!=null&&y.assert(e.dtype!==\"complex64\",()=>`${t} does not support complex64 tensors in the WebGL backend.`)})}var kt=L();kt.registerFlag(\"HAS_WEBGL\",()=>kt.getNumber(\"WEBGL_VERSION\")>0);kt.registerFlag(\"WEBGL_VERSION\",()=>zw(2)?2:zw(1)?1:0);kt.registerFlag(\"WEBGL_CHECK_NUMERICAL_PROBLEMS\",()=>!1);kt.registerFlag(\"WEBGL_BUFFER_SUPPORTED\",()=>kt.get(\"WEBGL_VERSION\")===2);kt.registerFlag(\"WEBGL_CPU_FORWARD\",()=>!0);kt.registerFlag(\"WEBGL_FORCE_F16_TEXTURES\",()=>!1);kt.registerFlag(\"WEBGL_PACK\",()=>kt.getBool(\"HAS_WEBGL\"));kt.registerFlag(\"WEBGL_PACK_NORMALIZATION\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_CLIP\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_DEPTHWISECONV\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_BINARY_OPERATIONS\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_UNARY_OPERATIONS\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_ARRAY_OPERATIONS\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_IMAGE_OPERATIONS\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_REDUCE\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_LAZILY_UNPACK\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_CONV_IM2COL\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_CONV2DTRANSPOSE\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_MAX_TEXTURE_SIZE\",()=>e1(kt.getNumber(\"WEBGL_VERSION\")));kt.registerFlag(\"WEBGL_MAX_TEXTURES_IN_SHADER\",()=>r1(kt.getNumber(\"WEBGL_VERSION\")));kt.registerFlag(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\",()=>{let r=kt.getNumber(\"WEBGL_VERSION\");return r===0?0:n1(r)});kt.registerFlag(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\",()=>kt.getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0&&!du.isMobile());kt.registerFlag(\"WEBGL_RENDER_FLOAT32_CAPABLE\",()=>o1(kt.getNumber(\"WEBGL_VERSION\")));kt.registerFlag(\"WEBGL_RENDER_FLOAT32_ENABLED\",()=>kt.getBool(\"WEBGL_FORCE_F16_TEXTURES\")?!1:kt.getBool(\"WEBGL_RENDER_FLOAT32_CAPABLE\"));kt.registerFlag(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\",()=>s1(kt.getNumber(\"WEBGL_VERSION\")));kt.registerFlag(\"WEBGL_FENCE_API_ENABLED\",()=>i1(kt.getNumber(\"WEBGL_VERSION\")));kt.registerFlag(\"WEBGL_SIZE_UPLOAD_UNIFORM\",()=>kt.getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")?4:0);kt.registerFlag(\"WEBGL_DELETE_TEXTURE_THRESHOLD\",()=>-1,r=>{if(typeof r!=\"number\")throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be a number but got ${r}.`);if(r<0&&r!==-1)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${r}.`)});kt.registerFlag(\"WEBGL_FLUSH_THRESHOLD\",()=>du.isMobile()?1:-1,r=>{if(typeof r!=\"number\")throw new Error(`WEBGL_FLUSH_THRESHOLD must be a number but got ${r}.`);if(r<0&&r!==-1)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${r}.`)});kt.registerFlag(\"CPU_HANDOFF_SIZE_THRESHOLD\",()=>128);kt.registerFlag(\"WEBGL_USE_SHAPES_UNIFORMS\",()=>!1);kt.registerFlag(\"TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD\",()=>1e5);kt.registerFlag(\"TOPK_K_CPU_HANDOFF_THRESHOLD\",()=>128);kt.registerFlag(\"WEBGL_EXP_CONV\",()=>!1);kt.registerFlag(\"SOFTWARE_WEBGL_ENABLED\",()=>kt.getBool(\"IS_TEST\"));kt.registerFlag(\"WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE\",()=>1/0);kt.registerFlag(\"WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE\",()=>!1);kt.registerFlag(\"WEBGL2_ISNAN_CUSTOM\",()=>!1);kt.registerFlag(\"ENGINE_COMPILE_ONLY\",()=>!1);function Ue(){let r,t,e,n,o,s,i,a,u,l;return L().getNumber(\"WEBGL_VERSION\")===2?(r=\"#version 300 es\",t=\"in\",e=\"out\",n=\"in\",o=\"texture\",s=\"outputColor\",i=\"out vec4 outputColor;\",a=L().getBool(\"WEBGL2_ISNAN_CUSTOM\")?`\n bool isnan_custom(float val) {\n uint floatToUint = floatBitsToUint(val);\n return (floatToUint & 0x7fffffffu) > 0x7f800000u;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n `:\"\",u=\"\",l=`\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `):(r=\"\",t=\"attribute\",e=\"varying\",n=\"varying\",o=\"texture2D\",s=\"gl_FragColor\",i=\"\",a=`\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n `,u=`\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n `,l=`\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `),{version:r,attribute:t,varyingVs:e,varyingFs:n,texture2D:o,output:s,defineOutput:i,defineSpecialNaN:a,defineSpecialInf:u,defineRound:l}}function vi(r,t,e=\"index\"){let n=y.computeStrides(t);return n.map((o,s)=>{let i=`int ${r[s]} = ${e} / ${o}`,a=s===n.length-1?`int ${r[s+1]} = ${e} - ${r[s]} * ${o}`:`index -= ${r[s]} * ${o}`;return`${i}; ${a};`}).join(\"\")}function up(r,t,e=\"index\"){let n=y.computeStrides(t);return n.map((o,s)=>{let i=`int ${r[s]} = ${e} / outShapeStrides[${s}]`,a=s===n.length-1?`int ${r[s+1]} = ${e} - ${r[s]} * outShapeStrides[${s}]`:`index -= ${r[s]} * outShapeStrides[${s}]`;return`${i}; ${a};`}).join(\"\")}function Xnt(r,t){let e=r.length,n=r.map(s=>`${t}[${s}]`),o=new Array(e-1);o[e-2]=n[e-1];for(let s=e-3;s>=0;--s)o[s]=`(${o[s+1]} * ${n[s+1]})`;return o}function FL(r,t,e=\"index\"){let n=r.map((s,i)=>i),o=Xnt(n,t);return o.map((s,i)=>{let a=`int ${r[i]} = ${e} / ${o[i]}`,u=i===o.length-1?`int ${r[i+1]} = ${e} - ${r[i]} * ${o[i]}`:`index -= ${r[i]} * ${o[i]}`;return`${a}; ${u};`}).join(\"\")}function Cd(r){let t=y.computeStrides(r).map(e=>e.toString());return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${t[0]} + coords.y * ${t[1]} + coords.z;\n }\n`}function vd(){return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n`}var Bw=`\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n`;var{getBroadcastDims:OL}=S;function ML(r,t,e){let n=[];if(r.forEach(f=>{let d=y.sizeFromShape(f.shapeInfo.logicalShape);if(f.shapeInfo.isUniform?n.push(`uniform float ${f.name}${d>1?`[${d}]`:\"\"};`):(n.push(`uniform sampler2D ${f.name};`),n.push(`uniform int offset${f.name};`)),e.enableShapeUniforms){let{uniformShape:h}=Vw(e.packedInputs,f.shapeInfo.logicalShape,f.shapeInfo.texShape);switch(h.length){case 1:n.push(`uniform int ${f.name}Shape;`);break;case 2:n.push(`uniform ivec2 ${f.name}Shape;`);break;case 3:n.push(`uniform ivec3 ${f.name}Shape;`);break;case 4:n.push(`uniform ivec4 ${f.name}Shape;`);break;default:break}n.push(`uniform ivec2 ${f.name}TexShape;`)}}),e.enableShapeUniforms){switch(t.logicalShape.length){case 1:n.push(\"uniform int outShape;\");break;case 2:n.push(\"uniform ivec2 outShape;\"),n.push(\"uniform int outShapeStrides;\");break;case 3:n.push(\"uniform ivec3 outShape;\"),n.push(\"uniform ivec2 outShapeStrides;\");break;case 4:n.push(\"uniform ivec4 outShape;\"),n.push(\"uniform ivec3 outShapeStrides;\");break;default:break}n.push(\"uniform ivec2 outTexShape;\")}e.customUniforms&&e.customUniforms.forEach(f=>{n.push(`uniform ${f.type} ${f.name}${f.arrayIndex?`[${f.arrayIndex}]`:\"\"};`)});let o=n.join(`\n`),s=r.map(f=>Ynt(f,t,e.packedInputs,e.enableShapeUniforms)).join(`\n`),i=t.texShape,a=Ue(),u=Qnt(a),l,c,p=rot(a);return t.isPacked?(l=Znt(t.logicalShape,i,e.enableShapeUniforms),c=eot(a)):(l=Jnt(t.logicalShape,i,e.enableShapeUniforms),c=tot(a)),e.packedInputs&&(p+=iot),[p,u,c,o,l,s,e.userCode].join(`\n`)}function Nd(r,t=!1){let e=r.shapeInfo.logicalShape;switch(e.length){case 0:return yot(r,t);case 1:return wot(r,t);case 2:return Cot(r,t);case 3:return Sot(r,t);case 4:return kot(r,t);case 5:return Tot(r);case 6:return _ot(r);default:throw new Error(`${e.length}-D input sampling is not yet supported`)}}function PL(r,t){switch(r.shapeInfo.logicalShape.length){case 0:return xot(r);case 1:return bot(r,t);case 2:return Iot(r,t);case 3:return vot(r,t);default:return Not(r,t)}}function Ynt(r,t,e=!1,n){let o=\"\";e?o+=PL(r,n):o+=Nd(r,n);let s=r.shapeInfo.logicalShape,i=t.logicalShape;return s.length<=i.length&&(e?o+=Eot(r,t):o+=Aot(r,t)),o}function Znt(r,t,e){switch(r.length){case 0:return LL();case 1:return aot(r,t,e);case 2:return hot(r,t,e);case 3:return uot(r,t,e);default:return pot(r,t,e)}}function Jnt(r,t,e){switch(r.length){case 0:return LL();case 1:return lot(r,t,e);case 2:return got(r,t,e);case 3:return cot(r,t,e);case 4:return mot(r,t,e);case 5:return fot(r,t);case 6:return dot(r,t);default:throw new Error(`${r.length}-D output sampling is not yet supported`)}}function Qnt(r){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${r.texture2D}(textureSampler, uv).r;\n }\n `}function tot(r){return`\n void setOutput(float val) {\n ${r.output} = vec4(val, 0, 0, 0);\n }\n `}function eot(r){return`\n void setOutput(vec4 val) {\n ${r.output} = val;\n }\n `}function rot(r){return`${r.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${r.varyingFs} vec2 resultUV;\n ${r.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${r.defineSpecialNaN}\n ${r.defineSpecialInf}\n ${r.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${not}\n ${oot}\n ${sot}\n `}var not=`\nvec2 uvFromFlat(int texNumR, int texNumC, int index) {\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\nvec2 packedUVfrom1D(int texNumR, int texNumC, int index) {\n int texelIndex = index / 2;\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,oot=`\nvec2 packedUVfrom2D(int texelsInLogicalRow, int texNumR,\n int texNumC, int row, int col) {\n int texelIndex = (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,sot=`\nvec2 packedUVfrom3D(int texNumR, int texNumC,\n int texelsInBatch, int texelsInLogicalRow, int b,\n int row, int col) {\n int index = b * texelsInBatch + (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,iot=`\n float getChannel(vec4 frag, vec2 innerDims) {\n vec2 modCoord = mod(innerDims, 2.);\n return modCoord.x == 0. ?\n (modCoord.y == 0. ? frag.r : frag.g) :\n (modCoord.y == 0. ? frag.b : frag.a);\n }\n float getChannel(vec4 frag, int dim) {\n float modCoord = mod(float(dim), 2.);\n return modCoord == 0. ? frag.r : frag.g;\n }\n`;function LL(){return`\n int getOutputCoords() {\n return 0;\n }\n `}function aot(r,t,e){let n=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];return n[0]===1?e?`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n `:`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${n[1]}.0);\n }\n `:n[1]===1?e?`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n `:`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${n[0]}.0);\n }\n `:e?`\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n `:`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${n[0]}, ${n[1]}));\n return 2 * (resTexRC.x * ${n[1]} + resTexRC.y);\n }\n `}function lot(r,t,e){return t[0]===1?e?`\n int getOutputCoords() {\n return int(resultUV.x * float(outTexShape[1]));\n }\n `:`\n int getOutputCoords() {\n return int(resultUV.x * ${t[1]}.0);\n }\n `:t[1]===1?e?`\n int getOutputCoords() {\n return int(resultUV.y * float(outTexShape[0]));\n }\n `:`\n int getOutputCoords() {\n return int(resultUV.y * ${t[0]}.0);\n }\n `:e?`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(outTexShape[0], outTexShape[1]));\n return resTexRC.x * outTexShape[1] + resTexRC.y;\n }\n `:`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${t[0]}, ${t[1]}));\n return resTexRC.x * ${t[1]} + resTexRC.y;\n }\n `}function uot(r,t,e){if(e)return`\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n `;let n=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],o=Math.ceil(r[2]/2),s=o*Math.ceil(r[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${n[0]}, ${n[1]}));\n int index = resTexRC.x * ${n[1]} + resTexRC.y;\n\n int b = index / ${s};\n index -= b * ${s};\n\n int r = 2 * (index / ${o});\n int c = imod(index, ${o}) * 2;\n\n return ivec3(b, r, c);\n }\n `}function cot(r,t,e){if(e)return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(outTexShape[0], outTexShape[1]));\n int index = resTexRC.x * outTexShape[1] + resTexRC.y;\n ${up([\"r\",\"c\",\"d\"],r)}\n return ivec3(r, c, d);\n }\n`;let n=vi([\"r\",\"c\",\"d\"],r);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${t[0]}, ${t[1]}));\n int index = resTexRC.x * ${t[1]} + resTexRC.y;\n ${n}\n return ivec3(r, c, d);\n }\n `}function pot(r,t,e){if(e)return`\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n `;let n=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],o=Math.ceil(r[r.length-1]/2),s=o*Math.ceil(r[r.length-2]/2),i=s,a=\"\",u=\"b, r, c\";for(let l=2;l=1?c=\"coords = 0;\":c=a.map(b=>`coords.${p[b+l]} = 0;`).join(`\n`);let m=\"\";i<2&&s>0?m=\"coords\":m=r.shapeInfo.logicalShape.map((b,w)=>`coords.${p[w+l]}`).join(\", \");let f=\"return outputValue;\",h=y.sizeFromShape(r.shapeInfo.logicalShape)===1,x=y.sizeFromShape(t.logicalShape)===1;if(s===1&&!h&&!x)f=`\n return vec4(outputValue.xy, outputValue.xy);\n `;else if(h&&!x)i===1?f=`\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n `:f=`\n return vec4(outputValue.x);\n `;else if(a.length){let b=s-2,w=s-1;a.indexOf(b)>-1&&a.indexOf(w)>-1?f=\"return vec4(outputValue.x);\":a.indexOf(b)>-1?f=\"return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);\":a.indexOf(w)>-1&&(f=\"return vec4(outputValue.xx, outputValue.zz);\")}return`\n vec4 ${o}() {\n ${u} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${n}(${m});\n ${f}\n }\n `}function Aot(r,t){let e=r.name,n=e.charAt(0).toUpperCase()+e.slice(1),o=\"get\"+n+\"AtOutCoords\",s=t.texShape,i=r.shapeInfo.texShape,a=r.shapeInfo.logicalShape.length,u=t.logicalShape.length;if(!r.shapeInfo.isUniform&&a===u&&r.shapeInfo.flatOffset==null&&y.arraysEqual(i,s))return`\n float ${o}() {\n return sampleTexture(${e}, resultUV);\n }\n `;let l=zt(u),c=OL(r.shapeInfo.logicalShape,t.logicalShape),p=u-a,m,f=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];a===0?m=\"\":u<2&&c.length>=1?m=\"coords = 0;\":m=c.map(h=>`coords.${f[h+p]} = 0;`).join(`\n`);let d=\"\";return u<2&&a>0?d=\"coords\":d=r.shapeInfo.logicalShape.map((h,g)=>`coords.${f[g+p]}`).join(\", \"),`\n float ${o}() {\n ${l} coords = getOutputCoords();\n ${m}\n return get${n}(${d});\n }\n `}function zt(r){if(r<=1)return\"int\";if(r===2)return\"ivec2\";if(r===3)return\"ivec3\";if(r===4)return\"ivec4\";if(r===5)return\"ivec5\";if(r===6)return\"ivec6\";throw Error(`GPU for rank ${r} is not yet supported`)}function Vw(r,t,e){let{newShape:n,keptDims:o}=y.squeezeShape(t),s=t.length,i=r&&s===3&&t[0]===1,a=i?t.slice(1):n,u=!r&&s>1&&!y.arraysEqual(t,e)&&n.lengthr[e]).join(\", \")}function BL(r,t,e,n){let o=e.map((c,p)=>{let m={logicalShape:c.shape,texShape:c.isUniform?null:c.texData.texShape,isUniform:c.isUniform,isPacked:c.isUniform?!1:c.texData.isPacked,flatOffset:null};return c.texData!=null&&c.texData.slice!=null&&c.texData.slice.flatOffset>0&&(m.flatOffset=c.texData.slice.flatOffset),{name:t.variableNames[p],shapeInfo:m}}),s=o.map(c=>c.shapeInfo),i={logicalShape:n.shape,texShape:n.texData.texShape,isUniform:!1,isPacked:n.texData.isPacked,flatOffset:null},a=ML(o,i,t),u=WT(r.gl,a),l=r.createProgram(u);return L().get(\"ENGINE_COMPILE_ONLY\")?{program:t,fragmentShader:u,source:a,webGLProgram:l,inShapeInfos:s,outShapeInfo:i,variablesLocations:null,customUniformLocations:null,infLoc:null,nanLoc:null,outShapeLocation:null,outShapeStridesLocation:null,outTexShapeLocation:null}:(r.buildVao(l),Object.assign({program:t,fragmentShader:u,source:a,webGLProgram:l,inShapeInfos:s,outShapeInfo:i},a1(r,t,l)))}function a1(r,t,e){let n=[],o=[],s,i,a,u=null,l=null;l=r.getUniformLocation(e,\"NAN\",!1),L().getNumber(\"WEBGL_VERSION\")===1&&(u=r.getUniformLocation(e,\"INFINITY\",!1));let c=!1;for(let p of t.variableNames){let m={name:p,uniform:r.getUniformLocation(e,p,c),offset:r.getUniformLocation(e,`offset${p}`,c)};t.enableShapeUniforms&&(m.shape=r.getUniformLocation(e,`${p}Shape`,c),m.texShape=r.getUniformLocation(e,`${p}TexShape`,c)),n.push(m)}if(t.enableShapeUniforms&&(s=r.getUniformLocation(e,\"outShape\",c),a=r.getUniformLocation(e,\"outShapeStrides\",c),i=r.getUniformLocation(e,\"outTexShape\",c)),t.customUniforms)for(let p of t.customUniforms)o.push(r.getUniformLocation(e,p.name,c));return{variablesLocations:n,customUniformLocations:o,infLoc:u,nanLoc:l,outShapeLocation:s,outShapeStridesLocation:a,outTexShapeLocation:i}}function zL(r,t){if(r.length!==t.length)throw Error(`Binary was compiled with ${r.length} inputs, but was executed with ${t.length} inputs`);r.forEach((e,n)=>{let o=e.logicalShape,s=t[n],i=s.shape;if(!y.arraysEqual(o,i))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${o} and ${i} must match`);if(e.isUniform&&s.isUniform)return;let a=e.texShape,u=s.isUniform?null:s.texData.texShape;if(!y.arraysEqual(a,u))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${a} and ${u} must match`)})}function VL(r,t,e,n,o){t.program.enableShapeUniforms||(zL(t.inShapeInfos,e),zL([t.outShapeInfo],[n]));let s=n.texData.texture,i=n.texData.texShape;n.texData.isPacked?r.setOutputPackedMatrixTexture(s.texture,i[0],i[1]):r.setOutputMatrixTexture(s.texture,i[0],i[1]),r.setProgram(t.webGLProgram),r.bindVertexArray(t.webGLProgram.vao),L().getNumber(\"WEBGL_VERSION\")===1&&t.infLoc!==null&&r.gl.uniform1f(t.infLoc,1/0),t.nanLoc!==null&&r.gl.uniform1f(t.nanLoc,NaN);for(let u=0;u{let a=i.texData!=null&&i.texData.slice!=null&&i.texData.slice.flatOffset>0;if(r.enableShapeUniforms&&!i.isUniform){let u=i.texData.texShape,{useSqueezeShape:l,uniformShape:c,keptDims:p}=Vw(r.packedInputs,i.shape,u),m=\"\",f=\"\",d=\"\";if(c.length===1&&r.packedInputs){let N=[Math.ceil(u[0]/2),Math.ceil(u[1]/2)];m=`${N[0]>1}_${N[1]>1}`}else if(c.length===2&&!r.packedInputs)f=`${c[0]>1}_${c[1]>1}`;else if(c.length>2&&!r.packedInputs){let N=y.computeStrides(c);d=`${N[0]===u[1]}_${N[N.length-1]===u[1]}`}let h=i.shape.length,g=c.length===2&&y.arraysEqual(i.shape,u),x=y.sizeFromShape(i.shape)===1,b=S.getBroadcastDims(i.shape,e.shape),w=!r.packedInputs&&h===e.shape.length&&y.arraysEqual(u,e.texData.texShape),I=r.packedInputs||c.length>2?\"\":`${u[0]>1}_${u[1]>1}`;n+=`${h}_${w}_${l?p:\"\"}_${c.length}_${x}_${b}_${g}_${m}_${f}_${d}_${I}_${a}`}else{let u=i.isUniform?\"uniform\":i.texData.texShape;n+=`${i.shape}_${u}_${a}`}});let o=r.userCode,s=r.constructor.name;return s+=\"_\"+n+\"_\"+o+`${L().getNumber(\"WEBGL_VERSION\")}`,s}function he(r){return L().getBool(\"WEBGL_USE_SHAPES_UNIFORMS\")&&r<=4}var Gw=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=Wu.DENSE,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let e=Ue();this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?up([\"r\",\"c\",\"d\"],t):vi([\"r\",\"c\",\"d\"],t)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${e.output} = result;\n }\n `}};var Ww=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=Wu.DENSE,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let e=Ue();this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?up([\"r\",\"c\",\"d\"],t):vi([\"r\",\"c\",\"d\"],t)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${e.output} = result;\n }\n `}};var Uw=class{constructor(t){this.variableNames=[\"A\"],this.outTexUsage=Yr.DOWNLOAD;let e=Ue();this.outputShape=t,this.userCode=`\n ${Bw}\n\n void main() {\n float x = getAAtOutCoords();\n ${e.output} = encode_float(x);\n }\n `}};var Hw=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=Yr.DOWNLOAD;let e=Ue();this.outputShape=t,this.userCode=`\n ${Bw}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${e.output} = encode_float(x);\n }\n `}};var Rot={R:0,G:1,B:2,A:3},lg=class{constructor(t,e=!1,n=\"RGBA\"){this.variableNames=[\"A\"],this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let o=Ue();this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length);let s=\"result\";e&&(s=\"floor(result * 255. + 0.5)\");let i=\"\";for(let a=0;ag1,createBufferFromOutputTexture:()=>b1,createFloat16MatrixTexture:()=>m1,createFloat16PackedMatrixTexture:()=>h1,createFloat32MatrixTexture:()=>p1,createIndexBuffer:()=>c1,createPackedMatrixTexture:()=>d1,createUnsignedBytesMatrixTexture:()=>f1,createVertexBuffer:()=>u1,createVertexShader:()=>l1,downloadByteEncodedFloatMatrixFromOutputTexture:()=>I1,downloadFloat32MatrixFromBuffer:()=>w1,downloadMatrixFromPackedOutputTexture:()=>v1,downloadPackedMatrixFromBuffer:()=>C1,getInternalFormatForFloat16MatrixTexture:()=>jw,getInternalFormatForFloat16PackedMatrixTexture:()=>Zw,getInternalFormatForFloat32MatrixTexture:()=>Kw,getInternalFormatForPackedMatrixTexture:()=>Yw,getInternalFormatForUnsignedBytesMatrixTexture:()=>Xw,uploadDenseMatrixToTexture:()=>x1,uploadPixelDataToTexture:()=>y1});function l1(r){let t=Ue(),e=`${t.version}\n precision highp float;\n ${t.attribute} vec3 clipSpacePos;\n ${t.attribute} vec2 uv;\n ${t.varyingVs} vec2 resultUV;\n\n void main() {\n gl_Position = vec4(clipSpacePos, 1);\n resultUV = uv;\n }`;return GT(r,e)}function u1(r){let t=new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]);return qT(r,t)}function c1(r){let t=new Uint16Array([0,1,2,2,1,3]);return KT(r,t)}function ug(r,t,e,n,o,s){XT(t,e);let i=jT(r),a=r.TEXTURE_2D;return ht(r,()=>r.bindTexture(a,i)),ht(r,()=>r.texParameteri(a,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE)),ht(r,()=>r.texParameteri(a,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE)),ht(r,()=>r.texParameteri(a,r.TEXTURE_MIN_FILTER,r.NEAREST)),ht(r,()=>r.texParameteri(a,r.TEXTURE_MAG_FILTER,r.NEAREST)),L().getNumber(\"WEBGL_VERSION\")===1?ht(r,()=>r.texImage2D(a,0,n,t,e,0,o,s,null)):ht(r,()=>r.texStorage2D(a,1,n,t,e)),ht(r,()=>r.bindTexture(r.TEXTURE_2D,null)),{texture:i,texShape:[e,t]}}function Kw(r){return r.internalFormatFloat}function p1(r,t,e,n){let[o,s]=lp(t,e);return ug(r,o,s,Kw(n),n.textureFormatFloat,r.FLOAT)}function jw(r){return r.internalFormatHalfFloat}function m1(r,t,e,n){let[o,s]=lp(t,e);return ug(r,o,s,jw(n),n.textureFormatFloat,n.textureTypeHalfFloat)}function Xw(r){return r.downloadTextureFormat}function f1(r,t,e,n){let[o,s]=lp(t,e);return ug(r,o,s,Xw(n),r.RGBA,r.UNSIGNED_BYTE)}function Yw(r){return r.internalFormatPackedFloat}function d1(r,t,e,n){let[o,s]=wa(t,e);return ug(r,o,s,Yw(n),r.RGBA,r.FLOAT)}function Zw(r){return r.internalFormatPackedHalfFloat}function h1(r,t,e,n){let[o,s]=wa(t,e);return ug(r,o,s,Zw(n),r.RGBA,n.textureTypeHalfFloat)}function g1(r,t,e){return ht(r,()=>r.bindBuffer(r.ARRAY_BUFFER,e)),Pw(r,t,\"clipSpacePos\",e,3,20,0)&&Pw(r,t,\"uv\",e,2,20,12)}function x1(r,t,e,n,o,s){ht(r,()=>r.bindTexture(r.TEXTURE_2D,t));let i,a,u;o instanceof Uint8Array?(i=new Uint8Array(e*n*4),a=r.UNSIGNED_BYTE,u=r.RGBA):(i=new Float32Array(e*n*4),a=r.FLOAT,u=s.internalFormatPackedFloat),i.set(o),L().getNumber(\"WEBGL_VERSION\")===2?ht(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,e,n,r.RGBA,a,i)):ht(r,()=>r.texImage2D(r.TEXTURE_2D,0,u,e,n,0,r.RGBA,a,i)),ht(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function y1(r,t,e){ht(r,()=>r.bindTexture(r.TEXTURE_2D,t)),e.data instanceof Uint8Array?L().getNumber(\"WEBGL_VERSION\")===2?ht(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,e.width,e.height,r.RGBA,r.UNSIGNED_BYTE,e.data)):ht(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e.width,e.height,0,r.RGBA,r.UNSIGNED_BYTE,e.data)):L().getNumber(\"WEBGL_VERSION\")===2?ht(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,e)):ht(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e)),ht(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function b1(r,t,e,n){let o=r.createBuffer();ht(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,o));let a=4*4*t*e;return ht(r,()=>r.bufferData(r.PIXEL_PACK_BUFFER,a,r.STREAM_READ)),ht(r,()=>r.readPixels(0,0,e,t,r.RGBA,r.FLOAT,0)),ht(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,null)),o}function w1(r,t,e){let n=r,o=new Float32Array(e);return n.bindBuffer(n.PIXEL_PACK_BUFFER,t),n.getBufferSubData(n.PIXEL_PACK_BUFFER,0,o),n.bindBuffer(n.PIXEL_PACK_BUFFER,null),o}function I1(r,t,e,n){let[o,s]=lp(t,e),i=4,a=new Uint8Array(_L(t*e,i));return ht(r,()=>r.readPixels(0,0,o,s,n.downloadTextureFormat,r.UNSIGNED_BYTE,a)),new Float32Array(a.buffer)}function C1(r,t,e,n,o,s,i,a){let u=r,l=new Float32Array(EL(s,i));return u.bindBuffer(u.PIXEL_PACK_BUFFER,t),u.getBufferSubData(u.PIXEL_PACK_BUFFER,0,l),u.bindBuffer(u.PIXEL_PACK_BUFFER,null),l}function v1(r,t,e){let n=new Float32Array(t*e*4);return ht(r,()=>r.readPixels(0,0,e,t,r.RGBA,r.FLOAT,n)),n}var pp=class{constructor(t){this.outputTexture=null,this.program=null,this.disposed=!1,this.itemsToPoll=[];let e=L().getNumber(\"WEBGL_VERSION\");if(t!=null?(this.gl=t,LT(e,t)):this.gl=qn(e),t=this.gl,L().getNumber(\"WEBGL_VERSION\")===2){let s=t;this.createVertexArray=()=>ht(s,()=>s.createVertexArray()),this.bindVertexArray=i=>ht(s,()=>s.bindVertexArray(i)),this.deleteVertexArray=i=>ht(s,()=>s.deleteVertexArray(i)),this.getVertexArray=()=>ht(s,()=>s.getParameter(s.VERTEX_ARRAY_BINDING))}else if(t!=null){let s=t.getExtension(\"OES_vertex_array_object\");if(s==null)throw new Error(\"All WebGL1 implementations are expected to offer OES_vertex_array_object.\");this.createVertexArray=()=>ht(t,()=>s.createVertexArrayOES()),this.bindVertexArray=i=>ht(t,()=>s.bindVertexArrayOES(i)),this.deleteVertexArray=i=>ht(t,()=>s.deleteVertexArrayOES(i)),this.getVertexArray=()=>ht(t,()=>t.getParameter(s.VERTEX_ARRAY_BINDING_OES))}let n=\"WEBGL_color_buffer_float\",o=\"EXT_color_buffer_half_float\";if(this.parallelCompilationExtension=this.gl.getExtension(\"KHR_parallel_shader_compile\"),L().getNumber(\"WEBGL_VERSION\")===1){let s=\"OES_texture_float\",i=\"OES_texture_half_float\";if(this.textureFloatExtension=yd(this.gl,s),Kn(this.gl,i))this.textureHalfFloatExtension=yd(this.gl,i);else if(L().get(\"WEBGL_FORCE_F16_TEXTURES\"))throw new Error(\"GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.\");if(this.colorBufferFloatExtension=this.gl.getExtension(n),Kn(this.gl,o))this.colorBufferHalfFloatExtension=yd(this.gl,o);else if(L().get(\"WEBGL_FORCE_F16_TEXTURES\"))throw new Error(\"GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.\")}else if(n=\"EXT_color_buffer_float\",Kn(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else if(Kn(this.gl,o))this.colorBufferHalfFloatExtension=this.gl.getExtension(o);else throw new Error(\"GL context does not support color renderable floats\");this.vertexBuffer=u1(this.gl),this.indexBuffer=c1(this.gl),this.framebuffer=YT(this.gl),this.textureConfig=sg(this.gl,this.textureHalfFloatExtension)}get debug(){return L().getBool(\"DEBUG\")}dispose(){if(this.disposed)return;this.program!=null&&console.warn(\"Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing.\"),this.outputTexture!=null&&console.warn(\"Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.\");let t=this.gl;ht(t,()=>t.finish()),ht(t,()=>t.bindFramebuffer(t.FRAMEBUFFER,null)),ht(t,()=>t.deleteFramebuffer(this.framebuffer)),ht(t,()=>t.bindBuffer(t.ARRAY_BUFFER,null)),ht(t,()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)),ht(t,()=>t.deleteBuffer(this.indexBuffer)),this.disposed=!0}createFloat32MatrixTexture(t,e){return this.throwIfDisposed(),p1(this.gl,t,e,this.textureConfig)}createFloat16MatrixTexture(t,e){return this.throwIfDisposed(),m1(this.gl,t,e,this.textureConfig)}createUnsignedBytesMatrixTexture(t,e){return this.throwIfDisposed(),f1(this.gl,t,e,this.textureConfig)}uploadPixelDataToTexture(t,e){this.throwIfDisposed(),y1(this.gl,t,e)}uploadDenseMatrixToTexture(t,e,n,o){this.throwIfDisposed(),x1(this.gl,t,e,n,o,this.textureConfig)}createFloat16PackedMatrixTexture(t,e){return this.throwIfDisposed(),h1(this.gl,t,e,this.textureConfig)}createPackedMatrixTexture(t,e){return this.throwIfDisposed(),d1(this.gl,t,e,this.textureConfig)}deleteMatrixTexture(t){this.throwIfDisposed(),this.outputTexture===t&&(Lw(this.gl,this.framebuffer),this.outputTexture=null),ht(this.gl,()=>this.gl.deleteTexture(t))}downloadByteEncodedFloatMatrixFromOutputTexture(t,e,n){return this.downloadMatrixDriver(t,()=>I1(this.gl,e,n,this.textureConfig))}downloadPackedMatrixFromBuffer(t,e,n,o,s,i){return C1(this.gl,t,e,n,o,s,i,this.textureConfig)}downloadFloat32MatrixFromBuffer(t,e){return w1(this.gl,t,e)}createBufferFromTexture(t,e,n){this.bindTextureToFrameBuffer(t);let o=b1(this.gl,e,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),o}createAndWaitForFence(){let t=this.createFence(this.gl);return this.pollFence(t)}createFence(t){let e,n;if(L().getBool(\"WEBGL_FENCE_API_ENABLED\")){let o=t,s=o.fenceSync(o.SYNC_GPU_COMMANDS_COMPLETE,0);t.flush(),n=()=>{let i=o.clientWaitSync(s,0,0);return i===o.ALREADY_SIGNALED||i===o.CONDITION_SATISFIED},e=s}else L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0?(e=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(e,L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))):n=()=>!0;return{query:e,isFencePassed:n}}downloadMatrixFromPackedTexture(t,e,n){return this.downloadMatrixDriver(t,()=>v1(this.gl,e,n))}createProgram(t){this.throwIfDisposed();let e=this.gl;this.vertexShader==null&&(this.vertexShader=l1(e));let n=UT(e);ht(e,()=>e.attachShader(n,this.vertexShader)),ht(e,()=>e.attachShader(n,t)),HT(e,n);let o=Object.assign(n,{vao:this.createVertexArray()});return this.debug&&ig(e,o),o}buildVao(t){this.setProgram(t),this.bindVertexArray(t.vao);let e=this.gl;ht(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer)),g1(e,t,this.vertexBuffer)}deleteProgram(t){this.throwIfDisposed(),t===this.program&&(this.program=null),t!=null&&(ht(this.gl,()=>this.gl.deleteProgram(t)),this.deleteVertexArray(t.vao))}setProgram(t){this.throwIfDisposed(),this.program=t,this.program!=null&&this.debug&&ig(this.gl,this.program),ht(this.gl,()=>this.gl.useProgram(t))}getUniformLocation(t,e,n=!0){return this.throwIfDisposed(),n?ZT(this.gl,t,e):JT(this.gl,t,e)}getAttributeLocation(t,e){return this.throwIfDisposed(),ht(this.gl,()=>this.gl.getAttribLocation(t,e))}getUniformLocationNoThrow(t,e){return this.throwIfDisposed(),this.gl.getUniformLocation(t,e)}setInputMatrixTexture(t,e,n){this.throwIfDisposed(),this.throwIfNoProgram(),QT(this.gl,t,e,n)}setOutputMatrixTexture(t,e,n){this.setOutputMatrixTextureDriver(t,n,e)}setOutputPackedMatrixTexture(t,e,n){this.throwIfDisposed();let[o,s]=wa(e,n);this.setOutputMatrixTextureDriver(t,o,s)}setOutputMatrixWriteRegion(t,e,n,o){this.setOutputMatrixWriteRegionDriver(n,t,o,e)}setOutputPackedMatrixWriteRegion(t,e,n,o){throw new Error(\"setOutputPackedMatrixWriteRegion not implemented.\")}debugValidate(){this.program!=null&&ig(this.gl,this.program),bd(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();let t=this.gl;if(this.debug){let e=this.getVertexArray();console.assert(e===this.program.vao,\"VAO changed between setProgram and executeProgram!\"),this.debugValidate()}ht(t,()=>t.drawElements(t.TRIANGLES,6,t.UNSIGNED_SHORT,0))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),ht(this.gl,()=>this.gl.finish())}getQueryTimerExtension(){return this.disjointQueryTimerExtension==null&&(this.disjointQueryTimerExtension=yd(this.gl,L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2?\"EXT_disjoint_timer_query_webgl2\":\"EXT_disjoint_timer_query\")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2){let n=this.gl,o=this.getQueryTimerExtensionWebGL2(),s=n.createQuery();return n.beginQuery(o.TIME_ELAPSED_EXT,s),s}let t=this.getQueryTimerExtensionWebGL1(),e=t.createQueryEXT();return t.beginQueryEXT(t.TIME_ELAPSED_EXT,e),e}endQuery(){if(L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2){let e=this.gl,n=this.getQueryTimerExtensionWebGL2();e.endQuery(n.TIME_ELAPSED_EXT);return}let t=this.getQueryTimerExtensionWebGL1();t.endQueryEXT(t.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(t){return await y.repeatedTry(()=>this.disposed||this.isQueryAvailable(t,L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))),this.getQueryTime(t,L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))}getQueryTime(t,e){if(e===0)return null;if(e===2){let n=this.gl;return n.getQueryParameter(t,n.QUERY_RESULT)/1e6}else{let n=this.getQueryTimerExtensionWebGL1();return n.getQueryObjectEXT(t,n.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(t,e){if(e===0)return!0;if(e===2){let n=this.gl,o=this.getQueryTimerExtensionWebGL2(),s=n.getQueryParameter(t,n.QUERY_RESULT_AVAILABLE);return this.disjoint==null&&(this.disjoint=this.gl.getParameter(o.GPU_DISJOINT_EXT)),s&&!this.disjoint}else{let n=this.getQueryTimerExtensionWebGL1(),o=n.getQueryObjectEXT(t,n.QUERY_RESULT_AVAILABLE_EXT);return this.disjoint==null&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),o&&!this.disjoint}}pollFence(t){return new Promise(e=>{this.addItemToPoll(()=>t.isFencePassed(),()=>e())})}pollItems(){let t=Fot(this.itemsToPoll.map(e=>e.isDoneFn));for(let e=0;e<=t;++e){let{resolveFn:n}=this.itemsToPoll[e];n()}this.itemsToPoll=this.itemsToPoll.slice(t+1)}addItemToPoll(t,e){if(this.itemsToPoll.push({isDoneFn:t,resolveFn:e}),this.itemsToPoll.length>1)return;let n;\"setTimeoutCustom\"in L().platform&&(n=L().platform.setTimeoutCustom.bind(L().platform)),y.repeatedTry(()=>(this.pollItems(),this.itemsToPoll.length===0),()=>0,null,n)}bindTextureToFrameBuffer(t){this.throwIfDisposed(),ag(this.gl,t,this.framebuffer),this.debug&&bd(this.gl)}unbindTextureToFrameBuffer(){this.outputTexture!=null?(ag(this.gl,this.outputTexture,this.framebuffer),this.debug&&bd(this.gl)):Lw(this.gl,this.framebuffer)}downloadMatrixDriver(t,e){this.bindTextureToFrameBuffer(t);let n=e();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(t,e,n){this.throwIfDisposed();let o=this.gl;ag(o,t,this.framebuffer),this.debug&&bd(o),this.outputTexture=t,ht(o,()=>o.viewport(0,0,e,n)),ht(o,()=>o.scissor(0,0,e,n))}setOutputMatrixWriteRegionDriver(t,e,n,o){this.throwIfDisposed(),ht(this.gl,()=>this.gl.scissor(t,e,n,o))}throwIfDisposed(){if(this.disposed)throw new Error(\"Attempted to use disposed GPGPUContext.\")}throwIfNoProgram(){if(this.program==null)throw new Error(\"No GPU program is currently set.\")}};function Fot(r){let t=0;for(;t`${r}.${e}`)}function rr(r,t){return t===1?[r]:N1(r,t)}function Fz(r,t){if(r===1)return\"rc\";let e=\"\";for(let n=0;n ${this.enableShapeUniforms?\"outShape\":this.outputShape[0]}`;let e=\"\";for(let n=this.rank-2;n= ${this.enableShapeUniforms?`outShape[${n}]`:this.outputShape[n]}`,n= ${n};\n bool rEdge = rp1 >= ${o};\n `}getOutput(t){let e=this.getSourceCoordsArr(t);return this.rank===1?`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?\"outShape\":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`:`getA(${e[0]}),\n cEdge ? 0. : getA(${e[1]}),\n rEdge ? 0. : getA(${e[2]}),\n rEdge || cEdge ? 0. : getA(${e[3]})`}};var Ed=class{constructor(t,e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"inputShape\",type:\"ivec3\"}],this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length);let n=\"\";for(let o=0;o<4;o++){let s=\"thisRC = rc;\";o%2===1&&(s+=\"thisRC.z += 1;\"),o>1&&(s+=\"thisRC.y += 1;\"),n+=`\n ${s}\n ${o>0?\"if(thisRC.y < rows && thisRC.z < cols){\":\"\"}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${o}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${o>0?\"}\":\"\"}\n `}this.userCode=`\n ${Oot(e,this.enableShapeUniforms)}\n ${this.enableShapeUniforms?vd():Cd(t)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?\"outShape[1]\":t[1]};\n int cols = ${this.enableShapeUniforms?\"outShape[2]\":t[2]};\n\n ${n}\n\n setOutput(result);\n }\n `}};function Oot(r,t){return`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${t?FL([\"r\",\"c\",\"d\"],\"inputShape\"):vi([\"r\",\"c\",\"d\"],r)}\n return ivec3(r, c, d);\n }\n `}var rI=class{constructor(t){this.gpgpu=t,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.usedTextures={},this.logEnabled=!1}acquireTexture(t,e,n){let o=Mz(e,n),s=Pz(t,o,n);s in this.freeTextures||(this.freeTextures[s]=[]),s in this.usedTextures||(this.usedTextures[s]=[]);let i=Oz(t,o,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[s].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=i,this.log();let u=this.freeTextures[s].pop();return this.usedTextures[s].push(u),u}let a;return o===Pr.PACKED_2X2_FLOAT32?a=this.gpgpu.createPackedMatrixTexture(t[0],t[1]):o===Pr.PACKED_2X2_FLOAT16?a=this.gpgpu.createFloat16PackedMatrixTexture(t[0],t[1]):o===Pr.UNPACKED_FLOAT32?a=this.gpgpu.createFloat32MatrixTexture(t[0],t[1]):o===Pr.UNPACKED_FLOAT16?a=this.gpgpu.createFloat16MatrixTexture(t[0],t[1]):o===Pr.PACKED_4X1_UNSIGNED_BYTE&&(a=this.gpgpu.createUnsignedBytesMatrixTexture(t[0],t[1])),this.usedTextures[s].push(a),this.numUsedTextures++,this._numBytesAllocated+=i,this.log(),a}releaseTexture(t,e,n,o){if(this.freeTextures==null)return;let s=Mz(n,o),i=Pz(e,s,o);i in this.freeTextures||(this.freeTextures[i]=[]);let a=Oz(e,s,this.gpgpu.gl,this.gpgpu.textureConfig,o),u=L().getNumber(\"WEBGL_DELETE_TEXTURE_THRESHOLD\");u!==-1&&this._numBytesAllocated>u?(this.gpgpu.deleteMatrixTexture(t.texture),this._numBytesAllocated-=a):(this.freeTextures[i].push(t),this.numFreeTextures++,this._numBytesFree+=a),this.numUsedTextures--;let l=this.usedTextures[i],c=l&&l.indexOf(t);if(c==null||c<0)throw new Error(\"Cannot release a texture that was never provided by this texture manager\");l[c]=l[l.length-1],l.pop(),this.log()}log(){if(!this.logEnabled)return;let t=this.numFreeTextures+this.numUsedTextures;console.log(\"Free/Used\",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${t})`);let e=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*e)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(this.freeTextures!=null){for(let t in this.freeTextures)this.freeTextures[t].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});for(let t in this.usedTextures)this.usedTextures[t].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}};function Mot(r,t){let e=r;if(t===e.R32F)return 4;if(t===e.R16F)return 2;if(t===e.RGBA32F)return 16;if(t===r.RGBA)return 16;if(t===e.RGBA16F)return 8;if(t===e.RGBA8)return 4;throw new Error(`Unknown internal format ${t}`)}function Oz(r,t,e,n,o){let s=Pot(t,n),i;if(o){let[u,l]=wa(r[0],r[1]);i=u*l}else{let[u,l]=lp(r[0],r[1]);i=u*l}let a=Mot(e,s);return i*a}function Pot(r,t){switch(r){case Pr.PACKED_2X2_FLOAT32:return Yw(t);case Pr.PACKED_2X2_FLOAT16:return Zw(t);case Pr.UNPACKED_FLOAT32:return Kw(t);case Pr.UNPACKED_FLOAT16:return jw(t);case Pr.PACKED_4X1_UNSIGNED_BYTE:return Xw(t);default:throw new Error(`Unknown physical texture type ${r}`)}}function Lot(r){return L().getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")?r?Pr.PACKED_2X2_FLOAT32:Pr.UNPACKED_FLOAT32:r?Pr.PACKED_2X2_FLOAT16:Pr.UNPACKED_FLOAT16}function Mz(r,t){if(r===Yr.UPLOAD)return Pr.PACKED_2X2_FLOAT32;if(r===Yr.RENDER||r==null)return Lot(t);if(r===Yr.DOWNLOAD||r===Yr.PIXELS)return Pr.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${r}`)}function Pz(r,t,e){return`${r[0]}_${r[1]}_${t}_${e}`}var Lr=class{constructor(t,e){this.variableNames=[\"A\"],this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${e}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}},xr=\"if (isnan(x)) return x;\",Lz=\"return x;\",k1=\"return abs(x);\";var zz=\"return (x >= 0.0) ? x : (exp(x) - 1.0);\",Bz=xr+`\n return (x < 0.0) ? 0.0 : x;\n`,Vz=xr+`\n return (x < 0.0) ? 0.0 : min(6.0, x);\n`,Ia=\"return x;\",Gz=\"return 1.0 / (1.0 + exp(-1.0 * x));\";var Uz=\"return x;\",Hz=`\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n`,qz=`\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,Kz=`\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,jz=\"return 1.0 / (1.0 + exp(-1.0 * x));\",Dn=class{constructor(t,e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${e}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}};var nI=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length);let e=t.length,n=rr(\"rc\",e),o=zt(e),s=Fz(e,n),i=n.slice(-2),a=e<=1?\"rc\":`vec2(${i.join(\",\")})`;this.userCode=`\n void main() {\n ${o} rc = getOutputCoords();\n vec4 packedInput = getA(${s});\n\n setOutput(getChannel(packedInput, ${a}));\n }\n `}};var Bot=Kr.whereImpl,Vot=1e-7,Got=1e-4,oI={};function Wot(r){return r in oI||(oI[r]={}),oI[r]}var Uot=L().getNumber(\"CPU_HANDOFF_SIZE_THRESHOLD\"),Hot=600;function qot(){return L().global.screen==null?1024:L().global.screen.height*L().global.screen.width*window.devicePixelRatio*Hot/1024/1024}var Ad=class r extends Bo{nextDataId(){return r.nextDataId++}constructor(t){if(super(),this.pendingRead=new WeakMap,this.pendingDisposal=new WeakSet,this.dataRefCount=new WeakMap,this.numBytesInGPU=0,this.uploadWaitMs=0,this.downloadWaitMs=0,this.lastGlFlushTime=0,this.warnedAboutMemory=!1,this.pendingDeletes=0,this.disposed=!1,!L().getBool(\"HAS_WEBGL\"))throw new Error(\"WebGL is not supported on this device\");let e;if(t!=null){if(t instanceof pp)e=t;else{let n=qn(L().getNumber(\"WEBGL_VERSION\"),t);e=new pp(n)}this.binaryCache={},this.gpgpuCreatedLocally=!1}else{let n=qn(L().getNumber(\"WEBGL_VERSION\"));e=new pp(n),this.binaryCache=Wot(L().getNumber(\"WEBGL_VERSION\")),this.gpgpuCreatedLocally=!0}this.gpgpu=e,this.canvas=this.gpgpu.gl.canvas,this.textureManager=new rI(this.gpgpu),this.numMBBeforeWarning=qot(),this.texData=new Ta(this,Bn())}numDataIds(){return this.texData.numDataIds()-this.pendingDeletes}writeTexture(t,e,n,o,s,i){let a=this.makeTensorInfo(e,n),u=this.texData.get(a.dataId);u.isPacked=!1,u.texture={texture:t,texShape:[o,s]},u.texShape=[o,s];let l=wd(e),c=new lg(l,!1,i),p=this.runWebGLProgram(c,[a],n,[[o,s]]);return p.shape=e,u.texture=null,this.disposeIntermediateTensorInfo(a),p.dataId}write(t,e,n){if((L().getBool(\"WEBGL_CHECK_NUMERICAL_PROBLEMS\")||L().getBool(\"DEBUG\"))&&this.checkNumericalProblems(t),n===\"complex64\"&&t!=null)throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");let o={id:this.nextDataId()};return this.texData.set(o,{shape:e,dtype:n,values:t,usage:Yr.UPLOAD,refCount:1}),o}refCount(t){return this.texData.has(t)?this.texData.get(t).refCount:0}incRef(t){let e=this.texData.get(t);e.refCount++}decRef(t){if(this.texData.has(t)){let e=this.texData.get(t);e.refCount--}}move(t,e,n,o,s){if(L().getBool(\"DEBUG\")&&this.checkNumericalProblems(e),o===\"complex64\")throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");this.texData.set(t,{shape:n,dtype:o,values:e,usage:Yr.UPLOAD,refCount:s})}disposeIntermediateTensorInfo(t){this.disposeData(t.dataId)}readSync(t){let e=this.texData.get(t),{values:n,dtype:o,complexTensorInfos:s,slice:i,shape:a,isPacked:u}=e;if(i!=null){let m;u?m=new Dn(a,Ia):m=new Lr(a,Ia);let f=this.runWebGLProgram(m,[{dataId:t,shape:a,dtype:o}],o),d=this.readSync(f.dataId);return this.disposeIntermediateTensorInfo(f),d}if(n!=null)return this.convertAndCacheOnCPU(t);if(o===\"string\")return n;let l=this.activeTimers!=null,c;l&&(c=y.now());let p;if(o===\"complex64\"){let m=this.readSync(s.real.dataId),f=this.readSync(s.imag.dataId);p=S.mergeRealAndImagArrays(m,f)}else p=this.getValuesFromTexture(t);return l&&(this.downloadWaitMs+=y.now()-c),this.convertAndCacheOnCPU(t,p)}async read(t){if(this.pendingRead.has(t)){let d=this.pendingRead.get(t);return new Promise(h=>d.push(h))}let e=this.texData.get(t),{values:n,shape:o,slice:s,dtype:i,complexTensorInfos:a,isPacked:u}=e;if(s!=null){let d;u?d=new Dn(o,Ia):d=new Lr(o,Ia);let h=this.runWebGLProgram(d,[{dataId:t,shape:o,dtype:i}],i),g=this.read(h.dataId);return this.disposeIntermediateTensorInfo(h),g}if(n!=null)return this.convertAndCacheOnCPU(t);if(L().getBool(\"DEBUG\")&&!L().getBool(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\")&&L().getNumber(\"WEBGL_VERSION\")===2)throw new Error(\"tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.\");let l=null,c;if(i!==\"complex64\"&&L().get(\"WEBGL_BUFFER_SUPPORTED\")){c=this.decode(t);let d=this.texData.get(c.dataId);l=this.gpgpu.createBufferFromTexture(d.texture.texture,...og(o))}this.pendingRead.set(t,[]),i!==\"complex64\"&&await this.gpgpu.createAndWaitForFence();let p;if(i===\"complex64\"){let d=await Promise.all([this.read(a.real.dataId),this.read(a.imag.dataId)]),h=d[0],g=d[1];p=S.mergeRealAndImagArrays(h,g)}else if(l==null)p=this.getValuesFromTexture(t);else{let d=y.sizeFromShape(o);p=this.gpgpu.downloadFloat32MatrixFromBuffer(l,d)}if(c!=null&&this.disposeIntermediateTensorInfo(c),l!=null){let d=this.gpgpu.gl;ht(d,()=>d.deleteBuffer(l))}let m=this.convertAndCacheOnCPU(t,p),f=this.pendingRead.get(t);return this.pendingRead.delete(t),f.forEach(d=>d(m)),this.pendingDisposal.has(t)&&(this.pendingDisposal.delete(t),this.disposeData(t)&&Bn().removeDataId(t,this),this.pendingDeletes--),m}readToGPU(t,e={}){let n=this.texData.get(t),{values:o,shape:s,slice:i,dtype:a,isPacked:u,texture:l}=n;if(a===\"complex64\")throw new Error(\"Does not support reading texture for complex64 dtype.\");if(i!=null){let f;u?f=new Dn(s,Ia):f=new Lr(s,Ia);let d=this.runWebGLProgram(f,[{dataId:t,shape:s,dtype:a}],a),h=this.readToGPU(d,e);return this.disposeIntermediateTensorInfo(d),h}if(l==null)throw o!=null?new Error(\"Data is not on GPU but on CPU.\"):new Error(\"There is no data on GPU or CPU.\");let c=this.decode(t,e.customTexShape),p=Bn().makeTensorFromTensorInfo(c),m=this.texData.get(c.dataId);return Object.assign({tensorRef:p},m.texture)}bufferSync(t){let e=this.readSync(t.dataId);if(t.dtype===\"string\")try{let n=e.map(o=>y.decodeString(o));return wt(t.shape,t.dtype,n)}catch(n){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return wt(t.shape,t.dtype,e)}checkNumericalProblems(t){if(t!=null)for(let e=0;e0}time(t){let e=this.activeTimers,n=[],o=!1;this.programTimersStack==null?(this.programTimersStack=n,o=!0):this.activeTimers.push(n),this.activeTimers=n,t();let s=y.flatten(this.activeTimers.map(u=>u.query)).filter(u=>u!=null),i=y.flatten(this.activeTimers.map(u=>u.name)).filter(u=>u!=null);this.activeTimers=e,o&&(this.programTimersStack=null);let a={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if(L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0){let u=await Promise.all(s);a.kernelMs=y.sum(u),a.getExtraProfileInfo=()=>u.map((l,c)=>({name:i[c],ms:l})).map(l=>`${l.name}: ${l.ms}`).join(\", \")}else a.kernelMs={error:\"WebGL query timers are not supported in this environment.\"};return this.uploadWaitMs=0,this.downloadWaitMs=0,a})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0?this.gpgpu.beginQuery():{startMs:y.now(),endMs:null}}endTimer(t){return L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0?(this.gpgpu.endQuery(),t):(t.endMs=y.now(),t)}async getQueryTime(t){if(L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0)return this.gpgpu.waitForQueryAndGetTime(t);let e=t;return e.endMs-e.startMs}disposeData(t,e=!1){if(this.pendingDisposal.has(t))return!1;if(!this.texData.has(t))return!0;if(e?this.texData.get(t).refCount=0:this.texData.get(t).refCount--,!e&&this.texData.get(t).refCount>0)return!1;if(this.pendingRead.has(t))return this.pendingDisposal.add(t),this.pendingDeletes++,!1;this.releaseGPUData(t);let{complexTensorInfos:n}=this.texData.get(t);return n!=null&&(this.disposeData(n.real.dataId,e),this.disposeData(n.imag.dataId,e)),this.texData.delete(t),!0}releaseGPUData(t){let{texture:e,dtype:n,texShape:o,usage:s,isPacked:i,slice:a}=this.texData.get(t),u=a&&a.origDataId||t,l=this.dataRefCount.get(u);l>1?this.dataRefCount.set(u,l-1):(this.dataRefCount.delete(u),e!=null&&(this.numBytesInGPU-=this.computeBytes(o,n),this.textureManager.releaseTexture(e,o,s,i)));let c=this.texData.get(t);c.texture=null,c.texShape=null,c.isPacked=!1,c.slice=null}getTexture(t){return this.uploadToGPU(t),this.texData.get(t).texture.texture}getDataInfo(t){return this.texData.get(t)}shouldExecuteOnCPU(t,e=Uot){return L().getBool(\"WEBGL_CPU_FORWARD\")&&t.every(n=>this.texData.get(n.dataId).texture==null&&y.sizeFromShape(n.shape)0&&y.isString(n[0])){let s=n.map(i=>y.encodeString(i));o=this.write(s,t,e)}else o=this.write(n,t,e);return this.texData.get(o).usage=null,{dataId:o,shape:t,dtype:e}}makeOutput(t,e,n){return Bn().makeTensorFromTensorInfo(this.makeTensorInfo(t,e,n),this)}unpackTensor(t){let e=new nI(t.shape);return this.runWebGLProgram(e,[t],t.dtype)}packTensor(t){let e=new eI(t.shape);return this.runWebGLProgram(e,[t],t.dtype,null,!0)}packedReshape(t,e){let n=[Fl(t.shape),...Ol(t.shape)],o={dtype:t.dtype,shape:n,dataId:t.dataId},s=[Fl(e),...Ol(e)],i=new Ed(s,n),a=!0,u=[n],l=this.runWebGLProgram(i,[o],t.dtype,u,a);return{dataId:l.dataId,shape:e,dtype:l.dtype}}decode(t,e){let n=this.texData.get(t),{isPacked:o,shape:s,dtype:i}=n;if(e!=null){let m=y.sizeFromShape(s),f=e[0]*e[1]*4;y.assert(m<=f,()=>\"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data.\")}let a=wd(s),u;o?u=new Ww(a):u=new Gw(a);let l=!0,c=[e!=null?e:og(a)],p=this.runWebGLProgram(u,[{shape:a,dtype:i,dataId:t}],i,c,l,e);return{dtype:i,shape:s,dataId:p.dataId}}runWebGLProgram(t,e,n,o,s=!1,i){let a=this.makeTensorInfo(t.outputShape,n),u=this.texData.get(a.dataId);if(t.packedOutput&&(u.isPacked=!0),t.outPackingScheme===Wu.DENSE){let x=i!=null?i:og(t.outputShape);u.texShape=x.map(b=>b*2)}if(t.outTexUsage!=null&&(u.usage=t.outTexUsage),y.sizeFromShape(a.shape)===0)return u.values=y.getTypedArrayFromDType(a.dtype,0),a;let l=[],c=e.map(x=>{if(x.dtype===\"complex64\")throw new Error(\"GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.\");let b=this.texData.get(x.dataId);if(b.texture==null){if(!t.packedInputs&&y.sizeFromShape(x.shape)<=L().getNumber(\"WEBGL_SIZE_UPLOAD_UNIFORM\"))return{shape:x.shape,texData:null,isUniform:!0,uniformValues:b.values};t.packedInputs&&(b.isPacked=!0,b.shape=x.shape)}if(this.uploadToGPU(x.dataId),!!b.isPacked!=!!t.packedInputs)x=b.isPacked?this.unpackTensor(x):this.packTensor(x),l.push(x),b=this.texData.get(x.dataId);else if(b.isPacked&&!Uu(b.shape,x.shape)){let w=x,I=x.shape;x.shape=b.shape,x=this.packedReshape(x,I),l.push(x),b=this.texData.get(x.dataId),w.shape=I}return{shape:x.shape,texData:b,isUniform:!1}});this.uploadToGPU(a.dataId);let p={shape:a.shape,texData:u,isUniform:!1},m=GL(t,c,p),f=this.getAndSaveBinary(m,()=>BL(this.gpgpu,t,c,p)),d=this.activeTimers!=null,h;d&&(h=this.startTimer()),L().get(\"ENGINE_COMPILE_ONLY\")||VL(this.gpgpu,f,c,p,o),l.forEach(x=>this.disposeIntermediateTensorInfo(x)),d&&(h=this.endTimer(h),this.activeTimers.push({name:t.constructor.name,query:this.getQueryTime(h)}));let g=L().getNumber(\"WEBGL_FLUSH_THRESHOLD\");if(g>0){let x=y.now();x-this.lastGlFlushTime>g&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=x)}if(!L().getBool(\"WEBGL_LAZILY_UNPACK\")&&u.isPacked&&s===!1){let x=this.unpackTensor(a);return this.disposeIntermediateTensorInfo(a),x}return a}compileAndRun(t,e,n,o,s=!1){return n=n||e[0].dtype,this.runWebGLProgram(t,e,n,o,s)}getAndSaveBinary(t,e){return t in this.binaryCache||(this.binaryCache[t]=e()),this.binaryCache[t]}getTextureManager(){return this.textureManager}dispose(){this.disposed||(L().getBool(\"IS_TEST\")||Object.keys(this.binaryCache).forEach(e=>{this.gpgpu.deleteProgram(this.binaryCache[e].webGLProgram),delete this.binaryCache[e]}),this.textureManager.dispose(),this.canvas!=null&&typeof HTMLCanvasElement!=\"undefined\"&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0)}floatPrecision(){return this.floatPrecisionValue==null&&(this.floatPrecisionValue=B(()=>{if(!L().get(\"WEBGL_RENDER_FLOAT32_ENABLED\")){let t=L().getBool(\"DEBUG\");L().set(\"DEBUG\",!1);let e=this.abs(pt(1e-8)).dataSync()[0];if(L().set(\"DEBUG\",t),e>0)return 32}return 16})),this.floatPrecisionValue}epsilon(){return this.floatPrecision()===32?Vot:Got}uploadToGPU(t){let e=this.texData.get(t),{shape:n,dtype:o,values:s,texture:i,usage:a,isPacked:u}=e;if(i!=null)return;let l=this.activeTimers!=null,c;l&&(c=y.now());let p=e.texShape;if(p==null&&(p=t1(n,u),e.texShape=p),s!=null){let m=wd(n),f,d=p[1],h=p[0],g=s instanceof Uint8Array||s instanceof Uint8ClampedArray;(u||!g)&&([d,h]=wa(p[0],p[1])),u?f=new qw(m,g):f=new lg(m,g);let x=g?[h,d]:p,b=this.makeTensorInfo(x,o),w=this.texData.get(b.dataId);g?w.usage=Yr.PIXELS:w.usage=Yr.UPLOAD,w.texShape=x,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(b.dataId),d,h,s);let I=[[h,d]],E=this.runWebGLProgram(f,[b],o,I,!0),A=this.texData.get(E.dataId);e.texShape=A.texShape,e.isPacked=A.isPacked,e.usage=A.usage,L().get(\"ENGINE_COMPILE_ONLY\")?this.disposeData(E.dataId):(e.texture=A.texture,e.values=null,this.texData.delete(E.dataId)),this.disposeIntermediateTensorInfo(b),l&&(this.uploadWaitMs+=y.now()-c)}else{let m=this.acquireTexture(p,a,o,u);e.texture=m}}convertAndCacheOnCPU(t,e){let n=this.texData.get(t),{dtype:o}=n;return e!=null&&(n.values=Kot(e,o)),n.values}acquireTexture(t,e,n,o){if(this.numBytesInGPU+=this.computeBytes(t,n),!this.warnedAboutMemory&&this.numBytesInGPU>this.numMBBeforeWarning*1024*1024){let s=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${s} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(t,e,o)}computeBytes(t,e){return t[0]*t[1]*y.bytesPerElement(e)}checkCompileCompletion(){for(let[,t]of Object.entries(this.binaryCache))this.checkCompletion_(t)}async checkCompileCompletionAsync(){let t=[];if(this.gpgpu.parallelCompilationExtension){for(let[,e]of Object.entries(this.binaryCache))t.push(this.checkCompletionAsync_(e));return Promise.all(t)}else{for(let[,e]of Object.entries(this.binaryCache)){let n=new Promise(o=>{try{this.checkCompletion_(e),o(!0)}catch(s){throw s}});t.push(n)}return Promise.all(t)}}async checkCompletionAsync_(t){return this.gpgpu.gl.getProgramParameter(t.webGLProgram,this.gpgpu.parallelCompilationExtension.COMPLETION_STATUS_KHR)?this.checkCompletion_(t):(await Ih(),this.checkCompletionAsync_(t))}checkCompletion_(t){if(this.gpgpu.gl.getProgramParameter(t.webGLProgram,this.gpgpu.gl.LINK_STATUS)===!1)throw console.log(this.gpgpu.gl.getProgramInfoLog(t.webGLProgram)),this.gpgpu.gl.getShaderParameter(t.fragmentShader,this.gpgpu.gl.COMPILE_STATUS)===!1?(Mw(t.source,this.gpgpu.gl.getShaderInfoLog(t.fragmentShader)),new Error(\"Failed to compile fragment shader.\")):new Error(\"Failed to link vertex and fragment shaders.\");return!0}getUniformLocations(){for(let t of Object.values(this.binaryCache)){this.gpgpu.buildVao(t.webGLProgram);let{variablesLocations:e,customUniformLocations:n,infLoc:o,nanLoc:s,outShapeLocation:i,outShapeStridesLocation:a,outTexShapeLocation:u}=a1(this.gpgpu,t.program,t.webGLProgram);t.variablesLocations=e,t.customUniformLocations=n,t.infLoc=o,t.nanLoc=s,t.outShapeLocation=i,t.outShapeStridesLocation=a,t.outTexShapeLocation=u}}createTensorFromGPUData(t,e,n){t.channels=t.channels||\"RGBA\";let{texture:o,height:s,width:i,channels:a}=t,u=Bn().backend;if(!u.gpgpu.gl.isTexture(o))throw new Error(\"The texture is invalid. Also, please make sure the texture and the TFJS WebGL backend are using the same canvas. If you want to use your own custom canvas, you have to create and use the custom TFJS WebGL backend created from the canvas through 'new tf.MathBackendWebGL(customCanvas)'.\");let l=u.writeTexture(o,e,n,s,i,a);return Bn().makeTensorFromDataId(l,e,n,u)}};Ad.nextDataId=0;function Kot(r,t){if(t===\"float32\"||t===\"complex64\")return r;if(t===\"int32\"||t===\"bool\"){let e=t===\"int32\"?new Int32Array(r.length):new Uint8Array(r.length);for(let n=0;nnew Ad,2);var N$e={forceHalfFloat:Yz};var Dd=`\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n`;var $n=class{constructor(t,e,n){this.variableNames=[\"A\",\"B\"],this.outputShape=S.assertAndGetBroadcastShape(e,n),this.enableShapeUniforms=he(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${t}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}};var Xn=`\n result.r = isNaN.r ? NAN : result.r;\n result.g = isNaN.g ? NAN : result.g;\n result.b = isNaN.b ? NAN : result.b;\n result.a = isNaN.a ? NAN : result.a;\n`;var jn=class{constructor(t,e,n,o=!1){this.variableNames=[\"A\",\"B\"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=S.assertAndGetBroadcastShape(e,n);let s=this.outputShape.length;this.enableShapeUniforms=he(s);let i=\"\";if(o)if(s===0||y.sizeFromShape(this.outputShape)===1)i=`\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n `;else if(i=`\n ${zt(s)} coords = getOutputCoords();\n `,s===1)this.enableShapeUniforms?i+=`\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `:i+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{let u=rr(\"coords\",s);this.enableShapeUniforms?i+=`\n bool nextRowOutOfBounds =\n (${u[s-2]} + 1) >= outShape[${s} - 2];\n bool nextColOutOfBounds =\n (${u[s-1]} + 1) >= outShape[${s} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:i+=`\n bool nextRowOutOfBounds =\n (${u[s-2]} + 1) >= ${this.outputShape[s-2]};\n bool nextColOutOfBounds =\n (${u[s-1]} + 1) >= ${this.outputShape[s-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${t}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${i}\n\n setOutput(result);\n }\n `}};function nr(r){let{inputs:t,backend:e}=r,{x:n}=t;return e.incRef(n.dataId),{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}var Zz={kernelName:go,backendName:\"webgl\",kernelFunc:nr};function Rn(r){let{inputs:t,backend:e}=r,{real:n,imag:o}=t,s=e.makeTensorInfo(n.shape,\"complex64\"),i=e.texData.get(s.dataId),a=nr({inputs:{x:n},backend:e}),u=nr({inputs:{x:o},backend:e});return i.complexTensorInfos={real:a,imag:u},s}var Jz={kernelName:Ap,backendName:\"webgl\",kernelFunc:Rn};var T1=\"return (a < 0.) ? b * a : a;\",_1=`\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`;function jot(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{alpha:s}=n,i=e.makeTensorInfo([],\"float32\",y.createScalarValue(s,\"float32\")),a=L().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new jn(_1,o.shape,i.shape):new $n(T1,o.shape,i.shape),u=e.runWebGLProgram(a,[o,i],\"float32\");return e.disposeIntermediateTensorInfo(i),u}var Qz={kernelName:bs,backendName:\"webgl\",kernelFunc:jot};var E1=\"return (a < 0.) ? b * a : a;\",A1=`\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`;function Xot(r){let{inputs:t,backend:e}=r,{x:n,alpha:o}=t,s=L().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new jn(A1,n.shape,o.shape):new $n(E1,n.shape,o.shape);return e.runWebGLProgram(s,[n,o],\"float32\")}var t3={kernelName:Os,backendName:\"webgl\",kernelFunc:Xot};var Po=\"if (isnan(x)) return x;\";function It({opSnippet:r,packedOpSnippet:t,cpuKernelImpl:e,dtype:n}){return({inputs:o,backend:s})=>{let{x:i}=o,a=s,u=n||i.dtype;if(a.shouldExecuteOnCPU([i])&&e!=null){let p=a.texData.get(i.dataId),m=e(p.values,u);return a.makeTensorInfo(i.shape,u,m)}let l=L().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")&&t!=null,c;return l?c=new Dn(i.shape,t):c=new Lr(i.shape,r),a.runWebGLProgram(c,[i],u)}}function ce({opSnippet:r,packedOpSnippet:t,checkOutOfBounds:e=!1,supportsComplex:n=!1,cpuKernelImpl:o,dtype:s}){return({inputs:i,backend:a})=>{let{a:u,b:l}=i,c=a;if(n&&u.dtype===\"complex64\"){let d=c.texData.get(u.dataId),h=c.texData.get(l.dataId),[g,x]=[[d.complexTensorInfos.real,h.complexTensorInfos.real],[d.complexTensorInfos.imag,h.complexTensorInfos.imag]].map(w=>{let[I,N]=w,E={dataId:I.dataId,dtype:I.dtype,shape:u.shape},A={dataId:N.dataId,dtype:N.dtype,shape:l.shape},D=new $n(r,u.shape,l.shape);return c.runWebGLProgram(D,[E,A],ur(I.dtype,N.dtype))}),b=Rn({inputs:{real:g,imag:x},backend:c});return c.disposeIntermediateTensorInfo(g),c.disposeIntermediateTensorInfo(x),b}let p=s||ur(u.dtype,l.dtype);if((u.dtype===\"string\"||l.dtype===\"string\"||c.shouldExecuteOnCPU([u,l]))&&o!=null){let d=c.texData.get(u.dataId).values,h=c.texData.get(l.dataId).values,g=u.dtype===\"string\"?S.fromUint8ToStringArray(d):d,x=u.dtype===\"string\"?S.fromUint8ToStringArray(h):h,[b,w]=o(u.shape,l.shape,g,x,p),I=c.makeTensorInfo(w,p),N=c.texData.get(I.dataId);return N.values=b,I}let m=L().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")&&t!=null,f;return m?f=new jn(t,u.shape,l.shape,e):f=new $n(r,u.shape,l.shape),c.runWebGLProgram(f,[u,l],p)}}function Ml(r,t=!1){if(r===\"linear\")return t?Uz:Lz;if(r===\"relu\")return t?qz:Bz;if(r===\"elu\")return t?Hz:zz;if(r===\"relu6\")return t?Kz:Vz;if(r===\"prelu\")return t?A1:E1;if(r===\"leakyrelu\")return t?_1:T1;if(r===\"sigmoid\")return t?jz:Gz;throw new Error(`Activation ${r} has not been implemented for the WebGL backend.`)}var $d=class{constructor(t,e,n,o=!1,s=!1,i=!1,a=null,u=!1,l=!1){this.variableNames=[\"matrixA\",\"matrixB\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=n,this.enableShapeUniforms=he(this.outputShape.length);let c=o?t[1]:t[2],p=Math.ceil(c/2),m=o?\"i * 2, rc.y\":\"rc.y, i * 2\",f=s?\"rc.z, i * 2\":\"i * 2, rc.z\",d=o?[\"a.xxyy\",\"a.zzww\"]:[\"a.xxzz\",\"a.yyww\"],h=s?[\"b.xzxz\",\"b.ywyw\"]:[\"b.xyxy\",\"b.zwzw\"],g=\"\",x=\"\";a&&(u?g=`vec4 activation(vec4 a) {\n vec4 b = getPreluActivationWeightsAtOutCoords();\n ${a}\n }`:l?g=`vec4 activation(vec4 a) {\n vec4 b = getLeakyreluAlphaAtOutCoords();\n ${a}\n }`:g=`vec4 activation(vec4 x) {\n ${a}\n }`,x=\"result = activation(result);\");let b=i?\"result += getBiasAtOutCoords();\":\"\";i&&this.variableNames.push(\"bias\"),u&&this.variableNames.push(\"preluActivationWeights\"),l&&this.variableNames.push(\"leakyreluAlpha\");let w=\"rc.x\",I=\"rc.x\";t[0]`The new shape (${u}) has ${l} elements and the old shape (${o.shape}) has ${a} elements. The new shape and old shape must have the same number of elements.`);let c=i.texData.get(o.dataId);return c.isPacked&&!Uu(o.shape,u)&&!(c.texture!==null&&Uu(c.shape,u))?n3(o,u,i):(i.incRef(o.dataId),{dataId:o.dataId,shape:u,dtype:o.dtype})}var o3={kernelName:Vi,backendName:\"webgl\",kernelFunc:rt};var mg=class{constructor(t,e){this.variableNames=[\"x\"];let{windowSize:n,batchSize:o,inSize:s,outSize:i}=t;this.outputShape=[o,i];let a=Math.floor(n/4)*4,u=n%4,l=\"sumValue += dot(values, ones);\";if(e!=null){let p=1/e;l=`sumValue += dot(values * ${y.isInt(p)?p.toPrecision(2):p}, ones);`}let c=\"\";s%n>0&&(c=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${a}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${l}\n }\n\n int inIdx = inOffset + ${a};\n if (${u===1}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${l}\n } else if (${u===2}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${l}\n } else if (${u===3}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${l}\n }\n setOutput(sumValue);\n }\n `}};var sI=class{constructor(t,e){this.variableNames=[\"x\"];let{windowSize:n,batchSize:o,inSize:s,outSize:i}=t;this.outputShape=[o,i];let a=\"0.0\",u=\"\";e===\"prod\"?a=\"1.0\":e===\"min\"?(a=\"1.0 / 1e-20\",u=\"min\"):e===\"max\"&&(a=\"-1.0 / 1e-20\",u=\"max\");let l=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;e===\"sum\"?l=\"sumValue\":e===\"prod\"?l=\"prodValue\":e===\"all\"?l=\"allValue\":e===\"any\"&&(l=\"anyValue\");let c=Math.floor(n/4)*4,p=n%4,m=`\n if (${e===\"sum\"}) {\n sumValue += dot(values, ones);\n } else if (${e===\"prod\"}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${u}(values, minMaxValue);\n if (${e===\"min\"} || ${e===\"max\"}) {\n minMaxValue = ${u}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,f=\"vec4\";e===\"all\"?(a=\"1.0\",m=`\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n `,f=\"bvec4\"):e===\"any\"&&(a=\"0.0\",m=`\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n `,f=\"bvec4\");let d=\"\";s%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${a};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${d}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n vec4 minMaxValue = vec4(${a});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${c}; i += 4) {\n int inIdx = inOffset + i;\n ${f} values = ${f}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${m}\n }\n\n int inIdx = inOffset + ${c};\n if (${p===1}) {\n ${f} values = ${f}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${m}\n } else if (${p===2}) {\n ${f} values = ${f}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${m}\n } else if (${p===3}) {\n ${f} values = ${f}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${m}\n }\n setOutput(${l});\n }\n `}};function Zot(r){let t=[];for(;t.length===0||t[t.length-1].outSize!==1;){let e=t.length?t[t.length-1].outSize:r[1],n=S.computeOptimalWindowSize(e);t.push({inSize:e,windowSize:n,outSize:Math.ceil(e/n)})}return t}function Yn(r,t,e,n){let o=Zot(r.shape),s=r;for(let i=0;i6)throw Error(`Transpose for rank ${t} is not yet supported`);let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\",\"resRC.v\"],n=new Array(t);for(let o=0;o6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);let o=zt(this.rank),s=N1(\"rc\",this.rank),i=new Array(this.rank);for(let c=0;c`Error in matMul: inner shapes (${p}) and (${m}) of Tensors with shapes ${r.shape} and ${t.shape} and transposeA=${e} and transposeB=${n} must match.`);let N=e?[x,p,f]:[x,f,p],E=n?[b,d,m]:[b,m,d],A=rt({inputs:{x:r},backend:o,attrs:{shape:N}}),D=rt({inputs:{x:t},backend:o,attrs:{shape:E}}),F=[A,D],M=Math.max(x,b),V=e?A.shape[1]:A.shape[2],G=s!=null,W=i!=null,q=u===\"leakyrelu\",H=u!=null?Ml(u,!0):null,K=G||W||q||H!=null,Y;if((f===1||d===1)&&V>$1&&K===!1){let et=A,nt=D;e&&(et=Pe({inputs:{x:A},backend:o,attrs:{perm:[0,2,1]}}),F.push(et)),n&&(nt=Pe({inputs:{x:D},backend:o,attrs:{perm:[0,2,1]}}),F.push(nt));let st=d!==1,lt=d===1,ot=et;st&&(ot=rt({inputs:{x:et},backend:o,attrs:{shape:[M,V,1]}}),F.push(ot));let it=d===1?2:1,ft=nt;lt&&(ft=rt({inputs:{x:nt},backend:o,attrs:{shape:[M,1,V]}}),F.push(ft));let gt=pg({inputs:{a:ot,b:ft},backend:o});Y=fp({inputs:{x:gt},backend:o,attrs:{axis:it,keepDims:!0}}),F.push(gt)}else{let et=ur(r.dtype,t.dtype),nt=new $d(N,E,[M,f,d],e,n,G,H,W,q),st=[A,D];if(s!=null&&st.push(s),W&&st.push(i),q){let lt=o.makeTensorInfo([],\"float32\",y.createScalarValue(a,\"float32\"));st.push(lt),F.push(lt)}Y=o.runWebGLProgram(nt,st,et)}let Z=rt({inputs:{x:Y},backend:o,attrs:{shape:I}});F.push(Y);for(let et of F)o.disposeIntermediateTensorInfo(et);return Z}function Qot(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s,bias:i,preluActivationWeights:a}=t,{transposeA:u,transposeB:l,activation:c,leakyreluAlpha:p}=n;return dp({a:o,b:s,transposeA:u,transposeB:l,backend:e,bias:i,preluActivationWeights:a,leakyreluAlpha:p,activation:c})}var l3={kernelName:ji,backendName:\"webgl\",kernelFunc:Qot};var u3=\"return abs(x);\";function tst(r){let{inputs:t,backend:e}=r,{x:n}=t;if(e.shouldExecuteOnCPU([n])&&n.dtype!==\"complex64\"){let s=e.texData.get(n.dataId),i=Qw(s.values);return e.makeTensorInfo(n.shape,n.dtype,i)}let o;return L().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")?o=new Dn(n.shape,u3):o=new Lr(n.shape,u3),e.runWebGLProgram(o,[n],n.dtype)}var c3={kernelName:Ei,backendName:\"webgl\",kernelFunc:tst};var est=xr+`\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n`,rst=It({opSnippet:est}),p3={kernelName:Go,backendName:\"webgl\",kernelFunc:rst};var nst=xr+`\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));`,ost=It({opSnippet:nst}),m3={kernelName:Wo,backendName:\"webgl\",kernelFunc:ost};var f3=\"return a + b;\",sst=ce({opSnippet:f3,packedOpSnippet:f3,supportsComplex:!0,cpuKernelImpl:WL}),d3={kernelName:no,backendName:\"webgl\",kernelFunc:sst};var lI=class{constructor(t,e){this.outputShape=[],this.outputShape=t,this.variableNames=e.map((s,i)=>`T${i}`);let n=[];this.variableNames.forEach(s=>{n.push(`float v${s} = get${s}AtOutCoords();`)});let o=this.variableNames.map(s=>`v${s}`).join(\" + \");this.userCode=`\n void main() {\n ${n.join(`\n `)}\n\n float result = ${o};\n setOutput(result);\n }\n `}};var uI=class{constructor(t,e){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.variableNames=e.map((s,i)=>`T${i}`);let n=[];this.variableNames.forEach(s=>{n.push(`vec4 v${s} = get${s}AtOutCoords();`)});let o=this.variableNames.map(s=>`v${s}`).join(\" + \");this.userCode=`\n void main() {\n ${n.join(`\n `)}\n\n vec4 result = ${o};\n setOutput(result);\n }\n `}};function cI(r){let{inputs:t,backend:e}=r,n=t;if(n.length===1)return nr({inputs:{x:n[0]},backend:e});if(n.length>L().getNumber(\"WEBGL_MAX_TEXTURES_IN_SHADER\")){let u=Math.floor(n.length/2),l=cI({inputs:n.slice(0,u),backend:e}),c=cI({inputs:n.slice(u),backend:e});return cI({inputs:[l,c],backend:e})}let o=n.map(u=>u.dtype).reduce((u,l)=>ur(u,l)),s=n.map(u=>u.shape),a=L().getBool(\"WEBGL_PACK\")?new uI(n[0].shape,s):new lI(n[0].shape,s);return e.runWebGLProgram(a,n,o)}var h3={kernelName:Uo,backendName:\"webgl\",kernelFunc:cI};function ist(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=o.shape.length,u=y.parseAxisParam(s,o.shape),l=u,c=S.getAxesPermutation(l,a),p=o;c!=null&&(p=Pe({inputs:{x:o},backend:e,attrs:{perm:c}}),l=S.getInnerMostAxes(l.length,a)),S.assertAxesAreInnerMostDims(\"all\",l,a);let[m,f]=S.computeOutAndReduceShapes(p.shape,l),d=y.sizeFromShape(f),h=rt({inputs:{x:p},backend:e,attrs:{shape:[-1,d]}}),g=Yn(h,h.dtype,\"all\",e),x;if(i){let b=S.expandShapeToKeepDim(m,u);x=rt({inputs:{x:g},backend:e,attrs:{shape:b}})}else x=rt({inputs:{x:g},backend:e,attrs:{shape:m}});return e.disposeIntermediateTensorInfo(h),e.disposeIntermediateTensorInfo(g),c!=null&&e.disposeIntermediateTensorInfo(p),x}var g3={kernelName:Ea,backendName:\"webgl\",kernelFunc:ist};function ast(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=o.shape.length,u=y.parseAxisParam(s,o.shape),l=u,c=S.getAxesPermutation(l,a),p=o;c!=null&&(p=Pe({inputs:{x:o},backend:e,attrs:{perm:c}}),l=S.getInnerMostAxes(l.length,a)),S.assertAxesAreInnerMostDims(\"any\",l,a);let[m,f]=S.computeOutAndReduceShapes(p.shape,l),d=y.sizeFromShape(f),h=rt({inputs:{x:p},backend:e,attrs:{shape:[-1,d]}}),g=Yn(h,h.dtype,\"any\",e),x;if(i){let b=S.expandShapeToKeepDim(m,u);x=rt({inputs:{x:g},backend:e,attrs:{shape:b}})}else x=rt({inputs:{x:g},backend:e,attrs:{shape:m}});return e.disposeIntermediateTensorInfo(h),e.disposeIntermediateTensorInfo(g),c!=null&&e.disposeIntermediateTensorInfo(p),x}var x3={kernelName:Aa,backendName:\"webgl\",kernelFunc:ast};var pI=class{constructor(t,e,n){this.variableNames=[\"A\"];let{windowSize:o,batchSize:s,outSize:i}=t;n||this.variableNames.push(\"bestIndicesA\"),this.outputShape=[s,i];let a=e===\"max\"?\">\":\"<\",u=n?\"inOffset + i;\":\"round(getBestIndicesA(batch, inOffset + i));\";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${o};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${o}; i++) {\n int inIdx = ${u};\n float candidate = getA(batch, inIdx);\n if (candidate ${a} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}};var mI=class{constructor(t,e,n,o){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,y.assert(t.length>2,()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`);let s=t[t.length-1],i=Math.ceil(s/e);this.outputShape=t.slice(0,-1),i>1&&this.outputShape.push(i),o||this.variableNames.push(\"bestIndicesA\");let a=this.outputShape,u=a.length,l=zt(u),c=rr(\"coords\",u),p,m;if(i===1){m=u+1;let D=zt(m);p=`\n ${D} sourceLocR = ${D}(${c.join()}, 0);\n ++${c[u-1]};\n ${D} sourceLocG = ${D}(${c.join()}, 0);\n ++${c[u-2]};\n ${D} sourceLocA = ${D}(${c.join()}, 0);\n --${c[u-1]};\n ${D} sourceLocB = ${D}(${c.join()}, 0);\n --${c[u-2]};`}else m=u,p=`\n ${l} sourceLocR = coords;\n ++${c[u-1]};\n ${l} sourceLocG = coords;\n ++${c[u-2]};\n ${l} sourceLocA = coords;\n --${c[u-1]};\n ${l} sourceLocB = coords;\n --${c[u-2]};`;let f=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"].slice(0,m),d=\".\"+f[m-1],h=f.map(D=>\"int \"+D),g=rr(\"sourceLocR\",m-1).concat(\"inIdx.r\"),x=rr(\"sourceLocG\",m-1).concat(\"inIdx.g\"),b=rr(\"sourceLocB\",m-1).concat(\"inIdx.b\"),w=rr(\"sourceLocA\",m-1).concat(\"inIdx.a\"),I=n===\"max\"?\"greaterThan\":\"lessThan\",N=o?\"\":`\n inIdx = round(vec4(getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${x.join()}),\n getBestIndicesAChannel(${b.join()}),\n getBestIndicesAChannel(${w.join()})));`,E=`vec4(\n getAChannel(${g.join()}),\n hasNextCol ? getAChannel(${x.join()}) : 0.,\n hasNextRow ? getAChannel(${b.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${w.join()}) : 0.)`,A=o?\"\":`\n float getBestIndicesAChannel(${h.join()}) {\n return getChannel(getBestIndicesA(${f.join()}),\n vec2(${f.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${h.join()}) {\n return getChannel(getA(${f.join()}),\n vec2(${f.slice(-2).join()}));\n }\n ${A}\n void main() {\n ${l} coords = getOutputCoords();\n bool hasNextCol = ${c[u-1]} < ${a[u-1]-1};\n bool hasNextRow = ${c[u-2]} < ${a[u-2]-1};\n ${p}\n ivec4 srcIdx = ivec4(sourceLocR${d}, sourceLocG${d},\n sourceLocB${d}, sourceLocA${d}) * ${e};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${E};\n\n for (int i = 0; i < ${e}; i++) {\n inIdx = srcIdx;\n ${N}\n vec4 candidate = ${E};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${I}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}};function y3(r,t,e,n=null){let o=t.shape[0],s=t.shape[1];n!=null&&(o=n.shape[0],s=n.shape[1]);let i=S.computeOptimalWindowSize(s),a={windowSize:i,inSize:s,batchSize:o,outSize:Math.ceil(s/i)},u=new pI(a,e,n==null),l=[t];n!=null&&l.push(n);let c=r.runWebGLProgram(u,l,\"int32\");if(c.shape[1]===1)return c;let p=y3(r,t,e,c);return r.disposeIntermediateTensorInfo(c),p}function b3(r,t,e,n=null){let o=n!=null?n.shape:t.shape,s=o[o.length-1],i=S.computeOptimalWindowSize(s),a=new mI(o,i,e,n==null),u=n==null?[t]:[t,n],l=r.runWebGLProgram(a,u,\"int32\");if(l.shape.length===t.shape.length){let c=b3(r,t,e,l);return r.disposeIntermediateTensorInfo(l),c}return l}function fI(r,t,e,n){let o=[e];if(S.assertAxesAreInnerMostDims(\"arg\"+n.charAt(0).toUpperCase()+n.slice(1),o,t.shape.length),!L().getBool(\"WEBGL_PACK_REDUCE\")||t.shape.length<=2){let s=[],i=r.texData.get(t.dataId),a=i!==null&&i.isPacked,u=t;a&&(u=r.unpackTensor(t),s.push(u));let[l,c]=S.computeOutAndReduceShapes(u.shape,o),p=y.sizeFromShape(c),m=rt({inputs:{x:u},backend:r,attrs:{shape:[-1,p]}});s.push(m);let f=y3(r,m,n);s.push(f);let d=rt({inputs:{x:f},backend:r,attrs:{shape:l}});return s.forEach(h=>r.disposeIntermediateTensorInfo(h)),d}return b3(r,t,n)}function lst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s}=n,i=y.parseAxisParam(s,o.shape),a=S.getAxesPermutation(i,o.shape.length),u=o,l=[];a!=null&&(u=Pe({inputs:{x:o},backend:e,attrs:{perm:a}}),l.push(u),i=S.getInnerMostAxes(i.length,u.shape.length)),S.assertAxesAreInnerMostDims(\"argMax\",[i[0]],u.shape.length);let c=fI(e,u,i[0],\"max\");return l.forEach(p=>e.disposeIntermediateTensorInfo(p)),c}var w3={kernelName:Ai,backendName:\"webgl\",kernelFunc:lst};function ust(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s}=n,i=y.parseAxisParam(s,o.shape),a=S.getAxesPermutation(i,o.shape.length),u=o,l=[];a!=null&&(u=Pe({inputs:{x:o},backend:e,attrs:{perm:a}}),l.push(u),i=S.getInnerMostAxes(i.length,u.shape.length)),S.assertAxesAreInnerMostDims(\"argMin\",[i[0]],u.shape.length);let c=fI(e,u,i[0],\"min\");return l.forEach(p=>e.disposeIntermediateTensorInfo(p)),c}var I3={kernelName:Di,backendName:\"webgl\",kernelFunc:ust};var cst=xr+`\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n`,pst=It({opSnippet:cst}),C3={kernelName:Ho,backendName:\"webgl\",kernelFunc:pst};var mst=xr+\"return log(x + sqrt(x * x + 1.0));\",fst=It({opSnippet:mst}),v3={kernelName:qo,backendName:\"webgl\",kernelFunc:fst};var dst=xr+`\n return atan(x);\n`,hst=It({opSnippet:dst}),S3={kernelName:Ko,backendName:\"webgl\",kernelFunc:hst};var gst=Dd+`\n return atan(a, b);\n`,xst=`\n vec4 result = atan(a, b);\n bvec4 isNaNA = isnan(a);\n bvec4 isNaNB = isnan(b);\n bvec4 isNaN = bvec4(isNaNA.x || isNaNB.x, isNaNA.y || isNaNB.y, isNaNA.z || isNaNB.z, isNaNA.w || isNaNB.w);\n `+Xn+`\n return result;\n`,yst=ce({opSnippet:gst,packedOpSnippet:xst}),N3={kernelName:Xo,backendName:\"webgl\",kernelFunc:yst};var bst=xr+`\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;`,wst=It({opSnippet:bst}),k3={kernelName:jo,backendName:\"webgl\",kernelFunc:wst};var Si=class{constructor(t,e,n,o=!1,s=!1){if(this.variableNames=[\"x\"],e===\"avg\"&&n)throw new Error(\"Cannot compute positions for average pool.\");let i=t.filterWidth,a=t.strideHeight,u=t.strideWidth,l=t.dilationHeight,c=t.dilationWidth,p=t.effectiveFilterHeight,m=t.effectiveFilterWidth,f=t.padInfo.top,d=t.padInfo.left;this.outputShape=t.outShape;let h=e===\"avg\",g=`((batch * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + d`,x=`(xR * ${t.inWidth} + xC) * ${t.inChannels} + d`,b=\"0.0\";if(h||(b=\"-1.0 / 1e-20\"),n){let D=\">=\";this.userCode=`\n const ivec2 strides = ivec2(${a}, ${u});\n const ivec2 pads = ivec2(${f}, ${d});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${p};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${m};\n wC += ${c}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${D} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${o?s?g:x:`wR * ${m} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `;return}let w=\"max\",I=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;e===\"avg\"&&(I=\"avgValue / max(count, 1.0)\");let N=Math.floor(i/4)*4,E=i%4,A=`\n if (${h}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = ${w}(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${a}, ${u});\n const ivec2 pads = ivec2(${f}, ${d});\n const float initializationValue = ${b};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${t.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${b});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${p};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${N}; wC += 4) {\n int xC = xCCorner + wC * ${c};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n getValue(batch, xR, xC + 2 * ${c}, d),\n getValue(batch, xR, xC + 3 * ${c}, d)\n );\n\n ${A}\n }\n\n int xC = xCCorner + ${N};\n if (${E===1}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${A}\n } else if (${E===2}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n initializationValue,\n initializationValue\n );\n\n ${A}\n } else if (${E===3}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n getValue(batch, xR, xC + 2 * ${c}, d),\n initializationValue\n );\n\n ${A}\n }\n }\n setOutput(${I});\n }\n `}},qu=class{constructor(t,e,n,o=!1,s=!1){if(this.variableNames=[\"x\"],e===\"avg\"&&n)throw new Error(\"Cannot compute positions for average pool.\");let i=t.filterWidth,a=t.strideDepth,u=t.strideHeight,l=t.strideWidth,c=t.dilationDepth,p=t.dilationHeight,m=t.dilationWidth,f=t.effectiveFilterDepth,d=t.effectiveFilterHeight,h=t.effectiveFilterWidth,g=t.padInfo.front,x=t.padInfo.top,b=t.padInfo.left;this.outputShape=t.outShape;let w=e===\"avg\",I=\"0.0\";if(w||(I=\"-1.0 / 1e-20\"),n){let M=\">=\";this.userCode=`\n const ivec3 strides =\n ivec3(${a}, ${u}, ${l});\n const ivec3 pads = ivec3(${g}, ${x}, ${b});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${f};\n wD += ${c}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d};\n wR += ${p}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h};\n wC += ${m}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${M} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${o?s?`(((batch * ${t.inDepth} + xD) * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + ch`:`((xD * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + ch`:`wD * ${d} * ${h} +\n wR * ${h} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `;return}let N=\"max\",E=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;e===\"avg\"&&(E=\"avgValue / max(count, 1.0)\");let A=Math.floor(i/4)*4,D=i%4,F=`\n if (${w}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = ${N}(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${a}, ${u}, ${l});\n const ivec3 pads = ivec3(${g}, ${x}, ${b});\n const float initializationValue = ${I};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${t.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${I});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${f};\n wD += ${c}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d};\n wR += ${p}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${A}; wC += 4) {\n int xC = xCCorner + wC * ${m};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n getValue(batch, xD, xR, xC + 2 * ${m}, ch),\n getValue(batch, xD, xR, xC + 3 * ${m}, ch)\n );\n\n ${F}\n }\n\n int xC = xCCorner + ${A};\n if (${D===1}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${F}\n } else if (${D===2}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n initializationValue,\n initializationValue\n );\n\n ${F}\n } else if (${D===3}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n getValue(batch, xD, xR, xC + 2 * ${m}, ch),\n initializationValue\n );\n\n ${F}\n }\n }\n }\n setOutput(${E});\n }\n `}};function Ist(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t;Ci(o,\"avgPool\");let{filterSize:s,strides:i,pad:a,dimRoundingMode:u}=n,l=1;y.assert(S.eitherStridesOrDilationsAreOne(i,l),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return nr({inputs:{x:o},backend:e});let p=new Si(c,\"avg\",!1);return e.runWebGLProgram(p,[o],\"float32\")}var T3={kernelName:Yo,backendName:\"webgl\",kernelFunc:Ist};function Cst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n,c=[1,1,1],p=S.computePool3DInfo(o.shape,s,i,c,a,u,l),m=new qu(p,\"avg\",!1);return e.runWebGLProgram(m,[o],\"float32\")}var _3={kernelName:$i,backendName:\"webgl\",kernelFunc:Cst};var dI=class{constructor(t){this.variableNames=[\"dy\"],this.outputShape=t.inShape;let e=t.filterHeight,n=t.filterWidth,o=t.strideHeight,s=t.strideWidth,i=t.dilationHeight,a=t.dilationWidth,u=t.effectiveFilterHeight,l=t.effectiveFilterWidth,c=u-1-t.padInfo.top,p=l-1-t.padInfo.left,m=1/(e*n);this.userCode=`\n const ivec2 pads = ivec2(${c}, ${p});\n const float avgMultiplier = float(${m});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${u};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${l};\n wC+= ${a}) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}},hI=class{constructor(t){this.variableNames=[\"dy\"],this.outputShape=t.inShape;let e=t.filterDepth,n=t.filterHeight,o=t.filterWidth,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,u=t.dilationDepth,l=t.dilationHeight,c=t.dilationWidth,p=t.effectiveFilterDepth,m=t.effectiveFilterHeight,f=t.effectiveFilterWidth,d=p-1-t.padInfo.front,h=m-1-t.padInfo.top,g=f-1-t.padInfo.left,x=1/(e*n*o);this.userCode=`\n const ivec3 pads = ivec3(${d}, ${h}, ${g});\n const float avgMultiplier = float(${x});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${p};\n wD += ${u}) {\n float dyD = float(dyDCorner + wD) / ${s}.0;\n\n if (dyD < 0.0 || dyD >= ${t.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${m};\n wR += ${l}) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${f};\n wC += ${c}) {\n float dyC = float(dyCCorner + wC) / ${a}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function vst(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s,{filterSize:a,strides:u,pad:l,dimRoundingMode:c}=n,p=[1,1,1],m=S.computePool3DInfo(i.shape,a,u,p,l,c),f=new hI(m);return e.runWebGLProgram(f,[o],i.dtype)}var E3={kernelName:Hl,backendName:\"webgl\",kernelFunc:vst};function Sst(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s;Ci([o,s],\"avgPoolGrad\");let{filterSize:a,strides:u,pad:l}=n,c=S.computePool2DInfo(i.shape,a,u,1,l),p=new dI(c);return e.runWebGLProgram(p,[o],i.dtype)}var A3={kernelName:Ul,backendName:\"webgl\",kernelFunc:Sst};function Nst(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s}=t,{transposeA:i,transposeB:a}=n;return dp({a:o,b:s,transposeA:i,transposeB:a,backend:e})}var D3={kernelName:Zo,backendName:\"webgl\",kernelFunc:Nst};var gI=class{constructor(t,e,n,o,s,i){this.outputShape=[],this.variableNames=[\"x\",\"mean\",\"variance\"],S.assertAndGetBroadcastShape(t,e),S.assertAndGetBroadcastShape(t,n);let a=\"0.0\";o!=null&&(S.assertAndGetBroadcastShape(t,o),this.variableNames.push(\"offset\"),a=\"getOffsetAtOutCoords()\");let u=\"1.0\";s!=null&&(S.assertAndGetBroadcastShape(t,s),this.variableNames.push(\"scale\"),u=\"getScaleAtOutCoords()\"),this.outputShape=t,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${a};\n float scale = ${u};\n float inv = scale * inversesqrt(variance + float(${i}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}};var xI=class{constructor(t,e,n,o,s,i){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=[\"x\",\"mean\",\"variance\"],S.assertAndGetBroadcastShape(t,e),S.assertAndGetBroadcastShape(t,n);let a=\"vec4(0.0)\";o!=null&&(S.assertAndGetBroadcastShape(t,o),this.variableNames.push(\"offset\"),a=\"getOffsetAtOutCoords()\");let u=\"vec4(1.0)\";s!=null&&(S.assertAndGetBroadcastShape(t,s),this.variableNames.push(\"scale\"),u=\"getScaleAtOutCoords()\"),this.outputShape=t,this.userCode=`\n void main() {\n vec4 offset = ${a};\n vec4 scale = ${u};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${i}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}};var kst=({inputs:r,backend:t,attrs:e})=>{let{x:n,mean:o,variance:s,offset:i,scale:a}=r;y.assert(o.shape.length===s.shape.length,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),y.assert(i==null||o.shape.length===i.shape.length,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),y.assert(a==null||o.shape.length===a.shape.length,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\");let{varianceEpsilon:u}=e;u==null&&(u=.001);let l=[n,o,s],c=null;i!=null&&(c=i.shape,l.push(i));let p=null;a!=null&&(p=a.shape,l.push(a));let m=L().getBool(\"WEBGL_PACK_NORMALIZATION\")?new xI(n.shape,o.shape,s.shape,c,p,u):new gI(n.shape,o.shape,s.shape,c,p,u);return t.runWebGLProgram(m,l,l[0].dtype)},$3={kernelName:ds,backendName:\"webgl\",kernelFunc:kst};var yI=class{constructor(t){this.variableNames=[\"source\"],this.outputShape=t,this.rank=t.length;let e=zt(this.rank);this.customUniforms=[{name:\"start\",arrayIndex:this.rank,type:\"int\"}];let n=Tst(this.rank),o,s=t.map((i,a)=>`sourceLoc.${R1[a]} = start[${a}] + coords.${R1[a]};`);o=`\n ${e} sourceLoc;\n ${e} coords = getOutputCoords();\n ${s.join(`\n`)}\n `,this.userCode=`\n void main() {\n ${o}\n setOutput(getSource(${n}));\n }\n `}},R1=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];function Tst(r){if(r===1)return\"sourceLoc\";if(r<=6)return R1.slice(0,r).map(t=>\"sourceLoc.\"+t).join(\",\");throw Error(`Slicing for rank ${r} is not yet supported`)}var bI=class{constructor(t){this.variableNames=[\"source\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.rank=t.length,this.customUniforms=[{name:\"start\",arrayIndex:this.rank,type:\"int\"}];let e=zt(this.rank),n=rr(\"coords\",this.rank),o=rr(\"sourceLoc\",this.rank),s=this.rank===1?\"sourceLoc\":`vec2(${o.slice(-2).join()})`,i=`getChannel(getSource(${o.join()}), ${s})`,a=`\n result.x = ${i};\n if (++${n[this.rank-1]} < ${t[this.rank-1]}) {\n ++${o[this.rank-1]};\n result.y = ${i};\n --${o[this.rank-1]};\n }\n `,u=this.rank===1?\"\":`\n --${n[this.rank-1]};\n if (++${n[this.rank-2]} < ${t[this.rank-2]}) {\n ++${o[this.rank-2]};\n result.z = ${i};\n if (++${n[this.rank-1]} < ${t[this.rank-1]}) {\n ++${o[this.rank-1]};\n result.w = ${i};\n }\n }\n `,l=this.rank<=4?`sourceLoc = coords +\n ${e}(${t.map((c,p)=>`start[${p}]`).join()});`:t.map((c,p)=>`${o[p]} = ${n[p]} + start[${p}];`).join(`\n`);this.userCode=`\n void main() {\n ${e} coords = getOutputCoords();\n ${e} sourceLoc;\n ${l}\n vec4 result = vec4(0.);\n ${a}\n ${u}\n setOutput(result);\n }\n `}};function _st(r,t,e,n){let o=n.texData.get(r.dataId),s=n.makeTensorInfo(e,r.dtype),i=n.texData.get(s.dataId);Object.assign(i,o),i.refCount=1,i.shape=e,i.dtype=r.dtype;let a=Be.computeFlatOffset(t,y.computeStrides(r.shape));o.slice&&(a+=o.slice.flatOffset),i.slice={flatOffset:a,origDataId:o.slice&&o.slice.origDataId||r.dataId};let u=n.dataRefCount.get(i.slice.origDataId)||1;return n.dataRefCount.set(i.slice.origDataId,u+1),s}function Ni(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,size:i}=n,[a,u]=Be.parseSliceParams(o,s,i);if(Be.assertParamsValid(o,a,u),y.sizeFromShape(u)===0)return e.makeTensorInfo(u,o.dtype,[]);if(e.shouldExecuteOnCPU([o])||o.dtype===\"string\"){let p=e.texData.get(o.dataId),m=Iz(p.values,a,u,o.shape,o.dtype);return e.makeTensorInfo(u,o.dtype,m)}let{isPacked:l}=e.texData.get(o.dataId),c=Be.isSliceContinous(o.shape,a,u);if(l||!c){let p=L().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new bI(u):new yI(u),m=[a];return e.runWebGLProgram(p,[o],o.dtype,m)}return e.uploadToGPU(o.dataId),_st(o,a,u,e)}var R3={kernelName:Wi,backendName:\"webgl\",kernelFunc:Ni};var Est=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,crops:i}=n;y.assert(o.shape.length<=4,()=>\"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet\");let a=s.reduce((b,w)=>b*w),u=S.getReshaped(o.shape,s,a),l=S.getPermuted(u.length,s.length),c=S.getReshapedPermuted(o.shape,s,a),p=S.getSliceBeginCoords(i,s.length),m=S.getSliceSize(c,i,s.length),f=[],d=rt({inputs:{x:o},backend:e,attrs:{shape:u}}),h=Pe({inputs:{x:d},backend:e,attrs:{perm:l}}),g=rt({inputs:{x:h},backend:e,attrs:{shape:c}}),x=Ni({inputs:{x:g},backend:e,attrs:{begin:p,size:m}});return f.push(d),f.push(h),f.push(g),f.forEach(b=>e.disposeIntermediateTensorInfo(b)),x},F3={kernelName:Ri,backendName:\"webgl\",kernelFunc:Est};function Ast(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,weights:s}=t,{size:i}=n,a=e.readSync(o.dataId),u=e.readSync(s.dataId),l=Jw(a,u,s.dtype,s.shape,i);return e.makeTensorInfo([i],s.dtype,l)}var O3={kernelName:Da,backendName:\"webgl\",kernelFunc:Ast};var Dst=`\n int r = int(a.r) & int(b.r);\n int g = int(a.g) & int(b.g);\n int rb = int(a.b) & int(b.b);\n int ra = int(a.a) & int(b.a);\n return vec4(r, g, rb, ra);\n`,$st=`\n return float(int(a.r) & int(b.r));\n`;function Rst(r){let{inputs:t,backend:e}=r,{a:n,b:o}=t,s=L().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\"),i=L().getNumber(\"WEBGL_VERSION\");if(e.shouldExecuteOnCPU([n,o])||i===1){let u=e.texData.get(n.dataId).values,l=e.texData.get(o.dataId).values,[c,p]=HL(n.shape,o.shape,u,l,n.dtype),m=e.makeTensorInfo(p,n.dtype),f=e.texData.get(m.dataId);return f.values=c,m}let a;return s?a=new jn(Dst,n.shape,o.shape,!1):a=new $n($st,n.shape,o.shape),e.runWebGLProgram(a,[n,o],n.dtype)}var M3={kernelName:$a,backendName:\"webgl\",kernelFunc:Rst};function Fst(r){let{inputs:t,backend:e}=r,{s0:n,s1:o}=t,s=e.readSync(n.dataId),i=e.readSync(o.dataId),a=S.assertAndGetBroadcastShape(Array.from(s),Array.from(i));return e.makeTensorInfo([a.length],\"int32\",Int32Array.from(a))}var P3={kernelName:ql,backendName:\"webgl\",kernelFunc:Fst};var Ost=\"return float(a != b);\",F1=ce({opSnippet:Ost,cpuKernelImpl:mz,dtype:\"bool\"}),L3={kernelName:Za,backendName:\"webgl\",kernelFunc:F1};function Pl(r){let{inputs:t,backend:e}=r,{input:n}=t,o=e.texData.get(n.dataId);return nr({inputs:{x:o.complexTensorInfos.real},backend:e})}var z3={kernelName:Vp,backendName:\"webgl\",kernelFunc:Pl};var Mst=\"return float(int(x));\";function B3(r,t){let e=new Lr(r.shape,Mst),n=t.runWebGLProgram(e,[r],\"int32\");return{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}function O1(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dtype:s}=n;if(s===\"complex64\"){if(o.dtype===\"complex64\")return nr({inputs:{x:o},backend:e});let i=ke(o.shape),a=O1({inputs:{x:o},backend:e,attrs:{dtype:\"float32\"}}),u=Rn({inputs:{real:a,imag:i},backend:e});return i.dispose(),e.disposeIntermediateTensorInfo(a),u}if(o.dtype===\"complex64\"){let i=Pl({inputs:{input:o},backend:e}),a=O1({inputs:{x:i},backend:e,attrs:{dtype:s}});return e.disposeIntermediateTensorInfo(i),a}if(!y.hasEncodingLoss(o.dtype,s)){let i=nr({inputs:{x:o},backend:e});return{dataId:i.dataId,shape:i.shape,dtype:s}}if(e.shouldExecuteOnCPU([o])){let i=e.texData.get(o.dataId).values,[a,u,l]=qL(i,o.shape,o.dtype,s);return e.makeTensorInfo(a,u,l)}if(s===\"int32\")return B3(o,e);if(s===\"bool\"){let i=e.makeTensorInfo([],\"bool\",y.getTypedArrayFromDType(\"bool\",1)),u=F1({inputs:{a:o,b:i},backend:e});return e.disposeIntermediateTensorInfo(i),u}throw new Error(`Error in Cast: failed to cast ${o.dtype} to ${s}`)}var V3={kernelName:fo,backendName:\"webgl\",kernelFunc:O1};var G3=\"return ceil(x);\",Pst=It({opSnippet:G3,packedOpSnippet:G3,cpuKernelImpl:KL}),W3={kernelName:Jo,backendName:\"webgl\",kernelFunc:Pst};var wI=class{constructor(t){this.variableNames=[\"A\"],this.customUniforms=[{name:\"minVal\",type:\"float\"},{name:\"maxVal\",type:\"float\"}],this.outputShape=t,this.userCode=`\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n `}};var II=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"minVal\",type:\"float\"},{name:\"maxVal\",type:\"float\"}],this.outputShape=t,this.userCode=`\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n `}};function Lst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{clipValueMin:s,clipValueMax:i}=n,a;L().getBool(\"WEBGL_PACK_CLIP\")?a=new II(o.shape):a=new wI(o.shape);let u=[[s],[i]];return e.runWebGLProgram(a,[o],o.dtype,u)}var U3={kernelName:ho,backendName:\"webgl\",kernelFunc:Lst};var CI=class{constructor(t){this.variableNames=[\"real\",\"imag\"],this.outputShape=t,this.userCode=`\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n `}};function H3(r,t){return{dataId:t.dataId,dtype:t.dtype,shape:r.shape}}function zst(r){let{inputs:t,backend:e}=r,{x:n}=t,o=e.texData.get(n.dataId),s=new CI(n.shape),i=[H3(n,o.complexTensorInfos.real),H3(n,o.complexTensorInfos.imag)];return e.runWebGLProgram(s,i,i[0].dtype)}var q3={kernelName:Kl,backendName:\"webgl\",kernelFunc:zst};var vI=class{constructor(t){this.outputShape=[],this.outputShape=S.computeOutShape(t,1),this.variableNames=t.map((i,a)=>`T${a}`);let e=new Array(t.length-1);e[0]=t[0][1];for(let i=1;i`T${g}`);let u=new Array(t.length-1);u[0]=t[0][e];for(let h=1;h= ${u[h-1]}) {\n return getChannel(\n getT${h}(${SI(a,l,g)}),\n vec2(${SI(c,l,g)}));\n }`}let f=u.length,d=u[u.length-1];m+=`\n return getChannel(\n getT${f}(${SI(a,l,d)}),\n vec2(${SI(c,l,d)}));`,this.userCode=`\n float getValue(${a.map(h=>\"int \"+h)}) {\n ${m}\n }\n\n void main() {\n ${s} coords = getOutputCoords();\n vec4 result = vec4(getValue(${i}), 0., 0., 0.);\n\n ${i[o-1]} = ${i[o-1]} + 1;\n if (${i[o-1]} < ${n[o-1]}) {\n result.g = getValue(${i});\n }\n\n ${i[o-2]} = ${i[o-2]} + 1;\n if (${i[o-2]} < ${n[o-2]}) {\n result.a = getValue(${i});\n }\n\n ${i[o-1]} = ${i[o-1]} - 1;\n if (${i[o-2]} < ${n[o-2]} &&\n ${i[o-1]} < ${n[o-1]}) {\n result.b = getValue(${i});\n }\n setOutput(result);\n }\n `}};function SI(r,t,e){let n=r.indexOf(t);return r.map((s,i)=>i===n?`${s} - ${e}`:s).join()}function hp(r){let{inputs:t,backend:e}=r,{input:n}=t,o=e.texData.get(n.dataId);return nr({inputs:{x:o.complexTensorInfos.imag},backend:e})}var K3={kernelName:Pp,backendName:\"webgl\",kernelFunc:hp};function Rd(r,t,e){let n=r[0].dtype;if(n===\"complex64\"){let f=r.map(b=>Pl({inputs:{input:b},backend:e})),d=r.map(b=>hp({inputs:{input:b},backend:e})),h=Rd(f,t,e),g=Rd(d,t,e),x=Rn({inputs:{real:h,imag:g},backend:e});return f.forEach(b=>e.disposeIntermediateTensorInfo(b)),d.forEach(b=>e.disposeIntermediateTensorInfo(b)),e.disposeIntermediateTensorInfo(h),e.disposeIntermediateTensorInfo(g),x}let o=e.shouldExecuteOnCPU(r);if(n===\"string\"&&(o=!0),o){let f=r.map(I=>{let E=[-1,y.sizeFromShape(I.shape.slice(t))];return rt({inputs:{x:I},backend:e,attrs:{shape:E}})}),d=f.map(I=>({vals:e.readSync(I.dataId),shape:I.shape})),h=S.computeOutShape(f.map(I=>I.shape),1),g=f[0].shape[0]===1,x=jL(d,h,n,g),b=S.computeOutShape(r.map(I=>I.shape),t),w=e.makeTensorInfo(b,n,x);return f.forEach(I=>e.disposeIntermediateTensorInfo(I)),w}let s=r.filter(f=>y.sizeFromShape(f.shape)>0),i=L().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")&&s[0].shape.length>1;if(s.length===1){let f=i?new Lr(r[0].shape,Ia):new Dn(r[0].shape,Ia);return e.runWebGLProgram(f,r,n)}let a=L().getNumber(\"WEBGL_MAX_TEXTURES_IN_SHADER\");if(s.length>a){let f=[];for(let h=0;hd.shape),t);return e.runWebGLProgram(f,s,n)}let{tensors2D:u,outShape:l}=Bst(s,t,e),c=new vI(u.map(f=>f.shape)),p=e.runWebGLProgram(c,u,n);u.forEach(f=>e.disposeIntermediateTensorInfo(f));let m=rt({inputs:{x:p},attrs:{shape:l},backend:e});return e.disposeIntermediateTensorInfo(p),m}function Bst(r,t,e){let n=S.computeOutShape(r.map(s=>s.shape),t);return{tensors2D:r.map(s=>rt({inputs:{x:s},attrs:{shape:[-1,y.sizeFromShape(s.shape.slice(t))]},backend:e})),outShape:n}}function M1(r){let{inputs:t,backend:e,attrs:n}=r,{axis:o}=n,s=y.parseAxisParam(o,t[0].shape)[0],i=t.map(l=>l.shape);S.assertParamsConsistent(i,s);let a=S.computeOutShape(t.map(l=>l.shape),s);if(y.sizeFromShape(a)===0)return e.makeTensorInfo(a,t[0].dtype,[]);let u=t.filter(l=>y.sizeFromShape(l.shape)>0);return u.length===1?nr({inputs:{x:u[0]},backend:e}):Rd(u,s,e)}var j3={kernelName:Fi,backendName:\"webgl\",kernelFunc:M1};var Fd=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.outputShape=t.outShape;let i=t.padInfo.top,a=t.padInfo.left,u=t.strideHeight,l=t.strideWidth,c=t.dilationHeight,p=t.dilationWidth,m=t.filterHeight,f=t.filterWidth,d=Math.floor(t.inChannels/4)*4,h=t.inChannels%4,g=t.dataFormat===\"channelsLast\",x=g?1:2,b=g?2:3,w=g?3:1,I=\"\",N=\"\";n&&(o?I=`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?I=`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:I=`\n float activation(float x) {\n ${n}\n }\n `,N=\"result = activation(result);\");let E=e?\"result += getBiasAtOutCoords();\":\"\";e&&this.variableNames.push(\"bias\"),o&&this.variableNames.push(\"preluActivationWeights\"),s&&this.variableNames.push(\"leakyreluAlpha\"),this.userCode=`\n ${I}\n\n const ivec2 strides = ivec2(${u}, ${l});\n const ivec2 pads = ivec2(${i}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${w}];\n\n ivec2 xRCCorner =\n ivec2(coords[${x}], coords[${b}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${m}; wR++) {\n int xR = xRCorner + wR * ${c};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f}; wC++) {\n int xC = xCCorner + wC * ${p};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${d}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${g}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${h===1}) {\n\n if (${g}) {\n dotProd +=\n getX(batch, xR, xC, ${d}) *\n getW(wR, wC, ${d}, d2);\n } else {\n dotProd +=\n getX(batch, ${d}, xR, xC) *\n getW(wR, wC, ${d}, d2);\n }\n\n } else if (${h===2}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${d}, d2),\n getW(wR, wC, ${d} + 1, d2)\n );\n\n if (${g}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${d}),\n getX(batch, xR, xC, ${d} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${d}, xR, xC),\n getX(batch, ${d} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${h===3}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${d}, d2),\n getW(wR, wC, ${d} + 1, d2),\n getW(wR, wC, ${d} + 2, d2)\n );\n\n if (${g}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${d}),\n getX(batch, xR, xC, ${d} + 1),\n getX(batch, xR, xC, ${d} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${d}, xR, xC),\n getX(batch, ${d} + 1, xR, xC),\n getX(batch, ${d} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${E}\n ${N}\n setOutput(result);\n }\n `}},kI=class{constructor(t){this.variableNames=[\"x\",\"W\"],this.outputShape=t.outShape;let e=t.padInfo.front,n=t.padInfo.top,o=t.padInfo.left,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,u=t.dilationDepth,l=t.dilationHeight,c=t.dilationWidth,p=t.filterDepth,m=t.filterHeight,f=t.filterWidth,d=Math.floor(t.inChannels/4)*4,h=t.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${s}, ${i}, ${a});\n const ivec3 pads = ivec3(${e}, ${n}, ${o});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${p}; wF++) {\n int xF = xFCorner + wF * ${u};\n\n if (xF < 0 || xF >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${m}; wR++) {\n int xR = xRCorner + wR * ${l};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${d}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${h===1}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${d}) *\n getW(wF, wR, wC, ${d}, d2);\n } else if (${h===2}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${d}),\n getX(batch, xF, xR, xC, ${d} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${d}, d2),\n getW(wF, wR, wC, ${d} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${h===3}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${d}),\n getX(batch, xF, xR, xC, ${d} + 1),\n getX(batch, xF, xR, xC, ${d} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${d}, d2),\n getW(wF, wR, wC, ${d} + 1, d2),\n getW(wF, wR, wC, ${d} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}};var Od=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=t.outShape,this.enableShapeUniforms=he(this.outputShape.length);let i=t.padInfo.left,a=t.strideWidth,u=t.dilationWidth,l=t.filterHeight,c=t.filterWidth,p=c,m=`\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;`;for(let g=0;g=0 && xR < inDims[0]) {\n `;for(let g=0;g<(p+1)/2;g++){let x=g*2;if(m+=`\n xC = xCCorner + ${x*u};\n `,a===1){if(x= 0 && xCOffset < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n `,u===1&&x>0?m+=`\n xC${x} = vec4(xTexelC${x-2}.zw, xTexelC${x}.xy);\n `:m+=`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${x} = vec4(previous.zw, xTexelC${x}.xy);\n } else {\n xC${x} = vec4(0.0, 0.0, xTexelC${x}.xy);\n }\n `):m+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n xC${x} = xTexelC${x};\n `,x+1= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n `,u>1?m+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${x+1} = vec4(previous.zw, xTexelC${x+1}.xy);\n } else {\n xC${x+1} = vec4(0.0, 0.0, xTexelC${x+1}.xy);\n }\n `:m+=`\n xC${x+1} = vec4(xTexelC${x}.zw, xTexelC${x+1}.xy);\n `):b===1?m+=`\n xC${x+1} = xTexelC${x};\n `:m+=`\n xCOffset = xC + ${b};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x+1} = xTexelC${x+1};\n `}}else x= 0 && xCOffset < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x} = vec4(xTexelC${x}.zw, xTexelC${x+1}.zw);\n `,x+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${x+1} = vec4(xTexelC${x+1}.xy, final.xy);\n `)):(m+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x} = vec4(\n xTexelC${x}.xy, xTexelC${x+1}.xy);\n `,x+1= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${a}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${s}) {\n innerDims = vec2(d1, ch);\n result[${c*2+p}] = getChannel(\n getA(rc.x, d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${c*2+p}] = getChannel(\n getA(rc.x, ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${l}\n\n ${o.output} = result;\n }\n `}};function _I(r,t){let e=r.length;return e>=3?t?[...r.slice(0,-3),r[e-3]*r[e-2],r[e-1]]:[...r.slice(0,-3),r[e-3],r[e-2]*r[e-1]]:!t&&e===1&&r[0]>1?[r[0],1]:null}function EI({x:r,filter:t,convInfo:e,backend:n,bias:o=null,preluActivationWeights:s=null,leakyreluAlpha:i=0,activation:a=null}){let u=r.shape,l=n.texData.get(r.dataId),c=e.inChannels,p=u[0]*u[1]*u[2],m=e.outChannels,f=e.dataFormat===\"channelsLast\",d=!1,h=!1,g,x=[];if(s!=null){let I=_I(s.shape,f);I!=null&&(s=rt({inputs:{x:s},backend:n,attrs:{shape:I}}),x.push(s))}if(o!=null){let I=_I(o.shape,f);I!=null&&(o=rt({inputs:{x:o},backend:n,attrs:{shape:I}}),x.push(o))}if(!((p===1||m===1)&&c>$1)&&l.isPacked&&f&&l.texture!=null&&u[2]%2!==0&&y.arraysEqual(l.shape.slice(-3),u.slice(-3))){let I=u[0]*u[1]*(u[2]+1),N={dataId:r.dataId,shape:[1,I,e.inChannels],dtype:r.dtype},E=l.shape;l.shape=l.shape.slice(),l.shape[l.shape.length-2]++,y.assert(Uu(l.shape,N.shape),()=>`packed reshape ${l.shape} to ${N.shape} isn't free`);let A=rt({inputs:{x:t},backend:n,attrs:{shape:[1,e.inChannels,e.outChannels]}});x.push(A);let D=dp({a:N,b:A,backend:n,transposeA:d,transposeB:h,bias:o,activation:a,preluActivationWeights:s,leakyreluAlpha:i}),F=n.texData.get(D.dataId);y.assert(F.isPacked,()=>\"batchMatMul result is expected to be packed\"),l.shape=E,F.shape=e.outShape,g=nr({inputs:{x:D},backend:n}),g.shape=e.outShape,x.push(D)}else{let I=e.outHeight*e.outWidth,N=rt({inputs:{x:r},backend:n,attrs:{shape:f?[e.batchSize,I,e.inChannels]:[e.batchSize,e.inChannels,I]}}),E=rt({inputs:{x:t},backend:n,attrs:{shape:[1,e.inChannels,e.outChannels]}}),A=dp({a:f?N:E,b:f?E:N,transposeA:!f,transposeB:h,backend:n,bias:o,activation:a,preluActivationWeights:s,leakyreluAlpha:i});g=rt({inputs:{x:A},backend:n,attrs:{shape:e.outShape}}),x.push(N),x.push(E),x.push(A)}for(let I of x)n.disposeIntermediateTensorInfo(I);return g}function AI({x:r,filter:t,convInfo:e,backend:n,bias:o=null,preluActivationWeights:s=null,leakyreluAlpha:i=0,activation:a=null}){let{filterWidth:u,filterHeight:l,inChannels:c,outWidth:p,outHeight:m,dataFormat:f}=e,d=f===\"channelsLast\",h=u*l*c,g=m*p,x=[e.batchSize,h,g],b=!0,w=!1,I=[];if(s!=null){let Z=_I(s.shape,d);Z!=null&&(s=rt({inputs:{x:s},backend:n,attrs:{shape:Z}}),I.push(s))}if(o!=null){let Z=_I(o.shape,d);Z!=null&&(o=rt({inputs:{x:o},backend:n,attrs:{shape:Z}}),I.push(o))}let N=rt({inputs:{x:t},backend:n,attrs:{shape:[1,h,y.sizeFromShape(t.shape)/h]}});I.push(N);let E=new TI(x,e),A=[r.shape,[e.padInfo.top,e.padInfo.left],[e.strideHeight,e.strideWidth],[e.dilationHeight,e.dilationWidth],[e.inChannels],[e.filterWidth*e.inChannels],[e.outWidth]],D=n.runWebGLProgram(E,[r],\"float32\",A),F=rt({inputs:{x:D},backend:n,attrs:{shape:x}});I.push(D),I.push(F);let M=o!=null,V=s!=null,G=a===\"leakyrelu\",W=a?Ml(a,!0):null,q=new $d(d?F.shape:N.shape,d?N.shape:F.shape,d?[e.batchSize,g,e.outChannels]:[e.batchSize,e.outChannels,g],b,w,M,W,V,G),H=d?[F,N]:[N,F];if(o&&H.push(o),V&&H.push(s),G){let Z=n.makeTensorInfo([],\"float32\",y.createScalarValue(i,\"float32\"));H.push(Z),I.push(Z)}let K=n.runWebGLProgram(q,H,\"float32\"),Y=rt({inputs:{x:K},backend:n,attrs:{shape:e.outShape}});I.push(K);for(let Z of I)n.disposeIntermediateTensorInfo(Z);return Y}function Vst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dataFormat:u,dilations:l,dimRoundingMode:c}=n,p=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(o.shape,s.shape,i,l,a,c,!1,p),f;if(m.filterHeight===1&&m.filterWidth===1&&m.dilationHeight===1&&m.dilationWidth===1&&m.strideHeight===1&&m.strideWidth===1&&(m.padInfo.type===\"SAME\"||m.padInfo.type===\"VALID\"))f=EI({x:o,filter:s,convInfo:m,backend:e});else if(m.strideWidth<=2&&p===\"channelsLast\"&&L().getBool(\"WEBGL_EXP_CONV\")){let h=new Od(m),g=[[m.padInfo.top,m.padInfo.left],[m.strideHeight,m.strideWidth],[m.dilationHeight,m.dilationWidth],[m.inHeight,m.inWidth]];f=e.runWebGLProgram(h,[o,s],\"float32\",g)}else if(L().getBool(\"WEBGL_CONV_IM2COL\"))f=AI({x:o,filter:s,convInfo:m,backend:e});else{let h=new Fd(m);f=e.runWebGLProgram(h,[o,s],\"float32\")}let d=rt({inputs:{x:f},backend:e,attrs:{shape:m.outShape}});return e.disposeIntermediateTensorInfo(f),d}var X3={kernelName:Qo,backendName:\"webgl\",kernelFunc:Vst};var DI=class{constructor(t){this.variableNames=[\"x\",\"dy\"],this.outputShape=t.filterShape;let e=t.strideHeight,n=t.strideWidth,o=t.padInfo.top,s=t.padInfo.left,i=t.dataFormat===\"channelsLast\";this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${e} - ${o};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n ${i?`float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);`:`float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);`}\n }\n }\n }\n setOutput(dotProd);\n }\n `}},$I=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.outputShape=t.inShape;let e=t.filterHeight,n=t.filterWidth,o=t.strideHeight,s=t.strideWidth,i=t.dataFormat===\"channelsLast\",a=e-1-t.padInfo.top,u=n-1-t.padInfo.left,l=i?1:2,c=i?2:3,p=i?3:1;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${u});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${p}];\n\n ivec2 dyCorner = ivec2(coords[${l}], coords[${c}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${t.outChannels}; d2++) {\n\n if (${i}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}},RI=class{constructor(t){this.variableNames=[\"x\",\"dy\"],this.outputShape=t.filterShape;let e=t.strideDepth,n=t.strideHeight,o=t.strideWidth,s=t.padInfo.front,i=t.padInfo.top,a=t.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yF = 0; yF < ${t.outDepth}; yF++) {\n int xF = wF + yF * ${e} - ${s};\n\n if (xF < 0 || xF >= ${t.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${n} - ${i};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${o} - ${a};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}},FI=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.outputShape=t.inShape;let e=t.filterDepth,n=t.filterHeight,o=t.filterWidth,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,u=e-1-t.padInfo.front,l=n-1-t.padInfo.top,c=o-1-t.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${u}, ${l}, ${c});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${e}; wF++) {\n float dyF = float(dyFCorner + wF) / ${s}.0;\n\n if (dyF < 0.0 || dyF >= ${t.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${e} - 1 - wF;\n\n for (int wR = 0; wR < ${n}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${n} - 1 - wR;\n\n for (int wC = 0; wC < ${o}; wC++) {\n float dyC = float(dyCCorner + wC) / ${a}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${o} - 1 - wC;\n\n for (int d2 = 0; d2 < ${t.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function Gst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,dy:s}=t,{strides:i,pad:a,dataFormat:u,dimRoundingMode:l,filterShape:c}=n,p=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(o.shape,c,i,1,a,l,!1,p),f=new DI(m);return e.runWebGLProgram(f,[o,s],\"float32\")}var Y3={kernelName:Dp,backendName:\"webgl\",kernelFunc:Gst};var OI=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"strides\",type:\"vec2\"}],this.outputShape=t.inShape,this.enableShapeUniforms=he(this.outputShape.length);let e=t.filterHeight,n=t.filterWidth,o=e-1-t.padInfo.top,s=n-1-t.padInfo.left;this.userCode=`\n const ivec2 pads = ivec2(${o}, ${s});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n\n ivec2 dyCorner = ivec2(coords[1], coords[2]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n vec4 result = vec4(0.);\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / strides[0];\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n int wCPerm = ${n} - 1 - wC;\n\n float dyC = float(dyCCorner + wC) / strides[1];\n bool idyCVal = (dyC >= 0.0) && (dyC < ${t.outWidth}.0)\n && (fract(dyC) == 0.0);\n int idyC = int(dyC);\n\n float dyC2 = float(dyCCorner + wC + 1) / strides[1];\n bool idyCVal2 = (dyC2 >= 0.0) && (dyC2 < ${t.outWidth}.0)\n && (fract(dyC2) == 0.0);\n int idyC2 = int(dyC2);\n\n if (idyCVal && idyCVal2) {\n for (int d2 = 0; d2 < ${t.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC, d2);\n vec4 dySample2 = (idyC / 2 == idyC2 / 2) ?\n dySample : getDy(batch, idyR, idyC2, d2);\n\n vec2 dyValue = mod(float(idyC), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.xy += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n\n dyValue = mod(float(idyC2), 2.) == 0. ?\n dySample2.xy : dySample2.zw;\n result.zw += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n } else if (idyCVal) {\n for (int d2 = 0; d2 < ${t.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC, d2);\n vec2 dyValue = mod(float(idyC), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.xy += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n } else if (idyCVal2) {\n for (int d2 = 0; d2 < ${t.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC2, d2);\n vec2 dyValue = mod(float(idyC2), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.zw += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n }\n }\n }\n setOutput(result);\n }\n `}};function Wst(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,filter:s}=t,{inputShape:i,strides:a,pad:u,dataFormat:l,dimRoundingMode:c}=n,p=S.convertConv2DDataFormat(l),m=S.computeConv2DInfo(i,s.shape,a,1,u,c,!1,p);if(L().getBool(\"WEBGL_PACK_CONV2DTRANSPOSE\")&&p===\"channelsLast\"){let f=[[m.strideHeight,m.strideWidth]],d=new OI(m);return e.runWebGLProgram(d,[o,s],\"float32\",f)}else{let f=new $I(m);return e.runWebGLProgram(f,[o,s],\"float32\")}}var Z3={kernelName:ts,backendName:\"webgl\",kernelFunc:Wst};function Ust(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dilations:u}=n,l=S.computeConv3DInfo(o.shape,s.shape,i,u,a),c=new kI(l);return e.runWebGLProgram(c,[o,s],\"float32\")}var J3={kernelName:es,backendName:\"webgl\",kernelFunc:Ust};function Hst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,dy:s}=t,{strides:i,pad:a,filterShape:u}=n,l=S.computeConv3DInfo(o.shape,u,i,1,a),c=new RI(l);return e.runWebGLProgram(c,[o,s],\"float32\")}var Q3={kernelName:Ra,backendName:\"webgl\",kernelFunc:Hst};function qst(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,filter:s}=t,{pad:i,strides:a,inputShape:u}=n,l=S.computeConv3DInfo(u,s.shape,a,1,i),c=new FI(l);return e.runWebGLProgram(c,[o,s],\"float32\")}var tB={kernelName:Fa,backendName:\"webgl\",kernelFunc:qst};var Kst=Po+`\n return cos(x);\n`,jst=`\n vec4 result = cos(x);\n bvec4 isNaN = isnan(x);\n ${Xn}\n return result;\n`,Xst=It({opSnippet:Kst,packedOpSnippet:jst}),eB={kernelName:rs,backendName:\"webgl\",kernelFunc:Xst};var Yst=`\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n`,Zst=It({opSnippet:Yst}),rB={kernelName:ns,backendName:\"webgl\",kernelFunc:Zst};var MI=class{constructor(t,e,n,o,s){this.variableNames=[\"Image\",\"Boxes\",\"BoxInd\"],this.outputShape=[];let[i,a,u,l]=t,[c]=e,[p,m]=n;this.outputShape=[c,p,m,l];let f=o===\"bilinear\"?1:0,[d,h]=[`${a-1}.0`,`${u-1}.0`],[g,x,b]=p>1?[`${(a-1)/(p-1)}`,\"(y2-y1) * height_ratio\",`y1*${d} + float(y)*(height_scale)`]:[\"0.0\",\"0.0\",`0.5 * (y1+y2) * ${d}`],[w,I,N]=m>1?[`${(u-1)/(m-1)}`,\"(x2-x1) * width_ratio\",`x1*${h} + float(x)*(width_scale)`]:[\"0.0\",\"0.0\",`0.5 * (x1+x2) * ${h}`];this.userCode=`\n const float height_ratio = float(${g});\n const float width_ratio = float(${w});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${i}) {\n return;\n }\n\n float height_scale = ${x};\n float width_scale = ${I};\n\n float in_y = ${b};\n if( in_y < 0.0 || in_y > ${d} ) {\n setOutput(float(${s}));\n return;\n }\n float in_x = ${N};\n if( in_x < 0.0 || in_x > ${h} ) {\n setOutput(float(${s}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${f} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}};var Jst=r=>{let{inputs:t,backend:e,attrs:n}=r,{image:o,boxes:s,boxInd:i}=t,{cropSize:a,method:u,extrapolationValue:l}=n,c=new MI(o.shape,s.shape,a,u,l);return e.runWebGLProgram(c,[o,s,i],\"float32\")},nB={kernelName:Ma,backendName:\"webgl\",kernelFunc:Jst};var gp;(function(r){r.Prod=\"*\",r.Sum=\"+\"})(gp||(gp={}));var fg=class{constructor(t,e,n,o){this.op=t,this.outputShape=e,this.variableNames=[\"x\"],this.customUniforms=[{name:\"index\",type:\"float\"}];let s=this.outputShape.length,i=this.op===gp.Prod?\"1.0\":\"0.0\",a=n?i:`getX(${oB(s,\"coords\",this.op)})`,u=this.outputShape[this.outputShape.length-1],l=\"\",c=\"\";n?(l=o?`end != ${u-1}`:\"end != 0\",c=o?\"end + 1\":\"end - 1\"):(l=o?`end + pow2 < ${u}`:\"end >= pow2\",c=o?\"end + pow2\":\"end - pow2\"),this.userCode=`\n void main() {\n ${zt(s)} coords = getOutputCoords();\n int end = ${sB(s,\"coords\",this.op)};\n float val = ${a};\n int pow2 = int(pow(2.0, index));\n if (${l}) {\n int idx = ${c};\n ${sB(s,\"coords\",this.op)} = idx;\n val ${this.op}= getX(${oB(s,\"coords\",this.op)});\n }\n setOutput(val);\n }\n `}};function oB(r,t,e){if(r===1)return`${t}`;if(r===2)return`${t}.x, ${t}.y`;if(r===3)return`${t}.x, ${t}.y, ${t}.z`;if(r===4)return`${t}.x, ${t}.y, ${t}.z, ${t}.w`;throw new Error(`Cumulative ${e} for rank ${r} is not yet supported`)}function sB(r,t,e){if(r===1)return`${t}`;if(r===2)return`${t}.y`;if(r===3)return`${t}.z`;if(r===4)return`${t}.w`;throw new Error(`Cumulative ${e} for rank ${r} is not yet supported`)}function PI(r,t,e,n,o,s){let i=t.shape.length,a=S.getAxesPermutation([n],i),u=t;a!=null&&(u=Pe({inputs:{x:t},backend:e,attrs:{perm:a}}));let l=S.getInnerMostAxes(1,i)[0];if(l!==i-1)throw new Error(`WebGL cumprod shader expects an inner-most axis=${t.shape.length-1} but got axis=${n}`);let c=u.shape[l],p=nr({inputs:{x:u},backend:e});for(let m=0;m<=Math.ceil(Math.log2(c))-1;m++){let f=new fg(r,u.shape,!1,s),d=[[m]],h=p;p=e.runWebGLProgram(f,[p],p.dtype,d),e.disposeIntermediateTensorInfo(h)}if(o){let m=new fg(r,u.shape,o,s),f=p;p=e.runWebGLProgram(m,[p],p.dtype),e.disposeIntermediateTensorInfo(f)}if(a!=null){let m=S.getUndoAxesPermutation(a),f=Pe({inputs:{x:p},backend:e,attrs:{perm:m}});return e.disposeIntermediateTensorInfo(p),e.disposeIntermediateTensorInfo(u),f}return p}function Qst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,exclusive:i,reverse:a}=n;return PI(gp.Prod,o,e,s,i,a)}var iB={kernelName:Oa,backendName:\"webgl\",kernelFunc:Qst};function tit(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,exclusive:i,reverse:a}=n;return PI(gp.Sum,o,e,s,i,a)}var aB={kernelName:os,backendName:\"webgl\",kernelFunc:tit};function eit(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,weights:s}=t,{size:i,binaryOutput:a}=n;if(o.shape.length===1){let u=e.readSync(o.dataId),l=e.readSync(s.dataId),c=Jw(u,l,s.dtype,s.shape,i);return e.makeTensorInfo([i],s.dtype,c)}else if(o.shape.length===2){let u=e.bufferSync(o),l=e.bufferSync(s),c=UL(u,l,i,a);return e.makeTensorInfo(c.shape,s.dtype,c.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${o.shape.length}.`)}var lB={kernelName:jl,backendName:\"webgl\",kernelFunc:eit};var LI=class{constructor(t,e,n){this.variableNames=[\"x\"],this.outputShape=[],this.outputShape=t,this.blockSize=e,this.dataFormat=n,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${e};\n int offset_h = imod(h, ${e});\n int in_w = w / ${e};\n int offset_w = imod(w, ${e});\n int offset_d = (offset_h * ${e} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}getHeightCoordString(){return this.dataFormat===\"NHWC\"?\"coords[1]\":\"coords[2]\"}getWidthCoordString(){return this.dataFormat===\"NHWC\"?\"coords[2]\":\"coords[3]\"}getDepthCoordString(){return this.dataFormat===\"NHWC\"?\"coords[3]\":\"coords[1]\"}getOutputDepthSize(){return this.dataFormat===\"NHWC\"?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return this.dataFormat===\"NHWC\"?\"getX(b, in_h, in_w, in_d)\":\"getX(b, in_d, in_h, in_w)\"}};function rit(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockSize:s,dataFormat:i}=n,a=o.shape[0],u=i===\"NHWC\"?o.shape[1]:o.shape[2],l=i===\"NHWC\"?o.shape[2]:o.shape[3],c=i===\"NHWC\"?o.shape[3]:o.shape[1],p=u*s,m=l*s,f=c/(s*s),d=i===\"NHWC\"?[a,p,m,f]:[a,f,p,m],h=new LI(d,s,i);return e.runWebGLProgram(h,[o],o.dtype)}var uB={kernelName:Pa,backendName:\"webgl\",kernelFunc:rit};var Md=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=t.outShape,this.enableShapeUniforms=he(this.outputShape.length);let i=t.filterHeight,a=t.filterWidth,u=t.outChannels/t.inChannels,l=\"\",c=\"\";n&&(o?l=`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?l=`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:l=`\n float activation(float x) {\n ${n}\n }\n `,c=\"result = activation(result);\");let p=e?\"result += getBiasAtOutCoords();\":\"\";e&&this.variableNames.push(\"bias\"),o&&this.variableNames.push(\"preluActivationWeights\"),s&&this.variableNames.push(\"leakyreluAlpha\"),this.userCode=`\n ${l}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${u};\n int q = d2 - d1 * ${u};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${i}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${a}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${p}\n ${c}\n setOutput(result);\n }\n `}};var Pd=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=t.outShape,this.enableShapeUniforms=he(this.outputShape.length);let i=t.outChannels/t.inChannels,a=t.padInfo.left,u=t.strideWidth,l=t.dilationWidth,c=t.filterHeight,p=t.filterWidth,m=p,f=`\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;`;for(let x=0;x=0 && xR < inDims[0]) {\n `;for(let x=0;x<(m+1)/2;x++){let b=x*2;if(f+=`\n xC = xCCorner + ${b*l};\n `,u===1){if(b= 0 && xCOffset < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n `,l===1&&b>0?f+=`\n xC${b} = vec4(xTexelC${b-2}.zw, xTexelC${b}.xy);\n `:f+=`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${b} = vec4(previous.zw, xTexelC${b}.xy);\n } else {\n xC${b} = vec4(0.0, 0.0, xTexelC${b}.xy);\n }\n `):f+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n xC${b} = xTexelC${b};\n `,b+1= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n `,l>1?f+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${b+1} = vec4(previous.zw, xTexelC${b+1}.xy);\n } else {\n xC${b+1} = vec4(0.0, 0.0, xTexelC${b+1}.xy);\n }\n `:f+=`\n xC${b+1} = vec4(xTexelC${b}.zw, xTexelC${b+1}.xy);\n `):w===1?f+=`\n xC${b+1} = xTexelC${b};\n `:f+=`\n xCOffset = xC + ${w};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b+1} = xTexelC${b+1};\n `}}else b= 0 && xCOffset < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b} = vec4(xTexelC${b}.zw, xTexelC${b+1}.zw);\n `,b+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${b+1} = vec4(xTexelC${b+1}.xy, final.xy);\n `)):(f+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b} = vec4(\n xTexelC${b}.xy, xTexelC${b+1}.xy);\n `,b+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${c}'`);let p=S.computeConv2DInfo(o.shape,s.shape,i,c,a,l,!0),m;L().getBool(\"WEBGL_PACK_DEPTHWISECONV\")&&p.strideWidth<=2&&p.outChannels/p.inChannels===1?m=new Pd(p):m=new Md(p);let f=[[p.padInfo.top,p.padInfo.left],[p.strideHeight,p.strideWidth],[p.dilationHeight,p.dilationWidth],[p.inHeight,p.inWidth]];return e.runWebGLProgram(m,[o,s],\"float32\",f)}var cB={kernelName:ss,backendName:\"webgl\",kernelFunc:nit};var zI=class{constructor(t){this.variableNames=[\"x\",\"dy\"],this.outputShape=t.filterShape;let e=t.strideHeight,n=t.strideWidth,o=t.padInfo.top,s=t.padInfo.left,i=t.outChannels/t.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${i} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${e} - ${o};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}},BI=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.outputShape=t.inShape;let e=t.filterHeight,n=t.filterWidth,o=t.strideHeight,s=t.strideWidth,i=e-1-t.padInfo.top,a=n-1-t.padInfo.left,u=t.outChannels/t.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${u}; dm++) {\n int d2 = d1 * ${u} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function oit(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,dy:s}=t,{strides:i,dilations:a,pad:u,dimRoundingMode:l,filterShape:c}=n,p=S.computeConv2DInfo(o.shape,c,i,a,u,l,!0),m=new zI(p);return e.runWebGLProgram(m,[o,s],\"float32\")}var pB={kernelName:$p,backendName:\"webgl\",kernelFunc:oit};function sit(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,filter:s}=t,{strides:i,dilations:a,pad:u,dimRoundingMode:l,inputShape:c}=n,p=S.computeConv2DInfo(c,s.shape,i,a,u,l,!0),m=new BI(p);return e.runWebGLProgram(m,[o,s],\"float32\")}var mB={kernelName:Rp,backendName:\"webgl\",kernelFunc:sit};var VI=class{constructor(t){this.variableNames=[\"X\"],this.outputShape=[t,t],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n `}};function iit(r){let{inputs:t,backend:e}=r,{x:n}=t,o=[...n.shape,...n.shape],s=y.sizeFromShape(n.shape),i=rt({inputs:{x:n},backend:e,attrs:{shape:[s]}}),a=new VI(s),u=e.runWebGLProgram(a,[i],i.dtype),l=rt({inputs:{x:u},backend:e,attrs:{shape:o}});return e.disposeIntermediateTensorInfo(i),e.disposeIntermediateTensorInfo(u),l}var fB={kernelName:Xl,backendName:\"webgl\",kernelFunc:iit};var GI=class{constructor(t){this.variableNames=[\"x\",\"W\"],this.outputShape=t.outShape;let{inHeight:e,inWidth:n,padInfo:o,strideHeight:s,strideWidth:i,filterHeight:a,filterWidth:u,dilationHeight:l,dilationWidth:c}=t,{top:p,left:m}=o;this.userCode=`\n const ivec2 strides = ivec2(${s}, ${i});\n const ivec2 pads = ivec2(${p}, ${m});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${a}; h++) {\n int hIn = hBeg + h * ${l};\n\n if (hIn >= 0 && hIn < ${e}) {\n for (int w = 0; w < ${u}; w++) {\n int wIn = wBeg + w * ${c};\n\n if (wIn >= 0 && wIn < ${n}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}};function ait(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dilations:u}=n,l=S.computeDilation2DInfo(o.shape,s.shape,i,a,\"NHWC\",u),c,p=new GI(l);c=e.runWebGLProgram(p,[o,s],\"float32\");let m=rt({inputs:{x:c},backend:e,attrs:{shape:l.outShape}});return e.disposeIntermediateTensorInfo(c),m}var dB={kernelName:is,backendName:\"webgl\",kernelFunc:ait};function lit(r){let{inputs:t,backend:e,attrs:n}=r,{equation:o}=n,s=t,{allDims:i,summedDims:a,idDims:u}=S.decodeEinsumEquation(o,s.length);S.checkEinsumDimSizes(i.length,u,s);let{path:l,steps:c}=S.getEinsumComputePath(a,u),p=c.length,m=null,f=i.length,d=[];for(let h=0;h=0&&(m=fp({inputs:{x:m},backend:e,attrs:{axis:l[h]-(i.length-f),keepDims:!1}}),d.push(m)),f--)}for(let h of d)h!==m&&e.disposeIntermediateTensorInfo(h);return m}var hB={kernelName:Fp,backendName:\"webgl\",kernelFunc:lit};var uit=\"return (x >= 0.0) ? x : (exp(x) - 1.0);\",cit=`\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n`,pit=It({opSnippet:uit,packedOpSnippet:cit}),gB={kernelName:ls,backendName:\"webgl\",kernelFunc:pit};var mit=\"return (b >= 0.0) ? a : a * (b + 1.0);\",fit=`\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n`,dit=r=>{let{inputs:t,backend:e}=r,{dy:n,y:o}=t,s=L().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new jn(fit,n.shape,o.shape):new $n(mit,n.shape,o.shape);return e.runWebGLProgram(s,[n,o],n.dtype)},xB={kernelName:La,backendName:\"webgl\",kernelFunc:dit};var hit=`\n return vec4(equal(a, b));\n`,git=\"return float(a == b);\",xit=ce({opSnippet:git,packedOpSnippet:hit,dtype:\"bool\",cpuKernelImpl:XL}),yB={kernelName:za,backendName:\"webgl\",kernelFunc:xit};var yit=`\n // Error function is calculated approximately with elementary function.\n // See \"Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables\", Abramowitz and Stegun.\n float p = ${S.ERF_P};\n float a1 = ${S.ERF_A1};\n float a2 = ${S.ERF_A2};\n float a3 = ${S.ERF_A3};\n float a4 = ${S.ERF_A4};\n float a5 = ${S.ERF_A5};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`,bit=It({opSnippet:yit}),bB={kernelName:us,backendName:\"webgl\",kernelFunc:bit};var wit=Po+`\n return exp(x);\n`,Iit=`\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,P1=It({opSnippet:wit,packedOpSnippet:Iit,cpuKernelImpl:YL,dtype:\"float32\"}),wB={kernelName:cs,backendName:\"webgl\",kernelFunc:P1};function WI(r){let{inputs:t,attrs:e,backend:n}=r,{dim:o}=e,{input:s}=t,i=s.shape.length,a=s.shape.slice(),u=o;return o<0&&(y.assert(-(i+1)<=o,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+o+1),a.splice(u,0,1),rt({inputs:{x:s},backend:n,attrs:{shape:a}})}var IB={kernelName:Oi,backendName:\"webgl\",kernelFunc:WI};var CB=\"return exp(x) - 1.0;\",Cit=It({opSnippet:CB,packedOpSnippet:CB,cpuKernelImpl:ZL}),vB={kernelName:ps,backendName:\"webgl\",kernelFunc:Cit};var dg=class{constructor(t,e,n){this.variableNames=[\"real\",\"imag\"];let o=e[1];this.outputShape=e;let s=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,i=n?`${o}.0`:\"1.0\",a;if(t===\"real\")a=\"return real * expR - imag * expI;\";else if(t===\"imag\")a=\"return real * expI + imag * expR;\";else throw new Error(`FFT component must be either \"real\" or \"imag\", got ${t}.`);this.userCode=`\n const float exponentMultiplier = ${s};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${a}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${o});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${o}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${i};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}};function UI(r,t,e){let n=e.texData.get(r.dataId),o=y.sizeFromShape(r.shape),s=r.shape[r.shape.length-1],i=o/s,a=rt({inputs:{x:r},backend:e,attrs:{shape:[i,s]}}),u=a.shape,l=new dg(\"real\",u,t),c=new dg(\"imag\",u,t),p=[{dataId:n.complexTensorInfos.real.dataId,dtype:n.complexTensorInfos.real.dtype,shape:u},{dataId:n.complexTensorInfos.imag.dataId,dtype:n.complexTensorInfos.imag.dtype,shape:u}],m=e.runWebGLProgram(l,p,\"float32\"),f=e.runWebGLProgram(c,p,\"float32\"),d=Rn({inputs:{real:m,imag:f},backend:e});e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f);let h=rt({inputs:{x:d},backend:e,attrs:{shape:r.shape}});return e.disposeIntermediateTensorInfo(a),e.disposeIntermediateTensorInfo(d),h}function vit(r){let{inputs:t,backend:e}=r,{input:n}=t;return UI(n,!1,e)}var SB={kernelName:Op,backendName:\"webgl\",kernelFunc:vit};var HI=class{constructor(t,e){this.outputShape=[],this.customUniforms=[{name:\"value\",type:\"float\"}],this.variableNames=[\"x\"],this.outputShape=t,this.userCode=`\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n `}};function Ll(r){let{backend:t,attrs:e}=r,{shape:n,value:o}=e,{dtype:s}=e;if(s=s||y.inferDtype(o),s===\"string\"){let i=y.getArrayFromDType(s,y.sizeFromShape(n));return i.fill(o),t.makeTensorInfo(n,s,i)}else{let i=new HI(n,o),a=[[o]];return t.runWebGLProgram(i,[],s,a)}}var NB={kernelName:Jl,backendName:\"webgl\",kernelFunc:Ll};var qI=class{constructor(t){this.variableNames=[\"Image\"],this.outputShape=[];let e=t[2];this.outputShape=t,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${e} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${e}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}};var kB={kernelName:Ba,backendName:\"webgl\",kernelFunc:({inputs:r,backend:t})=>{let{image:e}=r,n=t,o=new qI(e.shape);return n.runWebGLProgram(o,[e],e.dtype)}};var TB=\"return floor(x);\",Sit=It({opSnippet:TB,packedOpSnippet:TB,cpuKernelImpl:JL}),_B={kernelName:ms,backendName:\"webgl\",kernelFunc:Sit};var Nit=`\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n`,kit=`\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n`,Tit=ce({opSnippet:Nit,packedOpSnippet:kit,dtype:\"int32\"}),EB={kernelName:fs,backendName:\"webgl\",kernelFunc:Tit};var KI=class{constructor(t){this.variableNames=[\"A\"];let e=Ue(),[n,o]=t;this.outputShape=t,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${o}.0, ${n}.0);\n\n vec4 values = ${e.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}};var jI=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0;let e=Ue(),[n,o]=t;this.outputShape=t,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${o}.0, ${n}.0);\n vec4 values = ${e.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${e.output} = result;\n }\n `}};var AB={kernelName:Qd,backendName:\"webgl\",kernelFunc:_it},Ld,L1=L().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");function _it(r){let{inputs:t,backend:e,attrs:n}=r,{pixels:o}=t,{numChannels:s}=n,i=typeof HTMLVideoElement!=\"undefined\"&&o instanceof HTMLVideoElement,a=typeof HTMLImageElement!=\"undefined\"&&o instanceof HTMLImageElement,[u,l]=i?[o.videoWidth,o.videoHeight]:[o.width,o.height],c=[l,u],p=[l,u,s];if(a||i){let h=L().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");(Ld==null||h!==L1)&&(L1=h,Ld=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:L1})),Ld.canvas.width=u,Ld.canvas.height=l,Ld.drawImage(o,0,0,u,l),o=Ld.canvas}let m=e.makeTensorInfo(c,\"int32\");e.texData.get(m.dataId).usage=Yr.PIXELS,e.gpgpu.uploadPixelDataToTexture(e.getTexture(m.dataId),o);let f=L().getBool(\"WEBGL_PACK\")?new jI(p):new KI(p),d=e.runWebGLProgram(f,[m],\"int32\");return e.disposeData(m.dataId),d}function Eit(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dataFormat:c,dilations:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=n,h=S.convertConv2DDataFormat(c),g=S.computeConv2DInfo(o.shape,s.shape,u,p,l,m,!1,h),x,b=[],w=i!=null,I=a!=null,N=f===\"leakyrelu\",E=()=>{let D=[o,s],F=(M,V)=>{if(V===\"NCHW\"&&M.shape.length===1&&M.shape[0]!==1){let G=rt({inputs:{x:M},backend:e,attrs:{shape:[M.shape[0],1,1]}});return b.push(G),G}return M};if(w&&D.push(F(i,c)),I&&D.push(F(a,c)),N){let M=e.makeTensorInfo([],\"float32\",y.createScalarValue(d,\"float32\"));D.push(M),b.push(M)}return D};if(g.filterHeight===1&&g.filterWidth===1&&g.dilationHeight===1&&g.dilationWidth===1&&g.strideHeight===1&&g.strideWidth===1&&(g.padInfo.type===\"SAME\"||g.padInfo.type===\"VALID\"))x=EI({x:o,filter:s,convInfo:g,backend:e,bias:i,activation:f,preluActivationWeights:a,leakyreluAlpha:d});else if(g.strideWidth<=2&&h===\"channelsLast\"&&L().getBool(\"WEBGL_EXP_CONV\")){let D=f?Ml(f,!0):null,F=new Od(g,w,D,I,N),M=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],V=E();x=e.runWebGLProgram(F,V,\"float32\",M)}else if(L().getBool(\"WEBGL_CONV_IM2COL\"))x=AI({x:o,filter:s,convInfo:g,backend:e,bias:i,activation:f,preluActivationWeights:a,leakyreluAlpha:d});else{let D=f?Ml(f,!1):null,F=new Fd(g,w,D,I,N),M=E();x=e.runWebGLProgram(F,M,\"float32\")}let A=rt({inputs:{x},backend:e,attrs:{shape:g.outShape}});return b.push(x),b.forEach(D=>e.disposeIntermediateTensorInfo(D)),A}var DB={kernelName:Xi,backendName:\"webgl\",kernelFunc:Eit};function Ait(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dilations:c,dimRoundingMode:p,activation:m,leakyreluAlpha:f}=n,d=[],h=c;h==null&&(h=[1,1]),y.assert(S.eitherStridesOrDilationsAreOne(u,h),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${u} and dilations '${h}'`);let g=S.computeConv2DInfo(o.shape,s.shape,u,h,l,p,!0),x=L().getBool(\"WEBGL_PACK_DEPTHWISECONV\")&&g.strideWidth<=2&&g.outChannels/g.inChannels===1,b=m?Ml(m,x):null,w=[o,s],I=i!=null,N=a!=null,E=m===\"leakyrelu\";if(I&&w.push(i),N&&w.push(a),E){let M=e.makeTensorInfo([],\"float32\",y.createScalarValue(f,\"float32\"));w.push(M),d.push(M)}let A;x?A=new Pd(g,I,b,N,E):A=new Md(g,I,b,N,E);let D=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],F=e.runWebGLProgram(A,w,\"float32\",D);return d.forEach(M=>e.disposeIntermediateTensorInfo(M)),F}var $B={kernelName:Yi,backendName:\"webgl\",kernelFunc:Ait};var XI=class{constructor(t,e,n,o){this.sliceDim=t,this.strides=e,this.paramsShape=o,this.variableNames=[\"x\",\"indices\"],this.outputShape=n;let s=zt(n.length),i=`\n int index;`;for(let a=0;a= ${this.paramsShape[a]};\n flattenIndex += index * ${this.strides[a]};`;this.userCode=`\n void main() {\n ${s} coords = getOutputCoords();\n int flattenIndex = 0;\n bool out_of_bounds = false;\n\n ${i}\n\n setOutput(out_of_bounds ? 0.0 : getX(flattenIndex, coords[1]));\n }\n `}};function Dit(r){let{inputs:t,backend:e}=r,{params:n,indices:o}=t,s=o.shape,i=s[s.length-1],a=y.sizeFromShape(n.shape),[u,l,c,p]=S.prepareAndValidate(n,o),m=rt({inputs:{x:o},backend:e,attrs:{shape:[l,i]}}),f=rt({inputs:{x:n},backend:e,attrs:{shape:[y.sizeFromShape(n.shape)/c,c]}});if(e.shouldExecuteOnCPU([n,o])||n.dtype===\"string\"){let x=e.readSync(o.dataId),b=e.bufferSync(n),w=QL(x,b,n.dtype,l,i,c,p,n.shape,a);return e.makeTensorInfo(u,n.dtype,w.values)}let d=new XI(i,p,[l,c],n.shape),h=e.runWebGLProgram(d,[f,m],f.dtype),g=rt({inputs:{x:h},backend:e,attrs:{shape:u}});return e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(h),g}var RB={kernelName:Va,backendName:\"webgl\",kernelFunc:Dit};var YI=class{constructor(t,e){this.variableNames=[\"A\",\"indices\"],this.outputShape=e,this.rank=e.length;let n=zt(this.rank),o=$it(t,2);this.userCode=`\n void main() {\n ${n} resRC = getOutputCoords();\n int index = int(getIndices(resRC.x, resRC.z));\n float inBounds = (index >= 0) && (index < ${t[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${o}));\n }\n `}};function $it(r,t){let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],n=[];for(let o=0;o=0,()=>`GatherV2: the index value ${N} is not in [0, ${w-1}]`)}}let l=S.segment_util.collectGatherOpShapeInfo(o,s,u,a),c=y.sizeFromShape(s.shape),p=[],m=rt({inputs:{x:o},backend:e,attrs:{shape:[l.batchSize,l.outerSize,l.dimSize,l.sliceSize]}}),f=rt({inputs:{x:s},backend:e,attrs:{shape:[l.batchSize,c/l.batchSize]}});p.push(m),p.push(f);let d=[l.batchSize,l.outerSize,c/l.batchSize,l.sliceSize];if(e.shouldExecuteOnCPU([o,s])||o.dtype===\"string\"){let b=e.bufferSync(f),w=e.bufferSync(m),I=tz(w,b,d);return p.forEach(N=>e.disposeIntermediateTensorInfo(N)),e.makeTensorInfo(l.outputShape,I.dtype,I.values)}let h=new YI(m.shape,d),g=e.runWebGLProgram(h,[m,f],m.dtype);p.push(g);let x=rt({inputs:{x:g},backend:e,attrs:{shape:l.outputShape}});return p.forEach(b=>e.disposeIntermediateTensorInfo(b)),x}var FB={kernelName:Mi,backendName:\"webgl\",kernelFunc:z1};var Rit=\"return float(a > b);\",Fit=`\n return vec4(greaterThan(a, b));\n`,Oit=ce({opSnippet:Rit,packedOpSnippet:Fit,cpuKernelImpl:ez,dtype:\"bool\"}),OB={kernelName:Ga,backendName:\"webgl\",kernelFunc:Oit};var Mit=\"return float(a >= b);\",Pit=`\n return vec4(greaterThanEqual(a, b));\n`,Lit=ce({opSnippet:Mit,packedOpSnippet:Pit,dtype:\"bool\",cpuKernelImpl:rz}),MB={kernelName:hs,backendName:\"webgl\",kernelFunc:Lit};function zit(r){let{inputs:t,backend:e}=r,{input:n}=t;return UI(n,!0,e)}var PB={kernelName:Mp,backendName:\"webgl\",kernelFunc:zit};var Bit=\"return float(!isnan(x) && !isinf(x));\",Vit=It({opSnippet:Bit,dtype:\"bool\"}),LB={kernelName:gs,backendName:\"webgl\",kernelFunc:Vit};var Git=\"return float(isinf(x));\",Wit=It({opSnippet:Git,dtype:\"bool\"}),zB={kernelName:xs,backendName:\"webgl\",kernelFunc:Wit};var Uit=\"return float(isnan(x));\",Hit=It({opSnippet:Uit,dtype:\"bool\"}),BB={kernelName:ys,backendName:\"webgl\",kernelFunc:Hit};var qit=\"return float(a < b);\",Kit=`\n return vec4(lessThan(a, b));\n`,jit=ce({opSnippet:qit,packedOpSnippet:Kit,cpuKernelImpl:nz,dtype:\"bool\"}),VB={kernelName:Wa,backendName:\"webgl\",kernelFunc:jit};var Xit=\"return float(a <= b);\",Yit=`\n return vec4(lessThanEqual(a, b));\n`,Zit=ce({opSnippet:Xit,packedOpSnippet:Yit,cpuKernelImpl:oz,dtype:\"bool\"}),GB={kernelName:Ua,backendName:\"webgl\",kernelFunc:Zit};function Jit(r){let{backend:t,attrs:e}=r,{start:n,stop:o,num:s}=e,i=sz(n,o,s);return t.makeTensorInfo([i.length],\"float32\",i)}var WB={kernelName:Ha,backendName:\"webgl\",kernelFunc:Jit};var Qit=Po+`\n return x < 0.0 ? 0./0. : log(x);\n`,tat=`\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n`,eat=It({opSnippet:Qit,packedOpSnippet:tat,cpuKernelImpl:iz}),UB={kernelName:ws,backendName:\"webgl\",kernelFunc:eat};var rat=Po+`\n return log(1.0 + x);\n`,nat=It({opSnippet:rat}),HB={kernelName:Is,backendName:\"webgl\",kernelFunc:nat};var oat=\"return float(a >= 1.0 && b >= 1.0);\",sat=`\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n`,iat=ce({opSnippet:oat,packedOpSnippet:sat,dtype:\"bool\"}),qB={kernelName:qa,backendName:\"webgl\",kernelFunc:iat};var aat=\"return float(!(x >= 1.0));\",lat=It({opSnippet:aat}),KB={kernelName:Ka,backendName:\"webgl\",kernelFunc:lat};var uat=\"return float(a >= 1.0 || b >= 1.0);\",cat=`\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n`,pat=ce({opSnippet:uat,packedOpSnippet:cat,dtype:\"bool\"}),jB={kernelName:ja,backendName:\"webgl\",kernelFunc:pat};var ZI=class{constructor(t,e,n,o,s){this.variableNames=[\"x\"],this.outputShape=[];let i=e,a=t[3]-1;this.outputShape=t;let u,l=`float(${n}) + float(${o}) * sum`;s===.5?u=`inversesqrt(${l})`:s===1?u=`1.0/(${l})`:u=`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${i}; j <= ${i}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${a}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${u};\n setOutput(val);\n }\n `}};var JI=class{constructor(t,e,n,o,s){this.variableNames=[\"x\"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;let i=e,a=t[3]-1;this.outputShape=t;let u,l=`float(${n}) + float(${o}) * sum`;s===.5?u=`inversesqrt(${l})`:s===1?u=`1.0/(${l})`:u=`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${i};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${i}; j <= ${i}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${a}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${u};\n setOutput(result);\n }\n `}};var mat=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{depthRadius:s,bias:i,alpha:a,beta:u}=n,l=L().getBool(\"WEBGL_PACK_NORMALIZATION\")?new JI(o.shape,s,i,a,u):new ZI(o.shape,s,i,a,u);return e.runWebGLProgram(l,[o],o.dtype)},XB={kernelName:Cs,backendName:\"webgl\",kernelFunc:mat};var QI=class{constructor(t,e,n,o,s){this.variableNames=[\"inputImage\",\"outputImage\",\"dy\"],this.outputShape=[],this.outputShape=t,this.depth=t[3],this.depthRadius=e,this.bias=n,this.alpha=o,this.beta=s,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${e})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${e} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${o}) * norm + float(${n});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${o})\n * float(${s})\n * getInputImage(b, r, c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${s});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}};var fat=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o,y:s,dy:i}=t,{depthRadius:a,bias:u,alpha:l,beta:c}=n,p=new QI(o.shape,a,u,l,c);return e.runWebGLProgram(p,[o,s,i],o.dtype)},YB={kernelName:Xa,backendName:\"webgl\",kernelFunc:fat};function ZB(r,t,e,n){let o=y.sizeFromShape(t),i=y.sizeFromShape(r.shape)/o,a=rt({inputs:{x:r},attrs:{shape:[i,o]},backend:n}),u=Yn(a,r.dtype,\"max\",n),l=rt({inputs:{x:u},attrs:{shape:e},backend:n});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(u),l}function B1(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{reductionIndices:s,keepDims:i}=n,a=o.shape.length,u=y.parseAxisParam(s,o.shape),l=u,c=S.getAxesPermutation(l,a),p=c!=null,m=e.shouldExecuteOnCPU([o]),f=o;if(p){if(m){let w=e.texData.get(f.dataId).values,I=new Array(a);for(let A=0;A`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return nr({inputs:{x:o},backend:e});let p=new Si(c,\"max\",!1);return e.runWebGLProgram(p,[o],o.dtype)}var tV={kernelName:Ns,backendName:\"webgl\",kernelFunc:xat};function yat(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dataFormat:u,dimRoundingMode:l}=n,c=[1,1,1],p=S.computePool3DInfo(o.shape,s,i,c,a,l,u),m=new qu(p,\"max\",!1);return e.runWebGLProgram(m,[o],o.dtype)}var eV={kernelName:Pi,backendName:\"webgl\",kernelFunc:yat};var tC=class{constructor(t){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=t.inShape;let e=t.strideHeight,n=t.strideWidth,o=t.dilationHeight,s=t.effectiveFilterHeight,i=t.effectiveFilterWidth,a=s-1-t.padInfo.top,u=i-1-t.padInfo.left,l=s*i-1;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${u});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${s};\n wR += ${o}) {\n float dyR = float(dyRCorner + wR) / ${e}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${i}; wC++) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${l} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${i} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}},eC=class{constructor(t){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=t.inShape;let e=t.strideDepth,n=t.strideHeight,o=t.strideWidth,s=t.dilationDepth,i=t.dilationHeight,a=t.dilationWidth,u=t.effectiveFilterDepth,l=t.effectiveFilterHeight,c=t.effectiveFilterWidth,p=u-1-t.padInfo.front,m=l-1-t.padInfo.top,f=c-1-t.padInfo.left,d=u*l*c-1;this.userCode=`\n const ivec3 pads = ivec3(${p}, ${m}, ${f});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${u};\n wD += ${s}) {\n float dyD = float(dyDCorner + wD) / ${e}.0;\n\n if (dyD < 0.0 || dyD >= ${t.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${l};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${c};\n wC += ${a}) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${d} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${l} * ${c} +\n wR * ${c} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function bat(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s,{filterSize:a,strides:u,pad:l,dimRoundingMode:c}=n,p=[1,1,1],m=S.computePool3DInfo(i.shape,a,u,p,l,c),f=new qu(m,\"max\",!0),d=e.runWebGLProgram(f,[i],i.dtype),h=new eC(m),g=e.runWebGLProgram(h,[o,d],i.dtype);return e.disposeIntermediateTensorInfo(d),g}var rV={kernelName:tu,backendName:\"webgl\",kernelFunc:bat};function wat(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s,output:i}=t,a=s;Ci([s,i],\"maxPoolGrad\");let{filterSize:u,strides:l,pad:c,dimRoundingMode:p}=n,m=S.computePool2DInfo(a.shape,u,l,1,c,p),f=!0,d=new Si(m,\"max\",f),h=e.runWebGLProgram(d,[a],a.dtype),g=new tC(m),x=e.runWebGLProgram(g,[o,h],a.dtype);return e.disposeIntermediateTensorInfo(h),x}var nV={kernelName:Ql,backendName:\"webgl\",kernelFunc:wat};function oV(r,t,e,n){let o=new Si(e,\"max\",!1),s=n.runWebGLProgram(o,[r],\"float32\");o=new Si(e,\"max\",!0,!0,t);let i=n.runWebGLProgram(o,[r],\"float32\");return[s,i]}var sV={kernelName:eu,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{x:n}=r,{filterSize:o,strides:s,pad:i,includeBatchInIndex:a}=t,u=e;y.assert(n.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${n.shape.length}.`);let l=[1,1];y.assert(S.eitherStridesOrDilationsAreOne(s,l),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${s} and dilations '${l}'`);let c=S.computePool2DInfo(n.shape,o,s,l,i),[p,m]=oV(n,a,c,u);return[p,m]}};function iV(r,t,e,n){let o=y.sizeFromShape(t),i=y.sizeFromShape(r.shape)/o,a=rt({inputs:{x:r},attrs:{shape:[i,o]},backend:n}),u=Yn(a,\"float32\",\"mean\",n),l=rt({inputs:{x:u},attrs:{shape:e},backend:n});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(u),l}var aV={kernelName:ks,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{x:n}=r,{keepDims:o,axis:s}=t,i=e,a=n.shape.length,u=y.parseAxisParam(s,n.shape),l=u,c=S.getAxesPermutation(l,a),p=c!=null,m=i.shouldExecuteOnCPU([n]),f=[],d=n;if(p){if(m){let I=i.texData.get(d.dataId).values,N=new Array(a);for(let D=0;Dc[0]+t[p]+c[1]);let o=t.length,s=zt(o),i=e.map(c=>c[0]).join(\",\"),a=e.map((c,p)=>c[0]+t[p]).join(\",\"),u=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,o),l=n===\"reflect\"?0:1;if(o===1){this.userCode=`\n int start = ${i};\n int end = ${a};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${l};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${l};\n }\n setOutput(getX(outC - start));\n }\n `;return}this.userCode=`\n ${s} start = ${s}(${i});\n ${s} end = ${s}(${a});\n\n void main() {\n ${s} outC = getOutputCoords();\n for (int i = 0; i < ${o}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${l};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${l};\n }\n }\n ${s} coords = outC - start;\n setOutput(getX(${u}));\n }\n `}};var nC=class{constructor(t,e,n){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e.map((d,h)=>d[0]+t[h]+d[1]);let o=t.length,s=zt(o),i=e.map(d=>d[0]).join(\",\"),a=e.map((d,h)=>d[0]+t[h]).join(\",\"),u=rr(\"rc\",o),l=rr(\"source\",o),c=`${u[o-1]} < ${this.outputShape[o-1]}`,p=o===1?\"source\":`vec2(${l.slice(-2).join()})`,m=n===\"reflect\"?0:1,f=\"\";if(o===1){let d=`\n ${s} source = rc;\n if (source < start) {\n source = start * 2 - source - ${m};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${m};\n }\n source -= start;\n `;f=`\n ${s} rc = outputLoc;\n ${d}\n result[0] = getChannel(getX(${l.join()}), ${p});\n ${u[o-1]} += 1;\n if(${c}) {\n ${d}\n result[1] = getChannel(getX(${l.join()}), ${p});\n }\n `}else{let d=`\n ${s} source = rc;\n ${s} lt = ${s}(lessThan(source, start));\n ${s} gte = ${s}(greaterThanEqual(source, end));\n ${s} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${m}) +\n gte * ((end - 1) * 2 - source + ${m});\n source -= start;\n `;f=`\n ${s} rc = outputLoc;\n ${d}\n result[0] = getChannel(getX(${l.join()}), ${p});\n ${u[o-1]} += 1;\n if(${c}) {\n ${d}\n result[1] = getChannel(getX(${l.join()}), ${p});\n }\n rc = outputLoc;\n ${u[o-2]} += 1;\n if(${u[o-2]} < ${this.outputShape[o-2]}) {\n ${d}\n result[2] = getChannel(getX(${l.join()}), ${p});\n ${u[o-1]} += 1;\n if(${c}) {\n ${d}\n result[3] = getChannel(getX(${l.join()}), ${p});\n }\n }\n `}this.userCode=`\n const ${s} start = ${s}(${i});\n const ${s} end = ${s}(${a});\n\n void main() {\n ${s} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${f}\n setOutput(result);\n }\n `}};var Nat=({inputs:r,backend:t,attrs:e})=>{let{x:n}=r,{paddings:o,mode:s}=e,i=L().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new nC(n.shape,o,s):new rC(n.shape,o,s);return t.runWebGLProgram(i,[n],n.dtype)},cV={kernelName:Es,backendName:\"webgl\",kernelFunc:Nat};var kat=`if (b == 0.0) return NAN;\n return mod(a, b);`,Tat=`\n vec4 result = mod(a, b);\n bvec4 isNaN = equal(b, vec4(0.0));\n `+Xn+`\n return result;\n`,_at=ce({opSnippet:kat,packedOpSnippet:Tat}),pV={kernelName:As,backendName:\"webgl\",kernelFunc:_at};var oC=class{constructor(t,e,n){this.variableNames=[\"probs\"],this.customUniforms=[{name:\"seed\",type:\"float\"}],this.outputShape=[t,n],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${e-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${e-1}));\n }\n `}};var Eat=`\nif (a == b) {\n return 1.0;\n};\nreturn a / b;`,Aat=`\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n`,V1=ce({opSnippet:Eat,packedOpSnippet:Aat,checkOutOfBounds:!0}),mV={kernelName:as,backendName:\"webgl\",kernelFunc:V1};var fV=\"return a - b;\",G1=ce({opSnippet:fV,packedOpSnippet:fV,supportsComplex:!0,cpuKernelImpl:Az}),dV={kernelName:ei,backendName:\"webgl\",kernelFunc:G1};function W1(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{dim:s}=n,i=y.parseAxisParam([s],o.shape),a=B1({inputs:{x:o},backend:e,attrs:{reductionIndices:i,keepDims:!1}}),u=S.expandShapeToKeepDim(a.shape,i),l=rt({inputs:{x:a},backend:e,attrs:{shape:u}}),c=G1({inputs:{a:o,b:l},backend:e}),p=P1({inputs:{x:c},backend:e}),m=fp({inputs:{x:p},backend:e,attrs:{axis:i,keepDims:!1}}),f=rt({inputs:{x:m},backend:e,attrs:{shape:u}}),d=V1({inputs:{a:p,b:f},backend:e});return e.disposeIntermediateTensorInfo(a),e.disposeIntermediateTensorInfo(l),e.disposeIntermediateTensorInfo(c),e.disposeIntermediateTensorInfo(p),e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f),d}var hV={kernelName:Qs,backendName:\"webgl\",kernelFunc:W1};function Dat(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{numSamples:s,seed:i,normalized:a}=n,u=a?o:W1({inputs:{logits:o},backend:e,attrs:{dim:o.shape.length-1}}),l=u.shape[0],c=u.shape[1],p=new oC(l,c,s),m=[[i]],f=e.runWebGLProgram(p,[u],\"int32\",m);return a||e.disposeIntermediateTensorInfo(u),f}var gV={kernelName:Ya,backendName:\"webgl\",kernelFunc:Dat};var $at=xr+`\n return -x;\n`,Rat=`\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`;function Fat(r){let{inputs:t,backend:e}=r,{x:n}=t;if(e.shouldExecuteOnCPU([n])){let s=e.texData.get(n.dataId),[i,a]=pz(s.values,n.shape,n.dtype);return e.makeTensorInfo(a,n.dtype,i)}let o;return L().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")?o=new Dn(n.shape,Rat):o=new Lr(n.shape,$at),e.runWebGLProgram(o,[n],n.dtype)}var xV={kernelName:Li,backendName:\"webgl\",kernelFunc:Fat};var Oat=Kr.nonMaxSuppressionV3Impl;function Mat(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:t,backend:e,attrs:n}=r,{boxes:o,scores:s}=t,{maxOutputSize:i,iouThreshold:a,scoreThreshold:u}=n,l=e.readSync(o.dataId),c=e.readSync(s.dataId),{selectedIndices:p}=Oat(l,c,i,a,u);return e.makeTensorInfo([p.length],\"int32\",new Int32Array(p))}var yV={kernelName:Ja,backendName:\"webgl\",kernelFunc:Mat};var Pat=Kr.nonMaxSuppressionV4Impl;function Lat(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:t,backend:e,attrs:n}=r,{boxes:o,scores:s}=t,{maxOutputSize:i,iouThreshold:a,scoreThreshold:u,padToMaxOutputSize:l}=n,c=e.readSync(o.dataId),p=e.readSync(s.dataId),{selectedIndices:m,validOutputs:f}=Pat(c,p,i,a,u,l);return[e.makeTensorInfo([m.length],\"int32\",new Int32Array(m)),e.makeTensorInfo([],\"int32\",new Int32Array([f]))]}var bV={kernelName:Qa,backendName:\"webgl\",kernelFunc:Lat};var zat=Kr.nonMaxSuppressionV5Impl;function Bat(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:t,backend:e,attrs:n}=r,{boxes:o,scores:s}=t,{maxOutputSize:i,iouThreshold:a,scoreThreshold:u,softNmsSigma:l}=n,c=e.readSync(o.dataId),p=e.readSync(s.dataId),m=i,f=a,d=u,h=l,{selectedIndices:g,selectedScores:x}=zat(c,p,m,f,d,h);return[e.makeTensorInfo([g.length],\"int32\",new Int32Array(g)),e.makeTensorInfo([x.length],\"float32\",new Float32Array(x))]}var wV={kernelName:tl,backendName:\"webgl\",kernelFunc:Bat};var sC=class{constructor(t,e,n,o){this.variableNames=[\"indices\"],this.outputShape=[t,e],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${o}), float(${n}),\n float(index == coords.y)));\n }\n `}};var Vat=r=>{let{inputs:t,backend:e,attrs:n}=r,{indices:o}=t,{dtype:s,depth:i,onValue:a,offValue:u}=n,l=y.sizeFromShape(o.shape),c=new sC(l,i,a,u),p=rt({inputs:{x:o},backend:e,attrs:{shape:[l]}}),m=e.runWebGLProgram(c,[p],s);e.disposeIntermediateTensorInfo(p);let f=[...o.shape,i],d=rt({inputs:{x:m},backend:e,attrs:{shape:f}});return e.disposeIntermediateTensorInfo(m),d},IV={kernelName:$s,backendName:\"webgl\",kernelFunc:Vat};function hg(r){let{inputs:t,backend:e}=r,{x:n}=t;if(n.dtype===\"complex64\"){let o=Pl({inputs:{input:n},backend:e}),s=hg({inputs:{x:o},backend:e}),i=hp({inputs:{input:n},backend:e}),a=hg({inputs:{x:i},backend:e}),u=Rn({inputs:{real:s,imag:a},backend:e});return e.disposeIntermediateTensorInfo(o),e.disposeIntermediateTensorInfo(s),e.disposeIntermediateTensorInfo(i),e.disposeIntermediateTensorInfo(a),u}else return Ll({attrs:{shape:n.shape,dtype:n.dtype,value:n.dtype===\"string\"?\"\":0},backend:e})}var CV={kernelName:Ki,backendName:\"webgl\",kernelFunc:hg};function vV(r){let{inputs:t,backend:e}=r,{x:n}=t;if(n.dtype===\"string\")throw new Error(\"onesLike is not supported under string dtype\");if(n.dtype===\"complex64\"){let o=Pl({inputs:{input:n},backend:e}),s=vV({inputs:{x:o},backend:e}),i=hp({inputs:{input:n},backend:e}),a=hg({inputs:{x:i},backend:e}),u=Rn({inputs:{real:s,imag:a},backend:e});return e.disposeIntermediateTensorInfo(o),e.disposeIntermediateTensorInfo(s),e.disposeIntermediateTensorInfo(i),e.disposeIntermediateTensorInfo(a),u}else return Ll({attrs:{shape:n.shape,dtype:n.dtype,value:1},backend:e})}var SV={kernelName:zi,backendName:\"webgl\",kernelFunc:vV};function Gat(r){let{inputs:t,backend:e,attrs:n}=r,{axis:o}=n;if(t.length===1)return WI({inputs:{input:t[0]},backend:e,attrs:{dim:o}});let s=t[0].shape,i=t[0].dtype;t.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(i===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let a=[],u=t.map(c=>{let p=WI({inputs:{input:c},backend:e,attrs:{dim:o}});return a.push(p),p}),l=M1({inputs:u,backend:e,attrs:{axis:o}});return a.forEach(c=>e.disposeIntermediateTensorInfo(c)),l}var NV={kernelName:Bi,backendName:\"webgl\",kernelFunc:Gat};var iC=class{constructor(t,e,n){this.variableNames=[\"x\"],this.customUniforms=[{name:\"value\",type:\"float\"}],this.outputShape=e.map((l,c)=>l[0]+t[c]+l[1]);let o=t.length,s=zt(o),i=e.map(l=>l[0]).join(\",\"),a=e.map((l,c)=>l[0]+t[c]).join(\",\"),u=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,o);if(o===1){this.userCode=`\n int start = ${i};\n int end = ${a};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `;return}this.userCode=`\n ${s} start = ${s}(${i});\n ${s} end = ${s}(${a});\n\n void main() {\n ${s} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${s} coords = outC - start;\n setOutput(getX(${u}));\n }\n }\n `}};var aC=class{constructor(t,e,n){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"value\",type:\"float\"}],this.outputShape=e.map((h,g)=>h[0]+t[g]+h[1]);let o=t.length,s=zt(o),i=e.map(h=>h[0]).join(\",\"),a=e.map((h,g)=>h[0]+t[g]).join(\",\"),u=rr(\"rc\",o),l=rr(\"source\",o),c=`${u[o-1]} < ${this.outputShape[o-1]}`,p=o===1?\"source\":`vec2(${l.slice(-2).join()})`,m=[`${s} rc = outputLoc;`,`${u[o-1]} += 1;\n if(${c}) {\n `,o===1?\"\":`}\n rc = outputLoc;\n ${u[o-2]} += 1;\n if(${u[o-2]} < ${this.outputShape[o-2]}) {`,o===1?\"\":` ${u[o-1]} += 1;\n if(${c}) {`],f=o===1?\"rc < start || rc >= end\":\"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))\",d=\"\";for(let h=0,g=o===1?2:4;h{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{paddings:s,constantValue:i}=n;if(y.sizeFromShape(o.shape)===0){let l=s.map((c,p)=>c[0]+o.shape[p]+c[1]);return Ll({backend:e,attrs:{shape:l,value:i,dtype:o.dtype}})}let a=L().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new aC(o.shape,s,i):new iC(o.shape,s,i),u=[[i]];return e.runWebGLProgram(a,[o],o.dtype,u)},kV={kernelName:Rs,backendName:\"webgl\",kernelFunc:U1};var Wat=`\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n`,Uat=`\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n bvec4 isNaN1 = lessThan(a, vec4(0.0));\n bvec4 isNaN2 = lessThan(floor(b), b);\n bvec4 isNaN = bvec4(isNaN1.x && isNaN2.x, isNaN1.y && isNaN2.y, isNaN1.z && isNaN2.z, isNaN1.w && isNaN2.w);\n `+Xn+`\n return result;\n`,Hat=ce({opSnippet:Wat,packedOpSnippet:Uat}),TV={kernelName:Fs,backendName:\"webgl\",kernelFunc:Hat};function qat(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=o.shape.length,u=[],l=y.parseAxisParam(s,o.shape),c=l,p=S.getAxesPermutation(c,a),m=o;p!=null&&(m=Pe({inputs:{x:o},backend:e,attrs:{perm:p}}),c=S.getInnerMostAxes(c.length,a),u.push(m)),S.assertAxesAreInnerMostDims(\"prod\",c,a);let f;if(e.shouldExecuteOnCPU([m])){let d=e.texData.get(m.dataId).values,{outVals:h,outShape:g,outDtype:x}=fz(m.shape,m.dtype,d,c);f=e.makeTensorInfo(g,x,h)}else{let[d,h]=S.computeOutAndReduceShapes(m.shape,c),g=y.sizeFromShape(h),x=rt({inputs:{x:m},backend:e,attrs:{shape:[-1,g]}}),b=lc(o.dtype),w=Yn(x,b,\"prod\",e);f=rt({inputs:{x:w},backend:e,attrs:{shape:d}}),u.push(x),u.push(w)}if(i){u.push(f);let d=S.expandShapeToKeepDim(f.shape,l);f=rt({inputs:{x:f},backend:e,attrs:{shape:d}})}return u.forEach(d=>e.disposeIntermediateTensorInfo(d)),f}var _V={kernelName:Ms,backendName:\"webgl\",kernelFunc:qat};function Kat(r){let{inputs:t,backend:e,attrs:n}=r,{paramsNestedSplits:o,paramsDenseValues:s,indices:i}=t,{outputRaggedRank:a}=n,u=o.map(x=>e.readSync(x.dataId)),l=o.map(x=>x.shape),c=e.readSync(s.dataId),p=e.readSync(i.dataId),[m,f,d]=dz(u,l,c,s.shape,s.dtype,p,i.shape,a),h=m.map(x=>e.makeTensorInfo([x.length],\"int32\",x)),g=e.makeTensorInfo(d,s.dtype,f);return h.concat([g])}var EV={kernelName:Lp,backendName:\"webgl\",kernelFunc:Kat};function jat(r){let{inputs:t,backend:e}=r,{starts:n,limits:o,deltas:s}=t,i=e.readSync(n.dataId),a=e.readSync(o.dataId),u=e.readSync(s.dataId),[l,c]=hz(i,n.shape,n.dtype,a,o.shape,u,s.shape),p=e.makeTensorInfo([l.length],\"int32\",l),m=e.makeTensorInfo([c.length],n.dtype,c);return[p,m]}var AV={kernelName:zp,backendName:\"webgl\",kernelFunc:jat};function Xat(r){let{inputs:t,backend:e,attrs:n}=r,{shape:o,values:s,defaultValue:i,rowPartitionTensors:a}=t,{rowPartitionTypes:u}=n,l=e.readSync(o.dataId),c=e.readSync(s.dataId),p=e.readSync(i.dataId),m=a.map(g=>e.readSync(g.dataId)),f=a.map(g=>g.shape),[d,h]=gz(l,o.shape,c,s.shape,s.dtype,p,i.shape,m,f,u);return e.makeTensorInfo(d,s.dtype,h)}var DV={kernelName:Bp,backendName:\"webgl\",kernelFunc:Xat};var H1=r=>{let{backend:t,attrs:e}=r,{start:n,stop:o,step:s,dtype:i}=e,a=xz(n,o,s,i);return t.makeTensorInfo([a.length],i,a)},$V={kernelName:ru,backendName:\"webgl\",kernelFunc:H1};var Yat=\"return 1.0 / x;\",Zat=It({opSnippet:Yat}),RV={kernelName:Ps,backendName:\"webgl\",kernelFunc:Zat};var Jat=xr+`\n return (x < 0.0) ? 0.0 : x;\n`,Qat=`\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,tlt=It({opSnippet:Jat,packedOpSnippet:Qat}),FV={kernelName:Ls,backendName:\"webgl\",kernelFunc:tlt};var elt=xr+`\n return (x < 0.0) ? 0.0 : min(6.0, x);\n`,rlt=`\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,nlt=It({opSnippet:elt,packedOpSnippet:rlt}),OV={kernelName:Vs,backendName:\"webgl\",kernelFunc:nlt};var lC=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m;s?m=\"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)\":m=\"vec2(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${c[0]/p[0]},\n ${c[1]/p[1]});\n const vec2 inputShapeRC = vec2(${a}.0, ${u}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${m};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}};var uC=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m;s?m=\"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)\":m=\"vec3(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${c[0]/p[0]},\n ${c[1]/p[1]},\n ${c[1]/p[1]});\n const vec3 inputShapeRC = vec3(${a}.0, ${u}.0,\n ${u}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${m};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}};function olt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,c=L().getBool(\"WEBGL_PACK_IMAGE_OPERATIONS\")?new uC(o.shape,u,l,s,i):new lC(o.shape,u,l,s,i);return e.runWebGLProgram(c,[o],\"float32\")}var MV={kernelName:Bs,backendName:\"webgl\",kernelFunc:olt};var cC=class{constructor(t,e,n){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=e;let[,o,s]=e,[,i,a]=t,u=[n&&i>1?o-1:o,n&&a>1?s-1:s],l=[n&&i>1?i-1:i,n&&a>1?a-1:a],c=u[0]/l[0],p=u[1]/l[1],m=1/c,f=1/p,d=Math.ceil(m)*2+2,h=Math.ceil(f)*2+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${c});\n const float widthScale = float(${p});\n\n const float invHeightScale = float(${m});\n const float invWidthScale = float(${f});\n\n const int winHeight = int(${d});\n const int winWidth = int(${h});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${i}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${a}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${o-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${s-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}};function slt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o,dy:s}=t,{alignCorners:i}=n,a=new cC(s.shape,o.shape,i);return e.runWebGLProgram(a,[s],s.dtype)}var PV={kernelName:rl,backendName:\"webgl\",kernelFunc:slt};var pC=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m=o?\"0.5\":\"0.0\",f;s?f=\"max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))\":f=\"vec2(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${c[0]/p[0]},\n ${c[1]/p[1]});\n const vec2 inputShapeRC = vec2(${a}.0, ${u}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${f};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}};var mC=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m=o?\"0.5\":\"0.0\",f;s?f=\"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))\":f=\"vec3(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${c[0]/p[0]},\n ${c[1]/p[1]},\n ${c[1]/p[1]});\n const vec3 inputShapeRC = vec3(${a}.0, ${u}.0,\n ${u}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${f};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}};function ilt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,c=L().getBool(\"WEBGL_PACK_IMAGE_OPERATIONS\")?new mC(o.shape,u,l,s,i):new pC(o.shape,u,l,s,i);return e.runWebGLProgram(c,[o],o.dtype)}var LV={kernelName:zs,backendName:\"webgl\",kernelFunc:ilt};var fC=class{constructor(t,e,n){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=e;let[,o,s]=e,[,i,a]=t,u=[n&&i>1?o-1:o,n&&a>1?s-1:s],l=[n&&i>1?i-1:i,n&&a>1?a-1:a],c=u[0]/l[0],p=u[1]/l[1],m=1/c,f=1/p,d=Math.ceil(m)*2+2,h=Math.ceil(f)*2+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${c});\n const float widthScale = float(${p});\n\n const float invHeightScale = float(${m});\n const float invWidthScale = float(${f});\n\n const int winHeight = int(${d});\n const int winWidth = int(${h});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${i}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${a}) {\n continue;\n }\n\n float sourceFracRow =\n float(${u[0]}) *\n (float(dyR) / float(${l[0]}));\n\n float sourceFracCol =\n float(${u[1]}) *\n (float(dyC) / float(${l[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${o}) - 1),\n ${n} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${s}) - 1),\n ${n} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}};function alt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o,dy:s}=t,{alignCorners:i}=n,a=new fC(s.shape,o.shape,i);return e.runWebGLProgram(a,[s],s.dtype)}var zV={kernelName:el,backendName:\"webgl\",kernelFunc:alt};var dC=class{constructor(t,e){this.variableNames=[\"x\"];let n=t.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=t,n===1){this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${t[0]} - coord - 1));\n }\n `;return}let o=a=>e.indexOf(a)!==-1&&t[a]!==1?`${t[a]} - coords[${a}] - 1`:`coords[${a}]`,s=t.map((a,u)=>o(u)).join(\",\"),i=zt(n);this.userCode=`\n void main() {\n ${i} coords = getOutputCoords();\n setOutput(getX(${s}));\n }\n `}};var hC=class{constructor(t,e){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0;let n=t.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=t;let o=rr(\"rc\",n),s=`${o[n-1]} + 1 < ${this.outputShape[n-1]}`,i=`${o[n-2]} + 1 < ${this.outputShape[n-2]}`,a=zt(n);n===1?this.userCode=`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${t[0]} - rc - 1),\n ${t[0]} - rc - 1);\n if(${s}){\n result.g = getChannel(getX(${t[0]} - (rc + 1) - 1),\n ${t[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:this.userCode=`\n void main() {\n ${a} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${u(o.slice())};\n if(${s}){\n result.g = ${l(o.slice())};\n }\n if(${i}) {\n result.b = ${c(o.slice())};\n if(${s}) {\n result.a = ${p(o.slice())};\n }\n }\n setOutput(result);\n }\n `;function u(d){return m(d)}function l(d){return d[n-1]=\"(\"+d[n-1]+\" + 1)\",m(d)}function c(d){return d[n-2]=\"(\"+d[n-2]+\" + 1)\",m(d)}function p(d){return d[n-1]=\"(\"+d[n-1]+\" + 1)\",d[n-2]=\"(\"+d[n-2]+\" + 1)\",m(d)}function m(d){let h=t.map((b,w)=>f(w,d)),g=h.join(\",\"),x=h.slice(-2).join(\",\");return`getChannel(getX(${g}), vec2(${x}))`}function f(d,h){return e.indexOf(d)!==-1&&t[d]!==1?`${t[d]} - ${h[d]} - 1`:`${h[d]}`}}};function llt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dims:s}=n,i=o.shape.length,a=y.parseAxisParam(s,o.shape);if(i===0)return nr({inputs:{x:o},backend:e});let u=L().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new hC(o.shape,a):new dC(o.shape,a);return e.runWebGLProgram(u,[o],o.dtype)}var BV={kernelName:Gs,backendName:\"webgl\",kernelFunc:llt};var gC=class{constructor(t,e){this.variableNames=[\"Image\"],this.outputShape=[],this.customUniforms=[{name:\"params\",type:\"vec4\"}];let n=t[1],o=t[2];this.outputShape=t;let s=\"\";typeof e==\"number\"?s=`float outputValue = ${e.toFixed(2)};`:s=`\n vec3 fill = vec3(${e.join(\",\")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${s}\n if(coordX >= 0 && coordX < ${o} && coordY >= 0 && coordY < ${n}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}};var VV={kernelName:pl,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{image:n}=r,{radians:o,fillValue:s,center:i}=t,a=e,u=new gC(n.shape,s),[l,c]=S.getImageCenter(i,n.shape[1],n.shape[2]),p=[[l,c,Math.sin(o),Math.cos(o)]];return a.runWebGLProgram(u,[n],n.dtype,p)}};var ult=`\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n`,clt=It({opSnippet:ult}),GV={kernelName:Ws,backendName:\"webgl\",kernelFunc:clt};var plt=\"return inversesqrt(x);\",mlt=It({opSnippet:plt,cpuKernelImpl:yz}),WV={kernelName:Us,backendName:\"webgl\",kernelFunc:mlt};var Ku=class{constructor(t,e,n,o,s,i,a=!0,u=!1){this.variableNames=[\"updates\",\"indices\",\"defaultValue\"],this.outputShape=i;let l=zt(s.length),c=zt(i.length),p=\"\";n===1?p=\"i\":n===2&&(p=\"i, j\");let m=`getIndices(${p})`,f=\"\";o===1?f=\"i\":o===2&&(f=\"i, coords[1]\");let d=`getUpdates(${f})`,h=\"\";u&&(h=\"coords[0], coords[1]\");let g=`getDefaultValue(${h})`,x=e>1?\"strides[j]\":\"strides\";this.userCode=`\n ${l} strides = ${l}(${s});\n\n void main() {\n ${c} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${t}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${e}; j++) {\n int index = round(${m});\n flattenedIndex += index * ${x};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${d};\n found = true;\n }\n }\n setOutput(mix(${g}, sum, float(found)));\n }\n `}};var xC=class{constructor(t,e,n,o,s,i,a=!0,u=!1){this.variableNames=[\"updates\",\"indices\",\"defaultValue\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=i;let l=zt(s.length),c=zt(i.length),p=\"\";n===1?p=\"i\":n===2&&(p=\"i, j\");let m=`getIndices(${p})`,f=\"\";o===1?f=\"i\":o===2&&(f=\"i, coords[1]\");let d=`getUpdates(${f})`,h=\"\";u&&(h=\"coords[0], coords[1]\");let g=`getDefaultValue(${h})`,x=e>1?\"strides[j]\":\"strides\",b=e>1?\"strides[j + 1]\":\"strides\";this.userCode=`\n ${l} strides = ${l}(${s});\n\n void main() {\n ${c} coords = getOutputCoords();\n vec4 sum = vec4(0.);\n vec4 found = vec4(0.);\n for (int i = 0; i < ${t}; i+=2) {\n ivec2 flattenedIndex = ivec2(0);\n for (int j = 0; j < ${e}; j+=2) {\n ivec4 index = round(${m});\n flattenedIndex += index.xz * ${x};\n if (j + 1 < ${e}) {\n flattenedIndex += index.yw * ${b};\n }\n }\n if (flattenedIndex[0] == coords[0] || flattenedIndex[1] == coords[0] ||\n flattenedIndex[0] == coords[0] + 1 || flattenedIndex[1] == coords[0] + 1) {\n vec4 updVals = ${d};\n if (flattenedIndex[0] == coords[0]) {\n sum.xy += updVals.xy;\n found.xy = vec2(1.);\n } else if (flattenedIndex[0] == coords[0] + 1) {\n sum.zw += updVals.xy;\n found.zw = vec2(1.);\n }\n if (flattenedIndex[1] == coords[0]) {\n sum.xy += updVals.zw;\n found.xy = vec2(1.);\n } else if (flattenedIndex[1] == coords[0] + 1) {\n sum.zw += updVals.zw;\n found.zw = vec2(1.);\n }\n }\n }\n setOutput(mix(${g}, sum, found));\n }\n `}};function flt(r){let{inputs:t,backend:e,attrs:n}=r,{indices:o,updates:s}=t,{shape:i}=n,{sliceRank:a,numUpdates:u,sliceSize:l,strides:c,outputSize:p}=S.calculateShapes(s,o,i),m=[p/l,l];if(p===0)return e.makeTensorInfo(i,o.dtype);let f=rt({inputs:{x:o},backend:e,attrs:{shape:[u,a]}}),d=rt({inputs:{x:s},backend:e,attrs:{shape:[u,l]}}),h=e.makeTensorInfo([],\"float32\",new Float32Array([0])),g;L().getBool(\"WEBGL_PACK\")?g=new xC(u,a,f.shape.length,d.shape.length,c,m):g=new Ku(u,a,f.shape.length,d.shape.length,c,m);let x=e.runWebGLProgram(g,[d,f,h],d.dtype),b=rt({inputs:{x},backend:e,attrs:{shape:i}});return e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(x),e.disposeIntermediateTensorInfo(h),b}var UV={kernelName:nl,backendName:\"webgl\",kernelFunc:flt};var yC=class{constructor(t,e,n,o){this.variableNames=[\"sortedSequence\",\"values\"],this.customUniforms=[{name:\"numInputs\",type:\"int\"}],this.outputShape=[t,n];let s=\"while (left < right) {\",i=`for (int i = 0; i < ${Math.ceil(Math.log2(e+1))}; ++i) { if (left >= right) break;`,a=L().getNumber(\"WEBGL_VERSION\")===2?s:i,u=o===\"left\"?\"<\":\"<=\";this.userCode=`\n int findBound(int batch, float value) {\n int left = 0;\n int right = numInputs;\n int mid;\n ${a}\n mid = (left + right) / 2;\n if (getSortedSequence(batch, mid) ${u} value) {\n left = mid + 1;\n } else {\n right = mid;\n }\n }\n return right;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int valueIndex = coords[1];\n\n float value = getValues(batch, valueIndex);\n\n setOutput(float(findBound(batch, value)));\n }\n `}};function dlt(r){let{inputs:t,backend:e,attrs:n}=r,{sortedSequence:o,values:s}=t,{side:i}=n,a=new yC(o.shape[0],o.shape[1],s.shape[1],i),u=[[o.shape[1]]];return e.runWebGLProgram(a,[o,s],\"int32\",u)}var HV={kernelName:sl,backendName:\"webgl\",kernelFunc:dlt};var bC=class{constructor(t,e,n){this.variableNames=[\"c\",\"a\",\"b\"],this.outputShape=e;let o,s;if(n>4)throw Error(`Where for rank ${n} is not yet supported`);if(n===1)s=\"resRC\",o=\"resRC\";else{let a=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],u=[],l=[];for(let c=0;c= 1.0) {\n setOutput(getA(${s}));\n } else {\n setOutput(getB(${s}));\n }\n }\n `}};function hlt(r){let{inputs:t,backend:e}=r,{condition:n,t:o,e:s}=t,i=new bC(n.shape.length,o.shape,o.shape.length);return e.runWebGLProgram(i,[n,o,s],ur(o.dtype,s.dtype))}var qV={kernelName:Gi,backendName:\"webgl\",kernelFunc:hlt};var glt=`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${S.SELU_SCALEALPHA};\n float scale = ${S.SELU_SCALE};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`,xlt=It({opSnippet:glt}),KV={kernelName:Hs,backendName:\"webgl\",kernelFunc:xlt};var ylt=Po+`\n return 1.0 / (1.0 + exp(-1.0 * x));\n`,blt=`\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,wlt=It({opSnippet:ylt,packedOpSnippet:blt,cpuKernelImpl:wz}),jV={kernelName:Xs,backendName:\"webgl\",kernelFunc:wlt};var Ilt=`\n if (isnan(x)) { return 0.0; }\n return sign(x);\n`,Clt=It({opSnippet:Ilt}),XV={kernelName:js,backendName:\"webgl\",kernelFunc:Clt};var vlt=Po+`\n return sin(x);\n`,Slt=`\n vec4 result = sin(x);\n bvec4 isNaN = isnan(x);\n ${Xn}\n return result;\n`,Nlt=It({opSnippet:vlt,packedOpSnippet:Slt}),YV={kernelName:qs,backendName:\"webgl\",kernelFunc:Nlt};var klt=`\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n`,Tlt=It({opSnippet:klt}),ZV={kernelName:Ks,backendName:\"webgl\",kernelFunc:Tlt};var _lt=`\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n`,Elt=It({opSnippet:_lt}),JV={kernelName:Ys,backendName:\"webgl\",kernelFunc:Elt};var Alt=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,paddings:i}=n;y.assert(o.shape.length<=4,()=>\"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet\");let a=s.reduce((x,b)=>x*b),u=[[0,0]];u.push(...i);for(let x=1+s.length;xe.disposeIntermediateTensorInfo(x)),g},QV={kernelName:Ui,backendName:\"webgl\",kernelFunc:Alt};function Dlt(r){let{inputs:t,backend:e}=r,{indices:n,values:o,denseShape:s,defaultValue:i}=t;if(s.shape.length!==1)throw new Error(`Dense shape must be a vector, saw:\n ${s.shape}`);if(n.shape.length!==2)throw new Error(`Indices must be a matrix, saw:\n ${n.shape}`);if(o.shape.length!==1)throw new Error(`Values must be a vector, saw:\n ${o.shape}`);if(i.shape.length!==0)throw new Error(`Default value must be a scalar, saw:\n ${i.shape}`);let a=e.readSync(n.dataId),u=e.readSync(o.dataId),l=e.readSync(s.dataId),c=e.readSync(i.dataId)[0],[p,m,f,d,h]=Cz(a,n.shape,n.dtype,u,o.dtype,l,c);return[e.makeTensorInfo(m,n.dtype,p),e.makeTensorInfo([m[0]],o.dtype,f),e.makeTensorInfo([d.length],\"bool\",new Uint8Array(d.map(g=>Number(g)))),e.makeTensorInfo([h.length],n.dtype,new Int32Array(h))]}var tG={kernelName:nu,backendName:\"webgl\",kernelFunc:Dlt};function $lt(r){let{inputs:t,backend:e}=r,{inputIndices:n,inputShape:o,newShape:s}=t;if(n.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape ${n.shape}`);if(o.shape.length!==1)throw new Error(`Input shape should be a vector but received shape ${o.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=Array.from(e.readSync(o.dataId)),a=e.readSync(n.dataId),u=Array.from(e.readSync(s.dataId)),[l,c,p]=vz(a,n.shape,n.dtype,i,u);return[e.makeTensorInfo(c,n.dtype,l),e.makeTensorInfo([p.length],s.dtype,new Int32Array(p))]}var eG={kernelName:il,backendName:\"webgl\",kernelFunc:$lt};function Rlt(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);let i=e.readSync(n.dataId),a=e.readSync(o.dataId),u=e.readSync(s.dataId),[l,c]=tI(i,n.shape,n.dtype,a,u,!0);return e.makeTensorInfo(c,n.dtype,l)}var rG={kernelName:ou,backendName:\"webgl\",kernelFunc:Rlt};function Flt(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);let i=e.readSync(n.dataId),a=e.readSync(o.dataId),u=e.readSync(s.dataId),[l,c]=tI(i,n.shape,n.dtype,a,u);return e.makeTensorInfo(c,n.dtype,l)}var nG={kernelName:su,backendName:\"webgl\",kernelFunc:Flt};function Olt(r){let{inputs:t,backend:e,attrs:n}=r,{sparseIndices:o,sparseValues:s,defaultValue:i}=t,{outputShape:a}=n,{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=S.calculateShapes(s,o,a),f=!1;if(s.dtype===\"string\"){let x=e.bufferSync(o),b=e.bufferSync(s),w=y.decodeString(e.readSync(i.dataId)[0]),I=bz(x,b,a,m,c,l,u,p,w,f);return e.makeTensorInfo(a,I.dtype,I.values)}let d=new Ku(l,u,o.shape.length,s.shape.length,p,[m,1],f),h=e.runWebGLProgram(d,[s,o,i],s.dtype),g=rt({inputs:{x:h},backend:e,attrs:{shape:a}});return e.disposeIntermediateTensorInfo(h),g}var oG={kernelName:al,backendName:\"webgl\",kernelFunc:Olt};function Mlt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{numOrSizeSplits:s,axis:i}=n,a=y.parseAxisParam(i,o.shape)[0],u=S.prepareSplitSize(o,s,a),l=o.shape.length,c=new Array(l).fill(0),p=o.shape.slice();return u.map(m=>{let f=[...p];f[a]=m;let d=Ni({inputs:{x:o},backend:e,attrs:{begin:c,size:f}});return c[a]+=m,d})}var sG={kernelName:Hi,backendName:\"webgl\",kernelFunc:Mlt};var iG=\"return sqrt(x);\",Plt=It({opSnippet:iG,packedOpSnippet:iG,cpuKernelImpl:Sz}),aG={kernelName:Zs,backendName:\"webgl\",kernelFunc:Plt};var Llt=\"return x * x;\",zlt=It({opSnippet:Llt}),lG={kernelName:iu,backendName:\"webgl\",kernelFunc:zlt};var uG=\"return (a - b) * (a - b);\",Blt=ce({opSnippet:uG,packedOpSnippet:uG}),cG={kernelName:ti,backendName:\"webgl\",kernelFunc:Blt};function Vlt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t;if(o.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");let s=e.readSync(o.dataId),i=S.fromUint8ToStringArray(s),a=Nz(i,\"string\",n);return e.makeTensorInfo(o.shape,\"string\",a)}var pG={kernelName:ec,backendName:\"webgl\",kernelFunc:Vlt};function Glt({inputs:r,attrs:t,backend:e}){let{x:n}=r,o=xr+`\n return x > 0.0 ? 1.0 : float(${t.alpha});\n `,s=new Lr(n.shape,o);return e.runWebGLProgram(s,[n],n.dtype)}var mG={kernelName:xo,backendName:\"webgl\",kernelFunc:Glt};var wC=class{constructor(t,e,n){this.variableNames=[\"x\"],this.outputShape=n;let o=n.length,s=zt(n.length),i=zt(n.length),a=\"\";if(o===1)a=\"coords * strides + begin\";else{let u=0;a=n.map((l,c)=>(u++,n.length===1?`coords * strides[${c}] + begin[${c}]`:`coords[${u-1}] * strides[${c}] + begin[${c}]`)).join(\",\")}this.userCode=`\n ${s} begin = ${s}(${t});\n ${s} strides = ${s}(${e});\n\n void main() {\n ${i} coords = getOutputCoords();\n setOutput(getX(${a}));\n }\n `}};function Wlt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,end:i,strides:a,beginMask:u,endMask:l,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n,{finalShapeSparse:f,finalShape:d,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:w,strides:I}=Be.sliceInfo(o.shape,s,i,a,u,l,c,p,m),N;if(h)N=rt({inputs:{x:o},backend:e,attrs:{shape:d}});else if(g||x){y.assert(o.shape.length>=1,()=>`Input must have rank at least 1, got: ${o.shape.length}`);let A=Be.computeOutShape(b,w,I),D=Ni({inputs:{x:o},backend:e,attrs:{begin:b,size:A}});N=rt({inputs:{x:D},backend:e,attrs:{shape:d}}),e.disposeIntermediateTensorInfo(D)}else if(e.shouldExecuteOnCPU([o])){let D=e.readSync(o.dataId),F=wt(o.shape,o.dtype,D),M=kz(f,F,I,b);N=e.makeTensorInfo(d,o.dtype,M.values)}else{let D=new wC(b,I,f);N=e.runWebGLProgram(D,[o],o.dtype)}let E=rt({inputs:{x:N},backend:e,attrs:{shape:d}});return e.disposeIntermediateTensorInfo(N),E}var fG={kernelName:ll,backendName:\"webgl\",kernelFunc:Wlt};function Ult(r){let{inputs:t,backend:e,attrs:n}=r,{separator:o,nGramWidths:s,leftPad:i,rightPad:a,padWidth:u,preserveShortSequences:l}=n,{data:c,dataSplits:p}=t,m=e.readSync(c.dataId),f=e.readSync(p.dataId),[d,h]=Tz(m,f,o,s,i,a,u,l);return[e.makeTensorInfo([d.length],\"string\",d),e.makeTensorInfo(p.shape,\"int32\",h)]}var dG={kernelName:au,backendName:\"webgl\",kernelFunc:Ult};function Hlt(r){let{inputs:t,backend:e,attrs:n}=r,{skipEmpty:o}=n,{input:s,delimiter:i}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(s.shape.length!==1)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(i.shape.length!==0)throw new Error(`Delimiter must be a scalar, got shape: ${i.shape}`);let a=e.readSync(s.dataId),u=e.readSync(i.dataId)[0],[l,c,p]=_z(a,u,o),m=c.length;return[e.makeTensorInfo([m,2],\"int32\",l),e.makeTensorInfo([m],\"string\",c),e.makeTensorInfo([2],\"int32\",new Int32Array(p))]}var hG={kernelName:lu,backendName:\"webgl\",kernelFunc:Hlt};function qlt(r){let{inputs:t,backend:e,attrs:n}=r,{numBuckets:o}=n,{input:s}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(o<=0)throw new Error(\"Number of buckets must be at least 1\");let i=e.readSync(s.dataId),a=Ez(i,o);return e.makeTensorInfo(s.shape,\"int32\",a)}var gG={kernelName:uu,backendName:\"webgl\",kernelFunc:qlt};var Klt=\"return tan(x);\",jlt=It({opSnippet:Klt}),xG={kernelName:ri,backendName:\"webgl\",kernelFunc:jlt};var Xlt=`\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n`,Ylt=It({opSnippet:Xlt}),yG={kernelName:ni,backendName:\"webgl\",kernelFunc:Ylt};function Zlt(r){let{inputs:t,backend:e,attrs:n}=r,{tensor:o,indices:s,updates:i}=t,{}=n,{sliceRank:a,numUpdates:u,sliceSize:l,strides:c,outputSize:p}=S.calculateShapes(i,s,o.shape),m=[p/l,l];if(p===0)return e.makeTensorInfo(o.shape,s.dtype);let f=rt({inputs:{x:s},backend:e,attrs:{shape:[u,a]}}),d=rt({inputs:{x:i},backend:e,attrs:{shape:[u,l]}}),h=rt({inputs:{x:o},backend:e,attrs:{shape:m}}),g=new Ku(u,a,f.shape.length,d.shape.length,c,m,!1,!0),x=e.runWebGLProgram(g,[d,f,h],h.dtype),b=rt({inputs:{x},backend:e,attrs:{shape:o.shape}});return e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),e.disposeIntermediateTensorInfo(x),b}var bG={kernelName:ol,backendName:\"webgl\",kernelFunc:Zlt};var IC=class{constructor(t,e){this.variableNames=[\"A\"];let n=new Array(t.length);for(let i=0;i5)throw Error(`Tile for rank ${t} is not yet supported`);if(t===1)return`imod(resRC, ${r[0]})`;let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\"],n=[];for(let o=0;o5){let u=e.readSync(o.dataId),l=o.dtype===\"string\"?u.map(m=>y.decodeString(m)):u,c=wt(o.shape,o.dtype,l),p=Dz(c,s);return e.makeTensorInfo(p.shape,p.dtype,p.values)}let i=new IC(o.shape,s);return e.runWebGLProgram(i,[o],o.dtype)}var wG={kernelName:oo,backendName:\"webgl\",kernelFunc:q1};var CC=class{constructor(t){this.variableNames=[\"x\",\"indices\"],this.customUniforms=[{name:\"n\",type:\"int\"},{name:\"firstPass\",type:\"int\"},{name:\"negativeInf\",type:\"float\"},{name:\"dir\",type:\"int\"},{name:\"inc\",type:\"int\"}],this.outputShape=t,this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n `}},vC=class{constructor(t){this.variableNames=[\"x\",\"indices\"],this.customUniforms=[{name:\"n\",type:\"int\"},{name:\"firstPass\",type:\"int\"},{name:\"k\",type:\"int\"}],this.outputShape=t,this.userCode=`\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n `}};function xp(r,t){t!==null&&r.disposeIntermediateTensorInfo(t)}function IG(r){let t=1;for(;tu){let M=e.readSync(o.dataId),[V,G]=$z(M,l,o.dtype,s,i);return[e.makeTensorInfo(V.shape,V.dtype,V.values),e.makeTensorInfo(G.shape,G.dtype,G.values)]}if(s===0)return l[l.length-1]=0,[e.makeTensorInfo(l,o.dtype,[]),e.makeTensorInfo(l,\"int32\",[])];if(c===1)return[o,Ll({attrs:{shape:l,dtype:\"int32\",value:0},backend:e})];let p=e.texData.get(o.dataId),m=p!==null&&p.isPacked,f=m?e.unpackTensor(o):o,h=y.sizeFromShape(l)/c,g=rt({inputs:{x:f},attrs:{shape:[h,c]},backend:e});m&&xp(e,f);let x=IG(s),b=IG(c),w=null,I=()=>w===null?[g,g]:[g,w],N=(M,V,G)=>{let W=I(),q=new CC(G),K=[[c],[w===null?1:0],[Number.NEGATIVE_INFINITY],[M],[V]],Y=w;w=e.runWebGLProgram(q,W,\"int32\",K),xp(e,Y)};for(let M=1;M=1;G/=2)N(V,G,[h,b])}for(let M=b;M>x;M/=2){let V=I(),G=new vC([h,M/2]),q=[[c],[w===null?1:0],[x]],H=w;w=e.runWebGLProgram(G,V,\"int32\",q),xp(e,H);let K=x/2,Y=K*2;for(let Z=K;Z>=1;Z/=2)N(Y,Z,w.shape)}let E=w;w=Ni({inputs:{x:w},backend:e,attrs:{begin:0,size:[h,s]}}),xp(e,E);let A=z1({inputs:{x:g,indices:w},backend:e,attrs:{axis:1,batchDims:1}});xp(e,g);let D=l.slice(0,-1);D.push(s),E=w,w=rt({inputs:{x:w},attrs:{shape:D},backend:e}),xp(e,E);let F=A;return A=rt({inputs:{x:A},attrs:{shape:D},backend:e}),xp(e,F),[A,w]}var CG={kernelName:ul,backendName:\"webgl\",kernelFunc:Qlt};var SC=class{constructor(t,e,n,o,s,i){this.variableNames=[\"Image\",\"Transforms\"],this.outputShape=i;let a=n===\"nearest\"?1:2,u;switch(o){case\"constant\":u=1;break;case\"reflect\":u=2;break;case\"wrap\":u=3;break;case\"nearest\":u=4;break;default:u=1;break}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${u} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${u} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${u} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${t} && 0 <= coordX && coordX < ${e}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${s});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${s});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${e}));\n float mapY = mapCoord(inY, float(${t}));\n\n if (${a} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}};function tut(r){let{inputs:t,backend:e,attrs:n}=r,{image:o,transforms:s}=t,{interpolation:i,fillMode:a,fillValue:u,outputShape:l}=n,[c,p,m,f]=o.shape,[d,h]=l!=null?l:[p,m],g=[c,d,h,f],x=new SC(p,m,i,a,u,g);return e.runWebGLProgram(x,[o,s],\"float32\")}var vG={kernelName:cl,backendName:\"webgl\",kernelFunc:tut};function eut(r){let{inputs:t,attrs:e,backend:n}=r,{axis:o}=e,{x:s}=t;Ci(s,\"unique\"),console.warn(\"WARNING: \",\"UI might be locked temporarily as data is being downloaded\");let i=n.readSync(s.dataId),{outputValues:a,outputShape:u,indices:l}=Rz(i,o,s.shape,s.dtype);return[n.makeTensorInfo(u,s.dtype,a),n.makeTensorInfo([l.length],\"int32\",l)]}var SG={kernelName:cu,backendName:\"webgl\",kernelFunc:eut};function rut(r){let{inputs:t,backend:e,attrs:n}=r,{value:o}=t,{axis:s}=n;s<0&&(s+=o.shape.length);let i=o,a=i.shape.length,u=o.shape[s],l=new Array(a-1),c=0;for(let h=0;he.disposeIntermediateTensorInfo(h)),d}var NG={kernelName:qi,backendName:\"webgl\",kernelFunc:rut};var NC=class{constructor(t,e){this.variableNames=[\"x\",\"segmentIds\"];let n=t.windowSize,o=t.batchSize,s=t.inSize,i=t.numSegments,a=i*Math.ceil(s/n);this.outputShape=[o,a];let u=\"0.0\",l=\"sumValue\",c=Math.floor(n/4)*4,p=n%4,m=`\n sumValue += dot(values, segFilter);\n `,f=\"\";s%n>0&&(f=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `);let d=\"\";s%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = ${u};\n\n float getValue(int batch, int inIdx) {\n ${f}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${d}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${i})) * float(${n}));\n int currentSeg = int(mod(float(outIdx), float(${i})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${c}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${m}\n }\n\n int inIdx = inOffset + ${c};\n if (${p===1}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${m}\n } else if (${p===2}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${m}\n } else if (${p===3}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${m}\n }\n setOutput(${l});\n }\n `}};function nut(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,segmentIds:s}=t,{numSegments:i}=n,a=o.shape.length,u=[],l=0,c=S.getAxesPermutation([l],a),p=o;c!=null&&(p=Pe({inputs:{x:o},backend:e,attrs:{perm:c}}),u.push(p),l=S.getInnerMostAxes(1,a)[0]);let m=S.segment_util.computeOutShape(p.shape,l,i),f=y.sizeFromShape([p.shape[l]]),d=rt({inputs:{x:p},backend:e,attrs:{shape:[-1,f]}});u.push(d);let h=lc(o.dtype),g=(I,N,E,A,D)=>{let F=I.shape[0],M=I.shape[1],V=S.segment_util.segOpComputeOptimalWindowSize(M,D),G={windowSize:V,inSize:M,batchSize:F,numSegments:D},W=new NC(G,N),q=e.compileAndRun(W,[I,E],A);if(u.push(q),q.shape[1]===D)return q;let H=H1({backend:e,attrs:{start:0,stop:D,step:1,dtype:\"float32\"}}),K=q1({inputs:{x:H},backend:e,attrs:{reps:[M/V]}});return u.push(H),u.push(K),g(q,N,K,A,D)},x=g(d,\"unsortedSegmentSum\",s,h,i),b=rt({inputs:{x},backend:e,attrs:{shape:m}}),w=b;if(c!=null){u.push(b);let I=S.getUndoAxesPermutation(c);w=Pe({inputs:{x:w},backend:e,attrs:{perm:I}})}return u.forEach(I=>e.disposeIntermediateTensorInfo(I)),w}var kG={kernelName:pu,backendName:\"webgl\",kernelFunc:nut};var out=[l3,c3,p3,m3,d3,h3,g3,x3,w3,I3,C3,v3,S3,N3,k3,T3,_3,E3,A3,D3,$3,F3,O3,M3,P3,V3,W3,U3,Jz,q3,j3,X3,Y3,Z3,J3,Q3,tB,eB,rB,nB,iB,aB,lB,uB,cB,pB,mB,fB,dB,hB,gB,xB,yB,bB,wB,IB,vB,SB,NB,kB,_B,EB,AB,DB,$B,RB,FB,OB,MB,Zz,PB,K3,LB,zB,BB,Qz,VB,GB,WB,UB,HB,qB,KB,jB,XB,YB,JB,QB,tV,eV,rV,nV,sV,aV,lV,uV,cV,pV,gV,r3,xV,yV,bV,wV,L3,IV,SV,NV,kV,TV,t3,_V,EV,AV,DV,$V,z3,mV,RV,FV,OV,o3,MV,PV,LV,zV,BV,VV,GV,WV,UV,HV,qV,KV,jV,XV,YV,ZV,R3,hV,JV,QV,tG,eG,rG,nG,oG,sG,aG,lG,cG,pG,mG,fG,dG,hG,gG,dV,i3,xG,yG,bG,wG,CG,vG,a3,SG,NG,kG,CV];for(let r of out)rc(r);var Nt;(function(r){r[r.float32=0]=\"float32\",r[r.int32=1]=\"int32\",r[r.bool=2]=\"bool\",r[r.string=3]=\"string\",r[r.complex64=4]=\"complex64\"})(Nt||(Nt={}));var ju;(function(r){r[r.linear=0]=\"linear\",r[r.relu=1]=\"relu\",r[r.relu6=2]=\"relu6\",r[r.prelu=3]=\"prelu\",r[r.leakyrelu=4]=\"leakyrelu\",r[r.sigmoid=5]=\"sigmoid\",r[r.elu=6]=\"elu\"})(ju||(ju={}));var TG;function sut(r){TG=r.wasm.cwrap(ji,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function iut(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s,bias:i,preluActivationWeights:a}=t;if(o.dtype!==\"float32\"||s.dtype!==\"float32\")throw new Error(\"_FusedMatMul for non non-float32 tensors not yet supported.\");let{transposeA:u,transposeB:l,activation:c,leakyreluAlpha:p}=n,m=e.dataIdMap.get(o.dataId).id,f=e.dataIdMap.get(s.dataId).id,d=0;if(i!=null){let D=e.dataIdMap.get(i.dataId);if(D.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${D.shape.length}.`);d=D.id}let h=a==null?0:e.dataIdMap.get(a.dataId).id,g=ju[c];if(g==null)throw new Error(`${c} activation not yet supported for FusedConv2D in the wasm backend.`);let x=u?o.shape[2]:o.shape[1],b=l?s.shape[1]:s.shape[2],w=Ur.assertAndGetBroadcastShape(o.shape.slice(0,-2),s.shape.slice(0,-2)),I=e.makeOutput([...w,x,b],o.dtype),N=e.dataIdMap.get(I.dataId).id,E=new Uint8Array(new Int32Array(o.shape).buffer),A=new Uint8Array(new Int32Array(s.shape).buffer);return TG(m,E,o.shape.length,f,A,s.shape.length,u,l,g,d,h,p||0,N),I}var _G={kernelName:ji,backendName:\"wasm\",setupFunc:sut,kernelFunc:iut};function yt(r,t){let e;function n(s){e=s.wasm.cwrap(r,null,[\"number\",\"number\",\"number\"])}function o(s){let{backend:i,inputs:{x:a}}=s,u=i.dataIdMap.get(a.dataId).id,l=i.makeOutput(a.shape,t||a.dtype),c=i.dataIdMap.get(l.dataId).id;return y.sizeFromShape(l.shape)===0||e(u,Nt[a.dtype],c),l}return{kernelName:r,backendName:\"wasm\",setupFunc:n,kernelFunc:o}}var EG=yt(Ei);var AG=yt(Go);var DG=yt(Wo);function ee(r,t,e){let n;function o(i){n=i.wasm.cwrap(r,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\"])}function s(i){let{backend:a,inputs:u}=i,{a:l,b:c}=u,p=a.dataIdMap.get(l.dataId).id,m=a.dataIdMap.get(c.dataId).id,f=e!=null?e:l.dtype,d=S.assertAndGetBroadcastShape(l.shape,c.shape),h=a.makeOutput(d,f);if(y.sizeFromShape(d)===0)return h;let g=new Uint8Array(new Int32Array(l.shape).buffer),x=new Uint8Array(new Int32Array(c.shape).buffer),b=a.dataIdMap.get(h.dataId).id;return n(p,g,l.shape.length,m,x,c.shape.length,Nt[l.dtype],b),h}return{kernelName:r,backendName:\"wasm\",setupFunc:o,kernelFunc:s}}var aut=!0,$G=ee(no,aut);var RG;function lut(r){RG=r.wasm.cwrap(Uo,null,[\"array\",\"number\",\"number\",\"number\"])}function uut(r){let{inputs:t,backend:e}=r,n=e.makeOutput(t[0].shape,t[0].dtype);if(y.sizeFromShape(n.shape)===0)return n;let o=t.map(a=>e.dataIdMap.get(a.dataId).id),s=new Uint8Array(new Int32Array(o).buffer),i=e.dataIdMap.get(n.dataId).id;return RG(s,o.length,Nt[n.dtype],i),n}var FG={kernelName:Uo,backendName:\"wasm\",setupFunc:lut,kernelFunc:uut};function yp(r){let{inputs:{x:t},backend:e}=r;if(t.dtype===\"string\")return ir(e.readSync(t.dataId),t.shape,t.dtype);let n=e.makeOutput(t.shape,t.dtype),o=e.typedArrayFromHeap(t);return e.typedArrayFromHeap(n).set(o),n}var OG={kernelName:go,backendName:\"wasm\",kernelFunc:yp};var MG;function cut(r){MG=r.wasm.cwrap(so,null,[\"number\",\"array\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function mo(r){let{inputs:t,backend:e,attrs:n}=r,[o,s]=mut(t.x.shape,n.perm),i=!0;for(let d=0;d=o&&(s===-1||n[s]>n[i])&&(s=i);n[s]=o}return[e,n]}var PG={kernelName:so,backendName:\"wasm\",kernelFunc:mo,setupFunc:cut};function Cn(r,t,e){let n=r.shape,o=r.shape.length,s=y.parseAxisParam(t,n),i=s,a=S.getAxesPermutation(i,o),u=null,l=!1;if(a!=null){let c=new Array(o);for(let f=0;f`new shape: ${i}, old shape: ${n.shape}. New shape and old shape must have the same number of elements.`),r.backend.incRef(n.dataId),{dataId:n.dataId,shape:i,dtype:n.dtype}}var nW={kernelName:Vi,backendName:\"wasm\",kernelFunc:mr};var oW;function Nut(r){oW=r.wasm.cwrap(Zo,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\"])}function kut(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s}=t,{transposeA:i,transposeB:a}=n;if(o.dtype!==\"float32\"||s.dtype!==\"float32\")throw new Error(\"BatchMatMul for non non-float32 tensors not yet supported.\");let u=o.shape.length,l=s.shape.length,c=i?o.shape[u-2]:o.shape[u-1],p=a?s.shape[l-1]:s.shape[l-2],m=i?o.shape[u-1]:o.shape[u-2],f=a?s.shape[l-2]:s.shape[l-1],d=o.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(d),x=y.sizeFromShape(h),w=Ur.assertAndGetBroadcastShape(o.shape.slice(0,-2),s.shape.slice(0,-2)).concat([m,f]);y.assert(c===p,()=>`Error in matMul: inner shapes (${c}) and (${p}) of Tensors with shapes ${o.shape} and ${s.shape} and transposeA=${i} and transposeB=${a} must match.`);let I=i?[g,c,m]:[g,m,c],N=a?[x,f,p]:[x,p,f],E=mr({inputs:{x:o},backend:e,attrs:{shape:I}}),A=mr({inputs:{x:s},backend:e,attrs:{shape:N}}),D=e.dataIdMap.get(E.dataId).id,F=e.dataIdMap.get(A.dataId).id,M=i?E.shape[2]:E.shape[1],V=a?A.shape[1]:A.shape[2],G=Math.max(g,x),W=e.makeOutput([G,M,V],E.dtype),q=e.dataIdMap.get(W.dataId).id,H=new Uint8Array(new Int32Array(E.shape).buffer),K=new Uint8Array(new Int32Array(A.shape).buffer);return oW(D,H,E.shape.length,F,K,A.shape.length,i,a,q),e.disposeData(E.dataId),e.disposeData(A.dataId),W.shape=w,W}var sW={kernelName:Zo,backendName:\"wasm\",setupFunc:Nut,kernelFunc:kut};function Lo(r){let{inputs:{x:t},attrs:{begin:e,size:n},backend:o}=r,[s,i]=Be.parseSliceParams(t,e,n),a=Be.isSliceContinous(t.shape,s,i),u=o.readSync(t.dataId),l=o.makeOutput(i,t.dtype),c=y.computeStrides(t.shape),p=o.dataIdMap.get(l.dataId);if(a){let d=Be.computeFlatOffset(s,c);return t.dtype===\"string\"?p.stringBytes=u.slice(d,d+y.sizeFromShape(i)):o.typedArrayFromHeap(l).set(u.subarray(d,d+y.sizeFromShape(i))),l}if(t.dtype===\"string\"){let d=ep(u,s,i,t.shape,t.dtype);return p.stringBytes=d,l}let m=o.typedArrayFromHeap(l),f=t.shape.length;if(f===2)Tut(u,c[0],m,s,i);else if(f===3)_ut(u,c[0],c[1],m,s,i);else if(f===4)Eut(u,c[0],c[1],c[2],m,s,i);else{let d=ep(u,s,i,t.shape,t.dtype);m.set(d)}return l}function Tut(r,t,e,n,o){let s=0,i=n[0],a=n[1],u=i+o[0];for(let l=i;lx*b),u=S.getReshaped(o.shape,s,a),l=S.getPermuted(u.length,s.length),c=S.getReshapedPermuted(o.shape,s,a),p=S.getSliceBeginCoords(i,s.length),m=S.getSliceSize(c,i,s.length),f=mr({inputs:{x:o},backend:e,attrs:{shape:u}}),d=mo({inputs:{x:f},backend:e,attrs:{perm:l}}),h=mr({inputs:{x:d},backend:e,attrs:{shape:c}}),g=Lo({inputs:{x:h},backend:e,attrs:{begin:p,size:m}});return e.disposeData(f.dataId),e.disposeData(d.dataId),e.disposeData(h.dataId),g}var aW={kernelName:Ri,backendName:\"wasm\",kernelFunc:Aut};var lW;function Dut(r){lW=r.wasm.cwrap(Da,null,[\"number\",\"number\",\"boolean\",\"number\",\"number\",\"number\"])}function $ut(r){let{backend:t,inputs:e,attrs:n}=r,{x:o,weights:s}=e,{size:i}=n,a=s.shape.reduce((p,m)=>p*m,1)!==0,u=o.shape.length===1?[i]:[o.shape[0],i],l=t.makeOutput(u,s.dtype);function c(p){return t.dataIdMap.get(p.dataId).id}return lW(c(o),i,a,c(s),Nt[s.dtype],c(l)),l}var uW={kernelName:Da,backendName:\"wasm\",setupFunc:Dut,kernelFunc:$ut};var Rut=!0,cW=ee($a,Rut);function Fut(r){let{inputs:t,backend:e}=r,{s0:n,s1:o}=t,s=e.typedArrayFromHeap(n),i=e.typedArrayFromHeap(o),a=S.assertAndGetBroadcastShape(Array.from(s),Array.from(i));return e.makeOutput([a.length],\"int32\",void 0,new Int32Array(a))}var pW={kernelName:ql,backendName:\"wasm\",kernelFunc:Fut};function Fn(r){let{inputs:{x:t},attrs:{dtype:e},backend:n}=r,o=n.makeOutput(t.shape,e),s=n.typedArrayFromHeap(t);return n.typedArrayFromHeap(o).set(s),o}var mW={kernelName:fo,backendName:\"wasm\",kernelFunc:Fn};var fW=yt(Jo);var dW;function Out(r){dW=r.wasm.cwrap(ho,null,[\"number\",\"number\",\"number\",\"number\"])}function Mut(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{clipValueMin:s,clipValueMax:i}=n,a=e.dataIdMap.get(o.dataId).id,u=e.makeOutput(o.shape,o.dtype),l=e.dataIdMap.get(u.dataId).id;return dW(a,s,i,l),u}var hW={kernelName:ho,backendName:\"wasm\",setupFunc:Out,kernelFunc:Mut};function K1(r){let{inputs:t,backend:e}=r,n=y.parseAxisParam(r.attrs.axis,t[0].shape)[0],o=t.map(f=>f.shape);S.assertParamsConsistent(o,n);let s=S.computeOutShape(t.map(f=>f.shape),n),i=t.filter(f=>y.sizeFromShape(f.shape)>0);if(i.length===1)return yp({inputs:{x:i[0]},backend:e});let a=e.makeOutput(s,t[0].dtype);if(y.sizeFromShape(s)===0)return a;if(i[0].dtype===\"string\"){let f=i.map(w=>{let N=[-1,y.sizeFromShape(w.shape.slice(n))];return mr({inputs:{x:w},backend:e,attrs:{shape:N}})}),d=f.map(w=>({vals:e.readSync(w.dataId),shape:w.shape}));s=S.computeOutShape(f.map(w=>w.shape),1);let h=f[0].shape[0]===1,g=Jc(d,s,t[0].dtype,h),x=S.computeOutShape(i.map(w=>w.shape),n);a.shape=x;let b=e.dataIdMap.get(a.dataId);return b.stringBytes=S.fromStringArrayToUint8(g),f.forEach(w=>e.disposeData(w.dataId)),a}let u=y.sizeFromShape(i[0].shape.slice(0,n)),l=0,c=i.map(f=>{let d=y.sizeFromShape(f.shape.slice(n));return l+=d,d}),p=i.map(f=>e.typedArrayFromHeap(f)),m=e.typedArrayFromHeap(a);for(let f=0;f`cumprod does not support ${o.dtype} tensors in the WASM backend`);let l=S.getAxesPermutation([s],u),c=o;l!==null&&(c=mo({inputs:{x:o},attrs:{perm:l},backend:e}));let p=S.getInnerMostAxes(1,u)[0];S.assertAxesAreInnerMostDims(\"cumprod\",[p],u);let m=e.makeOutput(c.shape,c.dtype),f=c.shape[p],d=e.dataIdMap.get(c.dataId).id,h=e.dataIdMap.get(m.dataId).id;DW(d,i?1:0,a?1:0,f,h,Nt[o.dtype]);let g=m;if(l!==null){let x=S.getUndoAxesPermutation(l);g=mo({inputs:{x:m},attrs:{perm:x},backend:e}),e.disposeData(c.dataId),e.disposeData(m.dataId)}return g}var $W={kernelName:Oa,backendName:\"wasm\",setupFunc:Xut,kernelFunc:Yut};var RW;function Zut(r){RW=r.wasm.cwrap(os,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Jut(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,exclusive:i,reverse:a}=n,u=o.shape.length;y.assert(o.dtype===\"float32\"||o.dtype===\"int32\",()=>`cumsum does not support ${o.dtype} tensors in the WASM backend`);let l=S.getAxesPermutation([s],u),c=o;l!==null&&(c=mo({inputs:{x:o},attrs:{perm:l},backend:e}));let p=S.getInnerMostAxes(1,u)[0];S.assertAxesAreInnerMostDims(\"cumsum\",[p],u);let m=e.makeOutput(c.shape,c.dtype),f=c.shape[p],d=e.dataIdMap.get(c.dataId).id,h=e.dataIdMap.get(m.dataId).id;RW(d,i?1:0,a?1:0,f,h,Nt[o.dtype]);let g=m;if(l!==null){let x=S.getUndoAxesPermutation(l);g=mo({inputs:{x:m},attrs:{perm:x},backend:e}),e.disposeData(c.dataId),e.disposeData(m.dataId)}return g}var FW={kernelName:os,backendName:\"wasm\",setupFunc:Zut,kernelFunc:Jut};var OW;function Qut(r){OW=r.wasm.cwrap(\"DenseBincount\",null,[\"number\",\"array\",\"number\",\"number\",\"boolean\",\"number\",\"number\",\"boolean\",\"number\"])}function tct(r){let{backend:t,inputs:e,attrs:n}=r,{x:o,weights:s}=e,{size:i,binaryOutput:a}=n,u=s.shape.reduce((m,f)=>m*f,1)!==0,l=o.shape.length===1?[i]:[o.shape[0],i],c=t.makeOutput(l,s.dtype);function p(m){return t.dataIdMap.get(m.dataId).id}return OW(p(o),new Uint8Array(new Int32Array(o.shape).buffer),o.shape.length,i,u,p(s),Nt[s.dtype],a,p(c)),c}var MW={kernelName:jl,backendName:\"wasm\",setupFunc:Qut,kernelFunc:tct};var PW;function ect(r){PW=r.wasm.cwrap(Pa,null,[\"number\",\"number\",\"number\",\"array\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function rct(r){let{backend:t,inputs:e,attrs:n}=r,{x:o}=e,{blockSize:s,dataFormat:i}=n,a=o.shape[0],u=i===\"NHWC\"?o.shape[1]:o.shape[2],l=i===\"NHWC\"?o.shape[2]:o.shape[3],c=i===\"NHWC\"?o.shape[3]:o.shape[1],p=u*s,m=l*s,f=c/(s*s),d=i===\"NHWC\"?[a,p,m,f]:[a,f,p,m],h=t.makeOutput(d,\"float32\"),x=t.dataIdMap.get(o.dataId).id,b=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),w=new Uint8Array(new Int32Array(d).buffer),I=new Uint8Array(new Int32Array(y.computeStrides(d)).buffer),N=t.dataIdMap.get(h.dataId).id;return PW(x,s,i===\"NHWC\"?1:0,b,o.shape.length-1,w,I,d.length,N),h}var LW={kernelName:Pa,backendName:\"wasm\",setupFunc:ect,kernelFunc:rct};var zW;function nct(r){zW=r.wasm.cwrap(ss,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function oct(r){let{inputs:t,attrs:e,backend:n}=r,{x:o,filter:s}=t,i=n.dataIdMap.get(o.dataId).id,a=n.dataIdMap.get(s.dataId).id,{strides:u,dilations:l,pad:c,dimRoundingMode:p}=e,m=l==null?[1,1]:l,f=S.computeConv2DInfo(o.shape,s.shape,u,m,c,p,!0),d=f.filterHeight,h=f.filterWidth,g=f.padInfo.top,x=f.padInfo.right,b=f.padInfo.bottom,w=f.padInfo.left,I=f.dilationHeight,N=f.dilationWidth,E=f.strideHeight,A=f.strideWidth,D=f.inChannels,F=f.outChannels,M=f.padInfo.type===\"SAME\"?1:0;if(f.dataFormat!==\"channelsLast\")throw new Error(`wasm backend DepthwiseConv2dNative does not support dataFormat:'${f.dataFormat}'. Please use 'channelsLast'.`);let V=n.makeOutput(f.outShape,\"float32\"),G=n.dataIdMap.get(V.dataId).id;return zW(i,o.shape[0],o.shape[1],o.shape[2],a,d,h,g,x,b,w,M,I,N,E,A,D,F,G),V}var BW={kernelName:ss,backendName:\"wasm\",setupFunc:nct,kernelFunc:oct};var VW;function sct(r){VW=r.wasm.cwrap(\"Diag\",null,[\"number\",\"number\",\"number\",\"number\"])}function ict(r){let{inputs:t,backend:e}=r,{x:n}=t,o=y.sizeFromShape(n.shape),s=e.makeOutput([...n.shape,...n.shape],n.dtype);return VW(e.dataIdMap.get(n.dataId).id,Nt[n.dtype],o,e.dataIdMap.get(s.dataId).id),s}var GW={kernelName:Xl,backendName:\"wasm\",setupFunc:sct,kernelFunc:ict};var WW;function act(r){WW=r.wasm.cwrap(is,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function lct(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dilations:u}=n;if(o.dtype!==s.dtype)throw new Error(`Dilation2D error: x must have the same dtype as filter. Got ${o.dtype} and ${s.dtype}`);let l=S.computeDilation2DInfo(o.shape,s.shape,i,a,\"NHWC\",u),c=e.makeOutput(l.outShape,o.dtype);return WW(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(c.dataId).id,Nt[o.dtype],l.batchSize,l.inChannels,l.inHeight,l.inWidth,l.outHeight,l.outWidth,l.strideHeight,l.strideWidth,l.dilationHeight,l.dilationWidth,l.filterHeight,l.filterWidth,l.padInfo.top,l.padInfo.left),c}var UW={kernelName:is,backendName:\"wasm\",setupFunc:act,kernelFunc:lct};var HW;function uct(r){HW=r.wasm.cwrap(Zl,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function cct(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,dy:i}=t,{strides:a,pad:u,dilations:l}=n;if(o.dtype!==s.dtype||o.dtype!==i.dtype)throw new Error(`Dilation2DBackpropFilter error: x must have the same dtype as filter and dy. Got ${o.dtype}, ${s.dtype}, and ${i.dtype}`);let c=S.computeDilation2DInfo(o.shape,s.shape,a,u,\"NHWC\",l),p=e.makeOutput(s.shape,s.dtype);return HW(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(i.dataId).id,e.dataIdMap.get(p.dataId).id,Nt[o.dtype],c.batchSize,c.inChannels,c.inHeight,c.inWidth,c.outHeight,c.outWidth,c.strideHeight,c.strideWidth,c.dilationHeight,c.dilationWidth,c.filterHeight,c.filterWidth,c.padInfo.top,c.padInfo.left),p}var qW={kernelName:Zl,backendName:\"wasm\",setupFunc:uct,kernelFunc:cct};var KW;function pct(r){KW=r.wasm.cwrap(Yl,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function mct(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,dy:i}=t,{strides:a,pad:u,dilations:l}=n;if(o.dtype!==s.dtype||o.dtype!==i.dtype)throw new Error(`Dilation2DBackpropInput error: x must have the same dtype as filter and dy. Got ${o.dtype}, ${s.dtype}, and ${i.dtype}`);let c=S.computeDilation2DInfo(o.shape,s.shape,a,u,\"NHWC\",l),p=e.makeOutput(o.shape,o.dtype);return KW(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(i.dataId).id,e.dataIdMap.get(p.dataId).id,Nt[o.dtype],c.batchSize,c.inChannels,c.inHeight,c.inWidth,c.outHeight,c.outWidth,c.strideHeight,c.strideWidth,c.dilationHeight,c.dilationWidth,c.filterHeight,c.filterWidth,c.padInfo.top,c.padInfo.left),p}var jW={kernelName:Yl,backendName:\"wasm\",setupFunc:pct,kernelFunc:mct};var XW=yt(ls);var YW;function fct(r){YW=r.wasm.cwrap(La,null,[\"number\",\"number\",\"number\"])}function dct(r){let{inputs:t,backend:e}=r,{dy:n,y:o}=t,s=e.makeOutput(o.shape,\"float32\"),i=a=>e.dataIdMap.get(a.dataId).id;return YW(i(o),i(n),i(s)),s}var ZW={kernelName:La,backendName:\"wasm\",setupFunc:fct,kernelFunc:dct};var hct=!1,JW=ee(za,hct,\"bool\");var QW=yt(us);var tU=yt(cs,\"float32\");function TC(r){let{inputs:t,attrs:e,backend:n}=r,{input:o}=t,{dim:s}=e,i=o.shape.length,a=o.shape.slice(),u=s;return s<0&&(y.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+s+1),a.splice(u,0,1),mr({inputs:{x:o},backend:n,attrs:{shape:a}})}var eU={kernelName:Oi,backendName:\"wasm\",kernelFunc:TC};var rU=yt(ps,\"float32\");function X1(r){let{attrs:{shape:t,value:e},backend:n}=r,{attrs:{dtype:o}}=r;o=o||y.inferDtype(e);let s=n.makeOutput(t,o);return n.typedArrayFromHeap(s).fill(e),s}var nU={kernelName:Jl,backendName:\"wasm\",kernelFunc:X1};var oU;function gct(r){oU=r.wasm.cwrap(Ba,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function xct(r){let{inputs:t,backend:e}=r,{image:n}=t,o=e.makeOutput(n.shape,n.dtype),s=e.dataIdMap.get(n.dataId).id,i=e.dataIdMap.get(o.dataId).id,[a,u,l,c]=n.shape;return oU(s,a,u,l,c,i),o}var sU={kernelName:Ba,backendName:\"wasm\",kernelFunc:xct,setupFunc:gct};var iU=yt(ms);var yct=!1,aU=ee(fs,yct);var lU;function bct(r){lU=r.wasm.cwrap(ds,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function wct(r){let{backend:t,inputs:e,attrs:n}=r,{varianceEpsilon:o}=n,{x:s,mean:i,variance:a,offset:u,scale:l}=e,c=t.dataIdMap.get(s.dataId).id,p=t.dataIdMap.get(i.dataId).id,m=t.dataIdMap.get(a.dataId).id,f=u!=null?t.dataIdMap.get(u.dataId).id:0,d=l!=null?t.dataIdMap.get(l.dataId).id:0,h=t.makeOutput(s.shape,s.dtype);if(y.sizeFromShape(s.shape)===0)return h;let g=t.dataIdMap.get(h.dataId).id;return lU(c,p,m,f,d,o,g),h}var uU={kernelName:ds,backendName:\"wasm\",setupFunc:bct,kernelFunc:wct};var cU;function Ict(r){cU=r.wasm.cwrap(Xi,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Cct(r){let{inputs:t,attrs:e,backend:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dilations:c,dataFormat:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=e,h=S.computeConv2DInfo(o.shape,s.shape,u,c,l,m),g=ju[f];if(g==null)throw new Error(`${f} activation not yet supported for FusedConv2D in the wasm backend.`);let x=n.dataIdMap.get(o.dataId).id,b=n.dataIdMap.get(s.dataId).id,w=h.outChannels,I=0;if(i!=null){let ot=n.dataIdMap.get(i.dataId);if(ot.shape.length!==1)throw new Error(`FusedConv2D only supports rank-1 bias but got rank ${ot.shape.length}.`);if(ot.shape[0]!==w)throw new Error(`FusedConv2D bias shape (${ot.shape}) does not match the number of output channels (${w})`);I=ot.id}let N=h.filterHeight,E=h.filterWidth,A=h.padInfo.top,D=h.padInfo.right,F=h.padInfo.bottom,M=h.padInfo.left,V=h.dilationHeight,G=h.dilationWidth,W=h.strideHeight,q=h.strideWidth,H=h.inChannels,K=h.padInfo.type===\"SAME\"?1:0,Y=h.batchSize,Z=h.inHeight,et=h.inWidth;if(p!==\"NHWC\")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${p}'. Please use 'NHWC'.`);let nt=n.makeOutput(h.outShape,\"float32\"),st=n.dataIdMap.get(nt.dataId).id,lt=a==null?0:n.dataIdMap.get(a.dataId).id;return cU(x,Y,Z,et,b,N,E,I,A,D,F,M,K,V,G,W,q,H,w,g,lt,d||0,st),nt}var pU={kernelName:Xi,backendName:\"wasm\",setupFunc:Ict,kernelFunc:Cct};var mU;function vct(r){mU=r.wasm.cwrap(Yi,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Sct(r){let{inputs:t,attrs:e,backend:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dilations:c,dataFormat:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=e,h=S.computeConv2DInfo(o.shape,s.shape,u,c,l,m,!0),g=ju[f];if(g==null)throw new Error(`${f} activation not yet supported for FusedDepthwiseConv2D in the wasm backend.`);let x=n.dataIdMap.get(o.dataId).id,b=n.dataIdMap.get(s.dataId).id,w=h.outChannels,I=0;if(i!=null){let ot=n.dataIdMap.get(i.dataId);if(ot.shape.length!==1)throw new Error(`FusedDepthwiseConv2D only supports rank-1 bias but got rank ${ot.shape.length}.`);if(ot.shape[0]!==w)throw new Error(`FusedDepthwiseConv2D bias shape (${ot.shape}) does not match the number of output channels (${w})`);I=ot.id}let N=h.filterHeight,E=h.filterWidth,A=h.padInfo.top,D=h.padInfo.right,F=h.padInfo.bottom,M=h.padInfo.left,V=h.dilationHeight,G=h.dilationWidth,W=h.strideHeight,q=h.strideWidth,H=h.inChannels,K=h.padInfo.type===\"SAME\"?1:0,Y=h.batchSize,Z=h.inHeight,et=h.inWidth;if(p!==\"NHWC\")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${p}'. Please use 'NHWC'.`);let nt=n.makeOutput(h.outShape,\"float32\"),st=n.dataIdMap.get(nt.dataId).id,lt=a==null?0:n.dataIdMap.get(a.dataId).id;return mU(x,Y,Z,et,b,N,E,I,A,D,F,M,K,V,G,W,q,H,w,g,lt,d||0,st),nt}var fU={kernelName:Yi,backendName:\"wasm\",setupFunc:vct,kernelFunc:Sct};var dU;function Nct(r){dU=r.wasm.cwrap(Va,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function kct(r){let{backend:t,inputs:e}=r,{params:n,indices:o}=e,[s,i,a,u]=Ey.prepareAndValidate(n,o),l=t.makeOutput(s,n.dtype);if(i===0)return l;let c=o.shape,p=c[c.length-1],f=t.dataIdMap.get(n.dataId).id,h=t.dataIdMap.get(o.dataId).id,g=new Uint8Array(new Int32Array(u).buffer),x=t.dataIdMap.get(l.dataId).id;return dU(f,Nt[n.dtype],h,i,p,a,g,x),l}var hU={kernelName:Va,backendName:\"wasm\",setupFunc:Nct,kernelFunc:kct};var gU;function Tct(r){gU=r.wasm.cwrap(\"Gather\",null,[\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function _ct(r){let{backend:t,inputs:e,attrs:n}=r,{x:o,indices:s}=e,{axis:i,batchDims:a}=n,u=y.parseAxisParam(i,o.shape)[0],l=t.readSync(s.dataId),c=o.shape[u];for(let F=0;F=0,()=>`GatherV2: the index value ${M} is not in [0, ${c-1}]`)}let p=S.segment_util.collectGatherOpShapeInfo(o,s,u,a),m=mr({inputs:{x:o},attrs:{shape:[p.batchSize,p.outerSize,p.dimSize,p.sliceSize]},backend:t}),f=y.sizeFromShape(s.shape),d=mr({inputs:{x:s},attrs:{shape:[p.batchSize,f/p.batchSize]},backend:t}),h=[p.batchSize,p.outerSize,f/p.batchSize,p.sliceSize],g=t.makeOutput(h,o.dtype);if(y.sizeFromShape(o.shape)===0)return g;let x=m.shape.length-1,w=t.dataIdMap.get(m.dataId).id,N=t.dataIdMap.get(d.dataId).id,E=t.dataIdMap.get(g.dataId).id,A=new Uint8Array(new Int32Array(y.computeStrides(m.shape)).buffer),D=new Uint8Array(new Int32Array(y.computeStrides(h)).buffer);return gU(w,Nt[o.dtype],A,x,N,p.batchSize,D,E),t.disposeData(m.dataId),t.disposeData(d.dataId),g.shape=p.outputShape,g}var xU={kernelName:Mi,backendName:\"wasm\",setupFunc:Tct,kernelFunc:_ct};var Ect=!1,yU=ee(Ga,Ect,\"bool\");var Act=!1,bU=ee(hs,Act,\"bool\");var wU=yt(gs,\"bool\");var IU=yt(xs,\"bool\");var CU=yt(ys,\"bool\");var vU;function Dct(r){vU=r.wasm.cwrap(bs,null,[\"number\",\"number\",\"number\",\"number\"])}function $ct(r){let{inputs:{x:t},attrs:{alpha:e},backend:n}=r,o=n.dataIdMap.get(t.dataId).id,s=n.makeOutput(t.shape,\"float32\");if(y.sizeFromShape(t.shape)!==0){let i=n.dataIdMap.get(s.dataId).id;vU(o,Nt[t.dtype],e,i)}return s}var SU={kernelName:bs,backendName:\"wasm\",setupFunc:Dct,kernelFunc:$ct};var Rct=!1,NU=ee(Wa,Rct,\"bool\");var Fct=!1,kU=ee(Ua,Fct,\"bool\");var TU;function Oct(r){TU=r.wasm.cwrap(Ha,null,[\"number\",\"number\",\"number\",\"number\"])}function Mct(r){let{attrs:t,backend:e}=r,{start:n,stop:o,num:s}=t,i=Math.floor(s),a=e.makeOutput([i],\"float32\");return TU(e.dataIdMap.get(a.dataId).id,n,o,i),a}var _U={kernelName:Ha,backendName:\"wasm\",setupFunc:Oct,kernelFunc:Mct};var EU=yt(ws);var AU=yt(Is);var Pct=!1,DU=ee(qa,Pct,\"bool\");var $U=yt(Ka);var Lct=!1,RU=ee(ja,Lct,\"bool\");var zct=!1,FU=ee(T_,zct,\"bool\");var OU;function Bct(r){OU=r.wasm.cwrap(Cs,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Vct(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{depthRadius:s,bias:i,alpha:a,beta:u}=n;if(o.dtype!==\"float32\")throw new Error(\"LRN error: x must have dtype float32\");let l=e.makeOutput(o.shape,o.dtype);return OU(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(l.dataId).id,o.shape[3],s,i,a,u),l}var MU={kernelName:Cs,backendName:\"wasm\",setupFunc:Bct,kernelFunc:Vct};var PU;function Gct(r){PU=r.wasm.cwrap(Xa,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Wct(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,y:s,dy:i}=t,{depthRadius:a,bias:u,alpha:l,beta:c}=n;if(o.dtype!==\"float32\"||s.dtype!==\"float32\"||i.dtype!==\"float32\")throw new Error(\"LRNGrad error: x, y, and dy must have dtype float32\");let p=e.makeOutput(o.shape,o.dtype);return PU(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(i.dataId).id,e.dataIdMap.get(p.dataId).id,i.shape[3],a,u,l,c),p}var LU={kernelName:Xa,backendName:\"wasm\",setupFunc:Gct,kernelFunc:Wct};var zU;function Uct(r){zU=r.wasm.cwrap(vs,null,[\"number\",\"number\",\"number\",\"number\"])}function Hct(r){let{backend:t,inputs:e,attrs:n}=r,{reductionIndices:o,keepDims:s}=n,{x:i}=e,u=t.dataIdMap.get(i.dataId).id,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Cn(i,o,t);if(f){let w=t.dataIdMap.get(c.dataId).id;l=c,u=w}let d=l.shape.length;S.assertAxesAreInnerMostDims(\"max\",p,d);let[h,g]=S.computeOutAndReduceShapes(l.shape,p),x=y.sizeFromShape(g),b=t.makeOutput(h,i.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;zU(u,Nt[i.dtype],x,w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var BU={kernelName:vs,backendName:\"wasm\",setupFunc:Uct,kernelFunc:Hct};var qct=!1,VU=ee(Ss,qct);var GU;function Kct(r){GU=r.wasm.cwrap(Ns,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function jct(r){let{inputs:t,attrs:e,backend:n}=r,o=t.x,s=n.dataIdMap.get(o.dataId).id;y.assert(o.dtype===\"float32\",()=>`Error in MaxPool: only float32 input is supported. Got ${o.dtype}.`);let{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=e,c=S.computePool2DInfo(o.shape,i,a,1,u,l),p=c.filterHeight,m=c.filterWidth,f=c.padInfo.top,d=c.padInfo.right,h=c.padInfo.bottom,g=c.padInfo.left,x=c.dilationHeight,b=c.dilationWidth,w=c.strideHeight,I=c.strideWidth,N=c.inChannels,E=c.outChannels;if(c.dataFormat!==\"channelsLast\")throw new Error(`wasm backend does not support dataFormat:'${c.dataFormat}'. Please use 'channelsLast'.`);let A=n.makeOutput(c.outShape,\"float32\"),D=n.dataIdMap.get(A.dataId).id;return GU(s,o.shape[0],o.shape[1],o.shape[2],p,m,f,d,h,g,x,b,w,I,N,E,D),A}var WU={kernelName:Ns,backendName:\"wasm\",setupFunc:Kct,kernelFunc:jct};var UU;function Xct(r){UU=r.wasm.cwrap(\"MaxPool3D\",null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Yct(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n,c=S.computePool3DInfo(o.shape,s,i,1,a,u,l),p=e.makeOutput(c.outShape,o.dtype);return UU(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(p.dataId).id,c.batchSize,c.inChannels,c.inDepth,c.inHeight,c.inWidth,c.outDepth,c.outHeight,c.outWidth,c.strideDepth,c.strideHeight,c.strideWidth,c.dilationDepth,c.dilationHeight,c.dilationWidth,c.effectiveFilterDepth,c.effectiveFilterHeight,c.effectiveFilterWidth,c.padInfo.front,c.padInfo.top,c.padInfo.left),p}var HU={kernelName:Pi,backendName:\"wasm\",setupFunc:Xct,kernelFunc:Yct};var qU;function Zct(r){qU=r.wasm.cwrap(\"MaxPool3DGrad\",null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Jct(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=n,c=S.computePool3DInfo(s.shape,i,a,1,u,l),p=e.makeOutput(s.shape,s.dtype);return qU(e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(p.dataId).id,c.batchSize,c.inChannels,c.inDepth,c.inHeight,c.inWidth,c.outDepth,c.outHeight,c.outWidth,c.strideDepth,c.strideHeight,c.strideWidth,c.dilationDepth,c.dilationHeight,c.dilationWidth,c.effectiveFilterDepth,c.effectiveFilterHeight,c.effectiveFilterWidth,c.padInfo.front,c.padInfo.top,c.padInfo.left),p}var KU={kernelName:tu,backendName:\"wasm\",setupFunc:Zct,kernelFunc:Jct};var jU;function Qct(r){jU=r.wasm.cwrap(\"MaxPoolGrad\",null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function tpt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=n,c=S.computePool2DInfo(s.shape,i,a,1,u,l),p=e.makeOutput(s.shape,s.dtype);return jU(e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(p.dataId).id,c.batchSize,c.inChannels,c.inHeight,c.inWidth,c.outHeight,c.outWidth,c.strideHeight,c.strideWidth,c.dilationHeight,c.dilationWidth,c.effectiveFilterHeight,c.effectiveFilterWidth,c.padInfo.top,c.padInfo.left),p}var XU={kernelName:Ql,backendName:\"wasm\",setupFunc:Qct,kernelFunc:tpt};var YU;function ept(r){YU=r.wasm.cwrap(\"MaxPoolWithArgmax\",null,[\"number\",\"number\",\"number\",\"number\",\"boolean\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function rpt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,includeBatchInIndex:u}=n;y.assert(o.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${o.shape.length}.`);let l=[1,1];y.assert(S.eitherStridesOrDilationsAreOne(i,l),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,[1,1],a),p=e.makeOutput(c.outShape,o.dtype),m=e.makeOutput(c.outShape,\"int32\");return YU(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(p.dataId).id,e.dataIdMap.get(m.dataId).id,Nt[o.dtype],u,c.batchSize,c.inChannels,c.inHeight,c.inWidth,c.outHeight,c.outWidth,c.strideHeight,c.strideWidth,c.dilationHeight,c.dilationWidth,c.effectiveFilterHeight,c.effectiveFilterWidth,c.padInfo.top,c.padInfo.left),[p,m]}var ZU={kernelName:eu,backendName:\"wasm\",setupFunc:ept,kernelFunc:rpt};var JU;function npt(r){JU=r.wasm.cwrap(ks,null,[\"number, number, number\"])}function opt(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Cn(i,o,t),d=p;if(f){let I=t.dataIdMap.get(c.dataId).id;I!==a&&(l=c,u=I,d=S.getInnerMostAxes(d.length,l.shape.length))}S.assertAxesAreInnerMostDims(\"mean\",d,l.shape.length);let[h,g]=S.computeOutAndReduceShapes(l.shape,d),x=y.sizeFromShape(g),b=l;l.dtype!==\"float32\"&&(b=Fn({backend:t,inputs:{x:l},attrs:{dtype:\"float32\"}}),u=t.dataIdMap.get(b.dataId).id);let w=t.makeOutput(h,\"float32\");if(y.sizeFromShape(l.shape)!==0){let I=t.dataIdMap.get(w.dataId).id;JU(u,x,I)}if(f&&t.disposeData(c.dataId),s){let I=S.expandShapeToKeepDim(w.shape,m);w.shape=I}return l.dtype!==\"float32\"&&t.disposeData(b.dataId),w}var QU={kernelName:ks,backendName:\"wasm\",setupFunc:npt,kernelFunc:opt};var t4;function spt(r){t4=r.wasm.cwrap(Ts,null,[\"number\",\"number\",\"number\",\"number\"])}function ipt(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Cn(i,o,t);if(f){let w=t.dataIdMap.get(c.dataId).id;w!==a&&(l=c,u=w)}let d=l.shape.length;S.assertAxesAreInnerMostDims(\"min\",p,d);let[h,g]=S.computeOutAndReduceShapes(l.shape,p),x=y.sizeFromShape(g),b=t.makeOutput(h,l.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;t4(u,Nt[i.dtype],x,w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var e4={kernelName:Ts,backendName:\"wasm\",setupFunc:spt,kernelFunc:ipt};var apt=!1,r4=ee(_s,apt);var Y1;(function(r){r[r.reflect=0]=\"reflect\",r[r.symmetric=1]=\"symmetric\"})(Y1||(Y1={}));var n4;function lpt(r){n4=r.wasm.cwrap(Es,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function upt(r){let{inputs:{x:t},backend:e,attrs:{paddings:n,mode:o}}=r,s=n.map((d,h)=>d[0]+t.shape[h]+d[1]),i=e.dataIdMap.get(t.dataId).id,a=e.makeOutput(s,t.dtype),u=e.dataIdMap.get(a.dataId).id,l=new Uint8Array(new Int32Array(t.shape).buffer),c=n.map(d=>d[0]),p=n.map(d=>d[1]),m=new Uint8Array(new Int32Array(c).buffer),f=new Uint8Array(new Int32Array(p).buffer);return n4(i,l,t.shape.length,Nt[t.dtype],m,f,Y1[o],u),a}var o4={kernelName:Es,backendName:\"wasm\",kernelFunc:upt,setupFunc:lpt};var s4;function cpt(r){s4=r.wasm.cwrap(Qs,null,[\"number\",\"number\",\"number\",\"number\"])}function Z1(r){let{backend:t,inputs:{logits:e},attrs:{dim:n}}=r,o=t.dataIdMap.get(e.dataId).id,s=t.makeOutput(e.shape,e.dtype),i=t.dataIdMap.get(s.dataId).id,a=e.shape[n],u=y.sizeFromShape(e.shape)/a;return y.sizeFromShape(s.shape)===0||s4(o,i,a,u),s}var i4={kernelName:Qs,backendName:\"wasm\",setupFunc:cpt,kernelFunc:Z1};var a4;function ppt(r){a4=r.wasm.cwrap(Ya,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function mpt(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{numSamples:s,seed:i,normalized:a}=n;if(o.dtype!==\"float32\")throw new Error(`Tensor logits must have dtype float32, got ${o.dtype}`);let u=a?o:Z1({inputs:{logits:o},backend:e,attrs:{dim:o.shape.length-1}}),[l,c]=u.shape,p=e.makeOutput([l,s],\"int32\");return a4(e.dataIdMap.get(u.dataId).id,l,c,s,i,e.dataIdMap.get(p.dataId).id),a||e.disposeData(u.dataId),p}var l4={kernelName:Ya,backendName:\"wasm\",setupFunc:ppt,kernelFunc:mpt};var u4=ee(As,!0);var fpt=!0,c4=ee(Ds,fpt);var p4=yt(Li);function zd(r,t){let e=new Int32Array(r.wasm.HEAPU8.buffer,t,4),n=e[0],o=e[1],s=e[2],i=e[3];return r.wasm._free(t),{pSelectedIndices:n,selectedSize:o,pSelectedScores:s,pValidOutputs:i}}var m4;function dpt(r){m4=r.wasm.cwrap(Ja,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\"])}function hpt(r){let{backend:t,inputs:e,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:i}=n,{boxes:a,scores:u}=e,l=t.dataIdMap.get(a.dataId).id,c=t.dataIdMap.get(u.dataId).id,p=m4(l,c,s,o,i),{pSelectedIndices:m,selectedSize:f,pSelectedScores:d,pValidOutputs:h}=zd(t,p);return t.wasm._free(d),t.wasm._free(h),t.makeOutput([f],\"int32\",m)}var f4={kernelName:Ja,backendName:\"wasm\",setupFunc:dpt,kernelFunc:hpt};var d4;function gpt(r){d4=r.wasm.cwrap(Qa,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\",\"bool\"])}function xpt(r){let{backend:t,inputs:e,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:i,padToMaxOutputSize:a}=n,{boxes:u,scores:l}=e,c=t.dataIdMap.get(u.dataId).id,p=t.dataIdMap.get(l.dataId).id,m=d4(c,p,s,o,i,a),{pSelectedIndices:f,selectedSize:d,pSelectedScores:h,pValidOutputs:g}=zd(t,m);t.wasm._free(h);let x=t.makeOutput([d],\"int32\",f),b=t.makeOutput([],\"int32\",g);return[x,b]}var h4={kernelName:Qa,backendName:\"wasm\",setupFunc:gpt,kernelFunc:xpt};var g4;function ypt(r){g4=r.wasm.cwrap(tl,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function bpt(r){let{backend:t,inputs:e,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:i,softNmsSigma:a}=n,{boxes:u,scores:l}=e,c=t.dataIdMap.get(u.dataId).id,p=t.dataIdMap.get(l.dataId).id,m=g4(c,p,s,o,i,a),{pSelectedIndices:f,selectedSize:d,pSelectedScores:h,pValidOutputs:g}=zd(t,m);t.wasm._free(g);let x=t.makeOutput([d],\"int32\",f),b=t.makeOutput([d],\"float32\",h);return[x,b]}var x4={kernelName:tl,backendName:\"wasm\",setupFunc:ypt,kernelFunc:bpt};var wpt=!1,y4=ee(Za,wpt,\"bool\");var b4;function Ipt(r){b4=r.wasm.cwrap($s,null,[\"number\",\"number\",\"number\",\"number\",\"number\"])}function Cpt(r){let{inputs:t,backend:e,attrs:n}=r,{indices:o}=t,{dtype:s,depth:i,onValue:a,offValue:u}=n,l=e.makeOutput([...o.shape,i],s),c=e.dataIdMap.get(l.dataId).id,m=e.dataIdMap.get(o.dataId).id;return b4(m,i,a,u,c),l}var w4={kernelName:$s,backendName:\"wasm\",setupFunc:Ipt,kernelFunc:Cpt};function vpt(r){let{inputs:{x:t},backend:e}=r,n=e.makeOutput(t.shape,t.dtype);return e.typedArrayFromHeap(n).fill(1),n}var I4={kernelName:zi,backendName:\"wasm\",kernelFunc:vpt};function Spt(r){let{inputs:t,backend:e,attrs:n}=r,{axis:o}=n;if(t.length===1)return TC({inputs:{input:t[0]},backend:e,attrs:{dim:o}});let s=t[0].shape,i=t[0].dtype;t.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(i===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let a=[],u=t.map(c=>{let p=TC({inputs:{input:c},backend:e,attrs:{dim:o}});return a.push(p),p}),l=K1({inputs:u,backend:e,attrs:{axis:o}});return a.forEach(c=>e.disposeData(c.dataId)),l}var C4={kernelName:Bi,backendName:\"wasm\",kernelFunc:Spt};var v4;function Npt(r){v4=r.wasm.cwrap(Rs,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function kpt(r){let{inputs:{x:t},backend:e,attrs:{paddings:n,constantValue:o}}=r,s=n.map((h,g)=>h[0]+t.shape[g]+h[1]);if(y.sizeFromShape(t.shape)===0)return X1({backend:e,attrs:{shape:s,value:o,dtype:t.dtype}});let i=e.dataIdMap.get(t.dataId).id,a=e.makeOutput(s,t.dtype),l=e.dataIdMap.get(a.dataId).id,c=new Uint8Array(new Int32Array(t.shape).buffer),p=n.map(h=>h[0]),m=n.map(h=>h[1]),f=new Uint8Array(new Int32Array(p).buffer),d=new Uint8Array(new Int32Array(m).buffer);return v4(i,c,t.shape.length,Nt[t.dtype],f,d,o,l),a}var _C={kernelName:Rs,backendName:\"wasm\",kernelFunc:kpt,setupFunc:Npt};var Tpt=!1,S4=ee(Fs,Tpt);var N4;function _pt(r){N4=r.wasm.cwrap(Os,null,[\"number\",\"number\",\"number\"])}function Ept(r){let{inputs:t,backend:e}=r,{x:n,alpha:o}=t,s=e.dataIdMap.get(n.dataId).id,i=e.dataIdMap.get(o.dataId).id,a=s,u=n,l=u;u.dtype!==\"float32\"&&(l=Fn({backend:e,inputs:{x:n},attrs:{dtype:\"float32\"}}),a=e.dataIdMap.get(l.dataId).id);let c=e.makeOutput(n.shape,\"float32\"),p=e.dataIdMap.get(c.dataId).id;return N4(a,i,p),u.dtype!==\"float32\"&&e.disposeData(l.dataId),c}var k4={kernelName:Os,backendName:\"wasm\",setupFunc:_pt,kernelFunc:Ept};var T4;function Apt(r){T4=r.wasm.cwrap(Ms,null,[\"number\",\"number\",\"number\",\"number\"])}function Dpt(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Cn(i,o,t),d=p;if(f){let w=t.dataIdMap.get(c.dataId).id;w!==a&&(l=c,u=w,d=S.getInnerMostAxes(d.length,l.shape.length))}S.assertAxesAreInnerMostDims(\"prod\",d,l.shape.length);let[h,g]=S.computeOutAndReduceShapes(l.shape,d),x=y.sizeFromShape(g),b=t.makeOutput(h,l.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;T4(u,x,Nt[b.dtype],w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var _4={kernelName:Ms,backendName:\"wasm\",setupFunc:Apt,kernelFunc:Dpt};var $pt=r=>{let{backend:t,attrs:e}=r,{start:n,stop:o,step:s,dtype:i}=e,a=tp(n,o,s,i),u=t.makeOutput([a.length],i);return t.typedArrayFromHeap(u).set(a),u},E4={kernelName:ru,backendName:\"wasm\",kernelFunc:$pt};var Rpt=!0,A4=ee(as,Rpt);var D4=yt(Ps);var $4=yt(Ls);var R4=yt(Vs);var F4;function Fpt(r){F4=r.wasm.cwrap(Bs,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Opt(r){let{backend:t,inputs:e,attrs:n}=r,{images:o}=e,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,[c,p,m,f]=o.shape,d=[c,u,l,f],h=t.dataIdMap.get(o.dataId),g;h.dtype!==\"float32\"&&(g=Fn({backend:t,inputs:{x:o},attrs:{dtype:\"float32\"}}),h=t.dataIdMap.get(g.dataId));let x=h.id,b=t.makeOutput(d,\"float32\");if(y.sizeFromShape(o.shape)===0)return b;let w=t.dataIdMap.get(b.dataId).id;return F4(x,c,p,m,f,u,l,s?1:0,i?1:0,w),g!=null&&t.disposeData(g.dataId),b}var O4={kernelName:Bs,backendName:\"wasm\",setupFunc:Fpt,kernelFunc:Opt};var M4;function Mpt(r){M4=r.wasm.cwrap(rl,null,[\"number\",\"number\",\"number\",\"array\",\"array\",\"boolean\"])}function Ppt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o,dy:s}=t,{alignCorners:i}=n,a=e.makeOutput(o.shape,\"float32\"),u=e.dataIdMap.get(o.dataId),l;return u.dtype!==\"float32\"&&(l=Fn({backend:e,inputs:{x:o},attrs:{dtype:\"float32\"}}),u=e.dataIdMap.get(l.dataId)),M4(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(a.dataId).id,new Uint8Array(new Int32Array(o.shape).buffer),new Uint8Array(new Int32Array(s.shape).buffer),i),l!=null&&e.disposeData(l.dataId),a}var P4={kernelName:rl,backendName:\"wasm\",setupFunc:Mpt,kernelFunc:Ppt};var L4;function Lpt(r){L4=r.wasm.cwrap(zs,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function zpt(r){let{backend:t,inputs:e,attrs:n}=r,{images:o}=e,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,[c,p,m,f]=o.shape,d=[c,u,l,f],h=t.makeOutput(d,\"float32\");if(y.sizeFromShape(o.shape)===0)return h;let g=t.dataIdMap.get(o.dataId),x;g.dtype!==\"float32\"&&(x=Fn({backend:t,inputs:{x:o},attrs:{dtype:\"float32\"}}),g=t.dataIdMap.get(x.dataId));let b=g.id,w=t.dataIdMap.get(h.dataId).id;return L4(b,c,p,m,f,u,l,s?1:0,i?1:0,w),x!=null&&t.disposeData(x.dataId),h}var z4={kernelName:zs,backendName:\"wasm\",setupFunc:Lpt,kernelFunc:zpt};var B4;function Bpt(r){B4=r.wasm.cwrap(el,null,[\"number\",\"number\",\"number\",\"array\",\"array\",\"boolean\"])}function Vpt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o,dy:s}=t,{alignCorners:i}=n,a=e.makeOutput(o.shape,\"float32\"),u=e.dataIdMap.get(o.dataId),l;return u.dtype!==\"float32\"&&(l=Fn({backend:e,inputs:{x:o},attrs:{dtype:\"float32\"}}),u=e.dataIdMap.get(l.dataId)),B4(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(a.dataId).id,new Uint8Array(new Int32Array(o.shape).buffer),new Uint8Array(new Int32Array(s.shape).buffer),i),l!=null&&e.disposeData(l.dataId),a}var V4={kernelName:el,backendName:\"wasm\",setupFunc:Bpt,kernelFunc:Vpt};var G4;function Gpt(r){G4=r.wasm.cwrap(Gs,null,[\"number\",\"array\",\"number\",\"array\",\"number\",\"number\"])}function Wpt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dims:s}=n,i=y.parseAxisParam(s,o.shape);if(o.shape.length===0)return yp({inputs:{x:o},backend:e});let a=e.makeOutput(o.shape,o.dtype),u=e.dataIdMap.get(o.dataId).id,l=e.dataIdMap.get(a.dataId).id,c=new Uint8Array(new Int32Array(i).buffer),p=new Uint8Array(new Int32Array(o.shape).buffer);G4(u,c,i.length,p,o.shape.length,l);let m=mr({inputs:{x:a},attrs:{shape:o.shape},backend:e});return e.disposeData(a.dataId),m}var W4={kernelName:Gs,backendName:\"wasm\",kernelFunc:Wpt,setupFunc:Gpt};var U4;function Upt(r){U4=r.wasm.cwrap(pl,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function Hpt(r){let{inputs:t,backend:e,attrs:n}=r,{image:o}=t,{radians:s,fillValue:i,center:a}=n,u=e.makeOutput(o.shape,o.dtype),l=e.dataIdMap.get(o.dataId).id,c=e.dataIdMap.get(u.dataId).id,[p,m,f,d]=o.shape,[h,g]=S.getImageCenter(a,m,f),x=i===0,b=255,w=typeof i==\"number\"?[i,i,i,x?0:b]:[...i,b],I=new Uint8Array(new Int32Array(w).buffer);return U4(l,p,m,f,d,s,h,g,I,w.length,c),u}var H4={kernelName:pl,backendName:\"wasm\",kernelFunc:Hpt,setupFunc:Upt};var q4=yt(Ws);var K4=yt(Us);var j4;function qpt(r){j4=r.wasm.cwrap(nl,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function Kpt(r){let{backend:t,inputs:e,attrs:n}=r,{indices:o,updates:s}=e,{shape:i}=n,a=t.makeOutput(i,s.dtype);if(y.sizeFromShape(i)===0)return a;let{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=$u.calculateShapes(s,o,i),d=t.dataIdMap.get(o.dataId).id,g=t.dataIdMap.get(s.dataId).id,x=new Uint8Array(new Int32Array(p).buffer),b=t.dataIdMap.get(a.dataId).id;return j4(d,g,Nt[s.dtype],u,l,c,x,m,b),a}var X4={kernelName:nl,backendName:\"wasm\",setupFunc:qpt,kernelFunc:Kpt};var Y4;function jpt(r){Y4=r.wasm.cwrap(sl,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"bool\",\"number\"])}function Xpt(r){let{inputs:t,backend:e,attrs:n}=r,{sortedSequence:o,values:s}=t,{side:i}=n;if(o.dtype!==s.dtype)throw new Error(`SearchSorted error: sorted_sequence must have the same dtype as values. Got ${o.dtype} and ${s.dtype}`);let a=e.makeOutput(s.shape,\"int32\");function u(l){return e.dataIdMap.get(l.dataId).id}return Y4(u(o),u(s),o.shape[0],o.shape[1],s.shape[1],Nt[o.dtype],i===\"left\",u(a)),a}var Z4={kernelName:sl,backendName:\"wasm\",setupFunc:jpt,kernelFunc:Xpt};var J4;function Ypt(r){J4=r.wasm.cwrap(\"SelectV2\",null,[\"number\",\"number\",\"number\",\"number\",\"number\"])}function Zpt(r){let{inputs:t,backend:e}=r,{condition:n,t:o,e:s}=t,i=e.dataIdMap.get(n.dataId).id,a=e.dataIdMap.get(o.dataId).id,u=e.dataIdMap.get(s.dataId).id,l=e.makeOutput(o.shape,o.dtype),c=e.dataIdMap.get(l.dataId).id,p=n.shape.length,m=o.shape.length,f=p===0||p>1||m===1?1:y.sizeFromShape(o.shape.slice(1));return J4(i,a,u,f,c),l}var Q4={kernelName:Gi,backendName:\"wasm\",kernelFunc:Zpt,setupFunc:Ypt};var tH=yt(Hs);var eH;function Jpt(r){eH=r.wasm.cwrap(Xs,null,[\"number\",\"number\"])}function Qpt(r){let{backend:t,inputs:{x:e}}=r,n=t.dataIdMap.get(e.dataId).id,o=t.makeOutput(e.shape,e.dtype),s=t.dataIdMap.get(o.dataId).id;return y.sizeFromShape(o.shape)===0||eH(n,s),o}var rH={kernelName:\"Sigmoid\",backendName:\"wasm\",setupFunc:Jpt,kernelFunc:Qpt};var nH=yt(js);var oH=yt(qs);var sH=yt(Ks);var iH=yt(Ys);function tmt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,paddings:i}=n,a=y.sizeFromShape(s),u=[[0,0]];u.push(...i);for(let E=1+s.length;E0?u+1:0;if(c<0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let p=o.shape.slice();p[0]=c;let m=e.dataIdMap.get(o.dataId).id,f=e.dataIdMap.get(s.dataId).id,d=e.dataIdMap.get(i.dataId).id,h=e.makeOutput(p,o.dtype),g=e.dataIdMap.get(h.dataId).id,x=e.makeOutput([4],\"int32\"),b=e.dataIdMap.get(x.dataId).id;mH(m,Nt[o.dtype],o.shape[0],f,d,g,b,t,0);let w=e.readSync(x.dataId),I;switch(w[0]){case 0:{I=S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{I=S.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:I=S.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(w[1],w[2]);break;case 3:I=S.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(w[1],w[2],w[3]);break;default:I=\"\"}if(e.disposeData(x.dataId),I)throw e.disposeData(h.dataId),new Error(I);return h}function smt(r){return AC(r,!0)}var fH={kernelName:ou,backendName:\"wasm\",setupFunc:EC,kernelFunc:smt};function imt(r){return AC(r,!1)}var dH={kernelName:su,backendName:\"wasm\",setupFunc:EC,kernelFunc:imt};var hH;function amt(r){hH=r.wasm.cwrap(al,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function lmt(r){let{backend:t,inputs:e,attrs:n}=r,{sparseIndices:o,sparseValues:s,defaultValue:i}=e,{outputShape:a}=n,u=t.makeOutput(a,i.dtype);if(y.sizeFromShape(a)===0)return u;let{sliceRank:l,numUpdates:c,sliceSize:p,strides:m,outputSize:f}=S.calculateShapes(s,o,a),d=t.dataIdMap.get(o.dataId).id,h=t.dataIdMap.get(s.dataId).id,g=t.dataIdMap.get(i.dataId).id,x=new Uint8Array(new Int32Array(m).buffer),b=t.dataIdMap.get(u.dataId).id;return hH(d,h,s.shape.length,g,Nt[i.dtype],l,c,p,x,f,b),u}var gH={kernelName:al,backendName:\"wasm\",setupFunc:amt,kernelFunc:lmt};function umt(r){let{inputs:t,attrs:e,backend:n}=r,{x:o}=t,{numOrSizeSplits:s,axis:i}=e,a=y.parseAxisParam(i,o.shape)[0],u=S.prepareSplitSize(o,s,a),l=new Array(o.shape.length).fill(0),c=o.shape.slice();return u.map(p=>{let m=[...c];m[a]=p;let f=Lo({inputs:{x:o},attrs:{begin:l,size:m},backend:n});return l[a]+=p,f})}var xH={kernelName:Hi,backendName:\"wasm\",kernelFunc:umt};var yH=yt(Zs);var bH=yt(iu);var cmt=!0,wH=ee(ti,cmt);var IH;function pmt(r){IH=r.wasm.cwrap(xo,null,[\"number\",\"number\",\"number\",\"number\"])}function mmt(r){let{backend:t,inputs:e,attrs:n}=r,{alpha:o}=n,{x:s}=e,i=t.dataIdMap.get(s.dataId).id,a=t.makeOutput(s.shape,s.dtype),u=t.dataIdMap.get(a.dataId).id;return IH(i,o,Nt[s.dtype],u),a}var CH={kernelName:xo,backendName:\"wasm\",setupFunc:pmt,kernelFunc:mmt};var vH;function fmt(r){vH=r.wasm.cwrap(ll,null,[\"number\",\"array\",\"number\",\"array\",\"array\",\"array\",\"array\",\"array\",\"number\",\"number\"])}function dmt(r){let{backend:t,inputs:e,attrs:n}=r,{x:o}=e,{begin:s,end:i,strides:a,beginMask:u,endMask:l,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n,{finalShapeSparse:f,finalShape:d,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:w,strides:I}=Be.sliceInfo(o.shape,s,i,a,u,l,c,p,m),N;if(h)N=mr({inputs:{x:o},backend:t,attrs:{shape:d}});else if(g||x){y.assert(o.shape.length>=1,()=>`Input must have rank at least 1, got: ${o.shape.length}`);let E=Be.computeOutShape(b,w,I),A=Lo({inputs:{x:o},backend:t,attrs:{begin:b,size:E}});N=mr({inputs:{x:A},backend:t,attrs:{shape:d}}),t.disposeData(A.dataId)}else{let E=t.makeOutput(f,\"float32\"),A=t.dataIdMap.get(o.dataId).id,D=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),F=new Uint8Array(new Int32Array(b).buffer),M=new Uint8Array(new Int32Array(w).buffer),V=new Uint8Array(new Int32Array(I).buffer),G=new Uint8Array(new Int32Array(f).buffer),W=new Uint8Array(new Int32Array(y.computeStrides(f)).buffer),q=t.dataIdMap.get(E.dataId).id;vH(A,D,o.shape.length,F,M,V,G,W,f.length,q),N=mr({inputs:{x:E},backend:t,attrs:{shape:d}}),t.disposeData(E.dataId)}return N}var SH={kernelName:ll,backendName:\"wasm\",setupFunc:fmt,kernelFunc:dmt};function hmt(r){let{backend:t,inputs:e,attrs:n}=r,{data:o,dataSplits:s}=e,{separator:i,nGramWidths:a,leftPad:u,rightPad:l,padWidth:c,preserveShortSequences:p}=n,m=t.readSync(o.dataId),f=t.readSync(s.dataId),[d,h]=rp(m,f,i,a,u,l,c,p),g=t.makeOutput([d.length],\"string\"),x=t.dataIdMap.get(g.dataId);x.stringBytes=d;let b=t.makeOutput(s.shape,\"int32\");return t.typedArrayFromHeap(b).set(h),[g,b]}var NH={kernelName:au,backendName:\"wasm\",kernelFunc:hmt};function gmt(r){let{backend:t,inputs:e,attrs:n}=r,{input:o,delimiter:s}=e,{skipEmpty:i}=n,a=t.readSync(o.dataId),u=t.readSync(s.dataId),[l,c,p]=np(a,u[0],i),m=c.length,f=t.makeOutput([m,2],\"int32\");t.typedArrayFromHeap(f).set(l);let h=t.makeOutput([m],\"string\"),g=t.dataIdMap.get(h.dataId);g.stringBytes=c;let x=t.makeOutput([2],\"int32\");return t.typedArrayFromHeap(x).set(p),[f,h,x]}var kH={kernelName:lu,backendName:\"wasm\",kernelFunc:gmt};function xmt(r){let{backend:t,inputs:e,attrs:n}=r,{input:o}=e,{numBuckets:s}=n,i=t.readSync(o.dataId),a=op(i,s),u=t.makeOutput(o.shape,\"int32\");return t.typedArrayFromHeap(u).set(a),u}var TH={kernelName:uu,backendName:\"wasm\",kernelFunc:xmt};var ymt=!0,_H=ee(ei,ymt);var EH;function bmt(r){EH=r.wasm.cwrap(Js,null,[\"number\",\"number\",\"number\",\"number\"])}function wmt(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Cn(i,o,t),d=p;if(f){let w=t.dataIdMap.get(c.dataId).id;w!==a&&(l=c,u=w,d=S.getInnerMostAxes(d.length,l.shape.length))}S.assertAxesAreInnerMostDims(\"sum\",d,l.shape.length);let[h,g]=S.computeOutAndReduceShapes(l.shape,d),x=y.sizeFromShape(g),b=t.makeOutput(h,l.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;EH(u,x,Nt[b.dtype],w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var AH={kernelName:Js,backendName:\"wasm\",setupFunc:bmt,kernelFunc:wmt};var DH=yt(ri);var $H=yt(ni);var RH;function Imt(r){RH=r.wasm.cwrap(ol,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\"])}function Cmt(r){let{backend:t,inputs:e,attrs:n}=r,{tensor:o,indices:s,updates:i}=e,{}=n,a=t.makeOutput(o.shape,o.dtype);if(y.sizeFromShape(o.shape)===0)return a;let{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=$u.calculateShapes(i,s,o.shape),d=t.dataIdMap.get(s.dataId).id,g=t.dataIdMap.get(i.dataId).id,b=t.dataIdMap.get(o.dataId).id,w=new Uint8Array(new Int32Array(p).buffer),I=t.dataIdMap.get(a.dataId).id;return RH(d,g,Nt[i.dtype],u,l,c,w,m,I,b),a}var FH={kernelName:ol,backendName:\"wasm\",setupFunc:Imt,kernelFunc:Cmt};var OH;function vmt(r){OH=r.wasm.cwrap(oo,null,[\"number\",\"array\",\"number\",\"array\",\"number\",\"number\"])}function Smt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,s=e.dataIdMap.get(o.dataId).id,{reps:i}=n,a=new Array(o.shape.length);for(let m=0;m{let{x:n}=r,{k:o,sorted:s}=e,i=t.dataIdMap.get(n.dataId).id,a=new Uint8Array(new Int32Array(n.shape).buffer),u=n.shape.slice();u[u.length-1]=o;let l=t.makeOutput(u,n.dtype),c=t.dataIdMap.get(l.dataId).id,p=t.makeOutput(u,\"int32\"),m=t.dataIdMap.get(p.dataId).id;return PH(i,a,n.shape.length,Nt[n.dtype],o,s,c,m),[l,p]},LH={kernelName:ul,backendName:\"wasm\",setupFunc:Nmt,kernelFunc:kmt};var zH;function Tmt(r){zH=r.wasm.cwrap(cl,null,[\"number\",\"number\",\"bool\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function _mt(r){let{backend:t,inputs:e,attrs:n}=r,{image:o,transforms:s}=e,{interpolation:i,fillMode:a,fillValue:u,outputShape:l}=n,[c,p,m,f]=o.shape,[d,h]=l!=null?l:[p,m],g=[c,d,h,f],x=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),b=new Uint8Array(new Int32Array(y.computeStrides(g)).buffer),w=t.makeOutput(g,o.dtype),I=t.dataIdMap.get(w.dataId).id,E=t.dataIdMap.get(o.dataId).id,D=t.dataIdMap.get(s.dataId).id,F=i===\"nearest\"?1:2,M;switch(a){case\"constant\":M=1;break;case\"reflect\":M=2;break;case\"wrap\":M=3;break;case\"nearest\":M=4;break;default:M=1;break}return zH(E,D,s.shape[0]>1,c,d,h,f,m,p,x,o.shape.length-1,b,g.length-1,F,M,u,I),w}var BH={kernelName:cl,backendName:\"wasm\",setupFunc:Tmt,kernelFunc:_mt};function Emt(r){let{inputs:t,attrs:e,backend:n}=r,{axis:o}=e,{x:s}=t,{outputValues:i,outputShape:a,indices:u}=sp(n.readSync(s.dataId),o,s.shape,s.dtype);return[n.makeOutput(a,s.dtype,void 0,i),n.makeOutput([u.length],\"int32\",void 0,u)]}var VH={kernelName:cu,backendName:\"wasm\",kernelFunc:Emt};function Amt(r){let{inputs:t,backend:e,attrs:n}=r,{value:o}=t,{axis:s}=n;s<0&&(s+=o.shape.length);let i=o.shape[s],a=o.shape.length,u=new Array(a-1),l=0;for(let f=0;f({dataId:f,dtype:d,shape:u}))}var GH={kernelName:qi,backendName:\"wasm\",kernelFunc:Amt};function Dmt(r){let{inputs:{x:t},backend:e}=r,n=e.makeOutput(t.shape,t.dtype);return e.typedArrayFromHeap(n).fill(0),n}var WH={kernelName:Ki,backendName:\"wasm\",kernelFunc:Dmt};var $mt=[_G,EG,AG,DG,$G,FG,zG,VG,GG,WG,UG,HG,qG,KG,jG,YG,rW,JG,tW,sW,aW,uW,cW,pW,mW,fW,hW,gW,yW,wW,CW,SW,kW,TW,_W,AW,$W,FW,MW,LW,BW,GW,UW,qW,jW,XW,ZW,JW,QW,tU,eU,rU,nU,sU,iU,aU,uU,pU,fU,hU,xU,yU,bU,OG,wU,IU,CU,SU,NU,kU,_U,AU,EU,DU,$U,RU,FU,MU,LU,BU,VU,WU,HU,KU,XU,ZU,QU,e4,r4,o4,l4,u4,c4,p4,f4,h4,x4,y4,w4,I4,C4,_C,S4,k4,_4,E4,A4,D4,$4,R4,nW,O4,P4,z4,V4,W4,H4,q4,K4,X4,Z4,Q4,tH,rH,nH,oH,sH,iW,i4,iH,aH,uH,pH,fH,dH,gH,xH,yH,bH,wH,CH,SH,NH,kH,TH,_H,AH,DH,$H,FH,MH,LH,BH,PG,VH,GH,WH];for(let r of $mt)rc(r);var J1=L();J1.registerFlag(\"WASM_HAS_SIMD_SUPPORT\",async()=>{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,9,1,7,0,65,0,253,15,26,11]))}catch(r){return!1}});J1.registerFlag(\"WASM_HAS_MULTITHREAD_SUPPORT\",async()=>{if(J1.get(\"IS_NODE\"))return!1;try{return 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(r){return!1}});var s_=Gl(KH()),QH=Gl(XH()),i_=Gl(YH());var ZH=s_.default||s_,Rmt=i_.default||i_,bg=class extends Bo{constructor(t){super(),this.wasm=t,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(eq),o_=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new Ta(this,Bn())}write(t,e,n){let o={id:this.dataIdNextNumber++};return this.move(o,t,e,n,1),o}numDataIds(){return this.dataIdMap.numDataIds()}async time(t){let e=y.now();return t(),{kernelMs:y.now()-e}}move(t,e,n,o,s){let i=this.dataIdNextNumber++;if(o===\"string\"){let c=e;this.dataIdMap.set(t,{id:i,stringBytes:c,shape:n,dtype:o,memoryOffset:null,refCount:s});return}let a=y.sizeFromShape(n),u=a*y.bytesPerElement(o),l=this.wasm._malloc(u)>>>0;this.dataIdMap.set(t,{id:i,memoryOffset:l,shape:n,dtype:o,refCount:s}),this.wasm.tfjs.registerTensor(i,a,l),e!=null&&this.wasm.HEAPU8.set(new Uint8Array(e.buffer,e.byteOffset,u),l)}async read(t){return this.readSync(t)}readSync(t,e,n){let{memoryOffset:o,dtype:s,shape:i,stringBytes:a}=this.dataIdMap.get(t);if(s===\"string\")return(e==null||e===0)&&(n==null||n>=a.length)?a:a.slice(e,n);e=e||0,n=n||y.sizeFromShape(i);let u=y.bytesPerElement(s),l=this.wasm.HEAPU8.slice(o+e*u,o+n*u);return Omt(l.buffer,s)}disposeData(t,e=!1){if(this.dataIdMap.has(t)){let n=this.dataIdMap.get(t);if(n.refCount--,!e&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(t)}return!0}refCount(t){return this.dataIdMap.has(t)?this.dataIdMap.get(t).refCount:0}incRef(t){let e=this.dataIdMap.get(t);e!=null&&e.refCount++}floatPrecision(){return 32}getMemoryOffset(t){return this.dataIdMap.get(t).memoryOffset}dispose(){this.wasm.tfjs.dispose(),\"PThread\"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(t,e,n,o){let s;if(n==null)s=this.write(o!=null?o:null,t,e);else{let i=this.dataIdNextNumber++;s={id:i},this.dataIdMap.set(s,{id:i,memoryOffset:n,shape:t,dtype:e,refCount:1});let a=y.sizeFromShape(t);this.wasm.tfjs.registerTensor(i,a,n)}return{dataId:s,shape:t,dtype:e}}typedArrayFromHeap({shape:t,dtype:e,dataId:n}){let o=this.wasm.HEAPU8.buffer,{memoryOffset:s}=this.dataIdMap.get(n),i=y.sizeFromShape(t);switch(e){case\"float32\":return new Float32Array(o,s,i);case\"int32\":return new Int32Array(o,s,i);case\"bool\":return new Uint8Array(o,s,i);default:throw new Error(`Unknown dtype ${e}`)}}};function Fmt(r){return(t,e)=>(y.fetch(r,{credentials:\"same-origin\"}).then(n=>{n.ok||t.env.a(`failed to load wasm binary file at '${r}'`),n.arrayBuffer().then(o=>{WebAssembly.instantiate(o,t).then(s=>{e(s.instance,s.module)})})}),{})}function JH(r,t,e){if(RC!=null)return RC;let n=\"tfjs-backend-wasm.wasm\";return r&&t?n=\"tfjs-backend-wasm-threaded-simd.wasm\":r&&(n=\"tfjs-backend-wasm-simd.wasm\"),xg!=null&&xg[n]!=null?xg[n]:e+n}async function tq(){let[r,t]=await Promise.all([L().getAsync(\"WASM_HAS_SIMD_SUPPORT\"),L().getAsync(\"WASM_HAS_MULTITHREAD_SUPPORT\")]);return new Promise((e,n)=>{let o={};o.locateFile=(a,u)=>{if(a.endsWith(\".worker.js\")){let l=QH.wasmWorkerContents.replace(/\\n/g,\"\\\\n\"),c=new Blob([l],{type:\"application/javascript\"});return URL.createObjectURL(c)}return a.endsWith(\".wasm\")?JH(r,t,gg!=null?gg:u):u+a},a_&&(o.instantiateWasm=Fmt(JH(r,t,gg!=null?gg:\"\")));let s=!1;o.onAbort=()=>{if(s||yg)return;yg=!0,n({message:\"Make sure the server can serve the `.wasm` file relative to the bundled js file. For more details see https://github.com/tensorflow/tfjs/blob/master/tfjs-backend-wasm/README.md#using-bundlers\"})};let i;t&&r&&RC==null?(o.mainScriptUrlOrBlob=new Blob([\"var WasmBackendModuleThreadedSimd = \"+ZH.toString()],{type:\"text/javascript\"}),i=ZH(o)):i=Rmt(o),i.then(a=>{s=!0,yg=!1;let u=null;a.tfjs={init:a.cwrap(\"init\",null,[]),initWithThreadsCount:a.cwrap(\"init_with_threads_count\",null,[\"number\"]),getThreadsCount:a.cwrap(\"get_threads_count\",\"number\",[]),registerTensor:a.cwrap(\"register_tensor\",null,[\"number\",\"number\",\"number\"]),disposeData:a.cwrap(\"dispose_data\",u,[\"number\"]),dispose:a.cwrap(\"dispose\",u,[])},e({wasm:a})}).catch(n)})}function Omt(r,t){switch(t){case\"float32\":return new Float32Array(r);case\"int32\":return new Int32Array(r);case\"bool\":return new Uint8Array(r);default:throw new Error(`Unknown dtype ${t}`)}}var Mmt=[\"tfjs-backend-wasm.wasm\",\"tfjs-backend-wasm-simd.wasm\",\"tfjs-backend-wasm-threaded-simd.wasm\"],RC=null,gg=null,xg={},yg=!1,a_=!1;function Pmt(r,t=!1){if(B0(\"setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release.\"),yg)throw new Error(\"The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`\");RC=r,a_=t}function Lmt(r,t=!1){if(yg)throw new Error(\"The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`\");if(typeof r==\"string\")gg=r;else{xg=r;let e=Mmt.filter(n=>xg[n]==null);if(e.length>0)throw new Error(`There were no entries found for the following binaries: ${e.join(\",\")}. Please either call setWasmPaths with a map providing a path for each binary, or with a string indicating the directory where all the binaries can be found.`)}a_=t}var eq=-1,o_=-1;function zmt(r){eq=r}function Bmt(){if(o_===-1)throw new Error(\"WASM backend not initialized.\");return o_}var Vmt=\"4.16.0\";var Gmt=2;Xp(\"wasm\",async()=>{let{wasm:r}=await tq();return new bg(r)},Gmt);var rq=\"4.16.0\",Wmt=\"4.16.0\",Umt=\"4.16.0\",Hmt=\"4.16.0\",qmt=\"4.16.0\",Kmt={tfjs:rq,\"tfjs-core\":rq,\"tfjs-converter\":Wmt,\"tfjs-backend-cpu\":Umt,\"tfjs-backend-webgl\":Hmt,\"tfjs-backend-wasm\":qmt};export{Ei as Abs,Go as Acos,Wo as Acosh,vc as AdadeltaOptimizer,Sc as AdagradOptimizer,Nc as AdamOptimizer,kc as AdamaxOptimizer,no as Add,Uo as AddN,Ea as All,Aa as Any,Ai as ArgMax,Di as ArgMin,Ho as Asin,qo as Asinh,Ko as Atan,Xo as Atan2,jo as Atanh,Yo as AvgPool,$i as AvgPool3D,Hl as AvgPool3DGrad,Ul as AvgPoolGrad,bg as BackendWasm,Zo as BatchMatMul,Ri as BatchToSpaceND,Da as Bincount,$a as BitwiseAnd,ql as BroadcastArgs,k_ as BroadcastTo,Pb as Callback,Xy as CallbackList,fo as Cast,Jo as Ceil,ho as ClipByValue,Ap as Complex,Kl as ComplexAbs,Fi as Concat,Qo as Conv2D,Dp as Conv2DBackpropFilter,ts as Conv2DBackpropInput,es as Conv3D,Ra as Conv3DBackpropFilterV2,Fa as Conv3DBackpropInputV2,rs as Cos,ns as Cosh,Ma as CropAndResize,Oa as Cumprod,os as Cumsum,Zy as CustomCallback,Ta as DataStorage,jl as DenseBincount,Pa as DepthToSpace,ss as DepthwiseConv2dNative,$p as DepthwiseConv2dNativeBackpropFilter,Rp as DepthwiseConv2dNativeBackpropInput,Xl as Diag,is as Dilation2D,Zl as Dilation2DBackpropFilter,Yl as Dilation2DBackpropInput,Jd as Draw,y0 as ENV,Lb as EarlyStopping,Fp as Einsum,ls as Elu,La as EluGrad,Yd as Environment,za as Equal,us as Erf,cs as Exp,Oi as ExpandDims,ps as Expm1,Op as FFT,Jl as Fill,Ba as FlipLeftRight,ms as Floor,fs as FloorDiv,Qd as FromPixels,ds as FusedBatchNorm,Xi as FusedConv2D,Yi as FusedDepthwiseConv2D,pp as GPGPUContext,Va as GatherNd,Mi as GatherV2,Hh as GraphModel,Ga as Greater,hs as GreaterEqual,Yy as History,Mp as IFFT,go as Identity,Pp as Imag,Ie as InputSpec,gs as IsFinite,xs as IsInf,ys as IsNan,Bo as KernelBackend,Cs as LRN,Xa as LRNGrad,kh as LayerVariable,Un as LayersModel,bs as LeakyRelu,Wa as Less,Ua as LessEqual,Ha as LinSpace,ws as Log,Is as Log1p,__ as LogSoftmax,qa as LogicalAnd,Ka as LogicalNot,ja as LogicalOr,T_ as LogicalXor,Qmt as LowerBound,cd as MathBackendCPU,Ad as MathBackendWebGL,tft as MatrixBandPart,vs as Max,Ns as MaxPool,Pi as MaxPool3D,tu as MaxPool3DGrad,Ql as MaxPoolGrad,eu as MaxPoolWithArgmax,Ss as Maximum,ks as Mean,Ts as Min,_s as Minimum,Es as MirrorPad,As as Mod,Tc as MomentumOptimizer,Ya as Multinomial,Ds as Multiply,Li as Neg,Ja as NonMaxSuppressionV3,Qa as NonMaxSuppressionV4,tl as NonMaxSuppressionV5,Za as NotEqual,z0 as OP_SCOPE_SUFFIX,$s as OneHot,zi as OnesLike,qr as Optimizer,wh as OptimizerConstructors,Bi as Pack,Rs as PadV2,eft as Pool,Fs as Pow,Os as Prelu,Ms as Prod,_c as RMSPropOptimizer,po as RNN,Lp as RaggedGather,zp as RaggedRange,Bp as RaggedTensorToTensor,ru as Range,E0 as Rank,Vp as Real,as as RealDiv,Ps as Reciprocal,Je as Reduction,Ls as Relu,Vs as Relu6,Vi as Reshape,Bs as ResizeBilinear,rl as ResizeBilinearGrad,zs as ResizeNearestNeighbor,el as ResizeNearestNeighborGrad,Gs as Reverse,pl as RotateWithOffset,Ws as Round,Us as Rsqrt,Il as SGDOptimizer,nl as ScatterNd,sl as SearchSorted,Gi as Select,Hs as Selu,Wc as Sequential,Xs as Sigmoid,js as Sign,qs as Sin,Ks as Sinh,Wi as Slice,Qs as Softmax,Ys as Softplus,Ui as SpaceToBatchND,nu as SparseFillEmptyRows,il as SparseReshape,ou as SparseSegmentMean,su as SparseSegmentSum,al as SparseToDense,Hi as SplitV,Zs as Sqrt,iu as Square,ti as SquaredDifference,ec as StaticRegexReplace,xo as Step,ll as StridedSlice,au as StringNGrams,lu as StringSplit,uu as StringToHashBucketFast,ei as Sub,Js as Sum,en as SymbolicTensor,ri as Tan,ni as Tanh,Lt as Tensor,le as TensorBuffer,ol as TensorScatterUpdate,oo as Tile,ul as TopK,cl as Transform,so as Transpose,cu as Unique,qi as Unpack,pu as UnsortedSegmentSum,rft as UpperBound,ml as Variable,Ki as ZerosLike,ji as _FusedMatMul,_e as abs,mx as acos,fx as acosh,X as add,TE as addN,tm as all,cc as any,ea as argMax,dx as argMin,hx as asin,gx as asinh,xx as atan,yx as atan2,bx as atanh,xu as avgPool,wx as avgPool3d,ox as backend,S as backend_util,AE as basicLSTMCell,oa as batchNorm,Ix as batchNorm2d,Cx as batchNorm3d,vx as batchNorm4d,yu as batchToSpaceND,Sx as bincount,$E as bitwiseAnd,W5 as booleanMaskAsync,RE as broadcastArgs,sa as broadcastTo,Ur as broadcast_util,_y as browser,wt as buffer,fQ as callbacks,J as cast,Nx as ceil,vr as clipByValue,ln as clone,Sn as complex,ie as concat,kx as concat1d,Tx as concat2d,_x as concat3d,Ex as concat4d,wR as constraints,rm as conv1d,Nn as conv2d,om as conv2dTranspose,Ax as conv3d,$x as conv3dTranspose,uft as copyRegisteredKernels,bu as cos,sm as cosh,gh as cosineWindow,mc as cumprod,im as cumsum,pn as customGrad,oO as data,ph as denseBincount,B0 as deprecationWarn,Rx as depthToSpace,ia as depthwiseConv2d,xQ as deregisterOp,du as device_util,FE as diag,Fx as dilation2d,wdt as disableDeprecationWarnings,Tt as dispose,Idt as disposeVariables,ct as div,Ox as divNoNan,Mx as dot,mN as dropout,wu as einsum,aa as elu,bdt as enableDebugMode,ydt as enableProdMode,fN as enclosingPowerOfTwo,Bn as engine,ME as ensureShape,L as env,$r as equal,Px as erf,Lx as euclideanNorm,Ke as exp,je as expandDims,zx as expm1,fc as eye,Au as fft,Co as fill,kdt as findBackend,Tdt as findBackendFactory,la as floor,Qp as floorDiv,Yz as forceHalfFloat,Ru as fused,ua as gather,Q5 as gatherND,Ey as gather_util,rE as getBackend,I0 as getGradient,Wp as getKernel,Xg as getKernelsForBackend,Bmt as getThreadsCount,S1 as gpgpu_util,q6 as grad,K6 as grads,Re as greater,cn as greaterEqual,wl as ifft,Iu as imag,fn as image,r8 as inTopKAsync,IR as initializers,YN as input,Mr as io,ym as irfft,Bx as isFinite,Vx as isInf,Gx as isNaN,De as keep,Kr as kernel_impls,eF as layers,Cu as leakyRelu,yl as less,Vn as lessEqual,hN as linalg,zE as linspace,ftt as loadGraphModel,dtt as loadGraphModelSync,VR as loadLayersModel,Wx as localResponseNormalization,Nr as log,vu as log1p,qx as logSigmoid,am as logSoftmax,Su as logSumExp,Fr as logicalAnd,Nu as logicalNot,lm as logicalOr,Kx as logicalXor,oY as losses,BE as lowerBound,Bt as matMul,R2 as math,Sr as max,ku as maxPool,Xx as maxPool3d,VE as maxPoolWithArgmax,kn as maximum,Ne as mean,ah as memory,GE as meshgrid,rF as metrics,gl as min,lo as minimum,Yx as mirrorPad,Zx as mod,fJ as model,nF as models,dc as moments,q5 as movingAverage,$ as mul,WE as multiRNNCell,UE as multinomial,Ut as neg,Ih as nextFrame,xl as norm,ui as notEqual,ca as oneHot,ar as ones,wr as onesLike,k as op,HE as outerProduct,mn as pad,qE as pad1d,KE as pad2d,jE as pad3d,XE as pad4d,Jx as pool,un as pow,_u as prelu,px as print,Qx as prod,Cdt as profile,YE as raggedGather,ZE as raggedRange,JE as raggedTensorToTensor,QE as rand,wA as randomGamma,xc as randomNormal,IA as randomStandardNormal,Gn as randomUniform,CA as randomUniformInt,pa as range,Sdt as ready,bl as real,sy as reciprocal,Xp as registerBackend,hJ as registerCallbackConstructor,A_ as registerGradient,rc as registerKernel,gQ as registerOp,oF as regularizers,Or as relu,um as relu6,Ndt as removeBackend,R as reshape,dr as reverse,vA as reverse1d,SA as reverse2d,NA as reverse3d,kA as reverse4d,Du as rfft,cm as round,pm as rsqrt,pt as scalar,j5 as scatterND,$u as scatter_util,fh as searchSorted,mm as selu,fm as separableConv2d,dJ as sequential,Q as serialization,$K as setBackend,_dt as setPlatform,zmt as setThreadsCount,Pmt as setWasmPath,Lmt as setWasmPaths,LT as setWebGLContext,TA as setdiff1dAsync,Tw as shared,Qr as sigmoid,iy as sign,nY as signal,dm as sin,hm as sinh,Ot as slice,gm as slice1d,hh as slice2d,xm as slice3d,yc as slice4d,Be as slice_util,Eu as softmax,li as softplus,Tu as spaceToBatchND,sY as sparse,Z5 as sparseToDense,rY as spectral,hr as split,Se as sqrt,Wt as square,bm as squaredDifference,Wn as squeeze,Fe as stack,So as step,ay as stridedSlice,iY as string,at as sub,mt as sum,lc as sumOutType,ly as tan,na as tanh,ir as tensor,Oe as tensor1d,ci as tensor2d,uy as tensor3d,_A as tensor4d,EA as tensor5d,AA as tensor6d,$A as tensorScatterUpdate,Io as tensor_util,bA as test_util,B as tidy,Rr as tile,vdt as time,cy as topk,Ac as train,Vt as transpose,Im as truncatedNormal,py as unique,lft as unregisterGradient,aft as unregisterKernel,Cm as unsortedSegmentSum,gr as unstack,ur as upcastType,RA as upperBound,y as util,j6 as valueAndGrad,X6 as valueAndGrads,my as variable,Ux as variableGrads,Kmt as version,LF as version_converter,K2 as version_core,UO as version_cpu,Km as version_layers,Vmt as version_wasm,Xz as version_webgl,N$e as webgl,Id as webgl_util,we as where,dy as whereAsync,ke as zeros,vt as zerosLike};\n", "export * from './drawContour';\nexport * from './drawDetections';\nexport * from './drawFaceExpressions';\nexport * from './DrawBox';\nexport * from './DrawFaceLandmarks';\nexport * from './DrawTextField';\n", "import { Point } from '../classes/index';\n\nexport function drawContour(\n ctx: CanvasRenderingContext2D,\n points: Point[],\n isClosed = false,\n) {\n ctx.beginPath();\n\n points.slice(1).forEach(({ x, y }, prevIdx) => {\n const from = points[prevIdx];\n ctx.moveTo(from.x, from.y);\n ctx.lineTo(x, y);\n });\n\n if (isClosed) {\n const from = points[points.length - 1];\n const to = points[0];\n if (!from || !to) {\n return;\n }\n\n ctx.moveTo(from.x, from.y);\n ctx.lineTo(to.x, to.y);\n }\n\n ctx.stroke();\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Point } from '../classes/index';\nimport { Dimensions, IDimensions } from '../classes/Dimensions';\n\nexport function isTensor(tensor: any, dim: number) {\n return tensor instanceof tf.Tensor && tensor.shape.length === dim;\n}\n\nexport function isTensor1D(tensor: any): tensor is tf.Tensor1D {\n return isTensor(tensor, 1);\n}\n\nexport function isTensor2D(tensor: any): tensor is tf.Tensor2D {\n return isTensor(tensor, 2);\n}\n\nexport function isTensor3D(tensor: any): tensor is tf.Tensor3D {\n return isTensor(tensor, 3);\n}\n\nexport function isTensor4D(tensor: any): tensor is tf.Tensor4D {\n return isTensor(tensor, 4);\n}\n\nexport function isFloat(num: number) {\n return num % 1 !== 0;\n}\n\nexport function isEven(num: number) {\n return num % 2 === 0;\n}\n\nexport function round(num: number, prec = 2) {\n const f = 10 ** prec;\n return Math.floor(num * f) / f;\n}\n\nexport function isDimensions(obj: any): boolean {\n return obj && obj.width && obj.height;\n}\n\nexport function computeReshapedDimensions({ width, height }: IDimensions, inputSize: number) {\n const scale = inputSize / Math.max(height, width);\n return new Dimensions(Math.round(width * scale), Math.round(height * scale));\n}\n\nexport function getCenterPoint(pts: Point[]): Point {\n return pts.reduce((sum, pt) => sum.add(pt), new Point(0, 0))\n .div(new Point(pts.length, pts.length));\n}\n\nexport function range(num: number, start: number, step: number): number[] {\n return Array(num).fill(0).map((_, i) => start + (i * step));\n}\n\nexport function isValidNumber(num: any) {\n return !!num && (num !== Infinity) && (num !== -Infinity) && !Number.isNaN(num) || num === 0;\n}\n\nexport function isValidProbablitiy(num: any) {\n return isValidNumber(num) && num >= 0 && num <= 1.0;\n}\n", "import { isValidNumber } from '../utils/index';\n\nexport interface IDimensions {\n width: number\n height: number\n}\n\nexport class Dimensions implements IDimensions {\n private _width: number;\n\n private _height: number;\n\n constructor(width: number, height: number) {\n if (!isValidNumber(width) || !isValidNumber(height)) {\n throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({ width, height })}`);\n }\n\n this._width = width;\n this._height = height;\n }\n\n public get width(): number { return this._width; }\n\n public get height(): number { return this._height; }\n\n public reverse(): Dimensions {\n return new Dimensions(1 / this.width, 1 / this.height);\n }\n}\n", "export interface IPoint {\n x: number\n y: number\n}\n\nexport class Point implements IPoint {\n private _x: number;\n\n private _y: number;\n\n constructor(x: number, y: number) {\n this._x = x;\n this._y = y;\n }\n\n get x(): number { return this._x; }\n\n get y(): number { return this._y; }\n\n public add(pt: IPoint): Point {\n return new Point(this.x + pt.x, this.y + pt.y);\n }\n\n public sub(pt: IPoint): Point {\n return new Point(this.x - pt.x, this.y - pt.y);\n }\n\n public mul(pt: IPoint): Point {\n return new Point(this.x * pt.x, this.y * pt.y);\n }\n\n public div(pt: IPoint): Point {\n return new Point(this.x / pt.x, this.y / pt.y);\n }\n\n public abs(): Point {\n return new Point(Math.abs(this.x), Math.abs(this.y));\n }\n\n public magnitude(): number {\n return Math.sqrt((this.x ** 2) + (this.y ** 2));\n }\n\n public floor(): Point {\n return new Point(Math.floor(this.x), Math.floor(this.y));\n }\n}\n", "import { isDimensions, isValidNumber } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { IDimensions } from './Dimensions';\nimport { Point } from './Point';\nimport { IRect } from './Rect';\n\nexport class Box implements IBoundingBox, IRect {\n public static isRect(rect: any): boolean {\n return !!rect && [rect.x, rect.y, rect.width, rect.height].every(isValidNumber);\n }\n\n public static assertIsValidBox(box: any, callee: string, allowNegativeDimensions = false) {\n if (!Box.isRect(box)) {\n throw new Error(`${callee} - invalid box: ${JSON.stringify(box)}, expected object with properties x, y, width, height`);\n }\n\n if (!allowNegativeDimensions && (box.width < 0 || box.height < 0)) {\n throw new Error(`${callee} - width (${box.width}) and height (${box.height}) must be positive numbers`);\n }\n }\n\n private _x: number;\n\n private _y: number;\n\n private _width: number;\n\n private _height: number;\n\n constructor(_box: IBoundingBox | IRect, allowNegativeDimensions = true) {\n const box = (_box || {}) as any;\n\n const isBbox = [box.left, box.top, box.right, box.bottom].every(isValidNumber);\n const isRect = [box.x, box.y, box.width, box.height].every(isValidNumber);\n\n if (!isRect && !isBbox) {\n throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(box)}`);\n }\n\n const [x, y, width, height] = isRect\n ? [box.x, box.y, box.width, box.height]\n : [box.left, box.top, box.right - box.left, box.bottom - box.top];\n\n Box.assertIsValidBox({\n x, y, width, height,\n }, 'Box.constructor', allowNegativeDimensions);\n\n this._x = x;\n this._y = y;\n this._width = width;\n this._height = height;\n }\n\n public get x(): number { return this._x; }\n\n public get y(): number { return this._y; }\n\n public get width(): number { return this._width; }\n\n public get height(): number { return this._height; }\n\n public get left(): number { return this.x; }\n\n public get top(): number { return this.y; }\n\n public get right(): number { return this.x + this.width; }\n\n public get bottom(): number { return this.y + this.height; }\n\n public get area(): number { return this.width * this.height; }\n\n public get topLeft(): Point { return new Point(this.left, this.top); }\n\n public get topRight(): Point { return new Point(this.right, this.top); }\n\n public get bottomLeft(): Point { return new Point(this.left, this.bottom); }\n\n public get bottomRight(): Point { return new Point(this.right, this.bottom); }\n\n public round(): Box {\n const [x, y, width, height] = [this.x, this.y, this.width, this.height]\n .map((val) => Math.round(val));\n return new Box({\n x, y, width, height,\n });\n }\n\n public floor(): Box {\n const [x, y, width, height] = [this.x, this.y, this.width, this.height]\n .map((val) => Math.floor(val));\n return new Box({\n x, y, width, height,\n });\n }\n\n public toSquare(): Box {\n let {\n x, y, width, height,\n } = this;\n const diff = Math.abs(width - height);\n if (width < height) {\n x -= (diff / 2);\n width += diff;\n }\n if (height < width) {\n y -= (diff / 2);\n height += diff;\n }\n\n return new Box({ x, y, width, height });\n }\n\n public rescale(s: IDimensions | number): Box {\n const scaleX = isDimensions(s) ? (s as IDimensions).width : s as number;\n const scaleY = isDimensions(s) ? (s as IDimensions).height : s as number;\n return new Box({\n x: this.x * scaleX,\n y: this.y * scaleY,\n width: this.width * scaleX,\n height: this.height * scaleY,\n });\n }\n\n public pad(padX: number, padY: number): Box {\n const [x, y, width, height] = [\n this.x - (padX / 2),\n this.y - (padY / 2),\n this.width + padX,\n this.height + padY,\n ];\n return new Box({ x, y, width, height });\n }\n\n public clipAtImageBorders(imgWidth: number, imgHeight: number): Box {\n const { x, y, right, bottom } = this;\n const clippedX = Math.max(x, 0);\n const clippedY = Math.max(y, 0);\n\n const newWidth = right - clippedX;\n const newHeight = bottom - clippedY;\n const clippedWidth = Math.min(newWidth, imgWidth - clippedX);\n const clippedHeight = Math.min(newHeight, imgHeight - clippedY);\n\n return (new Box({ x: clippedX, y: clippedY, width: clippedWidth, height: clippedHeight })).floor();\n }\n\n public shift(sx: number, sy: number): Box {\n const { width, height } = this;\n const x = this.x + sx;\n const y = this.y + sy;\n\n return new Box({ x, y, width, height });\n }\n\n public padAtBorders(imageHeight: number, imageWidth: number) {\n const w = this.width + 1;\n const h = this.height + 1;\n\n const dx = 1;\n const dy = 1;\n let edx = w;\n let edy = h;\n\n let x = this.left;\n let y = this.top;\n let ex = this.right;\n let ey = this.bottom;\n\n if (ex > imageWidth) {\n edx = -ex + imageWidth + w;\n ex = imageWidth;\n }\n if (ey > imageHeight) {\n edy = -ey + imageHeight + h;\n ey = imageHeight;\n }\n if (x < 1) {\n edy = 2 - x;\n x = 1;\n }\n if (y < 1) {\n edy = 2 - y;\n y = 1;\n }\n\n return { dy, edy, dx, edx, y, ey, x, ex, w, h };\n }\n\n public calibrate(region: Box) {\n return new Box({\n left: this.left + (region.left * this.width),\n top: this.top + (region.top * this.height),\n right: this.right + (region.right * this.width),\n bottom: this.bottom + (region.bottom * this.height),\n }).toSquare().round();\n }\n}\n", "import { Box } from './Box';\n\nexport interface IBoundingBox {\n left: number\n top: number\n right: number\n bottom: number\n}\n\nexport class BoundingBox extends Box implements IBoundingBox {\n constructor(left: number, top: number, right: number, bottom: number, allowNegativeDimensions = false) {\n super({ left, top, right, bottom }, allowNegativeDimensions);\n }\n}\n", "import { Box } from './Box';\nimport { Dimensions, IDimensions } from './Dimensions';\nimport { IRect, Rect } from './Rect';\n\nexport class ObjectDetection {\n private _score: number;\n\n private _classScore: number;\n\n private _className: string;\n\n private _box: Rect;\n\n private _imageDims: Dimensions;\n\n constructor(\n score: number,\n classScore: number,\n className: string,\n relativeBox: IRect,\n imageDims: IDimensions,\n ) {\n this._imageDims = new Dimensions(imageDims.width, imageDims.height);\n this._score = score;\n this._classScore = classScore;\n this._className = className;\n this._box = new Box(relativeBox).rescale(this._imageDims);\n }\n\n public get score(): number { return this._score; }\n\n public get classScore(): number { return this._classScore; }\n\n public get className(): string { return this._className; }\n\n public get box(): Box { return this._box; }\n\n public get imageDims(): Dimensions { return this._imageDims; }\n\n public get imageWidth(): number { return this.imageDims.width; }\n\n public get imageHeight(): number { return this.imageDims.height; }\n\n public get relativeBox(): Box { return new Box(this._box).rescale(this.imageDims.reverse()); }\n\n public forSize(width: number, height: number): ObjectDetection {\n return new ObjectDetection(\n this.score,\n this.classScore,\n this.className,\n this.relativeBox,\n { width, height },\n );\n }\n}\n", "import { Box } from './Box';\nimport { IDimensions } from './Dimensions';\nimport { ObjectDetection } from './ObjectDetection';\nimport { Rect } from './Rect';\n\nexport interface IFaceDetecion {\n score: number\n box: Box\n}\n\nexport class FaceDetection extends ObjectDetection implements IFaceDetecion {\n constructor(\n score: number,\n relativeBox: Rect,\n imageDims: IDimensions,\n ) {\n super(score, score, '', relativeBox, imageDims);\n }\n\n public override forSize(width: number, height: number): FaceDetection {\n const { score, relativeBox, imageDims } = super.forSize(width, height);\n return new FaceDetection(score, relativeBox, imageDims);\n }\n}\n", "import { Box } from '../classes/Box';\n\nexport function iou(box1: Box, box2: Box, isIOU = true) {\n const width = Math.max(0.0, Math.min(box1.right, box2.right) - Math.max(box1.left, box2.left));\n const height = Math.max(0.0, Math.min(box1.bottom, box2.bottom) - Math.max(box1.top, box2.top));\n const interSection = width * height;\n\n return isIOU\n ? interSection / (box1.area + box2.area - interSection)\n : interSection / Math.min(box1.area, box2.area);\n}\n", "import { BoundingBox, IPoint } from '../classes/index';\n\nexport function minBbox(pts: IPoint[]): BoundingBox {\n const xs = pts.map((pt) => pt.x);\n const ys = pts.map((pt) => pt.y);\n const minX = xs.reduce((min, x) => (x < min ? x : min), Infinity);\n const minY = ys.reduce((min, y) => (y < min ? y : min), Infinity);\n const maxX = xs.reduce((max, x) => (max < x ? x : max), 0);\n const maxY = ys.reduce((max, y) => (max < y ? y : max), 0);\n\n return new BoundingBox(minX, minY, maxX, maxY);\n}\n", "import { Box } from '../classes/Box';\nimport { iou } from './iou';\n\nexport function nonMaxSuppression(\n boxes: Box[],\n scores: number[],\n iouThreshold: number,\n isIOU = true,\n): number[] {\n let indicesSortedByScore = scores\n .map((score, boxIndex) => ({ score, boxIndex }))\n .sort((c1, c2) => c1.score - c2.score)\n .map((c) => c.boxIndex);\n\n const pick: number[] = [];\n\n while (indicesSortedByScore.length > 0) {\n const curr = indicesSortedByScore.pop() as number;\n pick.push(curr);\n\n const indices = indicesSortedByScore;\n\n const outputs: number[] = [];\n for (let i = 0; i < indices.length; i++) {\n const idx = indices[i];\n\n const currBox = boxes[curr];\n const idxBox = boxes[idx];\n\n outputs.push(iou(currBox, idxBox, isIOU));\n }\n\n indicesSortedByScore = indicesSortedByScore.filter(\n (_, j) => outputs[j] <= iouThreshold,\n );\n }\n\n return pick;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nexport function normalize(x: tf.Tensor4D, meanRgb: number[]): tf.Tensor4D {\n return tf.tidy(() => {\n const [r, g, b] = meanRgb;\n const avg_r = tf.fill([...x.shape.slice(0, 3), 1], r, 'float32');\n const avg_g = tf.fill([...x.shape.slice(0, 3), 1], g, 'float32');\n const avg_b = tf.fill([...x.shape.slice(0, 3), 1], b, 'float32');\n const avg_rgb = tf.concat([avg_r, avg_g, avg_b], 3);\n\n return tf.sub(x, avg_rgb);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\n/**\n * Pads the smaller dimension of an image tensor with zeros, such that width === height.\n *\n * @param imgTensor The image tensor.\n * @param isCenterImage (optional, default: false) If true, add an equal amount of padding on\n * both sides of the minor dimension oof the image.\n * @returns The padded tensor with width === height.\n */\nexport function padToSquare(imgTensor: tf.Tensor4D, isCenterImage = false): tf.Tensor4D {\n return tf.tidy(() => {\n const [height, width] = imgTensor.shape.slice(1);\n if (height === width) return imgTensor;\n const dimDiff = Math.abs(height - width);\n const paddingAmount = Math.round(dimDiff * (isCenterImage ? 0.5 : 1));\n const paddingAxis = height > width ? 2 : 1;\n const createPaddingTensor = (paddingAmountLocal: number): tf.Tensor => {\n const paddingTensorShape = imgTensor.shape.slice();\n paddingTensorShape[paddingAxis] = paddingAmountLocal;\n return tf.fill(paddingTensorShape, 0, 'float32');\n };\n const paddingTensorAppend = createPaddingTensor(paddingAmount);\n const remainingPaddingAmount = dimDiff - (paddingTensorAppend.shape[paddingAxis] as number);\n const paddingTensorPrepend = isCenterImage && remainingPaddingAmount ? createPaddingTensor(remainingPaddingAmount) : null;\n const tensorsToStack = [paddingTensorPrepend, imgTensor, paddingTensorAppend]\n .filter((t) => !!t)\n .map((t) => tf.cast(t as tf.Tensor4D, 'float32')) as tf.Tensor4D[];\n return tf.concat(tensorsToStack, paddingAxis);\n });\n}\n", "export function shuffleArray(inputArray: any[]) {\n const array = inputArray.slice();\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const x = array[i];\n array[i] = array[j];\n array[j] = x;\n }\n return array;\n}\n", "export * from './iou';\nexport * from './minBbox';\nexport * from './nonMaxSuppression';\nexport * from './normalize';\nexport * from './padToSquare';\nexport * from './shuffleArray';\n\nexport function sigmoid(x: number) {\n return 1 / (1 + Math.exp(-x));\n}\n\nexport function inverseSigmoid(x: number) {\n return Math.log(x / (1 - x));\n}\n", "import { Box } from './Box';\n\nexport interface IRect {\n x: number\n y: number\n width: number\n height: number\n}\n\nexport class Rect extends Box implements IRect {\n constructor(x: number, y: number, width: number, height: number, allowNegativeDimensions = false) {\n super({ x, y, width, height }, allowNegativeDimensions);\n }\n}\n", "import { minBbox } from '../ops/index';\nimport { getCenterPoint } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { Box } from './Box';\nimport { Dimensions, IDimensions } from './Dimensions';\nimport { FaceDetection } from './FaceDetection';\nimport { Point } from './Point';\nimport { IRect, Rect } from './Rect';\n\n// face alignment constants\nconst relX = 0.5;\nconst relY = 0.43;\nconst relScale = 0.45;\n\nexport interface IFaceLandmarks {\n positions: Point[]\n shift: Point\n}\n\nexport class FaceLandmarks implements IFaceLandmarks {\n protected _shift: Point;\n\n protected _positions: Point[];\n\n protected _imgDims: Dimensions;\n\n constructor(\n relativeFaceLandmarkPositions: Point[],\n imgDims: IDimensions,\n shift: Point = new Point(0, 0),\n ) {\n const { width, height } = imgDims;\n this._imgDims = new Dimensions(width, height);\n this._shift = shift;\n this._positions = relativeFaceLandmarkPositions.map(\n (pt) => pt.mul(new Point(width, height)).add(shift),\n );\n }\n\n public get shift(): Point { return new Point(this._shift.x, this._shift.y); }\n\n public get imageWidth(): number { return this._imgDims.width; }\n\n public get imageHeight(): number { return this._imgDims.height; }\n\n public get positions(): Point[] { return this._positions; }\n\n public get relativePositions(): Point[] {\n return this._positions.map(\n (pt) => pt.sub(this._shift).div(new Point(this.imageWidth, this.imageHeight)),\n );\n }\n\n public forSize(width: number, height: number): T {\n return new (this.constructor as any)(\n this.relativePositions,\n { width, height },\n );\n }\n\n public shiftBy(x: number, y: number): T {\n return new (this.constructor as any)(\n this.relativePositions,\n this._imgDims,\n new Point(x, y),\n );\n }\n\n public shiftByPoint(pt: Point): T {\n return this.shiftBy(pt.x, pt.y);\n }\n\n /**\n * Aligns the face landmarks after face detection from the relative positions of the faces\n * bounding box, or it's current shift. This function should be used to align the face images\n * after face detection has been performed, before they are passed to the face recognition net.\n * This will make the computed face descriptor more accurate.\n *\n * @param detection (optional) The bounding box of the face or the face detection result. If\n * no argument was passed the position of the face landmarks are assumed to be relative to\n * it's current shift.\n * @returns The bounding box of the aligned face.\n */\n public align(\n detection?: FaceDetection | IRect | IBoundingBox | null,\n options: { useDlibAlignment?: boolean, minBoxPadding?: number } = { },\n ): Box {\n if (detection) {\n const box = detection instanceof FaceDetection\n ? detection.box.floor()\n : new Box(detection);\n\n return this.shiftBy(box.x, box.y).align(null, options);\n }\n\n const { useDlibAlignment, minBoxPadding } = { useDlibAlignment: false, minBoxPadding: 0.2, ...options };\n\n if (useDlibAlignment) {\n return this.alignDlib();\n }\n\n return this.alignMinBbox(minBoxPadding);\n }\n\n private alignDlib(): Box {\n const centers = this.getRefPointsForAlignment();\n\n const [leftEyeCenter, rightEyeCenter, mouthCenter] = centers;\n const distToMouth = (pt: Point) => mouthCenter.sub(pt).magnitude();\n const eyeToMouthDist = (distToMouth(leftEyeCenter) + distToMouth(rightEyeCenter)) / 2;\n\n const size = Math.floor(eyeToMouthDist / relScale);\n\n const refPoint = getCenterPoint(centers);\n // TODO: pad in case rectangle is out of image bounds\n const x = Math.floor(Math.max(0, refPoint.x - (relX * size)));\n const y = Math.floor(Math.max(0, refPoint.y - (relY * size)));\n\n return new Rect(x, y, Math.min(size, this.imageWidth + x), Math.min(size, this.imageHeight + y));\n }\n\n private alignMinBbox(padding: number): Box {\n const box = minBbox(this.positions);\n return box.pad(box.width * padding, box.height * padding);\n }\n\n protected getRefPointsForAlignment(): Point[] {\n throw new Error('getRefPointsForAlignment not implemented by base class');\n }\n}\n", "import { getCenterPoint } from '../utils/index';\nimport { FaceLandmarks } from './FaceLandmarks';\nimport { Point } from './Point';\n\nexport class FaceLandmarks5 extends FaceLandmarks {\n protected override getRefPointsForAlignment(): Point[] {\n const pts = this.positions;\n return [\n pts[0],\n pts[1],\n getCenterPoint([pts[3], pts[4]]),\n ];\n }\n}\n", "import { getCenterPoint } from '../utils/index';\nimport { FaceLandmarks } from './FaceLandmarks';\nimport { Point } from './Point';\n\nexport class FaceLandmarks68 extends FaceLandmarks {\n public getJawOutline(): Point[] {\n return this.positions.slice(0, 17);\n }\n\n public getLeftEyeBrow(): Point[] {\n return this.positions.slice(17, 22);\n }\n\n public getRightEyeBrow(): Point[] {\n return this.positions.slice(22, 27);\n }\n\n public getNose(): Point[] {\n return this.positions.slice(27, 36);\n }\n\n public getLeftEye(): Point[] {\n return this.positions.slice(36, 42);\n }\n\n public getRightEye(): Point[] {\n return this.positions.slice(42, 48);\n }\n\n public getMouth(): Point[] {\n return this.positions.slice(48, 68);\n }\n\n protected override getRefPointsForAlignment(): Point[] {\n return [\n this.getLeftEye(),\n this.getRightEye(),\n this.getMouth(),\n ].map(getCenterPoint);\n }\n}\n", "import { round } from '../utils/index';\n\nexport interface IFaceMatch {\n label: string\n distance: number\n}\n\nexport class FaceMatch implements IFaceMatch {\n private _label: string;\n private _distance: number;\n\n constructor(label: string, distance: number) {\n this._label = label;\n this._distance = distance;\n }\n\n public get label(): string { return this._label; }\n\n public get distance(): number { return this._distance; }\n\n public toString(withDistance = true): string {\n return `${this.label}${withDistance ? ` (${round(this.distance)})` : ''}`;\n }\n}\n", "import { isValidNumber } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { Box } from './Box';\nimport { IRect } from './Rect';\n\nexport class LabeledBox extends Box {\n public static assertIsValidLabeledBox(box: any, callee: string) {\n Box.assertIsValidBox(box, callee);\n if (!isValidNumber(box.label)) {\n throw new Error(`${callee} - expected property label (${box.label}) to be a number`);\n }\n }\n\n private _label: number;\n\n constructor(box: IBoundingBox | IRect | any, label: number) {\n super(box);\n this._label = label;\n }\n\n public get label(): number { return this._label; }\n}\n", "export class LabeledFaceDescriptors {\n private _label: string;\n\n private _descriptors: Float32Array[];\n\n constructor(label: string, descriptors: Float32Array[]) {\n if (!(typeof label === 'string')) {\n throw new Error('LabeledFaceDescriptors - constructor expected label to be a string');\n }\n\n if (!Array.isArray(descriptors) || descriptors.some((desc) => !(desc instanceof Float32Array))) {\n throw new Error('LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array');\n }\n\n this._label = label;\n this._descriptors = descriptors;\n }\n\n public get label(): string { return this._label; }\n\n public get descriptors(): Float32Array[] { return this._descriptors; }\n\n public toJSON(): any {\n return {\n label: this.label,\n descriptors: this.descriptors.map((d) => Array.from(d)),\n };\n }\n\n public static fromJSON(json: any): LabeledFaceDescriptors {\n const descriptors = json.descriptors.map((d: any) => new Float32Array(d));\n return new LabeledFaceDescriptors(json.label, descriptors);\n }\n}\n", "import { isValidProbablitiy } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { LabeledBox } from './LabeledBox';\nimport { IRect } from './Rect';\n\nexport class PredictedBox extends LabeledBox {\n public static assertIsValidPredictedBox(box: any, callee: string) {\n LabeledBox.assertIsValidLabeledBox(box, callee);\n\n if (\n !isValidProbablitiy(box.score)\n || !isValidProbablitiy(box.classScore)\n ) {\n throw new Error(`${callee} - expected properties score (${box.score}) and (${box.classScore}) to be a number between [0, 1]`);\n }\n }\n\n private _score: number;\n\n private _classScore: number;\n\n constructor(box: IBoundingBox | IRect | any, label: number, score: number, classScore: number) {\n super(box, label);\n this._score = score;\n this._classScore = classScore;\n }\n\n public get score(): number { return this._score; }\n\n public get classScore(): number { return this._classScore; }\n}\n", "import { FaceDetection } from '../classes/FaceDetection';\n\nexport type WithFaceDetection = TSource & {\n detection: FaceDetection\n}\n\nexport function isWithFaceDetection(obj: any): obj is WithFaceDetection<{}> {\n return obj.detection instanceof FaceDetection;\n}\n\nexport function extendWithFaceDetection(sourceObj: TSource, detection: FaceDetection): WithFaceDetection {\n const extension = { detection };\n return { ...sourceObj, ...extension };\n}\n", "import { Environment } from './types';\n\nexport function createBrowserEnv(): Environment {\n const fetch = window.fetch;\n if (!fetch) throw new Error('fetch - missing fetch implementation for browser environment');\n\n const readFile = () => {\n throw new Error('readFile - filesystem not available for browser environment');\n };\n\n return {\n Canvas: HTMLCanvasElement,\n CanvasRenderingContext2D,\n Image: HTMLImageElement,\n ImageData,\n Video: HTMLVideoElement,\n createCanvasElement: () => document.createElement('canvas'),\n createImageElement: () => document.createElement('img'),\n createVideoElement: () => document.createElement('video'),\n fetch,\n readFile,\n };\n}\n", "export function isNodejs(): boolean {\n return typeof global === 'object'\n && typeof process !== 'undefined'\n && process.versions != null\n && process.versions.node != null;\n}\n", "import { FileSystem } from './types';\nimport { isNodejs } from './isNodejs';\n\nexport function createFileSystem(fs?: any): FileSystem {\n let requireFsError = '';\n if (!fs && isNodejs()) {\n try {\n // eslint-disable-next-line global-require\n fs = require('fs');\n } catch (err) {\n requireFsError = (err as any).toString();\n }\n }\n\n const readFile = fs\n // eslint-disable-next-line no-undef\n ? (filePath: string) => new Promise((resolve, reject) => { fs.readFile(filePath, (err: NodeJS.ErrnoException | null, buffer: string | Buffer) => (err ? reject(err) : resolve(buffer))); })\n : () => { throw new Error(`readFile - failed to require fs in nodejs environment with error: ${requireFsError}`); };\n return { readFile };\n}\n", "/* eslint-disable max-classes-per-file */\nimport { createFileSystem } from './createFileSystem';\nimport { Environment } from './types';\n\nexport function createNodejsEnv(): Environment {\n const Canvas: (new () => HTMLCanvasElement) = (global as any)['Canvas'] || global.HTMLCanvasElement;\n const Image = global.Image || global.HTMLImageElement;\n const Video: (new () => HTMLVideoElement) = (global as any)['Video'] || global.HTMLVideoElement;\n\n const createCanvasElement = () => {\n if (Canvas) return new Canvas();\n throw new Error('createCanvasElement - missing Canvas implementation for nodejs environment');\n };\n\n const createImageElement = () => {\n if (Image) return new Image();\n throw new Error('createImageElement - missing Image implementation for nodejs environment');\n };\n\n const createVideoElement = () => {\n if (Video) return new Video();\n throw new Error('createVideoElement - missing Video implementation for nodejs environment');\n };\n\n const fetch = global.fetch;\n // if (!fetch) throw new Error('fetch - missing fetch implementation for nodejs environment');\n\n const fileSystem = createFileSystem();\n\n return {\n Canvas: Canvas || class {},\n CanvasRenderingContext2D: global.CanvasRenderingContext2D || class {},\n Image: Image || class {},\n ImageData: global.ImageData || class {},\n Video: global.HTMLVideoElement || class {},\n createCanvasElement,\n createImageElement,\n createVideoElement,\n fetch,\n ...fileSystem,\n };\n}\n", "export function isBrowser(): boolean {\n return typeof window === 'object'\n && typeof document !== 'undefined'\n && typeof HTMLImageElement !== 'undefined'\n && typeof HTMLCanvasElement !== 'undefined'\n && typeof HTMLVideoElement !== 'undefined'\n && typeof ImageData !== 'undefined'\n && typeof CanvasRenderingContext2D !== 'undefined';\n}\n", "import { createBrowserEnv } from './createBrowserEnv';\nimport { createFileSystem } from './createFileSystem';\nimport { createNodejsEnv } from './createNodejsEnv';\nimport { isBrowser } from './isBrowser';\nimport { isNodejs } from './isNodejs';\nimport { Environment } from './types';\n\nlet environment: Environment | null;\n\nfunction getEnv(): Environment {\n if (!environment) {\n throw new Error('getEnv - environment is not defined, check isNodejs() and isBrowser()');\n }\n return environment;\n}\n\nfunction setEnv(env: Environment) {\n environment = env;\n}\n\nfunction initialize() {\n // check for isBrowser() first to prevent electron renderer process\n // to be initialized with wrong environment due to isNodejs() returning true\n if (isBrowser()) return setEnv(createBrowserEnv());\n if (isNodejs()) return setEnv(createNodejsEnv());\n return null;\n}\n\nfunction monkeyPatch(env: Partial) {\n if (!environment) {\n initialize();\n }\n\n if (!environment) {\n throw new Error('monkeyPatch - environment is not defined, check isNodejs() and isBrowser()');\n }\n\n const { Canvas = environment.Canvas, Image = environment.Image } = env;\n environment.Canvas = Canvas;\n environment.Image = Image;\n environment.createCanvasElement = env.createCanvasElement || (() => new Canvas());\n environment.createImageElement = env.createImageElement || (() => new Image());\n\n environment.ImageData = env.ImageData || environment.ImageData;\n environment.Video = env.Video || environment.Video;\n environment.fetch = env.fetch || environment.fetch;\n environment.readFile = env.readFile || environment.readFile;\n}\n\nexport const env = {\n getEnv,\n setEnv,\n initialize,\n createBrowserEnv,\n createFileSystem,\n createNodejsEnv,\n monkeyPatch,\n isBrowser,\n isNodejs,\n};\n\ninitialize();\n\nexport * from './types';\n", "import { env } from '../env/index';\n\nexport function resolveInput(arg: string | any) {\n if (!env.isNodejs() && typeof arg === 'string') {\n return document.getElementById(arg);\n }\n return arg;\n}\n", "import { env } from '../env/index';\nimport { resolveInput } from './resolveInput';\n\nexport function getContext2dOrThrow(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D): CanvasRenderingContext2D {\n const { Canvas, CanvasRenderingContext2D } = env.getEnv();\n if (canvasArg instanceof CanvasRenderingContext2D) return canvasArg;\n const canvas = resolveInput(canvasArg);\n if (!(canvas instanceof Canvas)) throw new Error('resolveContext2d - expected canvas to be of instance of Canvas');\n const ctx = canvas.getContext('2d', { willReadFrequently: true });\n if (!ctx) throw new Error('resolveContext2d - canvas 2d context is null');\n return ctx;\n}\n", "/* eslint-disable max-classes-per-file */\nimport { IDimensions, IPoint } from '../classes/index';\nimport { getContext2dOrThrow } from '../dom/getContext2dOrThrow';\nimport { resolveInput } from '../dom/resolveInput';\n\n// eslint-disable-next-line no-shadow\nexport enum AnchorPosition {\n // eslint-disable-next-line no-unused-vars\n TOP_LEFT = 'TOP_LEFT',\n // eslint-disable-next-line no-unused-vars\n TOP_RIGHT = 'TOP_RIGHT',\n // eslint-disable-next-line no-unused-vars\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n // eslint-disable-next-line no-unused-vars\n BOTTOM_RIGHT = 'BOTTOM_RIGHT'\n}\n\nexport interface IDrawTextFieldOptions {\n anchorPosition?: AnchorPosition\n backgroundColor?: string\n fontColor?: string\n fontSize?: number\n fontStyle?: string\n padding?: number\n}\n\nexport class DrawTextFieldOptions implements IDrawTextFieldOptions {\n public anchorPosition: AnchorPosition;\n\n public backgroundColor: string;\n\n public fontColor: string;\n\n public fontSize: number;\n\n public fontStyle: string;\n\n public padding: number;\n\n constructor(options: IDrawTextFieldOptions = {}) {\n const {\n anchorPosition, backgroundColor, fontColor, fontSize, fontStyle, padding,\n } = options;\n this.anchorPosition = anchorPosition || AnchorPosition.TOP_LEFT;\n this.backgroundColor = backgroundColor || 'rgba(0, 0, 0, 0.5)';\n this.fontColor = fontColor || 'rgba(255, 255, 255, 1)';\n this.fontSize = fontSize || 14;\n this.fontStyle = fontStyle || 'Georgia';\n this.padding = padding || 4;\n }\n}\n\nexport class DrawTextField {\n public text: string[];\n\n public anchor : IPoint;\n\n public options: DrawTextFieldOptions;\n\n constructor(\n text: string | string[] | DrawTextField,\n anchor: IPoint,\n options: IDrawTextFieldOptions = {},\n ) {\n // eslint-disable-next-line no-nested-ternary\n this.text = typeof text === 'string'\n ? [text]\n : (text instanceof DrawTextField ? text.text : text);\n this.anchor = anchor;\n this.options = new DrawTextFieldOptions(options);\n }\n\n measureWidth(ctx: CanvasRenderingContext2D): number {\n const { padding } = this.options;\n return this.text.map((l) => ctx.measureText(l).width).reduce((w0, w1) => (w0 < w1 ? w1 : w0), 0) + (2 * padding);\n }\n\n measureHeight(): number {\n const { fontSize, padding } = this.options;\n return this.text.length * fontSize + (2 * padding);\n }\n\n getUpperLeft(ctx: CanvasRenderingContext2D, canvasDims?: IDimensions): IPoint {\n const { anchorPosition } = this.options;\n const isShiftLeft = anchorPosition === AnchorPosition.BOTTOM_RIGHT || anchorPosition === AnchorPosition.TOP_RIGHT;\n const isShiftTop = anchorPosition === AnchorPosition.BOTTOM_LEFT || anchorPosition === AnchorPosition.BOTTOM_RIGHT;\n\n const textFieldWidth = this.measureWidth(ctx);\n const textFieldHeight = this.measureHeight();\n const x = (isShiftLeft ? this.anchor.x - textFieldWidth : this.anchor.x);\n const y = isShiftTop ? this.anchor.y - textFieldHeight : this.anchor.y;\n\n // adjust anchor if text box exceeds canvas borders\n if (canvasDims) {\n const { width, height } = canvasDims;\n const newX = Math.max(Math.min(x, width - textFieldWidth), 0);\n const newY = Math.max(Math.min(y, height - textFieldHeight), 0);\n return { x: newX, y: newY };\n }\n return { x, y };\n }\n\n draw(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D) {\n const canvas = resolveInput(canvasArg);\n const ctx = getContext2dOrThrow(canvas);\n\n const {\n backgroundColor, fontColor, fontSize, fontStyle, padding,\n } = this.options;\n\n ctx.font = `${fontSize}px ${fontStyle}`;\n const maxTextWidth = this.measureWidth(ctx);\n const textHeight = this.measureHeight();\n\n ctx.fillStyle = backgroundColor;\n const upperLeft = this.getUpperLeft(ctx, canvas);\n ctx.fillRect(upperLeft.x, upperLeft.y, maxTextWidth, textHeight);\n\n ctx.fillStyle = fontColor;\n this.text.forEach((textLine, i) => {\n const x = padding + upperLeft.x;\n const y = padding + upperLeft.y + ((i + 1) * fontSize);\n ctx.fillText(textLine, x, y);\n });\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport { Box, IBoundingBox, IRect } from '../classes/index';\nimport { getContext2dOrThrow } from '../dom/getContext2dOrThrow';\nimport { AnchorPosition, DrawTextField, DrawTextFieldOptions, IDrawTextFieldOptions } from './DrawTextField';\n\nexport interface IDrawBoxOptions {\n boxColor?: string\n lineWidth?: number\n drawLabelOptions?: IDrawTextFieldOptions\n label?: string\n}\n\nexport class DrawBoxOptions {\n public boxColor: string;\n\n public lineWidth: number;\n\n public drawLabelOptions: DrawTextFieldOptions;\n\n public label?: string;\n\n constructor(options: IDrawBoxOptions = {}) {\n const {\n boxColor, lineWidth, label, drawLabelOptions,\n } = options;\n this.boxColor = boxColor || 'rgba(0, 0, 255, 1)';\n this.lineWidth = lineWidth || 2;\n this.label = label;\n\n const defaultDrawLabelOptions = {\n anchorPosition: AnchorPosition.BOTTOM_LEFT,\n backgroundColor: this.boxColor,\n };\n this.drawLabelOptions = new DrawTextFieldOptions({ ...defaultDrawLabelOptions, ...drawLabelOptions });\n }\n}\n\nexport class DrawBox {\n public box: Box;\n\n public options: DrawBoxOptions;\n\n constructor(\n box: IBoundingBox | IRect,\n options: IDrawBoxOptions = {},\n ) {\n this.box = new Box(box);\n this.options = new DrawBoxOptions(options);\n }\n\n draw(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D) {\n const ctx = getContext2dOrThrow(canvasArg);\n\n const { boxColor, lineWidth } = this.options;\n\n const {\n x, y, width, height,\n } = this.box;\n ctx.strokeStyle = boxColor;\n ctx.lineWidth = lineWidth;\n ctx.strokeRect(x, y, width, height);\n\n const { label } = this.options;\n if (label) {\n new DrawTextField([label], { x: x - (lineWidth / 2), y }, this.options.drawLabelOptions).draw(canvasArg);\n }\n }\n}\n", "import { Box, IBoundingBox, IRect } from '../classes/index';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { isWithFaceDetection, WithFaceDetection } from '../factories/WithFaceDetection';\nimport { round } from '../utils/index';\nimport { DrawBox } from './DrawBox';\n\nexport type TDrawDetectionsInput = IRect | IBoundingBox | FaceDetection | WithFaceDetection<{}>\n\nexport function drawDetections(\n canvasArg: string | HTMLCanvasElement,\n detections: TDrawDetectionsInput | Array,\n) {\n const detectionsArray = Array.isArray(detections) ? detections : [detections];\n\n detectionsArray.forEach((det) => {\n // eslint-disable-next-line no-nested-ternary\n const score = det instanceof FaceDetection\n ? det.score\n : (isWithFaceDetection(det) ? det.detection.score : undefined);\n\n // eslint-disable-next-line no-nested-ternary\n const box = det instanceof FaceDetection\n ? det.box\n : (isWithFaceDetection(det) ? det.detection.box : new Box(det));\n\n const label = score ? `${round(score)}` : undefined;\n new DrawBox(box, { label }).draw(canvasArg);\n });\n}\n", "import { env } from '../env/index';\n\nexport function isMediaLoaded(media: HTMLImageElement | HTMLVideoElement) : boolean {\n const { Image, Video } = env.getEnv();\n\n return (media instanceof Image && media.complete)\n || (media instanceof Video && media.readyState >= 3);\n}\n", "import { env } from '../env/index';\nimport { isMediaLoaded } from './isMediaLoaded';\n\nexport function awaitMediaLoaded(media: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement) {\n // eslint-disable-next-line consistent-return\n return new Promise((resolve, reject) => {\n if (media instanceof env.getEnv().Canvas || isMediaLoaded(media)) {\n resolve(null);\n return;\n }\n\n function onError(e: Event) {\n if (!e.currentTarget) return;\n // eslint-disable-next-line no-use-before-define\n e.currentTarget.removeEventListener('load', onLoad);\n e.currentTarget.removeEventListener('error', onError);\n reject(e);\n }\n\n function onLoad(e: Event) {\n if (!e.currentTarget) return;\n e.currentTarget.removeEventListener('load', onLoad);\n e.currentTarget.removeEventListener('error', onError);\n resolve(e);\n }\n\n media.addEventListener('load', onLoad);\n media.addEventListener('error', onError);\n });\n}\n", "import { env } from '../env/index';\n\nexport function bufferToImage(buf: Blob): Promise {\n return new Promise((resolve, reject) => {\n if (!(buf instanceof Blob)) reject(new Error('bufferToImage - expected buf to be of type: Blob'));\n const reader = new FileReader();\n reader.onload = () => {\n if (typeof reader.result !== 'string') reject(new Error('bufferToImage - expected reader.result to be a string, in onload'));\n const img = env.getEnv().createImageElement();\n img.onload = () => resolve(img);\n img.onerror = reject;\n img.src = reader.result as string;\n };\n reader.onerror = reject;\n reader.readAsDataURL(buf);\n });\n}\n", "import { Dimensions, IDimensions } from '../classes/Dimensions';\nimport { env } from '../env/index';\n\nexport function getMediaDimensions(input: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | IDimensions): Dimensions {\n const { Image, Video } = env.getEnv();\n\n if (input instanceof Image) {\n return new Dimensions(input.naturalWidth, input.naturalHeight);\n }\n if (input instanceof Video) {\n return new Dimensions(input.videoWidth, input.videoHeight);\n }\n return new Dimensions(input.width, input.height);\n}\n", "import { IDimensions } from '../classes/Dimensions';\nimport { env } from '../env/index';\nimport { getContext2dOrThrow } from './getContext2dOrThrow';\nimport { getMediaDimensions } from './getMediaDimensions';\nimport { isMediaLoaded } from './isMediaLoaded';\n\nexport function createCanvas({ width, height }: IDimensions): HTMLCanvasElement {\n const { createCanvasElement } = env.getEnv();\n const canvas = createCanvasElement();\n canvas.width = width;\n canvas.height = height;\n return canvas;\n}\n\nexport function createCanvasFromMedia(media: HTMLImageElement | HTMLVideoElement | ImageData, dims?: IDimensions): HTMLCanvasElement {\n const { ImageData } = env.getEnv();\n\n if (!(media instanceof ImageData) && !isMediaLoaded(media)) {\n throw new Error('createCanvasFromMedia - media has not finished loading yet');\n }\n\n const { width, height } = dims || getMediaDimensions(media);\n const canvas = createCanvas({ width, height });\n\n if (media instanceof ImageData) {\n getContext2dOrThrow(canvas).putImageData(media, 0, 0);\n } else {\n getContext2dOrThrow(canvas).drawImage(media, 0, 0, width, height);\n }\n return canvas;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { env } from '../env/index';\nimport { isTensor4D } from '../utils/index';\n\nexport async function imageTensorToCanvas(\n imgTensor: tf.Tensor,\n canvas?: HTMLCanvasElement,\n): Promise {\n const targetCanvas = canvas || env.getEnv().createCanvasElement();\n\n const [height, width, numChannels] = imgTensor.shape.slice(isTensor4D(imgTensor) ? 1 : 0);\n const imgTensor3D = tf.tidy(() => imgTensor.as3D(height, width, numChannels).toInt());\n await tf['browser'].toPixels(imgTensor3D, targetCanvas);\n\n imgTensor3D.dispose();\n\n return targetCanvas;\n}\n", "import { env } from '../env/index';\n\nexport function isMediaElement(input: any) {\n const { Image, Canvas, Video } = env.getEnv();\n\n return input instanceof Image\n || input instanceof Canvas\n || input instanceof Video;\n}\n", "import { env } from '../env/index';\nimport { createCanvas, createCanvasFromMedia } from './createCanvas';\nimport { getContext2dOrThrow } from './getContext2dOrThrow';\nimport { getMediaDimensions } from './getMediaDimensions';\n\nexport function imageToSquare(input: HTMLImageElement | HTMLCanvasElement, inputSize: number, centerImage = false) {\n const { Image, Canvas } = env.getEnv();\n\n if (!(input instanceof Image || input instanceof Canvas)) {\n throw new Error('imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement');\n }\n\n if (inputSize <= 0) return createCanvas({ width: 1, height: 1 });\n const dims = getMediaDimensions(input);\n const scale = inputSize / Math.max(dims.height, dims.width);\n const width = scale * dims.width;\n const height = scale * dims.height;\n\n const targetCanvas = createCanvas({ width: inputSize, height: inputSize });\n const inputCanvas = input instanceof Canvas ? input : createCanvasFromMedia(input);\n\n const offset = Math.abs(width - height) / 2;\n const dx = centerImage && width < height ? offset : 0;\n const dy = centerImage && height < width ? offset : 0;\n if (inputCanvas.width > 0 && inputCanvas.height > 0) getContext2dOrThrow(targetCanvas).drawImage(inputCanvas, dx, dy, width, height);\n\n return targetCanvas;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Dimensions } from '../classes/Dimensions';\nimport { env } from '../env/index';\nimport { padToSquare } from '../ops/padToSquare';\nimport { computeReshapedDimensions, isTensor3D, isTensor4D, range } from '../utils/index';\nimport { createCanvasFromMedia } from './createCanvas';\nimport { imageToSquare } from './imageToSquare';\nimport { TResolvedNetInput } from './types';\n\nexport class NetInput {\n private _imageTensors: Array = [];\n\n private _canvases: HTMLCanvasElement[] = [];\n\n private _batchSize: number;\n\n private _treatAsBatchInput = false;\n\n private _inputDimensions: number[][] = [];\n\n private _inputSize = 0;\n\n constructor(inputs: Array, treatAsBatchInput = false) {\n if (!Array.isArray(inputs)) {\n throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${inputs}`);\n }\n\n this._treatAsBatchInput = treatAsBatchInput;\n this._batchSize = inputs.length;\n\n inputs.forEach((input, idx) => {\n if (isTensor3D(input)) {\n this._imageTensors[idx] = input;\n this._inputDimensions[idx] = input.shape;\n return;\n }\n\n if (isTensor4D(input)) {\n const batchSize = (input as any).shape[0];\n if (batchSize !== 1) {\n throw new Error(`NetInput - tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`);\n }\n\n this._imageTensors[idx] = input;\n this._inputDimensions[idx] = (input as any).shape.slice(1);\n return;\n }\n\n // @ts-ignore\n const canvas = (input as any) instanceof env.getEnv().Canvas ? input : createCanvasFromMedia(input);\n this._canvases[idx] = canvas as HTMLCanvasElement;\n this._inputDimensions[idx] = [canvas.height, canvas.width, 3];\n });\n }\n\n public get imageTensors(): Array {\n return this._imageTensors;\n }\n\n public get canvases(): HTMLCanvasElement[] {\n return this._canvases;\n }\n\n public get isBatchInput(): boolean {\n return this.batchSize > 1 || this._treatAsBatchInput;\n }\n\n public get batchSize(): number {\n return this._batchSize;\n }\n\n public get inputDimensions(): number[][] {\n return this._inputDimensions;\n }\n\n public get inputSize(): number | undefined {\n return this._inputSize;\n }\n\n public get reshapedInputDimensions(): Dimensions[] {\n return range(this.batchSize, 0, 1).map(\n (_, batchIdx) => this.getReshapedInputDimensions(batchIdx),\n );\n }\n\n public getInput(batchIdx: number): tf.Tensor3D | tf.Tensor4D | HTMLCanvasElement {\n return this.canvases[batchIdx] || this.imageTensors[batchIdx];\n }\n\n public getInputDimensions(batchIdx: number): number[] {\n return this._inputDimensions[batchIdx];\n }\n\n public getInputHeight(batchIdx: number): number {\n return this._inputDimensions[batchIdx][0];\n }\n\n public getInputWidth(batchIdx: number): number {\n return this._inputDimensions[batchIdx][1];\n }\n\n public getReshapedInputDimensions(batchIdx: number): Dimensions {\n if (typeof this.inputSize !== 'number') {\n throw new Error('getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet');\n }\n\n const width = this.getInputWidth(batchIdx);\n const height = this.getInputHeight(batchIdx);\n return computeReshapedDimensions({ width, height }, this.inputSize);\n }\n\n /**\n * Create a batch tensor from all input canvases and tensors\n * with size [batchSize, inputSize, inputSize, 3].\n *\n * @param inputSize Height and width of the tensor.\n * @param isCenterImage (optional, default: false) If true, add an equal amount of padding on\n * both sides of the minor dimension oof the image.\n * @returns The batch tensor.\n */\n public toBatchTensor(inputSize: number, isCenterInputs = true): tf.Tensor4D {\n this._inputSize = inputSize;\n\n return tf.tidy(() => {\n const inputTensors = range(this.batchSize, 0, 1).map((batchIdx) => {\n const input = this.getInput(batchIdx);\n\n if (input instanceof tf.Tensor) {\n let imgTensor = isTensor4D(input) ? input : tf.expandDims(input);\n imgTensor = padToSquare(imgTensor as tf.Tensor4D, isCenterInputs);\n\n if (imgTensor.shape[1] !== inputSize || imgTensor.shape[2] !== inputSize) {\n imgTensor = tf['image'].resizeBilinear(imgTensor as tf.Tensor4D, [inputSize, inputSize], false, false);\n }\n\n return imgTensor.as3D(inputSize, inputSize, 3);\n }\n\n if (input instanceof env.getEnv().Canvas) {\n return tf['browser'].fromPixels(imageToSquare(input, inputSize, isCenterInputs));\n }\n\n throw new Error(`toBatchTensor - at batchIdx ${batchIdx}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${input}`);\n });\n\n const batchTensor = tf.stack(inputTensors.map((t) => tf.cast(t, 'float32'))).as4D(this.batchSize, inputSize, inputSize, 3);\n // const batchTensor = tf.stack(inputTensors.map((t) => tf.cast(t, 'float32'))) as tf.Tensor4D;\n\n return batchTensor;\n });\n }\n}\n", "import { isTensor3D, isTensor4D } from '../utils/index';\nimport { awaitMediaLoaded } from './awaitMediaLoaded';\nimport { isMediaElement } from './isMediaElement';\nimport { NetInput } from './NetInput';\nimport { resolveInput } from './resolveInput';\nimport { TNetInput } from './types';\n\n/**\n * Validates the input to make sure, they are valid net inputs and awaits all media elements\n * to be finished loading.\n *\n * @param input The input, which can be a media element or an array of different media elements.\n * @returns A NetInput instance, which can be passed into one of the neural networks.\n */\nexport async function toNetInput(inputs: TNetInput): Promise {\n if (inputs instanceof NetInput) return inputs;\n const inputArgArray = Array.isArray(inputs) ? inputs : [inputs];\n if (!inputArgArray.length) throw new Error('toNetInput - empty array passed as input');\n const getIdxHint = (idx: number) => (Array.isArray(inputs) ? ` at input index ${idx}:` : '');\n const inputArray = inputArgArray.map(resolveInput);\n inputArray.forEach((input, i) => {\n if (!isMediaElement(input) && !isTensor3D(input) && !isTensor4D(input)) {\n if (typeof inputArgArray[i] === 'string') throw new Error(`toNetInput -${getIdxHint(i)} string passed, but could not resolve HTMLElement for element id ${inputArgArray[i]}`);\n throw new Error(`toNetInput -${getIdxHint(i)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);\n }\n if (isTensor4D(input)) {\n // if tf.Tensor4D is passed in the input array, the batch size has to be 1\n const batchSize = input.shape[0];\n if (batchSize !== 1) throw new Error(`toNetInput -${getIdxHint(i)} tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`);\n }\n });\n // wait for all media elements being loaded\n await Promise.all(inputArray.map((input) => isMediaElement(input) && awaitMediaLoaded(input)));\n return new NetInput(inputArray, Array.isArray(inputs));\n}\n", "import { FaceDetection } from '../classes/FaceDetection';\nimport { Rect } from '../classes/Rect';\nimport { env } from '../env/index';\nimport { createCanvas } from './createCanvas';\nimport { getContext2dOrThrow } from './getContext2dOrThrow';\nimport { imageTensorToCanvas } from './imageTensorToCanvas';\nimport { toNetInput } from './toNetInput';\nimport { TNetInput } from './types';\n\n/**\n * Extracts the image regions containing the detected faces.\n *\n * @param input The image that face detection has been performed on.\n * @param detections The face detection results or face bounding boxes for that image.\n * @returns The Canvases of the corresponding image region for each detected face.\n */\nexport async function extractFaces(input: TNetInput, detections: Array): Promise {\n const { Canvas } = env.getEnv();\n let canvas = input as HTMLCanvasElement;\n if (!(input instanceof Canvas)) {\n const netInput = await toNetInput(input);\n if (netInput.batchSize > 1) throw new Error('extractFaces - batchSize > 1 not supported');\n const tensorOrCanvas = netInput.getInput(0);\n canvas = tensorOrCanvas instanceof Canvas ? tensorOrCanvas : await imageTensorToCanvas(tensorOrCanvas);\n }\n const ctx = getContext2dOrThrow(canvas);\n const boxes = detections\n .map((det) => (det instanceof FaceDetection ? det.forSize(canvas.width, canvas.height).box.floor() : det))\n .map((box) => box.clipAtImageBorders(canvas.width, canvas.height));\n return boxes.map(({ x, y, width, height }) => {\n const faceImg = createCanvas({ width, height });\n if (width > 0 && height > 0) getContext2dOrThrow(faceImg).putImageData(ctx.getImageData(x, y, width, height), 0, 0);\n return faceImg;\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Rect } from '../classes/index';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { isTensor3D, isTensor4D } from '../utils/index';\n\n/**\n * Extracts the tensors of the image regions containing the detected faces.\n * Useful if you want to compute the face descriptors for the face images.\n * Using this method is faster then extracting a canvas for each face and\n * converting them to tensors individually.\n *\n * @param imageTensor The image tensor that face detection has been performed on.\n * @param detections The face detection results or face bounding boxes for that image.\n * @returns Tensors of the corresponding image region for each detected face.\n */\nexport async function extractFaceTensors(imageTensor: tf.Tensor3D | tf.Tensor4D, detections: Array): Promise {\n if (!isTensor3D(imageTensor) && !isTensor4D(imageTensor)) {\n throw new Error('extractFaceTensors - expected image tensor to be 3D or 4D');\n }\n\n if (isTensor4D(imageTensor) && imageTensor.shape[0] > 1) {\n throw new Error('extractFaceTensors - batchSize > 1 not supported');\n }\n\n return tf.tidy(() => {\n const [imgHeight, imgWidth, numChannels] = imageTensor.shape.slice(isTensor4D(imageTensor) ? 1 : 0);\n const boxes = detections.map((det) => (det instanceof FaceDetection ? det.forSize(imgWidth, imgHeight).box : det))\n .map((box) => box.clipAtImageBorders(imgWidth, imgHeight));\n const faceTensors = boxes\n .filter((box) => box.width > 0 && box.height > 0)\n .map(({ x, y, width, height }) => tf.slice3d(imageTensor.as3D(imgHeight, imgWidth, numChannels), [y, x, 0], [height, width, numChannels]));\n return faceTensors;\n });\n}\n", "import { env } from '../env/index';\n\nexport async function fetchOrThrow(\n url: string,\n // eslint-disable-next-line no-undef\n init?: RequestInit,\n): Promise {\n const { fetch } = env.getEnv();\n const res = await fetch(url, init);\n if (!(res.status < 400)) {\n throw new Error(`failed to fetch: (${res.status}) ${res.statusText}, from url: ${res.url}`);\n }\n return res;\n}\n", "import { bufferToImage } from './bufferToImage';\nimport { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchImage(uri: string): Promise {\n const res = await fetchOrThrow(uri);\n const blob = await (res).blob();\n\n if (!blob.type.startsWith('image/')) {\n throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${blob.type}, for url: ${res.url}`);\n }\n return bufferToImage(blob);\n}\n", "import { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchJson(uri: string): Promise {\n return (await fetchOrThrow(uri)).json();\n}\n", "import { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchNetWeights(uri: string): Promise {\n return new Float32Array(await (await fetchOrThrow(uri)).arrayBuffer());\n}\n", "import { env } from '../env/index';\n\nexport function bufferToVideo(buf: Blob): Promise {\n return new Promise((resolve, reject) => {\n if (!(buf instanceof Blob)) reject(new Error('bufferToVideo - expected buf to be of type: Blob'));\n\n const video = env.getEnv().createVideoElement();\n video.oncanplay = () => resolve(video);\n video.onerror = reject;\n video.playsInline = true;\n video.muted = true;\n video.src = URL.createObjectURL(buf);\n video.play();\n });\n}\n", "import { bufferToVideo } from './bufferToVideo';\nimport { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchVideo(uri: string): Promise {\n const res = await fetchOrThrow(uri);\n const blob = await (res).blob();\n\n if (!blob.type.startsWith('video/')) {\n throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${blob.type}, for url: ${res.url}`);\n }\n return bufferToVideo(blob);\n}\n", "export function getModelUris(uri: string | undefined, defaultModelName: string) {\n const defaultManifestFilename = `${defaultModelName}-weights_manifest.json`;\n\n if (!uri) {\n return {\n modelBaseUri: '',\n manifestUri: defaultManifestFilename,\n };\n }\n\n if (uri === '/') {\n return {\n modelBaseUri: '/',\n manifestUri: `/${defaultManifestFilename}`,\n };\n }\n // eslint-disable-next-line no-nested-ternary\n const protocol = uri.startsWith('http://') ? 'http://' : uri.startsWith('https://') ? 'https://' : '';\n uri = uri.replace(protocol, '');\n\n const parts = uri.split('/').filter((s) => s);\n\n const manifestFile = uri.endsWith('.json')\n ? parts[parts.length - 1]\n : defaultManifestFilename;\n\n let modelBaseUri = protocol + (uri.endsWith('.json') ? parts.slice(0, parts.length - 1) : parts).join('/');\n modelBaseUri = uri.startsWith('/') ? `/${modelBaseUri}` : modelBaseUri;\n\n return {\n modelBaseUri,\n manifestUri: modelBaseUri === '/' ? `/${manifestFile}` : `${modelBaseUri}/${manifestFile}`,\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { getModelUris } from '../common/getModelUris';\nimport { fetchJson } from './fetchJson';\n\nexport async function loadWeightMap(\n uri: string | undefined,\n defaultModelName: string,\n): Promise {\n const { manifestUri, modelBaseUri } = getModelUris(uri, defaultModelName);\n // @ts-ignore\n const manifest = await fetchJson(manifestUri);\n // if (manifest['weightsManifest']) manifest = manifest['weightsManifest'];\n return tf['io'].loadWeights(manifest, modelBaseUri);\n}\n", "import { IDimensions } from '../classes/index';\nimport { getMediaDimensions } from './getMediaDimensions';\n\nexport function matchDimensions(input: IDimensions, reference: IDimensions, useMediaDimensions = false) {\n const { width, height } = useMediaDimensions\n ? getMediaDimensions(reference)\n : reference;\n input.width = width;\n input.height = height;\n return { width, height };\n}\n", "import * as tf from '../dist/tfjs.esm';\n\nimport { ParamMapping } from './common/index';\nimport { getModelUris } from './common/getModelUris';\nimport { loadWeightMap } from './dom/index';\nimport { env } from './env/index';\n\nexport abstract class NeuralNetwork {\n constructor(name: string) {\n this._name = name;\n }\n\n protected _params: TNetParams | undefined = undefined;\n\n protected _paramMappings: ParamMapping[] = [];\n\n public _name: any;\n\n public get params(): TNetParams | undefined { return this._params; }\n\n public get paramMappings(): ParamMapping[] { return this._paramMappings; }\n\n public get isLoaded(): boolean { return !!this.params; }\n\n public getParamFromPath(paramPath: string): tf.Tensor {\n const { obj, objProp } = this.traversePropertyPath(paramPath);\n return obj[objProp];\n }\n\n public reassignParamFromPath(paramPath: string, tensor: tf.Tensor) {\n const { obj, objProp } = this.traversePropertyPath(paramPath);\n obj[objProp].dispose();\n obj[objProp] = tensor;\n }\n\n public getParamList() {\n return this._paramMappings.map(({ paramPath }) => ({\n path: paramPath,\n tensor: this.getParamFromPath(paramPath),\n }));\n }\n\n public getTrainableParams() {\n return this.getParamList().filter((param) => param.tensor instanceof tf.Variable);\n }\n\n public getFrozenParams() {\n return this.getParamList().filter((param) => !(param.tensor instanceof tf.Variable));\n }\n\n public variable() {\n this.getFrozenParams().forEach(({ path, tensor }) => {\n this.reassignParamFromPath(path, tensor.variable());\n });\n }\n\n public freeze() {\n this.getTrainableParams().forEach(({ path, tensor: variable }) => {\n const tensor = tf.tensor(variable.dataSync());\n variable.dispose();\n this.reassignParamFromPath(path, tensor);\n });\n }\n\n public dispose(throwOnRedispose = true) {\n this.getParamList().forEach((param) => {\n if (throwOnRedispose && param.tensor.isDisposed) {\n throw new Error(`param tensor has already been disposed for path ${param.path}`);\n }\n param.tensor.dispose();\n });\n this._params = undefined;\n }\n\n public serializeParams(): Float32Array {\n return new Float32Array(\n this.getParamList()\n .map(({ tensor }) => Array.from(tensor.dataSync()) as number[])\n .reduce((flat, arr) => flat.concat(arr)),\n );\n }\n\n public async load(weightsOrUrl: Float32Array | string | undefined): Promise {\n if (weightsOrUrl instanceof Float32Array) {\n this.extractWeights(weightsOrUrl);\n return;\n }\n await this.loadFromUri(weightsOrUrl);\n }\n\n public async loadFromUri(uri: string | undefined) {\n if (uri && typeof uri !== 'string') {\n throw new Error(`${this._name}.loadFromUri - expected model uri`);\n }\n const weightMap = await loadWeightMap(uri, this.getDefaultModelName());\n this.loadFromWeightMap(weightMap);\n }\n\n public async loadFromDisk(filePath: string | undefined) {\n if (filePath && typeof filePath !== 'string') {\n throw new Error(`${this._name}.loadFromDisk - expected model file path`);\n }\n const { readFile } = env.getEnv();\n const { manifestUri, modelBaseUri } = getModelUris(filePath, this.getDefaultModelName());\n const fetchWeightsFromDisk = (filePaths: string[]) => Promise.all(filePaths.map((fp) => readFile(fp).then((buf) => (typeof buf === 'string' ? Buffer.from(buf) : buf.buffer))));\n const loadWeights = tf['io'].weightsLoaderFactory(fetchWeightsFromDisk);\n const manifest = JSON.parse((await readFile(manifestUri)).toString());\n const weightMap = await loadWeights(manifest, modelBaseUri);\n this.loadFromWeightMap(weightMap);\n }\n\n public loadFromWeightMap(weightMap: tf.NamedTensorMap) {\n const { paramMappings, params } = this.extractParamsFromWeightMap(weightMap);\n this._paramMappings = paramMappings;\n this._params = params;\n }\n\n public extractWeights(weights: Float32Array) {\n const { paramMappings, params } = this.extractParams(weights);\n this._paramMappings = paramMappings;\n this._params = params;\n }\n\n private traversePropertyPath(paramPath: string) {\n if (!this.params) {\n throw new Error('traversePropertyPath - model has no loaded params');\n }\n\n const result = paramPath.split('/').reduce((res: { nextObj: any, obj?: any, objProp?: string }, objProp) => {\n // eslint-disable-next-line no-prototype-builtins\n if (!res.nextObj.hasOwnProperty(objProp)) {\n throw new Error(`traversePropertyPath - object does not have property ${objProp}, for path ${paramPath}`);\n }\n return { obj: res.nextObj, objProp, nextObj: res.nextObj[objProp] };\n }, { nextObj: this.params });\n\n const { obj, objProp } = result;\n if (!obj || !objProp || !(obj[objProp] instanceof tf.Tensor)) {\n throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${paramPath}`);\n }\n\n return { obj, objProp };\n }\n\n protected abstract getDefaultModelName(): string\n\n // eslint-disable-next-line no-unused-vars\n protected abstract extractParamsFromWeightMap(weightMap: tf.NamedTensorMap): { params: TNetParams, paramMappings: ParamMapping[] }\n\n // eslint-disable-next-line no-unused-vars\n protected abstract extractParams(weights: Float32Array): { params: TNetParams, paramMappings: ParamMapping[] }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { SeparableConvParams } from './types';\n\nexport function depthwiseSeparableConv(\n x: tf.Tensor4D,\n params: SeparableConvParams,\n stride: [number, number],\n): tf.Tensor4D {\n return tf.tidy(() => {\n let out = tf.separableConv2d(x, params.depthwise_filter, params.pointwise_filter, stride, 'same');\n out = tf.add(out, params.bias);\n return out;\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, SeparableConvParams } from '../common/index';\nimport { depthwiseSeparableConv } from '../common/depthwiseSeparableConv';\nimport { DenseBlock3Params, DenseBlock4Params } from './types';\n\nexport function denseBlock3(\n x: tf.Tensor4D,\n denseBlockParams: DenseBlock3Params,\n isFirstLayer = false,\n): tf.Tensor4D {\n return tf.tidy(() => {\n const out1 = tf.relu(\n isFirstLayer\n ? tf.add(\n tf.conv2d(x, (denseBlockParams.conv0 as ConvParams).filters, [2, 2], 'same'),\n denseBlockParams.conv0.bias,\n )\n : depthwiseSeparableConv(x, denseBlockParams.conv0 as SeparableConvParams, [2, 2]),\n ) as tf.Tensor4D;\n const out2 = depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]);\n\n const in3 = tf.relu(tf.add(out1, out2)) as tf.Tensor4D;\n const out3 = depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]);\n\n return tf.relu(tf.add(out1, tf.add(out2, out3))) as tf.Tensor4D;\n });\n}\n\nexport function denseBlock4(\n x: tf.Tensor4D,\n denseBlockParams: DenseBlock4Params,\n isFirstLayer = false,\n isScaleDown = true,\n): tf.Tensor4D {\n return tf.tidy(() => {\n const out1 = tf.relu(\n isFirstLayer\n ? tf.add(\n tf.conv2d(x, (denseBlockParams.conv0 as ConvParams).filters, isScaleDown ? [2, 2] : [1, 1], 'same'),\n denseBlockParams.conv0.bias,\n )\n : depthwiseSeparableConv(x, denseBlockParams.conv0 as SeparableConvParams, isScaleDown ? [2, 2] : [1, 1]),\n ) as tf.Tensor4D;\n const out2 = depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]);\n\n const in3 = tf.relu(tf.add(out1, out2)) as tf.Tensor4D;\n const out3 = depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]);\n\n const in4 = tf.relu(tf.add(out1, tf.add(out2, out3))) as tf.Tensor4D;\n const out4 = depthwiseSeparableConv(in4, denseBlockParams.conv3, [1, 1]);\n\n return tf.relu(tf.add(out1, tf.add(out2, tf.add(out3, out4)))) as tf.Tensor4D;\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams } from './types';\n\nexport function convLayer(\n x: tf.Tensor4D,\n params: ConvParams,\n padding: 'valid' | 'same' = 'same',\n withRelu = false,\n): tf.Tensor4D {\n return tf.tidy(() => {\n const out = tf.add(\n tf.conv2d(x, params.filters, [1, 1], padding),\n params.bias,\n ) as tf.Tensor4D;\n\n return withRelu ? tf.relu(out) : out;\n });\n}\n", "import { ParamMapping } from './types';\n\nexport function disposeUnusedWeightTensors(weightMap: any, paramMappings: ParamMapping[]) {\n Object.keys(weightMap).forEach((path) => {\n if (!paramMappings.some((pm) => pm.originalPath === path)) {\n weightMap[path].dispose();\n }\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, ExtractWeightsFunction, ParamMapping } from './types';\n\nexport function extractConvParamsFactory(\n extractWeights: ExtractWeightsFunction,\n paramMappings: ParamMapping[],\n) {\n return (\n channelsIn: number,\n channelsOut: number,\n filterSize: number,\n mappedPrefix: string,\n ): ConvParams => {\n const filters = tf.tensor4d(\n extractWeights(channelsIn * channelsOut * filterSize * filterSize),\n [filterSize, filterSize, channelsIn, channelsOut],\n );\n const bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return { filters, bias };\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ExtractWeightsFunction, FCParams, ParamMapping } from './types';\n\nexport function extractFCParamsFactory(\n extractWeights: ExtractWeightsFunction,\n paramMappings: ParamMapping[],\n) {\n return (\n channelsIn: number,\n channelsOut: number,\n mappedPrefix: string,\n ): FCParams => {\n const fc_weights = tf.tensor2d(extractWeights(channelsIn * channelsOut), [channelsIn, channelsOut]);\n const fc_bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/weights` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return {\n weights: fc_weights,\n bias: fc_bias,\n };\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\n// eslint-disable-next-line no-unused-vars\nexport type ExtractWeightsFunction = (numWeights: number) => Float32Array\n\nexport type ParamMapping = {\n originalPath?: string\n paramPath: string\n}\n\nexport type ConvParams = {\n filters: tf.Tensor4D\n bias: tf.Tensor1D\n}\n\nexport type FCParams = {\n weights: tf.Tensor2D\n bias: tf.Tensor1D\n}\n\nexport class SeparableConvParams {\n // eslint-disable-next-line no-useless-constructor\n constructor(\n // eslint-disable-next-line no-unused-vars\n public depthwise_filter: tf.Tensor4D,\n // eslint-disable-next-line no-unused-vars\n public pointwise_filter: tf.Tensor4D,\n // eslint-disable-next-line no-unused-vars\n public bias: tf.Tensor1D,\n // eslint-disable-next-line no-empty-function\n ) {}\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ExtractWeightsFunction, ParamMapping, SeparableConvParams } from './types';\n\nexport function extractSeparableConvParamsFactory(\n extractWeights: ExtractWeightsFunction,\n paramMappings: ParamMapping[],\n) {\n return (channelsIn: number, channelsOut: number, mappedPrefix: string): SeparableConvParams => {\n const depthwise_filter = tf.tensor4d(extractWeights(3 * 3 * channelsIn), [3, 3, channelsIn, 1]);\n const pointwise_filter = tf.tensor4d(extractWeights(channelsIn * channelsOut), [1, 1, channelsIn, channelsOut]);\n const bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/depthwise_filter` },\n { paramPath: `${mappedPrefix}/pointwise_filter` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return new SeparableConvParams(\n depthwise_filter,\n pointwise_filter,\n bias,\n );\n };\n}\n\nexport function loadSeparableConvParamsFactory(\n // eslint-disable-next-line no-unused-vars\n extractWeightEntry: (originalPath: string, paramRank: number) => T,\n) {\n return (prefix: string): SeparableConvParams => {\n const depthwise_filter = extractWeightEntry(`${prefix}/depthwise_filter`, 4);\n const pointwise_filter = extractWeightEntry(`${prefix}/pointwise_filter`, 4);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n\n return new SeparableConvParams(\n depthwise_filter,\n pointwise_filter,\n bias,\n );\n };\n}\n", "import { isTensor } from '../utils/index';\nimport { ParamMapping } from './types';\n\nexport function extractWeightEntryFactory(weightMap: any, paramMappings: ParamMapping[]) {\n return (originalPath: string, paramRank: number, mappedPath?: string) => {\n const tensor = weightMap[originalPath];\n\n if (!isTensor(tensor, paramRank)) {\n throw new Error(`expected weightMap[${originalPath}] to be a Tensor${paramRank}D, instead have ${tensor}`);\n }\n\n paramMappings.push(\n { originalPath, paramPath: mappedPath || originalPath },\n );\n\n return tensor;\n };\n}\n", "export function extractWeightsFactory(weights: Float32Array) {\n let remainingWeights = weights;\n\n function extractWeights(numWeights: number): Float32Array {\n const ret = remainingWeights.slice(0, numWeights);\n remainingWeights = remainingWeights.slice(numWeights);\n return ret;\n }\n\n function getRemainingWeights(): Float32Array {\n return remainingWeights;\n }\n\n return {\n extractWeights,\n getRemainingWeights,\n };\n}\n", "import { extractConvParamsFactory, extractSeparableConvParamsFactory, ExtractWeightsFunction, ParamMapping } from '../common/index';\nimport { DenseBlock3Params, DenseBlock4Params } from './types';\n\nexport function extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings);\n const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings);\n\n function extractDenseBlock3Params(channelsIn: number, channelsOut: number, mappedPrefix: string, isFirstLayer = false): DenseBlock3Params {\n const conv0 = isFirstLayer\n ? extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv0`)\n : extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/conv0`);\n const conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv1`);\n const conv2 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv2`);\n\n return { conv0, conv1, conv2 };\n }\n\n function extractDenseBlock4Params(channelsIn: number, channelsOut: number, mappedPrefix: string, isFirstLayer = false): DenseBlock4Params {\n const { conv0, conv1, conv2 } = extractDenseBlock3Params(channelsIn, channelsOut, mappedPrefix, isFirstLayer);\n const conv3 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv3`);\n\n return {\n conv0, conv1, conv2, conv3,\n };\n }\n\n return {\n extractDenseBlock3Params,\n extractDenseBlock4Params,\n };\n}\n", "import { extractWeightsFactory, ParamMapping } from '../common/index';\nimport { extractorsFactory } from './extractorsFactory';\nimport { FaceFeatureExtractorParams } from './types';\n\nexport function extractParams(weights: Float32Array): { params: FaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const {\n extractDenseBlock4Params,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const dense0 = extractDenseBlock4Params(3, 32, 'dense0', true);\n const dense1 = extractDenseBlock4Params(32, 64, 'dense1');\n const dense2 = extractDenseBlock4Params(64, 128, 'dense2');\n const dense3 = extractDenseBlock4Params(128, 256, 'dense3');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: {\n dense0, dense1, dense2, dense3,\n },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams } from './types';\n\n// eslint-disable-next-line no-unused-vars\nexport function loadConvParamsFactory(extractWeightEntry: (originalPath: string, paramRank: number) => T) {\n return (prefix: string): ConvParams => {\n const filters = extractWeightEntry(`${prefix}/filters`, 4);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n\n return { filters, bias };\n };\n}\n", "import { extractWeightEntryFactory, loadSeparableConvParamsFactory, ParamMapping } from '../common/index';\nimport { loadConvParamsFactory } from '../common/loadConvParamsFactory';\nimport { DenseBlock3Params, DenseBlock4Params } from './types';\n\nexport function loadParamsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n const extractConvParams = loadConvParamsFactory(extractWeightEntry);\n const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry);\n\n function extractDenseBlock3Params(prefix: string, isFirstLayer = false): DenseBlock3Params {\n const conv0 = isFirstLayer\n ? extractConvParams(`${prefix}/conv0`)\n : extractSeparableConvParams(`${prefix}/conv0`);\n const conv1 = extractSeparableConvParams(`${prefix}/conv1`);\n const conv2 = extractSeparableConvParams(`${prefix}/conv2`);\n\n return { conv0, conv1, conv2 };\n }\n\n function extractDenseBlock4Params(prefix: string, isFirstLayer = false): DenseBlock4Params {\n const conv0 = isFirstLayer\n ? extractConvParams(`${prefix}/conv0`)\n : extractSeparableConvParams(`${prefix}/conv0`);\n const conv1 = extractSeparableConvParams(`${prefix}/conv1`);\n const conv2 = extractSeparableConvParams(`${prefix}/conv2`);\n const conv3 = extractSeparableConvParams(`${prefix}/conv3`);\n\n return {\n conv0, conv1, conv2, conv3,\n };\n }\n\n return {\n extractDenseBlock3Params,\n extractDenseBlock4Params,\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, ParamMapping } from '../common/index';\nimport { loadParamsFactory } from './loadParamsFactory';\nimport { FaceFeatureExtractorParams } from './types';\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: FaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractDenseBlock4Params,\n } = loadParamsFactory(weightMap, paramMappings);\n\n const params = {\n dense0: extractDenseBlock4Params('dense0', true),\n dense1: extractDenseBlock4Params('dense1'),\n dense2: extractDenseBlock4Params('dense2'),\n dense3: extractDenseBlock4Params('dense3'),\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { denseBlock4 } from './denseBlock';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { FaceFeatureExtractorParams, IFaceFeatureExtractor } from './types';\n\nexport class FaceFeatureExtractor extends NeuralNetwork implements IFaceFeatureExtractor {\n constructor() {\n super('FaceFeatureExtractor');\n }\n\n public forwardInput(input: NetInput): tf.Tensor4D {\n const { params } = this;\n\n if (!params) {\n throw new Error('FaceFeatureExtractor - load model before inference');\n }\n\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(112, true), 'float32');\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n\n let out = denseBlock4(normalized, params.dense0, true);\n out = denseBlock4(out, params.dense1);\n out = denseBlock4(out, params.dense2);\n out = denseBlock4(out, params.dense3);\n out = tf.avgPool(out, [7, 7], [2, 2], 'valid');\n\n return out;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n protected getDefaultModelName(): string {\n return 'face_feature_extractor_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FCParams } from './types';\n\nexport function fullyConnectedLayer(\n x: tf.Tensor2D,\n params: FCParams,\n): tf.Tensor2D {\n return tf.tidy(() => tf.add(\n tf.matMul(x, params.weights),\n params.bias,\n ));\n}\n", "import { extractFCParamsFactory, extractWeightsFactory, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParams(weights: Float32Array, channelsIn: number, channelsOut: number): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings);\n\n const fc = extractFCParams(channelsIn, channelsOut, 'fc');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { fc },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, FCParams, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractFcParams(prefix: string): FCParams {\n const weights = extractWeightEntry(`${prefix}/weights`, 2);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n return { weights, bias };\n }\n\n const params = {\n fc: extractFcParams('fc'),\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nexport function seperateWeightMaps(weightMap: tf.NamedTensorMap) {\n const featureExtractorMap: tf.NamedTensorMap = {};\n const classifierMap: tf.NamedTensorMap = {};\n\n Object.keys(weightMap).forEach((key) => {\n const map = key.startsWith('fc') ? classifierMap : featureExtractorMap;\n map[key] = weightMap[key];\n });\n\n return { featureExtractorMap, classifierMap };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { fullyConnectedLayer } from '../common/fullyConnectedLayer';\nimport { NetInput } from '../dom/index';\nimport { FaceFeatureExtractorParams, IFaceFeatureExtractor, TinyFaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { NetParams } from './types';\nimport { seperateWeightMaps } from './util';\n\nexport abstract class FaceProcessor<\n TExtractorParams extends FaceFeatureExtractorParams | TinyFaceFeatureExtractorParams\n>\n extends NeuralNetwork {\n protected _faceFeatureExtractor: IFaceFeatureExtractor;\n\n constructor(_name: string, faceFeatureExtractor: IFaceFeatureExtractor) {\n super(_name);\n this._faceFeatureExtractor = faceFeatureExtractor;\n }\n\n public get faceFeatureExtractor(): IFaceFeatureExtractor {\n return this._faceFeatureExtractor;\n }\n\n protected abstract override getDefaultModelName(): string\n\n protected abstract getClassifierChannelsIn(): number\n\n protected abstract getClassifierChannelsOut(): number\n\n public runNet(input: NetInput | tf.Tensor4D): tf.Tensor2D {\n const { params } = this;\n\n if (!params) {\n throw new Error(`${this._name} - load model before inference`);\n }\n\n return tf.tidy(() => {\n const bottleneckFeatures = input instanceof NetInput\n ? this.faceFeatureExtractor.forwardInput(input)\n : input;\n return fullyConnectedLayer(bottleneckFeatures.as2D(bottleneckFeatures.shape[0], -1), params.fc);\n });\n }\n\n public override dispose(throwOnRedispose = true) {\n this.faceFeatureExtractor.dispose(throwOnRedispose);\n super.dispose(throwOnRedispose);\n }\n\n public loadClassifierParams(weights: Float32Array) {\n const { params, paramMappings } = this.extractClassifierParams(weights);\n this._params = params;\n this._paramMappings = paramMappings;\n }\n\n public extractClassifierParams(weights: Float32Array) {\n return extractParams(weights, this.getClassifierChannelsIn(), this.getClassifierChannelsOut());\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n const { featureExtractorMap, classifierMap } = seperateWeightMaps(weightMap);\n\n this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap);\n\n return extractParamsFromWeightMap(classifierMap);\n }\n\n protected extractParams(weights: Float32Array) {\n const cIn = this.getClassifierChannelsIn();\n const cOut = this.getClassifierChannelsOut();\n const classifierWeightSize = (cOut * cIn) + cOut;\n\n const featureExtractorWeights = weights.slice(0, weights.length - classifierWeightSize);\n const classifierWeights = weights.slice(weights.length - classifierWeightSize);\n\n this.faceFeatureExtractor.extractWeights(featureExtractorWeights);\n return this.extractClassifierParams(classifierWeights);\n }\n}\n", "export const FACE_EXPRESSION_LABELS = ['neutral', 'happy', 'sad', 'angry', 'fearful', 'disgusted', 'surprised'] as const;\n\nexport class FaceExpressions {\n public neutral = 0;\n public happy = 0;\n public sad = 0;\n public angry = 0;\n public fearful = 0;\n public disgusted = 0;\n public surprised = 0;\n\n constructor(probabilities: number[] | Float32Array) {\n if (probabilities.length !== 7) {\n throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${probabilities.length}`);\n }\n\n FACE_EXPRESSION_LABELS.forEach((expression, idx) => {\n this[expression] = probabilities[idx];\n });\n }\n\n asSortedArray() {\n return FACE_EXPRESSION_LABELS\n .map((expression) => ({ expression, probability: this[expression] as number }))\n .sort((e0, e1) => e1.probability - e0.probability);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { FaceFeatureExtractor } from '../faceFeatureExtractor/FaceFeatureExtractor';\nimport { FaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceProcessor } from '../faceProcessor/FaceProcessor';\nimport { FaceExpressions } from './FaceExpressions';\n\nexport class FaceExpressionNet extends FaceProcessor {\n constructor(faceFeatureExtractor: FaceFeatureExtractor = new FaceFeatureExtractor()) {\n super('FaceExpressionNet', faceFeatureExtractor);\n }\n\n public forwardInput(input: NetInput | tf.Tensor4D): tf.Tensor2D {\n return tf.tidy(() => tf.softmax(this.runNet(input)));\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async predictExpressions(input: TNetInput) {\n const netInput = await toNetInput(input);\n const out = await this.forwardInput(netInput);\n const probabilitesByBatch = await Promise.all(tf.unstack(out).map(async (t) => {\n const data = t.dataSync();\n t.dispose();\n return data;\n }));\n out.dispose();\n\n const predictionsByBatch = probabilitesByBatch\n .map((probabilites) => new FaceExpressions(probabilites as Float32Array));\n\n return netInput.isBatchInput\n ? predictionsByBatch\n : predictionsByBatch[0];\n }\n\n protected getDefaultModelName(): string {\n return 'face_expression_model';\n }\n\n protected getClassifierChannelsIn(): number {\n return 256;\n }\n\n protected getClassifierChannelsOut(): number {\n return 7;\n }\n}\n", "import { FaceExpressions } from '../faceExpressionNet/FaceExpressions';\n\nexport type WithFaceExpressions = TSource & { expressions: FaceExpressions }\n\nexport function isWithFaceExpressions(obj: any): obj is WithFaceExpressions<{}> {\n return obj.expressions instanceof FaceExpressions;\n}\n\nexport function extendWithFaceExpressions(sourceObj: TSource, expressions: FaceExpressions): WithFaceExpressions {\n const extension = { expressions };\n return { ...sourceObj, ...extension };\n}\n", "import { IPoint, Point } from '../classes/index';\nimport { FaceExpressions } from '../faceExpressionNet/index';\nimport { isWithFaceDetection } from '../factories/WithFaceDetection';\nimport { isWithFaceExpressions, WithFaceExpressions } from '../factories/WithFaceExpressions';\nimport { round } from '../utils/index';\nimport { DrawTextField } from './DrawTextField';\n\nexport type DrawFaceExpressionsInput = FaceExpressions | WithFaceExpressions<{}>\n\nexport function drawFaceExpressions(canvasArg: string | HTMLCanvasElement, faceExpressions: DrawFaceExpressionsInput | Array, minConfidence = 0.1, textFieldAnchor?: IPoint) {\n const faceExpressionsArray = Array.isArray(faceExpressions) ? faceExpressions : [faceExpressions];\n\n faceExpressionsArray.forEach((e) => {\n // eslint-disable-next-line no-nested-ternary\n const expr = e instanceof FaceExpressions\n ? e\n : (isWithFaceExpressions(e) ? e.expressions : undefined);\n if (!expr) {\n throw new Error('drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof');\n }\n\n const sorted = expr.asSortedArray();\n const resultsToDisplay = sorted.filter((exprLocal) => exprLocal.probability > minConfidence);\n\n const anchor = isWithFaceDetection(e)\n ? e.detection.box.bottomLeft\n : (textFieldAnchor || new Point(0, 0));\n\n const drawTextField = new DrawTextField(\n resultsToDisplay.map((exprLocal) => `${exprLocal.expression} (${round(exprLocal.probability)})`),\n anchor,\n );\n drawTextField.draw(canvasArg);\n });\n}\n", "import { Point } from '../classes';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { FaceLandmarks } from '../classes/FaceLandmarks';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { isWithFaceDetection, WithFaceDetection } from './WithFaceDetection';\n\nexport type WithFaceLandmarks<\n TSource extends WithFaceDetection<{}>,\n TFaceLandmarks extends FaceLandmarks = FaceLandmarks68\n> = TSource & {\n landmarks: TFaceLandmarks;\n unshiftedLandmarks: TFaceLandmarks;\n alignedRect: FaceDetection;\n angle: {\n roll: number | undefined;\n pitch: number | undefined;\n yaw: number | undefined;\n };\n};\n\nexport function isWithFaceLandmarks(\n obj: any,\n): obj is WithFaceLandmarks, FaceLandmarks> {\n return (\n isWithFaceDetection(obj)\n && (obj as any)['landmarks'] instanceof FaceLandmarks\n && (obj as any)['unshiftedLandmarks'] instanceof FaceLandmarks\n && (obj as any)['alignedRect'] instanceof FaceDetection\n );\n}\n\nfunction calculateFaceAngle(mesh: FaceLandmarks) {\n // Helper to convert radians to degrees\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n const degrees = (radians: number) => (radians * 180) / Math.PI;\n const calcLengthBetweenTwoPoints = (a: Point, b: Point) => Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2);\n\n const angle = {\n roll: undefined,\n pitch: undefined,\n yaw: undefined,\n };\n\n const calcYaw = (leftPoint: Point, midPoint: Point, rightPoint: Point) => {\n // Calc x-distance from left side of the face (\"ear\") to facial midpoint (\"nose\")\n const leftToMidpoint = Math.floor(leftPoint.x - midPoint.x);\n // Calc x-distance from facial midpoint (\"nose\") to the right side of the face (\"ear\")\n const rightToMidpoint = Math.floor(midPoint.x - rightPoint.x);\n // Difference in distances coincidentally approximates to angles\n return leftToMidpoint - rightToMidpoint;\n };\n\n const calcRoll = (lever: Point, pivot: Point) => {\n // When rolling, the head seems to pivot from the nose/lips/chin area.\n // So, we'll choose any two points from the facial midline, where the first point should be the pivot, and the other \"lever\"\n // Plan/Execution: get the hypotenuse & opposite sides of a 90deg triangle ==> Calculate angle in radians\n const hypotenuse = Math.hypot(pivot.x - lever.x, pivot.y - lever.y);\n const opposite = pivot.y - lever.y;\n const angleInRadians = Math.asin(opposite / hypotenuse);\n const angleInDegrees = degrees(angleInRadians);\n const normalizeAngle = Math.floor(90 - angleInDegrees);\n // If lever more to the left of the pivot, then we're tilting left\n // \"-\" is negative direction. \"+\", or absence of a sign is positive direction\n const tiltDirection = pivot.x - lever.x < 0 ? -1 : 1;\n const result = normalizeAngle * tiltDirection;\n return result;\n };\n\n const calcPitch = (leftPoint: Point, midPoint: Point, rightPoint: Point) => {\n // Theory: While pitching, the nose is the most salient point --> That's what we'll use to make a trianle.\n // The \"base\" is between point that don't move when we pitch our head (i.e. an imaginary line running ear to ear through the nose).\n // Executuin: Get the opposite & adjacent lengths of the triangle from the ear's perspective. Use it to get angle.\n\n const base = calcLengthBetweenTwoPoints(leftPoint, rightPoint);\n // adjecent is base/2 technically.\n const baseCoords = new Point((leftPoint.x + rightPoint.x) / 2, (leftPoint.y + rightPoint.y) / 2);\n const midToBaseLength = calcLengthBetweenTwoPoints(midPoint, baseCoords);\n const angleInRadians = Math.atan(midToBaseLength / base);\n const angleInDegrees = Math.floor(degrees(angleInRadians));\n // Account for directionality.\n // pitch forwards (_i.e. tilting your head forwards) is positive (or no sign); backward is negative.\n const direction = baseCoords.y - midPoint.y < 0 ? -1 : 1;\n const result = angleInDegrees * direction;\n return result;\n };\n\n if (!mesh || !mesh.positions || mesh.positions.length !== 68) return angle;\n const pt = mesh.positions;\n angle.roll = calcRoll(pt[27], pt[66]);\n angle.pitch = calcPitch(pt[14], pt[30], pt[2]);\n angle.yaw = calcYaw(pt[14], pt[33], pt[2]);\n return angle;\n}\n\nexport function extendWithFaceLandmarks, TFaceLandmarks extends FaceLandmarks = FaceLandmarks68>(\n sourceObj: TSource,\n unshiftedLandmarks: TFaceLandmarks,\n): WithFaceLandmarks {\n const { box: shift } = sourceObj.detection;\n const landmarks = unshiftedLandmarks.shiftBy(shift.x, shift.y);\n const rect = landmarks.align();\n const { imageDims } = sourceObj.detection;\n const alignedRect = new FaceDetection(\n sourceObj.detection.score,\n rect.rescale(imageDims.reverse()),\n imageDims,\n );\n const angle = calculateFaceAngle(unshiftedLandmarks);\n const extension = { landmarks, unshiftedLandmarks, alignedRect, angle };\n return { ...sourceObj, ...extension };\n}\n", "/* eslint-disable max-classes-per-file */\nimport { IPoint } from '../classes/index';\nimport { FaceLandmarks } from '../classes/FaceLandmarks';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { getContext2dOrThrow } from '../dom/getContext2dOrThrow';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { isWithFaceLandmarks, WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { drawContour } from './drawContour';\n\nexport interface IDrawFaceLandmarksOptions {\n drawLines?: boolean\n drawPoints?: boolean\n lineWidth?: number\n pointSize?: number\n lineColor?: string\n pointColor?: string\n}\n\nexport class DrawFaceLandmarksOptions {\n public drawLines: boolean;\n\n public drawPoints: boolean;\n\n public lineWidth: number;\n\n public pointSize: number;\n\n public lineColor: string;\n\n public pointColor: string;\n\n constructor(options: IDrawFaceLandmarksOptions = {}) {\n const {\n drawLines = true, drawPoints = true, lineWidth, lineColor, pointSize, pointColor,\n } = options;\n this.drawLines = drawLines;\n this.drawPoints = drawPoints;\n this.lineWidth = lineWidth || 1;\n this.pointSize = pointSize || 2;\n this.lineColor = lineColor || 'rgba(0, 255, 255, 1)';\n this.pointColor = pointColor || 'rgba(255, 0, 255, 1)';\n }\n}\n\nexport class DrawFaceLandmarks {\n public faceLandmarks: FaceLandmarks;\n\n public options: DrawFaceLandmarksOptions;\n\n constructor(\n faceLandmarks: FaceLandmarks,\n options: IDrawFaceLandmarksOptions = {},\n ) {\n this.faceLandmarks = faceLandmarks;\n this.options = new DrawFaceLandmarksOptions(options);\n }\n\n draw(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D) {\n const ctx = getContext2dOrThrow(canvasArg);\n\n const {\n drawLines, drawPoints, lineWidth, lineColor, pointSize, pointColor,\n } = this.options;\n\n if (drawLines && this.faceLandmarks instanceof FaceLandmarks68) {\n ctx.strokeStyle = lineColor;\n ctx.lineWidth = lineWidth;\n drawContour(ctx, this.faceLandmarks.getJawOutline());\n drawContour(ctx, this.faceLandmarks.getLeftEyeBrow());\n drawContour(ctx, this.faceLandmarks.getRightEyeBrow());\n drawContour(ctx, this.faceLandmarks.getNose());\n drawContour(ctx, this.faceLandmarks.getLeftEye(), true);\n drawContour(ctx, this.faceLandmarks.getRightEye(), true);\n drawContour(ctx, this.faceLandmarks.getMouth(), true);\n }\n\n if (drawPoints) {\n ctx.strokeStyle = pointColor;\n ctx.fillStyle = pointColor;\n\n const drawPoint = (pt: IPoint) => {\n ctx.beginPath();\n ctx.arc(pt.x, pt.y, pointSize, 0, 2 * Math.PI);\n ctx.fill();\n };\n this.faceLandmarks.positions.forEach(drawPoint);\n }\n }\n}\n\nexport type DrawFaceLandmarksInput = FaceLandmarks | WithFaceLandmarks>\n\nexport function drawFaceLandmarks(\n canvasArg: string | HTMLCanvasElement,\n faceLandmarks: DrawFaceLandmarksInput | Array,\n) {\n const faceLandmarksArray = Array.isArray(faceLandmarks) ? faceLandmarks : [faceLandmarks];\n faceLandmarksArray.forEach((f) => {\n // eslint-disable-next-line no-nested-ternary\n const landmarks = f instanceof FaceLandmarks\n ? f\n : (isWithFaceLandmarks(f) ? f.landmarks : undefined);\n if (!landmarks) {\n throw new Error('drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof');\n }\n\n new DrawFaceLandmarks(landmarks).draw(canvasArg);\n });\n}\n", "{\n \"name\": \"@vladmandic/face-api\",\n \"version\": \"1.7.13\",\n \"description\": \"FaceAPI: AI-powered Face Detection & Rotation Tracking, Face Description & Recognition, Age & Gender & Emotion Prediction for Browser and NodeJS using TensorFlow/JS\",\n \"sideEffects\": false,\n \"main\": \"dist/face-api.node.js\",\n \"module\": \"dist/face-api.esm.js\",\n \"browser\": \"dist/face-api.esm.js\",\n \"types\": \"types/face-api.d.ts\",\n \"author\": \"Vladimir Mandic \",\n \"bugs\": {\n \"url\": \"https://github.com/vladmandic/face-api/issues\"\n },\n \"homepage\": \"https://vladmandic.github.io/face-api/demo/webcam.html\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/vladmandic/face-api.git\"\n },\n \"scripts\": {\n \"start\": \"node --no-warnings demo/node.js\",\n \"build\": \"node build.js\",\n \"dev\": \"build --profile development\",\n \"typings\": \"build --profile typings\",\n \"lint\": \"eslint src/ demo/\",\n \"test\": \"node --trace-warnings test/test-node.js\",\n \"scan\": \"npx auditjs@latest ossi --dev --quiet\"\n },\n \"keywords\": [\n \"face-api\",\n \"faceapi\",\n \"face-detection\",\n \"age-gender\",\n \"emotion-detection\",\n \"face-recognition\",\n \"face\",\n \"face-description\",\n \"tensorflow\",\n \"tensorflowjs\",\n \"tfjs\"\n ],\n \"devDependencies\": {\n \"@canvas/image\": \"^2.0.0\",\n \"@microsoft/api-extractor\": \"^7.39.1\",\n \"@tensorflow/tfjs\": \"^4.16.0\",\n \"@tensorflow/tfjs-backend-cpu\": \"^4.16.0\",\n \"@tensorflow/tfjs-backend-wasm\": \"^4.16.0\",\n \"@tensorflow/tfjs-backend-webgl\": \"^4.16.0\",\n \"@tensorflow/tfjs-backend-webgpu\": \"4.16.0\",\n \"@tensorflow/tfjs-converter\": \"^4.16.0\",\n \"@tensorflow/tfjs-core\": \"^4.16.0\",\n \"@tensorflow/tfjs-data\": \"^4.16.0\",\n \"@tensorflow/tfjs-layers\": \"^4.16.0\",\n \"@tensorflow/tfjs-node\": \"^4.16.0\",\n \"@tensorflow/tfjs-node-gpu\": \"^4.16.0\",\n \"@types/node\": \"^20.11.5\",\n \"@types/offscreencanvas\": \"^2019.7.3\",\n \"@typescript-eslint/eslint-plugin\": \"^6.19.0\",\n \"@typescript-eslint/parser\": \"^6.19.0\",\n \"@vladmandic/build\": \"^0.9.3\",\n \"@vladmandic/pilogger\": \"^0.4.9\",\n \"esbuild\": \"^0.19.11\",\n \"eslint\": \"^8.56.0\",\n \"eslint-config-airbnb-base\": \"^15.0.0\",\n \"eslint-plugin-import\": \"^2.29.1\",\n \"eslint-plugin-json\": \"^3.1.0\",\n \"eslint-plugin-node\": \"^11.1.0\",\n \"eslint-plugin-promise\": \"^6.1.1\",\n \"node-fetch\": \"^3.3.2\",\n \"rimraf\": \"^5.0.5\",\n \"seedrandom\": \"^3.0.5\",\n \"tslib\": \"^2.6.2\",\n \"typedoc\": \"^0.25.7\",\n \"typescript\": \"5.3.3\"\n }\n}\n", "import { extractConvParamsFactory, extractSeparableConvParamsFactory, extractWeightsFactory } from '../common/index';\nimport { ExtractWeightsFunction, ParamMapping } from '../common/types';\nimport { range } from '../utils/index';\nimport { MainBlockParams, ReductionBlockParams, TinyXceptionParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings);\n const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings);\n\n function extractReductionBlockParams(channelsIn: number, channelsOut: number, mappedPrefix: string): ReductionBlockParams {\n const separable_conv0 = extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/separable_conv1`);\n const expansion_conv = extractConvParams(channelsIn, channelsOut, 1, `${mappedPrefix}/expansion_conv`);\n\n return { separable_conv0, separable_conv1, expansion_conv };\n }\n\n function extractMainBlockParams(channels: number, mappedPrefix: string): MainBlockParams {\n const separable_conv0 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv1`);\n const separable_conv2 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv2`);\n\n return { separable_conv0, separable_conv1, separable_conv2 };\n }\n\n return {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n };\n}\n\nexport function extractParams(weights: Float32Array, numMainBlocks: number): { params: TinyXceptionParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const entry_flow_conv_in = extractConvParams(3, 32, 3, 'entry_flow/conv_in');\n const entry_flow_reduction_block_0 = extractReductionBlockParams(32, 64, 'entry_flow/reduction_block_0');\n const entry_flow_reduction_block_1 = extractReductionBlockParams(64, 128, 'entry_flow/reduction_block_1');\n\n const entry_flow = {\n conv_in: entry_flow_conv_in,\n reduction_block_0: entry_flow_reduction_block_0,\n reduction_block_1: entry_flow_reduction_block_1,\n };\n\n const middle_flow: Record<`main_block_${number}`, MainBlockParams> = {};\n range(numMainBlocks, 0, 1).forEach((idx) => {\n middle_flow[`main_block_${idx}`] = extractMainBlockParams(128, `middle_flow/main_block_${idx}`);\n });\n\n const exit_flow_reduction_block = extractReductionBlockParams(128, 256, 'exit_flow/reduction_block');\n const exit_flow_separable_conv = extractSeparableConvParams(256, 512, 'exit_flow/separable_conv');\n\n const exit_flow = {\n reduction_block: exit_flow_reduction_block,\n separable_conv: exit_flow_separable_conv,\n };\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { entry_flow, middle_flow, exit_flow },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, loadSeparableConvParamsFactory, ParamMapping } from '../common/index';\nimport { loadConvParamsFactory } from '../common/loadConvParamsFactory';\nimport { range } from '../utils/index';\nimport { MainBlockParams, ReductionBlockParams, TinyXceptionParams } from './types';\n\nfunction loadParamsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n const extractConvParams = loadConvParamsFactory(extractWeightEntry);\n const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry);\n\n function extractReductionBlockParams(mappedPrefix: string): ReductionBlockParams {\n const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`);\n const expansion_conv = extractConvParams(`${mappedPrefix}/expansion_conv`);\n\n return { separable_conv0, separable_conv1, expansion_conv };\n }\n\n function extractMainBlockParams(mappedPrefix: string): MainBlockParams {\n const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`);\n const separable_conv2 = extractSeparableConvParams(`${mappedPrefix}/separable_conv2`);\n\n return { separable_conv0, separable_conv1, separable_conv2 };\n }\n\n return {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n numMainBlocks: number,\n): { params: TinyXceptionParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n } = loadParamsFactory(weightMap, paramMappings);\n\n const entry_flow_conv_in = extractConvParams('entry_flow/conv_in');\n const entry_flow_reduction_block_0 = extractReductionBlockParams('entry_flow/reduction_block_0');\n const entry_flow_reduction_block_1 = extractReductionBlockParams('entry_flow/reduction_block_1');\n\n const entry_flow = {\n conv_in: entry_flow_conv_in,\n reduction_block_0: entry_flow_reduction_block_0,\n reduction_block_1: entry_flow_reduction_block_1,\n };\n\n const middle_flow: Record<`main_block_${number}`, MainBlockParams> = {};\n range(numMainBlocks, 0, 1).forEach((idx) => {\n middle_flow[`main_block_${idx}`] = extractMainBlockParams(`middle_flow/main_block_${idx}`);\n });\n\n const exit_flow_reduction_block = extractReductionBlockParams('exit_flow/reduction_block');\n const exit_flow_separable_conv = extractSeparableConvParams('exit_flow/separable_conv');\n\n const exit_flow = {\n reduction_block: exit_flow_reduction_block,\n separable_conv: exit_flow_separable_conv,\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params: { entry_flow, middle_flow, exit_flow }, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, depthwiseSeparableConv } from '../common/index';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { range } from '../utils/index';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { MainBlockParams, ReductionBlockParams, TinyXceptionParams } from './types';\n\nfunction conv(x: tf.Tensor4D, params: ConvParams, stride: [number, number]): tf.Tensor4D {\n return tf.add(tf.conv2d(x, params.filters, stride, 'same'), params.bias);\n}\n\nfunction reductionBlock(x: tf.Tensor4D, params: ReductionBlockParams, isActivateInput = true): tf.Tensor4D {\n let out = isActivateInput ? tf.relu(x) : x;\n out = depthwiseSeparableConv(out, params.separable_conv0, [1, 1]);\n out = depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]);\n out = tf.maxPool(out, [3, 3], [2, 2], 'same');\n out = tf.add(out, conv(x, params.expansion_conv, [2, 2]));\n return out;\n}\n\nfunction mainBlock(x: tf.Tensor4D, params: MainBlockParams): tf.Tensor4D {\n let out = depthwiseSeparableConv(tf.relu(x), params.separable_conv0, [1, 1]);\n out = depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]);\n out = depthwiseSeparableConv(tf.relu(out), params.separable_conv2, [1, 1]);\n out = tf.add(out, x);\n return out;\n}\n\nexport class TinyXception extends NeuralNetwork {\n private _numMainBlocks: number;\n\n constructor(numMainBlocks: number) {\n super('TinyXception');\n this._numMainBlocks = numMainBlocks;\n }\n\n public forwardInput(input: NetInput): tf.Tensor4D {\n const { params } = this;\n if (!params) {\n throw new Error('TinyXception - load model before inference');\n }\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(112, true), 'float32');\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n let out = tf.relu(conv(normalized, params.entry_flow.conv_in, [2, 2]));\n out = reductionBlock(out, params.entry_flow.reduction_block_0, false);\n out = reductionBlock(out, params.entry_flow.reduction_block_1);\n range(this._numMainBlocks, 0, 1).forEach((idx) => {\n out = mainBlock(out, params.middle_flow[`main_block_${idx}`]);\n });\n out = reductionBlock(out, params.exit_flow.reduction_block);\n out = tf.relu(depthwiseSeparableConv(out, params.exit_flow.separable_conv, [1, 1]));\n return out;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n protected getDefaultModelName(): string {\n return 'tiny_xception_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap, this._numMainBlocks);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights, this._numMainBlocks);\n }\n}\n", "import { extractFCParamsFactory, extractWeightsFactory, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings);\n\n const age = extractFCParams(512, 1, 'fc/age');\n const gender = extractFCParams(512, 2, 'fc/gender');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { fc: { age, gender } },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, FCParams, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractFcParams(prefix: string): FCParams {\n const weights = extractWeightEntry(`${prefix}/weights`, 2);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n return { weights, bias };\n }\n\n const params = {\n fc: {\n age: extractFcParams('fc/age'),\n gender: extractFcParams('fc/gender'),\n },\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FCParams } from '../common/index';\n\n// eslint-disable-next-line no-shadow\nexport enum Gender {\n // eslint-disable-next-line no-unused-vars\n FEMALE = 'female',\n // eslint-disable-next-line no-unused-vars\n MALE = 'male'\n}\n\nexport type AgeAndGenderPrediction = {\n age: number\n gender: Gender\n genderProbability: number\n}\n\nexport type NetOutput = { age: tf.Tensor1D, gender: tf.Tensor2D }\n\nexport type NetParams = {\n fc: {\n age: FCParams\n gender: FCParams\n }\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport { fullyConnectedLayer } from '../common/fullyConnectedLayer';\nimport { seperateWeightMaps } from '../faceProcessor/util';\nimport { TinyXception } from '../xception/TinyXception';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { AgeAndGenderPrediction, Gender, NetOutput, NetParams } from './types';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\n\nexport class AgeGenderNet extends NeuralNetwork {\n private _faceFeatureExtractor: TinyXception;\n\n constructor(faceFeatureExtractor: TinyXception = new TinyXception(2)) {\n super('AgeGenderNet');\n this._faceFeatureExtractor = faceFeatureExtractor;\n }\n\n public get faceFeatureExtractor(): TinyXception {\n return this._faceFeatureExtractor;\n }\n\n public runNet(input: NetInput | tf.Tensor4D): NetOutput {\n const { params } = this;\n\n if (!params) {\n throw new Error(`${this._name} - load model before inference`);\n }\n\n return tf.tidy(() => {\n const bottleneckFeatures = input instanceof NetInput\n ? this.faceFeatureExtractor.forwardInput(input)\n : input;\n\n const pooled = tf.avgPool(bottleneckFeatures, [7, 7], [2, 2], 'valid').as2D(bottleneckFeatures.shape[0], -1);\n const age = fullyConnectedLayer(pooled, params.fc.age).as1D();\n const gender = fullyConnectedLayer(pooled, params.fc.gender);\n return { age, gender };\n });\n }\n\n public forwardInput(input: NetInput | tf.Tensor4D): NetOutput {\n return tf.tidy(() => {\n const { age, gender } = this.runNet(input);\n return { age, gender: tf.softmax(gender) };\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async predictAgeAndGender(input: TNetInput): Promise {\n const netInput = await toNetInput(input);\n const out = await this.forwardInput(netInput);\n\n const ages = tf.unstack(out.age);\n const genders = tf.unstack(out.gender);\n const ageAndGenderTensors = ages.map((ageTensor, i) => ({\n ageTensor,\n genderTensor: genders[i],\n }));\n\n const predictionsByBatch = await Promise.all(\n ageAndGenderTensors.map(async ({ ageTensor, genderTensor }) => {\n const age = (ageTensor.dataSync())[0];\n const probMale = (genderTensor.dataSync())[0];\n const isMale = probMale > 0.5;\n const gender = isMale ? Gender.MALE : Gender.FEMALE;\n const genderProbability = isMale ? probMale : (1 - probMale);\n\n ageTensor.dispose();\n genderTensor.dispose();\n return { age, gender, genderProbability };\n }),\n );\n out.age.dispose();\n out.gender.dispose();\n\n return netInput.isBatchInput ? predictionsByBatch as AgeAndGenderPrediction[] : predictionsByBatch[0] as AgeAndGenderPrediction;\n }\n\n protected getDefaultModelName(): string {\n return 'age_gender_model';\n }\n\n public override dispose(throwOnRedispose = true) {\n this.faceFeatureExtractor.dispose(throwOnRedispose);\n super.dispose(throwOnRedispose);\n }\n\n public loadClassifierParams(weights: Float32Array) {\n const { params, paramMappings } = this.extractClassifierParams(weights);\n this._params = params;\n this._paramMappings = paramMappings;\n }\n\n public extractClassifierParams(weights: Float32Array) {\n return extractParams(weights);\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n const { featureExtractorMap, classifierMap } = seperateWeightMaps(weightMap);\n\n this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap);\n\n return extractParamsFromWeightMap(classifierMap);\n }\n\n protected extractParams(weights: Float32Array) {\n const classifierWeightSize = (512 * 1 + 1) + (512 * 2 + 2);\n\n const featureExtractorWeights = weights.slice(0, weights.length - classifierWeightSize);\n const classifierWeights = weights.slice(weights.length - classifierWeightSize);\n\n this.faceFeatureExtractor.extractWeights(featureExtractorWeights);\n return this.extractClassifierParams(classifierWeights);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { IDimensions, Point } from '../classes/index';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { FaceFeatureExtractorParams, TinyFaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceProcessor } from '../faceProcessor/FaceProcessor';\nimport { isEven } from '../utils/index';\n\nexport abstract class FaceLandmark68NetBase<\n TExtractorParams extends FaceFeatureExtractorParams | TinyFaceFeatureExtractorParams\n>\n extends FaceProcessor {\n public postProcess(output: tf.Tensor2D, inputSize: number, originalDimensions: IDimensions[]): tf.Tensor2D {\n const inputDimensions = originalDimensions.map(({ width, height }) => {\n const scale = inputSize / Math.max(height, width);\n return {\n width: width * scale,\n height: height * scale,\n };\n });\n\n const batchSize = inputDimensions.length;\n\n return tf.tidy(() => {\n const createInterleavedTensor = (fillX: number, fillY: number) => tf.stack([tf.fill([68], fillX, 'float32'), tf.fill([68], fillY, 'float32')], 1).as2D(1, 136).as1D();\n\n // eslint-disable-next-line no-unused-vars\n const getPadding = (batchIdx: number, cond: (w: number, h: number) => boolean): number => {\n const { width, height } = inputDimensions[batchIdx];\n return cond(width, height) ? Math.abs(width - height) / 2 : 0;\n };\n\n const getPaddingX = (batchIdx: number) => getPadding(batchIdx, (w, h) => w < h);\n const getPaddingY = (batchIdx: number) => getPadding(batchIdx, (w, h) => h < w);\n\n const landmarkTensors = output\n .mul(tf.fill([batchSize, 136], inputSize, 'float32'))\n .sub(tf.stack(Array.from(Array(batchSize), (_, batchIdx) => createInterleavedTensor(\n getPaddingX(batchIdx),\n getPaddingY(batchIdx),\n ))))\n .div(tf.stack(Array.from(Array(batchSize), (_, batchIdx) => createInterleavedTensor(\n inputDimensions[batchIdx].width,\n inputDimensions[batchIdx].height,\n ))));\n\n return landmarkTensors as tf.Tensor2D;\n });\n }\n\n public forwardInput(input: NetInput): tf.Tensor2D {\n return tf.tidy(() => {\n const out = this.runNet(input);\n return this.postProcess(\n out,\n input.inputSize as number,\n input.inputDimensions.map(([height, width]) => ({ height, width })),\n );\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async detectLandmarks(input: TNetInput): Promise {\n const netInput = await toNetInput(input);\n const landmarkTensors = tf.tidy(\n () => tf.unstack(this.forwardInput(netInput)),\n );\n\n const landmarksForBatch = await Promise.all(landmarkTensors.map(\n async (landmarkTensor, batchIdx) => {\n const landmarksArray = Array.from(landmarkTensor.dataSync());\n const xCoords = landmarksArray.filter((_, i) => isEven(i));\n const yCoords = landmarksArray.filter((_, i) => !isEven(i));\n\n return new FaceLandmarks68(\n Array(68).fill(0).map((_, i) => new Point(xCoords[i] as number, yCoords[i] as number)),\n {\n height: netInput.getInputHeight(batchIdx),\n width: netInput.getInputWidth(batchIdx),\n },\n );\n },\n ));\n\n landmarkTensors.forEach((t) => t.dispose());\n\n return netInput.isBatchInput ? landmarksForBatch as FaceLandmarks68[] : landmarksForBatch[0] as FaceLandmarks68;\n }\n\n protected getClassifierChannelsOut(): number {\n return 136;\n }\n}\n", "import { FaceFeatureExtractor } from '../faceFeatureExtractor/FaceFeatureExtractor';\nimport { FaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceLandmark68NetBase } from './FaceLandmark68NetBase';\n\nexport class FaceLandmark68Net extends FaceLandmark68NetBase {\n constructor(faceFeatureExtractor: FaceFeatureExtractor = new FaceFeatureExtractor()) {\n super('FaceLandmark68Net', faceFeatureExtractor);\n }\n\n protected getDefaultModelName(): string {\n return 'face_landmark_68_model';\n }\n\n protected getClassifierChannelsIn(): number {\n return 256;\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, ParamMapping } from '../common/index';\nimport { loadParamsFactory } from './loadParamsFactory';\nimport { TinyFaceFeatureExtractorParams } from './types';\n\nexport function extractParamsFromWeightMapTiny(\n weightMap: tf.NamedTensorMap,\n): { params: TinyFaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractDenseBlock3Params,\n } = loadParamsFactory(weightMap, paramMappings);\n\n const params = {\n dense0: extractDenseBlock3Params('dense0', true),\n dense1: extractDenseBlock3Params('dense1'),\n dense2: extractDenseBlock3Params('dense2'),\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import { extractWeightsFactory, ParamMapping } from '../common/index';\nimport { extractorsFactory } from './extractorsFactory';\nimport { TinyFaceFeatureExtractorParams } from './types';\n\nexport function extractParamsTiny(weights: Float32Array): { params: TinyFaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const {\n extractDenseBlock3Params,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const dense0 = extractDenseBlock3Params(3, 32, 'dense0', true);\n const dense1 = extractDenseBlock3Params(32, 64, 'dense1');\n const dense2 = extractDenseBlock3Params(64, 128, 'dense2');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { dense0, dense1, dense2 },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { denseBlock3 } from './denseBlock';\nimport { extractParamsFromWeightMapTiny } from './extractParamsFromWeightMapTiny';\nimport { extractParamsTiny } from './extractParamsTiny';\nimport { IFaceFeatureExtractor, TinyFaceFeatureExtractorParams } from './types';\n\nexport class TinyFaceFeatureExtractor extends NeuralNetwork implements IFaceFeatureExtractor {\n constructor() {\n super('TinyFaceFeatureExtractor');\n }\n\n public forwardInput(input: NetInput): tf.Tensor4D {\n const { params } = this;\n\n if (!params) {\n throw new Error('TinyFaceFeatureExtractor - load model before inference');\n }\n\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(112, true), 'float32');\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n\n let out = denseBlock3(normalized, params.dense0, true);\n out = denseBlock3(out, params.dense1);\n out = denseBlock3(out, params.dense2);\n out = tf.avgPool(out, [14, 14], [2, 2], 'valid');\n\n return out;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n protected getDefaultModelName(): string {\n return 'face_feature_extractor_tiny_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMapTiny(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParamsTiny(weights);\n }\n}\n", "import { TinyFaceFeatureExtractor } from '../faceFeatureExtractor/TinyFaceFeatureExtractor';\nimport { TinyFaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceLandmark68NetBase } from './FaceLandmark68NetBase';\n\nexport class FaceLandmark68TinyNet extends FaceLandmark68NetBase {\n constructor(faceFeatureExtractor: TinyFaceFeatureExtractor = new TinyFaceFeatureExtractor()) {\n super('FaceLandmark68TinyNet', faceFeatureExtractor);\n }\n\n protected getDefaultModelName(): string {\n return 'face_landmark_68_tiny_model';\n }\n\n protected getClassifierChannelsIn(): number {\n return 128;\n }\n}\n", "import { FaceLandmark68Net } from './FaceLandmark68Net';\n\nexport * from './FaceLandmark68Net';\nexport * from './FaceLandmark68TinyNet';\nexport class FaceLandmarkNet extends FaceLandmark68Net {}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ScaleLayerParams } from './types';\n\nexport function scale(x: tf.Tensor4D, params: ScaleLayerParams): tf.Tensor4D {\n return tf.add(tf.mul(x, params.weights), params.biases);\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { scale } from './scaleLayer';\nimport { ConvLayerParams } from './types';\n\nfunction convLayer(\n x: tf.Tensor4D,\n params: ConvLayerParams,\n strides: [number, number],\n withRelu: boolean,\n padding: 'valid' | 'same' = 'same',\n): tf.Tensor4D {\n const { filters, bias } = params.conv;\n\n let out = tf.conv2d(x, filters, strides, padding);\n out = tf.add(out, bias);\n out = scale(out, params.scale);\n return withRelu ? tf.relu(out) : out;\n}\n\nexport function conv(x: tf.Tensor4D, params: ConvLayerParams) {\n return convLayer(x, params, [1, 1], true);\n}\n\nexport function convNoRelu(x: tf.Tensor4D, params: ConvLayerParams) {\n return convLayer(x, params, [1, 1], false);\n}\n\nexport function convDown(x: tf.Tensor4D, params: ConvLayerParams) {\n return convLayer(x, params, [2, 2], true, 'valid');\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, extractWeightsFactory, ExtractWeightsFunction, ParamMapping } from '../common/index';\nimport { isFloat } from '../utils/index';\nimport { ConvLayerParams, NetParams, ResidualLayerParams, ScaleLayerParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n function extractFilterValues(numFilterValues: number, numFilters: number, filterSize: number): tf.Tensor4D {\n const weights = extractWeights(numFilterValues);\n const depth = weights.length / (numFilters * filterSize * filterSize);\n\n if (isFloat(depth)) {\n throw new Error(`depth has to be an integer: ${depth}, weights.length: ${weights.length}, numFilters: ${numFilters}, filterSize: ${filterSize}`);\n }\n\n return tf.tidy(\n () => tf.transpose(\n tf.tensor4d(weights, [numFilters, depth, filterSize, filterSize]),\n [2, 3, 1, 0],\n ),\n );\n }\n\n function extractConvParams(\n numFilterValues: number,\n numFilters: number,\n filterSize: number,\n mappedPrefix: string,\n ): ConvParams {\n const filters = extractFilterValues(numFilterValues, numFilters, filterSize);\n const bias = tf.tensor1d(extractWeights(numFilters));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return { filters, bias };\n }\n\n function extractScaleLayerParams(numWeights: number, mappedPrefix: string): ScaleLayerParams {\n const weights = tf.tensor1d(extractWeights(numWeights));\n const biases = tf.tensor1d(extractWeights(numWeights));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/weights` },\n { paramPath: `${mappedPrefix}/biases` },\n );\n\n return {\n weights,\n biases,\n };\n }\n\n function extractConvLayerParams(\n numFilterValues: number,\n numFilters: number,\n filterSize: number,\n mappedPrefix: string,\n ): ConvLayerParams {\n const conv = extractConvParams(numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv`);\n const scale = extractScaleLayerParams(numFilters, `${mappedPrefix}/scale`);\n\n return { conv, scale };\n }\n\n function extractResidualLayerParams(\n numFilterValues: number,\n numFilters: number,\n filterSize: number,\n mappedPrefix: string,\n isDown = false,\n ): ResidualLayerParams {\n const conv1 = extractConvLayerParams((isDown ? 0.5 : 1) * numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv1`);\n const conv2 = extractConvLayerParams(numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv2`);\n\n return { conv1, conv2 };\n }\n\n return {\n extractConvLayerParams,\n extractResidualLayerParams,\n };\n}\n\nexport function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvLayerParams,\n extractResidualLayerParams,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const conv32_down = extractConvLayerParams(4704, 32, 7, 'conv32_down');\n const conv32_1 = extractResidualLayerParams(9216, 32, 3, 'conv32_1');\n const conv32_2 = extractResidualLayerParams(9216, 32, 3, 'conv32_2');\n const conv32_3 = extractResidualLayerParams(9216, 32, 3, 'conv32_3');\n\n const conv64_down = extractResidualLayerParams(36864, 64, 3, 'conv64_down', true);\n const conv64_1 = extractResidualLayerParams(36864, 64, 3, 'conv64_1');\n const conv64_2 = extractResidualLayerParams(36864, 64, 3, 'conv64_2');\n const conv64_3 = extractResidualLayerParams(36864, 64, 3, 'conv64_3');\n\n const conv128_down = extractResidualLayerParams(147456, 128, 3, 'conv128_down', true);\n const conv128_1 = extractResidualLayerParams(147456, 128, 3, 'conv128_1');\n const conv128_2 = extractResidualLayerParams(147456, 128, 3, 'conv128_2');\n\n const conv256_down = extractResidualLayerParams(589824, 256, 3, 'conv256_down', true);\n const conv256_1 = extractResidualLayerParams(589824, 256, 3, 'conv256_1');\n const conv256_2 = extractResidualLayerParams(589824, 256, 3, 'conv256_2');\n const conv256_down_out = extractResidualLayerParams(589824, 256, 3, 'conv256_down_out');\n\n const fc = tf.tidy(\n () => tf.transpose(tf.tensor2d(extractWeights(256 * 128), [128, 256]), [1, 0]),\n );\n paramMappings.push({ paramPath: 'fc' });\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n const params = {\n conv32_down,\n conv32_1,\n conv32_2,\n conv32_3,\n conv64_down,\n conv64_1,\n conv64_2,\n conv64_3,\n conv128_down,\n conv128_1,\n conv128_2,\n conv256_down,\n conv256_1,\n conv256_2,\n conv256_down_out,\n fc,\n };\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, ParamMapping } from '../common/index';\nimport { isTensor2D } from '../utils/index';\nimport { ConvLayerParams, NetParams, ResidualLayerParams, ScaleLayerParams } from './types';\n\nfunction extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractScaleLayerParams(prefix: string): ScaleLayerParams {\n const weights = extractWeightEntry(`${prefix}/scale/weights`, 1);\n const biases = extractWeightEntry(`${prefix}/scale/biases`, 1);\n\n return { weights, biases };\n }\n\n function extractConvLayerParams(prefix: string): ConvLayerParams {\n const filters = extractWeightEntry(`${prefix}/conv/filters`, 4);\n const bias = extractWeightEntry(`${prefix}/conv/bias`, 1);\n const scale = extractScaleLayerParams(prefix);\n\n return { conv: { filters, bias }, scale };\n }\n\n function extractResidualLayerParams(prefix: string): ResidualLayerParams {\n return {\n conv1: extractConvLayerParams(`${prefix}/conv1`),\n conv2: extractConvLayerParams(`${prefix}/conv2`),\n };\n }\n\n return {\n extractConvLayerParams,\n extractResidualLayerParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvLayerParams,\n extractResidualLayerParams,\n } = extractorsFactory(weightMap, paramMappings);\n\n const conv32_down = extractConvLayerParams('conv32_down');\n const conv32_1 = extractResidualLayerParams('conv32_1');\n const conv32_2 = extractResidualLayerParams('conv32_2');\n const conv32_3 = extractResidualLayerParams('conv32_3');\n\n const conv64_down = extractResidualLayerParams('conv64_down');\n const conv64_1 = extractResidualLayerParams('conv64_1');\n const conv64_2 = extractResidualLayerParams('conv64_2');\n const conv64_3 = extractResidualLayerParams('conv64_3');\n\n const conv128_down = extractResidualLayerParams('conv128_down');\n const conv128_1 = extractResidualLayerParams('conv128_1');\n const conv128_2 = extractResidualLayerParams('conv128_2');\n\n const conv256_down = extractResidualLayerParams('conv256_down');\n const conv256_1 = extractResidualLayerParams('conv256_1');\n const conv256_2 = extractResidualLayerParams('conv256_2');\n const conv256_down_out = extractResidualLayerParams('conv256_down_out');\n\n const { fc } = weightMap;\n paramMappings.push({ originalPath: 'fc', paramPath: 'fc' });\n\n if (!isTensor2D(fc)) {\n throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${fc}`);\n }\n\n const params = {\n conv32_down,\n conv32_1,\n conv32_2,\n conv32_3,\n conv64_down,\n conv64_1,\n conv64_2,\n conv64_3,\n conv128_down,\n conv128_1,\n conv128_2,\n conv256_down,\n conv256_1,\n conv256_2,\n conv256_down_out,\n fc,\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { conv, convDown, convNoRelu } from './convLayer';\nimport { ResidualLayerParams } from './types';\n\nexport function residual(x: tf.Tensor4D, params: ResidualLayerParams): tf.Tensor4D {\n let out = conv(x, params.conv1);\n out = convNoRelu(out, params.conv2);\n out = tf.add(out, x);\n out = tf.relu(out);\n return out;\n}\n\nexport function residualDown(x: tf.Tensor4D, params: ResidualLayerParams): tf.Tensor4D {\n let out = convDown(x, params.conv1);\n out = convNoRelu(out, params.conv2);\n\n let pooled = tf.avgPool(x, 2, 2, 'valid') as tf.Tensor4D;\n const zeros = tf.zeros(pooled.shape);\n const isPad = pooled.shape[3] !== out.shape[3];\n const isAdjustShape = pooled.shape[1] !== out.shape[1] || pooled.shape[2] !== out.shape[2];\n\n if (isAdjustShape) {\n const padShapeX = [...out.shape] as [number, number, number, number];\n padShapeX[1] = 1;\n const zerosW = tf.zeros(padShapeX);\n out = tf.concat([out, zerosW], 1);\n\n const padShapeY = [...out.shape] as [number, number, number, number];\n padShapeY[2] = 1;\n const zerosH = tf.zeros(padShapeY);\n out = tf.concat([out, zerosH], 2);\n }\n\n pooled = isPad ? tf.concat([pooled, zeros], 3) : pooled;\n out = tf.add(pooled, out) as tf.Tensor4D;\n\n out = tf.relu(out);\n return out;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { convDown } from './convLayer';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { residual, residualDown } from './residualLayer';\nimport { NetParams } from './types';\n\nexport class FaceRecognitionNet extends NeuralNetwork {\n constructor() {\n super('FaceRecognitionNet');\n }\n\n public forwardInput(input: NetInput): tf.Tensor2D {\n const { params } = this;\n\n if (!params) {\n throw new Error('FaceRecognitionNet - load model before inference');\n }\n\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(150, true), 'float32');\n\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n\n let out = convDown(normalized, params.conv32_down);\n out = tf.maxPool(out, 3, 2, 'valid');\n\n out = residual(out, params.conv32_1);\n out = residual(out, params.conv32_2);\n out = residual(out, params.conv32_3);\n\n out = residualDown(out, params.conv64_down);\n out = residual(out, params.conv64_1);\n out = residual(out, params.conv64_2);\n out = residual(out, params.conv64_3);\n\n out = residualDown(out, params.conv128_down);\n out = residual(out, params.conv128_1);\n out = residual(out, params.conv128_2);\n\n out = residualDown(out, params.conv256_down);\n out = residual(out, params.conv256_1);\n out = residual(out, params.conv256_2);\n out = residualDown(out, params.conv256_down_out);\n\n const globalAvg = out.mean([1, 2]) as tf.Tensor2D;\n const fullyConnected = tf.matMul(globalAvg, params.fc);\n\n return fullyConnected as tf.Tensor2D;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async computeFaceDescriptor(input: TNetInput): Promise {\n // @ts-ignore\n if (input?.shape?.some((dim) => dim <= 0)) return new Float32Array(128);\n const netInput = await toNetInput(input);\n const faceDescriptorTensors = tf.tidy(() => tf.unstack(this.forwardInput(netInput)));\n const faceDescriptorsForBatch = await Promise.all(faceDescriptorTensors.map((t) => t.data())) as Float32Array[];\n faceDescriptorTensors.forEach((t) => t.dispose());\n return netInput.isBatchInput ? faceDescriptorsForBatch : faceDescriptorsForBatch[0];\n }\n\n protected getDefaultModelName(): string {\n return 'face_recognition_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights);\n }\n}\n", "import { FaceRecognitionNet } from './FaceRecognitionNet';\n\nexport * from './FaceRecognitionNet';\n\nexport function createFaceRecognitionNet(weights: Float32Array) {\n const net = new FaceRecognitionNet();\n net.extractWeights(weights);\n return net;\n}\n", "export type WithFaceDescriptor = TSource & {\n descriptor: Float32Array\n}\n\nexport function extendWithFaceDescriptor<\n TSource\n>(\n sourceObj: TSource,\n descriptor: Float32Array,\n): WithFaceDescriptor {\n const extension = { descriptor };\n return { ...sourceObj, ...extension };\n}\n", "export type WithAge = TSource & {\n age: number\n}\n\nexport function isWithAge(obj: any): obj is WithAge<{}> {\n return typeof obj.age === 'number';\n}\n\nexport function extendWithAge<\n TSource\n>(\n sourceObj: TSource,\n age: number,\n): WithAge {\n const extension = { age };\n return { ...sourceObj, ...extension };\n}\n", "import { Gender } from '../ageGenderNet/types';\nimport { isValidProbablitiy } from '../utils/index';\n\nexport type WithGender = TSource & {\n gender: Gender\n genderProbability: number\n}\n\nexport function isWithGender(obj: any): obj is WithGender<{}> {\n return (obj.gender === Gender.MALE || obj.gender === Gender.FEMALE)\n && isValidProbablitiy(obj.genderProbability);\n}\n\nexport function extendWithGender<\n TSource\n>(\n sourceObj: TSource,\n gender: Gender,\n genderProbability: number,\n): WithGender {\n const extension = { gender, genderProbability };\n return { ...sourceObj, ...extension };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ExtractWeightsFunction, ParamMapping, ConvParams, extractWeightsFactory } from '../common/index';\nimport { MobileNetV1, NetParams, PointwiseConvParams, PredictionLayerParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n function extractDepthwiseConvParams(numChannels: number, mappedPrefix: string): MobileNetV1.DepthwiseConvParams {\n const filters = tf.tensor4d(extractWeights(3 * 3 * numChannels), [3, 3, numChannels, 1]);\n const batch_norm_scale = tf.tensor1d(extractWeights(numChannels));\n const batch_norm_offset = tf.tensor1d(extractWeights(numChannels));\n const batch_norm_mean = tf.tensor1d(extractWeights(numChannels));\n const batch_norm_variance = tf.tensor1d(extractWeights(numChannels));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/batch_norm_scale` },\n { paramPath: `${mappedPrefix}/batch_norm_offset` },\n { paramPath: `${mappedPrefix}/batch_norm_mean` },\n { paramPath: `${mappedPrefix}/batch_norm_variance` },\n );\n\n return {\n filters,\n batch_norm_scale,\n batch_norm_offset,\n batch_norm_mean,\n batch_norm_variance,\n };\n }\n\n function extractConvParams(\n channelsIn: number,\n channelsOut: number,\n filterSize: number,\n mappedPrefix: string,\n isPointwiseConv?: boolean,\n ): ConvParams {\n const filters = tf.tensor4d(\n extractWeights(channelsIn * channelsOut * filterSize * filterSize),\n [filterSize, filterSize, channelsIn, channelsOut],\n );\n const bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/${isPointwiseConv ? 'batch_norm_offset' : 'bias'}` },\n );\n\n return { filters, bias };\n }\n\n function extractPointwiseConvParams(\n channelsIn: number,\n channelsOut: number,\n filterSize: number,\n mappedPrefix: string,\n ): PointwiseConvParams {\n const {\n filters,\n bias,\n } = extractConvParams(channelsIn, channelsOut, filterSize, mappedPrefix, true);\n\n return {\n filters,\n batch_norm_offset: bias,\n };\n }\n\n function extractConvPairParams(\n channelsIn: number,\n channelsOut: number,\n mappedPrefix: string,\n ): MobileNetV1.ConvPairParams {\n const depthwise_conv = extractDepthwiseConvParams(channelsIn, `${mappedPrefix}/depthwise_conv`);\n const pointwise_conv = extractPointwiseConvParams(channelsIn, channelsOut, 1, `${mappedPrefix}/pointwise_conv`);\n\n return { depthwise_conv, pointwise_conv };\n }\n\n function extractMobilenetV1Params(): MobileNetV1.Params {\n const conv_0 = extractPointwiseConvParams(3, 32, 3, 'mobilenetv1/conv_0');\n const conv_1 = extractConvPairParams(32, 64, 'mobilenetv1/conv_1');\n const conv_2 = extractConvPairParams(64, 128, 'mobilenetv1/conv_2');\n const conv_3 = extractConvPairParams(128, 128, 'mobilenetv1/conv_3');\n const conv_4 = extractConvPairParams(128, 256, 'mobilenetv1/conv_4');\n const conv_5 = extractConvPairParams(256, 256, 'mobilenetv1/conv_5');\n const conv_6 = extractConvPairParams(256, 512, 'mobilenetv1/conv_6');\n const conv_7 = extractConvPairParams(512, 512, 'mobilenetv1/conv_7');\n const conv_8 = extractConvPairParams(512, 512, 'mobilenetv1/conv_8');\n const conv_9 = extractConvPairParams(512, 512, 'mobilenetv1/conv_9');\n const conv_10 = extractConvPairParams(512, 512, 'mobilenetv1/conv_10');\n const conv_11 = extractConvPairParams(512, 512, 'mobilenetv1/conv_11');\n const conv_12 = extractConvPairParams(512, 1024, 'mobilenetv1/conv_12');\n const conv_13 = extractConvPairParams(1024, 1024, 'mobilenetv1/conv_13');\n return {\n conv_0,\n conv_1,\n conv_2,\n conv_3,\n conv_4,\n conv_5,\n conv_6,\n conv_7,\n conv_8,\n conv_9,\n conv_10,\n conv_11,\n conv_12,\n conv_13,\n };\n }\n\n function extractPredictionLayerParams(): PredictionLayerParams {\n const conv_0 = extractPointwiseConvParams(1024, 256, 1, 'prediction_layer/conv_0');\n const conv_1 = extractPointwiseConvParams(256, 512, 3, 'prediction_layer/conv_1');\n const conv_2 = extractPointwiseConvParams(512, 128, 1, 'prediction_layer/conv_2');\n const conv_3 = extractPointwiseConvParams(128, 256, 3, 'prediction_layer/conv_3');\n const conv_4 = extractPointwiseConvParams(256, 128, 1, 'prediction_layer/conv_4');\n const conv_5 = extractPointwiseConvParams(128, 256, 3, 'prediction_layer/conv_5');\n const conv_6 = extractPointwiseConvParams(256, 64, 1, 'prediction_layer/conv_6');\n const conv_7 = extractPointwiseConvParams(64, 128, 3, 'prediction_layer/conv_7');\n const box_encoding_0_predictor = extractConvParams(512, 12, 1, 'prediction_layer/box_predictor_0/box_encoding_predictor');\n const class_predictor_0 = extractConvParams(512, 9, 1, 'prediction_layer/box_predictor_0/class_predictor');\n const box_encoding_1_predictor = extractConvParams(1024, 24, 1, 'prediction_layer/box_predictor_1/box_encoding_predictor');\n const class_predictor_1 = extractConvParams(1024, 18, 1, 'prediction_layer/box_predictor_1/class_predictor');\n const box_encoding_2_predictor = extractConvParams(512, 24, 1, 'prediction_layer/box_predictor_2/box_encoding_predictor');\n const class_predictor_2 = extractConvParams(512, 18, 1, 'prediction_layer/box_predictor_2/class_predictor');\n const box_encoding_3_predictor = extractConvParams(256, 24, 1, 'prediction_layer/box_predictor_3/box_encoding_predictor');\n const class_predictor_3 = extractConvParams(256, 18, 1, 'prediction_layer/box_predictor_3/class_predictor');\n const box_encoding_4_predictor = extractConvParams(256, 24, 1, 'prediction_layer/box_predictor_4/box_encoding_predictor');\n const class_predictor_4 = extractConvParams(256, 18, 1, 'prediction_layer/box_predictor_4/class_predictor');\n const box_encoding_5_predictor = extractConvParams(128, 24, 1, 'prediction_layer/box_predictor_5/box_encoding_predictor');\n const class_predictor_5 = extractConvParams(128, 18, 1, 'prediction_layer/box_predictor_5/class_predictor');\n\n const box_predictor_0 = {\n box_encoding_predictor: box_encoding_0_predictor,\n class_predictor: class_predictor_0,\n };\n const box_predictor_1 = {\n box_encoding_predictor: box_encoding_1_predictor,\n class_predictor: class_predictor_1,\n };\n const box_predictor_2 = {\n box_encoding_predictor: box_encoding_2_predictor,\n class_predictor: class_predictor_2,\n };\n const box_predictor_3 = {\n box_encoding_predictor: box_encoding_3_predictor,\n class_predictor: class_predictor_3,\n };\n const box_predictor_4 = {\n box_encoding_predictor: box_encoding_4_predictor,\n class_predictor: class_predictor_4,\n };\n const box_predictor_5 = {\n box_encoding_predictor: box_encoding_5_predictor,\n class_predictor: class_predictor_5,\n };\n return {\n conv_0,\n conv_1,\n conv_2,\n conv_3,\n conv_4,\n conv_5,\n conv_6,\n conv_7,\n box_predictor_0,\n box_predictor_1,\n box_predictor_2,\n box_predictor_3,\n box_predictor_4,\n box_predictor_5,\n };\n }\n\n return {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n };\n}\n\nexport function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n const {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n } = extractorsFactory(extractWeights, paramMappings);\n const mobilenetv1 = extractMobilenetV1Params();\n const prediction_layer = extractPredictionLayerParams();\n const extra_dim = tf.tensor3d(\n extractWeights(5118 * 4),\n [1, 5118, 4],\n );\n const output_layer = {\n extra_dim,\n };\n paramMappings.push({ paramPath: 'output_layer/extra_dim' });\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n params: {\n mobilenetv1,\n prediction_layer,\n output_layer,\n },\n paramMappings,\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, disposeUnusedWeightTensors, extractWeightEntryFactory, ParamMapping } from '../common/index';\nimport { isTensor3D } from '../utils/index';\nimport { BoxPredictionParams, MobileNetV1, NetParams, PointwiseConvParams, PredictionLayerParams } from './types';\n\nfunction extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractPointwiseConvParams(prefix: string, idx: number, mappedPrefix: string): PointwiseConvParams {\n const filters = extractWeightEntry(`${prefix}/Conv2d_${idx}_pointwise/weights`, 4, `${mappedPrefix}/filters`);\n const batch_norm_offset = extractWeightEntry(`${prefix}/Conv2d_${idx}_pointwise/convolution_bn_offset`, 1, `${mappedPrefix}/batch_norm_offset`);\n return { filters, batch_norm_offset };\n }\n\n function extractConvPairParams(idx: number): MobileNetV1.ConvPairParams {\n const mappedPrefix = `mobilenetv1/conv_${idx}`;\n const prefixDepthwiseConv = `MobilenetV1/Conv2d_${idx}_depthwise`;\n const mappedPrefixDepthwiseConv = `${mappedPrefix}/depthwise_conv`;\n const mappedPrefixPointwiseConv = `${mappedPrefix}/pointwise_conv`;\n\n const filters = extractWeightEntry(`${prefixDepthwiseConv}/depthwise_weights`, 4, `${mappedPrefixDepthwiseConv}/filters`);\n const batch_norm_scale = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/gamma`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_scale`);\n const batch_norm_offset = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/beta`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_offset`);\n const batch_norm_mean = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/moving_mean`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_mean`);\n const batch_norm_variance = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/moving_variance`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_variance`);\n\n return {\n depthwise_conv: {\n filters,\n batch_norm_scale,\n batch_norm_offset,\n batch_norm_mean,\n batch_norm_variance,\n },\n pointwise_conv: extractPointwiseConvParams('MobilenetV1', idx, mappedPrefixPointwiseConv),\n };\n }\n\n function extractMobilenetV1Params(): MobileNetV1.Params {\n return {\n conv_0: extractPointwiseConvParams('MobilenetV1', 0, 'mobilenetv1/conv_0'),\n conv_1: extractConvPairParams(1),\n conv_2: extractConvPairParams(2),\n conv_3: extractConvPairParams(3),\n conv_4: extractConvPairParams(4),\n conv_5: extractConvPairParams(5),\n conv_6: extractConvPairParams(6),\n conv_7: extractConvPairParams(7),\n conv_8: extractConvPairParams(8),\n conv_9: extractConvPairParams(9),\n conv_10: extractConvPairParams(10),\n conv_11: extractConvPairParams(11),\n conv_12: extractConvPairParams(12),\n conv_13: extractConvPairParams(13),\n };\n }\n\n function extractConvParams(prefix: string, mappedPrefix: string): ConvParams {\n const filters = extractWeightEntry(`${prefix}/weights`, 4, `${mappedPrefix}/filters`);\n const bias = extractWeightEntry(`${prefix}/biases`, 1, `${mappedPrefix}/bias`);\n return { filters, bias };\n }\n\n function extractBoxPredictorParams(idx: number): BoxPredictionParams {\n const box_encoding_predictor = extractConvParams(\n `Prediction/BoxPredictor_${idx}/BoxEncodingPredictor`,\n `prediction_layer/box_predictor_${idx}/box_encoding_predictor`,\n );\n const class_predictor = extractConvParams(\n `Prediction/BoxPredictor_${idx}/ClassPredictor`,\n `prediction_layer/box_predictor_${idx}/class_predictor`,\n );\n return { box_encoding_predictor, class_predictor };\n }\n\n function extractPredictionLayerParams(): PredictionLayerParams {\n return {\n conv_0: extractPointwiseConvParams('Prediction', 0, 'prediction_layer/conv_0'),\n conv_1: extractPointwiseConvParams('Prediction', 1, 'prediction_layer/conv_1'),\n conv_2: extractPointwiseConvParams('Prediction', 2, 'prediction_layer/conv_2'),\n conv_3: extractPointwiseConvParams('Prediction', 3, 'prediction_layer/conv_3'),\n conv_4: extractPointwiseConvParams('Prediction', 4, 'prediction_layer/conv_4'),\n conv_5: extractPointwiseConvParams('Prediction', 5, 'prediction_layer/conv_5'),\n conv_6: extractPointwiseConvParams('Prediction', 6, 'prediction_layer/conv_6'),\n conv_7: extractPointwiseConvParams('Prediction', 7, 'prediction_layer/conv_7'),\n box_predictor_0: extractBoxPredictorParams(0),\n box_predictor_1: extractBoxPredictorParams(1),\n box_predictor_2: extractBoxPredictorParams(2),\n box_predictor_3: extractBoxPredictorParams(3),\n box_predictor_4: extractBoxPredictorParams(4),\n box_predictor_5: extractBoxPredictorParams(5),\n };\n }\n\n return {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n const {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n } = extractorsFactory(weightMap, paramMappings);\n const extra_dim = weightMap['Output/extra_dim'];\n paramMappings.push({ originalPath: 'Output/extra_dim', paramPath: 'output_layer/extra_dim' });\n if (!isTensor3D(extra_dim)) {\n throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${extra_dim}`);\n }\n\n const params = {\n mobilenetv1: extractMobilenetV1Params(),\n prediction_layer: extractPredictionLayerParams(),\n output_layer: {\n extra_dim,\n },\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { PointwiseConvParams } from './types';\n\nexport function pointwiseConvLayer(x: tf.Tensor4D, params: PointwiseConvParams, strides: [number, number]) {\n return tf.tidy(() => {\n let out = tf.conv2d(x, params.filters, strides, 'same');\n out = tf.add(out, params.batch_norm_offset);\n return tf.clipByValue(out, 0, 6);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { pointwiseConvLayer } from './pointwiseConvLayer';\nimport { MobileNetV1 } from './types';\n\nconst epsilon = 0.0010000000474974513;\n\nfunction depthwiseConvLayer(x: tf.Tensor4D, params: MobileNetV1.DepthwiseConvParams, strides: [number, number]) {\n return tf.tidy(() => {\n let out = tf.depthwiseConv2d(x, params.filters, strides, 'same');\n out = tf.batchNorm(\n out,\n params.batch_norm_mean,\n params.batch_norm_variance,\n params.batch_norm_offset,\n params.batch_norm_scale,\n epsilon,\n );\n return tf.clipByValue(out, 0, 6);\n });\n}\n\nfunction getStridesForLayerIdx(layerIdx: number): [number, number] {\n return [2, 4, 6, 12].some((idx) => idx === layerIdx) ? [2, 2] : [1, 1];\n}\n\nexport function mobileNetV1(x: tf.Tensor4D, params: MobileNetV1.Params) {\n return tf.tidy(() => {\n let conv11;\n let out = pointwiseConvLayer(x, params.conv_0, [2, 2]);\n\n const convPairParams = [\n params.conv_1,\n params.conv_2,\n params.conv_3,\n params.conv_4,\n params.conv_5,\n params.conv_6,\n params.conv_7,\n params.conv_8,\n params.conv_9,\n params.conv_10,\n params.conv_11,\n params.conv_12,\n params.conv_13,\n ];\n\n convPairParams.forEach((param, i) => {\n const layerIdx = i + 1;\n const depthwiseConvStrides = getStridesForLayerIdx(layerIdx);\n out = depthwiseConvLayer(out, param.depthwise_conv, depthwiseConvStrides);\n out = pointwiseConvLayer(out, param.pointwise_conv, [1, 1]);\n if (layerIdx === 11) conv11 = out;\n });\n\n if (conv11 === null) {\n throw new Error('mobileNetV1 - output of conv layer 11 is null');\n }\n\n return {\n out,\n conv11: conv11 as any,\n };\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nfunction IOU(boxes: tf.Tensor2D, i: number, j: number) {\n const boxesData = boxes.arraySync();\n const yminI = Math.min(boxesData[i][0], boxesData[i][2]);\n const xminI = Math.min(boxesData[i][1], boxesData[i][3]);\n const ymaxI = Math.max(boxesData[i][0], boxesData[i][2]);\n const xmaxI = Math.max(boxesData[i][1], boxesData[i][3]);\n const yminJ = Math.min(boxesData[j][0], boxesData[j][2]);\n const xminJ = Math.min(boxesData[j][1], boxesData[j][3]);\n const ymaxJ = Math.max(boxesData[j][0], boxesData[j][2]);\n const xmaxJ = Math.max(boxesData[j][1], boxesData[j][3]);\n const areaI = (ymaxI - yminI) * (xmaxI - xminI);\n const areaJ = (ymaxJ - yminJ) * (xmaxJ - xminJ);\n if (areaI <= 0 || areaJ <= 0) return 0.0;\n const intersectionYmin = Math.max(yminI, yminJ);\n const intersectionXmin = Math.max(xminI, xminJ);\n const intersectionYmax = Math.min(ymaxI, ymaxJ);\n const intersectionXmax = Math.min(xmaxI, xmaxJ);\n const intersectionArea = Math.max(intersectionYmax - intersectionYmin, 0.0) * Math.max(intersectionXmax - intersectionXmin, 0.0);\n return intersectionArea / (areaI + areaJ - intersectionArea);\n}\n\nexport function nonMaxSuppression(\n boxes: tf.Tensor2D,\n scores: number[],\n maxOutputSize: number,\n iouThreshold: number,\n scoreThreshold: number,\n): number[] {\n const numBoxes = boxes.shape[0];\n const outputSize = Math.min(maxOutputSize, numBoxes);\n\n const candidates = scores\n .map((score, boxIndex) => ({ score, boxIndex }))\n .filter((c) => c.score > scoreThreshold)\n .sort((c1, c2) => c2.score - c1.score);\n\n const suppressFunc = (x: number) => (x <= iouThreshold ? 1 : 0);\n const selected: number[] = [];\n\n candidates.forEach((c) => {\n if (selected.length >= outputSize) return;\n const originalScore = c.score;\n for (let j = selected.length - 1; j >= 0; --j) {\n const iou = IOU(boxes, c.boxIndex, selected[j]);\n if (iou === 0.0) continue;\n c.score *= suppressFunc(iou);\n if (c.score <= scoreThreshold) break;\n }\n if (originalScore === c.score) {\n selected.push(c.boxIndex);\n }\n });\n return selected;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { OutputLayerParams } from './types';\n\nfunction getCenterCoordinatesAndSizesLayer(x: tf.Tensor2D) {\n const vec = tf.unstack(tf.transpose(x, [1, 0]));\n\n const sizes = [\n tf.sub(vec[2], vec[0]),\n tf.sub(vec[3], vec[1]),\n ];\n const centers = [\n tf.add(vec[0], tf.div(sizes[0], 2)),\n tf.add(vec[1], tf.div(sizes[1], 2)),\n ];\n return { sizes, centers };\n}\n\nfunction decodeBoxesLayer(x0: tf.Tensor2D, x1: tf.Tensor2D) {\n const { sizes, centers } = getCenterCoordinatesAndSizesLayer(x0);\n\n const vec = tf.unstack(tf.transpose(x1, [1, 0]));\n const div0_out = tf.div(tf.mul(tf.exp(tf.div(vec[2], 5)), sizes[0]), 2);\n const add0_out = tf.add(tf.mul(tf.div(vec[0], 10), sizes[0]), centers[0]);\n const div1_out = tf.div(tf.mul(tf.exp(tf.div(vec[3], 5)), sizes[1]), 2);\n const add1_out = tf.add(tf.mul(tf.div(vec[1], 10), sizes[1]), centers[1]);\n\n return tf.transpose(\n tf.stack([\n tf.sub(add0_out, div0_out),\n tf.sub(add1_out, div1_out),\n tf.add(add0_out, div0_out),\n tf.add(add1_out, div1_out),\n ]),\n [1, 0],\n );\n}\n\nexport function outputLayer(boxPredictions: tf.Tensor4D, classPredictions: tf.Tensor4D, params: OutputLayerParams) {\n return tf.tidy(() => {\n const batchSize = boxPredictions.shape[0];\n\n let boxes = decodeBoxesLayer(\n tf.reshape(tf.tile(params.extra_dim, [batchSize, 1, 1]), [-1, 4]) as tf.Tensor2D,\n tf.reshape(boxPredictions, [-1, 4]) as tf.Tensor2D,\n );\n boxes = tf.reshape(boxes, [batchSize, (boxes.shape[0] / batchSize), 4]);\n\n const scoresAndClasses = tf.sigmoid(tf.slice(classPredictions, [0, 0, 1], [-1, -1, -1]));\n let scores = tf.slice(scoresAndClasses, [0, 0, 0], [-1, -1, 1]) as tf.Tensor;\n\n scores = tf.reshape(scores, [batchSize, scores.shape[1] as number]);\n\n const boxesByBatch = tf.unstack(boxes) as tf.Tensor2D[];\n const scoresByBatch = tf.unstack(scores) as tf.Tensor1D[];\n\n return { boxes: boxesByBatch, scores: scoresByBatch };\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { convLayer } from '../common/index';\nimport { BoxPredictionParams } from './types';\n\nexport function boxPredictionLayer(\n x: tf.Tensor4D,\n params: BoxPredictionParams,\n) {\n return tf.tidy(() => {\n const batchSize = x.shape[0];\n const boxPredictionEncoding = tf.reshape(\n convLayer(x, params.box_encoding_predictor),\n [batchSize, -1, 1, 4],\n );\n const classPrediction = tf.reshape(\n convLayer(x, params.class_predictor),\n [batchSize, -1, 3],\n );\n return { boxPredictionEncoding, classPrediction };\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { boxPredictionLayer } from './boxPredictionLayer';\nimport { pointwiseConvLayer } from './pointwiseConvLayer';\nimport { PredictionLayerParams } from './types';\n\nexport function predictionLayer(\n x: tf.Tensor4D,\n conv11: tf.Tensor4D,\n params: PredictionLayerParams,\n) {\n return tf.tidy(() => {\n const conv0 = pointwiseConvLayer(x, params.conv_0, [1, 1]);\n const conv1 = pointwiseConvLayer(conv0, params.conv_1, [2, 2]);\n const conv2 = pointwiseConvLayer(conv1, params.conv_2, [1, 1]);\n const conv3 = pointwiseConvLayer(conv2, params.conv_3, [2, 2]);\n const conv4 = pointwiseConvLayer(conv3, params.conv_4, [1, 1]);\n const conv5 = pointwiseConvLayer(conv4, params.conv_5, [2, 2]);\n const conv6 = pointwiseConvLayer(conv5, params.conv_6, [1, 1]);\n const conv7 = pointwiseConvLayer(conv6, params.conv_7, [2, 2]);\n\n const boxPrediction0 = boxPredictionLayer(conv11, params.box_predictor_0);\n const boxPrediction1 = boxPredictionLayer(x, params.box_predictor_1);\n const boxPrediction2 = boxPredictionLayer(conv1, params.box_predictor_2);\n const boxPrediction3 = boxPredictionLayer(conv3, params.box_predictor_3);\n const boxPrediction4 = boxPredictionLayer(conv5, params.box_predictor_4);\n const boxPrediction5 = boxPredictionLayer(conv7, params.box_predictor_5);\n\n const boxPredictions = tf.concat([\n boxPrediction0.boxPredictionEncoding,\n boxPrediction1.boxPredictionEncoding,\n boxPrediction2.boxPredictionEncoding,\n boxPrediction3.boxPredictionEncoding,\n boxPrediction4.boxPredictionEncoding,\n boxPrediction5.boxPredictionEncoding,\n ], 1) as tf.Tensor4D;\n\n const classPredictions = tf.concat([\n boxPrediction0.classPrediction,\n boxPrediction1.classPrediction,\n boxPrediction2.classPrediction,\n boxPrediction3.classPrediction,\n boxPrediction4.classPrediction,\n boxPrediction5.classPrediction,\n ], 1) as tf.Tensor4D;\n\n return {\n boxPredictions,\n classPredictions,\n };\n });\n}\n", "export interface ISsdMobilenetv1Options {\n minConfidence?: number\n maxResults?: number\n}\n\nexport class SsdMobilenetv1Options {\n protected _name = 'SsdMobilenetv1Options';\n\n private _minConfidence: number;\n\n private _maxResults: number;\n\n constructor({ minConfidence, maxResults }: ISsdMobilenetv1Options = {}) {\n this._minConfidence = minConfidence || 0.5;\n this._maxResults = maxResults || 100;\n\n if (typeof this._minConfidence !== 'number' || this._minConfidence <= 0 || this._minConfidence >= 1) {\n throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);\n }\n\n if (typeof this._maxResults !== 'number') {\n throw new Error(`${this._name} - expected maxResults to be a number`);\n }\n }\n\n get minConfidence(): number { return this._minConfidence; }\n\n get maxResults(): number { return this._maxResults; }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Rect } from '../classes/index';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { mobileNetV1 } from './mobileNetV1';\nimport { nonMaxSuppression } from './nonMaxSuppression';\nimport { outputLayer } from './outputLayer';\nimport { predictionLayer } from './predictionLayer';\nimport { ISsdMobilenetv1Options, SsdMobilenetv1Options } from './SsdMobilenetv1Options';\nimport { NetParams } from './types';\n\nexport class SsdMobilenetv1 extends NeuralNetwork {\n constructor() {\n super('SsdMobilenetv1');\n }\n\n public forwardInput(input: NetInput) {\n const { params } = this;\n if (!params) throw new Error('SsdMobilenetv1 - load model before inference');\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(512, false), 'float32');\n const x = tf.sub(tf.div(batchTensor, 127.5), 1) as tf.Tensor4D; // input is normalized -1..1\n const features = mobileNetV1(x, params.mobilenetv1);\n const { boxPredictions, classPredictions } = predictionLayer(features.out, features.conv11, params.prediction_layer);\n return outputLayer(boxPredictions, classPredictions, params.output_layer);\n });\n }\n\n public async forward(input: TNetInput) {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async locateFaces(input: TNetInput, options: ISsdMobilenetv1Options = {}): Promise {\n const { maxResults, minConfidence } = new SsdMobilenetv1Options(options);\n const netInput = await toNetInput(input);\n const { boxes: _boxes, scores: _scores } = this.forwardInput(netInput);\n const boxes = _boxes[0];\n const scores = _scores[0];\n for (let i = 1; i < _boxes.length; i++) {\n _boxes[i].dispose();\n _scores[i].dispose();\n }\n const scoresData = Array.from(scores.dataSync());\n const iouThreshold = 0.5;\n const indices = nonMaxSuppression(boxes, scoresData as number[], maxResults, iouThreshold, minConfidence);\n const reshapedDims = netInput.getReshapedInputDimensions(0);\n const inputSize = netInput.inputSize as number;\n const padX = inputSize / reshapedDims.width;\n const padY = inputSize / reshapedDims.height;\n const boxesData = boxes.arraySync();\n const results = indices\n .map((idx) => {\n const [top, bottom] = [\n Math.max(0, boxesData[idx][0]),\n Math.min(1.0, boxesData[idx][2]),\n ].map((val) => val * padY);\n const [left, right] = [\n Math.max(0, boxesData[idx][1]),\n Math.min(1.0, boxesData[idx][3]),\n ].map((val) => val * padX);\n return new FaceDetection(\n scoresData[idx] as number,\n new Rect(left, top, right - left, bottom - top),\n { height: netInput.getInputHeight(0), width: netInput.getInputWidth(0) },\n );\n });\n boxes.dispose();\n scores.dispose();\n return results;\n }\n\n protected getDefaultModelName(): string {\n return 'ssd_mobilenetv1_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights);\n }\n}\n", "import { SsdMobilenetv1 } from './SsdMobilenetv1';\n\nexport * from './SsdMobilenetv1';\nexport * from './SsdMobilenetv1Options';\n\nexport function createSsdMobilenetv1(weights: Float32Array) {\n const net = new SsdMobilenetv1();\n net.extractWeights(weights);\n return net;\n}\n\nexport function createFaceDetectionNet(weights: Float32Array) {\n return createSsdMobilenetv1(weights);\n}\n\n// alias for backward compatibily\nexport class FaceDetectionNet extends SsdMobilenetv1 {}\n", "import { Point } from '../classes/index';\n\nexport const IOU_THRESHOLD = 0.4;\n\nexport const BOX_ANCHORS = [\n new Point(0.738768, 0.874946),\n new Point(2.42204, 2.65704),\n new Point(4.30971, 7.04493),\n new Point(10.246, 4.59428),\n new Point(12.6868, 11.8741),\n];\n\nexport const BOX_ANCHORS_SEPARABLE = [\n new Point(1.603231, 2.094468),\n new Point(6.041143, 7.080126),\n new Point(2.882459, 3.518061),\n new Point(4.266906, 5.178857),\n new Point(9.041765, 10.66308),\n];\n\nexport const MEAN_RGB_SEPARABLE: [number, number, number] = [117.001, 114.697, 97.404];\n\nexport const DEFAULT_MODEL_NAME = 'tiny_yolov2_model';\nexport const DEFAULT_MODEL_NAME_SEPARABLE_CONV = 'tiny_yolov2_separable_conv_model';\n", "import { Point } from '../classes/Point';\n\nexport type TinyYolov2Config = {\n withSeparableConvs: boolean\n iouThreshold: number\n anchors: Point[]\n classes: string[]\n meanRgb?: [number, number, number]\n withClassScores?: boolean,\n filterSizes?: number[]\n isFirstLayerConv2d?: boolean\n}\n\nconst isNumber = (arg: any) => typeof arg === 'number';\n\nexport function validateConfig(config: any) {\n if (!config) {\n throw new Error(`invalid config: ${config}`);\n }\n\n if (typeof config.withSeparableConvs !== 'boolean') {\n throw new Error(`config.withSeparableConvs has to be a boolean, have: ${config.withSeparableConvs}`);\n }\n\n if (!isNumber(config.iouThreshold) || config.iouThreshold < 0 || config.iouThreshold > 1.0) {\n throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${config.iouThreshold}`);\n }\n\n if (\n !Array.isArray(config.classes)\n || !config.classes.length\n || !config.classes.every((c: any) => typeof c === 'string')\n ) {\n throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(config.classes)}`);\n }\n\n if (\n !Array.isArray(config.anchors)\n || !config.anchors.length\n || !config.anchors.map((a: any) => a || {}).every((a: any) => isNumber(a.x) && isNumber(a.y))\n ) {\n throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(config.anchors)}`);\n }\n\n if (config.meanRgb && (\n !Array.isArray(config.meanRgb)\n || config.meanRgb.length !== 3\n || !config.meanRgb.every(isNumber)\n )) {\n throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(config.meanRgb)}`);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nexport function leaky(x: tf.Tensor4D): tf.Tensor4D {\n return tf.tidy(() => {\n const min = tf.mul(x, tf.scalar(0.10000000149011612));\n return tf.add(tf.relu(tf.sub(x, min)), min);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { leaky } from './leaky';\nimport { ConvWithBatchNorm } from './types';\n\nexport function convWithBatchNorm(x: tf.Tensor4D, params: ConvWithBatchNorm): tf.Tensor4D {\n return tf.tidy(() => {\n let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]) as tf.Tensor4D;\n out = tf.conv2d(out, params.conv.filters, [1, 1], 'valid');\n out = tf.sub(out, params.bn.sub);\n out = tf.mul(out, params.bn.truediv);\n out = tf.add(out, params.conv.bias);\n return leaky(out);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { SeparableConvParams } from '../common/types';\nimport { leaky } from './leaky';\n\nexport function depthwiseSeparableConv(x: tf.Tensor4D, params: SeparableConvParams): tf.Tensor4D {\n return tf.tidy(() => {\n let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]) as tf.Tensor4D;\n out = tf.separableConv2d(out, params.depthwise_filter, params.pointwise_filter, [1, 1], 'valid');\n out = tf.add(out, params.bias);\n return leaky(out);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { extractConvParamsFactory } from '../common/index';\nimport { extractSeparableConvParamsFactory } from '../common/extractSeparableConvParamsFactory';\nimport { extractWeightsFactory } from '../common/extractWeightsFactory';\nimport { ExtractWeightsFunction, ParamMapping } from '../common/types';\nimport { TinyYolov2Config } from './config';\nimport { BatchNorm, ConvWithBatchNorm, TinyYolov2NetParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings);\n\n function extractBatchNormParams(size: number, mappedPrefix: string): BatchNorm {\n const sub = tf.tensor1d(extractWeights(size));\n const truediv = tf.tensor1d(extractWeights(size));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/sub` },\n { paramPath: `${mappedPrefix}/truediv` },\n );\n return { sub, truediv };\n }\n\n function extractConvWithBatchNormParams(channelsIn: number, channelsOut: number, mappedPrefix: string): ConvWithBatchNorm {\n const conv = extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv`);\n const bn = extractBatchNormParams(channelsOut, `${mappedPrefix}/bn`);\n return { conv, bn };\n }\n const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings);\n\n return {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n };\n}\n\nexport function extractParams(\n weights: Float32Array,\n config: TinyYolov2Config,\n boxEncodingSize: number,\n filterSizes: number[],\n): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const paramMappings: ParamMapping[] = [];\n const {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n } = extractorsFactory(extractWeights, paramMappings);\n let params: TinyYolov2NetParams;\n\n if (config.withSeparableConvs) {\n const [s0, s1, s2, s3, s4, s5, s6, s7, s8] = filterSizes;\n const conv0 = config.isFirstLayerConv2d\n ? extractConvParams(s0, s1, 3, 'conv0')\n : extractSeparableConvParams(s0, s1, 'conv0');\n const conv1 = extractSeparableConvParams(s1, s2, 'conv1');\n const conv2 = extractSeparableConvParams(s2, s3, 'conv2');\n const conv3 = extractSeparableConvParams(s3, s4, 'conv3');\n const conv4 = extractSeparableConvParams(s4, s5, 'conv4');\n const conv5 = extractSeparableConvParams(s5, s6, 'conv5');\n const conv6 = s7 ? extractSeparableConvParams(s6, s7, 'conv6') : undefined;\n const conv7 = s8 ? extractSeparableConvParams(s7, s8, 'conv7') : undefined;\n const conv8 = extractConvParams(s8 || s7 || s6, 5 * boxEncodingSize, 1, 'conv8');\n params = {\n conv0, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8,\n };\n } else {\n const [s0, s1, s2, s3, s4, s5, s6, s7, s8] = filterSizes;\n const conv0 = extractConvWithBatchNormParams(s0, s1, 'conv0');\n const conv1 = extractConvWithBatchNormParams(s1, s2, 'conv1');\n const conv2 = extractConvWithBatchNormParams(s2, s3, 'conv2');\n const conv3 = extractConvWithBatchNormParams(s3, s4, 'conv3');\n const conv4 = extractConvWithBatchNormParams(s4, s5, 'conv4');\n const conv5 = extractConvWithBatchNormParams(s5, s6, 'conv5');\n const conv6 = extractConvWithBatchNormParams(s6, s7, 'conv6');\n const conv7 = extractConvWithBatchNormParams(s7, s8, 'conv7');\n const conv8 = extractConvParams(s8, 5 * boxEncodingSize, 1, 'conv8');\n params = {\n conv0, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8,\n };\n }\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams } from '../common/index';\nimport { disposeUnusedWeightTensors } from '../common/disposeUnusedWeightTensors';\nimport { loadSeparableConvParamsFactory } from '../common/extractSeparableConvParamsFactory';\nimport { extractWeightEntryFactory } from '../common/extractWeightEntryFactory';\nimport { ParamMapping } from '../common/types';\nimport { TinyYolov2Config } from './config';\nimport { BatchNorm, ConvWithBatchNorm, TinyYolov2NetParams } from './types';\n\nfunction extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractBatchNormParams(prefix: string): BatchNorm {\n const sub = extractWeightEntry(`${prefix}/sub`, 1);\n const truediv = extractWeightEntry(`${prefix}/truediv`, 1);\n return { sub, truediv };\n }\n\n function extractConvParams(prefix: string): ConvParams {\n const filters = extractWeightEntry(`${prefix}/filters`, 4);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n return { filters, bias };\n }\n\n function extractConvWithBatchNormParams(prefix: string): ConvWithBatchNorm {\n const conv = extractConvParams(`${prefix}/conv`);\n const bn = extractBatchNormParams(`${prefix}/bn`);\n return { conv, bn };\n }\n\n const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry);\n return {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n config: TinyYolov2Config,\n): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n } = extractorsFactory(weightMap, paramMappings);\n\n let params: TinyYolov2NetParams;\n\n if (config.withSeparableConvs) {\n // eslint-disable-next-line no-mixed-operators\n const numFilters = (config.filterSizes && config.filterSizes.length || 9);\n params = {\n conv0: config.isFirstLayerConv2d ? extractConvParams('conv0') : extractSeparableConvParams('conv0'),\n conv1: extractSeparableConvParams('conv1'),\n conv2: extractSeparableConvParams('conv2'),\n conv3: extractSeparableConvParams('conv3'),\n conv4: extractSeparableConvParams('conv4'),\n conv5: extractSeparableConvParams('conv5'),\n conv6: numFilters > 7 ? extractSeparableConvParams('conv6') : undefined,\n conv7: numFilters > 8 ? extractSeparableConvParams('conv7') : undefined,\n conv8: extractConvParams('conv8'),\n };\n } else {\n params = {\n conv0: extractConvWithBatchNormParams('conv0'),\n conv1: extractConvWithBatchNormParams('conv1'),\n conv2: extractConvWithBatchNormParams('conv2'),\n conv3: extractConvWithBatchNormParams('conv3'),\n conv4: extractConvWithBatchNormParams('conv4'),\n conv5: extractConvWithBatchNormParams('conv5'),\n conv6: extractConvWithBatchNormParams('conv6'),\n conv7: extractConvWithBatchNormParams('conv7'),\n conv8: extractConvParams('conv8'),\n };\n }\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n return { params, paramMappings };\n}\n", "export interface ITinyYolov2Options {\n inputSize?: number\n scoreThreshold?: number\n}\n\nexport class TinyYolov2Options {\n protected _name = 'TinyYolov2Options';\n\n private _inputSize: number;\n\n private _scoreThreshold: number;\n\n constructor({ inputSize, scoreThreshold }: ITinyYolov2Options = {}) {\n this._inputSize = inputSize || 416;\n this._scoreThreshold = scoreThreshold || 0.5;\n\n if (typeof this._inputSize !== 'number' || this._inputSize % 32 !== 0) {\n throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);\n }\n\n if (typeof this._scoreThreshold !== 'number' || this._scoreThreshold <= 0 || this._scoreThreshold >= 1) {\n throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`);\n }\n }\n\n get inputSize(): number { return this._inputSize; }\n\n get scoreThreshold(): number { return this._scoreThreshold; }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { BoundingBox } from '../classes/BoundingBox';\nimport { Dimensions } from '../classes/Dimensions';\nimport { ObjectDetection } from '../classes/ObjectDetection';\nimport { convLayer } from '../common/index';\nimport { ConvParams, SeparableConvParams } from '../common/types';\nimport { toNetInput } from '../dom/index';\nimport { NetInput } from '../dom/NetInput';\nimport { TNetInput } from '../dom/types';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { sigmoid } from '../ops/index';\nimport { nonMaxSuppression } from '../ops/nonMaxSuppression';\nimport { normalize } from '../ops/normalize';\nimport { TinyYolov2Config, validateConfig } from './config';\nimport { convWithBatchNorm } from './convWithBatchNorm';\nimport { depthwiseSeparableConv } from './depthwiseSeparableConv';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { leaky } from './leaky';\nimport { ITinyYolov2Options, TinyYolov2Options } from './TinyYolov2Options';\nimport { DefaultTinyYolov2NetParams, MobilenetParams, TinyYolov2ExtractBoxesResult, TinyYolov2NetParams } from './types';\n\nexport class TinyYolov2Base extends NeuralNetwork {\n public static DEFAULT_FILTER_SIZES = [3, 16, 32, 64, 128, 256, 512, 1024, 1024];\n\n private _config: TinyYolov2Config;\n\n constructor(config: TinyYolov2Config) {\n super('TinyYolov2');\n validateConfig(config);\n this._config = config;\n }\n\n public get config(): TinyYolov2Config {\n return this._config;\n }\n\n public get withClassScores(): boolean {\n return this.config.withClassScores || this.config.classes.length > 1;\n }\n\n public get boxEncodingSize(): number {\n return 5 + (this.withClassScores ? this.config.classes.length : 0);\n }\n\n public runTinyYolov2(x: tf.Tensor4D, params: DefaultTinyYolov2NetParams): tf.Tensor4D {\n let out = convWithBatchNorm(x, params.conv0);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv1);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv2);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv3);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv4);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv5);\n out = tf.maxPool(out, [2, 2], [1, 1], 'same');\n out = convWithBatchNorm(out, params.conv6);\n out = convWithBatchNorm(out, params.conv7);\n return convLayer(out, params.conv8, 'valid', false);\n }\n\n public runMobilenet(x: tf.Tensor4D, params: MobilenetParams): tf.Tensor4D {\n let out = this.config.isFirstLayerConv2d\n ? leaky(convLayer(x, params.conv0 as ConvParams, 'valid', false))\n : depthwiseSeparableConv(x, params.conv0 as SeparableConvParams);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv1);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv2);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv3);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv4);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv5);\n out = tf.maxPool(out, [2, 2], [1, 1], 'same');\n out = params.conv6 ? depthwiseSeparableConv(out, params.conv6) : out;\n out = params.conv7 ? depthwiseSeparableConv(out, params.conv7) : out;\n return convLayer(out, params.conv8, 'valid', false);\n }\n\n public forwardInput(input: NetInput, inputSize: number): tf.Tensor4D {\n const { params } = this;\n\n if (!params) {\n throw new Error('TinyYolov2 - load model before inference');\n }\n\n return tf.tidy(() => {\n let batchTensor = tf.cast(input.toBatchTensor(inputSize, false), 'float32');\n batchTensor = this.config.meanRgb\n ? normalize(batchTensor, this.config.meanRgb)\n : batchTensor;\n batchTensor = batchTensor.div(255) as tf.Tensor4D;\n return this.config.withSeparableConvs\n ? this.runMobilenet(batchTensor, params as MobilenetParams)\n : this.runTinyYolov2(batchTensor, params as DefaultTinyYolov2NetParams);\n });\n }\n\n public async forward(input: TNetInput, inputSize: number): Promise {\n return this.forwardInput(await toNetInput(input), inputSize);\n }\n\n public async detect(input: TNetInput, forwardParams: ITinyYolov2Options = {}): Promise {\n const { inputSize, scoreThreshold } = new TinyYolov2Options(forwardParams);\n const netInput = await toNetInput(input);\n const out = await this.forwardInput(netInput, inputSize);\n const out0 = tf.tidy(() => tf.unstack(out)[0].expandDims()) as tf.Tensor4D;\n const inputDimensions = {\n width: netInput.getInputWidth(0),\n height: netInput.getInputHeight(0),\n };\n\n const results = await this.extractBoxes(out0, netInput.getReshapedInputDimensions(0), scoreThreshold);\n out.dispose();\n out0.dispose();\n\n const boxes = results.map((res) => res.box);\n const scores = results.map((res) => res.score);\n const classScores = results.map((res) => res.classScore);\n const classNames = results.map((res) => this.config.classes[res.label]);\n\n const indices = nonMaxSuppression(\n boxes.map((box) => box.rescale(inputSize)),\n scores,\n this.config.iouThreshold,\n true,\n );\n\n const detections = indices.map((idx) => new ObjectDetection(\n scores[idx],\n classScores[idx],\n classNames[idx],\n boxes[idx],\n inputDimensions,\n ));\n return detections;\n }\n\n protected getDefaultModelName(): string {\n return '';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap, this.config);\n }\n\n protected extractParams(weights: Float32Array) {\n const filterSizes = this.config.filterSizes || TinyYolov2Base.DEFAULT_FILTER_SIZES;\n\n const numFilters = filterSizes ? filterSizes.length : undefined;\n if (numFilters !== 7 && numFilters !== 8 && numFilters !== 9) {\n throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${numFilters} filterSizes in config`);\n }\n return extractParams(weights, this.config, this.boxEncodingSize, filterSizes);\n }\n\n protected async extractBoxes(\n outputTensor: tf.Tensor4D,\n inputBlobDimensions: Dimensions,\n scoreThreshold?: number,\n ) {\n const { width, height } = inputBlobDimensions;\n const inputSize = Math.max(width, height);\n const correctionFactorX = inputSize / width;\n const correctionFactorY = inputSize / height;\n\n const numCells = outputTensor.shape[1];\n const numBoxes = this.config.anchors.length;\n\n const [boxesTensor, scoresTensor, classScoresTensor] = tf.tidy(() => {\n const reshaped = outputTensor.reshape([numCells, numCells, numBoxes, this.boxEncodingSize]);\n\n const boxes = reshaped.slice([0, 0, 0, 0], [numCells, numCells, numBoxes, 4]);\n const scores = reshaped.slice([0, 0, 0, 4], [numCells, numCells, numBoxes, 1]);\n const classScores = this.withClassScores\n ? tf.softmax(reshaped.slice([0, 0, 0, 5], [numCells, numCells, numBoxes, this.config.classes.length]), 3)\n : tf.scalar(0);\n return [boxes, scores, classScores];\n });\n\n const results: TinyYolov2ExtractBoxesResult[] = [];\n const scoresData = await scoresTensor.array() as number[][][][];\n const boxesData = await boxesTensor.array() as number[][][][];\n for (let row = 0; row < numCells; row++) {\n for (let col = 0; col < numCells; col++) {\n for (let anchor = 0; anchor < numBoxes; anchor++) {\n const score = sigmoid(scoresData[row][col][anchor][0]);\n if (!scoreThreshold || score > scoreThreshold) {\n const ctX = ((col + sigmoid(boxesData[row][col][anchor][0])) / numCells) * correctionFactorX;\n const ctY = ((row + sigmoid(boxesData[row][col][anchor][1])) / numCells) * correctionFactorY;\n const widthLocal = ((Math.exp(boxesData[row][col][anchor][2]) * this.config.anchors[anchor].x) / numCells) * correctionFactorX;\n const heightLocal = ((Math.exp(boxesData[row][col][anchor][3]) * this.config.anchors[anchor].y) / numCells) * correctionFactorY;\n const x = (ctX - (widthLocal / 2));\n const y = (ctY - (heightLocal / 2));\n const pos = { row, col, anchor };\n const { classScore, label } = this.withClassScores\n ? await this.extractPredictedClass(classScoresTensor as tf.Tensor4D, pos)\n : { classScore: 1, label: 0 };\n results.push({\n box: new BoundingBox(x, y, x + widthLocal, y + heightLocal),\n score,\n classScore: score * classScore,\n label,\n ...pos,\n });\n }\n }\n }\n }\n\n boxesTensor.dispose();\n scoresTensor.dispose();\n classScoresTensor.dispose();\n return results;\n }\n\n private async extractPredictedClass(classesTensor: tf.Tensor4D, pos: { row: number, col: number, anchor: number }) {\n const { row, col, anchor } = pos;\n const classesData = await classesTensor.array();\n return Array(this.config.classes.length).fill(0)\n .map((_, i) => classesData[row][col][anchor][i])\n .map((classScore, label) => ({\n classScore,\n label,\n }))\n .reduce((max, curr) => (max.classScore > curr.classScore ? max : curr));\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FaceDetection, Point } from '../classes/index';\nimport { ParamMapping } from '../common/types';\nimport { TNetInput } from '../dom/types';\nimport {\n BOX_ANCHORS,\n BOX_ANCHORS_SEPARABLE,\n DEFAULT_MODEL_NAME,\n DEFAULT_MODEL_NAME_SEPARABLE_CONV,\n IOU_THRESHOLD,\n MEAN_RGB_SEPARABLE,\n} from './const';\nimport { TinyYolov2Base } from './TinyYolov2Base';\nimport { ITinyYolov2Options } from './TinyYolov2Options';\nimport { TinyYolov2NetParams } from './types';\n\nexport class TinyYolov2 extends TinyYolov2Base {\n constructor(withSeparableConvs = true) {\n const config = {\n withSeparableConvs,\n iouThreshold: IOU_THRESHOLD,\n classes: ['face'],\n ...(withSeparableConvs\n ? {\n anchors: BOX_ANCHORS_SEPARABLE,\n meanRgb: MEAN_RGB_SEPARABLE,\n }\n : {\n anchors: BOX_ANCHORS,\n withClassScores: true,\n }),\n };\n\n super(config);\n }\n\n public get withSeparableConvs(): boolean {\n return this.config.withSeparableConvs;\n }\n\n public get anchors(): Point[] {\n return this.config.anchors;\n }\n\n public async locateFaces(input: TNetInput, forwardParams: ITinyYolov2Options): Promise {\n const objectDetections = await this.detect(input, forwardParams);\n return objectDetections.map((det) => new FaceDetection(det.score, det.relativeBox, { width: det.imageWidth, height: det.imageHeight }));\n }\n\n protected override getDefaultModelName(): string {\n return this.withSeparableConvs ? DEFAULT_MODEL_NAME_SEPARABLE_CONV : DEFAULT_MODEL_NAME;\n }\n\n protected override extractParamsFromWeightMap(weightMap: tf.NamedTensorMap): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n return super.extractParamsFromWeightMap(weightMap);\n }\n}\n", "import { TinyYolov2 } from './TinyYolov2';\n\nexport * from './TinyYolov2Options';\nexport * from './config';\nexport * from './types';\nexport { TinyYolov2 };\n\nexport function createTinyYolov2(weights: Float32Array, withSeparableConvs = true) {\n const net = new TinyYolov2(withSeparableConvs);\n net.extractWeights(weights);\n return net;\n}\n", "import { ITinyYolov2Options, TinyYolov2Options } from '../tinyYolov2/index';\n\nexport type ITinyFaceDetectorOptions = ITinyYolov2Options\n\nexport class TinyFaceDetectorOptions extends TinyYolov2Options {\n protected override _name = 'TinyFaceDetectorOptions';\n}\n", "export class ComposableTask {\n // eslint-disable-next-line no-unused-vars\n public async then(onfulfilled: (value: T) => T | PromiseLike): Promise {\n return onfulfilled(await this.run());\n }\n\n public async run(): Promise {\n throw new Error('ComposableTask - run is not implemented');\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { extractFaces, extractFaceTensors, TNetInput } from '../dom/index';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { isWithFaceLandmarks, WithFaceLandmarks } from '../factories/WithFaceLandmarks';\n\nexport async function extractAllFacesAndComputeResults, TResult>(\n parentResults: TSource[],\n input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n computeResults: (faces: Array) => Promise,\n extractedFaces?: Array | null,\n // eslint-disable-next-line no-unused-vars\n getRectForAlignment: (parentResult: WithFaceLandmarks) => FaceDetection = ({ alignedRect }) => alignedRect,\n) {\n const faceBoxes = parentResults.map((parentResult) => (isWithFaceLandmarks(parentResult)\n ? getRectForAlignment(parentResult)\n : parentResult.detection));\n const faces: Array = extractedFaces || (\n input instanceof tf.Tensor\n ? await extractFaceTensors(input, faceBoxes)\n : await extractFaces(input, faceBoxes)\n );\n const results = await computeResults(faces);\n faces.forEach((f) => f instanceof tf.Tensor && f.dispose());\n return results;\n}\n\nexport async function extractSingleFaceAndComputeResult, TResult>(\n parentResult: TSource,\n input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n computeResult: (face: HTMLCanvasElement | tf.Tensor3D) => Promise,\n extractedFaces?: Array | null,\n // eslint-disable-next-line no-unused-vars\n getRectForAlignment?: (parentResultLocal: WithFaceLandmarks) => FaceDetection,\n) {\n return extractAllFacesAndComputeResults(\n [parentResult],\n input,\n async (faces) => computeResult(faces[0]),\n extractedFaces,\n getRectForAlignment,\n );\n}\n", "import { Point } from '../classes/index';\n\nexport const IOU_THRESHOLD = 0.4;\n\nexport const BOX_ANCHORS = [\n new Point(1.603231, 2.094468),\n new Point(6.041143, 7.080126),\n new Point(2.882459, 3.518061),\n new Point(4.266906, 5.178857),\n new Point(9.041765, 10.66308),\n];\n\nexport const MEAN_RGB: [number, number, number] = [117.001, 114.697, 97.404];\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FaceDetection, Point } from '../classes/index';\nimport { ParamMapping } from '../common/index';\nimport { TNetInput } from '../dom/index';\nimport { ITinyYolov2Options } from '../tinyYolov2/index';\nimport { TinyYolov2Base } from '../tinyYolov2/TinyYolov2Base';\nimport { TinyYolov2NetParams } from '../tinyYolov2/types';\nimport { BOX_ANCHORS, IOU_THRESHOLD, MEAN_RGB } from './const';\n\nexport class TinyFaceDetector extends TinyYolov2Base {\n constructor() {\n const config = {\n withSeparableConvs: true,\n iouThreshold: IOU_THRESHOLD,\n classes: ['face'],\n anchors: BOX_ANCHORS,\n meanRgb: MEAN_RGB,\n isFirstLayerConv2d: true,\n filterSizes: [3, 16, 32, 64, 128, 256, 512],\n };\n\n super(config);\n }\n\n public get anchors(): Point[] {\n return this.config.anchors;\n }\n\n public async locateFaces(input: TNetInput, forwardParams: ITinyYolov2Options): Promise {\n const objectDetections = await this.detect(input, forwardParams);\n return objectDetections.map((det) => new FaceDetection(det.score, det.relativeBox, { width: det.imageWidth, height: det.imageHeight }));\n }\n\n protected override getDefaultModelName(): string {\n return 'tiny_face_detector_model';\n }\n\n protected override extractParamsFromWeightMap(weightMap: tf.NamedTensorMap): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n return super.extractParamsFromWeightMap(weightMap);\n }\n}\n", "import { AgeGenderNet } from '../ageGenderNet/AgeGenderNet';\nimport { AgeAndGenderPrediction } from '../ageGenderNet/types';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { TNetInput } from '../dom/index';\nimport { FaceExpressionNet } from '../faceExpressionNet/FaceExpressionNet';\nimport { FaceExpressions } from '../faceExpressionNet/FaceExpressions';\nimport { FaceLandmark68Net } from '../faceLandmarkNet/FaceLandmark68Net';\nimport { FaceLandmark68TinyNet } from '../faceLandmarkNet/FaceLandmark68TinyNet';\nimport { FaceRecognitionNet } from '../faceRecognitionNet/FaceRecognitionNet';\nimport { SsdMobilenetv1 } from '../ssdMobilenetv1/SsdMobilenetv1';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/SsdMobilenetv1Options';\nimport { TinyFaceDetector } from '../tinyFaceDetector/TinyFaceDetector';\nimport { TinyFaceDetectorOptions } from '../tinyFaceDetector/TinyFaceDetectorOptions';\nimport { ITinyYolov2Options, TinyYolov2 } from '../tinyYolov2/index';\n\nexport const nets = {\n ssdMobilenetv1: new SsdMobilenetv1(),\n tinyFaceDetector: new TinyFaceDetector(),\n tinyYolov2: new TinyYolov2(),\n faceLandmark68Net: new FaceLandmark68Net(),\n faceLandmark68TinyNet: new FaceLandmark68TinyNet(),\n faceRecognitionNet: new FaceRecognitionNet(),\n faceExpressionNet: new FaceExpressionNet(),\n ageGenderNet: new AgeGenderNet(),\n};\n\n/**\n * Attempts to detect all faces in an image using SSD Mobilenetv1 Network.\n *\n * @param input The input image.\n * @param options (optional, default: see SsdMobilenetv1Options constructor for default parameters).\n * @returns Bounding box of each face with score.\n */\nexport const ssdMobilenetv1 = (input: TNetInput, options: SsdMobilenetv1Options): Promise => nets.ssdMobilenetv1.locateFaces(input, options);\n\n/**\n * Attempts to detect all faces in an image using the Tiny Face Detector.\n *\n * @param input The input image.\n * @param options (optional, default: see TinyFaceDetectorOptions constructor for default parameters).\n * @returns Bounding box of each face with score.\n */\nexport const tinyFaceDetector = (input: TNetInput, options: TinyFaceDetectorOptions): Promise => nets.tinyFaceDetector.locateFaces(input, options);\n\n/**\n * Attempts to detect all faces in an image using the Tiny Yolov2 Network.\n *\n * @param input The input image.\n * @param options (optional, default: see TinyYolov2Options constructor for default parameters).\n * @returns Bounding box of each face with score.\n */\nexport const tinyYolov2 = (input: TNetInput, options: ITinyYolov2Options): Promise => nets.tinyYolov2.locateFaces(input, options);\n\n/**\n * Detects the 68 point face landmark positions of the face shown in an image.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns 68 point face landmarks or array thereof in case of batch input.\n */\nexport const detectFaceLandmarks = (input: TNetInput): Promise => nets.faceLandmark68Net.detectLandmarks(input);\n\n/**\n * Detects the 68 point face landmark positions of the face shown in an image\n * using a tinier version of the 68 point face landmark model, which is slightly\n * faster at inference, but also slightly less accurate.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns 68 point face landmarks or array thereof in case of batch input.\n */\nexport const detectFaceLandmarksTiny = (input: TNetInput): Promise => nets.faceLandmark68TinyNet.detectLandmarks(input);\n\n/**\n * Computes a 128 entry vector (face descriptor / face embeddings) from the face shown in an image,\n * which uniquely represents the features of that persons face. The computed face descriptor can\n * be used to measure the similarity between faces, by computing the euclidean distance of two\n * face descriptors.\n *\n * @param inputs The face image extracted from the aligned bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns Face descriptor with 128 entries or array thereof in case of batch input.\n */\nexport const computeFaceDescriptor = (input: TNetInput): Promise => nets.faceRecognitionNet.computeFaceDescriptor(input);\n\n/**\n * Recognizes the facial expressions from a face image.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns Facial expressions with corresponding probabilities or array thereof in case of batch input.\n */\nexport const recognizeFaceExpressions = (input: TNetInput): Promise => nets.faceExpressionNet.predictExpressions(input);\n\n/**\n * Predicts age and gender from a face image.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns Predictions with age, gender and gender probability or array thereof in case of batch input.\n */\nexport const predictAgeAndGender = (input: TNetInput): Promise => nets.ageGenderNet.predictAgeAndGender(input);\n\nexport const loadSsdMobilenetv1Model = (url: string) => nets.ssdMobilenetv1.load(url);\nexport const loadTinyFaceDetectorModel = (url: string) => nets.tinyFaceDetector.load(url);\nexport const loadTinyYolov2Model = (url: string) => nets.tinyYolov2.load(url);\nexport const loadFaceLandmarkModel = (url: string) => nets.faceLandmark68Net.load(url);\nexport const loadFaceLandmarkTinyModel = (url: string) => nets.faceLandmark68TinyNet.load(url);\nexport const loadFaceRecognitionModel = (url: string) => nets.faceRecognitionNet.load(url);\nexport const loadFaceExpressionModel = (url: string) => nets.faceExpressionNet.load(url);\nexport const loadAgeGenderModel = (url: string) => nets.ageGenderNet.load(url);\n\n// backward compatibility\nexport const loadFaceDetectionModel = loadSsdMobilenetv1Model;\nexport const locateFaces = ssdMobilenetv1;\nexport const detectLandmarks = detectFaceLandmarks;\n", "/* eslint-disable max-classes-per-file */\nimport * as tf from '../../dist/tfjs.esm';\n\nimport { TNetInput } from '../dom/index';\nimport { FaceExpressions } from '../faceExpressionNet/FaceExpressions';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { extendWithFaceExpressions, WithFaceExpressions } from '../factories/WithFaceExpressions';\nimport { WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { ComposableTask } from './ComposableTask';\nimport { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks';\nimport { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderTask, PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderTask, PredictSingleAgeAndGenderWithFaceAlignmentTask } from './PredictAgeAndGenderTask';\n\nexport class PredictFaceExpressionsTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n protected extractedFaces?: Array,\n ) {\n super();\n }\n}\n\nexport class PredictAllFaceExpressionsTask> extends PredictFaceExpressionsTaskBase[], TSource[]> {\n public override async run(): Promise[]> {\n const parentResults = await this.parentTask;\n\n const faceExpressionsByFace = await extractAllFacesAndComputeResults(\n parentResults,\n this.input,\n async (faces) => Promise.all(\n faces.map((face) => nets.faceExpressionNet.predictExpressions(face) as Promise),\n ),\n this.extractedFaces,\n );\n\n return parentResults.map(\n (parentResult, i) => extendWithFaceExpressions(parentResult, faceExpressionsByFace[i]),\n );\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderTask(this, this.input);\n }\n}\n\nexport class PredictSingleFaceExpressionsTask> extends PredictFaceExpressionsTaskBase | undefined, TSource | undefined> {\n public override async run(): Promise | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) {\n return undefined;\n }\n\n const faceExpressions = await extractSingleFaceAndComputeResult(\n parentResult,\n this.input,\n (face) => nets.faceExpressionNet.predictExpressions(face) as Promise,\n this.extractedFaces,\n );\n\n return extendWithFaceExpressions(parentResult, faceExpressions);\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderTask(this, this.input);\n }\n}\n\nexport class PredictAllFaceExpressionsWithFaceAlignmentTask>> extends PredictAllFaceExpressionsTask {\n override withAgeAndGender() {\n return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptors() {\n return new ComputeAllFaceDescriptorsTask(this, this.input);\n }\n}\n\nexport class PredictSingleFaceExpressionsWithFaceAlignmentTask>> extends PredictSingleFaceExpressionsTask {\n override withAgeAndGender() {\n return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptor() {\n return new ComputeSingleFaceDescriptorTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport * as tf from '../../dist/tfjs.esm';\n\nimport { AgeAndGenderPrediction } from '../ageGenderNet/types';\nimport { TNetInput } from '../dom/index';\nimport { extendWithAge, WithAge } from '../factories/WithAge';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { extendWithGender, WithGender } from '../factories/WithGender';\nimport { ComposableTask } from './ComposableTask';\nimport { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks';\nimport { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults';\nimport { nets } from './nets';\nimport { PredictAllFaceExpressionsTask, PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsTask, PredictSingleFaceExpressionsWithFaceAlignmentTask } from './PredictFaceExpressionsTask';\n\nexport class PredictAgeAndGenderTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n protected extractedFaces?: Array,\n ) {\n super();\n }\n}\n\nexport class PredictAllAgeAndGenderTask> extends PredictAgeAndGenderTaskBase>[], TSource[]> {\n public override async run(): Promise>[]> {\n const parentResults = await this.parentTask;\n const ageAndGenderByFace = await extractAllFacesAndComputeResults(\n parentResults,\n this.input,\n async (faces) => Promise.all(faces.map((face) => nets.ageGenderNet.predictAgeAndGender(face) as Promise)),\n this.extractedFaces,\n );\n return parentResults.map((parentResult, i) => {\n const { age, gender, genderProbability } = ageAndGenderByFace[i];\n return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age);\n });\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsTask(this, this.input);\n }\n}\n\nexport class PredictSingleAgeAndGenderTask> extends PredictAgeAndGenderTaskBase> | undefined, TSource | undefined> {\n public override async run(): Promise> | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) return undefined;\n const { age, gender, genderProbability } = await extractSingleFaceAndComputeResult(\n parentResult,\n this.input,\n (face) => nets.ageGenderNet.predictAgeAndGender(face) as Promise,\n this.extractedFaces,\n );\n return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age);\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsTask(this, this.input);\n }\n}\n\nexport class PredictAllAgeAndGenderWithFaceAlignmentTask>> extends PredictAllAgeAndGenderTask {\n override withFaceExpressions() {\n return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptors() {\n return new ComputeAllFaceDescriptorsTask(this, this.input);\n }\n}\n\nexport class PredictSingleAgeAndGenderWithFaceAlignmentTask>> extends PredictSingleAgeAndGenderTask {\n override withFaceExpressions() {\n return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptor() {\n return new ComputeSingleFaceDescriptorTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport { TNetInput } from '../dom/index';\nimport { extendWithFaceDescriptor, WithFaceDescriptor } from '../factories/WithFaceDescriptor';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { ComposableTask } from './ComposableTask';\nimport { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderWithFaceAlignmentTask } from './PredictAgeAndGenderTask';\nimport { PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsWithFaceAlignmentTask } from './PredictFaceExpressionsTask';\n\nexport class ComputeFaceDescriptorsTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n ) {\n super();\n }\n}\n\nexport class ComputeAllFaceDescriptorsTask>> extends ComputeFaceDescriptorsTaskBase[], TSource[]> {\n public override async run(): Promise[]> {\n const parentResults = await this.parentTask;\n const descriptors = await extractAllFacesAndComputeResults(\n parentResults,\n this.input,\n (faces) => Promise.all(faces.map((face) => nets.faceRecognitionNet.computeFaceDescriptor(face) as Promise)),\n null,\n (parentResult) => parentResult.landmarks.align(null, { useDlibAlignment: true }),\n );\n return descriptors.map((descriptor, i) => extendWithFaceDescriptor(parentResults[i], descriptor));\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n}\n\nexport class ComputeSingleFaceDescriptorTask>> extends ComputeFaceDescriptorsTaskBase | undefined, TSource | undefined> {\n public override async run(): Promise | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) return undefined;\n const descriptor = await extractSingleFaceAndComputeResult(\n parentResult,\n this.input,\n (face) => nets.faceRecognitionNet.computeFaceDescriptor(face) as Promise,\n null,\n // eslint-disable-next-line no-shadow, @typescript-eslint/no-shadow\n (parentResult) => parentResult.landmarks.align(null, { useDlibAlignment: true }),\n );\n return extendWithFaceDescriptor(parentResult, descriptor);\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport * as tf from '../../dist/tfjs.esm';\n\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { extractFaces, extractFaceTensors, TNetInput } from '../dom/index';\nimport { FaceLandmark68Net } from '../faceLandmarkNet/FaceLandmark68Net';\nimport { FaceLandmark68TinyNet } from '../faceLandmarkNet/FaceLandmark68TinyNet';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { extendWithFaceLandmarks, WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { ComposableTask } from './ComposableTask';\nimport { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderWithFaceAlignmentTask } from './PredictAgeAndGenderTask';\nimport { PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsWithFaceAlignmentTask } from './PredictFaceExpressionsTask';\n\nexport class DetectFaceLandmarksTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n protected useTinyLandmarkNet: boolean,\n ) {\n super();\n }\n\n protected get landmarkNet(): FaceLandmark68Net | FaceLandmark68TinyNet {\n return this.useTinyLandmarkNet\n ? nets.faceLandmark68TinyNet\n : nets.faceLandmark68Net;\n }\n}\n\nexport class DetectAllFaceLandmarksTask> extends DetectFaceLandmarksTaskBase[], TSource[]> {\n public override async run(): Promise[]> {\n const parentResults = await this.parentTask;\n const detections = parentResults.map((res) => res.detection);\n const faces: Array = this.input instanceof tf.Tensor\n ? await extractFaceTensors(this.input, detections)\n : await extractFaces(this.input, detections);\n const faceLandmarksByFace = await Promise.all(faces.map((face) => this.landmarkNet.detectLandmarks(face))) as FaceLandmarks68[];\n faces.forEach((f) => f instanceof tf.Tensor && f.dispose());\n const result = parentResults\n .filter((_parentResult, i) => faceLandmarksByFace[i])\n .map((parentResult, i) => extendWithFaceLandmarks(parentResult, faceLandmarksByFace[i]));\n return result;\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptors() {\n return new ComputeAllFaceDescriptorsTask(this, this.input);\n }\n}\n\nexport class DetectSingleFaceLandmarksTask> extends DetectFaceLandmarksTaskBase | undefined, TSource | undefined> {\n public override async run(): Promise | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) {\n return undefined;\n }\n const { detection } = parentResult;\n const faces: Array = this.input instanceof tf.Tensor\n ? await extractFaceTensors(this.input, [detection])\n : await extractFaces(this.input, [detection]);\n const landmarks = await this.landmarkNet.detectLandmarks(faces[0]) as FaceLandmarks68;\n faces.forEach((f) => f instanceof tf.Tensor && f.dispose());\n return extendWithFaceLandmarks(parentResult, landmarks);\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptor() {\n return new ComputeSingleFaceDescriptorTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { TNetInput } from '../dom/index';\nimport { extendWithFaceDetection, WithFaceDetection } from '../factories/WithFaceDetection';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/SsdMobilenetv1Options';\nimport { TinyFaceDetectorOptions } from '../tinyFaceDetector/TinyFaceDetectorOptions';\nimport { TinyYolov2Options } from '../tinyYolov2/index';\nimport { ComposableTask } from './ComposableTask';\nimport { DetectAllFaceLandmarksTask, DetectSingleFaceLandmarksTask } from './DetectFaceLandmarksTasks';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderTask, PredictSingleAgeAndGenderTask } from './PredictAgeAndGenderTask';\nimport { PredictAllFaceExpressionsTask, PredictSingleFaceExpressionsTask } from './PredictFaceExpressionsTask';\nimport { FaceDetectionOptions } from './types';\n\nexport class DetectFacesTaskBase extends ComposableTask {\n // eslint-disable-next-line no-unused-vars\n constructor(protected input: TNetInput, protected options: FaceDetectionOptions = new SsdMobilenetv1Options()) {\n super();\n }\n}\n\nexport class DetectAllFacesTask extends DetectFacesTaskBase {\n public override async run(): Promise {\n const { input, options } = this;\n let result;\n if (options instanceof TinyFaceDetectorOptions) result = nets.tinyFaceDetector.locateFaces(input, options);\n else if (options instanceof SsdMobilenetv1Options) result = nets.ssdMobilenetv1.locateFaces(input, options);\n else if (options instanceof TinyYolov2Options) result = nets.tinyYolov2.locateFaces(input, options);\n else throw new Error('detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options');\n return result;\n }\n\n private runAndExtendWithFaceDetections(): Promise[]> {\n return new Promise[]>((resolve, reject) => {\n this.run()\n .then((detections) => resolve(detections.map((detection) => extendWithFaceDetection({}, detection))))\n .catch((err) => reject(err));\n });\n }\n\n withFaceLandmarks(useTinyLandmarkNet = false) {\n return new DetectAllFaceLandmarksTask(\n this.runAndExtendWithFaceDetections(),\n this.input,\n useTinyLandmarkNet,\n );\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsTask(\n this.runAndExtendWithFaceDetections(),\n this.input,\n );\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderTask(\n this.runAndExtendWithFaceDetections(),\n this.input,\n );\n }\n}\n\nexport class DetectSingleFaceTask extends DetectFacesTaskBase {\n public override async run(): Promise {\n const faceDetections = await new DetectAllFacesTask(this.input, this.options);\n let faceDetectionWithHighestScore = faceDetections[0];\n faceDetections.forEach((faceDetection) => {\n if (faceDetection.score > faceDetectionWithHighestScore.score) faceDetectionWithHighestScore = faceDetection;\n });\n return faceDetectionWithHighestScore;\n }\n\n private runAndExtendWithFaceDetection(): Promise | undefined> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise | undefined>(async (resolve) => {\n const detection = await this.run();\n resolve(detection ? extendWithFaceDetection<{}>({}, detection) : undefined);\n });\n }\n\n withFaceLandmarks(useTinyLandmarkNet = false) {\n return new DetectSingleFaceLandmarksTask(\n this.runAndExtendWithFaceDetection(),\n this.input,\n useTinyLandmarkNet,\n );\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsTask(\n this.runAndExtendWithFaceDetection(),\n this.input,\n );\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderTask(\n this.runAndExtendWithFaceDetection(),\n this.input,\n );\n }\n}\n", "import { TNetInput } from '../dom/index';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/SsdMobilenetv1Options';\nimport { DetectAllFacesTask, DetectSingleFaceTask } from './DetectFacesTasks';\nimport { FaceDetectionOptions } from './types';\n\nexport function detectSingleFace(input: TNetInput, options: FaceDetectionOptions = new SsdMobilenetv1Options()): DetectSingleFaceTask {\n return new DetectSingleFaceTask(input, options);\n}\n\nexport function detectAllFaces(input: TNetInput, options: FaceDetectionOptions = new SsdMobilenetv1Options()): DetectAllFacesTask {\n return new DetectAllFacesTask(input, options);\n}\n", "import { TNetInput } from '../dom/index';\nimport { WithFaceDescriptor, WithFaceDetection, WithFaceLandmarks } from '../factories/index';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/index';\nimport { ITinyYolov2Options, TinyYolov2Options } from '../tinyYolov2/index';\nimport { detectAllFaces } from './detectFaces';\n\nexport async function allFacesSsdMobilenetv1(input: TNetInput, minConfidence?: number): Promise>>[]> {\n return detectAllFaces(input, new SsdMobilenetv1Options(minConfidence ? { minConfidence } : {}))\n .withFaceLandmarks()\n .withFaceDescriptors();\n}\n\nexport async function allFacesTinyYolov2(input: TNetInput, forwardParams: ITinyYolov2Options = {}): Promise>>[]> {\n return detectAllFaces(input, new TinyYolov2Options(forwardParams))\n .withFaceLandmarks()\n .withFaceDescriptors();\n}\n\nexport const allFaces = allFacesSsdMobilenetv1;\n", "export function euclideanDistance(arr1: number[] | Float32Array, arr2: number[] | Float32Array) {\n if (arr1.length !== arr2.length) throw new Error('euclideanDistance: arr1.length !== arr2.length');\n const desc1 = Array.from(arr1);\n const desc2 = Array.from(arr2);\n return Math.sqrt(\n desc1\n .map((val, i) => val - desc2[i])\n .reduce((res, diff) => res + (diff * diff), 0),\n );\n}\n", "import { FaceMatch } from '../classes/FaceMatch';\nimport { LabeledFaceDescriptors } from '../classes/LabeledFaceDescriptors';\nimport { euclideanDistance } from '../euclideanDistance';\nimport { WithFaceDescriptor } from '../factories/index';\n\nexport class FaceMatcher {\n private _labeledDescriptors: LabeledFaceDescriptors[];\n private _distanceThreshold: number;\n\n constructor(inputs: LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>, distanceThreshold = 0.6) {\n this._distanceThreshold = distanceThreshold;\n const inputArray = Array.isArray(inputs) ? inputs : [inputs];\n if (!inputArray.length) throw new Error('FaceRecognizer.constructor - expected atleast one input');\n let count = 1;\n const createUniqueLabel = () => `person ${count++}`;\n this._labeledDescriptors = inputArray.map((desc) => {\n if (desc instanceof LabeledFaceDescriptors) return desc;\n if (desc instanceof Float32Array) return new LabeledFaceDescriptors(createUniqueLabel(), [desc]);\n if (desc.descriptor && desc.descriptor instanceof Float32Array) return new LabeledFaceDescriptors(createUniqueLabel(), [desc.descriptor]);\n throw new Error('FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>');\n });\n }\n\n public get labeledDescriptors(): LabeledFaceDescriptors[] { return this._labeledDescriptors; }\n\n public get distanceThreshold(): number { return this._distanceThreshold; }\n\n public computeMeanDistance(queryDescriptor: Float32Array, descriptors: Float32Array[]): number {\n return descriptors\n .map((d) => euclideanDistance(d, queryDescriptor))\n .reduce((d1, d2) => d1 + d2, 0) / (descriptors.length || 1);\n }\n\n public matchDescriptor(queryDescriptor: Float32Array): FaceMatch {\n return this.labeledDescriptors\n .map(({ descriptors, label }) => new FaceMatch(label, this.computeMeanDistance(queryDescriptor, descriptors)))\n .reduce((best, curr) => (best.distance < curr.distance ? best : curr));\n }\n\n public findBestMatch(queryDescriptor: Float32Array): FaceMatch {\n const bestMatch = this.matchDescriptor(queryDescriptor);\n return (bestMatch.distance < this._distanceThreshold) ? bestMatch : new FaceMatch('unknown', bestMatch.distance);\n }\n\n public toJSON(): any {\n return {\n distanceThreshold: this._distanceThreshold,\n labeledDescriptors: this._labeledDescriptors.map((ld) => ld.toJSON()),\n };\n }\n\n public static fromJSON(json: any): FaceMatcher {\n const labeledDescriptors = json.labeledDescriptors.map((ld: any) => LabeledFaceDescriptors.fromJSON(ld));\n return new FaceMatcher(labeledDescriptors, json.distanceThreshold);\n }\n}\n", "import { TinyFaceDetector } from './TinyFaceDetector';\n\nexport * from './TinyFaceDetector';\nexport * from './TinyFaceDetectorOptions';\n\nexport function createTinyFaceDetector(weights: Float32Array) {\n const net = new TinyFaceDetector();\n net.extractWeights(weights);\n return net;\n}\n", "import { Dimensions, IDimensions } from './classes/index';\nimport { FaceDetection } from './classes/FaceDetection';\nimport { FaceLandmarks } from './classes/FaceLandmarks';\nimport { extendWithFaceDetection, isWithFaceDetection } from './factories/WithFaceDetection';\nimport { extendWithFaceLandmarks, isWithFaceLandmarks } from './factories/WithFaceLandmarks';\n\nexport function resizeResults(results: T, dimensions: IDimensions): T {\n const { width, height } = new Dimensions(dimensions.width, dimensions.height);\n\n if (width <= 0 || height <= 0) {\n throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({ width, height })}`);\n }\n\n if (Array.isArray(results)) {\n // return results.map(obj => resizeResults(obj, { width, height })) as any as T\n return (results as Array).map((obj) => resizeResults(obj, { width, height } as IDimensions)) as any as T;\n }\n\n if (isWithFaceLandmarks(results)) {\n const resizedDetection = results.detection.forSize(width, height);\n const resizedLandmarks = results.unshiftedLandmarks.forSize(resizedDetection.box.width, resizedDetection.box.height);\n return extendWithFaceLandmarks(extendWithFaceDetection(results, resizedDetection), resizedLandmarks);\n }\n\n if (isWithFaceDetection(results)) {\n return extendWithFaceDetection(results, results.detection.forSize(width, height));\n }\n\n if (results instanceof FaceLandmarks || results instanceof FaceDetection) {\n return (results as any).forSize(width, height);\n }\n\n return results;\n}\n", "import * as tf from '../dist/tfjs.esm';\nimport * as draw from './draw/index';\nimport * as utils from './utils/index';\nimport * as pkg from '../package.json';\n\nexport { tf, draw, utils };\n\nexport * from './ageGenderNet/index';\nexport * from './classes/index';\nexport * from './dom/index';\nexport * from './env/index';\nexport * from './faceExpressionNet/index';\nexport * from './faceLandmarkNet/index';\nexport * from './faceRecognitionNet/index';\nexport * from './factories/index';\nexport * from './globalApi/index';\nexport * from './ops/index';\nexport * from './ssdMobilenetv1/index';\nexport * from './tinyFaceDetector/index';\nexport * from './tinyYolov2/index';\nexport * from './euclideanDistance';\nexport * from './NeuralNetwork';\nexport * from './resizeResults';\n\nexport const version = pkg.version as string;\n\n// set webgl defaults\n// if (browser) tf.ENV.set('WEBGL_USE_SHAPES_UNIFORMS', true);\n"], - "mappings": ";;;;;;2XAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,SAAAE,GAAA,SAAAC,GAAA,UAAAC,GAAA,sBAAAC,GAAA,qBAAAC,GAAA,kBAAAC,GAAA,oBAAAC,GAAA,QAAAC,GAAA,SAAAC,GAAA,QAAAC,GAAA,QAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,UAAAC,GAAA,YAAAC,GAAA,cAAAC,GAAA,kBAAAC,GAAA,gBAAAC,GAAA,gBAAAC,GAAA,gBAAAC,GAAA,mBAAAC,GAAA,aAAAC,GAAA,eAAAC,GAAA,kBAAAC,GAAA,gBAAAC,GAAA,aAAAC,GAAA,iBAAAC,GAAA,SAAAC,GAAA,SAAAC,GAAA,gBAAAC,GAAA,YAAAC,GAAA,eAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,yBAAAC,GAAA,wBAAAC,GAAA,WAAAC,GAAA,2BAAAC,GAAA,0BAAAC,GAAA,QAAAC,GAAA,SAAAC,GAAA,kBAAAC,GAAA,YAAAC,GAAA,WAAAC,GAAA,mBAAAC,GAAA,gBAAAC,GAAA,kBAAAC,GAAA,iBAAAC,GAAA,0BAAAC,GAAA,wCAAAC,GAAA,uCAAAC,GAAA,SAAAC,GAAA,eAAAC,GAAA,6BAAAC,GAAA,4BAAAC,GAAA,SAAAC,GAAA,QAAAC,GAAA,kBAAAC,GAAA,WAAAC,GAAA,QAAAC,GAAA,YAAAC,GAAA,gBAAAC,GAAA,UAAAC,GAAA,QAAAC,GAAA,QAAAC,GAAA,eAAAC,GAAA,UAAAC,GAAA,QAAAC,GAAA,SAAAC,GAAA,kBAAAC,GAAA,UAAAC,GAAA,aAAAC,GAAA,eAAAC,GAAA,mBAAAC,GAAA,gBAAAC,GAAA,yBAAAC,GAAA,iBAAAC,GAAA,aAAAC,GAAA,aAAAC,GAAA,eAAAC,GAAA,YAAAC,GAAA,iBAAAC,GAAA,YAAAC,GAAA,SAAAC,GAAA,aAAAC,GAAA,SAAAC,GAAA,cAAAC,GAAA,aAAAC,GAAA,UAAAC,GAAA,UAAAC,GAAA,kBAAAC,GAAA,QAAAC,GAAA,YAAAC,GAAA,kBAAAC,GAAA,gBAAAC,GAAA,cAAAC,GAAA,SAAAC,GAAA,cAAAC,GAAA,aAAAC,GAAA,QAAAC,GAAA,UAAAC,GAAA,eAAAC,GAAA,eAAAC,GAAA,eAAAC,GAAA,cAAAC,GAAA,eAAAC,GAAA,eAAAC,GAAA,mBAAAC,GAAA,qBAAAC,GAAA,mBAAAC,GAAA,QAAAC,GAAA,YAAAC,GAAA,cAAAC,GAAA,kBAAAC,GAAA,gBAAAC,GAAA,sBAAAC,GAAA,YAAAC,GAAA,SAAAC,GAAA,QAAAC,GAAA,YAAAC,GAAA,cAAAC,GAAA,QAAAC,GAAA,sBAAAC,GAAA,gBAAAC,GAAA,aAAAC,GAAA,QAAAC,GAAA,wBAAAC,GAAA,wBAAAC,GAAA,wBAAAC,GAAA,aAAAC,GAAA,oBAAAC,GAAA,WAAAC,GAAA,aAAAC,GAAA,cAAAC,GAAA,0BAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,QAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,qBAAAC,GAAA,QAAAC,GAAA,iBAAAC,GAAA,gBAAAC,GAAA,yBAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,SAAAC,GAAA,YAAAC,GAAA,eAAAC,GAAA,cAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,YAAAC,GAAA,mBAAAC,GAAA,uBAAAC,GAAA,0BAAAC,GAAA,8BAAAC,GAAA,YAAAC,GAAA,qBAAAC,GAAA,UAAAC,GAAA,UAAAC,GAAA,iBAAAC,GAAA,cAAAC,GAAA,iBAAAC,GAAA,WAAAC,GAAA,SAAAC,GAAA,eAAAC,GAAA,YAAAC,GAAA,SAAAC,GAAA,QAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,YAAAC,GAAA,aAAAC,GAAA,mBAAAC,GAAA,wBAAAC,GAAA,kBAAAC,GAAA,sBAAAC,GAAA,qBAAAC,GAAA,kBAAAC,GAAA,WAAAC,GAAA,SAAAC,GAAA,WAAAC,GAAA,sBAAAC,GAAA,uBAAAC,GAAA,SAAAC,GAAA,iBAAAC,GAAA,iBAAAC,GAAA,gBAAAC,GAAA,2BAAAC,GAAA,QAAAC,GAAA,QAAAC,GAAA,mBAAAC,GAAA,QAAAC,GAAA,SAAAC,GAAA,WAAAC,GAAA,iBAAAC,GAAA,wBAAAC,GAAA,SAAAC,GAAA,SAAAC,GAAA,cAAAC,GAAA,cAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,uBAAAC,GAAA,eAAAC,GAAA,aAAAC,GAAA,cAAAC,GAAA,iBAAAC,GAAA,QAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,mBAAAC,GAAA,QAAAC,GAAA,QAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,UAAAC,GAAA,YAAAC,GAAA,cAAAC,GAAA,YAAAC,GAAA,iBAAAC,EAAA,kBAAAC,GAAA,cAAAC,GAAA,gBAAAC,GAAA,gBAAAC,GAAA,gBAAAC,GAAA,mBAAAC,GAAA,aAAAC,GAAA,eAAAC,GAAA,qBAAAC,GAAA,kBAAAC,GAAA,gBAAAC,GAAA,mBAAAC,GAAA,YAAAC,GAAA,WAAAC,GAAA,cAAAC,GAAA,SAAAC,GAAA,SAAAC,GAAA,gBAAAC,GAAA,UAAAC,GAAA,YAAAC,GAAA,WAAAC,GAAA,aAAAC,GAAA,aAAAC,GAAA,aAAAC,GAAA,aAAAC,GAAA,gBAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,oBAAAC,GAAA,WAAAC,GAAA,oBAAAC,GAAA,0BAAAC,GAAA,QAAAC,GAAA,SAAAC,GAAA,iBAAAC,GAAA,YAAAC,GAAA,WAAAC,GAAA,eAAAC,GAAA,SAAAC,GAAA,kBAAAC,GAAA,oBAAAC,GAAA,iBAAAC,GAAA,oBAAAC,GAAA,iBAAAC,GAAA,gBAAAC,GAAA,SAAAC,GAAA,eAAAC,GAAA,+BAAAC,GAAA,YAAAC,GAAA,qBAAAC,GAAA,QAAAC,GAAA,aAAAC,GAAA,QAAAC,GAAA,YAAAC,GAAA,WAAAC,GAAA,QAAAC,GAAA,oBAAAC,GAAA,mBAAAC,GAAA,wBAAAC,GAAA,WAAAC,GAAA,gBAAAC,GAAA,QAAAC,EAAA,UAAAC,GAAA,QAAAC,GAAA,kBAAAC,GAAA,QAAAC,GAAA,eAAAC,GAAA,UAAAC,GAAA,QAAAC,GAAA,QAAAC,GAAA,SAAAC,GAAA,gBAAAC,GAAA,uBAAAC,GAAA,UAAAC,GAAA,aAAAC,GAAA,mBAAAC,GAAA,UAAAC,GAAA,WAAAC,GAAA,aAAAC,GAAA,gBAAAC,GAAA,eAAAC,GAAA,gBAAAC,GAAA,cAAAC,GAAA,yBAAAC,GAAA,oBAAAC,IAAA,eAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,YAAAC,GAAA,iBAAAC,GAAA,SAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,gBAAAC,GAAA,iBAAAC,GAAA,UAAAC,GAAA,OAAAC,GAAA,UAAAC,GAAA,aAAAC,GAAA,UAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,iBAAAC,GAAA,WAAAC,GAAA,cAAAC,GAAA,SAAAC,GAAA,cAAAC,GAAA,WAAAC,GAAA,aAAAC,GAAA,mBAAAC,GAAA,uBAAAC,GAAA,oBAAAC,GAAA,+BAAAC,GAAA,QAAAC,GAAA,UAAAC,GAAA,eAAAC,GAAA,eAAAC,GAAA,cAAAC,GAAA,eAAAC,GAAA,eAAAC,GAAA,cAAAC,GAAA,eAAAC,GAAA,WAAAC,GAAA,eAAAC,GAAA,WAAAC,GAAA,SAAAC,GAAA,QAAAC,GAAA,YAAAC,GAAA,cAAAC,GAAA,sBAAAC,GAAA,YAAAC,GAAA,SAAAC,GAAA,WAAAC,GAAA,aAAAC,GAAA,YAAAC,GAAA,QAAAC,GAAA,YAAAC,GAAA,cAAAC,GAAA,QAAAC,GAAA,UAAAC,GAAA,WAAAC,GAAA,YAAAC,GAAA,kBAAAC,GAAA,QAAAC,EAAA,iBAAAC,GAAA,gBAAAC,GAAA,QAAAC,GAAA,cAAAC,GAAA,SAAAC,GAAA,aAAAC,GAAA,WAAAC,GAAA,SAAAC,GAAA,aAAAC,GAAA,OAAAC,EAAA,iBAAAC,GAAA,QAAAC,GAAA,UAAAC,GAAA,UAAAC,GAAA,UAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,QAAAC,GAAA,UAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,YAAAC,GAAA,iBAAAC,GAAA,gBAAAC,GAAA,yBAAAC,GAAA,SAAAC,GAAA,gBAAAC,GAAA,iBAAAC,GAAA,yBAAAC,GAAA,kBAAAC,GAAA,qBAAAC,GAAA,UAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,eAAAC,GAAA,oBAAAC,GAAA,gCAAAC,GAAA,qBAAAC,GAAA,mBAAAC,GAAA,eAAAC,GAAA,iBAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,kBAAAC,GAAA,YAAAC,EAAA,YAAAC,GAAA,cAAAC,GAAA,cAAAC,GAAA,cAAAC,GAAA,cAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,UAAAC,GAAA,WAAAC,GAAA,cAAAC,GAAA,iBAAAC,GAAA,iBAAAC,GAAA,SAAAC,GAAA,oBAAAC,GAAA,eAAAC,GAAA,kBAAAC,GAAA,eAAAC,GAAA,gBAAAC,GAAA,oBAAAC,IAAA,gBAAAC,IAAA,iBAAAC,IAAA,oBAAAC,GAAA,mBAAAC,GAAA,WAAAC,GAAA,YAAAC,GAAA,SAAAC,GAAA,WAAAC,GAAA,QAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,YAAAC,GAAA,YAAAC,GAAA,YAAAC,GAAA,YAAAC,GAAA,eAAAC,GAAA,YAAAC,GAAA,aAAAC,GAAA,mBAAAC,GAAA,WAAAC,GAAA,kBAAAC,GAAA,aAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,WAAAC,GAAA,sBAAAC,GAAA,YAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,iBAAAC,GAAA,WAAAC,GAAA,QAAAC,GAAA,QAAAC,GAAA,eAAAC,GAAA,QAAAC,GAAA,SAAAC,GAAA,WAAAC,GAAA,aAAAC,GAAA,aAAAC,GAAA,aAAAC,GAAA,aAAAC,GAAA,aAAAC,GAAA,aAAAC,GAAA,wBAAAC,GAAA,gBAAAC,GAAA,cAAAC,GAAA,SAAAC,EAAA,SAAAC,GAAA,SAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,cAAAC,GAAA,oBAAAC,GAAA,WAAAC,GAAA,uBAAAC,GAAA,qBAAAC,GAAA,uBAAAC,GAAA,YAAAC,GAAA,eAAAC,GAAA,eAAAC,GAAA,SAAAC,EAAA,iBAAAC,GAAA,kBAAAC,GAAA,aAAAC,GAAA,kBAAAC,GAAA,YAAAC,IAAA,sBAAAC,GAAA,iBAAAC,GAAA,gBAAAC,GAAA,mBAAAC,GAAA,iBAAAC,IAAA,kBAAAC,IAAA,UAAAC,IAAA,eAAAC,GAAA,UAAAC,GAAA,eAAAC,GAAA,UAAAC,GAAA,cAAAC,KAMA,IAAIC,GAAG,OAAO,OAAWC,GAAG,OAAO,eAAmBC,GAAG,OAAO,yBAA6BC,GAAG,OAAO,oBAAwBC,GAAG,OAAO,eAAeC,GAAG,OAAO,UAAU,eAAmBC,GAAG,CAACC,EAAE,IAAI,KAAK,GAAGA,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,SAASC,GAAG,CAACD,EAAE,IAAI,CAAC,QAAQE,KAAK,EAAER,GAAGM,EAAEE,EAAE,CAAC,IAAI,EAAEA,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAEC,GAAG,CAACH,EAAE,EAAEE,EAAEE,IAAI,CAAC,GAAG,GAAG,OAAO,GAAG,UAAU,OAAO,GAAG,WAAW,QAAQC,KAAKT,GAAG,CAAC,EAAE,CAACE,GAAG,KAAKE,EAAEK,CAAC,GAAGA,IAAIH,GAAGR,GAAGM,EAAEK,EAAE,CAAC,IAAI,IAAI,EAAEA,CAAC,EAAE,WAAW,EAAED,EAAET,GAAG,EAAEU,CAAC,IAAID,EAAE,UAAU,CAAC,EAAE,OAAOJ,CAAC,EAAMM,GAAG,CAACN,EAAE,EAAEE,KAAKA,EAAEF,GAAG,KAAKP,GAAGI,GAAGG,CAAC,CAAC,EAAE,CAAC,EAAEG,GAAG,GAAG,CAACH,GAAG,CAACA,EAAE,WAAWN,GAAGQ,EAAE,UAAU,CAAC,MAAMF,EAAE,WAAW,EAAE,CAAC,EAAEE,EAAEF,CAAC,GAAOO,GAAGR,GAAG,CAACS,EAAIC,IAAK,CAACA,EAAG,QAAQC,EAAG,IAAIC,EAAG,KAAK,GAAG,CAACA,EAAG,IAAI,YAAY,SAAS,IAAI,YAAY,OAAO,IAAI,WAAW,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,OAAOX,EAAE,CAAC,CAAC,SAASU,EAAGV,EAAEY,EAAEV,EAAE,CAAC,KAAK,IAAIF,EAAE,EAAE,KAAK,KAAKY,EAAE,EAAE,KAAK,SAAS,CAAC,CAACV,CAAC,CAACQ,EAAG,UAAU,WAAW,OAAO,eAAeA,EAAG,UAAU,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,SAASG,EAAGb,EAAE,CAAC,OAAOA,GAAGA,EAAE,cAAc,EAAE,CAACU,EAAG,OAAOG,EAAG,IAAIC,EAAG,CAAC,EAAEC,EAAG,CAAC,EAAE,SAASC,EAAGhB,EAAEY,EAAE,CAAC,IAAIV,EAAEE,EAAEC,EAAE,OAAOO,GAAGZ,KAAK,GAAGK,EAAE,GAAGL,GAAGA,EAAE,OAAOI,EAAEW,EAAGf,CAAC,EAAEI,GAAGA,GAAGF,EAAEe,EAAGjB,GAAGA,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAEK,IAAIU,EAAGf,CAAC,EAAEE,GAAGA,KAAKF,GAAG,GAAGK,EAAE,MAAML,GAAGA,EAAE,OAAOI,EAAEU,EAAGd,CAAC,EAAEI,GAAGA,GAAGF,EAAEe,EAAGjB,EAAEA,EAAE,EAAE,GAAG,EAAE,EAAE,EAAEK,IAAIS,EAAGd,CAAC,EAAEE,GAAGA,GAAG,CAACQ,EAAG,QAAQM,EAAG,SAASE,EAAGlB,EAAEY,EAAE,CAAC,GAAG,MAAMZ,CAAC,EAAE,OAAOY,EAAEO,EAAGC,EAAG,GAAGR,EAAE,CAAC,GAAGZ,EAAE,EAAE,OAAOmB,EAAG,GAAGnB,GAAGqB,EAAG,OAAOC,CAAE,KAAK,CAAC,GAAGtB,GAAG,CAACuB,EAAG,OAAOC,EAAG,GAAGxB,EAAE,GAAGuB,EAAG,OAAOE,CAAE,CAAC,OAAOzB,EAAE,EAAEkB,EAAG,CAAClB,EAAEY,CAAC,EAAE,IAAI,EAAEK,EAAGjB,EAAE0B,EAAG,EAAE1B,EAAE0B,EAAG,EAAEd,CAAC,CAAC,CAACF,EAAG,WAAWQ,EAAG,SAASD,EAAGjB,EAAEY,EAAEV,EAAE,CAAC,OAAO,IAAIQ,EAAGV,EAAEY,EAAEV,CAAC,CAAC,CAACQ,EAAG,SAASO,EAAG,IAAIU,EAAG,KAAK,IAAI,SAASC,EAAG5B,EAAEY,EAAEV,EAAE,CAAC,GAAGF,EAAE,SAAS,EAAE,MAAM,MAAM,cAAc,EAAE,GAAGA,IAAI,OAAOA,IAAI,YAAYA,IAAI,aAAaA,IAAI,YAAY,OAAOoB,EAAG,GAAG,OAAOR,GAAG,UAAUV,EAAEU,EAAEA,EAAE,IAAIA,EAAE,CAAC,CAACA,EAAEV,EAAEA,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,MAAM,WAAW,OAAO,EAAE,IAAIE,EAAE,IAAIA,EAAEJ,EAAE,QAAQ,GAAG,GAAG,EAAE,MAAM,MAAM,iBAAiB,EAAE,GAAGI,IAAI,EAAE,OAAOwB,EAAG5B,EAAE,UAAU,CAAC,EAAEY,EAAEV,CAAC,EAAE,IAAI,EAAE,QAAQG,EAAEa,EAAGS,EAAGzB,EAAE,CAAC,CAAC,EAAE2B,EAAET,EAAGU,EAAE,EAAEA,EAAE9B,EAAE,OAAO8B,GAAG,EAAE,CAAC,IAAIC,EAAE,KAAK,IAAI,EAAE/B,EAAE,OAAO8B,CAAC,EAAEE,EAAE,SAAShC,EAAE,UAAU8B,EAAEA,EAAEC,CAAC,EAAE7B,CAAC,EAAE,GAAG6B,EAAE,EAAE,CAAC,IAAIE,GAAEf,EAAGS,EAAGzB,EAAE6B,CAAC,CAAC,EAAEF,EAAEA,EAAE,IAAII,EAAC,EAAE,IAAIf,EAAGc,CAAC,CAAC,CAAC,MAAMH,EAAEA,EAAE,IAAIxB,CAAC,EAAEwB,EAAEA,EAAE,IAAIX,EAAGc,CAAC,CAAC,CAAC,CAAC,OAAOH,EAAE,SAASjB,EAAEiB,CAAC,CAACnB,EAAG,WAAWkB,EAAG,SAASM,EAAGlC,EAAEY,EAAE,CAAC,OAAO,OAAOZ,GAAG,SAASkB,EAAGlB,EAAEY,CAAC,EAAE,OAAOZ,GAAG,SAAS4B,EAAG5B,EAAEY,CAAC,EAAEK,EAAGjB,EAAE,IAAIA,EAAE,KAAK,OAAOY,GAAG,UAAUA,EAAEZ,EAAE,QAAQ,CAAC,CAACU,EAAG,UAAUwB,EAAG,IAAIC,EAAG,MAAMC,EAAG,GAAG,GAAGV,EAAGS,EAAGA,EAAGd,EAAGK,EAAGA,EAAGH,EAAGF,EAAG,EAAEgB,EAAGrB,EAAGoB,CAAE,EAAEhB,EAAGJ,EAAG,CAAC,EAAEN,EAAG,KAAKU,EAAG,IAAID,EAAGH,EAAG,EAAE,EAAE,EAAEN,EAAG,MAAMS,EAAG,IAAImB,EAAGtB,EAAG,CAAC,EAAEN,EAAG,IAAI4B,EAAG,IAAIC,EAAGvB,EAAG,EAAE,EAAE,EAAEN,EAAG,KAAK6B,EAAG,IAAIC,EAAGxB,EAAG,EAAE,EAAEN,EAAG,QAAQ8B,EAAG,IAAIf,EAAGR,EAAG,GAAG,WAAW,EAAE,EAAEP,EAAG,UAAUe,EAAG,IAAIH,EAAGL,EAAG,GAAG,GAAG,EAAE,EAAEP,EAAG,mBAAmBY,EAAG,IAAIE,EAAGP,EAAG,EAAE,YAAY,EAAE,EAAEP,EAAG,UAAUc,EAAG,IAAIiB,EAAG/B,EAAG,UAAU+B,EAAG,MAAM,UAAU,CAAC,OAAO,KAAK,SAAS,KAAK,MAAM,EAAE,KAAK,GAAG,EAAEA,EAAG,SAAS,UAAU,CAAC,OAAO,KAAK,UAAU,KAAK,OAAO,GAAGf,GAAI,KAAK,MAAM,GAAG,KAAK,KAAKA,GAAI,KAAK,MAAM,EAAE,EAAEe,EAAG,SAAS,SAAS7B,EAAE,CAAC,GAAGA,EAAEA,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,MAAM,WAAW,OAAO,EAAE,GAAG,KAAK,OAAO,EAAE,MAAM,IAAI,GAAG,KAAK,WAAW,EAAE,GAAG,KAAK,GAAGY,CAAE,EAAE,CAAC,IAAItB,EAAEgB,EAAGN,CAAC,EAAER,EAAE,KAAK,IAAIF,CAAC,EAAEG,EAAED,EAAE,IAAIF,CAAC,EAAE,IAAI,IAAI,EAAE,OAAOE,EAAE,SAASQ,CAAC,EAAEP,EAAE,MAAM,EAAE,SAASO,CAAC,CAAC,KAAM,OAAM,IAAI,KAAK,IAAI,EAAE,SAASA,CAAC,EAAE,QAAQiB,EAAEX,EAAGS,EAAGf,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAEkB,EAAE,KAAKC,EAAE,KAAK,CAAC,IAAIC,EAAEF,EAAE,IAAID,CAAC,EAAEI,EAAEH,EAAE,IAAIE,EAAE,IAAIH,CAAC,CAAC,EAAE,MAAM,IAAI,EAAEa,GAAET,EAAE,SAASrB,CAAC,EAAE,GAAGkB,EAAEE,EAAEF,EAAE,OAAO,EAAE,OAAOY,GAAEX,EAAE,KAAKW,GAAE,OAAO,GAAGA,GAAE,IAAIA,GAAEX,EAAE,GAAGW,GAAEX,CAAC,CAAC,EAAEU,EAAG,YAAY,UAAU,CAAC,OAAO,KAAK,IAAI,EAAEA,EAAG,oBAAoB,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC,EAAEA,EAAG,WAAW,UAAU,CAAC,OAAO,KAAK,GAAG,EAAEA,EAAG,mBAAmB,UAAU,CAAC,OAAO,KAAK,MAAM,CAAC,EAAEA,EAAG,cAAc,UAAU,CAAC,GAAG,KAAK,WAAW,EAAE,OAAO,KAAK,GAAGjB,CAAE,EAAE,GAAG,KAAK,IAAI,EAAE,cAAc,EAAE,QAAQZ,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,KAAK,IAAIV,EAAE,GAAGA,EAAE,GAAG,EAAEU,EAAE,GAAGV,GAAGA,IAAI,CAAC,OAAO,KAAK,MAAM,EAAEA,EAAE,GAAGA,EAAE,CAAC,EAAEuC,EAAG,OAAO,UAAU,CAAC,OAAO,KAAK,OAAO,GAAG,KAAK,MAAM,CAAC,EAAEA,EAAG,IAAIA,EAAG,OAAOA,EAAG,WAAW,UAAU,CAAC,MAAM,CAAC,KAAK,UAAU,KAAK,KAAK,CAAC,EAAEA,EAAG,WAAW,UAAU,CAAC,OAAO,KAAK,UAAU,KAAK,MAAM,CAAC,EAAEA,EAAG,MAAM,UAAU,CAAC,OAAO,KAAK,IAAI,KAAK,CAAC,EAAEA,EAAG,OAAO,UAAU,CAAC,OAAO,KAAK,IAAI,KAAK,CAAC,EAAEA,EAAG,OAAO,SAAS7B,EAAE,CAAC,OAAOC,EAAGD,CAAC,IAAIA,EAAEsB,EAAGtB,CAAC,GAAG,KAAK,WAAWA,EAAE,UAAU,KAAK,OAAO,KAAK,GAAGA,EAAE,OAAO,KAAK,EAAE,GAAG,KAAK,OAAOA,EAAE,MAAM,KAAK,MAAMA,EAAE,GAAG,EAAE6B,EAAG,GAAGA,EAAG,OAAOA,EAAG,UAAU,SAAS7B,EAAE,CAAC,MAAM,CAAC,KAAK,GAAGA,CAAC,CAAC,EAAE6B,EAAG,IAAIA,EAAG,UAAUA,EAAG,GAAGA,EAAG,UAAUA,EAAG,SAAS,SAAS7B,EAAE,CAAC,OAAO,KAAK,KAAKA,CAAC,EAAE,CAAC,EAAE6B,EAAG,GAAGA,EAAG,SAASA,EAAG,gBAAgB,SAAS7B,EAAE,CAAC,OAAO,KAAK,KAAKA,CAAC,GAAG,CAAC,EAAE6B,EAAG,IAAIA,EAAG,gBAAgBA,EAAG,GAAGA,EAAG,gBAAgBA,EAAG,YAAY,SAAS7B,EAAE,CAAC,OAAO,KAAK,KAAKA,CAAC,EAAE,CAAC,EAAE6B,EAAG,GAAGA,EAAG,YAAYA,EAAG,mBAAmB,SAAS7B,EAAE,CAAC,OAAO,KAAK,KAAKA,CAAC,GAAG,CAAC,EAAE6B,EAAG,IAAIA,EAAG,mBAAmBA,EAAG,GAAGA,EAAG,mBAAmBA,EAAG,QAAQ,SAAS7B,EAAE,CAAC,GAAGC,EAAGD,CAAC,IAAIA,EAAEsB,EAAGtB,CAAC,GAAG,KAAK,GAAGA,CAAC,EAAE,MAAO,GAAE,IAAIV,EAAE,KAAK,WAAW,EAAEE,EAAEQ,EAAE,WAAW,EAAE,OAAOV,GAAG,CAACE,EAAE,GAAG,CAACF,GAAGE,EAAE,EAAE,KAAK,SAASQ,EAAE,OAAO,EAAE,KAAK,OAAO,GAAGA,EAAE,OAAO,KAAK,MAAMA,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,IAAIA,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE6B,EAAG,KAAKA,EAAG,QAAQA,EAAG,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,UAAU,KAAK,GAAGjB,CAAE,EAAEA,EAAG,KAAK,IAAI,EAAE,IAAIc,CAAE,CAAC,EAAEG,EAAG,IAAIA,EAAG,OAAOA,EAAG,IAAI,SAAS7B,EAAE,CAACC,EAAGD,CAAC,IAAIA,EAAEsB,EAAGtB,CAAC,GAAG,IAAIV,EAAE,KAAK,OAAO,GAAGE,EAAE,KAAK,KAAK,MAAMC,EAAE,KAAK,MAAM,GAAGwB,EAAE,KAAK,IAAI,MAAMC,EAAElB,EAAE,OAAO,GAAGmB,EAAEnB,EAAE,KAAK,MAAMoB,EAAEpB,EAAE,MAAM,GAAGqB,EAAErB,EAAE,IAAI,MAAM8B,GAAE,EAAEC,GAAE,EAAEC,GAAE,EAAEC,GAAE,EAAE,OAAOA,IAAGhB,EAAEI,EAAEW,IAAGC,KAAI,GAAGA,IAAG,MAAMD,IAAGvC,EAAE2B,EAAEW,IAAGC,KAAI,GAAGA,IAAG,MAAMD,IAAGvC,EAAE2B,EAAEW,IAAGC,KAAI,GAAGA,IAAG,MAAMD,IAAGxC,EAAE4B,EAAEY,IAAG,MAAMzB,EAAG2B,IAAG,GAAGC,GAAEH,IAAG,GAAGC,GAAE,KAAK,QAAQ,CAAC,EAAEF,EAAG,SAAS,SAAS7B,EAAE,CAAC,OAAOC,EAAGD,CAAC,IAAIA,EAAEsB,EAAGtB,CAAC,GAAG,KAAK,IAAIA,EAAE,IAAI,CAAC,CAAC,EAAE6B,EAAG,IAAIA,EAAG,SAASA,EAAG,SAAS,SAAS7B,EAAE,CAAC,GAAG,KAAK,OAAO,EAAE,OAAOQ,EAAG,GAAGP,EAAGD,CAAC,IAAIA,EAAEsB,EAAGtB,CAAC,GAAGD,EAAG,CAAC,IAAIT,EAAES,EAAG,IAAI,KAAK,IAAI,KAAK,KAAKC,EAAE,IAAIA,EAAE,IAAI,EAAE,OAAOK,EAAGf,EAAES,EAAG,SAAS,EAAE,KAAK,QAAQ,CAAC,CAAC,GAAGC,EAAE,OAAO,EAAE,OAAOQ,EAAG,GAAG,KAAK,GAAGI,CAAE,EAAE,OAAOZ,EAAE,MAAM,EAAEY,EAAGJ,EAAG,GAAGR,EAAE,GAAGY,CAAE,EAAE,OAAO,KAAK,MAAM,EAAEA,EAAGJ,EAAG,GAAG,KAAK,WAAW,EAAE,OAAOR,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,IAAIA,EAAE,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,IAAIA,CAAC,EAAE,IAAI,EAAE,GAAGA,EAAE,WAAW,EAAE,OAAO,KAAK,IAAIA,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,GAAGyB,CAAE,GAAGzB,EAAE,GAAGyB,CAAE,EAAE,OAAOnB,EAAG,KAAK,SAAS,EAAEN,EAAE,SAAS,EAAE,KAAK,QAAQ,EAAE,IAAIR,EAAE,KAAK,OAAO,GAAGC,EAAE,KAAK,KAAK,MAAMwB,EAAE,KAAK,MAAM,GAAGC,EAAE,KAAK,IAAI,MAAMC,EAAEnB,EAAE,OAAO,GAAGoB,EAAEpB,EAAE,KAAK,MAAMqB,EAAErB,EAAE,MAAM,GAAG8B,GAAE9B,EAAE,IAAI,MAAM+B,GAAE,EAAEC,GAAE,EAAEC,GAAE,EAAEC,GAAE,EAAE,OAAOA,IAAGhB,EAAEY,GAAEG,IAAGC,KAAI,GAAGA,IAAG,MAAMD,IAAGhB,EAAEa,GAAEE,IAAGC,KAAI,GAAGA,IAAG,MAAMA,IAAGf,EAAEG,EAAEW,IAAGC,KAAI,GAAGA,IAAG,MAAMD,IAAGvC,EAAEqC,GAAEC,IAAGC,KAAI,GAAGA,IAAG,MAAMA,IAAGf,EAAEI,EAAEU,IAAGC,KAAI,GAAGA,IAAG,MAAMA,IAAGd,EAAEE,EAAEW,IAAGC,KAAI,GAAGA,IAAG,MAAMD,IAAGvC,EAAEsC,GAAErC,EAAE4B,EAAEJ,EAAEG,EAAEF,EAAEC,EAAEY,IAAG,MAAM1B,EAAG4B,IAAG,GAAGC,GAAEH,IAAG,GAAGC,GAAE,KAAK,QAAQ,CAAC,EAAEH,EAAG,IAAIA,EAAG,SAASA,EAAG,OAAO,SAAS7B,EAAE,CAAC,GAAGC,EAAGD,CAAC,IAAIA,EAAEsB,EAAGtB,CAAC,GAAGA,EAAE,OAAO,EAAE,MAAM,MAAM,kBAAkB,EAAE,GAAGD,EAAG,CAAC,GAAG,CAAC,KAAK,UAAU,KAAK,OAAO,aAAaC,EAAE,MAAM,IAAIA,EAAE,OAAO,GAAG,OAAO,KAAK,IAAIV,GAAG,KAAK,SAASS,EAAG,MAAMA,EAAG,OAAO,KAAK,IAAI,KAAK,KAAKC,EAAE,IAAIA,EAAE,IAAI,EAAE,OAAOK,EAAGf,EAAES,EAAG,SAAS,EAAE,KAAK,QAAQ,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,OAAO,KAAK,SAASQ,EAAGC,EAAG,IAAIhB,EAAEC,EAAEwB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAGjB,EAAE,WAAWA,EAAEA,EAAE,WAAW,GAAGA,EAAE,GAAG,IAAI,EAAE,OAAOO,EAAG,GAAGP,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,EAAE,OAAO2B,EAAGV,EAAEV,CAAE,KAAK,CAAC,GAAG,KAAK,GAAGK,CAAE,EAAE,CAAC,GAAGZ,EAAE,GAAG0B,CAAE,GAAG1B,EAAE,GAAG4B,CAAE,EAAE,OAAOhB,EAAG,GAAGZ,EAAE,GAAGY,CAAE,EAAE,OAAOc,EAAG,IAAIR,EAAE,KAAK,IAAI,CAAC,EAAE,OAAO1B,EAAE0B,EAAE,IAAIlB,CAAC,EAAE,IAAI,CAAC,EAAER,EAAE,GAAGgB,CAAE,EAAER,EAAE,WAAW,EAAE0B,EAAGE,GAAInC,EAAE,KAAK,IAAIO,EAAE,IAAIR,CAAC,CAAC,EAAEyB,EAAEzB,EAAE,IAAIC,EAAE,IAAIO,CAAC,CAAC,EAAEiB,EAAE,SAASjB,EAAE,GAAGY,CAAE,EAAE,OAAO,KAAK,SAASL,EAAGC,EAAG,GAAG,KAAK,WAAW,EAAE,OAAOR,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,IAAIA,EAAE,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,IAAIA,CAAC,EAAE,IAAI,EAAE,GAAGA,EAAE,WAAW,EAAE,OAAO,KAAK,IAAIA,EAAE,IAAI,CAAC,EAAE,IAAI,EAAEiB,EAAET,CAAE,CAAC,IAAIf,EAAE,KAAKA,EAAE,IAAIO,CAAC,GAAG,CAACR,EAAE,KAAK,IAAI,EAAE,KAAK,MAAMC,EAAE,SAAS,EAAEO,EAAE,SAAS,CAAC,CAAC,EAAE,QAAQmB,EAAE,KAAK,KAAK,KAAK,IAAI3B,CAAC,EAAE,KAAK,GAAG,EAAE4B,EAAED,GAAG,GAAG,EAAEJ,EAAG,EAAEI,EAAE,EAAE,EAAEE,EAAEf,EAAGd,CAAC,EAAEsC,GAAET,EAAE,IAAIrB,CAAC,EAAE8B,GAAE,WAAW,GAAGA,GAAE,GAAGrC,CAAC,GAAGD,GAAG4B,EAAEC,EAAEf,EAAGd,EAAE,KAAK,QAAQ,EAAEsC,GAAET,EAAE,IAAIrB,CAAC,EAAEqB,EAAE,OAAO,IAAIA,EAAEK,GAAIT,EAAEA,EAAE,IAAII,CAAC,EAAE5B,EAAEA,EAAE,IAAIqC,EAAC,CAAC,CAAC,OAAOb,CAAC,EAAEY,EAAG,IAAIA,EAAG,OAAOA,EAAG,OAAO,SAAS7B,EAAE,CAAC,GAAGC,EAAGD,CAAC,IAAIA,EAAEsB,EAAGtB,CAAC,GAAGD,EAAG,CAAC,IAAIT,GAAG,KAAK,SAASS,EAAG,MAAMA,EAAG,OAAO,KAAK,IAAI,KAAK,KAAKC,EAAE,IAAIA,EAAE,IAAI,EAAE,OAAOK,EAAGf,EAAES,EAAG,SAAS,EAAE,KAAK,QAAQ,CAAC,CAAC,OAAO,KAAK,IAAI,KAAK,IAAIC,CAAC,EAAE,IAAIA,CAAC,CAAC,CAAC,EAAE6B,EAAG,IAAIA,EAAG,OAAOA,EAAG,IAAIA,EAAG,OAAOA,EAAG,IAAI,UAAU,CAAC,OAAOxB,EAAG,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,QAAQ,CAAC,EAAEwB,EAAG,IAAI,SAAS7B,EAAE,CAAC,OAAOC,EAAGD,CAAC,IAAIA,EAAEsB,EAAGtB,CAAC,GAAGK,EAAG,KAAK,IAAIL,EAAE,IAAI,KAAK,KAAKA,EAAE,KAAK,KAAK,QAAQ,CAAC,EAAE6B,EAAG,GAAG,SAAS7B,EAAE,CAAC,OAAOC,EAAGD,CAAC,IAAIA,EAAEsB,EAAGtB,CAAC,GAAGK,EAAG,KAAK,IAAIL,EAAE,IAAI,KAAK,KAAKA,EAAE,KAAK,KAAK,QAAQ,CAAC,EAAE6B,EAAG,IAAI,SAAS7B,EAAE,CAAC,OAAOC,EAAGD,CAAC,IAAIA,EAAEsB,EAAGtB,CAAC,GAAGK,EAAG,KAAK,IAAIL,EAAE,IAAI,KAAK,KAAKA,EAAE,KAAK,KAAK,QAAQ,CAAC,EAAE6B,EAAG,UAAU,SAAS7B,EAAE,CAAC,OAAOC,EAAGD,CAAC,IAAIA,EAAEA,EAAE,MAAM,IAAIA,GAAG,MAAM,EAAE,KAAKA,EAAE,GAAGK,EAAG,KAAK,KAAKL,EAAE,KAAK,MAAMA,EAAE,KAAK,MAAM,GAAGA,EAAE,KAAK,QAAQ,EAAEK,EAAG,EAAE,KAAK,KAAKL,EAAE,GAAG,KAAK,QAAQ,CAAC,EAAE6B,EAAG,IAAIA,EAAG,UAAUA,EAAG,WAAW,SAAS7B,EAAE,CAAC,OAAOC,EAAGD,CAAC,IAAIA,EAAEA,EAAE,MAAM,IAAIA,GAAG,MAAM,EAAE,KAAKA,EAAE,GAAGK,EAAG,KAAK,MAAML,EAAE,KAAK,MAAM,GAAGA,EAAE,KAAK,MAAMA,EAAE,KAAK,QAAQ,EAAEK,EAAG,KAAK,MAAML,EAAE,GAAG,KAAK,MAAM,EAAE,EAAE,GAAG,KAAK,QAAQ,CAAC,EAAE6B,EAAG,IAAIA,EAAG,WAAWA,EAAG,mBAAmB,SAAS7B,EAAE,CAAC,GAAGC,EAAGD,CAAC,IAAIA,EAAEA,EAAE,MAAM,GAAGA,GAAG,GAAGA,IAAI,EAAE,OAAO,KAAK,IAAIV,EAAE,KAAK,KAAK,GAAGU,EAAE,GAAG,CAAC,IAAIR,EAAE,KAAK,IAAI,OAAOa,EAAGb,IAAIQ,EAAEV,GAAG,GAAGU,EAAEV,IAAIU,EAAE,KAAK,QAAQ,CAAC,KAAM,QAAOA,IAAI,GAAGK,EAAGf,EAAE,EAAE,KAAK,QAAQ,EAAEe,EAAGf,IAAIU,EAAE,GAAG,EAAE,KAAK,QAAQ,CAAC,EAAE6B,EAAG,KAAKA,EAAG,mBAAmBA,EAAG,MAAMA,EAAG,mBAAmBA,EAAG,SAAS,UAAU,CAAC,OAAO,KAAK,SAASxB,EAAG,KAAK,IAAI,KAAK,KAAK,EAAE,EAAE,IAAI,EAAEwB,EAAG,WAAW,UAAU,CAAC,OAAO,KAAK,SAAS,KAAKxB,EAAG,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,EAAEwB,EAAG,QAAQ,SAAS7B,EAAE,CAAC,OAAOA,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,CAAC,EAAE6B,EAAG,UAAU,UAAU,CAAC,IAAI7B,EAAE,KAAK,KAAKV,EAAE,KAAK,IAAI,MAAM,CAACA,EAAE,IAAIA,IAAI,EAAE,IAAIA,IAAI,GAAG,IAAIA,IAAI,GAAGU,EAAE,IAAIA,IAAI,EAAE,IAAIA,IAAI,GAAG,IAAIA,IAAI,EAAE,CAAC,EAAE6B,EAAG,UAAU,UAAU,CAAC,IAAI7B,EAAE,KAAK,KAAKV,EAAE,KAAK,IAAI,MAAM,CAACU,IAAI,GAAGA,IAAI,GAAG,IAAIA,IAAI,EAAE,IAAIA,EAAE,IAAIV,IAAI,GAAGA,IAAI,GAAG,IAAIA,IAAI,EAAE,IAAIA,EAAE,GAAG,CAAC,EAAEQ,EAAG,UAAU,SAASE,EAAEV,EAAEE,EAAE,CAAC,OAAOA,EAAEM,EAAG,YAAYE,EAAEV,CAAC,EAAEQ,EAAG,YAAYE,EAAEV,CAAC,CAAC,EAAEQ,EAAG,YAAY,SAASE,EAAEV,EAAE,CAAC,OAAO,IAAIQ,EAAGE,EAAE,CAAC,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,GAAGA,EAAE,CAAC,GAAG,GAAGA,EAAE,CAAC,EAAEA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,GAAG,GAAGA,EAAE,CAAC,GAAG,GAAGV,CAAC,CAAC,EAAEQ,EAAG,YAAY,SAASE,EAAEV,EAAE,CAAC,OAAO,IAAIQ,EAAGE,EAAE,CAAC,GAAG,GAAGA,EAAE,CAAC,GAAG,GAAGA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,EAAEA,EAAE,CAAC,GAAG,GAAGA,EAAE,CAAC,GAAG,GAAGA,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,EAAEV,CAAC,CAAC,CAAC,CAAC,EAAM6C,GAAGhD,GAAG,IAAI,CAAC,CAAC,EAAMiD,GAAGjD,GAAG,IAAI,CAAC,CAAC,EAAMkD,GAAGlD,GAAG,CAACmD,EAAGC,IAAK,EAAE,SAASnD,EAAEY,EAAEV,EAAE,CAAC,SAASE,EAAE2B,EAAE,CAAC,IAAIC,EAAE,KAAKC,EAAEH,EAAE,EAAEE,EAAE,KAAK,UAAU,CAAC,IAAI,EAAE,QAAQA,EAAE,GAAGA,EAAE,EAAE,sBAAsB,OAAOA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG,GAAGA,EAAE,EAAE,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,GAAGC,EAAE,GAAG,EAAED,EAAE,GAAGC,EAAE,GAAG,EAAED,EAAE,GAAGC,EAAE,GAAG,EAAED,EAAE,IAAIC,EAAEF,CAAC,EAAEC,EAAE,GAAG,IAAIA,EAAE,IAAI,GAAGA,EAAE,IAAIC,EAAEF,CAAC,EAAEC,EAAE,GAAG,IAAIA,EAAE,IAAI,GAAGA,EAAE,IAAIC,EAAEF,CAAC,EAAEC,EAAE,GAAG,IAAIA,EAAE,IAAI,GAAGC,EAAE,IAAI,CAAC,SAAS5B,EAAE0B,EAAEC,EAAE,CAAC,OAAOA,EAAE,EAAED,EAAE,EAAEC,EAAE,GAAGD,EAAE,GAAGC,EAAE,GAAGD,EAAE,GAAGC,EAAE,GAAGD,EAAE,GAAGC,CAAC,CAAC,SAASH,EAAEE,EAAEC,EAAE,CAAC,IAAIC,EAAE,IAAI7B,EAAE2B,CAAC,EAAE,EAAEC,GAAGA,EAAE,MAAMW,EAAEV,EAAE,KAAK,OAAOU,EAAE,MAAM,UAAU,CAAC,OAAOV,EAAE,KAAK,EAAE,WAAW,CAAC,EAAEU,EAAE,OAAO,UAAU,CAAC,OAAOA,EAAE,GAAGA,EAAE,EAAE,QAAQ,GAAG,qBAAqB,EAAEA,EAAE,MAAMA,EAAE,IAAI,OAAO,GAAG,UAAUtC,EAAE,EAAE4B,CAAC,EAAEU,EAAE,MAAM,UAAU,CAAC,OAAOtC,EAAE4B,EAAE,CAAC,CAAC,CAAC,GAAGU,CAAC,CAAC,SAASb,GAAG,CAAC,IAAIC,EAAE,WAAWC,EAAE,SAASC,EAAE,CAACA,EAAE,OAAOA,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,IAAI,CAACF,GAAGE,EAAE,WAAW,CAAC,EAAE,IAAIU,EAAE,mBAAmBZ,EAAEA,EAAEY,IAAI,EAAEA,GAAGZ,EAAEY,GAAGZ,EAAEA,EAAEY,IAAI,EAAEA,GAAGZ,EAAEA,GAAGY,EAAE,UAAU,CAAC,OAAOZ,IAAI,GAAG,qBAAqB,EAAE,OAAOC,CAAC,CAACpB,GAAGA,EAAE,QAAQA,EAAE,QAAQiB,EAAE3B,GAAGA,EAAE,IAAIA,EAAE,UAAU,CAAC,OAAO2B,CAAC,CAAC,EAAE,KAAK,KAAKA,CAAC,GAAGqB,EAAG,OAAOC,GAAI,UAAUA,EAAG,OAAO,QAAQ,YAAY,MAAM,CAAC,CAAC,EAAMC,GAAGrD,GAAG,CAACsD,EAAGC,IAAK,EAAE,SAAStD,EAAEY,EAAEV,EAAE,CAAC,SAASE,EAAE0B,EAAE,CAAC,IAAIC,EAAE,KAAKC,EAAE,GAAGD,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,KAAK,UAAU,CAAC,IAAI,EAAEA,EAAE,EAAEA,EAAE,GAAG,GAAG,OAAOA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,GAAGA,EAAE,IAAI,GAAG,EAAE,IAAI,CAAC,EAAED,KAAKA,EAAE,GAAGC,EAAE,EAAED,EAAEE,GAAGF,EAAE,QAAQG,EAAE,EAAEA,EAAED,EAAE,OAAO,GAAGC,IAAIF,EAAE,GAAGC,EAAE,WAAWC,CAAC,EAAE,EAAEF,EAAE,KAAK,CAAC,CAAC,SAAS1B,EAAEyB,EAAEC,EAAE,CAAC,OAAOA,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,CAAC,CAAC,SAASF,EAAEC,EAAEC,EAAE,CAAC,IAAIC,EAAE,IAAI5B,EAAE0B,CAAC,EAAEG,EAAEF,GAAGA,EAAE,MAAM,EAAE,UAAU,CAAC,OAAOC,EAAE,KAAK,IAAI,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,UAAU,CAAC,EAAG,KAAIW,EAAEX,EAAE,KAAK,IAAI,GAAG,GAAGA,EAAE,KAAK,IAAI,GAAG,WAAW,GAAGW,EAAE,IAAI,GAAG,UAAU,IAAI,GAAG,OAAO,CAAC,EAAE,EAAE,MAAMX,EAAE,KAAK,EAAE,MAAM,EAAEC,IAAI,OAAOA,GAAG,UAAU5B,EAAE4B,EAAED,CAAC,EAAE,EAAE,MAAM,UAAU,CAAC,OAAO3B,EAAE2B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAACpB,GAAGA,EAAE,QAAQA,EAAE,QAAQiB,EAAE3B,GAAGA,EAAE,IAAIA,EAAE,UAAU,CAAC,OAAO2B,CAAC,CAAC,EAAE,KAAK,OAAOA,CAAC,GAAGwB,EAAG,OAAOC,GAAI,UAAUA,EAAG,OAAO,QAAQ,YAAY,MAAM,CAAC,CAAC,EAAMC,GAAGxD,GAAG,CAACyD,EAAGC,IAAK,EAAE,SAASzD,EAAEY,EAAEV,EAAE,CAAC,SAASE,EAAE0B,EAAE,CAAC,IAAIC,EAAE,KAAKC,EAAE,GAAGD,EAAE,KAAK,UAAU,CAAC,IAAI,EAAEA,EAAE,EAAEA,EAAE,IAAI,EAAE,OAAOA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,EAAEA,EAAE,GAAGA,EAAE,EAAEA,EAAE,EAAE,OAAO,IAAIA,EAAE,EAAEA,EAAE,EAAEA,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAED,KAAKA,EAAE,GAAGC,EAAE,EAAED,EAAEE,GAAGF,EAAE,QAAQG,EAAE,EAAEA,EAAED,EAAE,OAAO,GAAGC,IAAIF,EAAE,GAAGC,EAAE,WAAWC,CAAC,EAAE,EAAEA,GAAGD,EAAE,SAASD,EAAE,EAAEA,EAAE,GAAG,GAAGA,EAAE,IAAI,GAAGA,EAAE,KAAK,CAAC,CAAC,SAAS1B,EAAEyB,EAAEC,EAAE,CAAC,OAAOA,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,CAAC,CAAC,SAASF,EAAEC,EAAEC,EAAE,CAAC,IAAIC,EAAE,IAAI5B,EAAE0B,CAAC,EAAEG,EAAEF,GAAGA,EAAE,MAAM,EAAE,UAAU,CAAC,OAAOC,EAAE,KAAK,IAAI,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,UAAU,CAAC,EAAG,KAAIW,EAAEX,EAAE,KAAK,IAAI,GAAG,GAAGA,EAAE,KAAK,IAAI,GAAG,WAAW,GAAGW,EAAE,IAAI,GAAG,UAAU,IAAI,GAAG,OAAO,CAAC,EAAE,EAAE,MAAMX,EAAE,KAAK,EAAE,MAAM,EAAEC,IAAI,OAAOA,GAAG,UAAU5B,EAAE4B,EAAED,CAAC,EAAE,EAAE,MAAM,UAAU,CAAC,OAAO3B,EAAE2B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAACpB,GAAGA,EAAE,QAAQA,EAAE,QAAQiB,EAAE3B,GAAGA,EAAE,IAAIA,EAAE,UAAU,CAAC,OAAO2B,CAAC,CAAC,EAAE,KAAK,OAAOA,CAAC,GAAG2B,EAAG,OAAOC,GAAI,UAAUA,EAAG,OAAO,QAAQ,YAAY,MAAM,CAAC,CAAC,EAAMC,GAAG3D,GAAG,CAAC4D,EAAGC,IAAK,EAAE,SAAS5D,EAAEY,EAAEV,EAAE,CAAC,SAASE,EAAE0B,EAAE,CAAC,IAAIC,EAAE,KAAKA,EAAE,KAAK,UAAU,CAAC,IAAIE,EAAEF,EAAE,EAAE,EAAEA,EAAE,EAAEY,EAAE,EAAE,EAAE,OAAOA,EAAEV,EAAE,CAAC,EAAEU,GAAGA,IAAI,EAAE,EAAEA,EAAEA,GAAG,GAAGA,EAAEV,EAAE,EAAE,EAAE,CAAC,EAAE,GAAGU,EAAEA,IAAI,GAAGA,EAAEV,EAAE,EAAE,EAAE,CAAC,EAAE,GAAGU,EAAEA,IAAI,EAAEA,EAAEV,EAAE,EAAE,EAAE,CAAC,EAAE,GAAGU,EAAEA,GAAG,EAAEA,EAAEV,EAAE,EAAE,EAAE,CAAC,EAAEU,EAAEA,EAAEA,GAAG,GAAG,GAAGA,EAAEA,GAAG,EAAEV,EAAE,CAAC,EAAE,EAAEF,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAASC,EAAEC,EAAE,EAAE,CAAC,IAAIU,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAO,KAAI,EAAE,GAAG,EAAEA,EAAE,EAAEA,EAAE,EAAE,OAAO,EAAEA,EAAE,EAAEA,EAAE,CAAC,EAAE,EAAEA,EAAE,CAAC,GAAG,GAAG,EAAE,WAAWA,CAAC,EAAE,EAAEA,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,CAAC,EAAE,IAAIA,EAAE,EAAEA,EAAE,GAAG,EAAEA,CAAC,IAAI,EAAE,EAAEA,EAAE,CAAC,IAAIA,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAEA,CAAC,EAAEV,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEU,EAAE,IAAIA,EAAE,EAAE,EAAEA,EAAEV,EAAE,KAAK,CAAC,CAACD,EAAED,EAAED,CAAC,CAAC,CAAC,SAASzB,EAAEyB,EAAEC,EAAE,CAAC,OAAOA,EAAE,EAAED,EAAE,EAAE,MAAM,EAAEC,EAAE,EAAED,EAAE,EAAEC,CAAC,CAAC,SAASF,EAAEC,EAAEC,EAAE,CAACD,GAAG,OAAOA,EAAE,CAAC,IAAI,MAAM,IAAIE,EAAE,IAAI5B,EAAE0B,CAAC,EAAEG,EAAEF,GAAGA,EAAE,MAAM,EAAE,UAAU,CAAC,OAAOC,EAAE,KAAK,IAAI,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,UAAU,CAAC,EAAG,KAAIW,EAAEX,EAAE,KAAK,IAAI,GAAG,GAAGA,EAAE,KAAK,IAAI,GAAG,WAAW,GAAGW,EAAE,IAAI,GAAG,UAAU,IAAI,GAAG,OAAO,CAAC,EAAE,EAAE,MAAMX,EAAE,KAAK,EAAE,MAAM,EAAEC,IAAIA,EAAE,GAAG5B,EAAE4B,EAAED,CAAC,EAAE,EAAE,MAAM,UAAU,CAAC,OAAO3B,EAAE2B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAACpB,GAAGA,EAAE,QAAQA,EAAE,QAAQiB,EAAE3B,GAAGA,EAAE,IAAIA,EAAE,UAAU,CAAC,OAAO2B,CAAC,CAAC,EAAE,KAAK,UAAUA,CAAC,GAAG8B,EAAG,OAAOC,GAAI,UAAUA,EAAG,OAAO,QAAQ,YAAY,MAAM,CAAC,CAAC,EAAMC,GAAG9D,GAAG,CAAC+D,EAAGC,IAAK,EAAE,SAAS/D,EAAEY,EAAEV,EAAE,CAAC,SAASE,EAAE0B,EAAE,CAAC,IAAIC,EAAE,KAAKA,EAAE,KAAK,UAAU,CAAC,IAAIE,EAAEF,EAAE,EAAE,EAAEA,EAAE,EAAEY,EAAEZ,EAAE,EAAE,EAAE,EAAE,OAAOA,EAAE,EAAEE,EAAEA,EAAE,WAAW,EAAE,EAAE,EAAEU,EAAE,GAAG,GAAG,EAAE,EAAE,EAAEA,EAAEA,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,EAAEA,CAAC,EAAE,EAAE,EAAEZ,EAAE,EAAEY,EAAE,GAAGV,EAAEA,IAAI,IAAI,CAAC,EAAE,SAASD,EAAEC,EAAE,EAAE,CAAC,IAAIU,EAAE,EAAE,EAAEG,EAAEkB,EAAEC,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,GAAG,EAAE,EAAEnB,EAAE,IAAIA,EAAE,EAAE,EAAEA,EAAE,IAAI,GAAG,EAAE,YAAYA,EAAE,IAAI,EAAE,MAAM,GAAGA,IAAI,IAAIkB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAGlB,GAAG,IAAIkB,EAAEA,EAAE,WAAW,EAAErB,EAAEsB,EAAEnB,EAAE,GAAG,GAAG,EAAEkB,EAAE,EAAErB,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,MAAMsB,GAAG,GAAG,EAAE,QAAQ,GAAG,GAAG,EAAE,IAAI,EAAE,IAAInB,EAAE,EAAE,IAAIA,EAAE,EAAE,EAAEA,EAAE,EAAEmB,EAAE,EAAE,GAAG,GAAG,EAAEtB,EAAEsB,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAGtB,GAAGA,GAAG,GAAG,GAAG,IAAI,GAAGA,GAAGA,IAAI,GAAGsB,EAAE,CAAC,EAAE,EAAEtB,EAAEV,EAAE,EAAE+B,EAAE/B,EAAE,EAAEgC,EAAEhC,EAAE,EAAE,CAAC,CAACD,EAAED,EAAED,CAAC,CAAC,CAAC,SAASzB,EAAEyB,EAAEC,EAAE,CAAC,OAAOA,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAE,MAAM,EAAEC,CAAC,CAAC,SAASF,EAAEC,EAAEC,EAAE,CAACD,GAAG,OAAOA,EAAE,CAAC,IAAI,MAAM,IAAIE,EAAE,IAAI5B,EAAE0B,CAAC,EAAEG,EAAEF,GAAGA,EAAE,MAAM,EAAE,UAAU,CAAC,OAAOC,EAAE,KAAK,IAAI,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,UAAU,CAAC,EAAG,KAAIW,EAAEX,EAAE,KAAK,IAAI,GAAG,GAAGA,EAAE,KAAK,IAAI,GAAG,WAAW,GAAGW,EAAE,IAAI,GAAG,UAAU,IAAI,GAAG,OAAO,CAAC,EAAE,EAAE,MAAMX,EAAE,KAAK,EAAE,MAAM,EAAEC,IAAIA,EAAE,GAAG5B,EAAE4B,EAAED,CAAC,EAAE,EAAE,MAAM,UAAU,CAAC,OAAO3B,EAAE2B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAACpB,GAAGA,EAAE,QAAQA,EAAE,QAAQiB,EAAE3B,GAAGA,EAAE,IAAIA,EAAE,UAAU,CAAC,OAAO2B,CAAC,CAAC,EAAE,KAAK,QAAQA,CAAC,GAAGiC,EAAG,OAAOC,GAAI,UAAUA,EAAG,OAAO,QAAQ,YAAY,MAAM,CAAC,CAAC,EAAMG,GAAGnE,GAAG,CAACoE,EAAGC,IAAK,EAAE,SAASpE,EAAEY,EAAEV,EAAE,CAAC,SAASE,EAAE0B,EAAE,CAAC,IAAIC,EAAE,KAAKC,EAAE,GAAGD,EAAE,KAAK,UAAU,CAAC,IAAI,EAAEA,EAAE,EAAEY,EAAEZ,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,EAAEY,EAAEA,EAAEA,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEZ,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,GAAGY,EAAEZ,EAAE,EAAEY,EAAEA,EAAE,EAAE,EAAEZ,EAAE,EAAE,GAAG,GAAGY,IAAI,GAAG,EAAEZ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAE,YAAYA,EAAE,EAAE,WAAWD,IAAI,KAAK,MAAMA,CAAC,GAAGC,EAAE,EAAED,EAAE,WAAW,EAAEC,EAAE,EAAED,EAAE,GAAGE,GAAGF,EAAE,QAAQG,EAAE,EAAEA,EAAED,EAAE,OAAO,GAAGC,IAAIF,EAAE,GAAGC,EAAE,WAAWC,CAAC,EAAE,EAAEF,EAAE,KAAK,CAAC,CAAC,SAAS1B,EAAEyB,EAAEC,EAAE,CAAC,OAAOA,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,CAAC,CAAC,SAASF,EAAEC,EAAEC,EAAE,CAAC,IAAIC,EAAE,IAAI5B,EAAE0B,CAAC,EAAEG,EAAEF,GAAGA,EAAE,MAAM,EAAE,UAAU,CAAC,OAAOC,EAAE,KAAK,IAAI,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,UAAU,CAAC,EAAG,KAAIW,EAAEX,EAAE,KAAK,IAAI,GAAG,GAAGA,EAAE,KAAK,IAAI,GAAG,WAAW,GAAGW,EAAE,IAAI,GAAG,UAAU,IAAI,GAAG,OAAO,CAAC,EAAE,EAAE,MAAMX,EAAE,KAAK,EAAE,MAAM,EAAEC,IAAI,OAAOA,GAAG,UAAU5B,EAAE4B,EAAED,CAAC,EAAE,EAAE,MAAM,UAAU,CAAC,OAAO3B,EAAE2B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAACpB,GAAGA,EAAE,QAAQA,EAAE,QAAQiB,EAAE3B,GAAGA,EAAE,IAAIA,EAAE,UAAU,CAAC,OAAO2B,CAAC,CAAC,EAAE,KAAK,OAAOA,CAAC,GAAGsC,EAAG,OAAOC,GAAI,UAAUA,EAAG,OAAO,QAAQ,YAAY,MAAM,CAAC,CAAC,EAAMC,GAAGtE,GAAG,IAAI,CAAC,CAAC,EAAMuE,GAAGvE,GAAG,CAACwE,EAAGC,IAAK,EAAE,SAASxE,EAAEY,EAAEV,EAAE,CAAC,IAAIE,EAAE,IAAIC,EAAE,EAAEwB,EAAE,GAAGC,EAAE,SAASC,EAAE7B,EAAE,IAAIE,EAAEC,CAAC,EAAE2B,EAAE9B,EAAE,IAAI,EAAE2B,CAAC,EAAEI,EAAED,EAAE,EAAE,EAAE5B,EAAE,EAAEuC,EAAE,SAAS,EAAE8B,EAAEC,EAAEC,EAAE,CAAC,IAAIC,EAAE,CAAC,EAAEF,EAAEA,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAEA,GAAG,CAAC,EAAE,IAAIG,EAAEZ,EAAED,EAAEU,EAAE,QAAQ,CAACD,EAAEK,EAAElE,CAAC,CAAC,EAAE6D,GAAG,KAAK,EAAE,EAAEA,EAAE,CAAC,EAAEG,CAAC,EAAE,EAAE,IAAI,EAAEA,CAAC,EAAEG,EAAE,UAAU,CAAC,QAAQC,EAAE,EAAE,EAAE3E,CAAC,EAAE4E,EAAElD,EAAEmD,EAAE,EAAEF,EAAEhD,GAAGgD,GAAGA,EAAEE,GAAG9E,EAAE6E,GAAG7E,EAAE8E,EAAE,EAAE,EAAE,CAAC,EAAE,KAAKF,GAAG/C,GAAG+C,GAAG,EAAEC,GAAG,EAAEC,KAAK,EAAE,OAAOF,EAAEE,GAAGD,CAAC,EAAE,OAAOF,EAAE,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAEA,EAAE,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,UAAU,EAAEA,EAAE,OAAOA,EAAEd,EAAEa,EAAE,EAAE,CAAC,EAAElE,CAAC,GAAG8D,EAAE,MAAMC,GAAG,SAASK,EAAEC,EAAEC,EAAEC,EAAE,CAAC,OAAOA,IAAIA,EAAE,GAAGrC,EAAEqC,EAAE,CAAC,EAAEH,EAAE,MAAM,UAAU,CAAC,OAAOlC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAGoC,GAAGhF,EAAE4B,CAAC,EAAEkD,EAAEC,GAAGD,CAAC,GAAGD,EAAEF,EAAE,WAAWH,EAAEA,EAAE,OAAO,MAAMxE,EAAEwE,EAAE,KAAK,CAAC,CAAC,SAAS,EAAED,EAAE,CAAC,IAAIC,EAAEC,EAAEF,EAAE,OAAOG,EAAE,KAAKC,EAAE,EAAE,EAAED,EAAE,EAAEA,EAAE,EAAE,EAAEG,EAAEH,EAAE,EAAE,CAAC,EAAE,IAAID,IAAIF,EAAE,CAACE,GAAG,GAAGE,EAAEzE,GAAG2E,EAAEF,CAAC,EAAEA,IAAI,IAAIA,EAAE,EAAEA,EAAEzE,EAAEyE,IAAIE,EAAEF,CAAC,EAAEE,EAAE,EAAE,EAAE,EAAEN,EAAEI,EAAEF,CAAC,GAAGD,EAAEK,EAAEF,CAAC,EAAE,EAAEE,EAAE,CAAC,EAAEL,GAAGE,EAAE,EAAE,SAASI,EAAE,CAAC,QAAQC,EAAEC,EAAE,EAAEC,EAAEP,EAAE,EAAEQ,EAAER,EAAE,EAAES,EAAET,EAAE,EAAEI,KAAKC,EAAEI,EAAEF,EAAE,EAAEA,EAAE,CAAC,EAAED,EAAEA,EAAE9E,EAAEiF,EAAE,GAAGA,EAAEF,CAAC,EAAEE,EAAED,EAAE,EAAEA,EAAEH,CAAC,IAAII,EAAED,CAAC,EAAEH,EAAE,EAAE,OAAOL,EAAE,EAAEO,EAAEP,EAAE,EAAEQ,EAAEF,CAAC,GAAG9E,CAAC,CAAC,CAAC,SAAS0C,EAAE2B,EAAEC,EAAE,CAAC,OAAOA,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAEC,EAAE,EAAED,EAAE,EAAE,MAAM,EAAEC,CAAC,CAAC,SAASV,EAAES,EAAEC,EAAE,CAAC,IAAIC,EAAE,CAAC,EAAEC,EAAE,OAAOH,EAAEI,EAAE,GAAGH,GAAGE,GAAG,SAAS,IAAIC,KAAKJ,EAAE,GAAG,CAACE,EAAE,KAAKX,EAAES,EAAEI,CAAC,EAAEH,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAOC,EAAE,OAAOA,EAAEC,GAAG,SAASH,EAAEA,EAAE,IAAI,CAAC,SAASR,EAAEQ,EAAEC,EAAE,CAAC,QAAQC,EAAEF,EAAE,GAAGG,EAAEC,EAAE,EAAEA,EAAEF,EAAE,QAAQD,EAAE,EAAEG,CAAC,EAAE,GAAGD,GAAGF,EAAE,EAAEG,CAAC,EAAE,IAAIF,EAAE,WAAWE,GAAG,EAAE,OAAOC,EAAEJ,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,IAAID,EAAE,OAAO9B,IAAI8B,EAAE9B,EAAE,aAAa8B,EAAEA,EAAErE,CAAC,GAAGqE,EAAE,IAAI,WAAWrE,CAAC,GAAGJ,EAAE,QAAQA,EAAE,UAAU,gBAAgByE,CAAC,GAAGK,EAAEL,CAAC,CAAC,OAAOG,EAAE,CAAC,IAAIF,EAAE1E,EAAE,UAAU2E,EAAED,GAAGA,EAAE,QAAQ,MAAM,CAAC,CAAC,IAAI,KAAK1E,EAAE2E,EAAE3E,EAAE,OAAO8E,EAAElE,CAAC,CAAC,CAAC,CAAC,CAAC,SAASkE,EAAEL,EAAE,CAAC,OAAO,OAAO,aAAa,MAAM,EAAEA,CAAC,CAAC,CAAC,GAAGR,EAAE/D,EAAE,OAAO,EAAEU,CAAC,EAAE,OAAO4D,GAAI,UAAUA,EAAG,QAAQ,CAACA,EAAG,QAAQ,EAAE,GAAG,CAAC7B,EAAE0B,GAAG,CAAC,OAAOI,EAAE,CAAC,CAAC,MAAM,OAAO,QAAQ,YAAY,OAAO,IAAI,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,EAAEvE,EAAE,OAAO4B,CAAC,EAAE,CAAC,GAAG,OAAO,MAAM,YAAY,KAAKyC,EAAG,CAAC,EAAE,IAAI,CAAC,CAAC,EAAMe,GAAGvF,GAAG,CAACwF,EAAIC,IAAK,CAAC,IAAIC,EAAGxC,GAAG,EAAEyC,EAAGtC,GAAG,EAAEuC,EAAGpC,GAAG,EAAEqC,EAAGlC,GAAG,EAAEmC,EAAGhC,GAAG,EAAEiC,EAAG5B,GAAG,EAAE6B,EAAGzB,GAAG,EAAEyB,EAAG,KAAKN,EAAGM,EAAG,OAAOL,EAAGK,EAAG,OAAOJ,EAAGI,EAAG,UAAUH,EAAGG,EAAG,QAAQF,EAAGE,EAAG,OAAOD,EAAGN,EAAG,QAAQO,CAAE,CAAC,EAAMC,GAAGjG,GAAG,IAAI,CAAC,CAAC,EAAMkG,GAAGlG,GAAG,IAAI,CAAC,CAAC,EAAMmG,GAAGnG,GAAG,IAAI,CAAC,CAAC,EAAMoG,GAAGpG,GAAG,IAAI,CAAC,CAAC,EAAMqG,GAAGrG,GAAG,IAAI,CAAC,CAAC,EAAMsG,GAAGtG,GAAG,IAAI,CAAC,CAAC,EAAMuG,GAAGvG,GAAG,CAACwG,EAAGC,IAAK,CAAC,IAAIC,GAAI,IAAI,CAAC,IAAIzG,EAAE,OAAO,UAAU,aAAa,SAAS,cAAc,SAAS,cAAc,IAAI,OAAO,OAAO,OAAO,YAAY,cAAcA,EAAEA,GAAG,YAAY,SAASY,EAAE,CAACA,EAAEA,GAAG,CAAC,EAAE,SAASV,GAAG,CAAC,OAAOwG,GAAG,QAAQC,IAAIC,GAAGF,GAAG,MAAM,EAAEG,EAAE,CAAC,SAASzG,GAAG,CAAC,OAAOsG,GAAG,QAAQC,IAAIC,GAAGF,GAAG,MAAM,EAAEI,EAAE,CAAC,SAAS,GAAG,CAAC,OAAOJ,GAAG,QAAQC,IAAIC,GAAGF,GAAG,MAAM,EAAEK,EAAE,CAAC,SAASlF,GAAG,CAAC,OAAO6E,GAAG,QAAQC,IAAIC,GAAGF,GAAG,MAAM,EAAEM,EAAE,CAAC,SAASlF,GAAG,CAAC,OAAO4E,GAAG,QAAQC,IAAIC,GAAGF,GAAG,MAAM,EAAEO,EAAE,CAAC,SAASlF,GAAG,CAAC,OAAO2E,GAAG,QAAQC,IAAIC,GAAGF,GAAG,MAAM,EAAEQ,EAAE,CAAC,SAASlF,GAAG,CAAC,OAAO0E,GAAG,QAAQC,IAAIC,GAAGF,GAAG,MAAM,EAAES,EAAE,CAAC,IAAIlF,EAAE,OAAOrB,GAAG,YAAYA,EAAE,CAAC,EAAE8B,EAAEC,EAAEV,EAAE,MAAM,IAAI,QAAQ,SAASmF,EAAEC,EAAE,CAAC3E,EAAE0E,EAAEzE,EAAE0E,CAAC,CAAC,EAAE,IAAIzE,EAAE,OAAO,SAAS,aAAa,QAAQ,YAAYA,EAAE,CAAC,kBAAkB,QAAQ,UAAU,mBAAmB,EAAE,mBAAmB,QAAQ,UAAU,oBAAoB,CAAC,GAAG,IAAIC,EAAE,OAAO,OAAO,CAAC,EAAEZ,CAAC,EAAEa,EAAE,CAAC,EAAEkB,EAAE,iBAAiBC,EAAE,CAACmD,EAAEC,IAAI,CAAC,MAAMA,CAAC,EAAEC,EAAE,OAAO,QAAQ,SAASxC,EAAE,OAAO,eAAe,WAAWL,EAAE,OAAO,SAAS,UAAU,OAAO,QAAQ,UAAU,UAAU,OAAO,QAAQ,SAAS,MAAM,SAASC,EAAEzC,EAAE,wBAAwB,GAAG0C,EAAE,GAAG,SAASC,EAAEwC,EAAE,CAAC,OAAOnF,EAAE,WAAWA,EAAE,WAAWmF,EAAEzC,CAAC,EAAEA,EAAEyC,CAAC,CAAC,IAAIvC,EAAE0C,EAAExC,EAAE,EAAE,SAASE,EAAEmC,EAAE,CAAIA,aAAaI,IAAUC,EAAE,6BAA6BL,CAAC,CAAC,CAAC,GAAG3C,EAAE,CAAC,IAAIS,EAAEe,GAAG,EAAEd,EAAEe,GAAG,EAAEpB,EAAEH,EAAEQ,EAAE,QAAQR,CAAC,EAAE,IAAIA,EAAE,UAAU,IAAIE,EAAE,CAACwC,EAAEK,MAAML,EAAEM,GAAGN,CAAC,EAAE,IAAI,IAAIA,CAAC,EAAElC,EAAE,UAAUkC,CAAC,EAAEnC,EAAE,aAAamC,EAAEK,GAAG,OAAO,MAAM,GAAG3C,EAAEsC,GAAG,CAAC,IAAIK,GAAG7C,EAAEwC,EAAE,EAAE,EAAE,OAAOK,GAAG,SAASA,GAAG,IAAI,WAAWA,EAAE,GAAGA,EAAE,EAAEH,EAAE,CAACF,EAAEK,GAAGE,KAAK,CAACP,EAAEM,GAAGN,CAAC,EAAE,IAAI,IAAIA,CAAC,EAAElC,EAAE,UAAUkC,CAAC,EAAEnC,EAAE,SAASmC,EAAE,SAASQ,GAAGC,GAAG,CAACD,GAAGD,GAAGC,EAAE,EAAEH,GAAGI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,OAAO,IAAI9D,EAAE,QAAQ,KAAK,CAAC,EAAE,QAAQ,MAAM,GAAG,GAAGlB,EAAE,QAAQ,KAAK,MAAM,CAAC,EAAE,QAAQ,GAAG,oBAAoB,SAASuE,EAAE,CAAC,GAAG,EAAEA,aAAaG,IAAI,MAAMH,CAAC,CAAC,EAAE,QAAQ,GAAG,qBAAqB,SAASA,EAAE,CAAC,MAAMA,CAAC,CAAC,EAAEpD,EAAE,CAACoD,EAAEK,KAAK,CAAC,GAAGK,GAAG,EAAE,MAAM,QAAQ,SAASV,EAAEK,GAAGzC,EAAEyC,EAAE,EAAE,QAAQ,KAAKL,CAAC,CAAC,EAAEpF,EAAE,QAAQ,UAAU,CAAC,MAAM,4BAA4B,EAAE,IAAImF,EAAE,GAAG,CAACA,EAAEjB,GAAG,CAAC,OAAOkB,EAAE,CAAC,MAAM,QAAQ,MAAM,yGAAyG,EAAEA,CAAC,CAAC,OAAO,OAAOD,EAAE,MAAM,MAAME,GAAGxC,KAAKA,EAAEH,EAAE,KAAK,SAAS,KAAK,OAAO,UAAU,aAAa,SAAS,gBAAgBA,EAAE,SAAS,cAAc,KAAK,OAAO3E,GAAG,aAAaA,IAAI2E,EAAE3E,GAAG2E,EAAE,QAAQ,OAAO,IAAI,EAAEA,EAAEA,EAAE,OAAO,EAAEA,EAAE,QAAQ,SAAS,EAAE,EAAE,YAAY,GAAG,EAAE,CAAC,EAAEA,EAAE,GAAGF,IAAII,EAAEuC,GAAG,CAAC,IAAIC,EAAE,IAAI,eAAe,OAAOA,EAAE,KAAK,MAAMD,EAAE,EAAE,EAAEC,EAAE,KAAK,IAAI,EAAEA,EAAE,YAAY,EAAEvC,IAAIC,EAAEqC,GAAG,CAAC,IAAIC,EAAE,IAAI,eAAe,OAAOA,EAAE,KAAK,MAAMD,EAAE,EAAE,EAAEC,EAAE,aAAa,cAAcA,EAAE,KAAK,IAAI,EAAE,IAAI,WAAWA,EAAE,QAAQ,CAAC,GAAGE,EAAE,CAACH,EAAEC,EAAEK,KAAK,CAAC,IAAIE,GAAG,IAAI,eAAeA,GAAG,KAAK,MAAMR,EAAE,EAAE,EAAEQ,GAAG,aAAa,cAAcA,GAAG,OAAO,IAAI,CAAC,GAAGA,GAAG,QAAQ,KAAKA,GAAG,QAAQ,GAAGA,GAAG,SAAS,CAACP,EAAEO,GAAG,QAAQ,EAAE,MAAM,CAACF,GAAG,CAAC,EAAEE,GAAG,QAAQF,GAAGE,GAAG,KAAK,IAAI,CAAC,GAAG,EAAER,GAAG,SAAS,MAAMA,GAAG3C,GAAG,OAAO,aAAa,cAAc,OAAO,YAAY2B,GAAG,EAAE,aAAa,IAAIhB,EAAE,QAAQ,IAAI,KAAK,OAAO,EAAEC,EAAE,QAAQ,KAAK,KAAK,OAAO,EAAEZ,IAAIW,EAAEgC,GAAGlC,EAAE,UAAU,EAAEkC,EAAE;AAAA,CAC5moB,EAAE/B,EAAE+B,GAAGlC,EAAE,UAAU,EAAEkC,EAAE;AAAA,CACvB,GAAG,IAAIY,EAAE/F,EAAE,OAAOmD,EAAEqC,EAAExF,EAAE,UAAUoD,EAAE,OAAO,OAAOpD,EAAEY,CAAC,EAAEA,EAAE,KAAKZ,EAAE,YAAYa,EAAEb,EAAE,WAAWA,EAAE,cAAc+B,EAAE/B,EAAE,aAAaA,EAAE,OAAOgC,EAAEhC,EAAE,MAAM,IAAIgG,GAAE,EAAEC,GAAG,QAAQ,KAAKC,GAAG,QAAQ,MAAMC,GAAG,QAAQ,gBAAgBC,GAAGpG,EAAE,aAAaoG,GAAGpG,EAAE,YAAY,IAAIqG,GAAGrG,EAAE,eAAe,GAAG,OAAO,aAAa,UAAUsG,GAAG,iCAAiC,EAAE,IAAI7B,GAAG8B,GAAGC,GAAG,GAAGC,GAAG,SAASC,GAAGvB,EAAEC,EAAE,CAACD,GAAGmB,GAAGlB,CAAC,CAAC,CAAC,IAAIuB,GAAG,OAAO,aAAa,YAAY,IAAI,YAAY,MAAM,EAAE,OAAO,SAASC,GAAGzB,EAAEC,EAAEK,GAAG,CAACL,KAAK,EAAE,QAAQO,GAAGP,EAAEK,GAAGG,GAAGR,EAAED,EAAES,EAAE,GAAG,EAAEA,IAAID,KAAK,EAAEC,GAAG,GAAGA,GAAGR,EAAE,IAAID,EAAE,QAAQwB,GAAG,OAAOA,GAAG,OAAOxB,EAAE,kBAAkB,kBAAkBA,EAAE,MAAMC,EAAEQ,EAAE,EAAET,EAAE,SAASC,EAAEQ,EAAE,CAAC,EAAE,QAAQC,GAAG,GAAGT,EAAEQ,IAAI,CAAC,IAAIiB,GAAG1B,EAAEC,GAAG,EAAE,GAAG,EAAEyB,GAAG,KAAK,CAAChB,IAAI,OAAO,aAAagB,EAAE,EAAE,QAAQ,CAAC,IAAIC,GAAG3B,EAAEC,GAAG,EAAE,GAAG,IAAIyB,GAAG,MAAM,IAAI,CAAChB,IAAI,OAAO,cAAcgB,GAAG,KAAK,EAAEC,EAAE,EAAE,QAAQ,CAAC,IAAIC,GAAG5B,EAAEC,GAAG,EAAE,GAAG,IAAIyB,GAAG,MAAM,IAAIA,IAAIA,GAAG,KAAK,GAAGC,IAAI,EAAEC,GAAGF,IAAIA,GAAG,IAAI,GAAGC,IAAI,GAAGC,IAAI,EAAE5B,EAAEC,GAAG,EAAE,GAAGyB,GAAG,MAAMhB,IAAI,OAAO,aAAagB,EAAE,MAAM,CAAC,IAAIG,GAAGH,GAAG,MAAMhB,IAAI,OAAO,aAAa,MAAMmB,IAAI,GAAG,MAAMA,GAAG,IAAI,CAAC,CAAC,CAAC,OAAOnB,EAAE,CAAC,SAASoB,GAAG9B,EAAEC,EAAE,CAAC,OAAOD,KAAK,EAAEA,EAAEyB,GAAGzI,EAAE,EAAEgH,EAAEC,CAAC,EAAE,EAAE,CAAC,SAAS8B,GAAG/B,EAAEC,EAAEK,GAAGE,GAAG,CAAC,GAAGF,MAAM,EAAE,EAAEE,GAAG,GAAG,MAAO,GAAE,QAAQC,GAAGH,GAAGI,GAAGJ,GAAGE,GAAG,EAAEkB,GAAG,EAAEA,GAAG1B,EAAE,OAAO,EAAE0B,GAAG,CAAC,IAAIC,GAAG3B,EAAE,WAAW0B,EAAE,EAAE,GAAGC,IAAI,OAAOA,IAAI,MAAM,CAAC,IAAIC,GAAG5B,EAAE,WAAW,EAAE0B,EAAE,EAAEC,GAAG,QAAQA,GAAG,OAAO,IAAIC,GAAG,IAAI,CAAC,GAAGD,IAAI,IAAI,CAAC,GAAGrB,IAAII,GAAG,MAAMT,EAAEK,OAAO,CAAC,EAAEqB,EAAE,SAASA,IAAI,KAAK,CAAC,GAAGrB,GAAG,GAAGI,GAAG,MAAMT,EAAEK,OAAO,CAAC,EAAE,IAAIqB,IAAI,EAAE1B,EAAEK,OAAO,CAAC,EAAE,IAAIqB,GAAG,EAAE,SAASA,IAAI,MAAM,CAAC,GAAGrB,GAAG,GAAGI,GAAG,MAAMT,EAAEK,OAAO,CAAC,EAAE,IAAIqB,IAAI,GAAG1B,EAAEK,OAAO,CAAC,EAAE,IAAIqB,IAAI,EAAE,GAAG1B,EAAEK,OAAO,CAAC,EAAE,IAAIqB,GAAG,EAAE,KAAK,CAAC,GAAGrB,GAAG,GAAGI,GAAG,MAAMT,EAAEK,OAAO,CAAC,EAAE,IAAIqB,IAAI,GAAG1B,EAAEK,OAAO,CAAC,EAAE,IAAIqB,IAAI,GAAG,GAAG1B,EAAEK,OAAO,CAAC,EAAE,IAAIqB,IAAI,EAAE,GAAG1B,EAAEK,OAAO,CAAC,EAAE,IAAIqB,GAAG,EAAE,CAAC,CAAC,OAAO1B,EAAEK,KAAK,CAAC,EAAE,EAAEA,GAAGG,EAAE,CAAC,SAASuB,GAAGhC,EAAEC,EAAEK,GAAG,CAAC,OAAOyB,GAAG/B,EAAEhH,EAAE,EAAEiH,EAAEK,EAAE,CAAC,CAAC,IAAIf,GAAGE,GAAGC,GAAGC,GAAGsC,GAAGrC,GAAGC,GAAGC,GAAGC,GAAGzC,IAAIiC,GAAG1E,EAAE,QAAQ,SAAS2E,GAAGQ,EAAE,CAACT,GAAGS,EAAEnF,EAAE,MAAM4E,GAAG,IAAI,UAAUO,CAAC,EAAEnF,EAAE,OAAO8E,GAAG,IAAI,WAAWK,CAAC,EAAEnF,EAAE,OAAO+E,GAAG,IAAI,WAAWI,CAAC,EAAEnF,EAAE,OAAO6E,GAAG,IAAI,WAAWM,CAAC,EAAEnF,EAAE,QAAQoH,GAAG,IAAI,YAAYjC,CAAC,EAAEnF,EAAE,QAAQgF,GAAG,IAAI,YAAYG,CAAC,EAAEnF,EAAE,QAAQiF,GAAG,IAAI,aAAaE,CAAC,EAAEnF,EAAE,QAAQkF,GAAG,IAAI,aAAaC,CAAC,CAAC,CAAC,IAAIkC,GAAGrH,EAAE,gBAAgB,SAAS,GAAGyC,EAAEgC,GAAGzE,EAAE,WAAW0E,GAAG1E,EAAE,eAAeA,EAAE,WAAWyE,GAAGzE,EAAE,mBAAmByE,GAAG,IAAI,YAAY,OAAO,CAAC,QAAQ4C,GAAG,MAAM,QAAQ,MAAM,OAAO,EAAE,CAAC,EAAE,EAAE5C,GAAG,kBAAkB,mBAAmB,MAAMe,EAAE,6NAA6N,EAAEhD,GAAGgD,EAAE,2GAA2G,EAAE,MAAM,YAAY,EAAEf,KAAKC,GAAGD,GAAG,QAAQ4C,GAAG3C,GAAG,WAAWC,GAAGD,EAAE,EAAE,IAAI4C,GAAGC,GAAG,CAAC,EAAEC,GAAG,CAAC,EAAEC,GAAG,CAAC,EAAEC,GAAG,GAAG,SAAS5B,IAAI,CAAC,OAAOO,EAAE,CAAC,SAASsB,IAAI,CAAC,GAAG3H,EAAE,OAAO,IAAI,OAAOA,EAAE,QAAQ,aAAaA,EAAE,OAAO,CAACA,EAAE,MAAM,GAAGA,EAAE,OAAO,QAAQ4H,GAAG5H,EAAE,OAAO,MAAM,CAAC,EAAE6H,GAAGN,EAAE,CAAC,CAAC,SAASO,IAAI,CAACJ,GAAG,GAAG,CAACjF,GAAGoF,GAAGL,EAAE,CAAC,CAAC,SAASO,IAAI,CAAC,GAAG,CAACtF,EAAE,CAAC,GAAGzC,EAAE,QAAQ,IAAI,OAAOA,EAAE,SAAS,aAAaA,EAAE,QAAQ,CAACA,EAAE,OAAO,GAAGA,EAAE,QAAQ,QAAQgI,GAAGhI,EAAE,QAAQ,MAAM,CAAC,EAAE6H,GAAGJ,EAAE,CAAC,CAAC,CAAC,SAASG,GAAGzC,EAAE,CAACoC,GAAG,QAAQpC,CAAC,CAAC,CAAC,SAAS8C,GAAG9C,EAAE,CAACqC,GAAG,QAAQrC,CAAC,CAAC,CAAC,SAAS6C,GAAG7C,EAAE,CAACsC,GAAG,QAAQtC,CAAC,CAAC,CAAC,IAAI+C,GAAG,EAAEC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAGlD,EAAE,CAAC+C,KAAKlI,EAAE,wBAAwBA,EAAE,uBAAuBkI,EAAE,CAAC,CAAC,SAASI,GAAGnD,EAAE,CAAC,GAAG+C,KAAKlI,EAAE,wBAAwBA,EAAE,uBAAuBkI,EAAE,EAAEA,IAAI,IAAIC,KAAK,OAAO,cAAcA,EAAE,EAAEA,GAAG,MAAMC,IAAI,CAAC,IAAIhD,EAAEgD,GAAGA,GAAG,KAAKhD,EAAE,CAAC,CAAC,CAAC,SAASkB,GAAGnB,EAAE,CAACnF,EAAE,SAASA,EAAE,QAAQmF,CAAC,EAAEA,EAAE,WAAWA,EAAE,IAAIK,EAAEL,CAAC,EAAEqB,GAAG,GAAGC,GAAG,EAAEtB,GAAG,2CAA2C,IAAIC,EAAE,IAAI,YAAY,aAAaD,CAAC,EAAE,MAAMzE,EAAE0E,CAAC,EAAEA,CAAC,CAAC,IAAImD,GAAG,wCAAwC,SAASC,GAAGrD,EAAE,CAAC,OAAOA,EAAE,WAAWoD,EAAE,CAAC,CAAC,SAAS7C,GAAGP,EAAE,CAAC,OAAOA,EAAE,WAAW,SAAS,CAAC,CAAC,IAAIsD,GAAGA,GAAG,uCAAuCD,GAAGC,EAAE,IAAIA,GAAG9F,EAAE8F,EAAE,GAAG,SAASC,GAAGvD,EAAE,CAAC,GAAG,CAAC,GAAGA,GAAGsD,IAAIrC,GAAG,OAAO,IAAI,WAAWA,EAAE,EAAE,GAAGtD,EAAE,OAAOA,EAAEqC,CAAC,EAAE,KAAK,iDAAiD,OAAOC,EAAE,CAACkB,GAAGlB,CAAC,CAAC,CAAC,CAAC,SAASuD,IAAI,CAAC,GAAG,CAACvC,KAAKf,GAAGxC,GAAG,CAAC,GAAG,OAAO,OAAO,YAAY,CAAC6C,GAAG+C,EAAE,EAAE,OAAO,MAAMA,GAAG,CAAC,YAAY,aAAa,CAAC,EAAE,KAAK,SAAStD,EAAE,CAAC,GAAG,CAACA,EAAE,GAAG,KAAK,uCAAuCsD,GAAG,IAAI,OAAOtD,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,UAAU,CAAC,OAAOuD,GAAGD,EAAE,CAAC,CAAC,EAAE,GAAGnD,EAAE,OAAO,IAAI,QAAQ,SAASH,EAAEC,EAAE,CAACE,EAAEmD,GAAG,SAAShD,GAAG,CAACN,EAAE,IAAI,WAAWM,EAAE,CAAC,CAAC,EAAEL,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,QAAQ,QAAQ,EAAE,KAAK,UAAU,CAAC,OAAOsD,GAAGD,EAAE,CAAC,CAAC,CAAC,CAAC,SAASG,IAAI,CAAC,IAAIzD,EAAE,CAAC,IAAI0D,GAAG,uBAAuBA,EAAE,EAAE,SAASzD,EAAEyB,GAAGC,GAAG,CAAC,IAAIC,GAAGF,GAAG,QAAQ,GAAG7G,EAAE,IAAI+G,GAAG+B,GAAG9I,EAAE,IAAI,oBAAoB,EAAEsH,GAAGtH,EAAE,IAAI,0BAA0BiI,GAAGjI,EAAE,IAAI,iBAAiB,EAAEuG,GAAGO,GAAG,CAACrE,EAAE,CAAC,IAAIuE,GAAG+B,GAAG,cAAc,OAAOA,GAAG,cAAc,QAAQ,SAASC,GAAG,CAACD,GAAG,uBAAuBC,GAAG,UAAU,CAAC,EAAEhC,IAAIsB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC7F,GAAG4F,GAAG,kBAAkB,EAAE,SAAS5C,GAAGoB,GAAG,CAACzB,EAAEyB,GAAG,SAASA,GAAG,MAAM,CAAC,CAAC,SAASlB,GAAGkB,GAAG,CAAC,OAAO8B,GAAG,EAAE,KAAK,SAAS7B,GAAG,CAAC,OAAO,YAAY,YAAYA,GAAG3B,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS2B,GAAG,CAAC,OAAOA,EAAE,CAAC,EAAE,KAAKD,GAAG,SAASC,GAAG,CAACtB,EAAE,0CAA0CsB,EAAE,EAAER,GAAGQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAASlB,IAAI,CAAC,MAAM,CAACQ,IAAI,OAAO,YAAY,sBAAsB,YAAY,CAACoC,GAAGC,EAAE,GAAG,CAAC/C,GAAG+C,EAAE,GAAG,CAACjG,GAAG,OAAO,OAAO,WAAW,MAAMiG,GAAG,CAAC,YAAY,aAAa,CAAC,EAAE,KAAK,SAAS5B,GAAG,CAAC,IAAIC,GAAG,YAAY,qBAAqBD,GAAG1B,CAAC,EAAE,OAAO2B,GAAG,KAAKrB,GAAG,SAASsB,GAAG,CAAC,OAAOvB,EAAE,kCAAkCuB,EAAE,EAAEvB,EAAE,2CAA2C,EAAEG,GAAGF,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEE,GAAGF,EAAE,CAAC,CAAC,GAAGzF,EAAE,gBAAgB,GAAG,CAAC,IAAI6F,GAAG7F,EAAE,gBAAgBmF,EAAEC,CAAC,EAAE,OAAOS,EAAE,OAAOgB,GAAG,CAACrB,EAAE,sDAAsDqB,EAAE,EAAEnG,EAAEmG,EAAE,CAAC,CAAC,OAAOjB,GAAG,EAAE,MAAMlF,CAAC,EAAE,CAAC,CAAC,CAAC,IAAIuI,GAAGC,GAAGC,GAAG,CAAC,EAAE,SAAS5D,GAAGJ,EAAE,CAAC,KAAK,KAAK,aAAa,KAAK,QAAQ,gCAAgCA,EAAE,IAAI,KAAK,OAAOA,CAAC,CAAC,SAASiE,GAAGjE,EAAE,CAAC,IAAIC,EAAE2D,GAAG,SAAS5D,CAAC,EAAE,OAAO4D,GAAG,SAAS5D,CAAC,EAAEC,EAAE,UAAU,EAAEiE,GAAGlE,CAAC,EAAE4D,GAAG,eAAe,OAAOA,GAAG,eAAe,QAAQ3D,CAAC,EAAE,CAAC,EAAEA,EAAE,YAAY,CAAC,CAAC,SAASkE,GAAGnE,EAAE,CAAC,IAAIC,EAAE2D,GAAG,SAAS5D,CAAC,EAAEC,EAAE,YAAY,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,SAASmE,GAAGpE,EAAE,CAAC,IAAIC,EAAE2D,GAAG,SAAS5D,CAAC,EAAEuB,GAAGtB,CAAC,EAAE2D,GAAG,mBAAmB3D,CAAC,CAAC,CAAC,SAASoE,GAAGrE,EAAE,CAAC,IAAIC,EAAE2D,GAAG,aAAa,EAAE,GAAG,CAAC3D,EAAE,MAAO,GAAE2D,GAAG,eAAe,KAAK3D,CAAC,EAAE2D,GAAG,SAAS5D,EAAE,WAAW,EAAEC,EAAEA,EAAE,YAAYD,EAAE,YAAY,IAAIM,GAAG,CAAC,IAAI,MAAM,cAAcN,EAAE,aAAa,IAAIA,EAAE,IAAI,YAAYA,EAAE,WAAW,EAAE,OAAOC,EAAE,WAAW,IAAI,CAAC5C,GAAG4C,EAAE,IAAI,EAAEA,EAAE,YAAYK,GAAGN,EAAE,YAAY,EAAE,OAAOC,EAAE,UAAU,EAAEA,EAAE,QAAQA,EAAE,WAAW,EAAE,CAAC,CAAC,IAAIqE,GAAG,CAAC,QAAQ,OAAO,IAAI,UAAU,CAACA,GAAG,SAAS,EAAE,IAAItE,EAAEvF,EAAE,EAAE6J,GAAG,QAAQ,IAAI,CAAC,EAAE,OAAOtE,CAAC,EAAE,OAAO,SAASA,EAAE,CAAC,IAAIC,EAAE6B,GAAG9B,CAAC,EAAE,OAAOC,CAAC,CAAC,EAAE,SAASsE,GAAGvE,EAAE,CAAC,GAAG1C,EAAE,OAAOkH,GAAG,EAAE,EAAExE,CAAC,EAAEsB,GAAGtB,EAAEW,GAAG,IAAIiD,GAAG,oBAAoB,EAAE/I,EAAE,QAAQA,EAAE,OAAOmF,CAAC,EAAEqB,GAAG,IAAIxE,EAAEmD,EAAE,IAAII,GAAGJ,CAAC,CAAC,CAAC,CAAC,SAASyE,GAAGzE,EAAEC,EAAE,CAAC,GAAGqB,GAAGtB,EAAE,CAACC,GAAG3C,EAAE,MAAMoH,GAAG1E,CAAC,EAAE,SAASuE,GAAGvE,CAAC,CAAC,CAAC,IAAI2E,GAAGF,GAAG,SAASG,GAAG5E,EAAE,CAAC,GAAGA,aAAaI,IAAIJ,GAAG,SAAS,OAAOsB,GAAGzE,EAAE,EAAEmD,CAAC,CAAC,CAAC,IAAI4D,GAAG,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC,EAAE,iBAAiB,CAAC,EAAE,SAAS,CAAC,EAAE,KAAK,UAAU,CAACtG,EAAEsG,GAAG,WAAW,EAAEA,GAAG,eAAe,CAAC,EAAE,eAAe,UAAU,CAAC,QAAQ5D,EAAE,EAAEA,KAAK4D,GAAG,qBAAqB,CAAC,EAAE,WAAW,UAAU,CAAC1C,GAAG,EAAE,EAAE,cAAc,SAASlB,EAAE,CAACsB,GAAGtB,CAAC,EAAE,oBAAoB,UAAU,CAAC,QAAQA,KAAK,OAAO,OAAO4D,GAAG,QAAQ,EAAEA,GAAG,mBAAmB5D,CAAC,EAAE,QAAQA,KAAK4D,GAAG,cAAc5D,EAAE,UAAU,EAAE4D,GAAG,cAAc,CAAC,CAAC,EAAE,mBAAmB,SAAS5D,EAAE,CAAC,IAAIC,EAAED,EAAE,YAAY,OAAO4D,GAAG,SAAS3D,CAAC,EAAE2D,GAAG,cAAc,KAAK5D,CAAC,EAAE4D,GAAG,eAAe,OAAOA,GAAG,eAAe,QAAQ5D,CAAC,EAAE,CAAC,EAAEA,EAAE,YAAY,EAAE3C,GAAG2C,EAAE,MAAM,EAAEkE,GAAGjE,CAAC,CAAC,EAAE,sBAAsB,SAASD,EAAE,CAAC,EAAE,cAAc,UAAU,CAAC4D,GAAG,iBAAiB,QAAQ5D,GAAGA,EAAE,CAAC,CAAC,EAAE,uBAAuB,SAASA,EAAEC,EAAE,CAACD,EAAE,UAAUU,IAAI,CAAC,IAAIgB,GAAGhB,GAAG,KAAKiB,GAAGD,GAAG,IAAI,GAAG1B,EAAE,cAAc4D,GAAG,oCAAoC5D,EAAE,aAAa0B,GAAG,cAAcA,GAAG,cAAcmD,GAAG,EAAE,CAAC,IAAIjD,GAAGgC,GAAG,SAASlC,GAAG,YAAY,EAAEE,GAAGA,GAAG,YAAYF,GAAGA,GAAG,YAAY,EAAErB,EAAE,0CAA0CsB,GAAG,uBAAuBD,GAAG,aAAa,qCAAqC,EAAEkC,GAAG,oCAAoC,OAAO,MAAM,CAACjC,KAAK,uBAAuBmD,GAAGpD,GAAG,KAAK,EAAEC,KAAK,cAAc0C,GAAG3C,EAAE,EAAEC,KAAK,gBAAgByC,GAAG1C,GAAG,MAAM,EAAEC,KAAK,aAAasC,GAAGvC,GAAG,MAAM,EAAEC,KAAK,eAAewC,GAAGzC,GAAG,MAAM,EAAEC,KAAK,UAAU3B,EAAE,OAAO,GAAG3C,GAAG2C,EAAE,MAAM,EAAEC,GAAGA,EAAED,CAAC,EAAEA,EAAE,YAAYA,EAAE,WAAW,GAAG2B,KAAK,QAAQf,EAAE,UAAUc,GAAG,SAAS,KAAKA,GAAG,IAAI,EAAEC,KAAK,WAAWtB,EAAE,UAAUqB,GAAG,SAAS,KAAKA,GAAG,IAAI,EAAEC,KAAK,QAAQ,MAAM,UAAUD,GAAG,SAAS,KAAKA,GAAG,IAAI,EAAEA,GAAG,SAAS,eAAe1B,EAAE,YAAY0B,EAAE,EAAEC,KAAK,cAAc9G,EAAE6G,GAAG,OAAO,EAAE,GAAGA,GAAG,IAAI,EAAEC,IAAItB,EAAE,kCAAkCsB,EAAE,EAAEiC,GAAG,oCAAoC,MAAM,EAAE5D,EAAE,QAAQU,IAAI,CAAC,IAAIgB,GAAG,wBAAwB,MAAMrB,EAAEqB,GAAG,IAAIhB,GAAG,SAAS,IAAIA,GAAG,OAAO,KAAKA,GAAG,OAAO,EAAEA,EAAE,EAAErD,IAAI2C,EAAE,GAAG,UAAU,SAASU,GAAG,CAACV,EAAE,UAAU,CAAC,KAAKU,EAAE,CAAC,CAAC,CAAC,EAAEV,EAAE,GAAG,QAAQ,SAASU,GAAG,CAACV,EAAE,QAAQU,EAAE,CAAC,CAAC,EAAEV,EAAE,GAAG,eAAe,UAAU,CAAC,CAAC,GAAG,IAAIM,GAAG,CAAC,EAAEE,GAAG,CAAC,SAAS,UAAU,QAAQ,UAAU,EAAE,QAAQC,MAAMD,GAAG3F,EAAE,eAAe4F,EAAE,GAAGH,GAAG,KAAKG,EAAE,EAAET,EAAE,YAAY,CAAC,IAAI,OAAO,SAASM,GAAG,UAAUzF,EAAE,qBAAqBjC,EAAE,WAAW0G,GAAG,WAAW8B,EAAE,CAAC,CAAC,EAAE,qBAAqB,UAAU,CAAC,IAAIpB,EAAEC,EAAEzC,EAAE,2CAA2C,EAAEwC,EAAE,IAAI,OAAOC,CAAC,EAAE2D,GAAG,cAAc,KAAK5D,CAAC,CAAC,EAAE,aAAa,UAAU,CAAC,OAAO4D,GAAG,cAAc,QAAQ,IAAIA,GAAG,qBAAqB,EAAEA,GAAG,uBAAuBA,GAAG,cAAc,CAAC,CAAC,GAAGA,GAAG,cAAc,IAAI,CAAC,CAAC,EAAE/I,EAAE,QAAQ+I,GAAG,SAASlB,GAAG1C,EAAE,CAAC,KAAKA,EAAE,OAAO,GAAGA,EAAE,MAAM,EAAEnF,CAAC,CAAC,CAAC,SAASkK,IAAI,CAAC,IAAI/E,EAAE6E,GAAG,EAAE5E,EAAExF,EAAE,EAAEuF,EAAE,KAAK,CAAC,EAAEM,GAAG7F,EAAE,EAAEuF,EAAE,KAAK,CAAC,EAAEQ,GAAGP,EAAEK,GAAG0E,GAAG/E,EAAEO,EAAE,EAAEyE,GAAGhF,CAAC,CAAC,CAACpF,EAAE,oBAAoBkK,GAAG,SAASL,GAAG1E,EAAE,CAAC,GAAG1C,EAAE,OAAOkH,GAAG,EAAE,EAAExE,CAAC,EAAE,GAAG,CAAC2E,GAAG3E,CAAC,CAAC,OAAOC,EAAE,CAAC2E,GAAG3E,CAAC,CAAC,CAAC,CAAC,IAAIiF,GAAG,CAAC,EAAE,SAASC,GAAGnF,EAAE,CAAC,IAAIC,EAAEiF,GAAGlF,CAAC,EAAE,OAAOC,IAAID,GAAGkF,GAAG,SAASA,GAAG,OAAOlF,EAAE,GAAGkF,GAAGlF,CAAC,EAAEC,EAAEkC,GAAG,IAAInC,CAAC,GAAGC,CAAC,CAAC,SAASmF,GAAGpF,EAAEC,EAAE,CAAC,IAAIK,GAAG6E,GAAGnF,CAAC,EAAEC,CAAC,EAAEU,GAAG,EAAEiD,GAAG,cAActD,EAAE,EAAE+E,GAAG/E,EAAE,CAAC,CAACzF,EAAE,iBAAiBuK,GAAG,SAASzB,GAAG3D,EAAE,CAAC4D,GAAG,iBAAiB,KAAK5D,CAAC,CAAC,CAAC,SAASsF,GAAGtF,EAAE,CAACuF,GAAGvF,EAAE,CAACtC,EAAE,EAAE,CAACwC,CAAC,EAAE0D,GAAG,cAAc,CAAC,CAAC,SAAS4B,GAAGxF,EAAE,CAAC1C,EAAE,YAAY,CAAC,IAAI,gBAAgB,OAAO0C,CAAC,CAAC,EAAEoE,GAAGpE,CAAC,CAAC,CAAC,SAASyF,GAAGzF,EAAEC,EAAEK,GAAGE,GAAG,CAAC,OAAOlD,EAAEkH,GAAG,EAAE,EAAExE,EAAEC,EAAEK,GAAGE,EAAE,EAAEkF,GAAG1F,EAAEC,EAAEK,GAAGE,EAAE,CAAC,CAAC,SAASkF,GAAG1F,EAAEC,EAAEK,GAAGE,GAAG,CAAC,GAAG,OAAO,mBAAmB,YAAY,OAAOH,EAAE,qFAAqF,EAAE,EAAE,IAAII,GAAG,CAAC,EAAEC,GAAG,EAAE,GAAGpD,IAAImD,GAAG,SAAS,GAAGC,IAAI,OAAO+E,GAAGzF,EAAEC,EAAEK,GAAGE,EAAE,EAAE,GAAGE,GAAG,OAAOA,GAAG,IAAIgB,GAAG,CAAC,aAAapB,GAAG,YAAYN,EAAE,IAAIQ,GAAG,aAAaC,EAAE,EAAE,OAAOnD,GAAGoE,GAAG,IAAI,cAAc,YAAYA,GAAGjB,EAAE,EAAE,GAAG4D,GAAG3C,EAAE,CAAC,CAAC,SAASiE,IAAI,CAAC,MAAO,MAAK,CAAC,IAAIC,GAAG,GAAG,SAASC,IAAI,CAAC,OAAOD,EAAE,CAAC,SAASd,GAAG9E,EAAE,CAAC,QAAQ,MAAMvF,EAAE,EAAEuF,GAAG,EAAE,CAAC,EAAE6E,GAAG,GAAGiB,GAAG9F,CAAC,EAAE,QAAQ,gBAAgBvF,EAAE,EAAEuF,GAAG,EAAE,EAAE,CAAC,CAAC,CAACnF,EAAE,6BAA6BiK,GAAG,SAASiB,GAAG/F,EAAEC,EAAEK,GAAGE,GAAG,CAAC,GAAGR,GAAGC,EAAE,WAAW,IAAI6E,GAAGtE,EAAE,CAAC,UAAUlD,EAAE,YAAY,CAAC,aAAa0C,EAAE,IAAI,uBAAuB,MAAMQ,EAAE,CAAC,MAAM,CAAC,IAAIC,GAAGmD,GAAG,SAAS5D,CAAC,EAAE,GAAG,CAACS,GAAG,OAAOA,GAAG,YAAY,CAAC,IAAI,uBAAuB,MAAMD,EAAE,CAAC,CAAC,CAAC,MAAO,EAAC,CAAC,SAASwF,GAAGhG,EAAEC,EAAEK,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS2F,IAAI,CAAC9E,GAAG,EAAE,CAAC,CAAC,SAAS+E,GAAGlG,EAAE,CAACkG,GAAG,QAAQA,GAAG,MAAM,CAAC,GAAGA,GAAG,MAAMlG,CAAC,IAAIkG,GAAG,MAAMlG,CAAC,EAAE,EAAE3C,IAAI2C,EAAE,YAAYA,GAAGK,EAAEL,CAAC,EAAE,CAAC,SAASmG,IAAI,CAAC9I,GAAGK,GAAGwI,GAAG,0IAA0I,CAAC,CAAC,SAASE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,SAASC,IAAI,CAAC,MAAO,WAAU,CAAC,SAASC,IAAI,CAAC,OAAOD,GAAG,CAAC,CAAC,IAAIE,GAAGlJ,EAAEkJ,GAAG,IAAI,CAAC,IAAIvG,EAAE,QAAQ,OAAO,EAAE,OAAOA,EAAE,CAAC,EAAE,IAAIA,EAAE,CAAC,EAAE,GAAG,EAAEuG,GAAG,IAAI,YAAY,WAAW,YAAY,IAAI,EAAE,SAASC,GAAGxG,EAAEC,EAAEK,GAAG,CAACtH,EAAE,EAAE,WAAWgH,IAAI,EAAEC,IAAI,EAAEA,EAAEK,KAAK,CAAC,CAAC,CAAC,SAASmG,IAAI,CAAC,OAAOpJ,EAAE4B,GAAG,EAAE,KAAK,EAAE,OAAO,UAAU,mBAAmB,CAAC,SAASyH,GAAG1G,EAAE,CAAC,IAAIC,EAAE0G,GAAG,EAAErG,GAAGN,EAAE,EAAE,OAAOiF,GAAGhF,CAAC,EAAEK,EAAE,CAAC,SAASkE,GAAGxE,EAAEC,EAAE,CAAC,IAAIK,GAAG,UAAU,OAAO,EAAEE,GAAG,UAAU,OAAOkG,GAAG,IAAI,CAAC,QAAQjG,GAAGH,GAAGI,GAAGkG,GAAGnG,GAAG,CAAC,EAAEiB,GAAGhB,IAAI,EAAEiB,GAAG,EAAEA,GAAGrB,GAAGqB,KAAK,CAAC,IAAIC,GAAGpB,GAAG,EAAEmB,EAAE,EAAE/G,EAAE,EAAE8G,GAAGC,KAAK,CAAC,EAAEC,EAAE,CAAC,OAAOiF,GAAG7G,EAAES,GAAGC,GAAGT,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI6G,GAAG,CAAC,EAAE,SAASC,GAAG/G,EAAEC,EAAEK,GAAG,CAACwG,GAAG,OAAO7G,EAAE,QAAQO,GAAGF,IAAI,EAAEG,GAAG,EAAEA,GAAGR,EAAEQ,KAAKqG,GAAGrG,EAAE,EAAE7F,EAAE,EAAE4F,GAAGC,KAAK,CAAC,EAAE,IAAIC,GAAGV,EAAE,EAAE0B,GAAGhB,GAAGsD,GAAG,CAAChE,EAAE,CAAC,EAAEgH,GAAGhH,CAAC,EAAE,OAAO0B,GAAG,MAAM,KAAKoF,EAAE,CAAC,CAAC,SAASG,GAAGjH,EAAE,CAAC,GAAG,CAAC,OAAOV,GAAG,KAAKU,EAAET,GAAG,WAAW,QAAQ,EAAE,EAAEC,GAAGF,GAAG,MAAM,EAAE,CAAC,OAAOW,EAAE,CAAC,CAAC,CAAC,SAASiH,GAAGlH,EAAE,CAAC,IAAIC,EAAEjH,EAAE,EAAE,OAAO,GAAGgH,EAAEA,IAAI,EAAEA,GAAGC,EAAE,MAAM,GAAG,IAAIK,GAAG+F,GAAG,EAAE,GAAGrG,EAAEM,GAAG,MAAM,GAAG,IAAIE,GAAG,CAACoB,GAAGC,KAAKD,IAAIC,GAAGD,GAAGC,IAAIA,GAAG,QAAQpB,GAAG,EAAEA,IAAI,EAAEA,IAAI,EAAE,CAAC,IAAIC,GAAGT,GAAG,EAAE,GAAGQ,IAAIC,GAAG,KAAK,IAAIA,GAAGV,EAAE,SAAS,EAAE,IAAI0B,GAAG,KAAK,IAAIpB,GAAGE,GAAG,KAAK,IAAIR,EAAEU,EAAE,EAAE,KAAK,CAAC,EAAEiB,GAAGsF,GAAGvF,EAAE,EAAE,GAAGC,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,SAASwF,IAAI,CAAC,KAAK,QAAQ,CAAC,SAASC,GAAGpH,EAAE,CAAC,OAAO1C,EAAEkH,GAAG,EAAE,EAAExE,CAAC,EAAE,EAAE,CAAC,SAASqH,GAAGrH,EAAEC,EAAEK,GAAGE,GAAGC,GAAG,CAAC,OAAOnD,EAAEkH,GAAG,EAAE,EAAExE,EAAEC,EAAEK,GAAGE,GAAGC,EAAE,EAAE,EAAE,CAAC,IAAI6G,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAASC,GAAGvH,EAAEC,EAAE,CAAC,IAAIK,GAAGgH,GAAGtH,CAAC,EAAEC,IAAI,GAAGA,IAAI,KAAKD,IAAI,EAAEY,EAAEP,GAAGoB,GAAGnB,GAAG,CAAC,CAAC,EAAEA,GAAG,OAAO,GAAGA,GAAG,KAAKL,CAAC,CAAC,CAAC,SAASuH,GAAGxH,EAAEC,EAAEK,GAAGE,GAAG,CAAC,GAAGlD,EAAE,OAAOkH,GAAG,EAAE,EAAExE,EAAEC,EAAEK,GAAGE,EAAE,EAAE,QAAQC,GAAG,EAAEC,GAAG,EAAEA,GAAGJ,GAAGI,KAAK,CAAC,IAAIgB,GAAGhH,EAAE,EAAEuF,IAAI,CAAC,EAAE0B,GAAGjH,EAAE,EAAEuF,EAAE,IAAI,CAAC,EAAEA,GAAG,EAAE,QAAQ2B,GAAG,EAAEA,GAAGD,GAAGC,KAAK2F,GAAGvH,EAAEhH,EAAE,EAAE0I,GAAGE,KAAK,CAAC,CAAC,EAAEnB,IAAIkB,EAAE,CAAC,OAAOjH,EAAE,EAAE8F,KAAK,CAAC,EAAEC,GAAG,CAAC,CAAC,SAASgH,GAAGzH,EAAE,CAAC,IAAIC,EAAEpF,EAAE,IAAImF,CAAC,EAAE,OAAOC,CAAC,CAAC,SAASyH,GAAG1H,EAAEC,EAAE,CAACnH,EAAE,EAAE,IAAIkH,EAAEC,IAAI,CAAC,CAAC,CAAC,SAAS0H,GAAG3H,EAAEC,EAAEK,GAAGE,GAAGC,GAAG,CAAC,IAAIC,GAAG,CAAC,OAAOkH,IAAI,CAAC,IAAIC,GAAG,EAAE,GAAGD,IAAI,MAAMA,KAAK,EAAE,CAAC,IAAIE,IAAIF,GAAG,QAAQ,GAAG,EAAEC,GAAGjB,GAAGkB,EAAE,EAAE9F,GAAG4F,GAAGC,GAAGC,EAAE,CAAC,CAAC,OAAOD,EAAE,EAAE,MAAMD,IAAI,CAAC,IAAIC,GAAGjB,GAAGgB,GAAG,MAAM,EAAE,OAAOF,GAAGE,GAAGC,EAAE,EAAEA,EAAE,CAAC,EAAE,SAASnG,GAAGkG,GAAG,CAAC,OAAO3H,IAAI,SAAS6B,GAAG8F,EAAE,EAAE3H,IAAI,UAAU,CAAC,CAAC2H,GAAGA,EAAE,CAAC,IAAIjG,GAAG8F,GAAGzH,CAAC,EAAE4B,GAAG,CAAC,EAAEC,GAAG,EAAE,GAAGrB,GAAG,QAAQqD,GAAG,EAAEA,GAAGrD,GAAG,OAAOqD,KAAK,CAAC,IAAIkE,GAAGrH,GAAGJ,GAAGuD,EAAE,CAAC,EAAEkE,IAAIlG,KAAK,IAAIA,GAAG8E,GAAG,GAAG/E,GAAGiC,EAAE,EAAEkE,GAAGvH,GAAGqD,EAAE,CAAC,GAAGjC,GAAGiC,EAAE,EAAErD,GAAGqD,EAAE,CAAC,CAAC,IAAImE,GAAGrG,GAAG,MAAM,KAAKC,EAAE,EAAE,SAASqG,GAAGL,GAAG,CAAC,OAAO/F,KAAK,GAAGoD,GAAGpD,EAAE,EAAEH,GAAGkG,EAAE,CAAC,CAAC,OAAOI,GAAGC,GAAGD,EAAE,EAAEA,EAAE,CAAC,SAASE,GAAGlI,EAAEC,EAAEK,GAAGE,GAAG,CAACF,GAAGA,IAAI,CAAC,EAAE,IAAIG,GAAGH,GAAG,MAAMoB,IAAIA,KAAK,UAAUA,KAAK,SAAS,EAAEhB,GAAGT,IAAI,SAAS,OAAOS,IAAID,IAAI,CAACD,GAAGiH,GAAGzH,CAAC,EAAE,UAAU,CAAC,OAAO2H,GAAG3H,EAAEC,EAAEK,GAAG,UAAUE,EAAE,CAAC,CAAC,CAACoD,GAAG,KAAK,EAAE,IAAIoD,GAAG,CAAC,KAAKzC,GAAGG,GAAGe,GAAG2B,GAAGC,GAAGG,EAAE,EAAE9D,GAAG,CAAC,iCAAiC4B,GAAG,4BAA4BE,GAAG,oBAAoBE,GAAG,uCAAuCC,GAAG,iCAAiCE,GAAG,8BAA8BE,GAAG,qCAAqCC,GAAG,MAAMC,GAAG,kCAAkCE,GAAG,oBAAoBC,GAAG,wBAAwBE,GAAG,mBAAmBC,GAAG,sBAAsBC,GAAG,6BAA6BC,GAAG,qCAAqCM,GAAG,uBAAuBG,GAAG,mCAAmCC,GAAG,KAAKxC,GAAG,SAASyC,GAAG,QAAQC,GAAG,SAASG,GAAG,OAAOlI,IAAIzE,EAAE,UAAU,EAAEsN,GAAG1E,GAAG,EAAE2E,GAAGvN,EAAE,mBAAmB,UAAU,CAAC,OAAOuN,GAAGvN,EAAE,mBAAmBA,EAAE,IAAI,mBAAmB,MAAM,KAAK,SAAS,CAAC,EAAEwN,GAAGxN,EAAE,MAAM,UAAU,CAAC,OAAOwN,GAAGxN,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEyN,GAAGzN,EAAE,yBAAyB,UAAU,CAAC,OAAOyN,GAAGzN,EAAE,yBAAyBA,EAAE,IAAI,yBAAyB,MAAM,KAAK,SAAS,CAAC,EAAE0N,GAAG1N,EAAE,mBAAmB,UAAU,CAAC,OAAO0N,GAAG1N,EAAE,mBAAmBA,EAAE,IAAI,mBAAmB,MAAM,KAAK,SAAS,CAAC,EAAE2N,GAAG3N,EAAE,iBAAiB,UAAU,CAAC,OAAO2N,GAAG3N,EAAE,iBAAiBA,EAAE,IAAI,iBAAiB,MAAM,KAAK,SAAS,CAAC,EAAE4N,GAAG5N,EAAE,cAAc,UAAU,CAAC,OAAO4N,GAAG5N,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAE6N,GAAG7N,EAAE,SAAS,UAAU,CAAC,OAAO6N,GAAG7N,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE8N,GAAG9N,EAAE,KAAK,UAAU,CAAC,OAAO8N,GAAG9N,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE+N,GAAG/N,EAAE,MAAM,UAAU,CAAC,OAAO+N,GAAG/N,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEgO,GAAGhO,EAAE,OAAO,UAAU,CAAC,OAAOgO,GAAGhO,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEiO,GAAGjO,EAAE,KAAK,UAAU,CAAC,OAAOiO,GAAGjO,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEkO,GAAGlO,EAAE,MAAM,UAAU,CAAC,OAAOkO,GAAGlO,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEmO,GAAGnO,EAAE,KAAK,UAAU,CAAC,OAAOmO,GAAGnO,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEoO,GAAGpO,EAAE,KAAK,UAAU,CAAC,OAAOoO,GAAGpO,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEqO,GAAGrO,EAAE,QAAQ,UAAU,CAAC,OAAOqO,GAAGrO,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAEsO,GAAGtO,EAAE,QAAQ,UAAU,CAAC,OAAOsO,GAAGtO,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAEuO,GAAGvO,EAAE,MAAM,UAAU,CAAC,OAAOuO,GAAGvO,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEwO,GAAGxO,EAAE,OAAO,UAAU,CAAC,OAAOwO,GAAGxO,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEyO,GAAGzO,EAAE,MAAM,UAAU,CAAC,OAAOyO,GAAGzO,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE0O,GAAG1O,EAAE,OAAO,UAAU,CAAC,OAAO0O,GAAG1O,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAE2O,GAAG3O,EAAE,OAAO,UAAU,CAAC,OAAO2O,GAAG3O,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAE4O,GAAG5O,EAAE,SAAS,UAAU,CAAC,OAAO4O,GAAG5O,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE6O,GAAG7O,EAAE,WAAW,UAAU,CAAC,OAAO6O,GAAG7O,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAE8O,GAAG9O,EAAE,eAAe,UAAU,CAAC,OAAO8O,GAAG9O,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAE+O,GAAG/O,EAAE,aAAa,UAAU,CAAC,OAAO+O,GAAG/O,EAAE,aAAaA,EAAE,IAAI,aAAa,MAAM,KAAK,SAAS,CAAC,EAAEgP,GAAGhP,EAAE,aAAa,UAAU,CAAC,OAAOgP,GAAGhP,EAAE,aAAaA,EAAE,IAAI,aAAa,MAAM,KAAK,SAAS,CAAC,EAAEiP,GAAGjP,EAAE,UAAU,UAAU,CAAC,OAAOiP,GAAGjP,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAEkP,GAAGlP,EAAE,YAAY,UAAU,CAAC,OAAOkP,GAAGlP,EAAE,YAAYA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAEmP,GAAGnP,EAAE,MAAM,UAAU,CAAC,OAAOmP,GAAGnP,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEoP,GAAGpP,EAAE,aAAa,UAAU,CAAC,OAAOoP,GAAGpP,EAAE,aAAaA,EAAE,IAAI,aAAa,MAAM,KAAK,SAAS,CAAC,EAAEqP,GAAGrP,EAAE,QAAQ,UAAU,CAAC,OAAOqP,GAAGrP,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAEsP,GAAGtP,EAAE,qBAAqB,UAAU,CAAC,OAAOsP,GAAGtP,EAAE,qBAAqBA,EAAE,IAAI,qBAAqB,MAAM,KAAK,SAAS,CAAC,EAAEuP,GAAGvP,EAAE,QAAQ,UAAU,CAAC,OAAOuP,GAAGvP,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAEwP,GAAGxP,EAAE,wBAAwB,UAAU,CAAC,OAAOwP,GAAGxP,EAAE,wBAAwBA,EAAE,IAAI,wBAAwB,MAAM,KAAK,SAAS,CAAC,EAAEyP,GAAGzP,EAAE,uBAAuB,UAAU,CAAC,OAAOyP,GAAGzP,EAAE,uBAAuBA,EAAE,IAAI,uBAAuB,MAAM,KAAK,SAAS,CAAC,EAAE0P,GAAG1P,EAAE,KAAK,UAAU,CAAC,OAAO0P,GAAG1P,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE2P,GAAG3P,EAAE,MAAM,UAAU,CAAC,OAAO2P,GAAG3P,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE4P,GAAG5P,EAAE,eAAe,UAAU,CAAC,OAAO4P,GAAG5P,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAE6P,GAAG7P,EAAE,SAAS,UAAU,CAAC,OAAO6P,GAAG7P,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE8P,GAAG9P,EAAE,QAAQ,UAAU,CAAC,OAAO8P,GAAG9P,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAE+P,GAAG/P,EAAE,eAAe,UAAU,CAAC,OAAO+P,GAAG/P,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAEgQ,GAAGhQ,EAAE,cAAc,UAAU,CAAC,OAAOgQ,GAAGhQ,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAEiQ,GAAGjQ,EAAE,uBAAuB,UAAU,CAAC,OAAOiQ,GAAGjQ,EAAE,uBAAuBA,EAAE,IAAI,uBAAuB,MAAM,KAAK,SAAS,CAAC,EAAEkQ,GAAGlQ,EAAE,MAAM,UAAU,CAAC,OAAOkQ,GAAGlQ,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEmQ,GAAGnQ,EAAE,YAAY,UAAU,CAAC,OAAOmQ,GAAGnQ,EAAE,YAAYA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAEoQ,GAAGpQ,EAAE,0BAA0B,UAAU,CAAC,OAAOoQ,GAAGpQ,EAAE,0BAA0BA,EAAE,IAAI,0BAA0B,MAAM,KAAK,SAAS,CAAC,EAAEqQ,GAAGrQ,EAAE,yBAAyB,UAAU,CAAC,OAAOqQ,GAAGrQ,EAAE,yBAAyBA,EAAE,IAAI,yBAAyB,MAAM,KAAK,SAAS,CAAC,EAAEsQ,GAAGtQ,EAAE,KAAK,UAAU,CAAC,OAAOsQ,GAAGtQ,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEuQ,GAAGvQ,EAAE,SAAS,UAAU,CAAC,OAAOuQ,GAAGvQ,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEwQ,GAAGxQ,EAAE,OAAO,UAAU,CAAC,OAAOwQ,GAAGxQ,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEyQ,GAAGzQ,EAAE,KAAK,UAAU,CAAC,OAAOyQ,GAAGzQ,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE0Q,GAAG1Q,EAAE,KAAK,UAAU,CAAC,OAAO0Q,GAAG1Q,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE2Q,GAAG3Q,EAAE,OAAO,UAAU,CAAC,OAAO2Q,GAAG3Q,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAE4Q,GAAG5Q,EAAE,eAAe,UAAU,CAAC,OAAO4Q,GAAG5Q,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAE6Q,GAAG7Q,EAAE,OAAO,UAAU,CAAC,OAAO6Q,GAAG7Q,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAE8Q,GAAG9Q,EAAE,UAAU,UAAU,CAAC,OAAO8Q,GAAG9Q,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAE+Q,GAAG/Q,EAAE,gBAAgB,UAAU,CAAC,OAAO+Q,GAAG/Q,EAAE,gBAAgBA,EAAE,IAAI,gBAAgB,MAAM,KAAK,SAAS,CAAC,EAAEgR,GAAGhR,EAAE,aAAa,UAAU,CAAC,OAAOgR,GAAGhR,EAAE,aAAaA,EAAE,IAAI,aAAa,MAAM,KAAK,SAAS,CAAC,EAAEiR,GAAGjR,EAAE,sBAAsB,UAAU,CAAC,OAAOiR,GAAGjR,EAAE,sBAAsBA,EAAE,IAAI,sBAAsB,MAAM,KAAK,SAAS,CAAC,EAAEkR,GAAGlR,EAAE,QAAQ,UAAU,CAAC,OAAOkR,GAAGlR,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAEmR,GAAGnR,EAAE,UAAU,UAAU,CAAC,OAAOmR,GAAGnR,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAEoR,GAAGpR,EAAE,SAAS,UAAU,CAAC,OAAOoR,GAAGpR,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEqR,GAAGrR,EAAE,cAAc,UAAU,CAAC,OAAOqR,GAAGrR,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAEsR,GAAGtR,EAAE,UAAU,UAAU,CAAC,OAAOsR,GAAGtR,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAEuR,GAAGvR,EAAE,OAAO,UAAU,CAAC,OAAOuR,GAAGvR,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEwR,GAAGxR,EAAE,OAAO,UAAU,CAAC,OAAOwR,GAAGxR,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEyR,GAAGzR,EAAE,KAAK,UAAU,CAAC,OAAOyR,GAAGzR,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE0R,GAAG1R,EAAE,SAAS,UAAU,CAAC,OAAO0R,GAAG1R,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE2R,GAAG3R,EAAE,WAAW,UAAU,CAAC,OAAO2R,GAAG3R,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAE4R,GAAG5R,EAAE,MAAM,UAAU,CAAC,OAAO4R,GAAG5R,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE6R,GAAG7R,EAAE,WAAW,UAAU,CAAC,OAAO6R,GAAG7R,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAE8R,GAAG9R,EAAE,UAAU,UAAU,CAAC,OAAO8R,GAAG9R,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAE+R,GAAG/R,EAAE,KAAK,UAAU,CAAC,OAAO+R,GAAG/R,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEgS,GAAGhS,EAAE,OAAO,UAAU,CAAC,OAAOgS,GAAGhS,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEiS,GAAGjS,EAAE,YAAY,UAAU,CAAC,OAAOiS,GAAGjS,EAAE,YAAYA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAEkS,GAAGlS,EAAE,YAAY,UAAU,CAAC,OAAOkS,GAAGlS,EAAE,YAAYA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAEmS,GAAGnS,EAAE,WAAW,UAAU,CAAC,OAAOmS,GAAGnS,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEoS,GAAGpS,EAAE,YAAY,UAAU,CAAC,OAAOoS,GAAGpS,EAAE,YAAYA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAEqS,GAAGrS,EAAE,KAAK,UAAU,CAAC,OAAOqS,GAAGrS,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEsS,GAAGtS,EAAE,SAAS,UAAU,CAAC,OAAOsS,GAAGtS,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEuS,GAAGvS,EAAE,WAAW,UAAU,CAAC,OAAOuS,GAAGvS,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEwS,GAAGxS,EAAE,eAAe,UAAU,CAAC,OAAOwS,GAAGxS,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAEyS,GAAGzS,EAAE,aAAa,UAAU,CAAC,OAAOyS,GAAGzS,EAAE,aAAaA,EAAE,IAAI,aAAa,MAAM,KAAK,SAAS,CAAC,EAAE0S,GAAG1S,EAAE,mBAAmB,UAAU,CAAC,OAAO0S,GAAG1S,EAAE,mBAAmBA,EAAE,IAAI,mBAAmB,MAAM,KAAK,SAAS,CAAC,EAAE2S,GAAG3S,EAAE,SAAS,UAAU,CAAC,OAAO2S,GAAG3S,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE4S,GAAG5S,EAAE,MAAM,UAAU,CAAC,OAAO4S,GAAG5S,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE6S,GAAG7S,EAAE,KAAK,UAAU,CAAC,OAAO6S,GAAG7S,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE8S,GAAG9S,EAAE,SAAS,UAAU,CAAC,OAAO8S,GAAG9S,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE+S,GAAG/S,EAAE,WAAW,UAAU,CAAC,OAAO+S,GAAG/S,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEgT,GAAGhT,EAAE,KAAK,UAAU,CAAC,OAAOgT,GAAGhT,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEiT,GAAGjT,EAAE,aAAa,UAAU,CAAC,OAAOiT,GAAGjT,EAAE,aAAaA,EAAE,IAAI,aAAa,MAAM,KAAK,SAAS,CAAC,EAAEkT,GAAGlT,EAAE,UAAU,UAAU,CAAC,OAAOkT,GAAGlT,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAEmT,GAAGnT,EAAE,KAAK,UAAU,CAAC,OAAOmT,GAAGnT,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEoT,GAAGpT,EAAE,qBAAqB,UAAU,CAAC,OAAOoT,GAAGpT,EAAE,qBAAqBA,EAAE,IAAI,qBAAqB,MAAM,KAAK,SAAS,CAAC,EAAEqT,GAAGrT,EAAE,qBAAqB,UAAU,CAAC,OAAOqT,GAAGrT,EAAE,qBAAqBA,EAAE,IAAI,qBAAqB,MAAM,KAAK,SAAS,CAAC,EAAEsT,GAAGtT,EAAE,qBAAqB,UAAU,CAAC,OAAOsT,GAAGtT,EAAE,qBAAqBA,EAAE,IAAI,qBAAqB,MAAM,KAAK,SAAS,CAAC,EAAEuT,GAAGvT,EAAE,UAAU,UAAU,CAAC,OAAOuT,GAAGvT,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAEwT,GAAGxT,EAAE,QAAQ,UAAU,CAAC,OAAOwT,GAAGxT,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAEyT,GAAGzT,EAAE,OAAO,UAAU,CAAC,OAAOyT,GAAGzT,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAE0T,GAAG1T,EAAE,KAAK,UAAU,CAAC,OAAO0T,GAAG1T,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE2T,GAAG3T,EAAE,OAAO,UAAU,CAAC,OAAO2T,GAAG3T,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAE4T,GAAG5T,EAAE,MAAM,UAAU,CAAC,OAAO4T,GAAG5T,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE6T,GAAG7T,EAAE,SAAS,UAAU,CAAC,OAAO6T,GAAG7T,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE8T,GAAG9T,EAAE,YAAY,UAAU,CAAC,OAAO8T,GAAG9T,EAAE,YAAYA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAE+T,GAAG/T,EAAE,MAAM,UAAU,CAAC,OAAO+T,GAAG/T,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEgU,EAAEhU,EAAE,OAAO,UAAU,CAAC,OAAOgU,EAAEhU,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEiU,GAAGjU,EAAE,gBAAgB,UAAU,CAAC,OAAOiU,GAAGjU,EAAE,gBAAgBA,EAAE,IAAI,gBAAgB,MAAM,KAAK,SAAS,CAAC,EAAEkU,GAAGlU,EAAE,oBAAoB,UAAU,CAAC,OAAOkU,GAAGlU,EAAE,oBAAoBA,EAAE,IAAI,oBAAoB,MAAM,KAAK,SAAS,CAAC,EAAEmU,GAAGnU,EAAE,uBAAuB,UAAU,CAAC,OAAOmU,GAAGnU,EAAE,uBAAuBA,EAAE,IAAI,uBAAuB,MAAM,KAAK,SAAS,CAAC,EAAEoU,GAAGpU,EAAE,2BAA2B,UAAU,CAAC,OAAOoU,GAAGpU,EAAE,2BAA2BA,EAAE,IAAI,2BAA2B,MAAM,KAAK,SAAS,CAAC,EAAEqU,GAAGrU,EAAE,SAAS,UAAU,CAAC,OAAOqU,GAAGrU,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEsU,GAAGtU,EAAE,kBAAkB,UAAU,CAAC,OAAOsU,GAAGtU,EAAE,kBAAkBA,EAAE,IAAI,kBAAkB,MAAM,KAAK,SAAS,CAAC,EAAEuU,GAAGvU,EAAE,OAAO,UAAU,CAAC,OAAOuU,GAAGvU,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEwU,GAAGxU,EAAE,OAAO,UAAU,CAAC,OAAOwU,GAAGxU,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEyU,GAAGzU,EAAE,WAAW,UAAU,CAAC,OAAOyU,GAAGzU,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAE0U,GAAG1U,EAAE,cAAc,UAAU,CAAC,OAAO0U,GAAG1U,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAE2U,GAAG3U,EAAE,UAAU,UAAU,CAAC,OAAO2U,GAAG3U,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAE4U,GAAG5U,EAAE,MAAM,UAAU,CAAC,OAAO4U,GAAG5U,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE6U,GAAG7U,EAAE,SAAS,UAAU,CAAC,OAAO6U,GAAG7U,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE8U,GAAG9U,EAAE,MAAM,UAAU,CAAC,OAAO8U,GAAG9U,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE+U,GAAG/U,EAAE,KAAK,UAAU,CAAC,OAAO+U,GAAG/U,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEgV,GAAGhV,EAAE,MAAM,UAAU,CAAC,OAAOgV,GAAGhV,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEiV,GAAGjV,EAAE,SAAS,UAAU,CAAC,OAAOiV,GAAGjV,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEkV,GAAGlV,EAAE,UAAU,UAAU,CAAC,OAAOkV,GAAGlV,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAEmV,GAAGnV,EAAE,qBAAqB,UAAU,CAAC,OAAOmV,GAAGnV,EAAE,qBAAqBA,EAAE,IAAI,qBAAqB,MAAM,KAAK,SAAS,CAAC,EAAEoV,GAAGpV,EAAE,eAAe,UAAU,CAAC,OAAOoV,GAAGpV,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAEqV,GAAGrV,EAAE,wBAAwB,UAAU,CAAC,OAAOqV,GAAGrV,EAAE,wBAAwBA,EAAE,IAAI,wBAAwB,MAAM,KAAK,SAAS,CAAC,EAAEsV,GAAGtV,EAAE,eAAe,UAAU,CAAC,OAAOsV,GAAGtV,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAEuV,GAAGvV,EAAE,MAAM,UAAU,CAAC,OAAOuV,GAAGvV,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEwV,GAAGxV,EAAE,QAAQ,UAAU,CAAC,OAAOwV,GAAGxV,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAEyV,GAAGzV,EAAE,mBAAmB,UAAU,CAAC,OAAOyV,GAAGzV,EAAE,mBAAmBA,EAAE,IAAI,mBAAmB,MAAM,KAAK,SAAS,CAAC,EAAE0V,GAAG1V,EAAE,MAAM,UAAU,CAAC,OAAO0V,GAAG1V,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE2V,GAAG3V,EAAE,cAAc,UAAU,CAAC,OAAO2V,GAAG3V,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAE4V,GAAG5V,EAAE,KAAK,UAAU,CAAC,OAAO4V,GAAG5V,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE6V,GAAG7V,EAAE,KAAK,UAAU,CAAC,OAAO6V,GAAG7V,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE8V,GAAG9V,EAAE,KAAK,UAAU,CAAC,OAAO8V,GAAG9V,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE+V,GAAG/V,EAAE,MAAM,UAAU,CAAC,OAAO+V,GAAG/V,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEgW,GAAGhW,EAAE,qBAAqB,UAAU,CAAC,OAAOgW,GAAGhW,EAAE,qBAAqBA,EAAE,IAAI,qBAAqB,MAAM,KAAK,SAAS,CAAC,EAAEiW,GAAGjW,EAAE,MAAM,UAAU,CAAC,OAAOiW,GAAGjW,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEkW,GAAGlW,EAAE,MAAM,UAAU,CAAC,OAAOkW,GAAGlW,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEmW,GAAGnW,EAAE,WAAW,UAAU,CAAC,OAAOmW,GAAGnW,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEoW,GAAGpW,EAAE,WAAW,UAAU,CAAC,OAAOoW,GAAGpW,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEqW,GAAGrW,EAAE,cAAc,UAAU,CAAC,OAAOqW,GAAGrW,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAEsW,GAAGtW,EAAE,QAAQ,UAAU,CAAC,OAAOsW,GAAGtW,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAEuW,GAAGvW,EAAE,MAAM,UAAU,CAAC,OAAOuW,GAAGvW,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEwW,GAAGxW,EAAE,sBAAsB,UAAU,CAAC,OAAOwW,GAAGxW,EAAE,sBAAsBA,EAAE,IAAI,sBAAsB,MAAM,KAAK,SAAS,CAAC,EAAEgK,GAAGhK,EAAE,cAAc,UAAU,CAAC,OAAOgK,GAAGhK,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAEyW,GAAGzW,EAAE,kBAAkB,UAAU,CAAC,OAAOyW,GAAGzW,EAAE,kBAAkBA,EAAE,IAAI,kBAAkB,MAAM,KAAK,SAAS,CAAC,EAAE0K,GAAG1K,EAAE,yBAAyB,UAAU,CAAC,OAAO0K,GAAG1K,EAAE,yBAAyBA,EAAE,IAAI,yBAAyB,MAAM,KAAK,SAAS,CAAC,EAAE0W,GAAG1W,EAAE,4BAA4B,UAAU,CAAC,OAAO0W,GAAG1W,EAAE,4BAA4BA,EAAE,IAAI,4BAA4B,MAAM,KAAK,SAAS,CAAC,EAAE2W,GAAG3W,EAAE,6CAA6C,UAAU,CAAC,OAAO2W,GAAG3W,EAAE,6CAA6CA,EAAE,IAAI,6CAA6C,MAAM,KAAK,SAAS,CAAC,EAAE4W,GAAG5W,EAAE,mCAAmC,UAAU,CAAC,OAAO4W,GAAG5W,EAAE,mCAAmCA,EAAE,IAAI,mCAAmC,MAAM,KAAK,SAAS,CAAC,EAAEgM,GAAGhM,EAAE,0CAA0C,UAAU,CAAC,OAAOgM,GAAGhM,EAAE,0CAA0CA,EAAE,IAAI,0CAA0C,MAAM,KAAK,SAAS,CAAC,EAAE6W,GAAG7W,EAAE,gCAAgC,UAAU,CAAC,OAAO6W,GAAG7W,EAAE,gCAAgCA,EAAE,IAAI,gCAAgC,MAAM,KAAK,SAAS,CAAC,EAAEiL,GAAGjL,EAAE,sCAAsC,UAAU,CAAC,OAAOiL,GAAGjL,EAAE,sCAAsCA,EAAE,IAAI,sCAAsC,MAAM,KAAK,SAAS,CAAC,EAAEqJ,GAAGrJ,EAAE,8BAA8B,UAAU,CAAC,OAAOqJ,GAAGrJ,EAAE,8BAA8BA,EAAE,IAAI,8BAA8B,MAAM,KAAK,SAAS,CAAC,EAAEwK,GAAGxK,EAAE,yBAAyB,UAAU,CAAC,OAAOwK,GAAGxK,EAAE,yBAAyBA,EAAE,IAAI,yBAAyB,MAAM,KAAK,SAAS,CAAC,EAAEmK,GAAGnK,EAAE,6BAA6B,UAAU,CAAC,OAAOmK,GAAGnK,EAAE,6BAA6BA,EAAE,IAAI,6BAA6B,MAAM,KAAK,SAAS,CAAC,EAAE8L,GAAG9L,EAAE,UAAU,UAAU,CAAC,OAAO8L,GAAG9L,EAAE,UAAUA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEoK,GAAGpK,EAAE,aAAa,UAAU,CAAC,OAAOoK,GAAGpK,EAAE,aAAaA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAE+L,GAAG/L,EAAE,WAAW,UAAU,CAAC,OAAO+L,GAAG/L,EAAE,WAAWA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAE8W,GAAG9W,EAAE,iBAAiB,UAAU,CAAC,OAAO8W,GAAG9W,EAAE,iBAAiBA,EAAE,IAAI,kBAAkB,MAAM,KAAK,SAAS,CAAC,EAAE+W,GAAG/W,EAAE,aAAa,UAAU,CAAC,OAAO+W,GAAG/W,EAAE,aAAaA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAEA,EAAE,iBAAiB8F,GAAG9F,EAAE,WAAWyE,GAAGzE,EAAE,MAAMqN,GAAGrN,EAAE,WAAWuF,GAAGvF,EAAE,QAAQ+I,GAAG,IAAIiO,GAAG5O,GAAG,SAASjD,GAAG,CAAC6R,IAAIC,GAAG,EAAED,KAAK5O,GAAGjD,EAAE,EAAE,SAAS8R,GAAG9R,EAAE,CAAC,GAAGA,EAAEA,GAAGtE,EAAEqH,GAAG,EAAE,OAAO,GAAGzF,EAAE,CAAChC,EAAET,CAAC,EAAE8H,GAAG,EAAE,YAAY9H,CAAC,EAAE,MAAM,CAAC,GAAG2H,GAAG,EAAEO,GAAG,EAAE,OAAO,SAAS9C,GAAG,CAAC4R,KAAKA,GAAG,GAAGhX,EAAE,UAAU,GAAG,CAACwG,KAAKsB,GAAG,EAAErH,EAAET,CAAC,EAAEA,EAAE,sBAAsBA,EAAE,qBAAqB,EAAE+H,GAAG,GAAG,CAAC/H,EAAE,WAAWA,EAAE,UAAU,YAAY,EAAE,WAAW,UAAU,CAAC,WAAW,UAAU,CAACA,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAEoF,EAAE,CAAC,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC,GAAGpF,EAAE,QAAQ,IAAI,OAAOA,EAAE,SAAS,aAAaA,EAAE,QAAQ,CAACA,EAAE,OAAO,GAAGA,EAAE,QAAQ,OAAO,GAAGA,EAAE,QAAQ,IAAI,EAAE,EAAEiX,GAAG,EAAE,IAAIC,GAAGvW,IAAIuW,GAAG,CAAC,kBAAkB,QAAQ,UAAU,mBAAmB,EAAE,OAAO,SAAS/R,EAAE,CAAC,MAAM,CAACxE,EAAE,kBAAkB,QAAQwE,CAAC,EAAE,EAAE,CAAC,EAAE,mBAAmB,QAAQ,UAAU,oBAAoB,EAAE,OAAO,SAASA,EAAE,CAAC,MAAM,CAACxE,EAAE,mBAAmB,QAAQwE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAIgS,GAAG,GAAG,OAAO,mBAAmB,YAAYA,GAAG,0BAA0B,OAAOxY,GAAG,YAAYwY,GAAGxY,MAAO,OAAM,IAAI,MAAM,uCAAuC,EAAE,GAAGuY,GAAG,CAAC,IAAIE,GAAGD,GAAG,SAASA,GAAG,SAAS,UAAU,CAACC,GAAG,EAAEF,GAAG,kBAAkB,QAAQ,SAAS/R,EAAE,CAAC,QAAQ,eAAe,oBAAoBA,CAAC,CAAC,CAAC,EAAE+R,GAAG,mBAAmB,QAAQ,SAAS/R,EAAE,CAAC,QAAQ,eAAe,qBAAqBA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAOxG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO2F,GAAI,UAAU,OAAOC,GAAI,SAASA,EAAG,QAAQC,EAAG,OAAO,QAAQ,YAAY,OAAO,IAAI,OAAO,CAAC,EAAE,UAAU,CAAC,OAAOA,CAAE,CAAC,EAAE,OAAOF,GAAI,WAAWA,EAAG,8BAA8BE,EAAG,CAAC,EAAM6S,GAAGvZ,GAAG,CAACwZ,EAAIC,IAAK,CAACA,EAAG,QAAQ,mBAAmB;AAAA,sqEACzi3B,CAAC,EAAMC,GAAG1Z,GAAG,CAAC2Z,EAAGC,IAAK,CAAC,IAAIC,GAAI,IAAI,CAAC,IAAI5Z,EAAE,OAAO,UAAU,aAAa,SAAS,cAAc,SAAS,cAAc,IAAI,OAAO,OAAO,OAAO,YAAY,cAAcA,EAAEA,GAAG,YAAY,SAASY,EAAE,CAACA,EAAEA,GAAG,CAAC,EAAE,IAAIV,EAAE,OAAOU,GAAG,YAAYA,EAAE,CAAC,EAAER,EAAE,EAAEF,EAAE,MAAM,IAAI,QAAQ,SAAS+V,EAAEC,GAAG,CAAC9V,EAAE6V,EAAE,EAAEC,EAAE,CAAC,EAAE,IAAIrU,EAAE,OAAO,SAAS,aAAa,QAAQ,YAAYA,EAAE,CAAC,kBAAkB,QAAQ,UAAU,mBAAmB,EAAE,mBAAmB,QAAQ,UAAU,oBAAoB,CAAC,GAAG,IAAIC,EAAE,OAAO,OAAO,CAAC,EAAE5B,CAAC,EAAE6B,EAAE,CAAC,EAAEC,EAAE,iBAAiBC,EAAE,CAACgU,EAAEC,KAAK,CAAC,MAAMA,EAAE,EAAExT,EAAE,OAAO,QAAQ,SAASC,EAAE,OAAO,eAAe,WAAWC,EAAE,OAAO,SAAS,UAAU,OAAO,QAAQ,UAAU,UAAU,OAAO,QAAQ,SAAS,MAAM,SAASC,EAAE,GAAG,SAASC,EAAEmT,EAAE,CAAC,OAAO/V,EAAE,WAAWA,EAAE,WAAW+V,EAAEpT,CAAC,EAAEA,EAAEoT,CAAC,CAAC,IAAIjS,EAAEC,EAAEqD,EAAExC,EAAE,SAASL,EAAEwR,EAAE,CAAIA,aAAa7L,IAAUvF,EAAE,6BAA6BoR,CAAC,CAAC,CAAC,GAAGrT,EAAE,CAAC,IAAI8B,EAAEuB,GAAG,EAAEtB,EAAEuB,GAAG,EAAEvD,EAAEE,EAAE8B,EAAE,QAAQ9B,CAAC,EAAE,IAAIA,EAAE,UAAU,IAAImB,EAAE,CAACiS,EAAEC,MAAMD,EAAErM,GAAGqM,CAAC,EAAE,IAAI,IAAIA,CAAC,EAAEtR,EAAE,UAAUsR,CAAC,EAAEvR,EAAE,aAAauR,EAAEC,GAAG,OAAO,MAAM,GAAG5O,EAAE2O,GAAG,CAAC,IAAIC,GAAGlS,EAAEiS,EAAE,EAAE,EAAE,OAAOC,GAAG,SAASA,GAAG,IAAI,WAAWA,EAAE,GAAGA,EAAE,EAAEjS,EAAE,CAACgS,EAAEC,GAAGC,KAAK,CAACF,EAAErM,GAAGqM,CAAC,EAAE,IAAI,IAAIA,CAAC,EAAEtR,EAAE,UAAUsR,CAAC,EAAEvR,EAAE,SAASuR,EAAE,SAASG,GAAGC,GAAG,CAACD,GAAGD,GAAGC,EAAE,EAAEF,GAAGG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,OAAO,IAAIrU,EAAE,QAAQ,KAAK,CAAC,EAAE,QAAQ,MAAM,GAAG,GAAGD,EAAE,QAAQ,KAAK,MAAM,CAAC,EAAE,QAAQ,GAAG,oBAAoB,SAASkU,EAAE,CAAC,GAAG,EAAEA,aAAa7L,IAAI,MAAM6L,CAAC,CAAC,EAAE,QAAQ,GAAG,qBAAqB,SAASA,EAAE,CAAC,MAAMA,CAAC,CAAC,EAAEhU,EAAE,CAACgU,EAAEC,KAAK,CAAC,GAAGpP,GAAG,EAAE,MAAM,QAAQ,SAASmP,EAAEC,GAAGzR,EAAEyR,EAAE,EAAE,QAAQ,KAAKD,CAAC,CAAC,EAAE/V,EAAE,QAAQ,UAAU,CAAC,MAAM,4BAA4B,CAAC,MAAMwC,GAAGC,KAAKA,EAAEE,EAAE,KAAK,SAAS,KAAK,OAAO,UAAU,aAAa,SAAS,gBAAgBA,EAAE,SAAS,cAAc,KAAK7C,IAAI6C,EAAE7C,GAAG6C,EAAE,QAAQ,OAAO,IAAI,EAAEA,EAAEA,EAAE,OAAO,EAAEA,EAAE,QAAQ,SAAS,EAAE,EAAE,YAAY,GAAG,EAAE,CAAC,EAAEA,EAAE,GAAGmB,EAAEiS,GAAG,CAAC,IAAIC,GAAG,IAAI,eAAe,OAAOA,GAAG,KAAK,MAAMD,EAAE,EAAE,EAAEC,GAAG,KAAK,IAAI,EAAEA,GAAG,YAAY,EAAEvT,IAAI2E,EAAE2O,GAAG,CAAC,IAAIC,GAAG,IAAI,eAAe,OAAOA,GAAG,KAAK,MAAMD,EAAE,EAAE,EAAEC,GAAG,aAAa,cAAcA,GAAG,KAAK,IAAI,EAAE,IAAI,WAAWA,GAAG,QAAQ,CAAC,GAAGjS,EAAE,CAACgS,EAAEC,GAAGC,KAAK,CAAC,IAAIC,GAAG,IAAI,eAAeA,GAAG,KAAK,MAAMH,EAAE,EAAE,EAAEG,GAAG,aAAa,cAAcA,GAAG,OAAO,IAAI,CAAC,GAAGA,GAAG,QAAQ,KAAKA,GAAG,QAAQ,GAAGA,GAAG,SAAS,CAACF,GAAGE,GAAG,QAAQ,EAAE,MAAM,CAACD,GAAG,CAAC,EAAEC,GAAG,QAAQD,GAAGC,GAAG,KAAK,IAAI,CAAC,EAAEtR,EAAEmR,GAAG,SAAS,MAAMA,GAAG,IAAIrR,EAAE1E,EAAE,OAAO,QAAQ,IAAI,KAAK,OAAO,EAAE2E,EAAE3E,EAAE,UAAU,QAAQ,KAAK,KAAK,OAAO,EAAE,OAAO,OAAOA,EAAE4B,CAAC,EAAEA,EAAE,KAAK5B,EAAE,YAAY6B,EAAE7B,EAAE,WAAWA,EAAE,cAAc8B,EAAE9B,EAAE,aAAaA,EAAE,OAAO+B,EAAE/B,EAAE,MAAM,IAAIqH,EAAE,EAAExC,EAAE7E,EAAE,aAAa6E,EAAE7E,EAAE,YAAY,IAAI,EAAEA,EAAE,eAAe,GAAG,OAAO,aAAa,UAAUwJ,GAAG,iCAAiC,EAAE,IAAIzE,EAAEC,EAAE,GAAGC,EAAE,SAASC,EAAE6Q,EAAEC,GAAG,CAACD,GAAGvM,GAAGwM,EAAE,CAAC,CAAC,IAAI7Q,EAAE,OAAO,aAAa,YAAY,IAAI,YAAY,MAAM,EAAE,OAAO,SAAS2C,EAAEiO,EAAEC,GAAGC,GAAG,CAACD,MAAM,EAAE,QAAQE,GAAGF,GAAGC,GAAGE,GAAGH,GAAGD,EAAEI,EAAE,GAAG,EAAEA,IAAID,KAAK,EAAEC,GAAG,GAAGA,GAAGH,GAAG,IAAID,EAAE,QAAQ5Q,EAAE,OAAOA,EAAE,OAAO4Q,EAAE,SAASC,GAAGG,EAAE,CAAC,EAAE,QAAQC,GAAG,GAAGJ,GAAGG,IAAI,CAAC,IAAIE,GAAGN,EAAEC,IAAI,EAAE,GAAG,EAAEK,GAAG,KAAK,CAACD,IAAI,OAAO,aAAaC,EAAE,EAAE,QAAQ,CAAC,IAAIC,GAAGP,EAAEC,IAAI,EAAE,GAAG,IAAIK,GAAG,MAAM,IAAI,CAACD,IAAI,OAAO,cAAcC,GAAG,KAAK,EAAEC,EAAE,EAAE,QAAQ,CAAC,IAAIC,GAAGR,EAAEC,IAAI,EAAE,GAAG,IAAIK,GAAG,MAAM,IAAIA,IAAIA,GAAG,KAAK,GAAGC,IAAI,EAAEC,GAAGF,IAAIA,GAAG,IAAI,GAAGC,IAAI,GAAGC,IAAI,EAAER,EAAEC,IAAI,EAAE,GAAGK,GAAG,MAAMD,IAAI,OAAO,aAAaC,EAAE,MAAM,CAAC,IAAIG,GAAGH,GAAG,MAAMD,IAAI,OAAO,aAAa,MAAMI,IAAI,GAAG,MAAMA,GAAG,IAAI,CAAC,CAAC,CAAC,OAAOJ,EAAE,CAAC,SAAS7O,EAAEwO,EAAEC,GAAG,CAAC,OAAOD,KAAK,EAAEA,EAAEjO,EAAEK,GAAG4N,EAAEC,EAAE,EAAE,EAAE,CAAC,SAASjO,GAAEgO,EAAEC,GAAGC,GAAGC,GAAG,CAAC,GAAGD,MAAM,EAAE,EAAEC,GAAG,GAAG,MAAO,GAAE,QAAQC,GAAGF,GAAGG,GAAGH,GAAGC,GAAG,EAAEG,GAAG,EAAEA,GAAGN,EAAE,OAAO,EAAEM,GAAG,CAAC,IAAIC,GAAGP,EAAE,WAAWM,EAAE,EAAE,GAAGC,IAAI,OAAOA,IAAI,MAAM,CAAC,IAAIC,GAAGR,EAAE,WAAW,EAAEM,EAAE,EAAEC,GAAG,QAAQA,GAAG,OAAO,IAAIC,GAAG,IAAI,CAAC,GAAGD,IAAI,IAAI,CAAC,GAAGL,IAAIG,GAAG,MAAMJ,GAAGC,OAAO,CAAC,EAAEK,EAAE,SAASA,IAAI,KAAK,CAAC,GAAGL,GAAG,GAAGG,GAAG,MAAMJ,GAAGC,OAAO,CAAC,EAAE,IAAIK,IAAI,EAAEN,GAAGC,OAAO,CAAC,EAAE,IAAIK,GAAG,EAAE,SAASA,IAAI,MAAM,CAAC,GAAGL,GAAG,GAAGG,GAAG,MAAMJ,GAAGC,OAAO,CAAC,EAAE,IAAIK,IAAI,GAAGN,GAAGC,OAAO,CAAC,EAAE,IAAIK,IAAI,EAAE,GAAGN,GAAGC,OAAO,CAAC,EAAE,IAAIK,GAAG,EAAE,KAAK,CAAC,GAAGL,GAAG,GAAGG,GAAG,MAAMJ,GAAGC,OAAO,CAAC,EAAE,IAAIK,IAAI,GAAGN,GAAGC,OAAO,CAAC,EAAE,IAAIK,IAAI,GAAG,GAAGN,GAAGC,OAAO,CAAC,EAAE,IAAIK,IAAI,EAAE,GAAGN,GAAGC,OAAO,CAAC,EAAE,IAAIK,GAAG,EAAE,CAAC,CAAC,OAAON,GAAGC,KAAK,CAAC,EAAE,EAAEA,GAAGE,EAAE,CAAC,SAASnO,GAAG+N,EAAEC,GAAGC,GAAG,CAAC,OAAOlO,GAAEgO,EAAE5N,GAAG6N,GAAGC,EAAE,CAAC,CAAC,IAAIhO,GAAGC,GAAGC,GAAGC,GAAG5B,GAAG8B,GAAGC,GAAGC,GAAGC,GAAG,SAASC,GAAGqN,EAAE,CAAC9N,GAAG8N,EAAE/V,EAAE,MAAMkI,GAAG,IAAI,UAAU6N,CAAC,EAAE/V,EAAE,OAAOoI,GAAG,IAAI,WAAW2N,CAAC,EAAE/V,EAAE,OAAOsI,GAAG,IAAI,WAAWyN,CAAC,EAAE/V,EAAE,OAAOmI,GAAG,IAAI,WAAW4N,CAAC,EAAE/V,EAAE,QAAQwG,GAAG,IAAI,YAAYuP,CAAC,EAAE/V,EAAE,QAAQuI,GAAG,IAAI,YAAYwN,CAAC,EAAE/V,EAAE,QAAQwI,GAAG,IAAI,aAAauN,CAAC,EAAE/V,EAAE,QAAQyI,GAAG,IAAI,aAAasN,CAAC,CAAC,CAAC,IAAIpN,GAAG3I,EAAE,gBAAgB,SAASgJ,GAAGC,GAAG,CAAC,EAAEC,GAAG,CAAC,EAAEzC,GAAG,CAAC,EAAEE,GAAG,GAAG,SAASC,IAAI,CAAC,OAAO,CAAC,CAAC,SAASC,IAAI,CAAC,GAAG7G,EAAE,OAAO,IAAI,OAAOA,EAAE,QAAQ,aAAaA,EAAE,OAAO,CAACA,EAAE,MAAM,GAAGA,EAAE,OAAO,QAAQ+G,GAAG/G,EAAE,OAAO,MAAM,CAAC,EAAEmK,GAAGlB,EAAE,CAAC,CAAC,SAASE,IAAI,CAACxC,GAAG,GAAGwD,GAAGjB,EAAE,CAAC,CAAC,SAASpC,IAAI,CAAC,GAAG9G,EAAE,QAAQ,IAAI,OAAOA,EAAE,SAAS,aAAaA,EAAE,QAAQ,CAACA,EAAE,OAAO,GAAGA,EAAE,QAAQ,QAAQiH,GAAGjH,EAAE,QAAQ,MAAM,CAAC,EAAEmK,GAAG1D,EAAE,CAAC,CAAC,SAASM,GAAGgP,EAAE,CAAC9M,GAAG,QAAQ8M,CAAC,CAAC,CAAC,SAAS/O,GAAG+O,EAAE,CAAC7M,GAAG,QAAQ6M,CAAC,CAAC,CAAC,SAAS9O,GAAG8O,EAAE,CAACtP,GAAG,QAAQsP,CAAC,CAAC,CAAC,IAAIrP,GAAG,EAAE0C,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAGyM,EAAE,CAACrP,KAAK1G,EAAE,wBAAwBA,EAAE,uBAAuB0G,EAAE,CAAC,CAAC,SAAS6C,GAAGwM,EAAE,CAAC,GAAGrP,KAAK1G,EAAE,wBAAwBA,EAAE,uBAAuB0G,EAAE,EAAEA,IAAI,IAAI0C,KAAK,OAAO,cAAcA,EAAE,EAAEA,GAAG,MAAMC,IAAI,CAAC,IAAI2M,GAAG3M,GAAGA,GAAG,KAAK2M,GAAG,CAAC,CAAC,CAAC,SAASxM,GAAGuM,EAAE,CAAC/V,EAAE,SAASA,EAAE,QAAQ+V,CAAC,EAAEA,EAAE,WAAWA,EAAE,IAAIpR,EAAEoR,CAAC,EAAE/Q,EAAE,GAAGC,EAAE,EAAE8Q,GAAG,2CAA2C,IAAIC,GAAG,IAAI,YAAY,aAAaD,CAAC,EAAE,MAAM,EAAEC,EAAE,EAAEA,EAAE,CAAC,IAAIvM,GAAG,wCAAwC,SAAS5B,GAAGkO,EAAE,CAAC,OAAOA,EAAE,WAAWtM,EAAE,CAAC,CAAC,SAASC,GAAGqM,EAAE,CAAC,OAAOA,EAAE,WAAW,SAAS,CAAC,CAAC,IAAIlM,GAAGA,GAAG,yBAAyBhC,GAAGgC,EAAE,IAAIA,GAAGjH,EAAEiH,EAAE,GAAG,SAASC,GAAGiM,EAAE,CAAC,GAAG,CAAC,GAAGA,GAAGlM,IAAIhF,EAAE,OAAO,IAAI,WAAWA,CAAC,EAAE,GAAGuC,EAAE,OAAOA,EAAE2O,CAAC,EAAE,KAAK,iDAAiD,OAAOC,GAAG,CAACxM,GAAGwM,EAAE,CAAC,CAAC,CAAC,SAASrM,IAAI,CAAC,GAAG,CAAC9E,IAAIrC,GAAGC,GAAG,CAAC,GAAG,OAAO,OAAO,YAAY,CAACiH,GAAGG,EAAE,EAAE,OAAO,MAAMA,GAAG,CAAC,YAAY,aAAa,CAAC,EAAE,KAAK,SAASkM,EAAE,CAAC,GAAG,CAACA,EAAE,GAAG,KAAK,uCAAuClM,GAAG,IAAI,OAAOkM,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,UAAU,CAAC,OAAOjM,GAAGD,EAAE,CAAC,CAAC,EAAE,GAAG9F,EAAE,OAAO,IAAI,QAAQ,SAASgS,EAAEC,GAAG,CAACjS,EAAE8F,GAAG,SAASoM,GAAG,CAACF,EAAE,IAAI,WAAWE,EAAE,CAAC,CAAC,EAAED,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,QAAQ,QAAQ,EAAE,KAAK,UAAU,CAAC,OAAOlM,GAAGD,EAAE,CAAC,CAAC,CAAC,CAAC,SAASG,IAAI,CAAC,IAAI+L,EAAE,CAAC,IAAIzK,GAAG,uBAAuBA,EAAE,EAAE,SAAS0K,GAAGK,GAAGC,GAAG,CAAC,IAAIC,GAAGF,GAAG,QAAQrW,EAAE,IAAIuW,GAAGxR,EAAE/E,EAAE,IAAI,OAAO0I,GAAG3D,EAAE,MAAM,EAAEiE,GAAGhJ,EAAE,IAAI,0BAA0BgH,GAAGhH,EAAE,IAAI,iBAAiB,EAAEuJ,GAAG,kBAAkB,CAAC,CAACD,GAAG,kBAAkB,EAAE,SAAS2M,GAAGI,GAAG,CAACL,GAAGK,GAAG,QAAQ,CAAC,CAAC,SAASH,GAAGG,GAAG,CAAC,OAAO1M,GAAG,EAAE,KAAK,SAAS2M,GAAG,CAAC,OAAO,YAAY,YAAYA,GAAGP,CAAC,CAAC,CAAC,EAAE,KAAK,SAASO,GAAG,CAAC,OAAOA,EAAE,CAAC,EAAE,KAAKD,GAAG,SAASC,GAAG,CAAC3R,EAAE,0CAA0C2R,EAAE,EAAE9M,GAAG8M,EAAE,CAAC,CAAC,CAAC,CAAC,SAASH,IAAI,CAAC,MAAM,CAACtR,GAAG,OAAO,YAAY,sBAAsB,YAAY,CAACgD,GAAGgC,EAAE,GAAG,CAACH,GAAGG,EAAE,GAAG,CAACnH,GAAG,OAAO,OAAO,WAAW,MAAMmH,GAAG,CAAC,YAAY,aAAa,CAAC,EAAE,KAAK,SAASwM,GAAG,CAAC,IAAIC,GAAG,YAAY,qBAAqBD,GAAGN,CAAC,EAAE,OAAOO,GAAG,KAAKL,GAAG,SAASM,GAAG,CAAC,OAAO5R,EAAE,kCAAkC4R,EAAE,EAAE5R,EAAE,2CAA2C,EAAEuR,GAAGD,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEC,GAAGD,EAAE,CAAC,CAAC,GAAGjW,EAAE,gBAAgB,GAAG,CAAC,IAAIoW,GAAGpW,EAAE,gBAAgB+V,EAAEC,EAAE,EAAE,OAAOI,EAAE,OAAOC,GAAG,CAAC1R,EAAE,sDAAsD0R,EAAE,EAAE,EAAEA,EAAE,CAAC,CAAC,OAAOF,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAIpM,GAAGE,GAAG,SAASC,GAAG6L,EAAE,CAAC,KAAK,KAAK,aAAa,KAAK,QAAQ,gCAAgCA,EAAE,IAAI,KAAK,OAAOA,CAAC,CAAC,SAAS5L,GAAG4L,EAAE,CAAC,KAAKA,EAAE,OAAO,GAAGA,EAAE,MAAM,EAAE/V,CAAC,CAAC,CAAC,SAASoK,IAAI,CAACZ,GAAG,EAAE,CAAC,CAAC,SAASa,IAAI,CAAC,MAAO,WAAU,CAAC,SAAShC,IAAI,CAAC,OAAOgC,GAAG,CAAC,CAAC,SAASC,GAAGyL,EAAEC,GAAGC,GAAG,CAAC9N,GAAG,WAAW4N,IAAI,EAAEC,KAAK,EAAEA,GAAGC,KAAK,CAAC,CAAC,CAAC,SAAS1L,GAAGwL,EAAE,CAAC,GAAG,CAAC,OAAOhR,EAAE,KAAKgR,EAAE9N,GAAG,WAAW,QAAQ,EAAE,EAAES,GAAG3D,EAAE,MAAM,EAAE,CAAC,OAAOiR,GAAG,CAAC,CAAC,CAAC,SAASvO,GAAGsO,EAAE,CAAC,IAAIC,GAAG7N,GAAG,OAAO4N,EAAEA,IAAI,EAAE,IAAIE,GAAG5L,GAAG,EAAE,GAAG0L,EAAEE,GAAG,MAAM,GAAG,IAAIC,GAAG,CAACK,GAAGC,KAAKD,IAAIC,GAAGD,GAAGC,IAAIA,GAAG,QAAQL,GAAG,EAAEA,IAAI,EAAEA,IAAI,EAAE,CAAC,IAAIC,GAAGJ,IAAI,EAAE,GAAGG,IAAIC,GAAG,KAAK,IAAIA,GAAGL,EAAE,SAAS,EAAE,IAAIM,GAAG,KAAK,IAAIJ,GAAGC,GAAG,KAAK,IAAIH,EAAEK,EAAE,EAAE,KAAK,CAAC,EAAEE,GAAG/L,GAAG8L,EAAE,EAAE,GAAGC,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI9L,GAAG,CAAC,QAAQ,OAAO,IAAI,UAAU,CAACA,GAAG,SAAS,EAAE,IAAIuL,EAAEzN,GAAGkC,GAAG,QAAQ,IAAI,CAAC,EAAE,OAAOuL,CAAC,EAAE,OAAO,SAASA,EAAE,CAAC,IAAIC,GAAGzO,EAAEwO,CAAC,EAAE,OAAOC,EAAE,CAAC,EAAE,SAASvL,GAAGsL,EAAE,CAAC,MAAO,GAAE,CAAC,SAASrL,GAAGqL,EAAEC,GAAGC,GAAGC,GAAGC,GAAG,CAAC,MAAO,GAAE,CAAC,IAAIxL,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAASK,GAAG+K,EAAEC,GAAG,CAAC,IAAIC,GAAGtL,GAAGoL,CAAC,EAAEC,KAAK,GAAGA,KAAK,KAAKD,IAAI,EAAErR,EAAEC,GAAGmD,EAAEmO,GAAG,CAAC,CAAC,EAAEA,GAAG,OAAO,GAAGA,GAAG,KAAKD,EAAE,CAAC,CAAC,SAAS/K,GAAG8K,EAAEC,GAAGC,GAAGC,GAAG,CAAC,QAAQC,GAAG,EAAEC,GAAG,EAAEA,GAAGH,GAAGG,KAAK,CAAC,IAAIC,GAAG9N,GAAGyN,KAAK,CAAC,EAAEM,GAAG/N,GAAGyN,GAAG,IAAI,CAAC,EAAEA,IAAI,EAAE,QAAQO,GAAG,EAAEA,GAAGD,GAAGC,KAAKvL,GAAG+K,EAAE5N,GAAGkO,GAAGE,KAAK,CAAC,CAAC,EAAEJ,IAAIG,EAAE,CAAC,OAAO/N,GAAG2N,KAAK,CAAC,EAAEC,GAAG,CAAC,CAAC,SAASjL,GAAG6K,EAAE,CAAC,IAAIC,GAAGhW,EAAE,IAAI+V,CAAC,EAAE,OAAOC,EAAE,CAAC,SAAS1O,GAAGyO,EAAEC,GAAG,CAAC9N,GAAG,IAAI6N,EAAEC,KAAK,CAAC,CAAC,CAAC,SAAS7K,GAAG4K,EAAEC,GAAGC,GAAGC,GAAGC,GAAG,CAAC,IAAIC,GAAG,CAAC,OAAOS,IAAI,CAAC,IAAIC,GAAG,EAAE,GAAGD,IAAI,MAAMA,KAAK,EAAE,CAAC,IAAIE,IAAIF,GAAG,QAAQ,GAAG,EAAEC,GAAGvB,GAAGwB,EAAE,EAAE/O,GAAG6O,GAAGC,GAAGC,EAAE,CAAC,CAAC,OAAOD,EAAE,EAAE,MAAMD,IAAI,CAAC,IAAIC,GAAGvB,GAAGsB,GAAG,MAAM,EAAE,OAAOvP,GAAGuP,GAAGC,EAAE,EAAEA,EAAE,CAAC,EAAE,SAAST,GAAGQ,GAAG,CAAC,OAAOb,KAAK,SAASzO,EAAEsP,EAAE,EAAEb,KAAK,UAAU,CAAC,CAACa,GAAGA,EAAE,CAAC,IAAIP,GAAGpL,GAAG6K,CAAC,EAAEQ,GAAG,CAAC,EAAEC,GAAG,EAAE,GAAGN,GAAG,QAAQO,GAAG,EAAEA,GAAGP,GAAG,OAAOO,KAAK,CAAC,IAAIC,GAAGN,GAAGH,GAAGQ,EAAE,CAAC,EAAEC,IAAIF,KAAK,IAAIA,GAAGnB,GAAG,GAAGkB,GAAGE,EAAE,EAAEC,GAAGR,GAAGO,EAAE,CAAC,GAAGF,GAAGE,EAAE,EAAEP,GAAGO,EAAE,CAAC,CAAC,IAAIE,GAAGL,GAAG,MAAM,KAAKC,EAAE,EAAE,SAASK,GAAGC,GAAG,CAAC,OAAOL,KAAK,GAAGlB,GAAGkB,EAAE,EAAEH,GAAGQ,EAAE,CAAC,CAAC,OAAOF,GAAGC,GAAGD,EAAE,EAAEA,EAAE,CAAC,SAAStL,GAAG0K,EAAEC,GAAGC,GAAGC,GAAG,CAACD,GAAGA,IAAI,CAAC,EAAE,IAAIE,GAAGF,GAAG,MAAMI,IAAIA,KAAK,UAAUA,KAAK,SAAS,EAAED,GAAGJ,KAAK,SAAS,OAAOI,IAAID,IAAI,CAACD,GAAGhL,GAAG6K,CAAC,EAAE,UAAU,CAAC,OAAO5K,GAAG4K,EAAEC,GAAGC,GAAG,UAAUC,EAAE,CAAC,CAAC,CAAC,IAAI5K,GAAG,CAAC,MAAMlB,GAAG,wBAAwB/B,GAAG,sBAAsBiC,GAAG,uBAAuB7C,GAAG,SAASgD,GAAG,QAAQC,GAAG,SAASO,EAAE,EAAEM,GAAGvB,GAAG,EAAEwB,GAAGxL,EAAE,mBAAmB,UAAU,CAAC,OAAOwL,GAAGxL,EAAE,mBAAmBA,EAAE,IAAI,mBAAmB,MAAM,KAAK,SAAS,CAAC,EAAEyL,GAAGzL,EAAE,MAAM,UAAU,CAAC,OAAOyL,GAAGzL,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE2L,GAAG3L,EAAE,yBAAyB,UAAU,CAAC,OAAO2L,GAAG3L,EAAE,yBAAyBA,EAAE,IAAI,yBAAyB,MAAM,KAAK,SAAS,CAAC,EAAE6L,GAAG7L,EAAE,mBAAmB,UAAU,CAAC,OAAO6L,GAAG7L,EAAE,mBAAmBA,EAAE,IAAI,mBAAmB,MAAM,KAAK,SAAS,CAAC,EAAE8L,GAAG9L,EAAE,iBAAiB,UAAU,CAAC,OAAO8L,GAAG9L,EAAE,iBAAiBA,EAAE,IAAI,iBAAiB,MAAM,KAAK,SAAS,CAAC,EAAE8K,GAAG9K,EAAE,cAAc,UAAU,CAAC,OAAO8K,GAAG9K,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAE4J,GAAG5J,EAAE,SAAS,UAAU,CAAC,OAAO4J,GAAG5J,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEiM,GAAGjM,EAAE,KAAK,UAAU,CAAC,OAAOiM,GAAGjM,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE4L,GAAG5L,EAAE,MAAM,UAAU,CAAC,OAAO4L,GAAG5L,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEoM,GAAGpM,EAAE,OAAO,UAAU,CAAC,OAAOoM,GAAGpM,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEqM,GAAGrM,EAAE,KAAK,UAAU,CAAC,OAAOqM,GAAGrM,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEsM,GAAGtM,EAAE,MAAM,UAAU,CAAC,OAAOsM,GAAGtM,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE6K,GAAG7K,EAAE,KAAK,UAAU,CAAC,OAAO6K,GAAG7K,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEwM,GAAGxM,EAAE,KAAK,UAAU,CAAC,OAAOwM,GAAGxM,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE0M,GAAG1M,EAAE,QAAQ,UAAU,CAAC,OAAO0M,GAAG1M,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAE2M,GAAG3M,EAAE,QAAQ,UAAU,CAAC,OAAO2M,GAAG3M,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAE4M,GAAG5M,EAAE,MAAM,UAAU,CAAC,OAAO4M,GAAG5M,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE6M,GAAG7M,EAAE,OAAO,UAAU,CAAC,OAAO6M,GAAG7M,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAE8M,GAAG9M,EAAE,MAAM,UAAU,CAAC,OAAO8M,GAAG9M,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE+M,GAAG/M,EAAE,OAAO,UAAU,CAAC,OAAO+M,GAAG/M,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEgM,GAAGhM,EAAE,OAAO,UAAU,CAAC,OAAOgM,GAAGhM,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEiN,GAAGjN,EAAE,SAAS,UAAU,CAAC,OAAOiN,GAAGjN,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEkN,GAAGlN,EAAE,WAAW,UAAU,CAAC,OAAOkN,GAAGlN,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEmN,GAAGnN,EAAE,eAAe,UAAU,CAAC,OAAOmN,GAAGnN,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAEoN,GAAGpN,EAAE,aAAa,UAAU,CAAC,OAAOoN,GAAGpN,EAAE,aAAaA,EAAE,IAAI,aAAa,MAAM,KAAK,SAAS,CAAC,EAAEqN,GAAGrN,EAAE,aAAa,UAAU,CAAC,OAAOqN,GAAGrN,EAAE,aAAaA,EAAE,IAAI,aAAa,MAAM,KAAK,SAAS,CAAC,EAAEsN,GAAGtN,EAAE,UAAU,UAAU,CAAC,OAAOsN,GAAGtN,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAEuN,GAAGvN,EAAE,YAAY,UAAU,CAAC,OAAOuN,GAAGvN,EAAE,YAAYA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAEwN,GAAGxN,EAAE,MAAM,UAAU,CAAC,OAAOwN,GAAGxN,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEyN,GAAGzN,EAAE,aAAa,UAAU,CAAC,OAAOyN,GAAGzN,EAAE,aAAaA,EAAE,IAAI,aAAa,MAAM,KAAK,SAAS,CAAC,EAAE0N,GAAG1N,EAAE,QAAQ,UAAU,CAAC,OAAO0N,GAAG1N,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAE2N,GAAG3N,EAAE,qBAAqB,UAAU,CAAC,OAAO2N,GAAG3N,EAAE,qBAAqBA,EAAE,IAAI,qBAAqB,MAAM,KAAK,SAAS,CAAC,EAAE4N,GAAG5N,EAAE,QAAQ,UAAU,CAAC,OAAO4N,GAAG5N,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAE0L,GAAG1L,EAAE,wBAAwB,UAAU,CAAC,OAAO0L,GAAG1L,EAAE,wBAAwBA,EAAE,IAAI,wBAAwB,MAAM,KAAK,SAAS,CAAC,EAAEgO,GAAGhO,EAAE,uBAAuB,UAAU,CAAC,OAAOgO,GAAGhO,EAAE,uBAAuBA,EAAE,IAAI,uBAAuB,MAAM,KAAK,SAAS,CAAC,EAAEiO,GAAGjO,EAAE,KAAK,UAAU,CAAC,OAAOiO,GAAGjO,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEmO,GAAGnO,EAAE,MAAM,UAAU,CAAC,OAAOmO,GAAGnO,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEoO,GAAGpO,EAAE,eAAe,UAAU,CAAC,OAAOoO,GAAGpO,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAEqO,GAAGrO,EAAE,SAAS,UAAU,CAAC,OAAOqO,GAAGrO,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEsO,GAAGtO,EAAE,QAAQ,UAAU,CAAC,OAAOsO,GAAGtO,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAEuO,GAAGvO,EAAE,eAAe,UAAU,CAAC,OAAOuO,GAAGvO,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAEwO,GAAGxO,EAAE,cAAc,UAAU,CAAC,OAAOwO,GAAGxO,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAEyO,GAAGzO,EAAE,uBAAuB,UAAU,CAAC,OAAOyO,GAAGzO,EAAE,uBAAuBA,EAAE,IAAI,uBAAuB,MAAM,KAAK,SAAS,CAAC,EAAE0O,GAAG1O,EAAE,MAAM,UAAU,CAAC,OAAO0O,GAAG1O,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE2O,GAAG3O,EAAE,YAAY,UAAU,CAAC,OAAO2O,GAAG3O,EAAE,YAAYA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAE4O,GAAG5O,EAAE,0BAA0B,UAAU,CAAC,OAAO4O,GAAG5O,EAAE,0BAA0BA,EAAE,IAAI,0BAA0B,MAAM,KAAK,SAAS,CAAC,EAAE6O,GAAG7O,EAAE,yBAAyB,UAAU,CAAC,OAAO6O,GAAG7O,EAAE,yBAAyBA,EAAE,IAAI,yBAAyB,MAAM,KAAK,SAAS,CAAC,EAAEoP,GAAGpP,EAAE,KAAK,UAAU,CAAC,OAAOoP,GAAGpP,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEkO,GAAGlO,EAAE,SAAS,UAAU,CAAC,OAAOkO,GAAGlO,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE4K,GAAG5K,EAAE,OAAO,UAAU,CAAC,OAAO4K,GAAG5K,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEqP,GAAGrP,EAAE,KAAK,UAAU,CAAC,OAAOqP,GAAGrP,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEsP,GAAGtP,EAAE,KAAK,UAAU,CAAC,OAAOsP,GAAGtP,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEuP,GAAGvP,EAAE,OAAO,UAAU,CAAC,OAAOuP,GAAGvP,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEwP,GAAGxP,EAAE,eAAe,UAAU,CAAC,OAAOwP,GAAGxP,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAEyP,GAAGzP,EAAE,OAAO,UAAU,CAAC,OAAOyP,GAAGzP,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAE0P,GAAG1P,EAAE,UAAU,UAAU,CAAC,OAAO0P,GAAG1P,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAE2P,GAAG3P,EAAE,gBAAgB,UAAU,CAAC,OAAO2P,GAAG3P,EAAE,gBAAgBA,EAAE,IAAI,gBAAgB,MAAM,KAAK,SAAS,CAAC,EAAE4P,GAAG5P,EAAE,aAAa,UAAU,CAAC,OAAO4P,GAAG5P,EAAE,aAAaA,EAAE,IAAI,aAAa,MAAM,KAAK,SAAS,CAAC,EAAE6P,GAAG7P,EAAE,sBAAsB,UAAU,CAAC,OAAO6P,GAAG7P,EAAE,sBAAsBA,EAAE,IAAI,sBAAsB,MAAM,KAAK,SAAS,CAAC,EAAE8P,GAAG9P,EAAE,QAAQ,UAAU,CAAC,OAAO8P,GAAG9P,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAE+P,GAAG/P,EAAE,UAAU,UAAU,CAAC,OAAO+P,GAAG/P,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAEgQ,GAAGhQ,EAAE,SAAS,UAAU,CAAC,OAAOgQ,GAAGhQ,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEiQ,GAAGjQ,EAAE,cAAc,UAAU,CAAC,OAAOiQ,GAAGjQ,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAEkQ,GAAGlQ,EAAE,UAAU,UAAU,CAAC,OAAOkQ,GAAGlQ,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAEmQ,GAAGnQ,EAAE,OAAO,UAAU,CAAC,OAAOmQ,GAAGnQ,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEoQ,GAAGpQ,EAAE,OAAO,UAAU,CAAC,OAAOoQ,GAAGpQ,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEqQ,GAAGrQ,EAAE,KAAK,UAAU,CAAC,OAAOqQ,GAAGrQ,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEsQ,GAAGtQ,EAAE,SAAS,UAAU,CAAC,OAAOsQ,GAAGtQ,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEuQ,GAAGvQ,EAAE,WAAW,UAAU,CAAC,OAAOuQ,GAAGvQ,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEwQ,GAAGxQ,EAAE,MAAM,UAAU,CAAC,OAAOwQ,GAAGxQ,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEyQ,GAAGzQ,EAAE,WAAW,UAAU,CAAC,OAAOyQ,GAAGzQ,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAE0Q,GAAG1Q,EAAE,UAAU,UAAU,CAAC,OAAO0Q,GAAG1Q,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAE2Q,GAAG3Q,EAAE,KAAK,UAAU,CAAC,OAAO2Q,GAAG3Q,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE4Q,GAAG5Q,EAAE,OAAO,UAAU,CAAC,OAAO4Q,GAAG5Q,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAE6Q,GAAG7Q,EAAE,YAAY,UAAU,CAAC,OAAO6Q,GAAG7Q,EAAE,YAAYA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAE8Q,GAAG9Q,EAAE,YAAY,UAAU,CAAC,OAAO8Q,GAAG9Q,EAAE,YAAYA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAE+Q,GAAG/Q,EAAE,WAAW,UAAU,CAAC,OAAO+Q,GAAG/Q,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEgR,GAAGhR,EAAE,YAAY,UAAU,CAAC,OAAOgR,GAAGhR,EAAE,YAAYA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAEiR,GAAGjR,EAAE,KAAK,UAAU,CAAC,OAAOiR,GAAGjR,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEkR,GAAGlR,EAAE,SAAS,UAAU,CAAC,OAAOkR,GAAGlR,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEmR,GAAGnR,EAAE,WAAW,UAAU,CAAC,OAAOmR,GAAGnR,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEoR,GAAGpR,EAAE,eAAe,UAAU,CAAC,OAAOoR,GAAGpR,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAEqR,GAAGrR,EAAE,aAAa,UAAU,CAAC,OAAOqR,GAAGrR,EAAE,aAAaA,EAAE,IAAI,aAAa,MAAM,KAAK,SAAS,CAAC,EAAEsR,GAAGtR,EAAE,mBAAmB,UAAU,CAAC,OAAOsR,GAAGtR,EAAE,mBAAmBA,EAAE,IAAI,mBAAmB,MAAM,KAAK,SAAS,CAAC,EAAEuR,GAAGvR,EAAE,SAAS,UAAU,CAAC,OAAOuR,GAAGvR,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEwR,GAAGxR,EAAE,MAAM,UAAU,CAAC,OAAOwR,GAAGxR,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEyR,GAAGzR,EAAE,KAAK,UAAU,CAAC,OAAOyR,GAAGzR,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE0R,GAAG1R,EAAE,SAAS,UAAU,CAAC,OAAO0R,GAAG1R,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE2R,GAAG3R,EAAE,WAAW,UAAU,CAAC,OAAO2R,GAAG3R,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAE4R,GAAG5R,EAAE,KAAK,UAAU,CAAC,OAAO4R,GAAG5R,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE6R,GAAG7R,EAAE,aAAa,UAAU,CAAC,OAAO6R,GAAG7R,EAAE,aAAaA,EAAE,IAAI,aAAa,MAAM,KAAK,SAAS,CAAC,EAAE8R,GAAG9R,EAAE,UAAU,UAAU,CAAC,OAAO8R,GAAG9R,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAE+R,GAAG/R,EAAE,KAAK,UAAU,CAAC,OAAO+R,GAAG/R,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEgS,GAAGhS,EAAE,qBAAqB,UAAU,CAAC,OAAOgS,GAAGhS,EAAE,qBAAqBA,EAAE,IAAI,qBAAqB,MAAM,KAAK,SAAS,CAAC,EAAEiS,GAAGjS,EAAE,qBAAqB,UAAU,CAAC,OAAOiS,GAAGjS,EAAE,qBAAqBA,EAAE,IAAI,qBAAqB,MAAM,KAAK,SAAS,CAAC,EAAEkS,GAAGlS,EAAE,qBAAqB,UAAU,CAAC,OAAOkS,GAAGlS,EAAE,qBAAqBA,EAAE,IAAI,qBAAqB,MAAM,KAAK,SAAS,CAAC,EAAEmS,GAAGnS,EAAE,UAAU,UAAU,CAAC,OAAOmS,GAAGnS,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAEoS,GAAGpS,EAAE,QAAQ,UAAU,CAAC,OAAOoS,GAAGpS,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAEqS,GAAGrS,EAAE,OAAO,UAAU,CAAC,OAAOqS,GAAGrS,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEsS,GAAGtS,EAAE,KAAK,UAAU,CAAC,OAAOsS,GAAGtS,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEuS,GAAGvS,EAAE,OAAO,UAAU,CAAC,OAAOuS,GAAGvS,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEwS,GAAGxS,EAAE,MAAM,UAAU,CAAC,OAAOwS,GAAGxS,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEyS,GAAGzS,EAAE,SAAS,UAAU,CAAC,OAAOyS,GAAGzS,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE0S,GAAG1S,EAAE,YAAY,UAAU,CAAC,OAAO0S,GAAG1S,EAAE,YAAYA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAE2S,GAAG3S,EAAE,MAAM,UAAU,CAAC,OAAO2S,GAAG3S,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE4S,GAAG5S,EAAE,OAAO,UAAU,CAAC,OAAO4S,GAAG5S,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAE6S,GAAG7S,EAAE,gBAAgB,UAAU,CAAC,OAAO6S,GAAG7S,EAAE,gBAAgBA,EAAE,IAAI,gBAAgB,MAAM,KAAK,SAAS,CAAC,EAAE8S,GAAG9S,EAAE,oBAAoB,UAAU,CAAC,OAAO8S,GAAG9S,EAAE,oBAAoBA,EAAE,IAAI,oBAAoB,MAAM,KAAK,SAAS,CAAC,EAAE+S,GAAG/S,EAAE,uBAAuB,UAAU,CAAC,OAAO+S,GAAG/S,EAAE,uBAAuBA,EAAE,IAAI,uBAAuB,MAAM,KAAK,SAAS,CAAC,EAAEgT,GAAGhT,EAAE,2BAA2B,UAAU,CAAC,OAAOgT,GAAGhT,EAAE,2BAA2BA,EAAE,IAAI,2BAA2B,MAAM,KAAK,SAAS,CAAC,EAAEiT,GAAGjT,EAAE,SAAS,UAAU,CAAC,OAAOiT,GAAGjT,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAEkT,GAAGlT,EAAE,kBAAkB,UAAU,CAAC,OAAOkT,GAAGlT,EAAE,kBAAkBA,EAAE,IAAI,kBAAkB,MAAM,KAAK,SAAS,CAAC,EAAEmT,GAAGnT,EAAE,OAAO,UAAU,CAAC,OAAOmT,GAAGnT,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEoT,GAAGpT,EAAE,OAAO,UAAU,CAAC,OAAOoT,GAAGpT,EAAE,OAAOA,EAAE,IAAI,OAAO,MAAM,KAAK,SAAS,CAAC,EAAEqT,GAAGrT,EAAE,WAAW,UAAU,CAAC,OAAOqT,GAAGrT,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEsT,GAAGtT,EAAE,cAAc,UAAU,CAAC,OAAOsT,GAAGtT,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAEuT,GAAGvT,EAAE,UAAU,UAAU,CAAC,OAAOuT,GAAGvT,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAEwT,GAAGxT,EAAE,MAAM,UAAU,CAAC,OAAOwT,GAAGxT,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEyT,GAAGzT,EAAE,SAAS,UAAU,CAAC,OAAOyT,GAAGzT,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE0T,GAAG1T,EAAE,MAAM,UAAU,CAAC,OAAO0T,GAAG1T,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE2T,GAAG3T,EAAE,KAAK,UAAU,CAAC,OAAO2T,GAAG3T,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE4T,GAAG5T,EAAE,MAAM,UAAU,CAAC,OAAO4T,GAAG5T,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE6T,GAAG7T,EAAE,SAAS,UAAU,CAAC,OAAO6T,GAAG7T,EAAE,SAASA,EAAE,IAAI,SAAS,MAAM,KAAK,SAAS,CAAC,EAAE8T,GAAG9T,EAAE,UAAU,UAAU,CAAC,OAAO8T,GAAG9T,EAAE,UAAUA,EAAE,IAAI,UAAU,MAAM,KAAK,SAAS,CAAC,EAAE+T,GAAG/T,EAAE,qBAAqB,UAAU,CAAC,OAAO+T,GAAG/T,EAAE,qBAAqBA,EAAE,IAAI,qBAAqB,MAAM,KAAK,SAAS,CAAC,EAAEgU,GAAGhU,EAAE,eAAe,UAAU,CAAC,OAAOgU,GAAGhU,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAEiU,GAAGjU,EAAE,wBAAwB,UAAU,CAAC,OAAOiU,GAAGjU,EAAE,wBAAwBA,EAAE,IAAI,wBAAwB,MAAM,KAAK,SAAS,CAAC,EAAEkU,GAAGlU,EAAE,eAAe,UAAU,CAAC,OAAOkU,GAAGlU,EAAE,eAAeA,EAAE,IAAI,eAAe,MAAM,KAAK,SAAS,CAAC,EAAEmU,GAAGnU,EAAE,MAAM,UAAU,CAAC,OAAOmU,GAAGnU,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEoU,GAAGpU,EAAE,QAAQ,UAAU,CAAC,OAAOoU,GAAGpU,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAEqU,GAAGrU,EAAE,mBAAmB,UAAU,CAAC,OAAOqU,GAAGrU,EAAE,mBAAmBA,EAAE,IAAI,mBAAmB,MAAM,KAAK,SAAS,CAAC,EAAEsU,GAAGtU,EAAE,MAAM,UAAU,CAAC,OAAOsU,GAAGtU,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEuU,GAAGvU,EAAE,cAAc,UAAU,CAAC,OAAOuU,GAAGvU,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAEwU,GAAGxU,EAAE,KAAK,UAAU,CAAC,OAAOwU,GAAGxU,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAEyU,GAAGzU,EAAE,KAAK,UAAU,CAAC,OAAOyU,GAAGzU,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE0U,GAAG1U,EAAE,KAAK,UAAU,CAAC,OAAO0U,GAAG1U,EAAE,KAAKA,EAAE,IAAI,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE2U,GAAG3U,EAAE,MAAM,UAAU,CAAC,OAAO2U,GAAG3U,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE4U,GAAG5U,EAAE,qBAAqB,UAAU,CAAC,OAAO4U,GAAG5U,EAAE,qBAAqBA,EAAE,IAAI,qBAAqB,MAAM,KAAK,SAAS,CAAC,EAAE6U,GAAG7U,EAAE,MAAM,UAAU,CAAC,OAAO6U,GAAG7U,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE8U,GAAG9U,EAAE,MAAM,UAAU,CAAC,OAAO8U,GAAG9U,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAE+U,GAAG/U,EAAE,WAAW,UAAU,CAAC,OAAO+U,GAAG/U,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEgV,GAAGhV,EAAE,WAAW,UAAU,CAAC,OAAOgV,GAAGhV,EAAE,WAAWA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEiV,GAAGjV,EAAE,cAAc,UAAU,CAAC,OAAOiV,GAAGjV,EAAE,cAAcA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAEkV,GAAGlV,EAAE,QAAQ,UAAU,CAAC,OAAOkV,GAAGlV,EAAE,QAAQA,EAAE,IAAI,QAAQ,MAAM,KAAK,SAAS,CAAC,EAAEmV,GAAGnV,EAAE,MAAM,UAAU,CAAC,OAAOmV,GAAGnV,EAAE,MAAMA,EAAE,IAAI,MAAM,MAAM,KAAK,SAAS,CAAC,EAAEoV,GAAGpV,EAAE,kBAAkB,UAAU,CAAC,OAAOoV,GAAGpV,EAAE,kBAAkBA,EAAE,IAAI,kBAAkB,MAAM,KAAK,SAAS,CAAC,EAAEqV,GAAGrV,EAAE,UAAU,UAAU,CAAC,OAAOqV,GAAGrV,EAAE,UAAUA,EAAE,IAAI,WAAW,MAAM,KAAK,SAAS,CAAC,EAAEsV,GAAGtV,EAAE,aAAa,UAAU,CAAC,OAAOsV,GAAGtV,EAAE,aAAaA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAEuV,GAAGvV,EAAE,WAAW,UAAU,CAAC,OAAOuV,GAAGvV,EAAE,WAAWA,EAAE,IAAI,YAAY,MAAM,KAAK,SAAS,CAAC,EAAEwV,GAAGxV,EAAE,iBAAiB,UAAU,CAAC,OAAOwV,GAAGxV,EAAE,iBAAiBA,EAAE,IAAI,kBAAkB,MAAM,KAAK,SAAS,CAAC,EAAEyV,GAAGzV,EAAE,aAAa,UAAU,CAAC,OAAOyV,GAAGzV,EAAE,aAAaA,EAAE,IAAI,cAAc,MAAM,KAAK,SAAS,CAAC,EAAEA,EAAE,MAAMqL,GAAG,IAAIqK,GAAGrM,GAAG,SAAS0M,GAAG,CAACL,IAAIC,GAAG,EAAED,KAAKrM,GAAG0M,EAAE,EAAE,SAASJ,GAAGI,EAAE,CAAC,GAAGA,EAAEA,GAAGlU,EAAE6E,GAAG,IAAIG,GAAG,EAAEH,GAAG,GAAG,OAAO,SAASsP,IAAI,CAACN,KAAKA,GAAG,GAAG1V,EAAE,UAAU,GAAG,CAACgF,IAAImE,GAAG,EAAEjJ,EAAEF,CAAC,EAAEA,EAAE,sBAAsBA,EAAE,qBAAqB,EAAE8G,GAAG,GAAG,CAAC9G,EAAE,WAAWA,EAAE,UAAU,YAAY,EAAE,WAAW,UAAU,CAAC,WAAW,UAAU,CAACA,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAEgW,GAAG,CAAC,EAAE,CAAC,GAAGA,GAAG,CAAC,CAAC,GAAGhW,EAAE,QAAQ,IAAI,OAAOA,EAAE,SAAS,aAAaA,EAAE,QAAQ,CAACA,EAAE,OAAO,GAAGA,EAAE,QAAQ,OAAO,GAAGA,EAAE,QAAQ,IAAI,EAAE,EAAE2V,GAAG,EAAE,IAAIC,GAAGjU,IAAIiU,GAAG,CAAC,kBAAkB,QAAQ,UAAU,mBAAmB,EAAE,OAAO,SAASG,EAAE,CAAC,MAAM,CAACpU,EAAE,kBAAkB,QAAQoU,CAAC,EAAE,EAAE,CAAC,EAAE,mBAAmB,QAAQ,UAAU,oBAAoB,EAAE,OAAO,SAASA,EAAE,CAAC,MAAM,CAACpU,EAAE,mBAAmB,QAAQoU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAIF,GAAG,GAAG,OAAOnV,GAAG,YAAYmV,GAAGnV,UAAU,OAAO,+BAA+B,YAAYmV,GAAG,kCAAmC,OAAM,IAAI,MAAM,uCAAuC,EAAE,GAAGD,GAAG,CAAC,IAAIE,GAAGD,GAAG,SAASA,GAAG,SAAS,UAAU,CAACC,GAAG,EAAEF,GAAG,kBAAkB,QAAQ,SAASG,EAAE,CAAC,QAAQ,eAAe,oBAAoBA,CAAC,CAAC,CAAC,EAAEH,GAAG,mBAAmB,QAAQ,SAASG,EAAE,CAAC,QAAQ,eAAe,qBAAqBA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAOrV,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO8Y,GAAI,UAAU,OAAOC,GAAI,SAASA,EAAG,QAAQC,EAAG,OAAO,QAAQ,YAAY,OAAO,IAAI,OAAO,CAAC,EAAE,UAAU,CAAC,OAAOA,CAAE,CAAC,EAAE,OAAOF,GAAI,WAAWA,EAAG,kBAAkBE,EAAG,CAAC,EAAMx3B,GAAG,KAAK,CAAC,YAAYwe,EAAEV,EAAE,CAAC,KAAK,QAAQU,EAAE,KAAK,UAAUV,EAAE,KAAK,KAAK,IAAI,QAAQ,KAAK,aAAa,CAAC,CAAC,IAAIU,EAAE,CAAC,OAAO,KAAK,KAAK,IAAIA,CAAC,GAAG,KAAK,UAAU,SAAS,KAAK,QAAQA,CAAC,EAAE,KAAK,KAAK,IAAIA,CAAC,CAAC,CAAC,IAAIA,EAAEV,EAAE,CAAC,KAAK,eAAe,KAAK,KAAK,IAAIU,EAAEV,CAAC,CAAC,CAAC,IAAIU,EAAE,CAAC,OAAO,KAAK,KAAK,IAAIA,CAAC,CAAC,CAAC,OAAOA,EAAE,CAAC,OAAO,KAAK,eAAe,KAAK,KAAK,OAAOA,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,KAAK,YAAY,CAAC,EAAE3b,GAAG,KAAK,CAAC,SAAS2b,EAAE,CAAC,OAAOiZ,GAAG,UAAU,CAAC,CAAC,OAAOjZ,EAAE,CAAC,OAAOiZ,GAAG,QAAQ,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,KAAKjZ,EAAE,CAAC,OAAOiZ,GAAG,MAAM,CAAC,CAAC,KAAKjZ,EAAE,CAAC,OAAOiZ,GAAG,MAAM,CAAC,CAAC,SAASjZ,EAAE,CAAC,OAAOiZ,GAAG,UAAU,CAAC,CAAC,UAAUjZ,EAAEV,EAAE,CAAC,OAAO2Z,GAAG,WAAW,CAAC,CAAC,YAAY,CAAC,OAAOA,GAAG,YAAY,CAAC,CAAC,YAAYjZ,EAAEV,EAAE,CAAC,OAAO2Z,GAAG,aAAa,CAAC,CAAC,MAAMjZ,EAAEV,EAAE,EAAE,CAAC,OAAO2Z,GAAG,OAAO,CAAC,CAAC,KAAKjZ,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,CAAC,OAAOgY,GAAG,MAAM,CAAC,CAAC,wBAAwBjZ,EAAEV,EAAE,EAAE,CAAC,OAAO2Z,GAAG,yBAAyB,CAAC,CAAC,QAAQ,CAAC,OAAOA,GAAG,QAAQ,CAAC,CAAC,gBAAgB,CAAC,OAAOA,GAAG,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,eAAe,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,OAAOA,GAAG,SAAS,CAAC,CAAC,EAAE,SAASA,GAAG7Z,EAAE,CAAC,MAAM,IAAI,MAAM,IAAIA,CAAC,0HAA0H,CAAC,CAAC,SAAS8Z,GAAG9Z,EAAE,CAAC,IAAI,EAAEA,EAAE,OAAOE,EAAE,EAAE,KAAK,EAAE,GAAGA,EAAE,KAAK,OAAO,EAAE,EAAE,EAAE,IAAI6Z,GAAG/Z,EAAE,EAAEE,CAAC,CAAC,CAAC,SAAS8Z,GAAGha,EAAE,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAE,OAAO,MAAM,IAAI,MAAM,yEAAyEA,EAAE,MAAM,2BAA2B,EAAE,MAAM,EAAE,EAAE,IAAIE,EAAEF,EAAE,OAAOI,EAAE,EAAE,KAAKF,EAAE,GAAGE,EAAE,KAAK,OAAO,EAAEF,EAAE,EAAEA,IAAI6Z,GAAG/Z,EAAEE,EAAEE,CAAC,EAAE2Z,GAAG,EAAE7Z,EAAEE,CAAC,CAAC,CAAC,SAAS6Z,GAAGja,EAAE,EAAEE,EAAE,CAAC,OAAO,KAAK,IAAIF,EAAE,KAAK,IAAI,EAAEE,CAAC,CAAC,CAAC,CAAC,SAASga,GAAGla,EAAE,CAAC,OAAOA,EAAE,IAAI,EAAEA,EAAEA,EAAE,CAAC,CAAC,SAAS+Z,GAAG/Z,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEJ,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEA,EAAEE,CAAC,EAAEF,EAAEE,CAAC,EAAEE,CAAC,CAAC,SAAS+Z,GAAGna,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAOE,IAAI,GAAGF,EAAEE,CAAC,EAAE,OAAO,CAAC,CAAC,SAASka,GAAGpa,EAAE,EAAE,CAAC,IAAIE,EAAE,KAAK,OAAO,EAAE,OAAO,EAAEA,GAAG,EAAEA,GAAGF,CAAC,CAAC,SAASqa,GAAGra,EAAE,EAAE,CAAC,IAAIE,EAAE,EAAE,QAAQE,EAAE,EAAEA,EAAEJ,EAAE,OAAOI,IAAI,CAAC,IAAIC,EAAE,OAAOL,EAAEI,CAAC,CAAC,EAAE,OAAO,EAAEA,CAAC,CAAC,EAAEF,GAAGG,EAAEA,CAAC,CAAC,OAAOH,CAAC,CAAC,SAASoa,EAAEta,EAAE,EAAE,CAAC,GAAG,CAACA,EAAE,MAAM,IAAI,MAAM,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAASua,GAAGva,EAAE,EAAEE,EAAE,GAAG,CAACoa,EAAEE,GAAGxa,EAAE,CAAC,EAAE,IAAIE,EAAE,WAAWF,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,SAASya,GAAGza,EAAE,CAACsa,EAAEta,GAAG,KAAK,IAAI,+DAA+D,CAAC,CAAC,SAAS0a,GAAG1a,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAE,MAAO,GAAE,IAAI,EAAEA,EAAE,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAOE,IAAI,GAAGF,EAAEE,CAAC,EAAE,OAAO,CAAC,CAAC,SAASya,GAAG3a,EAAE,CAAC,OAAOA,EAAE,SAAS,CAAC,CAAC,SAAS4a,GAAG5a,EAAE,EAAE,CAAC,GAAGA,IAAI,EAAE,MAAM,GAAG,GAAGA,GAAG,MAAM,GAAG,MAAMA,EAAE,SAAS,EAAE,OAAO,MAAM,GAAG,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAOE,IAAI,GAAGF,EAAEE,CAAC,IAAI,MAAM,EAAEA,CAAC,IAAI,MAAMF,EAAEE,CAAC,IAAI,EAAEA,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,SAASsa,GAAGxa,EAAE,EAAE,CAAC,GAAGA,IAAI,EAAE,MAAM,GAAG,GAAGA,GAAG,MAAM,GAAG,MAAMA,EAAE,SAAS,EAAE,OAAO,MAAM,GAAG,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAOE,IAAI,GAAGF,EAAEE,CAAC,IAAI,EAAEA,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS2a,GAAG7a,EAAE,CAAC,OAAOA,EAAE,IAAI,CAAC,CAAC,SAAS8a,GAAG9a,EAAE,CAAC,GAAG,KAAK,MAAM,KAAK,OAAO,KAAK,KAAKA,CAAC,EAAE,GAAGA,IAAI,IAAI,MAAO,GAAE,GAAGA,IAAI,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,EAAEA,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS+a,GAAG/a,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,KAAKA,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,KAAKA,EAAE,CAAC,CAAC,CAAC,CAAC,SAASgb,GAAGhb,EAAE,CAAC,IAAI,EAAE,IAAI,YAAYA,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAEF,EAAE,EAAEE,EAAE,EAAEA,CAAC,EAAEA,EAAE,OAAO4Z,GAAG,CAAC,EAAE,CAAC,CAAC,SAASmB,GAAGjb,EAAE,EAAE,CAAC,OAAO,GAAGA,EAAE,OAAOA,EAAEA,EAAE,IAAI,OAAO,EAAEA,EAAE,MAAM,CAAC,CAAC,SAASkb,GAAGlb,EAAE,EAAEK,GAAG,EAAEH,EAAEE,EAAE,CAAC,OAAO,IAAI,QAAQ,CAACC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE0B,EAAE,IAAI,CAAC,GAAG/B,EAAE,EAAE,CAACK,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI2B,EAAE,EAAE,CAAC,EAAE,GAAG9B,GAAG,MAAM,GAAGA,EAAE,CAAC,EAAE,EAAE,MAAM,CAACE,GAAG,KAAKA,EAAE2B,EAAEC,CAAC,EAAE,WAAWD,EAAEC,CAAC,CAAC,EAAED,EAAE,CAAC,CAAC,CAAC,CAAC,SAASoZ,GAAGnb,EAAE,EAAE,CAAC,IAAIE,EAAE,EAAEE,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAEJ,EAAE,OAAO,EAAE,EAAE,GAAGA,EAAE,CAAC,GAAG,EAAEE,GAAGF,EAAE,CAAC,UAAUA,EAAE,CAAC,IAAI,GAAG,CAAC,GAAGI,IAAI,GAAG,MAAM,MAAM,yDAAyDA,CAAC,YAAY,CAAC,EAAE,EAAEA,EAAE,CAAC,SAASJ,EAAE,CAAC,EAAE,EAAE,MAAM,MAAM,gCAAgCA,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,GAAGI,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,IAAIF,EAAE,MAAM,MAAM,QAAQ,CAAC,qCAAqCF,CAAC,EAAE,EAAE,OAAOA,CAAC,CAAC,GAAGE,IAAI,EAAE,MAAM,MAAM,qCAAqCF,CAAC,6BAA6B,EAAE,GAAG,EAAEE,IAAI,EAAE,MAAM,MAAM,wDAAwD,CAAC,MAAMA,CAAC,EAAE,EAAE,IAAIG,EAAEL,EAAE,MAAM,EAAE,OAAOK,EAAED,CAAC,EAAE,EAAEF,EAAEG,CAAC,CAAC,SAAS+a,GAAGpb,EAAE,EAAE,CAAC,IAAIE,EAAE,EAAE,OAAO,OAAOF,EAAEA,GAAG,KAAK,EAAE,IAAI,CAACI,EAAEC,IAAIA,CAAC,EAAE,CAAC,EAAE,OAAOL,CAAC,EAAEsa,EAAEta,EAAE,MAAMI,GAAGA,GAAG,CAACF,GAAGE,EAAEF,CAAC,EAAE,IAAI,+CAA+CA,CAAC,KAAKA,CAAC,kBAAkBF,CAAC,EAAE,EAAEsa,EAAEta,EAAE,MAAMI,GAAGya,GAAGza,CAAC,CAAC,EAAE,IAAI,0DAA0DJ,CAAC,EAAE,EAAEA,EAAE,IAAII,GAAGA,EAAE,EAAEF,EAAEE,EAAEA,CAAC,CAAC,CAAC,SAASib,GAAGrb,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEE,EAAE,CAAC,EAAEC,EAAE,GAAG,MAAM,MAAM,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,GAAG,MAAMA,EAAE,KAAK+a,GAAG,EAAEpb,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ+B,EAAE,EAAEA,EAAE/B,EAAE,OAAO,EAAE+B,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAIA,GAAG/B,EAAE+B,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,sBAAsBA,CAAC,mBAAmB/B,EAAE+B,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAEA,IAAI/B,EAAE+B,CAAC,IAAI,IAAI7B,EAAE,KAAKF,EAAE+B,CAAC,CAAC,EAAE3B,EAAE,KAAK2B,CAAC,GAAG,EAAE,CAAC,GAAGA,GAAG,GAAG,CAAC/B,EAAE+B,CAAC,IAAI,IAAI7B,EAAE,KAAKF,EAAE+B,CAAC,CAAC,EAAE3B,EAAE,KAAK2B,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS7B,EAAE,SAASE,CAAC,CAAC,CAAC,SAASkb,GAAGtb,EAAE,EAAE,CAAC,OAAOub,GAAGvb,EAAE,CAAC,CAAC,CAAC,SAASub,GAAGvb,EAAE,EAAE,CAAC,IAAIE,EAAE,KAAK,GAAGF,GAAG,MAAMA,IAAI,UAAUE,EAAE,IAAI,aAAa,CAAC,UAAUF,IAAI,QAAQE,EAAE,IAAI,WAAW,CAAC,UAAUF,IAAI,OAAOE,EAAE,IAAI,WAAW,CAAC,UAAUF,IAAI,SAASE,EAAE,IAAI,MAAM,CAAC,MAAO,OAAM,IAAI,MAAM,qBAAqBF,CAAC,EAAE,EAAE,OAAOE,CAAC,CAAC,SAASsb,GAAGxb,EAAE,EAAE,CAAC,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAOE,IAAI,CAAC,IAAIE,EAAEJ,EAAEE,CAAC,EAAE,GAAG,MAAME,CAAC,GAAG,CAAC,SAASA,CAAC,EAAE,MAAM,MAAM,oBAAoB,CAAC,4BAA4BA,CAAC,GAAG,CAAC,CAAC,CAAC,SAASqb,GAAGzb,EAAE,CAAC,OAAOA,IAAI,QAAQA,IAAI,aAAaA,IAAI,WAAWA,IAAI,SAASA,IAAI,QAAQ,CAAC,SAAS0b,GAAG1b,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,aAAa,IAAI,WAAWA,IAAI,aAAa,IAAI,SAASA,IAAI,WAAWA,IAAI,aAAa,IAAI,QAAQA,IAAI,OAAO,CAAC,SAAS2b,GAAG3b,EAAE,CAAC,GAAGA,IAAI,WAAWA,IAAI,QAAQ,MAAO,GAAE,GAAGA,IAAI,YAAY,MAAO,GAAE,GAAGA,IAAI,OAAO,MAAO,GAAE,MAAM,IAAI,MAAM,iBAAiBA,CAAC,EAAE,CAAC,CAAC,SAAS4b,GAAG5b,EAAE,CAAC,GAAGA,GAAG,KAAK,MAAO,GAAE,IAAI,EAAE,EAAE,OAAOA,EAAE,QAAQE,GAAG,GAAGA,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS2b,GAAG7b,EAAE,CAAC,OAAO,OAAOA,GAAG,UAAUA,aAAa,MAAM,CAAC,SAAS8b,GAAG9b,EAAE,CAAC,OAAO,OAAOA,GAAG,SAAS,CAAC,SAAS+b,GAAG/b,EAAE,CAAC,OAAO,OAAOA,GAAG,QAAQ,CAAC,SAASgc,GAAGhc,EAAE,CAAC,OAAO,MAAM,QAAQA,CAAC,EAAEgc,GAAGhc,EAAE,CAAC,CAAC,EAAEA,aAAa,aAAa,UAAUA,aAAa,YAAYA,aAAa,YAAYA,aAAa,kBAAkB,QAAQ+b,GAAG/b,CAAC,EAAE,UAAU6b,GAAG7b,CAAC,EAAE,SAAS8b,GAAG9b,CAAC,EAAE,OAAO,SAAS,CAAC,SAASic,GAAGjc,EAAE,CAAC,MAAM,CAAC,EAAEA,GAAGA,EAAE,aAAaA,EAAE,MAAMA,EAAE,MAAM,CAAC,SAASkc,GAAGlc,EAAE,EAAE,CAAC,QAAQE,EAAE,EAAEA,EAAEF,EAAE,EAAEE,EAAE,GAAGF,EAAEE,IAAI,EAAE,OAAOA,EAAE,OAAOF,CAAC,CAAC,SAASmc,GAAGnc,EAAE,CAAC,IAAI,EAAEA,EAAE,OAAO,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIE,EAAE,IAAI,MAAM,EAAE,CAAC,EAAEA,EAAE,EAAE,CAAC,EAAEF,EAAE,EAAE,CAAC,EAAE,QAAQI,EAAE,EAAE,EAAEA,GAAG,EAAE,EAAEA,EAAEF,EAAEE,CAAC,EAAEF,EAAEE,EAAE,CAAC,EAAEJ,EAAEI,EAAE,CAAC,EAAE,OAAOF,CAAC,CAAC,SAASkc,GAAGpc,EAAE,EAAEE,EAAEE,EAAE,GAAG,CAAC,IAAIC,EAAE,IAAI,MAAM,GAAG,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAGD,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAEF,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE+B,EAAE,EAAE,OAAO,CAACC,EAAEC,IAAID,EAAEC,CAAC,GAAG7B,EAAE,EAAE,GAAG,QAAQ4B,EAAE,EAAEA,EAAE,EAAEA,IAAI3B,EAAE2B,CAAC,EAAEoa,GAAGpc,EAAEgC,EAAED,EAAE,EAAE7B,EAAEE,CAAC,CAAC,CAAC,OAAOC,CAAC,CAAC,SAASgc,GAAGrc,EAAE,EAAEE,EAAE,GAAG,CAAC,GAAGF,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAII,EAAEJ,EAAE,OAAO,CAACK,EAAE,IAAIA,EAAE,CAAC,GAAGH,EAAE,EAAE,GAAG,GAAGE,IAAI,EAAE,MAAM,CAAC,EAAE,GAAGA,IAAI,EAAE,OAAO,MAAM,IAAI,MAAM,IAAIJ,CAAC,mCAAmC,EAAE,MAAM,GAAGE,EAAE,wBAAwB,EAAE,GAAG,EAAE,OAAOkc,GAAG,EAAEpc,EAAE,EAAEE,CAAC,CAAC,CAAC,SAASoc,GAAGtc,EAAE,EAAE,CAAC,GAAG,MAAM,QAAQA,CAAC,EAAE,OAAOA,EAAE,GAAG,IAAI,UAAU,OAAOA,aAAa,aAAaA,EAAE,IAAI,aAAaA,CAAC,EAAE,GAAG,IAAI,QAAQ,OAAOA,aAAa,WAAWA,EAAE,IAAI,WAAWA,CAAC,EAAE,GAAG,IAAI,QAAQ,IAAI,SAAS,OAAO,WAAW,KAAK,IAAI,WAAWA,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAASuc,GAAGvc,EAAE,EAAE,CAAC,IAAIE,EAAEsc,GAAGxc,EAAE,CAAC,EAAE,QAAQI,EAAE,EAAEA,EAAEF,EAAE,OAAOE,IAAIF,EAAEE,CAAC,EAAE,EAAE,OAAOF,CAAC,CAAC,SAASsc,GAAGxc,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,IAAI,WAAW,IAAI,YAAY,OAAO,IAAI,aAAaA,CAAC,EAAE,GAAG,IAAI,QAAQ,OAAO,IAAI,WAAWA,CAAC,EAAE,GAAG,IAAI,OAAO,OAAO,IAAI,WAAWA,CAAC,EAAE,MAAM,IAAI,MAAM,qBAAqB,CAAC,EAAE,CAAC,CAAC,SAASyc,GAAGzc,EAAE,EAAE,CAAC,IAAIE,EAAEF,EAAE,OAAO,CAACI,EAAEC,IAAID,EAAEC,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM,IAAI,UAAU,OAAOgc,GAAGrc,EAAE,IAAI,aAAaE,CAAC,CAAC,EAAE,GAAG,IAAI,QAAQ,OAAOmc,GAAGrc,EAAE,IAAI,WAAWE,CAAC,CAAC,EAAE,GAAG,IAAI,OAAO,OAAOmc,GAAGrc,EAAE,IAAI,WAAWE,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,qBAAqB,CAAC,EAAE,CAAC,CAAC,SAASwc,GAAG1c,EAAE,CAACA,EAAE,QAAQ,GAAG,CAACsa,EAAE,OAAO,UAAU,CAAC,GAAG,GAAG,EAAE,IAAI,0EAA0Eta,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS2c,GAAG3c,EAAE,EAAEE,EAAE,CAAC,GAAG,IAAI,EAAE,MAAO,GAAE,GAAG,IAAI,EAAE,OAAOF,EAAE,CAAC,EAAE,IAAII,EAAEJ,EAAEA,EAAE,OAAO,CAAC,EAAE,QAAQK,EAAE,EAAEA,EAAEL,EAAE,OAAO,EAAE,EAAEK,EAAED,GAAGF,EAAEG,CAAC,EAAEL,EAAEK,CAAC,EAAE,OAAOD,CAAC,CAAC,SAASwc,GAAG5c,EAAE,EAAEE,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,CAACF,CAAC,EAAE,IAAII,EAAE,IAAI,MAAM,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAED,EAAE,OAAO,EAAE,EAAEC,EAAED,EAAEC,CAAC,EAAE,KAAK,MAAML,EAAEE,EAAEG,CAAC,CAAC,EAAEL,GAAGI,EAAEC,CAAC,EAAEH,EAAEG,CAAC,EAAE,OAAOD,EAAEA,EAAE,OAAO,CAAC,EAAEJ,EAAEI,CAAC,CAAC,SAASyc,GAAG7c,EAAE,CAAC,OAAOA,GAAGA,EAAE,MAAM,OAAOA,EAAE,MAAM,UAAU,CAAC,IAAI8c,GAAG,YAAY15B,GAAG,KAAK,CAAC,YAAYwd,EAAE,CAAC,KAAK,OAAOA,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,eAAemc,GAAG,KAAK,iBAAiB,CAAC,CAAC,YAAYnc,EAAEV,EAAE,CAAC,KAAK,UAAU,OAAO1O,EAAE,EAAE,QAAQ,SAAS,GAAGA,EAAE,EAAE,QAAQ,MAAM,GAAG,QAAQ,KAAK,YAAY,KAAK,YAAY,wDAAwDoP,CAAC,GAAG,GAAG,KAAK,aAAaA,EAAE,KAAK,SAASV,CAAC,CAAC,aAAaU,EAAEV,EAAE,EAAE,CAAC,GAAG,KAAK,aAAaU,CAAC,EAAE,CAAC,aAAaV,EAAE,QAAQ,CAAC,EAAE,KAAK,SAASU,CAAC,GAAG,KAAK,CAAC,IAAIP,EAAE,KAAK,SAASO,CAAC,EAAEpP,EAAE,EAAE,QAAQ,SAAS,GAAGA,EAAE,EAAE,QAAQ,MAAM,GAAG,QAAQ,KAAK,qCAAqCoP,CAAC,KAAKP,CAAC,GAAG,EAAE,KAAK,IAAIO,EAAEP,CAAC,CAAC,CAAC,CAAC,MAAM,SAASO,EAAE,CAAC,OAAOA,KAAK,KAAK,MAAM,KAAK,MAAMA,CAAC,GAAG,KAAK,MAAMA,CAAC,EAAE,MAAM,KAAK,aAAaA,CAAC,EAAE,KAAK,MAAMA,CAAC,EAAE,CAAC,IAAIA,EAAE,CAAC,GAAGA,KAAK,KAAK,MAAM,OAAO,KAAK,MAAMA,CAAC,EAAE,IAAIV,EAAE,KAAK,aAAaU,CAAC,EAAE,GAAGic,GAAG3c,CAAC,EAAE,MAAM,IAAI,MAAM,QAAQU,CAAC,oEAAoE,EAAE,OAAO,KAAK,MAAMA,CAAC,EAAEV,EAAE,KAAK,MAAMU,CAAC,CAAC,CAAC,UAAUA,EAAE,CAAC,OAAO,KAAK,IAAIA,CAAC,CAAC,CAAC,QAAQA,EAAE,CAAC,OAAO,KAAK,IAAIA,CAAC,CAAC,CAAC,UAAUA,EAAE,CAAC,OAAO,KAAK,IAAIA,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,CAAC,IAAIA,EAAEV,EAAE,CAAC,GAAG,KAAK,aAAaU,CAAC,GAAG,KAAK,MAAM,IAAI,MAAM,mBAAmBA,CAAC,iCAAiC,EAAE,KAAK,MAAMA,CAAC,EAAEV,EAAE,KAAK,aAAaU,CAAC,EAAE,SAAS,MAAM,KAAK,aAAaA,CAAC,EAAE,QAAQV,CAAC,CAAC,CAAC,aAAaU,EAAE,CAAC,GAAG,KAAK,aAAaA,CAAC,GAAG,KAAK,MAAM,IAAI,MAAM,yBAAyBA,CAAC,kCAAkC,EAAE,OAAO,KAAK,aAAaA,CAAC,EAAE,aAAa,CAAC,CAAC,SAASA,EAAE,CAAC,KAAK,MAAM,OAAO,OAAO,CAAC,EAAEA,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC,kBAAkB,CAAC,GAAG,OAAO,KAAK,QAAQ,aAAa,OAAO,KAAK,OAAO,UAAU,aAAa,OAAO,KAAK,OAAO,SAAS,QAAQ,YAAY,OAAO,IAAIA,EAAE,KAAK,eAAe,KAAK,OAAO,SAAS,MAAM,EAAEkc,MAAMlc,GAAGA,EAAEkc,EAAE,EAAE,MAAM,GAAG,EAAE,QAAQ1c,GAAG,CAAC,GAAG,CAACC,EAAEwB,CAAC,EAAEzB,EAAE,MAAM,GAAG,EAAE,KAAK,SAASC,CAAC,EAAE2c,GAAG3c,EAAEwB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAASkb,GAAG/c,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,OAAOA,EAAE,QAAQ,8BAA8B,CAACE,KAAKE,KAAK6c,GAAG,EAAE7c,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAEA,EAAE,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS6c,GAAGjd,EAAE,EAAEE,EAAE,CAACF,EAAE,mBAAmB,CAAC,CAAC,EAAE,mBAAmBE,GAAG,EAAE,CAAC,CAAC,SAAS8c,GAAGhd,EAAE,EAAE,CAAC,IAAIE,EAAE,EAAE,YAAY,EAAE,OAAOA,IAAI,QAAQA,IAAI,QAAQA,IAAI,OAAO,GAAG,CAACA,CAAC,KAAKA,EAAE,CAACA,EAAE,CAAC,CAAC,SAAS1O,GAAG,CAAC,OAAOzO,EAAE,CAAC,IAAIA,GAAG,KAAK,SAASm6B,GAAGld,EAAE,CAACjd,GAAGid,CAAC,CAAC,IAAImd,GAAG,SAASC,IAAI,CAAC,GAAGD,IAAI,KAAK,CAAC,IAAInd,EAAE,GAAG,OAAO,QAAQ,YAAYA,EAAE,eAAe,OAAO,QAAQ,YAAYA,EAAE,eAAe,OAAO,SAAS,YAAYA,EAAE,gBAAgB,OAAO,MAAM,YAAYA,EAAE,SAAU,OAAM,IAAI,MAAM,gCAAgC,EAAEmd,GAAGnd,CAAC,CAAC,OAAOmd,EAAE,CAAC,SAASE,IAAI,CAAC,IAAIrd,EAAEod,GAAG,EAAE,OAAOpd,EAAE,YAAY,OAAOA,EAAE,WAAW,IAAI,KAAKA,EAAE,UAAU,CAAC,SAASsd,GAAGtd,EAAE,EAAE,CAAC,IAAIE,EAAEmd,GAAG,EAAE,GAAGnd,EAAE,IAAIF,CAAC,EAAE,OAAOE,EAAE,IAAIF,CAAC,EAAE,CAAC,IAAII,EAAE,EAAE,EAAE,OAAOF,EAAE,IAAIF,EAAEI,CAAC,EAAEF,EAAE,IAAIF,CAAC,CAAC,CAAC,CAAC,IAAI7gB,GAAG,MAAMC,GAAG,OAAOC,GAAG,QAAQK,GAAG,MAAMC,GAAG,OAAOC,GAAG,MAAMC,GAAG,MAAMC,GAAG,SAASC,GAAG,SAASC,GAAG,OAAOC,GAAG,QAAQC,GAAG,OAAOE,GAAG,QAAQD,GAAG,QAAQE,GAAG,UAAUG,GAAG,cAAcF,GAAG,YAAYC,GAAG,gBAAgBG,GAAG,cAAcC,GAAG,iBAAiBC,GAAG,WAAWC,GAAG,aAAaE,GAAG,cAAcD,GAAG,gBAAgBI,GAAG,OAAOC,GAAG,OAAOC,GAAG,cAAcC,GAAG,UAAUC,GAAG,aAAaC,GAAG,SAASC,GAAG,SAASC,GAAG,uBAAuBC,GAAG,sBAAsBC,GAAG,SAASC,GAAG,yBAAyBC,GAAG,wBAAwBC,GAAG,MAAMC,GAAG,OAAOE,GAAG,UAAUC,GAAG,SAASF,GAAG,gBAAgBK,GAAG,gBAAgBC,GAAG,eAAeC,GAAG,wBAAwBC,GAAG,sCAAsCC,GAAG,qCAAqCC,GAAG,OAAOC,GAAG,aAAaE,GAAG,0BAA0BD,GAAG,2BAA2BE,GAAG,OAAO8F,GAAG,UAAU3F,GAAG,SAASC,GAAG,MAAMC,GAAG,UAAUG,GAAG,MAAMD,GAAG,QAAQE,GAAG,MAAMC,GAAG,aAAaC,GAAG,QAAQC,GAAG,MAAMC,GAAG,OAAOC,GAAG,gBAAgBC,GAAG,QAAQC,GAAG,WAAWE,GAAG,iBAAiBK,GAAG,WAAWD,GAAG,WAAWG,GAAG,UAAUC,GAAG,eAAeG,GAAG,WAAWD,GAAG,OAAOE,GAAG,OAAOE,GAAG,WAAWC,GAAG,QAAQC,GAAG,QAAQM,GAAG,YAAYC,GAAG,OAAOC,GAAG,YAAYC,GAAG,WAAWC,GAAG,MAAMC,GAAG,QAAQE,GAAG,aAAaC,GAAG,aAAaC,GAAG,YAAYC,GAAG,aAAaJ,GAAG,aAAaK,GAAI,aAAaf,GAAG,MAAMC,GAAG,UAAUiB,GAAI,iBAAiBC,GAAG,MAAMM,GAAG,UAAUL,GAAG,UAAUG,GAAG,cAAcF,GAAG,YAAYC,GAAG,gBAAgBE,GAAG,oBAAoBE,GAAG,OAAOC,GAAG,MAAMC,GAAG,UAAUC,GAAG,YAAYC,GAAG,MAAME,GAAG,cAAcC,GAAG,WAAWC,GAAG,MAAMI,GAAG,WAAWH,GAAG,sBAAsBC,GAAG,sBAAsBC,GAAG,sBAAsBI,GAAG,WAAWD,GAAG,SAASI,GAAG,OAAOC,GAAG,QAAQC,GAAI,OAAOC,GAAG,MAAMC,GAAG,QAAQC,GAAG,OAAOG,GAAG,eAAeC,GAAG,cAAcC,GAAG,uBAAuBC,GAAG,QAAQE,GAAG,OAAOE,GAAG,aAAaE,GAAG,OAAOE,GAAG,UAAUG,GAAG,wBAAwBC,GAAG,4BAA4BH,GAAG,iBAAiBC,GAAG,qBAAqBH,GAAG,QAAQM,GAAG,UAAUE,GAAG,QAAQC,GAAG,QAAQE,GAAG,YAAYmC,GAAG,sBAAsBlC,GAAG,eAAeC,GAAG,SAASC,GAAG,OAAOM,GAAG,QAAQF,GAAG,MAAMC,GAAG,OAAOF,GAAG,OAAOD,GAAG,UAAUM,GAAG,WAAWQ,GAAG,OAAOU,GAAG,MAAMjB,GAAG,iBAAiBM,GAAG,SAASR,GAAG,UAAUG,GAAG,sBAAsBC,GAAG,gBAAgBC,GAAG,oBAAoBC,GAAG,mBAAmBC,GAAG,gBAAgBI,GAAG,oBAAoBD,GAAG,SAASE,GAAG,qBAAqBE,GAAG,eAAeC,GAAG,eAAeC,GAAG,cAAcC,GAAG,yBAAyBC,GAAG,MAAMG,GAAG,MAAMC,GAAG,OAAOI,GAAG,OAAOC,GAAG,OAAOC,GAAG,YAAYC,GAAG,YAAYC,GAAG,SAASC,GAAG,SAASC,GAAG,qBAAqBC,GAAI,aAAaE,GAAG,YAAYtB,GAAG,OAAOnH,GAAG,aAAawF,GAAG,mBAAmBkD,GAAG,eAAexI,GAAG,cAAcC,GAAG,uBAAuB,SAASq5B,MAAMvd,EAAE,CAACxO,EAAE,EAAE,QAAQ,SAAS,GAAGA,EAAE,EAAE,QAAQ,MAAM,GAAG,QAAQ,KAAK,GAAGwO,CAAC,CAAC,CAAC,SAASwd,MAAMxd,EAAE,CAACxO,EAAE,EAAE,QAAQ,SAAS,GAAGA,EAAE,EAAE,QAAQ,MAAM,GAAG,QAAQ,IAAI,GAAGwO,CAAC,CAAC,CAAC,IAAIyd,GAAGH,GAAG,iBAAiB,IAAI,IAAI,GAAG,EAAEI,GAAGJ,GAAG,eAAe,IAAI,IAAI,GAAG,EAAE,SAASzqB,GAAGmN,EAAE,EAAE,CAAC,IAAIE,EAAEyd,GAAG3d,EAAE,CAAC,EAAE,OAAOyd,GAAG,IAAIvd,CAAC,CAAC,CAAC,SAAStN,GAAGoN,EAAE,CAAC,OAAO0d,GAAG,IAAI1d,CAAC,CAAC,CAAC,SAASlN,GAAGkN,EAAE,CAAC,IAAI,EAAEyd,GAAG,QAAQ,EAAEvd,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,KAAKE,EAAE,MAAMC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAGD,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,EAAEC,EAAE,CAAC0B,CAAC,EAAE,EAAE,MAAM,GAAG,EAAEA,IAAI/B,GAAGE,EAAE,KAAK,CAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,SAASjH,GAAG+G,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,YAAYE,CAAC,EAAEF,EAAEI,EAAEud,GAAG,EAAEzd,CAAC,EAAEud,GAAG,IAAIrd,CAAC,GAAGmd,GAAG,eAAe,CAAC,kBAAkBrd,CAAC,yBAAyB,EAAEud,GAAG,IAAIrd,EAAEJ,CAAC,CAAC,CAAC,SAAShH,GAAGgH,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EAAEA,EAAE0d,GAAG,IAAI,CAAC,GAAGlsB,EAAE,EAAE,QAAQ,OAAO,GAAG+rB,GAAG,gCAAgC,CAAC,GAAG,EAAEG,GAAG,IAAI,EAAE1d,CAAC,CAAC,CAAC,SAAS9B,GAAI8B,EAAE,EAAE,CAAC,IAAIE,EAAEyd,GAAG3d,EAAE,CAAC,EAAE,GAAG,CAACyd,GAAG,IAAIvd,CAAC,EAAE,MAAM,IAAI,MAAM,eAAeF,CAAC,kBAAkB,CAAC,qBAAqB,EAAEyd,GAAG,OAAOvd,CAAC,CAAC,CAAC,SAASjC,GAAI+B,EAAE,CAAC,GAAG,CAAC0d,GAAG,IAAI1d,CAAC,EAAE,MAAM,IAAI,MAAM,iBAAiBA,CAAC,iCAAiC,EAAE0d,GAAG,OAAO1d,CAAC,CAAC,CAAC,SAAStQ,GAAIsQ,EAAE,EAAE,CAAClN,GAAGkN,CAAC,EAAE,QAAQ,GAAG,CAAC,IAAIK,EAAE,OAAO,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAEpH,GAAGoH,CAAC,CAAC,CAAC,CAAC,CAAC,SAASsd,GAAG3d,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAIA,CAAC,EAAE,CAAC,IAAIzB,EAAE,CAAC,EAAE0B,GAAG1B,EAAE,CAAC,YAAY,IAAIic,GAAG,oBAAoB,IAAII,GAAG,OAAO,IAAIN,EAAE,mCAAmC,IAAIoC,GAAG,cAAc,IAAIjC,GAAG,kBAAkB,IAAIF,GAAG,qBAAqB,IAAIqB,GAAG,gBAAgB,IAAID,GAAG,yBAAyB,IAAIH,GAAG,MAAM,IAAIvB,GAAG,eAAe,IAAIkC,GAAG,mCAAmC,IAAIG,GAAG,kBAAkB,IAAIsB,GAAG,sBAAsB,IAAI5C,GAAG,aAAa,IAAI6C,GAAG,YAAY,IAAIxD,GAAG,aAAa,IAAIyD,GAAG,MAAM,IAAIC,GAAG,cAAc,IAAIC,GAAG,QAAQ,IAAIC,GAAG,kBAAkB,IAAI1C,GAAG,uBAAuB,IAAID,GAAG,gBAAgB,IAAII,GAAG,UAAU,IAAIwC,GAAG,WAAW,IAAItB,GAAG,WAAW,IAAIZ,GAAG,uBAAuB,IAAIb,GAAG,UAAU,IAAIW,GAAG,WAAW,IAAIG,GAAG,MAAM,IAAIpB,GAAG,SAAS,IAAIkB,GAAG,UAAU,IAAIc,GAAG,cAAc,IAAIlC,GAAG,SAAS,IAAIkB,GAAG,aAAa,IAAIsC,GAAG,aAAa,IAAI1C,GAAG,WAAW,IAAIkB,GAAG,mBAAmB,IAAIJ,GAAG,0BAA0B,IAAIE,GAAG,oBAAoB,IAAID,GAAG,eAAe,IAAIN,GAAG,kBAAkB,IAAIhC,GAAG,IAAI,IAAIkE,GAAG,eAAe,IAAIhD,GAAG,YAAY,IAAIhB,GAAG,YAAY,IAAIc,GAAG,SAAS,IAAID,GAAG,QAAQ,IAAInB,GAAG,aAAa,IAAIE,GAAG,cAAc,IAAIU,GAAG,oBAAoB,IAAIK,GAAG,aAAa,IAAIM,GAAG,IAAI,IAAIlB,GAAG,KAAK,IAAIJ,GAAG,KAAK,IAAIe,GAAG,cAAc,IAAIuB,GAAG,aAAa,IAAIgC,EAAE,CAAC,EAAE,SAASC,GAAGte,EAAE,CAAC,OAAOA,aAAa,cAAcA,aAAa,YAAYA,aAAa,YAAYA,aAAa,iBAAiB,CAAC,IAAIue,GAAGje,GAAGC,GAAG,CAAC,EAAMie,GAAGD,GAAG,SAASA,GAAG,SAASL,GAAGle,EAAE,CAAC,OAAOwe,GAAG,WAAWxe,EAAE,GAAG,EAAE,CAAC,CAAC,IAAIye,GAAGP,GAAG,kBAAkB,EAAEQ,GAAGR,GAAG,kBAAkB,EAAES,GAAGT,GAAG,kBAAkB,EAAE,SAASU,GAAG5e,EAAE,CAAC,OAAOA,EAAE,IAAIA,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS6e,GAAG7e,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEJ,EAAE,MAAM,EAAE,EAAEE,CAAC,EAAE,OAAOse,GAAG,UAAU,MAAM,KAAKpe,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS0e,GAAG9e,EAAE,EAAE,CAAC,OAAO6e,GAAG7e,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS+e,GAAG/e,EAAE,EAAE,CAAC,OAAO6e,GAAG7e,EAAE,EAAE,CAAC,CAAC,CAAC,SAASgf,GAAGhf,EAAE,EAAE,CAAC,OAAO,IAAI,EAAEA,EAAEA,EAAE,KAAK,CAAC,EAAE,GAAGA,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAASif,GAAGjf,EAAE,EAAEE,EAAEge,GAAG,kBAAkB,EAAE,CAAC,IAAI9d,EAAEJ,EAAE,IAAI,CAAC,EAAE,IAAIE,CAAC,EAAEE,EAAEA,EAAE,IAAIA,EAAE,KAAK,EAAE,CAAC,EAAE,IAAIC,EAAE,EAAE,IAAID,CAAC,EAAE,IAAIF,CAAC,EAAE,OAAOG,EAAEA,EAAE,IAAIA,EAAE,KAAK,EAAE,CAAC,EAAEA,EAAEA,EAAE,IAAIH,CAAC,EAAEG,CAAC,CAAC,SAAS6e,GAAGlf,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAACA,EAAEA,EAAE,IAAIL,CAAC,EAAE,EAAEgf,GAAG,EAAE,IAAI3e,CAAC,EAAE,IAAID,CAAC,EAAE,EAAE,EAAE,IAAI,EAAEC,EAAE,OAAOA,EAAEA,EAAE,IAAI,CAAC,EAAEA,EAAEA,EAAE,IAAIH,CAAC,EAAE,EAAE,EAAE,IAAI8e,GAAG3e,EAAE,EAAE,CAAC,EAAE,CAACA,EAAE,IAAID,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS+e,GAAGnf,EAAE,EAAEE,EAAEE,EAAE,CAAC,OAAO8e,GAAGJ,GAAG9e,EAAE,CAAC,EAAE8e,GAAG9e,EAAE,EAAE,CAAC,EAAE8e,GAAG9e,EAAE,EAAE,EAAE,EAAE8e,GAAG9e,EAAE,EAAE,EAAE,EAAEE,EAAEE,CAAC,CAAC,CAAC,SAASgf,GAAGpf,EAAE,EAAEA,EAAE,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,IAAIE,EAAEye,GAAG,IAAI,EAAE,CAAC,EAAEve,EAAE0e,GAAG9e,EAAE,CAAC,EAAE,IAAI2e,EAAE,EAAEte,EAAEye,GAAG9e,EAAE,EAAE,CAAC,EAAE,EAAEgf,GAAG3e,EAAE,EAAE,EAAE,IAAIH,CAAC,EAAE,IAAIE,CAAC,EAAE,EAAE4e,GAAG5e,EAAE,EAAE,EAAE,IAAIC,CAAC,EAAE,IAAIH,CAAC,EAAE,OAAO+e,GAAG,EAAE,EAAE/e,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,IAAIA,EAAEye,GAAG,IAAI,EAAE,CAAC,EAAEve,EAAE2e,GAAG/e,EAAE,CAAC,EAAE,OAAOif,GAAG7e,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE2e,GAAG/e,EAAE,EAAE,CAAC,EAAEE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAIA,EAAEF,EAAE,CAAC,EAAEI,EAAEJ,EAAE,GAAG,CAAC,EAAEK,EAAEL,EAAE,EAAE,CAAC,EAAE,EAAEE,GAAGE,GAAG,GAAG,EAAE,GAAGC,GAAG,GAAG,OAAOue,GAAGD,GAAG,IAAI,CAAC,EAAE,IAAIF,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAIE,EAAE,CAAC,CAAC,OAAOA,EAAE,CAAC,SAASU,GAAGrf,EAAE,EAAEA,EAAE,OAAO,CAAC,IAAIE,EAAEye,GAAG,IAAI,EAAE,CAAC,EAAEve,EAAE0e,GAAG9e,EAAE,CAAC,EAAE,IAAI0e,EAAE,EAAEre,EAAEye,GAAG9e,EAAE,CAAC,EAAE,EAAE8e,GAAG9e,EAAE,EAAE,CAAC,EAAE,IAAIE,CAAC,EAAE,EAAE4e,GAAG9e,EAAE,EAAE,EAAE,EAAE,IAAI2e,EAAE,EAAE,OAAOM,GAAGD,GAAG5e,EAAE,IAAIC,CAAC,EAAE,EAAE,EAAE,IAAI2e,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE5e,EAAE,IAAI4e,GAAG3e,EAAE,IAAIse,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAAEze,CAAC,CAAC,CAAC,SAASof,GAAGtf,EAAE,EAAEA,EAAE,OAAO,CAAC,IAAIE,EAAEye,GAAG,IAAI,EAAE,CAAC,EAAEve,EAAE0e,GAAG9e,EAAE,CAAC,EAAE,IAAI2e,EAAE,EAAEte,EAAEye,GAAG9e,EAAE,CAAC,EAAE,EAAE8e,GAAG9e,EAAE,EAAE,CAAC,EAAE,IAAIE,CAAC,EAAE,EAAE4e,GAAG9e,EAAE,EAAE,EAAE,EAAE,IAAI2e,EAAE,EAAE5c,EAAEid,GAAG5e,EAAE,IAAIC,CAAC,EAAE,EAAE,EAAE,IAAI2e,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAAEhd,EAAEid,GAAGld,EAAE3B,EAAE,IAAI4e,GAAG3e,EAAE,IAAIse,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAAEze,CAAC,EAAE+B,EAAE6c,GAAG9e,EAAE,EAAE,EAAE,IAAIE,CAAC,EAAEwC,EAAEoc,GAAG9e,EAAE,EAAE,EAAE2C,EAAEZ,EAAE,IAAI+c,GAAG9e,EAAE,EAAE,EAAE,CAAC,EAAE,IAAIE,CAAC,EAAE0C,EAAEZ,EAAE,IAAI8c,GAAG9e,EAAE,EAAE,EAAE,CAAC,EAAE,IAAIE,CAAC,EAAE,OAAO+e,GAAGD,GAAG/c,EAAE,IAAIS,CAAC,EAAE,EAAE,EAAE,IAAIsc,GAAGrc,EAAE,EAAE,CAAC,EAAE,IAAIC,CAAC,EAAEX,EAAE,IAAI+c,GAAGtc,EAAE,IAAItC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAIuC,CAAC,EAAEzC,CAAC,CAAC,CAAC,SAAS8d,GAAGhe,EAAE,EAAEA,EAAE,OAAO,CAAC,IAAIE,EAAEse,GAAG,WAAW,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,OAAO,GAAG,GAAGY,GAAGpf,EAAE,CAAC,EAAEqf,GAAGrf,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,OAAOsf,GAAGtf,EAAE,CAAC,EAAE,IAAII,EAAEF,EAAEG,EAAEH,EAAE,IAAIwe,EAAE,EAAE,IAAI,GAAG,EAAE,EAAEE,GAAGve,EAAE,IAAIse,EAAE,EAAE,IAAI,GAAG,CAAC,EAAE,IAAIA,EAAE,EAAE,EAAE,CAACH,GAAG,MAAMA,GAAG,KAAK,EAAEzc,EAAE,CAACyc,GAAG,MAAMA,GAAG,KAAK,EAAEpe,EAAEA,EAAE,IAAIue,EAAE,EAAE,IAAIG,GAAG9e,EAAE,CAAC,CAAC,EAAE,IAAIgC,EAAE,EAAEC,GAAG,EAAE,GAAG,GAAG,GAAGS,EAAET,GAAG,EAAE,EAAE,IAAI,GAAG,GAAG7B,EAAE4e,GAAG5e,EAAE,IAAIC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAIye,GAAG9e,EAAEgC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI0c,EAAE,EAAEre,EAAE2e,GAAG3e,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAIye,GAAG9e,EAAEgC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI0c,EAAE,EAAEte,EAAEA,EAAE,IAAI2B,EAAE,CAAC,CAAC,EAAE1B,EAAEA,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAIye,GAAG9e,EAAEgC,EAAE,EAAE,CAAC,EAAE,EAAEgd,GAAG,EAAE,IAAIjd,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI2c,EAAE,EAAE,EAAES,GAAGnf,EAAEgC,EAAE,EAAE,CAAC,EAAE,IAAI0c,EAAE,EAAEte,EAAE,IAAI2B,EAAE,CAAC,CAAC,CAAC,EAAEA,EAAEod,GAAGnf,EAAEgC,EAAE,GAAG,EAAE,IAAID,EAAE,CAAC,CAAC,EAAE1B,EAAE,IAAIye,GAAG9e,EAAEgC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE5B,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE4B,GAAG,SAASA,IAAIC,GAAG,IAAIU,EAAE+b,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO1c,EAAEU,EAAEX,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAIA,EAAE,CAAC,CAAC,EAAEA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE3B,EAAE4e,GAAG5e,EAAE,IAAIC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAIye,GAAG9e,EAAEgC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAIW,CAAC,EAAEtC,EAAE2e,GAAG3e,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAIye,GAAG9e,EAAEgC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAIW,CAAC,EAAEvC,EAAEA,EAAE,IAAI2B,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE1B,EAAEA,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,IAAIye,GAAG9e,EAAEgC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAEgd,GAAG,EAAE,IAAIjd,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAIY,CAAC,EAAE,EAAEwc,GAAGnf,EAAEgC,EAAE,EAAE,CAAC,EAAE,IAAIW,CAAC,EAAEvC,EAAE,IAAI2B,EAAE,CAAC,CAAC,CAAC,EAAEA,EAAEod,GAAGnf,EAAEgC,EAAE,GAAG,EAAE,IAAID,EAAE,CAAC,CAAC,EAAE1B,EAAE,IAAIye,GAAG9e,EAAEgC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE5B,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE6e,GAAGA,GAAG,EAAE,CAAC,EAAEld,EAAE,CAAC,EAAEY,CAAC,EAAE,IAAIic,GAAGve,CAAC,EAAE,IAAIoe,EAAE,CAAC,EAAE,IAAI,CAAC,EAAEQ,GAAG,EAAE,CAAC,EAAEld,EAAE,CAAC,EAAEY,CAAC,EAAE,IAAIvC,CAAC,EAAEuC,CAAC,CAAC,CAAC,SAASib,GAAG5d,EAAE,EAAE,CAAC,OAAO,IAAI,SAAS8d,GAAG9d,CAAC,EAAEqe,GAAG,CAACre,CAAC,EAAE,CAAC,CAAC,CAAC,SAASuf,GAAGvf,EAAE,EAAE,CAAC,OAAOA,aAAa,cAAc,IAAI,WAAWA,aAAa,YAAY,IAAI,SAASA,aAAa,YAAY,IAAI,MAAM,CAAC,SAASqe,GAAGre,EAAE,EAAE,CAAC,GAAG,IAAI,SAAS,MAAM,IAAI,MAAM,2CAA2C,EAAE,GAAG,MAAM,QAAQA,CAAC,IAAIA,EAAEie,GAAGje,CAAC,GAAGxO,EAAE,EAAE,QAAQ,OAAO,GAAGgqB,GAAGxb,EAAE,CAAC,EAAEuf,GAAGvf,EAAE,CAAC,EAAE,OAAOA,EAAE,GAAG,GAAG,MAAM,IAAI,WAAW,IAAI,YAAY,OAAO,IAAI,aAAaA,CAAC,EAAE,GAAG,IAAI,QAAQ,OAAO,IAAI,WAAWA,CAAC,EAAE,GAAG,IAAI,OAAO,CAAC,IAAIE,EAAE,IAAI,WAAWF,EAAE,MAAM,EAAE,QAAQI,EAAE,EAAEA,EAAEF,EAAE,OAAO,EAAEE,EAAE,KAAK,MAAMJ,EAAEI,CAAC,CAAC,IAAI,IAAIF,EAAEE,CAAC,EAAE,GAAG,OAAOF,CAAC,KAAM,OAAM,IAAI,MAAM,qBAAqB,CAAC,EAAE,CAAC,CAAC,SAASke,IAAI,CAAC,OAAO5sB,EAAE,EAAE,SAAS,IAAI,CAAC,CAAC,SAASusB,GAAG/d,EAAE,EAAE,CAAC,OAAOxO,EAAE,EAAE,SAAS,MAAMwO,EAAE,CAAC,CAAC,CAAC,SAAS8d,GAAG9d,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,QAAQxO,EAAE,EAAE,SAAS,OAAOwO,EAAE,CAAC,CAAC,CAAC,SAAS6d,GAAG7d,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,QAAQxO,EAAE,EAAE,SAAS,OAAOwO,EAAE,CAAC,CAAC,CAAC,SAASme,GAAGne,EAAE,CAAC,OAAOxO,EAAE,EAAE,SAAS,cAAc,KAAKA,EAAE,EAAE,SAAS,aAAawO,CAAC,EAAEse,GAAGte,CAAC,CAAC,CAAC,SAASie,GAAGje,EAAE,EAAE,CAAC,EAAEE,EAAE,GAAG,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC,GAAG,OAAOF,GAAG,WAAW,OAAOA,GAAG,UAAU,OAAOA,GAAG,UAAU6c,GAAG7c,CAAC,GAAGA,GAAG,MAAMme,GAAGne,CAAC,GAAGE,EAAE,EAAE,KAAKF,CAAC,UAAU,MAAM,QAAQA,CAAC,GAAGme,GAAGne,CAAC,EAAE,QAAQI,EAAE,EAAEA,EAAEJ,EAAE,OAAO,EAAEI,EAAE6d,GAAGje,EAAEI,CAAC,EAAE,EAAEF,CAAC,MAAM,CAAC,IAAIE,EAAE,GAAG,QAAQC,KAAK,OAAO,KAAKL,CAAC,EAAE,qBAAqB,KAAKK,CAAC,IAAID,EAAE,KAAK,IAAIA,EAAE,OAAOC,CAAC,CAAC,GAAG,QAAQA,EAAE,EAAEA,GAAGD,EAAEC,IAAI4d,GAAGje,EAAEK,CAAC,EAAE,EAAEH,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAIsf,GAAG,KAAK,CAAC,YAAY5e,EAAEV,EAAE,CAAC,KAAK,aAAaU,EAAE,KAAK,OAAOV,EAAEA,GAAG,OAAO,KAAK,OAAO,IAAIuf,GAAG,CAAC,cAAc7e,EAAEV,EAAE,EAAE,CAAC,IAAIG,EAAEwB,EAAE,IAAI,CAACxB,EAAE,EAAE,CAAC,EAAEyB,EAAEC,EAAEqc,GAAG,EAAE,GAAG,KAAK,aAAa,eAAe,EAAEtc,EAAE,KAAK,aAAa,KAAKD,CAAC,MAAM,CAACA,EAAE,EAAE,QAAQI,KAAK5B,EAAE4B,EAAE,SAAS,EAAEH,EAAE,QAAQ,QAAQ,CAAC,SAASsc,GAAG,EAAErc,CAAC,CAAC,CAAC,CAAC,GAAGvQ,EAAE,EAAE,QAAQ,8BAA8B,EAAE,QAAQyQ,EAAE,EAAEA,EAAE5B,EAAE,OAAO4B,IAAI,CAAC,IAAIS,EAAErC,EAAE4B,CAAC,EAAES,EAAE,KAAK,EAAE,KAAKC,GAAG,CAAC+c,GAAG/c,EAAED,EAAE,MAAM9B,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAWA,EAAE,QAAQP,EAAE,OAAOH,EAAE,OAAO4B,EAAE,KAAKG,GAAGA,EAAE,QAAQ,EAAE,UAAUH,EAAE,KAAKG,GAAGA,EAAE,qBAAqB,KAAKA,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiBrB,EAAE,CAAC,GAAG,CAAC,WAAWV,EAAE,QAAQ,EAAE,OAAOG,EAAE,OAAOwB,EAAE,UAAUC,CAAC,EAAElB,EAAE,EAAE,QAAQmB,GAAG,CAAC,QAAQ,IAAI,CAACA,EAAE,KAAK,EAAE1B,EAAEyB,CAAC,CAAC,EAAE,KAAKE,GAAG,CAAC,KAAK,OAAO,iBAAiB9B,EAAE6B,EAAEC,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEH,EAAEG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS0d,GAAG1f,EAAE,EAAEE,EAAE,CAAC,GAAG,IAAI,UAAU,MAAM,GAAG,QAAQE,EAAE,EAAEA,EAAEJ,EAAE,OAAOI,IAAI,CAAC,IAAIC,EAAEL,EAAEI,CAAC,EAAE,GAAG,MAAMC,CAAC,GAAG,CAAC,SAASA,CAAC,EAAE,OAAO,QAAQ,KAAK,SAASA,CAAC,sBAAsBH,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAIuf,GAAG,KAAK,CAAC,iBAAiB7e,EAAEV,EAAE,EAAEG,EAAEwB,EAAEC,EAAE,CAAC,IAAIC,EAAE,OAAO1B,GAAG,SAAS4a,GAAG,GAAG5a,CAAC,KAAK,CAAC,EAAEA,EAAE,MAAM2B,EAAEiZ,GAAGra,EAAE,EAAE,EAAE,EAAEV,EAAE,KAAKwC,EAAExC,EAAE,KAAK,EAAE+a,GAAG/a,EAAE,MAAM,SAAS,EAAE,EAAE,EAAE0C,EAAE,GAAG,QAAQC,KAAKhB,EAAE,CAAC,IAAIiB,EAAEjB,EAAEgB,CAAC,EAAE,GAAGC,GAAG,KAAK,CAAC,IAAIkB,EAAElB,EAAE,OAAO5C,EAAE,MAAM+D,EAAED,EAAE,OAAOpB,GAAG,GAAGC,CAAC,KAAKoB,CAAC,KAAKA,EAAE,EAAED,EAAE,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,KAAKhC,CAAC,MAAMD,CAAC,MAAM,CAAC,KAAK,CAAC,MAAMW,CAAC,MAAME,CAAC,MAAMd,CAAC,GAAG,mBAAmB,YAAY,aAAa,gBAAgB,eAAe,kBAAkB,CAAC,CAAC,EAAE,SAAS6d,GAAG3f,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,QAAQ2B,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI5B,EAAE,EAAE4B,CAAC,EAAE,EAAE,EAAE,GAAG,QAAQA,EAAE,EAAEA,EAAEhC,EAAE,OAAOgC,IAAI,CAAC,IAAIC,EAAEjC,EAAEgC,CAAC,EAAEU,EAAET,EAAE,OAAO,QAAQU,KAAKD,EAAE,CAAC,IAAIE,EAAEF,EAAEC,CAAC,EAAEE,EAAE,GAAG,QAAQC,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,GAAG1C,EAAEwC,EAAE,EAAE,EAAE,CAACX,EAAE,QAAQ,QAAQ+B,GAAG5D,EAAE4D,EAAE,EAAE,EAAE,EAAE,EAAEnB,EAAE,GAAGxC,EAAE4B,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,GAAGY,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE3C,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,QAAQ8B,EAAEhC,EAAE,OAAO,EAAEgC,GAAG,EAAEA,IAAI,CAAC,IAAIC,EAAEjC,EAAEgC,CAAC,EAAEU,EAAET,EAAE,OAAO,QAAQU,EAAE,EAAEA,EAAEV,EAAE,QAAQ,OAAOU,IAAI,GAAG,EAAEV,EAAE,QAAQU,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQC,KAAKF,EAAE,EAAEA,EAAEE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAEX,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,IAAIF,EAAE,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAEhC,EAAE,OAAOgC,IAAI,CAAC,IAAIC,EAAEjC,EAAEgC,CAAC,EAAE,GAAG3B,EAAE4B,EAAE,EAAE,GAAG,EAAEA,EAAE,EAAE,EAAE,CAAC,IAAIS,EAAE,CAAC,EAAE,QAAQE,KAAKX,EAAE,OAAO,CAAC,IAAIY,EAAEZ,EAAE,OAAOW,CAAC,EAAExC,EAAEyC,EAAE,EAAE,IAAIH,EAAEE,CAAC,EAAEC,EAAE,CAAC,IAAIF,EAAE,OAAO,OAAO,CAAC,EAAEV,CAAC,EAAEU,EAAE,OAAOD,EAAEC,EAAE,QAAQV,EAAE,QAAQF,EAAE,KAAKY,CAAC,CAAC,CAAC,CAAC,OAAOZ,CAAC,CAAC,SAAS6d,GAAG5f,EAAE,EAAEE,EAAEE,EAAE,CAAC,QAAQC,EAAE,EAAE,OAAO,EAAEA,GAAG,EAAEA,IAAI,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,QAAQ2B,GAAG,CAAC,IAAIC,EAAEjC,EAAEgC,EAAE,EAAE,EAAEC,GAAG,KAAK,EAAE,KAAKA,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,UAAU,KAAK,MAAM,IAAI,MAAM,4DAA4D,EAAE,UAAU,GAAG,EAAE,IAAIF,EAAE,EAAE,SAAS,CAAC,EAAE,QAAQC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAEA,KAAKD,GAAG,MAAM,IAAI,MAAM,iCAAiCC,CAAC,gCAAgC,OAAO,KAAKD,CAAC,CAAC,GAAG,EAAE,IAAIE,EAAE/B,EAAE,IAAI6B,EAAEC,CAAC,EAAE,CAAC,EAAE,GAAGC,EAAE,QAAQ,UAAU,MAAM,IAAI,MAAM,4BAA4B,EAAE,UAAU,2BAA2BD,CAAC,wCAAwCC,EAAE,KAAK,GAAG,EAAE,IAAIS,EAAE,EAAE,OAAOV,CAAC,EAAE,GAAG,CAACwY,GAAGvY,EAAE,MAAMS,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM,4BAA4B,EAAE,UAAU,4BAA4BV,CAAC,gBAAgBC,EAAE,KAAK,mDAAmDS,EAAE,KAAK,GAAG,EAAE,GAAG1C,EAAE0C,EAAE,EAAE,GAAG,KAAK1C,EAAE0C,EAAE,EAAE,EAAET,MAAM,CAAC,IAAIU,EAAE3C,EAAE0C,EAAE,EAAE,EAAE1C,EAAE0C,EAAE,EAAE,EAAEtC,EAAEuC,EAAEV,CAAC,EAAEU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIkd,GAAG,GAAGC,GAAG,EAAEC,GAAG,EAAE,SAASC,GAAGhgB,EAAE,EAAEE,EAAEE,EAAE,CAAC,IAAIC,EAAE8b,GAAG,CAAC,EAAE,EAAE8D,GAAGjgB,EAAE,EAAEE,EAAEG,CAAC,EAAE,EAAE,EAAE,OAAO0B,EAAEme,GAAGlgB,EAAE,EAAEE,EAAEG,EAAE,CAAC,EAAE2B,EAAE,CAAC,QAAQ,EAAE,OAAO5B,IAAI4B,EAAE,KAAK,YAAY9B,CAAC,EAAE,EAAE8B,EAAE,KAAK,WAAW,CAAC,EAAE,EAAEA,EAAE,KAAK,aAAa,CAAC,GAAG,EAAEA,EAAE,KAAK,WAAW,GAAGA,EAAE,KAAKD,EAAE,IAAIE,GAAG,OAAOA,CAAC,EAAE,KAAK;AAAA,CACns+C,CAAC,EAAED,EAAE,KAAK;AAAA,CACV,CAAC,CAAC,SAASie,GAAGjgB,EAAE,EAAEE,EAAEE,EAAE,CAAC,IAAIC,EAAEqa,GAAG,CAAC,EAAE,EAAEta,EAAEA,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE2B,EAAE,EAAE,OAAOC,EAAE9B,IAAI,YAAYigB,GAAGngB,CAAC,EAAEA,EAAE,GAAG+B,EAAE,EAAE,QAAQE,EAAE,EAAEA,EAAE5B,EAAE,EAAE4B,IAAI,CAAC,IAAIS,EAAET,EAAE,EAAE,QAAQU,EAAE,EAAEA,EAAE,EAAEA,IAAI,EAAEA,CAAC,EAAE,KAAK,IAAI,EAAEA,CAAC,EAAEyd,GAAGpe,EAAEU,EAAEC,CAAC,EAAE,EAAEzC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,SAASkgB,GAAGpgB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,OAAO,MAAM,QAAQJ,CAAC,EAAEI,EAAE,GAAG,WAAWJ,EAAE,CAAC,EAAE,QAAQ+f,EAAE,CAAC,CAAC,MAAM,WAAW/f,EAAE,CAAC,EAAE,QAAQ+f,EAAE,CAAC,CAAC,IAAIlE,GAAG7b,CAAC,EAAEI,EAAE,IAAIJ,CAAC,IAAIE,IAAI,OAAOE,EAAEigB,GAAGrgB,CAAC,EAAEI,EAAE,WAAWJ,EAAE,QAAQ+f,EAAE,CAAC,EAAE,SAAS,EAAE9E,GAAG7a,EAAE,CAAC,CAAC,CAAC,SAASigB,GAAGrgB,EAAE,CAAC,OAAOA,IAAI,EAAE,QAAQ,MAAM,CAAC,SAASkgB,GAAGlgB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAEH,IAAI,YAAY,EAAE,EAAE6B,EAAE,EAAE,CAAC,EAAEC,EAAE,EAAE,OAAO,GAAGA,IAAI,EAAE,CAAC,GAAG9B,IAAI,YAAY,CAAC,IAAI8D,EAAEmc,GAAGngB,CAAC,EAAE,MAAM,CAACogB,GAAGpc,EAAE,CAAC,EAAE,EAAE9D,CAAC,CAAC,CAAC,CAAC,OAAOA,IAAI,OAAO,CAACmgB,GAAGrgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAGgC,IAAI,EAAE,CAAC,GAAGD,EAAE8d,GAAG,CAAC,IAAI5b,EAAE6b,GAAG,EAAExY,EAAE,MAAM,KAAKtH,EAAE,MAAM,EAAEiE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAKjE,EAAE,OAAO+B,EAAE+d,IAAI,EAAE/d,EAAE,CAAC,CAAC,EAAE,OAAO7B,IAAI,cAAcoH,EAAE6Y,GAAG7Y,CAAC,EAAE,EAAE6Y,GAAG,CAAC,GAAG,CAAC,IAAI7Y,EAAE,IAAI,CAAC7C,EAAEC,IAAI0b,GAAG3b,EAAEpE,EAAEqE,CAAC,EAAExE,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,UAAU,EAAE,IAAI,CAACuE,EAAEC,IAAI0b,GAAG3b,EAAEpE,EAAE0B,EAAE+d,GAAGpb,CAAC,EAAExE,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,KAAKA,IAAI,YAAYigB,GAAGngB,CAAC,EAAE,MAAM,KAAKA,CAAC,GAAG,IAAI,CAACiE,EAAEqD,IAAI8Y,GAAGnc,EAAE5D,EAAEiH,CAAC,EAAEpH,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI+B,EAAE,EAAE,MAAM,CAAC,EAAES,EAAEtC,EAAE,MAAM,CAAC,EAAEuC,EAAEvC,EAAE,CAAC,EAAE,EAAEwC,EAAE,CAAC,EAAE,GAAGb,EAAE8d,GAAG,CAAC,QAAQ7b,EAAE,EAAEA,EAAE8b,GAAG9b,IAAI,CAAC,IAAI,EAAEA,EAAErB,EAAE2E,EAAE,EAAE3E,EAAEC,EAAE,KAAK,GAAGsd,GAAGlgB,EAAE,MAAM,EAAEsH,CAAC,EAAErF,EAAE/B,EAAEwC,EAAErC,EAAE,EAAE,CAAC,CAAC,CAACuC,EAAE,KAAK,KAAK,EAAE,QAAQoB,EAAEjC,EAAE+d,GAAG9b,EAAEjC,EAAEiC,IAAI,CAAC,IAAI,EAAEA,EAAErB,EAAE2E,EAAE,EAAE3E,EAAEC,EAAE,KAAK,GAAGsd,GAAGlgB,EAAE,MAAM,EAAEsH,CAAC,EAAErF,EAAE/B,EAAEwC,EAAErC,EAAE2D,IAAIjC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAM,SAAQiC,EAAE,EAAEA,EAAEjC,EAAEiC,IAAI,CAAC,IAAI,EAAEA,EAAErB,EAAE2E,EAAE,EAAE3E,EAAEC,EAAE,KAAK,GAAGsd,GAAGlgB,EAAE,MAAM,EAAEsH,CAAC,EAAErF,EAAE/B,EAAEwC,EAAErC,EAAE2D,IAAIjC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAIc,EAAEb,IAAI,EAAE,IAAI,GAAGY,EAAE,CAAC,EAAE,KAAKb,EAAE,EAAEa,EAAE,CAAC,EAAEC,EAAE,IAAI,QAAQmB,EAAE,EAAEA,EAAEpB,EAAE,OAAO,EAAEoB,IAAIpB,EAAEoB,CAAC,EAAE,IAAIpB,EAAEoB,CAAC,EAAEnB,EAAE,IAAIC,EAAE;AAAA,EACz2C,QAAQkB,EAAE,EAAEA,EAAEhC,EAAEgC,IAAIlB,GAAG;AAAA,EACvB,OAAOF,EAAEA,EAAE,OAAO,CAAC,EAAE,IAAIA,EAAEA,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,GAAGE,GAAGF,CAAC,CAAC,SAASud,GAAGngB,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAOE,GAAG,EAAE,EAAE,KAAK,CAACF,EAAEE,CAAC,EAAEF,EAAEE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAIrU,GAAG,KAAK,CAAC,YAAY+U,EAAEV,EAAE,EAAE,CAAC,GAAG,KAAK,MAAMA,EAAE,KAAK,MAAMU,EAAE,MAAM,EAAE,KAAK,KAAK8Z,GAAG9Z,CAAC,EAAE,GAAG,KAAK,CAAC,IAAIP,EAAE,EAAE,OAAOia,EAAEja,IAAI,KAAK,KAAK,IAAI,qBAAqBA,CAAC,oDAAoD,KAAK,IAAI,IAAI,CAAC,CAAC,GAAGH,IAAI,YAAY,MAAM,IAAI,MAAM,4JAA4J,EAAE,KAAK,OAAO,GAAGqb,GAAGrb,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQic,GAAGvb,CAAC,CAAC,CAAC,IAAIA,KAAKV,EAAE,CAACA,EAAE,SAAS,IAAIA,EAAE,CAAC,CAAC,GAAGoa,EAAEpa,EAAE,SAAS,KAAK,KAAK,IAAI,uCAAuCA,EAAE,MAAM,0BAA0B,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,WAAWA,CAAC,EAAE,KAAK,OAAO,CAAC,EAAEU,CAAC,CAAC,OAAOA,EAAE,CAACA,EAAE,SAAS,IAAIA,EAAE,CAAC,CAAC,GAAG,IAAIV,EAAE,EAAE,QAAQG,KAAKO,EAAE,CAAC,GAAGP,EAAE,GAAGA,GAAG,KAAK,MAAMH,CAAC,EAAE,CAAC,IAAI2B,EAAE,qCAAqCjB,CAAC,oBAAoB,KAAK,KAAK,GAAG,MAAM,IAAI,MAAMiB,CAAC,CAAC,CAAC3B,GAAG,CAAC,IAAI,EAAEU,EAAEA,EAAE,OAAO,CAAC,EAAE,QAAQP,EAAE,EAAEA,EAAEO,EAAE,OAAO,EAAE,EAAEP,EAAE,GAAG,KAAK,QAAQA,CAAC,EAAEO,EAAEP,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,WAAWO,EAAE,CAAC,GAAG,KAAK,OAAO,EAAE,MAAO,GAAE,GAAG,KAAK,OAAO,EAAE,OAAOA,EAAE,CAAC,EAAE,IAAIV,EAAEU,EAAEA,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAE,EAAEV,GAAG,KAAK,QAAQ,CAAC,EAAEU,EAAE,CAAC,EAAE,OAAOV,CAAC,CAAC,WAAWU,EAAE,CAAC,GAAG,KAAK,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,EAAE,MAAM,CAACA,CAAC,EAAE,IAAIV,EAAE,IAAI,MAAM,KAAK,MAAM,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAE,EAAEA,EAAE,CAAC,EAAE,KAAK,MAAMU,EAAE,KAAK,QAAQ,CAAC,CAAC,EAAEA,GAAGV,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,OAAOA,EAAEA,EAAE,OAAO,CAAC,EAAEU,EAAEV,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,MAAM,CAAC,UAAU,CAAC,OAAOogB,GAAG,EAAE,WAAW,KAAK,OAAO,KAAK,MAAM,KAAK,KAAK,CAAC,CAAC,EAAEA,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAGzgB,EAAE,CAACsgB,GAAGtgB,CAAC,CAAC,SAAS0gB,GAAG1gB,EAAE,CAACugB,GAAGvgB,CAAC,CAAC,SAAS2gB,GAAG3gB,EAAE,CAACwgB,GAAGxgB,CAAC,CAAC,IAAIpU,GAAG,KAAK,CAAC,YAAYgV,EAAEV,EAAE,EAAEG,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,mBAAmB,GAAG,KAAK,MAAMO,EAAE,MAAM,EAAE,KAAK,MAAMV,GAAG,UAAU,KAAK,KAAKwa,GAAG9Z,CAAC,EAAE,KAAK,QAAQub,GAAGvb,CAAC,EAAE,KAAK,OAAO,EAAE,KAAK,GAAGP,EAAE,KAAK,SAAS,KAAK,KAAK,EAAE,KAAK,KAAK,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAIO,EAAE,MAAM,KAAK,KAAK,EAAE,OAAO2f,GAAG,OAAO,KAAK,MAAM,KAAK,MAAM3f,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO2f,GAAG,OAAO,KAAK,MAAM,KAAK,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI3f,EAAE,MAAM,KAAK,KAAK,EAAE,OAAOyb,GAAG,KAAK,MAAMzb,EAAE,KAAK,QAAQ,WAAW,CAAC,CAAC,WAAW,CAAC,OAAOyb,GAAG,KAAK,MAAM,KAAK,SAAS,EAAE,KAAK,QAAQ,WAAW,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,gBAAgB,EAAE,IAAIzb,EAAE0f,GAAG,EAAE,KAAK,KAAK,MAAM,EAAE,GAAG,KAAK,QAAQ,SAAS,CAAC,IAAIpgB,EAAE,MAAMU,EAAE,GAAG,CAAC,OAAOV,EAAE,IAAI,GAAG2d,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,MAAM,+FAA+F,CAAC,CAAC,CAAC,OAAOjd,CAAC,CAAC,UAAUA,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE0f,GAAG,EAAE,UAAU,KAAK,OAAO1f,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,gBAAgB,EAAE,IAAIA,EAAE0f,GAAG,EAAE,SAAS,KAAK,MAAM,EAAE,GAAG,KAAK,QAAQ,SAAS,GAAG,CAAC,OAAO1f,EAAE,IAAIV,GAAG2d,GAAG3d,CAAC,CAAC,CAAC,OAAOA,EAAE,CAAC,MAAM,IAAI,MAAM,+FAA+F,CAAC,CAAC,OAAOU,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,gBAAgB,EAAE,IAAIA,EAAE,MAAM0f,GAAG,EAAE,KAAK,KAAK,MAAM,EAAE,OAAO,KAAK,QAAQ,SAAS1f,EAAE,IAAI,WAAWA,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,aAAa,KAAK,WAAW,KAAK,UAAU,QAAQ,EAAE0f,GAAG,EAAE,cAAc,IAAI,EAAE,KAAK,mBAAmB,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,KAAK,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,KAAK,WAAW,MAAM,IAAI,MAAM,qBAAqB,CAAC,CAAC,MAAM1f,EAAE,GAAG,CAAC,OAAO2f,GAAG,MAAM,KAAK3f,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,gBAAgB,EAAE2f,GAAG,MAAM,IAAI,CAAC,CAAC,SAAS3f,EAAE,GAAG,CAAC,IAAIV,EAAE,KAAK,SAAS,EAAE,OAAO8f,GAAG9f,EAAE,KAAK,MAAM,KAAK,MAAMU,CAAC,CAAC,CAAC,KAAKA,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE2f,GAAG,KAAK,KAAK3f,CAAC,CAAC,CAAC,SAASA,EAAE,GAAGV,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEogB,GAAG,EAAE,aAAa,KAAK1f,EAAEV,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,eAAetU,GAAG,OAAO,YAAY,CAAC,MAAMoU,GAAG,CAAC,CAACA,GAAGA,EAAE,MAAM,MAAMA,EAAE,UAAU,MAAMA,EAAE,iBAAiB,IAAI,CAAC,EAAE,SAAS4gB,GAAG,CAAC,OAAOtD,GAAG,SAAS,IAAI1xB,EAAE,CAAC,CAACg1B,EAAE,EAAE,IAAIr0B,GAAG,cAAcX,EAAE,CAAC,YAAYgV,EAAEV,EAAE,EAAEG,EAAE,CAAC,MAAMO,EAAE,MAAMA,EAAE,MAAMA,EAAE,OAAOP,CAAC,EAAE,KAAK,UAAUH,EAAE,KAAK,KAAK,CAAC,CAAC,OAAOU,EAAE,CAAC,GAAGA,EAAE,QAAQ,KAAK,MAAM,MAAM,IAAI,MAAM,2BAA2BA,EAAE,KAAK,yBAAyB,KAAK,KAAK,cAAc,EAAE,GAAG,CAAC4Z,GAAG5Z,EAAE,MAAM,KAAK,KAAK,EAAE,MAAM,IAAI,MAAM,2BAA2BA,EAAE,KAAK,yBAAyB,KAAK,KAAK,cAAc,EAAE0f,GAAG,EAAE,cAAc,IAAI,EAAE,KAAK,OAAO1f,EAAE,OAAO0f,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,SAAS,CAACA,GAAG,EAAE,gBAAgB,IAAI,EAAE,KAAK,mBAAmB,EAAE,CAAC,EAAE,OAAO,eAAe/zB,GAAG,OAAO,YAAY,CAAC,MAAMyT,GAAGA,aAAapU,IAAIoU,EAAE,QAAQ,MAAMA,EAAE,kBAAkB,QAAQ,CAAC,EAAE,IAAIzC,GAAG,CAAC,EAAE0C,GAAG1C,GAAG,CAAC,iBAAiB,IAAIsjB,GAAG,sBAAsB,IAAIC,GAAG,eAAe,IAAIC,GAAG,eAAe,IAAIC,EAAE,CAAC,EAAE,IAAIt4B,IAAI,SAASsX,EAAE,CAACA,EAAE,GAAG,KAAKA,EAAE,GAAG,KAAKA,EAAE,GAAG,KAAKA,EAAE,GAAG,KAAKA,EAAE,GAAG,KAAKA,EAAE,GAAG,KAAKA,EAAE,GAAG,IAAI,GAAGtX,KAAKA,GAAG,CAAC,EAAE,EAAE,IAAIu4B,IAAI,SAASjhB,EAAE,CAACA,EAAE,QAAQ,UAAUA,EAAE,MAAM,QAAQA,EAAE,KAAK,QAAQA,EAAE,UAAU,WAAW,GAAGihB,KAAKA,GAAG,CAAC,EAAE,EAAE,IAAIC,IAAI,SAASlhB,EAAE,CAACA,EAAE,QAAQ,UAAUA,EAAE,MAAM,QAAQA,EAAE,KAAK,OAAOA,EAAE,UAAU,WAAW,GAAGkhB,KAAKA,GAAG,CAAC,EAAE,EAAE,IAAIC,IAAI,SAASnhB,EAAE,CAACA,EAAE,QAAQ,UAAUA,EAAE,MAAM,UAAUA,EAAE,KAAK,UAAUA,EAAE,UAAU,WAAW,GAAGmhB,KAAKA,GAAG,CAAC,EAAE,EAAE,IAAIC,IAAI,SAASphB,EAAE,CAACA,EAAE,QAAQ,YAAYA,EAAE,MAAM,YAAYA,EAAE,KAAK,YAAYA,EAAE,UAAU,WAAW,GAAGohB,KAAKA,GAAG,CAAC,EAAE,EAAE,IAAIC,GAAG,CAAC,QAAQF,GAAG,MAAMF,GAAG,KAAKC,GAAG,UAAUE,EAAE,EAAE,SAAS/iB,GAAG2B,EAAE,EAAE,CAAC,GAAGA,IAAI,UAAU,IAAI,SAAS,CAAC,GAAGA,IAAI,UAAU,IAAI,SAAS,MAAM,SAAS,MAAM,IAAI,MAAM,kBAAkBA,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAOqhB,GAAGrhB,CAAC,EAAE,CAAC,CAAC,CAAC,SAASpD,GAAGoD,EAAE,CAAC,OAAO3B,GAAG2B,EAAE,OAAO,CAAC,CAAC,SAASshB,GAAGthB,EAAE,CAAC,OAAOA,GAAG,MAAM,OAAOA,GAAG,UAAU,YAAYA,GAAGA,EAAE,mBAAmB,YAAY,CAAC,SAASuhB,GAAGvhB,EAAE,CAAC,OAAO,OAAO,WAAW,aAAaA,GAAG,MAAM,OAAOA,GAAG,UAAU,WAAWA,GAAGA,EAAE,kBAAkB,SAAS,CAAC,SAASghB,GAAGhhB,EAAE,EAAE,CAAC,GAAGA,EAAE,QAAQ,EAAE,MAAM,MAAM,CAACA,EAAE,CAAC,EAAE,IAAIE,EAAE7B,GAAG2B,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAACA,EAAE,KAAKE,CAAC,EAAE,EAAE,KAAKA,CAAC,CAAC,CAAC,CAAC,SAAS2gB,GAAG7gB,EAAE,EAAE,CAACsa,EAAEta,EAAE,QAAQ,EAAE,MAAM,IAAI,2BAA2BA,EAAE,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,CAAC,CAAC,SAAS+gB,GAAG/gB,EAAE,EAAE,CAAC,OAAO,EAAE,KAAKE,GAAGA,EAAE,KAAKF,EAAE,EAAE,CAAC,CAAC,SAAS8gB,GAAG9gB,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,OAAOwhB,GAAGxhB,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,SAASwhB,GAAGxhB,EAAE,EAAEE,EAAE,CAAC,GAAGF,GAAG,KAAK,OAAO,GAAGA,aAAapU,GAAG,CAAC,EAAE,KAAKoU,CAAC,EAAE,MAAM,CAAC,GAAG,CAACyhB,GAAGzhB,CAAC,EAAE,OAAO,IAAII,EAAEJ,EAAE,QAAQK,KAAKD,EAAE,CAAC,IAAI,EAAEA,EAAEC,CAAC,EAAEH,EAAE,IAAI,CAAC,IAAIA,EAAE,IAAI,CAAC,EAAEshB,GAAG,EAAE,EAAEthB,CAAC,EAAE,CAAC,CAAC,SAASuhB,GAAGzhB,EAAE,CAAC,OAAO,MAAM,QAAQA,CAAC,GAAG,OAAOA,GAAG,QAAQ,CAAC,SAAS0hB,GAAG1hB,EAAE,CAAC,OAAOA,EAAE,YAAY,IAAI,CAAC,IAAI2hB,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,oBAAoB,CAAC,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,kBAAkB,CAAC,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,IAAI,QAAQ,KAAK,UAAU,GAAG,KAAK,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,aAAa,CAAC,OAAO,MAAM,KAAK,IAAI,IAAI,KAAK,QAAQ,IAAI/gB,GAAGA,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQA,KAAK,KAAK,oBAAoB,KAAK,oBAAoBA,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAEghB,GAAG,MAAM5hB,EAAC,CAAC,YAAY,EAAE,CAAC,KAAK,IAAI,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,KAAK,qBAAqB,EAAE,KAAK,MAAM,IAAI2hB,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,KAAK,oBAAoB,KAAK,OAAO,KAAK,mBAAmB,KAAK,IAAI,CAAC,CAAC,EAAE,GAAG,KAAK,iBAAiB,KAAK,OAAO,IAAI,EAAE,KAAK,kBAAkB,EAAE,QAAQzhB,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,CAAC,IAAIE,EAAE,EAAEF,CAAC,EAAE,GAAG,MAAM,KAAK,kBAAkBE,CAAC,EAAE,QAAQ,CAAC,MAAM,KAAK,WAAWA,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,IAAI,MAAM,wEAAwE,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,KAAK,oBAAoB,KAAK,MAAM,IAAI,MAAM,YAAY,KAAK,WAAW,qHAAqH,EAAE,GAAG,KAAK,iBAAiB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,UAAUF,CAAC,EAAE,KAAK,gCAAgC,EAAE,GAAGA,EAAE,MAAM,IAAI,MAAM,iCAAiC,CAAC,qHAAqH,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,KAAK,eAAe,CAAC,cAAc,CAAC,OAAO,OAAO,KAAK,KAAK,eAAe,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,UAAU,GAAG,KAAK,KAAK,gBAAgB,CAAC,GAAG,CAAC,UAAUA,CAAC,EAAE,KAAK,kBAAkB,CAAC,EAAE,GAAGA,EAAE,OAAO,IAAI,KAAM,QAAO,KAAK,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,gBAAgB,KAAK,gBAAgB,CAAC,EAAE,QAAQ,IAAI,CAAC,gBAAgB,EAAEA,EAAEE,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,iBAAiBmd,GAAG,GAAG,CAAC,oEAAoE,EAAE,KAAK,KAAK,gBAAgB,CAAC,EAAE,CAAC,QAAQrd,EAAE,SAASE,CAAC,EAAE,GAAG,CAAC,MAAM,WAAW,EAAE,CAAC,GAAG,KAAK,gBAAgB,CAAC,GAAG,KAAK,MAAM,IAAI,MAAM,iBAAiB,CAAC,yBAAyB,EAAE,GAAG,KAAK,YAAY,EAAE,KAAK,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,gBAAgB,KAAK,GAAG,CAAC,QAAQF,EAAE,UAAUE,CAAC,EAAE,KAAK,kBAAkB,CAAC,EAAE,GAAG,EAAEA,EAAE,MAAMF,EAAEA,GAAG,MAAM,EAAE,CAAC,OAAO,KAAK,gBAAgB,KAAK,SAAS,CAAC,EAAE,KAAK,uBAAuB,EAAE,KAAK,SAAS,IAAIsf,GAAG,KAAK,eAAe,EAAE,EAAE,CAAC,wBAAwB,CAAC1sB,GAAG,KAAK,WAAW,EAAE,QAAQoN,GAAG,CAACA,EAAE,WAAW,MAAMA,EAAE,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAACpN,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,aAAa,MAAM,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,IAAIoN,EAAE,KAAK,gBAAgB,CAAC,EAAE,GAAGA,GAAG,KAAK,MAAM,IAAI,MAAM,6BAA6B,CAAC,0BAA0B,EAAE,GAAG,CAAC,IAAIE,EAAEF,EAAE,QAAQ,EAAE,GAAGE,GAAG,EAAEA,aAAanb,KAAK,OAAOmb,EAAE,MAAM,WAAW,CAAC,IAAIC,EAAE,EAAE,KAAK,qBAAqB,EAAED,EAAE,KAAK,GAAGC,EAAE,KAAK,qBAAqB,IAAI,KAAK,SAAS,CAAC,EAAE,EAAE,KAAK,mBAAmB,KAAK,GAAG,EAAE,MAAM,IAAIA,EAAE,KAAK,uBAAuB,KAAK,mBAAmB,KAAKkd,GAAG,6BAA6B,CAAC,SAAS,EAAEA,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,EAAE,OAAO,KAAK,mBAAmB,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,KAAM,QAAO,KAAK,SAAS,CAAC,EAAEnd,EAAE,CAAC,QAAQ,GAAG,UAAU,EAAE,CAAC,OAAOA,EAAE,CAAC,OAAOmd,GAAG,6BAA6B,CAAC,SAAS,EAAEA,GAAGnd,EAAE,OAAOA,EAAE,OAAO,EAAE,CAAC,QAAQ,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,iBAAiB,MAAM,IAAI,MAAM,GAAG,CAAC,gCAAgC,EAAE,KAAK,cAAc,GAAG,KAAK,oBAAoB,MAAM,KAAK,uBAAuB,KAAK,KAAK,WAAW,KAAK,yBAAyB,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,CAAC,GAAG,OAAO,KAAK,gBAAgB,CAAC,EAAE,KAAK,cAAc,IAAI,KAAK,mBAAmB,KAAK,KAAK,YAAY,KAAK,KAAK,gBAAgB,KAAK,CAAC,mBAAmB,CAAC,GAAG,OAAO,KAAK,KAAK,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,+BAA+B,EAAE,OAAO,OAAO,KAAK,KAAK,eAAe,EAAE,KAAK,CAAC,EAAEF,IAAI,KAAK,gBAAgBA,CAAC,EAAE,SAAS,KAAK,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAC,iCAAiC,CAAC,IAAI,EAAE,KAAK,kBAAkB,EAAE,QAAQA,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,CAAC,IAAIE,EAAE,EAAEF,CAAC,EAAE,CAAC,QAAQG,EAAE,UAAU,CAAC,EAAE,KAAK,kBAAkBD,CAAC,EAAE,GAAG,GAAGC,EAAE,MAAM,CAAC,KAAKD,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,wEAAwE,CAAC,CAAC,SAAS,EAAEF,EAAE,CAAC,IAAIE,EAAE,KAAK,MAAM,WAAW,IAAIF,CAAC,EAAEG,EAAED,EAAE,QAAQ,EAAE,KAAK,SAASF,CAAC,EAAE,EAAEG,EAAE,SAASH,CAAC,EAAEG,EAAE,YAAYH,EAAE,EAAE,EAAEE,EAAE,QAAQ,EAAE,EAAE,KAAKF,EAAE,EAAEE,EAAE,MAAMA,EAAE,MAAM,CAAC,EAAE,KAAK,uBAAuB,GAAG,KAAK,MAAM,kBAAkB,KAAK,MAAM,kBAAkB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAEF,EAAE,CAAC,IAAIE,EAAE,KAAK,GAAGF,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,WAAW,MAAM,IAAI,MAAM,qCAAqC,EAAEA,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,UAAU,EAAE,aAAa,QAAQ,MAAM,IAAI,MAAM,gFAAgF,EAAE,GAAG,OAAOA,GAAG,WAAW,MAAM,IAAI,MAAM,gFAAgF,EAAEE,EAAE,CAAC,CAAC,IAAIC,EAAE,OAAO,KAAK,UAAU,IAAI,KAAK,WAAWD,CAAC,EAAE,IAAI,KAAK,SAASC,CAAC,EAAE,KAAKA,EAAEH,EAAE,EAAEG,aAAa,SAAS,QAAQ,MAAM,yCAAyC,EAAEA,EAAE,CAAC,CAAC,UAAU,EAAEH,EAAEE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,IAAIC,EAAED,EAAE,EAAE,OAAOF,EAAE,EAAEG,CAAC,OAAOA,EAAE,CAAC,MAAMH,EAAE,EAAEG,CAAC,CAAC,CAAC,cAAc,CAAC,OAAOL,GAAE,cAAc,CAAC,gBAAgB,CAAC,OAAOA,GAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,IAAIE,EAAE2hB,EAAE,UAAUl9B,GAAG,CAAC,EAAE,CAAC,CAAC,EAAEyb,EAAE,CAAC,EAAE,CAAC,EAAEC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI0B,EAAE,UAAUC,EAAE,CAAC,EAAE,CAAC,EAAEC,EAAE,CAAC,MAAMF,CAAC,EAAE,OAAO8f,EAAE,UAAU3gC,GAAG8gB,EAAEC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,KAAK,YAAY,KAAK,MAAM,YAAY,KAAK7B,EAAE,CAACF,CAAC,EAAEG,EAAE,EAAE,CAAC,CAAC,EAAEH,CAAC,CAAC,UAAU,EAAEA,EAAEE,EAAE,CAAC,GAAG,KAAK,aAAa,MAAM,KAAK,QAAUvN,GAAG,EAAE,KAAK,WAAW,GAAG,KAAM,MAAM,IAAI,MAAM,WAAW,CAAC,iCAAiC,KAAK,WAAW,GAAG,EAAE,OAAO,KAAK,cAAc,CAAC,WAAW,EAAE,OAAOqN,EAAE,MAAME,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,OAAO,KAAK,IAAI,QAAQ,SAAS,CAAC,CAAC,sBAAsB,EAAEF,EAAEE,EAAE,CAAC,IAAIC,EAAE,KAAK,QAAQ,WAAW,EAAE,EAAE,EAAED,EAAE,QAAQ4B,GAAG,CAAC,GAAGA,EAAE,QAAQ,YAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,MAAM,kBAAkB,KAAK,MAAM,kBAAkB,OAAO,CAAC,EAAED,EAAE1B,EAAEH,EAAE,EAAE,EAAE,GAAG6B,EAAE,EAAE,MAAM,IAAI,MAAM,YAAY,KAAK,WAAW,kCAAkCA,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,IAAI7B,EAAEE,EAAE,CAAC,EAAEC,EAAE,KAAK,SAAS,EAAE,EAAE,KAAK,MAAM,SAAS,EAAE,KAAK,MAAM,WAAW,KAAK,uBAAuB,GAAG,KAAK,MAAM,kBAAkB,KAAK,CAAC,EAAE,IAAI0B,EAAE,KAAK,aAAa,MAAM,KAAK,QAAQ,IAAIC,EAAEC,EAAEyf,GAAG,CAAC,EAAE,EAAE,WAAW,KAAK,MAAM,aAAa,KAAK,KAAK,MAAM,YAAY,KAAK,GAAG,GAAGA,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW5e,EAAE,OAAOkB,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,aAAa,MAAM,KAAK,QAAQ,IAAIsD,EAAEzU,GAAGiQ,EAAE,KAAK,WAAW,EAAEwX,EAAEhT,GAAG,KAAK,IAAI,kCAAkCxE,CAAC,kBAAkB,KAAK,WAAW,GAAG,EAAEf,EAAE,IAAI,CAAC,IAAI+C,EAAE,KAAK,QAAQ,WAAW,EAAE9C,EAAEsF,EAAE,WAAW,CAAC,OAAOtD,EAAE,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC,EAAE,IAAIS,EAAE,MAAM,QAAQzC,CAAC,EAAEA,EAAE,CAACA,CAAC,EAAE,KAAK,uBAAuB,GAAG,KAAK,sBAAsBc,EAAEgC,EAAEL,CAAC,EAAE,IAAIC,EAAED,EAAE,IAAIE,GAAGA,EAAE,MAAM,KAAKA,EAAE,KAAK,yBAAyBA,CAAC,CAAC,EAAE,GAAGtE,EAAE,CAAC,IAAIsE,EAAE,KAAK,sBAAsB7B,EAAEkB,EAAEU,CAAC,EAAEtE,EAAE,KAAK,2BAA2BuE,CAAC,CAAC,CAAC,OAAOD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY5B,CAAC,EAAE,EAAEkB,EAAE,GAAG,CAAC3D,IAAID,EAAE,EAAE,IAAIkH,GAAG,KAAK,KAAK,KAAK,MAAMA,CAAC,CAAC,CAAC,EAAE,EAAEvF,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,WAAW,EAAEC,EAAE,KAAK,KAAK,IAAIc,EAAE,KAAK,QAAQkB,CAAC,CAAC,EAAE,IAAIsD,EAAE,MAAM,QAAQtF,CAAC,EAAEA,EAAE,CAACA,CAAC,EAAE,OAAO,KAAK,uBAAuB,GAAG,KAAK,sBAAsBC,EAAE,EAAEqF,CAAC,EAAEA,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO5E,EAAE,MAAMC,CAAC,EAAE,EAAEC,EAAE8e,GAAG,CAAC,EAAE,KAAK,EAAE,cAAc7e,EAAE,OAAO,KAAK,UAAU,IAAI,KAAK,MAAM,cAAc,IAAI,KAAK,MAAM,cAAc,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ,OAAO,GAAG,CAAC,KAAK,MAAM,UAAU3C,EAAE6B,EAAE,GAAGc,EAAE,KAAK,SAAS,cAAcZ,EAAES,EAAE,IAAIX,EAAE,CAAC,EAAE,KAAK,IAAI,QAAQ,OAAO,GAAG,KAAK,SAAS,iBAAiBc,CAAC,EAAE3C,EAAE2C,EAAE,QAAQ,CAAC,EAAExC,GAAG,KAAK,YAAY4B,EAAES,EAAExC,EAAE0C,EAAExC,EAAEuC,CAAC,EAAE,KAAK,MAAM,WAAW,KAAK,MAAM,cAAc,QAAQ,KAAK,CAAC,KAAKV,EAAE,WAAW,KAAK,MAAM,SAAS,EAAE,mBAAmB,KAAK,MAAM,SAAS,aAAa,KAAK,MAAM,WAAW,EAAE,qBAAqB,KAAK,MAAM,WAAW,YAAY,OAAO,KAAKS,CAAC,EAAE,IAAII,GAAGJ,EAAEI,CAAC,GAAG,KAAKJ,EAAEI,CAAC,EAAE,MAAM,IAAI,EAAE,aAAa5C,EAAE,IAAI4C,GAAGA,EAAE,KAAK,EAAE,aAAaD,EAAE,OAAO,UAAUA,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQb,CAAC,EAAE9B,EAAEA,EAAE,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC,OAAO,EAAE,IAAI,GAAG,KAAK,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAEA,EAAEE,EAAE,CAAC,IAAIC,EAAEzN,GAAG,CAAC,EAAE,GAAGyN,GAAG,KAAK,CAAC,IAAI,EAAEA,EAAE,cAAc,CAAC,EAAE,EAAEA,EAAE,eAAe,CAAC,EAAE0B,EAAE1B,EAAE,eAAeia,EAAE,MAAM,QAAQpa,CAAC,EAAE,IAAI,wDAAwD,EAAE6B,EAAE,OAAO,KAAK7B,CAAC,EAAE,IAAI+B,GAAG/B,EAAE+B,CAAC,CAAC,GAAGF,EAAE,EAAE,IAAIE,GAAG/B,EAAE+B,CAAC,CAAC,EAAE,IAAID,EAAE5B,EAAE,OAAO,CAAC6B,EAAES,IAAI,EAAEA,CAAC,CAAC,EAAE,OAAOX,EAAE,OAAOC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE9B,EAAEE,EAAEC,EAAE,CAAC,GAAG,GAAG,KAAK,MAAM,IAAI,MAAM,+CAA+C,EAAED,EAAEA,GAAG,UAAUC,EAAEA,GAAG,KAAK,QAAQ,IAAI,EAAE,EAAED,IAAI,UAAUyb,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI7Z,GAAG8b,GAAG9b,CAAC,CAAC,GAAG,IAAI,EAAE3B,EAAE,MAAM,EAAEH,EAAEE,CAAC,EAAE2B,EAAE,IAAInW,GAAGsU,EAAEE,EAAE,EAAE,KAAK,aAAa,CAAC,EAAE,GAAG,KAAK,YAAY2B,EAAE1B,CAAC,EAAED,IAAI,SAAS,CAAC,IAAI4B,EAAE,KAAK,MAAM,WAAW,IAAI,CAAC,EAAEC,EAAE2Z,GAAG,CAAC,EAAE,KAAK,MAAM,UAAU3Z,EAAED,EAAE,MAAMA,EAAE,MAAMC,CAAC,CAAC,OAAOF,CAAC,CAAC,qBAAqB,EAAE7B,EAAEE,EAAEC,EAAE,CAACD,EAAEA,GAAG,UAAU,IAAI,EAAE,CAAC,OAAO,EAAE,MAAMF,EAAE,MAAME,CAAC,EAAE,OAAO,KAAK,yBAAyB,EAAEC,CAAC,CAAC,CAAC,yBAAyB,EAAEH,EAAE,CAAC,GAAG,CAAC,OAAOE,EAAE,MAAMC,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAIzU,GAAGyU,EAAE,EAAED,EAAE,KAAK,aAAa,CAAC,EAAE,OAAO,KAAK,YAAY,EAAEF,CAAC,EAAE,CAAC,CAAC,aAAa,EAAEA,EAAE,GAAGE,EAAEC,EAAE,CAACD,EAAEA,GAAG,KAAK,eAAe,EAAE,SAAS,EAAEC,GAAG,MAAMA,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAKA,CAAC,GAAG,IAAI,EAAE,IAAI9T,GAAG,EAAE2T,EAAEE,EAAE,KAAK,aAAa,CAAC,EAAE,GAAG,KAAK,MAAM,oBAAoB,EAAE,IAAI,GAAG,KAAK,MAAM,IAAI,MAAM,sBAAsB,EAAE,IAAI,yBAAyB,EAAE,OAAO,KAAK,MAAM,oBAAoB,EAAE,IAAI,EAAE,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC,YAAY,EAAEF,EAAE,CAAC,KAAK,MAAM,aAAa,EAAE,QAAQ,UAAU,KAAK,MAAM,mBAAmB,IAAIE,EAAE,EAAE,EAAE,QAAQ,aAAa,EAAE,QAAQ,WAAWA,EAAE,EAAE,KAAKub,GAAG,EAAE,KAAK,GAAG,KAAK,MAAM,UAAUvb,EAAE,KAAK,MAAM,WAAW,IAAI,EAAE,MAAM,IAAI,KAAK,MAAM,iBAAiB,KAAK,MAAM,WAAW,IAAI,EAAE,OAAO,CAAC,QAAQF,GAAG,KAAK,QAAQ,MAAM,EAAE,MAAM,MAAM,EAAE,MAAM,MAAME,CAAC,CAAC,GAAG,aAAa7T,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE2T,EAAE,CAAC,KAAK,YAAY,EAAEA,CAAC,EAAE,KAAK,QAAQ,OAAO,EAAE,MAAM,CAAC,CAAC,aAAa,EAAEA,EAAE,CAAC,KAAK,MAAM,WAAW,IAAI,CAAC,GAAG,KAAK,MAAM,WAAW,IAAI,CAAC,EAAE,UAAUA,IAAI,KAAK,MAAM,WAAW,OAAO,CAAC,EAAE,KAAK,MAAM,iBAAiB,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,MAAM,WAAW,IAAI,EAAE,MAAM,EAAE,OAAO,IAAIA,EAAE,KAAK,MAAM,WAAW,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,MAAM,aAAa,EAAE,QAAQ,WAAW,KAAK,MAAM,mBAAmB,KAAK,MAAM,UAAUA,EAAE,OAAO,EAAE,QAAQ,aAAa,EAAE,QAAQ,SAAS,CAAC,IAAIE,EAAE,EAAE,KAAKub,GAAG,EAAE,KAAK,EAAE,KAAK,MAAM,UAAUvb,CAAC,CAACF,EAAE,QAAQ,YAAY,EAAE,MAAM,GAAG,KAAK,aAAa,EAAE,OAAOA,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,QAAQ,KAAK,KAAK,MAAM,oBAAoB,CAAC,IAAIA,EAAE,KAAK,MAAM,oBAAoB,CAAC,EAAE,KAAK,gBAAgBA,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,KAAK,cAAc,CAAC,EAAE,KAAK,MAAM,oBAAoB,EAAE,IAAI,GAAG,MAAM,OAAO,KAAK,MAAM,oBAAoB,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,QAAQ,OAAO,EAAE,OAAO,EAAE,WAAW,KAAK,MAAM,WAAW,EAAE,eAAe,KAAK,MAAM,eAAe,EAAE,SAAS,KAAK,MAAM,SAAS,KAAK,MAAM,iBAAiB,IAAI,EAAE,WAAW,GAAG,EAAE,SAAS,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,KAAK,uEAAuE,GAAG,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,KAAK,MAAM,UAAU,GAAG,IAAIA,EAAE,KAAK,MAAM,SAASE,EAAE,KAAK,MAAM,WAAW,KAAK,MAAM,cAAc,QAAQ,CAAC,EAAE,KAAK,MAAM,cAAc,OAAO,MAAM,EAAE,EAAE,KAAK,MAAM,UAAU,GAAG,KAAK,MAAM,cAAc,UAAU,KAAK,IAAI,GAAG,KAAK,MAAM,cAAc,QAAQ,IAAIC,GAAGA,EAAE,kBAAkB,CAAC,EAAE,KAAK,MAAM,cAAc,SAAS,KAAK,MAAM,SAASH,EAAE,KAAK,MAAM,cAAc,WAAW,KAAK,MAAM,WAAWE,EAAE,QAAQC,KAAK,KAAK,MAAM,cAAc,QAAQA,EAAE,aAAa,MAAMA,EAAE,aAAaA,EAAE,UAAU,MAAMA,EAAE,UAAU,OAAO,KAAK,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,cAAc,GAAG,KAAK,MAAM,cAAc,CAAC,CAAC,YAAY,EAAEH,EAAEE,EAAEC,EAAE,EAAE,EAAE,CAAC,IAAI0B,EAAE,CAAC,GAAG,KAAK,MAAM,iBAAiB,WAAW,EAAE,OAAO7B,EAAE,QAAQE,EAAE,MAAM,CAAC,EAAE4B,EAAEpP,GAAG,CAAC,EAAEoP,GAAG,OAAO3B,EAAE2B,EAAE,UAAU3B,GAAG,OAAO0B,EAAE,SAASE,IAAIA,EAAEA,EAAE,IAAI,CAACS,EAAEC,IAAI,CAAC,GAAGD,GAAG,KAAK,CAAC,IAAIE,EAAExC,EAAEuC,CAAC,EAAEE,EAAE2Z,GAAG5Z,EAAE,KAAKA,EAAE,KAAK,EAAE,OAAO,KAAK,WAAWC,EAAED,EAAE,MAAMA,EAAE,KAAK,CAAC,CAAC,OAAOF,CAAC,CAAC,EAAErC,EAAE4B,EAAE,OAAO,EAAEA,EAAEA,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,WAAW,KAAKF,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,MAAM,gBAAgB,IAAI,KAAK,MAAM,WAAW,CAAC,GAAG,KAAK,MAAM,eAAe,CAAC,SAAS,CAAC,KAAK,MAAM,eAAe,CAAC,WAAW,EAAE,CAAC,IAAI7B,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,gBAAgB,GAAG,KAAK,MAAM,aAAa,EAAE,IAAIA,EAAE,KAAK,GAAG,KAAK,MAAM,WAAW,KAAKA,CAAC,EAAE,KAAK,MAAM,YAAYA,CAAC,CAAC,SAAS,EAAE,CAAC,IAAIA,EAAE4gB,GAAG,CAAC,EAAE1gB,EAAE,IAAI,IAAIF,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,MAAM,YAAY,MAAM,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,YAAY,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAACE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAIC,EAAE,KAAK,MAAM,WAAW,IAAI,EAAE,KAAK,MAAM,YAAY,KAAK,MAAM,WAAW,SAAS,EAAE,KAAK,KAAK,MAAM,WAAW,KAAK,MAAM,WAAW,OAAO,CAAC,EAAEH,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,UAAUG,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAEH,EAAEE,EAAEC,EAAE,GAAG,CAAC,GAAGia,EAAEpa,EAAE,OAAO,EAAE,IAAI,2CAA2C,EAAEE,GAAG,MAAMA,EAAE,QAAQ,UAAU,MAAM,IAAI,MAAM,0CAA0CA,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,UAAU,IAAI,KAAK,UAAU,EAAE,IAAI,KAAK,QAAQ,EAAE,IAAI,KAAK,KAAK,UAAU,CAAC,CAAC,EAAEka,EAAE,aAAa1uB,GAAG,IAAI,gDAAgD,EAAE,IAAI,EAAE+zB,GAAG,KAAK,MAAM,WAAWzf,EAAE,CAAC,EAAE,GAAG,CAACG,GAAG,EAAE,SAAS,GAAGH,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,qIAAqI,EAAE,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,IAAI6B,EAAE,CAAC,EAAEA,EAAE,EAAE,EAAE,EAAE3B,GAAG,KAAK0hB,GAAG,EAAE,KAAK,EAAE1hB,EAAEwf,GAAG7d,EAAE,EAAEE,GAAG,KAAK,KAAKA,CAAC,EAAE8f,EAAE,EAAE,IAAI/f,EAAE9B,EAAE,IAAI+B,GAAGF,EAAEE,EAAE,EAAE,CAAC,EAAE,OAAO,KAAK,MAAM,gBAAgB,IAAI,KAAK,MAAM,WAAW,QAAQA,GAAG,CAAC,QAAQS,KAAKT,EAAE,MAAMS,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,MAAMV,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAOsY,EAAE2B,GAAG,CAAC,EAAE,IAAI,mDAAmD,EAAE,IAAI/b,IAAI,CAACoa,EAAEpa,EAAE,MAAM6B,GAAGA,aAAanW,EAAE,EAAE,IAAI,kEAAkE,EAAE,IAAIwU,EAAEC,EAAE,CAAC,EAAEH,EAAE,QAAQ,CAAC6B,EAAEC,IAAI,CAAC3B,EAAE2B,CAAC,EAAED,CAAC,CAAC,EAAE,IAAI,EAAE,CAACA,EAAEC,KAAK5B,EAAE,EAAE,GAAGF,EAAE8B,CAAC,EAAEsY,EAAEla,EAAE,iBAAiBxU,GAAG,IAAI,4FAA4F,EAAE0uB,EAAE2B,GAAG7b,EAAE,QAAQ,EAAE,IAAI,kGAAkG,EAAEA,EAAE,OAAO,EAAE,CAAC2B,EAAEC,IAAI,CAAC,IAAIC,EAAE7B,EAAE,SAAS2B,EAAEC,CAAC,EAAEU,EAAE,MAAM,QAAQT,CAAC,EAAEA,EAAE,CAACA,CAAC,EAAEqY,EAAE5X,EAAE,SAASxC,EAAE,OAAO,IAAI,qKAAqK,EAAEoa,EAAE5X,EAAE,MAAME,GAAGA,aAAahX,EAAE,EAAE,IAAI,sIAAsI,EAAE,IAAI+W,EAAE,CAAC,EAAE,OAAOD,EAAE,QAAQ,CAACE,EAAEC,IAAI,CAACF,EAAEE,CAAC,EAAE,IAAID,CAAC,CAAC,EAAED,CAAC,EAAE,OAAO,KAAK,cAAc,CAAC,YAAY,EAAE,cAAc,EAAE,OAAOtC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,KAAK,MAAM,WAAW,IAAI,CAAC,EAAE,QAAQ,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,KAAK,MAAM,WAAW,IAAI,CAAC,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,UAAU,EAAEH,EAAE,CAAC,OAAO,KAAK,MAAM,WAAW,IAAI,CAAC,EAAE,QAAQ,UAAU,EAAEA,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,IAAIA,EAAEke,GAAG,EAAEhe,EAAE,MAAM,KAAK,QAAQ,KAAK,CAAC,EAAE,OAAOA,EAAE,OAAOge,GAAG,EAAEle,EAAEE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,KAAK,MAAM,aAAa,OAAO,EAAE,QAAQ,KAAK,MAAM,YAAY,GAAG,KAAK,MAAM,YAAY,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,qBAAqB,CAAC,OAAO,KAAK,MAAM,mBAAmB,CAAC,OAAO,CAAC,KAAK,uBAAuB,KAAK,MAAM,QAAQ,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,MAAM,IAAIuhB,GAAG,QAAQ,KAAK,KAAK,SAAS,KAAK,yBAAyB,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,CAAC,EAAE,KAAK,YAAY,KAAK,KAAK,gBAAgB,KAAK,KAAK,mBAAmB,IAAI,CAAC,EAAEC,GAAG,aAAa,EAAEA,GAAG,eAAe,EAAE,SAASE,GAAG9hB,EAAE,CAAC,IAAI,EAAEuc,GAAG7B,GAAG1a,CAAC,EAAE,SAAS,EAAE,OAAO6hB,EAAE,WAAW,EAAE7hB,EAAE,SAAS,CAAC,CAAC,SAASgiB,IAAI,CAAC,IAAIhiB,EAAEod,GAAG,EAAE,GAAGpd,EAAE,WAAW,KAAK,CAAC,IAAI,EAAE,IAAI5c,GAAG4c,CAAC,EAAEA,EAAE,UAAU,IAAI4hB,GAAG,CAAC,CAAC,CAAC,OAAO1E,GAAGld,EAAE,UAAU,GAAG,EAAEygB,GAAG,IAAIzgB,EAAE,SAAS,EAAEA,EAAE,SAAS,CAAC,IAAI6hB,EAAEG,GAAG,EAAE,SAASD,GAAG/hB,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEF,EAAE,EAAE,CAAC,EAAE,OAAO6hB,EAAE,UAAUniC,GAAGwgB,CAAC,CAAC,CAAC,IAAI3P,GAAG,CAAC,EAAE0P,GAAG1P,GAAG,CAAC,UAAU,IAAI0xB,GAAG,SAAS,IAAIC,GAAG,aAAa,IAAIC,EAAE,CAAC,EAAE,SAASC,IAAI,CAAC,OAAO,OAAO,WAAW,aAAa,WAAW,IAAI,CAAC,IAAIC,GAAG,SAASF,GAAGniB,EAAE,CAACqiB,GAAGriB,CAAC,CAAC,SAASkiB,GAAGliB,EAAE,CAAC,GAAGqiB,KAAK,OAAO,OAAOA,GAAG,GAAGriB,GAAGoiB,GAAG,EAAE,CAAC,GAAGpiB,IAAIA,EAAE,WAAWA,EAAE,UAAU,cAAc,MAAM,GAAG,IAAI,EAAEA,EAAE,WAAWA,EAAE,SAAS,OAAO,QAAQ,YAAY,OAAO,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,IAAIE,EAAEF,EAAE,OAAOE,EAAE,eAAeA,EAAE,cAAc,MAAM,CAAC,MAAM,2TAA2T,KAAK,CAAC,GAAG,0kDAA0kD,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS+hB,IAAI,CAAC,OAAO,OAAO,QAAQ,aAAa,OAAO,UAAU,MAAM,OAAO,mBAAmB,WAAW,CAAC,IAAIK,GAAG9wB,EAAE,EAAE8wB,GAAG,aAAa,QAAQ,IAAI,GAAGtiB,GAAG,CAACA,GAAG,QAAQ,KAAK,6IAA6I,CAAC,CAAC,EAAEsiB,GAAG,aAAa,aAAa,IAAIL,GAAG,CAAC,EAAEK,GAAG,aAAa,UAAU,IAAI,OAAO,SAAS,aAAa,OAAO,QAAQ,UAAU,aAAa,OAAO,QAAQ,SAAS,MAAM,WAAW,EAAEA,GAAG,aAAa,YAAY,IAAI,OAAO,WAAW,aAAa,WAAW,MAAM,UAAU,WAAW,MAAM,SAAS,KAAK,UAAU,SAAS,GAAG,aAAa,KAAK,UAAU,MAAM,CAAC,EAAEA,GAAG,aAAa,YAAY,IAAI,OAAO,WAAW,aAAa,WAAW,MAAM,UAAU,WAAW,MAAM,SAAS,KAAK,UAAU,SAAS,GAAG,QAAQ,KAAK,UAAU,MAAM,CAAC,EAAEA,GAAG,aAAa,OAAO,IAAI,EAAE,EAAEA,GAAG,aAAa,qCAAqC,IAAIA,GAAG,QAAQ,OAAO,CAAC,EAAEA,GAAG,aAAa,+BAA+B,IAAI,EAAE,EAAEA,GAAG,aAAa,UAAU,IAAI,EAAE,EAAEA,GAAG,aAAa,+BAA+B,IAAIA,GAAG,QAAQ,OAAO,CAAC,EAAEA,GAAG,aAAa,sBAAsB,IAAI,EAAE,EAAEA,GAAG,aAAa,wCAAwC,IAAI,EAAE,EAAEA,GAAG,aAAa,uBAAuB,IAAI,EAAE,EAAE,SAASC,GAAGviB,EAAE,EAAE,CAAC,IAAIE,EAAEF,EAAE,GAAGme,GAAGne,CAAC,EAAE,OAAO,IAAI,SAAS,CAAC,EAAE,CAACA,EAAE,MAAM,EAAE,GAAGshB,GAAGthB,CAAC,EAAE,CAAC,IAAIK,EAAEL,EAAE,UAAU,OAAO,MAAM,CAACA,EAAE,OAAOA,EAAE,MAAMK,EAAE,MAAM,CAAC,SAASkhB,GAAGvhB,CAAC,EAAE,MAAM,CAACA,EAAE,OAAO,MAAM,GAAG,KAAK,EAAE2b,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,QAAQ3b,CAAC,EAAE,MAAM,CAAC,EAAE,IAAII,EAAE,CAAC,EAAE,KAAK,MAAM,QAAQF,CAAC,GAAGie,GAAGje,CAAC,GAAG,IAAI,UAAUE,EAAE,KAAKF,EAAE,MAAM,EAAEA,EAAEA,EAAE,CAAC,EAAE,OAAO,MAAM,QAAQF,CAAC,GAAGxO,EAAE,EAAE,QAAQ,oCAAoC,GAAGgxB,GAAGxiB,EAAEI,EAAE,CAAC,CAAC,EAAEA,CAAC,CAAC,SAASoiB,GAAGxiB,EAAE,EAAEE,EAAE,CAAC,GAAGA,EAAEA,GAAG,CAAC,EAAE,CAAC,MAAM,QAAQF,CAAC,GAAG,CAACme,GAAGne,CAAC,EAAE,CAACsa,EAAE,EAAE,SAAS,EAAE,IAAI,eAAepa,EAAE,KAAK,IAAI,CAAC,0DAA0D,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,CAACoa,EAAE,EAAE,OAAO,EAAE,IAAI,eAAepa,EAAE,KAAK,IAAI,CAAC,+CAA+CF,EAAE,MAAM,WAAW,EAAEsa,EAAEta,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,eAAeE,EAAE,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,sBAAsBF,EAAE,MAAM,WAAW,EAAE,IAAII,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAEL,EAAE,OAAO,EAAEK,EAAEmiB,GAAGxiB,EAAEK,CAAC,EAAED,EAAEF,EAAE,OAAOG,CAAC,CAAC,CAAC,CAAC,SAASoiB,GAAGziB,EAAE,EAAEE,EAAEE,EAAE,CAAC,GAAGJ,IAAI,oBAAoB,CAAC,GAAGA,GAAG,KAAK,MAAM,IAAI,MAAM,gCAAgC,EAAE,GAAGA,IAAI,WAAWA,IAAI,GAAGA,IAAI,WAAW,IAAI,SAAS,MAAM,IAAI,MAAM,aAAaE,CAAC,gBAAgBE,CAAC,aAAaJ,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS0iB,EAAE1iB,EAAE,EAAEE,EAAEE,EAAE,UAAU,CAAC,GAAGJ,aAAa4gB,EAAE,EAAE,OAAO6B,GAAGriB,EAAEJ,EAAE,MAAM,EAAEE,CAAC,EAAEF,EAAE,IAAIK,EAAE2b,GAAGhc,CAAC,EAAE,GAAGK,IAAI,UAAU,CAAC,OAAO,QAAQ,SAAS,EAAE,QAAQD,CAAC,GAAG,IAAIC,EAAED,GAAGqiB,GAAGriB,EAAEC,EAAE,EAAEH,CAAC,EAAEF,GAAG,MAAM,CAACme,GAAGne,CAAC,GAAG,CAAC,MAAM,QAAQA,CAAC,GAAG,OAAOA,GAAG,UAAU,OAAOA,GAAG,WAAW,OAAOA,GAAG,SAAS,CAAC,IAAIgC,EAAEhC,GAAG,KAAK,OAAOA,EAAE,YAAY,KAAK,MAAM,IAAI,MAAM,aAAa,CAAC,gBAAgBE,CAAC,8CAA8C8B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAEugB,GAAGviB,EAAEK,CAAC,EAAE,CAAC8d,GAAGne,CAAC,GAAG,CAAC,MAAM,QAAQA,CAAC,IAAIA,EAAE,CAACA,CAAC,GAAG,IAAI+B,EAAE1B,IAAI,SAASge,GAAGre,EAAEK,CAAC,EAAE4d,GAAGje,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO6hB,EAAE,WAAW9f,EAAE,EAAE1B,CAAC,CAAC,CAAC,SAASsiB,GAAG3iB,EAAE,EAAEE,EAAEE,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,QAAQJ,CAAC,EAAE,MAAM,IAAI,MAAM,YAAY,CAAC,cAAcE,CAAC,6CAA6C,EAAE,OAAOF,EAAE,IAAI,CAAC6B,EAAEC,IAAI4gB,EAAE7gB,EAAE,GAAG,CAAC,IAAIC,CAAC,IAAI5B,EAAEE,CAAC,CAAC,CAAC,CAAC,IAAI3Y,GAAG,OAAO,SAAS2P,EAAE4I,EAAE,CAAC,IAAI,EAAE,OAAO,KAAKA,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,yGAAyG,EAAE,MAAM,QAAQ,EAAE,IAAIE,EAAE,EAAE,CAAC,EAAEE,EAAEJ,EAAEE,CAAC,EAAEA,EAAE,SAAS,GAAG,IAAIA,EAAEA,EAAE,UAAU,EAAEA,EAAE,OAAO,CAAC,GAAGA,EAAEA,EAAEzY,GAAG,IAAI4Y,EAAE,IAAI,IAAI,CAACwhB,EAAE,WAAW3hB,CAAC,EAAE,GAAG,CAAC,IAAI,EAAEE,EAAE,GAAG,CAAC,EAAE,OAAOyc,GAAG,CAAC,GAAG,QAAQ,MAAM,yCAAyC,EAAEgF,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAMA,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,OAAO,eAAexhB,EAAE,OAAO,CAAC,MAAMH,EAAE,aAAa,EAAE,CAAC,EAAEG,CAAC,CAAC,SAASuiB,GAAG5iB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,OAAO,SAAS,EAAEI,EAAEsiB,EAAE,EAAE,OAAO,SAAS,EAAEnI,GAAGra,EAAE,MAAME,EAAE,MAAM,yBAAyBF,EAAE,KAAK,QAAQE,EAAE,KAAK,uCAAuC,EAAE,IAAIC,EAAE,CAAC,KAAKH,EAAE,KAAKE,CAAC,EAAE,OAAOyhB,EAAE,UAAUxgC,GAAGgf,CAAC,CAAC,CAAC,IAAIvR,GAAGsI,EAAE,CAAC,SAASwrB,EAAE,CAAC,EAAE,SAASC,GAAG7iB,EAAE,EAAEE,EAAEE,EAAE,CAAC,GAAGA,GAAG,KAAKA,EAAE4b,GAAGhc,CAAC,UAAUI,IAAI,YAAY,MAAM,IAAI,MAAM,kFAAkF,EAAE,GAAGmhB,GAAGvhB,CAAC,GAAGshB,GAAGthB,CAAC,EAAE,CAAC,GAAGI,IAAI,WAAWA,IAAI,QAAQ,MAAM,IAAI,MAAM,2FAA2FA,CAAC,GAAG,EAAE,OAAOyhB,EAAE,QAAQ,wBAAwB7hB,EAAE,GAAGE,EAAEE,CAAC,CAAC,CAAC,GAAG,CAAC+d,GAAGne,CAAC,GAAG,CAAC,MAAM,QAAQA,CAAC,GAAG,OAAOA,GAAG,UAAU,OAAOA,GAAG,WAAW,OAAOA,GAAG,SAAS,MAAM,IAAI,MAAM,0HAA0H,EAAE,GAAG,GAAG,KAAK,CAAC0c,GAAG,CAAC,EAAE,IAAIrc,EAAEqa,GAAG,CAAC,EAAE,EAAEA,GAAGxa,CAAC,EAAEoa,EAAEja,IAAI,EAAE,IAAI,iCAAiC,CAAC,6BAA6BA,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAEH,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI6B,EAAE7B,EAAE,CAAC,EAAE8B,EAAE,IAAI9B,EAAE,OAAO,EAAE6B,IAAI2Y,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,GAAGJ,EAAEpa,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC8B,EAAE,IAAI,gDAAgD9B,CAAC,wCAAwC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAACie,GAAGne,CAAC,GAAG,CAAC,MAAM,QAAQA,CAAC,IAAIA,EAAE,CAACA,CAAC,GAAG,EAAE,GAAGE,EAAEF,EAAEI,IAAI,SAASie,GAAGre,EAAEI,CAAC,EAAE6d,GAAGje,EAAE,CAAC,EAAE,EAAE,EAAE6hB,EAAE,WAAW7hB,EAAE,EAAEI,CAAC,CAAC,CAAC,SAASrD,GAAGiD,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEmiB,GAAGviB,EAAEE,CAAC,EAAE,OAAO2iB,GAAG7iB,EAAE,EAAEI,EAAEF,CAAC,CAAC,CAAC,IAAI4iB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,EAAMC,GAAG,MAAM/iB,EAAC,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,IAAIA,GAAE,CAAC,EAAE,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,KAAK,mBAAmB,EAAE,GAAG,OAAO,aAAa,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,IAAII,GAAG+d,GAAG/d,CAAC,EAAEA,EAAE,OAAOA,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,KAAK,kBAAkB,EAAE,CAAC,EAAE,WAAW,IAAIF,EAAE,EAAE,QAAQE,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,CAAC,IAAIC,EAAE,EAAED,CAAC,EAAEA,IAAI,EAAE,OAAO,GAAGC,EAAE,aAAa,KAAK,oBAAoB,KAAK,kBAAkB,QAAQ,IAAI,EAAEH,EAAEG,EAAE,WAAW,KAAK,OAAO,KAAK,CAAC,OAAOA,EAAE,MAAMH,EAAE,IAAI,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAC,KAAK,OAAO,SAAS,IAAI,KAAK,WAAW,GAAG,KAAK,WAAW,KAAK,OAAO,KAAK,OAAO,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,EAAEA,EAAE,KAAK,WAAW,CAAC,GAAG,KAAK,OAAO,SAAS,EAAE,OAAO,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,EAAE,EAAE,EAAEA,EAAE,MAAM,OAAOA,CAAC,CAAC,EAAE,EAAEA,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,EAAEA,EAAE,KAAK,IAAI,KAAK,WAAWA,CAAC,EAAEA,GAAG,EAAE,OAAO,IAAI,YAAY,CAAC,EAAE,IAAIE,EAAE,KAAK,iBAAiB,CAAC,EAAE,GAAGA,IAAI,GAAG,MAAM,IAAI,MAAM,uCAAuC,CAAC,EAAE,EAAE,IAAIC,EAAEH,EAAE,EAAE,EAAE,IAAI,YAAYG,CAAC,EAAE,EAAE,IAAI,WAAW,CAAC,EAAE0B,EAAE,EAAE,QAAQC,EAAE5B,EAAE4B,EAAE,KAAK,OAAO,OAAOA,IAAI,CAAC,IAAIC,EAAE,KAAK,OAAOD,CAAC,EAAE,EAAE,EAAED,EAAEE,EAAE,MAAMW,EAAEb,EAAEe,EAAE,KAAK,IAAI5C,EAAE+B,EAAE,GAAG,EAAEA,EAAE,MAAM,EAAE,IAAI,WAAWA,EAAE,OAAO,EAAEa,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAEF,CAAC,EAAEb,GAAG,EAAE,OAAO7B,EAAE+B,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,CAAC,GAAG,KAAK,OAAO,SAAS,GAAG,EAAE,GAAG,GAAG,KAAK,WAAW,MAAM,GAAG,GAAG,KAAK,mBAAmB,KAAK,OAAO,KAAK,mBAAmB,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,SAAS/B,EAAEG,EAAE,CAAC,OAAO,EAAEA,EAAE,MAAM,GAAG,GAAGA,EAAE,IAAI,EAAE,CAAC,CAAC,GAAGH,EAAE,KAAK,OAAO,KAAK,kBAAkB,CAAC,IAAI,EAAE,OAAO,KAAK,mBAAmB,IAAIE,EAAE4iB,GAAG,KAAK,OAAO9iB,CAAC,EAAE,OAAOE,IAAI,GAAG,IAAI,KAAK,mBAAmBA,EAAE,KAAK,mBAAmB,CAAC,EAAE,SAAS4iB,GAAGhjB,EAAE,EAAE,CAAC,IAAIE,EAAE,EAAEE,EAAEJ,EAAE,OAAO,KAAKE,GAAGE,GAAG,CAAC,IAAIC,EAAE,KAAK,OAAOD,EAAEF,GAAG,CAAC,EAAEA,EAAE,EAAE,EAAEF,EAAEK,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAOA,EAAE,EAAE,EAAED,EAAEC,EAAEH,EAAEG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,SAASjP,IAAK,CAACI,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC,SAASL,IAAK,CAACK,EAAE,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC,SAASd,IAAK,CAACc,EAAE,EAAE,IAAI,+BAA+B,EAAE,EAAE,QAAQ,KAAK,wDAAwD,CAAC,CAAC,SAASrB,GAAG6P,EAAE,CAACxO,EAAE,EAAE,QAAQ,8BAA8B,GAAG,QAAQ,KAAKwO,EAAE,6EAA6E,CAAC,CAAC2gB,GAAGxwB,EAAE,EAAE,SAASS,IAAK,CAACixB,EAAE,iBAAiB,CAAC,CAAC,SAASvwB,IAAI,CAAC,OAAOuwB,CAAC,CAAC,SAAS9rB,IAAI,CAAC,OAAO8rB,EAAE,OAAO,CAAC,CAAC,SAAS7pB,GAAIgI,EAAE,CAAC,OAAO6hB,EAAE,QAAQ7hB,CAAC,CAAC,CAAC,SAASvC,EAAEuC,EAAE,EAAE,CAAC,OAAO6hB,EAAE,KAAK7hB,EAAE,CAAC,CAAC,CAAC,SAASrP,GAAGqP,EAAE,CAAC8gB,GAAG9gB,CAAC,EAAE,QAAQE,GAAGA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAASlM,GAAGgM,EAAE,CAAC,OAAO6hB,EAAE,KAAK7hB,CAAC,CAAC,CAAC,SAASrC,GAAIqC,EAAE,CAAC,OAAO6hB,EAAE,KAAK7hB,CAAC,CAAC,CAAC,SAASxF,GAAGwF,EAAE,CAAC,OAAO6hB,EAAE,WAAW7hB,CAAC,CAAC,CAAC,SAASrH,IAAK,CAAC,OAAOkpB,EAAE,MAAM,CAAC,CAAC,SAASlvB,IAAI,CAAC,OAAOkvB,EAAE,WAAW,CAAC,SAASvoB,GAAI0G,EAAE,CAAC6hB,EAAE,cAAc7hB,CAAC,CAAC,CAAC,SAAS9N,GAAI8N,EAAE,CAAC,OAAO6hB,EAAE,YAAY7hB,CAAC,CAAC,CAAC,SAAS7N,GAAI6N,EAAE,CAAC,OAAO6hB,EAAE,mBAAmB7hB,CAAC,CAAC,CAAC,SAASlH,GAAGkH,EAAE,EAAEE,EAAE,EAAE,CAAC,OAAO2hB,EAAE,gBAAgB7hB,EAAE,EAAEE,CAAC,CAAC,CAAC,SAASzS,IAAI,CAAC,OAAOo0B,EAAE,OAAO,CAAC,SAASpnB,GAAIuF,EAAE,EAAE,CAACxO,EAAE,EAAE,YAAYwO,EAAE,CAAC,CAAC,CAAC,IAAIijB,GAAG,EAAE,eAAeC,GAAGljB,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEE,EAAE,CAAC,EAAEC,EAAE,MAAM,QAAQL,CAAC,EAAEA,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,KAAKA,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI0B,EAAE1B,EAAE,CAAC,EAAE2B,EAAE,MAAM,QAAQhC,CAAC,EAAEA,EAAE,CAAC,EAAE,OAAOA,EAAE+B,CAAC,EAAE,GAAGC,EAAE,QAAQ,WAAWA,EAAE,QAAQ,SAASA,EAAE,QAAQ,QAAQA,EAAE,QAAQ,UAAUA,EAAE,QAAQ,YAAY,MAAM,IAAI,MAAM,gCAAgCD,CAAC,MAAMC,EAAE,KAAK,EAAE,EAAE,IAAIC,EAAE,CAAC,KAAKF,EAAE,MAAMC,EAAE,MAAM,MAAMA,EAAE,KAAK,EAAE,GAAGA,EAAE,QAAQ,SAAS,CAAC,IAAIU,EAAE,IAAI,QAAQ,MAAMC,GAAG,CAAC,IAAIC,EAAE,MAAMZ,EAAE,MAAM,EAAEa,EAAED,EAAE,OAAO,CAAC,EAAE0E,IAAI,EAAEA,EAAE,OAAO,CAAC,EAAE2b,GAAGrgB,EAAE,OAAOE,EAAE,IAAI,WAAWD,CAAC,EAAEmB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAEpB,EAAE,OAAO,IAAI,CAAC,IAAI0E,EAAE1E,EAAE,CAAC,EAAEkC,EAAE,IAAI,WAAW,IAAI,YAAY,CAACwC,EAAE,MAAM,CAAC,EAAE,MAAM,EAAExE,EAAE,IAAIgC,EAAEd,CAAC,EAAEA,GAAGif,GAAGngB,EAAE,IAAIwE,EAAEtD,CAAC,EAAEA,GAAGsD,EAAE,MAAM,CAAC3E,EAAEG,CAAC,CAAC,CAAC,EAAE1C,EAAE,KAAKsC,CAAC,CAAC,MAAMtC,EAAE,KAAK4B,EAAE,KAAK,CAAC,EAAE,GAAG,OAAOC,EAAE,MAAM,GAAG/B,EAAE,KAAK+B,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,QAAQ,IAAI7B,CAAC,EAAE,MAAM,CAAC,KAAK+iB,GAAG,CAAC,EAAE,MAAMjjB,CAAC,CAAC,CAAC,SAASkjB,GAAGpjB,EAAE,EAAE,CAAC,IAAIE,EAAE,IAAI6iB,GAAG/iB,CAAC,EAAEI,EAAE,CAAC,EAAEC,EAAE,EAAE,QAAQ,KAAK,EAAE,CAAC,IAAI,EAAEgjB,GAAG,EAAE,CAACthB,EAAEC,IAAI9B,EAAE,MAAMG,EAAE0B,EAAE1B,EAAE2B,CAAC,CAAC,EAAE5B,EAAE,EAAE,IAAI,EAAEkjB,GAAG,EAAEpjB,EAAE,MAAMG,EAAEA,EAAE,CAAC,CAAC,EAAEA,GAAG,CAAC,CAAC,OAAOD,CAAC,CAAC,SAASijB,GAAGrjB,EAAE,EAAE,CAAC,IAAIE,EAAEwa,GAAG1a,EAAE,KAAK,EAAEI,EAAE,GAAG,iBAAiBJ,EAAE,CAAC,IAAIK,EAAEL,EAAE,aAAaI,EAAE0iB,GAAGziB,EAAE,KAAK,CAAC,SAASL,EAAE,QAAQ,SAAS,CAAC,IAAIK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAEH,EAAE,IAAIG,GAAG4iB,GAAG,IAAI,YAAY,EAAE5iB,EAAEA,EAAE4iB,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO5iB,CAAC,MAAMD,EAAE0iB,GAAG9iB,EAAE,KAAK,EAAE,OAAOE,EAAEE,CAAC,CAAC,eAAemjB,GAAGvjB,EAAE,EAAE,CAAC,IAAIE,EAAEwa,GAAG1a,EAAE,KAAK,EAAEI,EAAE,GAAG,iBAAiBJ,EAAE,CAAC,IAAIK,EAAEL,EAAE,aAAaI,EAAE0iB,GAAGziB,EAAE,KAAK,CAAC,SAASL,EAAE,QAAQ,SAAS,CAAC,IAAIK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAEH,EAAE,IAAIG,GAAG4iB,GAAG,IAAI,YAAY,MAAM,EAAE5iB,EAAEA,EAAE4iB,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO5iB,CAAC,MAAMD,EAAE0iB,GAAG9iB,EAAE,KAAK,EAAE,OAAOE,EAAEE,CAAC,CAAC,SAASkjB,GAAGtjB,EAAE,EAAE,CAAC,IAAIE,EAAEF,EAAE,KAAKI,EAAEJ,EAAE,MAAMK,EAAEL,EAAE,MAAM,EAAE0a,GAAGra,CAAC,EAAE,EAAE0B,EAAE,EAAE,GAAG,iBAAiB/B,EAAE,CAAC,IAAIgC,EAAEhC,EAAE,aAAa,GAAGgC,EAAE,QAAQ,SAASA,EAAE,QAAQ,UAAU,GAAG,EAAE,QAAQA,GAAG,UAAUA,GAAG,MAAM,IAAI,MAAM,UAAUhC,EAAE,IAAI,sBAAsBgC,EAAE,KAAK,qDAAqD,UAAUA,EAAE,QAAQ,WAAW,GAAG5B,IAAI,UAAU,MAAM,IAAI,MAAM,UAAUJ,EAAE,IAAI,sBAAsBgC,EAAE,KAAK,oDAAoD5B,CAAC,GAAG,MAAO,OAAM,IAAI,MAAM,UAAUJ,EAAE,IAAI,mCAAmCgC,EAAE,KAAK,wEAAwE,EAAE,IAAIC,EAAE6gB,GAAG9gB,EAAE,KAAK,EAAEU,EAAEV,EAAE,QAAQ,QAAQ,IAAI,WAAW,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,GAAG5B,IAAI,UAAU,GAAG4B,EAAE,QAAQ,SAASA,EAAE,QAAQ,SAAS,CAAC,EAAE,IAAI,aAAaU,EAAE,MAAM,EAAE,QAAQC,EAAE,EAAEA,EAAED,EAAE,OAAOC,IAAI,CAAC,IAAIC,EAAEF,EAAEC,CAAC,EAAE,EAAEA,CAAC,EAAEC,EAAEZ,EAAE,MAAMA,EAAE,GAAG,CAAC,SAASA,EAAE,QAAQ,UAAU,EAAEwhB,GAAG,EAAE9gB,CAAC,MAAO,OAAM,IAAI,MAAM,iCAAiCV,EAAE,KAAK,2BAA2B,UAAU5B,IAAI,QAAQ,CAAC,GAAG4B,EAAE,QAAQ,SAASA,EAAE,QAAQ,SAAS,MAAM,IAAI,MAAM,iCAAiCA,EAAE,KAAK,yBAAyB,EAAE,EAAE,IAAI,WAAWU,EAAE,MAAM,EAAE,QAAQC,EAAE,EAAEA,EAAED,EAAE,OAAOC,IAAI,CAAC,IAAIC,EAAEF,EAAEC,CAAC,EAAE,EAAEA,CAAC,EAAE,KAAK,MAAMC,EAAEZ,EAAE,MAAMA,EAAE,GAAG,CAAC,CAAC,KAAM,OAAM,IAAI,MAAM,gCAAgC9B,CAAC,MAAME,CAAC,EAAE,EAAE2B,GAAG,EAAEE,CAAC,SAAS7B,IAAI,SAAS,CAAC,IAAI4B,EAAE0Y,GAAG1a,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQiC,EAAE,EAAEA,EAAED,EAAEC,IAAI,CAAC,IAAIS,EAAE,IAAI,YAAY,EAAE,MAAMX,EAAEA,EAAEkhB,EAAE,CAAC,EAAE,CAAC,EAAElhB,GAAGkhB,GAAG,IAAItgB,EAAE,IAAI,WAAW,EAAE,MAAMZ,EAAEA,EAAEW,CAAC,CAAC,EAAE,EAAE,KAAKC,CAAC,EAAEZ,GAAGW,CAAC,CAAC,KAAK,CAAC,IAAIV,EAAE8gB,GAAG1iB,CAAC,EAAE,GAAGA,IAAI,UAAU,EAAE,IAAI,aAAa,CAAC,UAAUA,IAAI,QAAQ,EAAE,IAAI,WAAW,CAAC,UAAUA,IAAI,OAAO,EAAE,IAAI,WAAW,CAAC,UAAUA,IAAI,YAAY,CAAC,EAAE,IAAI,aAAa,CAAC,EAAE,IAAI6B,EAAE,IAAI,aAAa,EAAE,OAAO,CAAC,EAAES,EAAE,IAAI,aAAa,EAAE,OAAO,CAAC,EAAE,QAAQI,EAAE,EAAEA,EAAEb,EAAE,OAAOa,IAAIb,EAAEa,CAAC,EAAE,EAAEA,EAAE,CAAC,EAAEJ,EAAEI,CAAC,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,IAAIH,EAAE5F,GAAGkF,EAAE5B,EAAE,SAAS,EAAEuC,EAAE7F,GAAG2F,EAAErC,EAAE,SAAS,EAAEwC,EAAE/T,GAAG6T,EAAEC,CAAC,EAAE,OAAOD,EAAE,QAAQ,EAAEC,EAAE,QAAQ,EAAEC,CAAC,KAAM,OAAM,IAAI,MAAM,gCAAgC3C,CAAC,MAAME,CAAC,EAAE,EAAE2B,GAAG,EAAEC,CAAC,CAAC,OAAOjF,GAAG,EAAEsD,EAAED,CAAC,CAAC,CAAC,eAAeqjB,GAAGzjB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,IAAI,WAAW,CAAC,EAAE,KAAKA,EAAE,WAAWF,GAAG,CAAC,GAAG,CAAC,KAAKG,EAAE,MAAM,CAAC,EAAE,MAAML,EAAE,KAAK,EAAE,GAAGK,GAAG,GAAG,KAAK,CAAC,IAAI0B,EAAE7B,EAAEE,EAAE,WAAW,MAAM,IAAI,MAAM,sBAAsB2B,CAAC,2BAA2B,CAAC,CAAC,IAAI,EAAE,IAAI,WAAW3B,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,IAAIA,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,WAAW,CAAC,EAAEA,EAAE,MAAM,EAAEA,EAAE,CAAC,CAAC,OAAOA,EAAE,MAAM,CAAC,eAAesjB,GAAG1jB,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEE,EAAEJ,EAAE,UAAU,EAAEK,EAAE,IAAI,YAAY,CAAC,EAAE,QAAQ,KAAK,EAAE,CAAC,IAAI,EAAE,MAAMkjB,GAAG,EAAE,MAAMthB,EAAES,KAAKrC,EAAE,MAAMojB,GAAGrjB,EAAEC,EAAEqC,CAAC,EAAErC,EAAE,MAAM4B,EAAES,CAAC,EAAE,EAAErC,EAAE,MAAMojB,GAAGrjB,EAAEC,EAAE,CAAC,EAAE,IAAI0B,EAAE1B,EAAE,MAAM,EAAE,CAAC,EAAEA,EAAEA,EAAE,MAAM,CAAC,EAAE,IAAI2B,EAAEshB,GAAG,EAAEvhB,CAAC,EAAE,GAAG7B,EAAE,EAAE,IAAI,EAAE8B,EAAErP,GAAG,IAAI,SAAS,CAAC,IAAIsP,EAAExU,GAAG,EAAE,gBAAgBwU,GAAGyY,GAAG1Y,EAAE,KAAK,GAAGxQ,EAAE,EAAE,IAAI,mCAAmC,GAAGyQ,EAAE,YAAYD,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO9B,CAAC,CAAC,SAASijB,GAAGnjB,EAAE,CAAC,GAAGA,IAAI,KAAK,MAAM,IAAI,MAAM,wBAAwB,KAAK,UAAUA,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAEE,EAAE,CAAC,EAAEF,EAAE,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,WAAWE,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,aAAa,cAAc,aAAa,YAAY,aAAa,YAAY,MAAM,IAAI,MAAM,mCAAmC,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,EAAE,IAAIE,EAAE,IAAI,WAAW,CAAC,EAAEC,EAAE,EAAE,OAAOH,EAAE,QAAQ,GAAG,CAACE,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,EAAEC,CAAC,EAAEA,GAAG,EAAE,UAAU,CAAC,EAAED,EAAE,MAAM,CAAC,IAAIujB,GAAG,OAAO,QAAQ,cAAc,OAAO,MAAM,aAAa,OAAO,MAAM,aAAa,OAAO,MAAM,aAAa,SAASC,GAAG5jB,EAAE,CAAC,OAAO2jB,GAAG,OAAO,WAAW3jB,EAAE,MAAM,EAAE,IAAI,KAAK,CAACA,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS6jB,GAAG7jB,EAAE,CAAC,GAAG2jB,GAAG,OAAO,OAAO,KAAK3jB,CAAC,EAAE,SAAS,QAAQ,EAAE,IAAI,EAAE,IAAI,WAAWA,CAAC,EAAEE,EAAE,GAAG,QAAQE,EAAE,EAAEC,EAAE,EAAE,OAAOD,EAAEC,EAAED,IAAIF,GAAG,OAAO,aAAa,EAAEE,CAAC,CAAC,EAAE,OAAO,KAAKF,CAAC,CAAC,CAAC,SAAS4jB,GAAG9jB,EAAE,CAAC,GAAG2jB,GAAG,CAAC,IAAIvjB,EAAE,OAAO,KAAKJ,EAAE,QAAQ,EAAE,OAAOI,EAAE,OAAO,MAAMA,EAAE,WAAWA,EAAE,WAAWA,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,KAAKJ,CAAC,EAAEE,EAAE,IAAI,WAAW,EAAE,MAAM,EAAE,QAAQE,EAAE,EAAEA,EAAE,EAAE,OAAO,EAAEA,EAAEF,EAAE,IAAI,CAAC,EAAE,WAAWE,CAAC,CAAC,EAAEA,CAAC,EAAE,OAAOF,EAAE,MAAM,CAAC,SAAS6jB,GAAG/jB,EAAE,CAAC,OAAO+iB,GAAG,KAAK/iB,CAAC,CAAC,CAAC,SAASgkB,GAAGhkB,EAAE,CAAC,IAAI,EAAE,IAAI,IAAIA,EAAEA,EAAE,KAAK,EAAEA,EAAE,SAAS,CAAC,GAAGA,EAAEA,EAAE,MAAM,EAAEA,EAAE,OAAO,CAAC,EAAE,IAAIE,EAAEF,EAAE,MAAM,CAAC,EAAE,OAAOE,EAAEA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS+jB,GAAGjkB,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,cAAcF,EAAE,cAAc,OAAOA,EAAE,OAAO,YAAYA,EAAE,YAAY,YAAYA,EAAE,YAAY,gBAAgB,CAAC,EAAE,OAAOA,EAAE,WAAW,OAAOE,EAAE,UAAUF,EAAE,WAAWA,EAAE,qBAAqB,OAAOE,EAAE,oBAAoBF,EAAE,qBAAqBA,EAAE,kBAAkB,OAAOE,EAAE,iBAAiBF,EAAE,kBAAkBA,EAAE,sBAAsB,OAAOE,EAAE,qBAAqBF,EAAE,sBAAsBA,EAAE,gBAAgB,OAAOE,EAAE,eAAeF,EAAE,gBAAgBE,CAAC,CAAC,SAASgkB,GAAGlkB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,CAAC,cAAcJ,EAAE,cAAc,OAAOA,EAAE,OAAO,YAAYA,EAAE,YAAY,YAAYA,EAAE,WAAW,EAAE,GAAGA,EAAE,gBAAgB,OAAOI,EAAE,eAAeJ,EAAE,gBAAgBA,EAAE,iBAAiB,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,MAAM,uDAAuD,EAAE,GAAG,CAACE,EAAE,MAAM,IAAI,MAAM,sDAAsD,EAAEE,EAAE,YAAY,EAAEA,EAAE,WAAWF,CAAC,CAAC,OAAOF,EAAE,WAAW,OAAOI,EAAE,UAAUJ,EAAE,WAAWA,EAAE,qBAAqB,OAAOI,EAAE,oBAAoBJ,EAAE,qBAAqBA,EAAE,kBAAkB,OAAOI,EAAE,iBAAiBJ,EAAE,kBAAkBA,EAAE,sBAAsB,OAAOI,EAAE,qBAAqBJ,EAAE,sBAAsBI,CAAC,CAAC,eAAe+jB,GAAGnkB,EAAE,EAAE,CAAC,IAAIE,EAAEE,EAAE,OAAOJ,EAAE,iBAAiB,OAAO,CAACE,EAAEE,CAAC,EAAE,MAAM,EAAEJ,EAAE,eAAe,GAAGkkB,GAAGlkB,EAAEE,EAAEE,CAAC,CAAC,CAAC,SAASgkB,GAAGpkB,EAAE,CAAC,GAAGA,EAAE,yBAAyB,YAAY,MAAM,IAAI,MAAM,qDAAqD,EAAE,MAAM,CAAC,UAAU,IAAI,KAAK,kBAAkB,OAAO,mBAAmBA,EAAE,eAAe,KAAK,EAAE4jB,GAAG,KAAK,UAAU5jB,EAAE,aAAa,CAAC,EAAE,iBAAiBA,EAAE,aAAa,KAAK,EAAE4jB,GAAG,KAAK,UAAU5jB,EAAE,WAAW,CAAC,EAAE,gBAAgBA,EAAE,YAAY,KAAK,EAAE,IAAI+iB,GAAG/iB,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,SAASqkB,GAAGrkB,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQE,KAAKF,EAAE,EAAE,KAAK,GAAGE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,SAASokB,IAAI,CAAC,IAAItkB,EAAEE,GAAG,CAAC,IAAIE,EAAEF,GAAG,GAAGG,EAAE,EAAE,KAAK,EAAED,EAAE,UAAUC,GAAG,QAAQD,IAAI,EAAE,OAAOA,GAAG,SAASC,GAAG,UAAUD,EAAEC,CAAC,EAAE,EAAE,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQH,EAAE,EAAEA,EAAE,KAAKA,IAAI,EAAEA,CAAC,EAAEF,EAAEE,CAAC,EAAE,QAAQA,EAAE,KAAKA,EAAE,KAAKA,IAAI,EAAEA,CAAC,EAAE,WAAWA,EAAE,MAAM,IAAI,OAAO,CAAC,CAAC,SAASqkB,IAAI,CAAC,IAAIvkB,EAAE,IAAI,YAAY,EAAE,EAAEA,EAAE,CAAC,EAAE,EAAEA,EAAE,EAAE,EAAE,WAAWA,EAAE,EAAE,EAAE,WAAWA,EAAE,EAAE,EAAE,WAAW,QAAQ,EAAE,EAAE,EAAE,GAAG,IAAIA,EAAE,CAAC,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAIA,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,IAAI,OAAOA,CAAC,CAAC,SAASwkB,IAAI,CAAC,IAAIxkB,EAAE,IAAI,YAAY,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,IAAIA,EAAE,CAAC,EAAE,KAAK,OAAOA,EAAE,CAAC,EAAEA,EAAE,EAAE,EAAE,EAAEA,CAAC,CAAC,SAASwjB,IAAI,CAAC,IAAIxjB,EAAEskB,GAAG,EAAE,EAAEC,GAAG,EAAErkB,EAAEskB,GAAG,EAAE,OAAOpkB,GAAG,CAAC,IAAIC,EAAE,IAAI,YAAY,EAAED,EAAE,MAAM,EAAE,EAAE,IAAI,YAAYC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAED,EAAE,OAAO,IAAI,CAAC,IAAI2B,EAAE3B,EAAE,CAAC,EAAE4B,EAAEhC,EAAEE,EAAE6B,GAAG,EAAE,GAAGA,EAAE,KAAK,EAAE,EAAEA,GAAG,EAAE,EAAE,EAAE,CAAC,EAAEC,CAAC,CAAC,OAAO,IAAI,aAAa3B,CAAC,CAAC,CAAC,CAAC,IAAIokB,GAAG,MAAMzkB,EAAC,CAAC,aAAa,CAAC,KAAK,YAAY,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,aAAa,CAAC,OAAOA,GAAE,UAAU,OAAOA,GAAE,SAAS,IAAIA,IAAGA,GAAE,QAAQ,CAAC,OAAO,mBAAmB,EAAE,CAACA,GAAE,YAAY,EAAE,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,mBAAmB,EAAE,CAACA,GAAE,YAAY,EAAE,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,gBAAgB,EAAE,CAAC,OAAOA,GAAE,YAAY,EAAE,MAAM,CAAC,CAAC,OAAO,gBAAgB,EAAEE,EAAE,CAAC,OAAOF,GAAE,YAAY,EAAE,OAAOE,CAAC,CAAC,CAAC,OAAO,YAAY,EAAEA,EAAEE,EAAE,CAAC,IAAIC,EAAE,CAAC,EAAE,OAAOH,IAAI,OAAOF,GAAE,YAAY,EAAE,YAAYA,GAAE,YAAY,EAAE,aAAa,QAAQ8B,GAAG,CAAC,IAAIC,EAAED,EAAE,EAAE1B,CAAC,EAAE2B,IAAI,MAAM1B,EAAE,KAAK0B,CAAC,CAAC,CAAC,EAAE1B,CAAC,CAAC,EAAEqkB,GAAG1kB,GAAGykB,GAAG,mBAAmBzkB,CAAC,EAAE2kB,GAAG3kB,GAAGykB,GAAG,mBAAmBzkB,CAAC,EAAE4kB,GAAG5kB,GAAGykB,GAAG,gBAAgBzkB,CAAC,EAAE6kB,GAAG,CAAC7kB,EAAE,IAAIykB,GAAG,gBAAgBzkB,EAAE,CAAC,EAAM8kB,GAAG,eAAeC,GAAG,EAAEC,GAAG,eAAeC,GAAG,mBAAmB,SAASC,IAAI,CAAC,GAAG,CAAC1zB,EAAE,EAAE,QAAQ,YAAY,EAAE,MAAM,IAAI,MAAM,yFAAyF,EAAE,IAAIwO,EAAE,OAAO,QAAQ,YAAY,KAAK,OAAO,EAAEA,EAAE,WAAWA,EAAE,cAAcA,EAAE,iBAAiBA,EAAE,aAAaA,EAAE,cAAc,GAAG,GAAG,KAAK,MAAM,IAAI,MAAM,2DAA2D,EAAE,OAAO,CAAC,CAAC,SAASmlB,GAAGnlB,EAAE,CAAC,IAAI,EAAEA,EAAE,OAAO,EAAE,kBAAkBglB,GAAG,CAAC,QAAQ,WAAW,CAAC,EAAE,EAAE,kBAAkBC,GAAG,CAAC,QAAQ,WAAW,CAAC,CAAC,CAAC,IAAIG,GAAG,KAAK,CAAC,YAAYxkB,EAAE,CAAC,GAAG,KAAK,UAAUskB,GAAG,EAAEtkB,GAAG,MAAM,CAACA,EAAE,MAAM,IAAI,MAAM,gEAAgE,EAAE,KAAK,UAAUA,CAAC,CAAC,MAAM,KAAKA,EAAE,CAAC,GAAGA,EAAE,yBAAyB,YAAY,MAAM,IAAI,MAAM,0FAA0F,EAAE,OAAO,KAAK,eAAe,KAAK,UAAUA,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,KAAK,eAAe,KAAK,SAAS,CAAC,CAAC,eAAeA,EAAEV,EAAE,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAEG,IAAI,CAAC,IAAIwB,EAAE,KAAK,UAAU,KAAKijB,GAAGC,EAAE,EAAEljB,EAAE,gBAAgB,IAAIsjB,GAAGtjB,CAAC,EAAEA,EAAE,UAAU,IAAI,CAAC,IAAIC,EAAED,EAAE,OAAO,GAAG3B,GAAG,KAAK,CAAC,IAAI6B,EAAED,EAAE,YAAYkjB,GAAG,UAAU,EAAE/iB,EAAEF,EAAE,YAAYijB,EAAE,EAAE,IAAI,KAAK,SAAS,EAAE/iB,EAAE,UAAU,IAAI,CAAC,GAAGA,EAAE,QAAQ,KAAK,OAAOH,EAAE,MAAM,EAAEzB,EAAE,IAAI,MAAM,gCAAgC,KAAK,SAAS,iBAAiB,CAAC,EAAE,EAAE4B,EAAE,OAAO,cAAc,CAAC,EAAEA,EAAE,QAAQS,IAAIZ,EAAE,MAAM,EAAEzB,EAAE4B,EAAE,KAAK,GAAGF,EAAE,WAAW,IAAID,EAAE,MAAM,CAAC,KAAK,CAAC5B,EAAE,WAAW6iB,GAAG,KAAK7iB,EAAE,UAAU,EAAE,IAAI6B,EAAEqiB,GAAGlkB,CAAC,EAAE8B,EAAEF,EAAE,YAAYmjB,GAAG,WAAW,EAAE,EAAEjjB,EAAE,YAAYijB,EAAE,EAAEviB,EAAE,GAAG,CAACA,EAAE,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,mBAAmBX,CAAC,CAAC,CAAC,OAAOa,EAAE,CAAC,OAAOvC,EAAEuC,CAAC,CAAC,CAAC,IAAI,EAAEF,EAAE,UAAU,IAAI,CAAC,EAAEZ,EAAE,YAAYkjB,GAAG,WAAW,EAAE,IAAIpiB,EAAE,EAAE,YAAYoiB,EAAE,EAAEniB,EAAE,GAAG,CAACA,EAAED,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,eAAe1C,EAAE,mBAAmB6B,CAAC,CAAC,CAAC,OAAOe,EAAE,CAAC,OAAOzC,EAAEyC,CAAC,CAAC,CAACD,EAAE,UAAU,IAAI,EAAE,CAAC,mBAAmBd,CAAC,CAAC,EAAEc,EAAE,QAAQC,GAAG,CAAC,EAAEd,EAAE,YAAYijB,EAAE,EAAE,IAAIjhB,EAAE,EAAE,OAAO,KAAK,SAAS,EAAEA,EAAE,UAAU,KAAKlC,EAAE,MAAM,EAAEzB,EAAEwC,EAAE,KAAK,GAAGmB,EAAE,QAAQC,IAAInC,EAAE,MAAM,EAAEzB,EAAEwC,EAAE,KAAK,EAAE,CAAC,EAAEH,EAAE,QAAQE,IAAId,EAAE,MAAM,EAAEzB,EAAEqC,EAAE,KAAK,GAAGV,EAAE,WAAW,IAAI,CAAC,GAAG,KAAKF,EAAE,MAAM,EAAE,EAAE,WAAW,IAAIA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAED,EAAE,QAAQC,GAAGzB,EAAEwB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAEujB,GAAG,WAAW,eAAe,IAAIC,GAAGrlB,GAAGxO,EAAE,EAAE,QAAQ,YAAY,GAAG,CAAC,MAAM,QAAQwO,CAAC,GAAGA,EAAE,WAAWolB,GAAG,UAAU,EAAEE,GAAGtlB,EAAE,MAAMolB,GAAG,WAAW,MAAM,CAAC,EAAE,KAAKX,GAAG,mBAAmBY,EAAE,EAAEZ,GAAG,mBAAmBY,EAAE,EAAE,SAASC,GAAGtlB,EAAE,CAAC,OAAO,IAAIolB,GAAGplB,CAAC,CAAC,CAAC,SAASulB,GAAGvlB,EAAE,CAAC,OAAOA,EAAE,WAAWolB,GAAG,UAAU,EAAEplB,EAAE,MAAMolB,GAAG,WAAW,MAAM,EAAEplB,CAAC,CAAC,IAAIwlB,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,UAAUN,GAAG,CAAC,CAAC,MAAM,YAAY,CAAC,OAAO,IAAI,QAAQ,CAACtkB,EAAEV,IAAI,CAAC,IAAI,EAAE,KAAK,UAAU,KAAK4kB,GAAGC,EAAE,EAAE,EAAE,gBAAgB,IAAII,GAAG,CAAC,EAAE,EAAE,UAAU,IAAI,CAAC,IAAI9kB,EAAE,EAAE,OAAOwB,EAAExB,EAAE,YAAY4kB,GAAG,UAAU,EAAEljB,EAAEF,EAAE,YAAYojB,EAAE,EAAE,OAAO,EAAEljB,EAAE,UAAU,IAAI,CAAC,IAAIC,EAAE,CAAC,EAAE,QAAQC,KAAKF,EAAE,OAAOC,EAAEC,EAAE,SAAS,EAAEA,EAAE,mBAAmBrB,EAAEoB,CAAC,CAAC,EAAED,EAAE,QAAQC,IAAI3B,EAAE,MAAM,EAAEH,EAAE6B,EAAE,KAAK,GAAGF,EAAE,WAAW,IAAIxB,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQA,GAAGH,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,YAAYU,EAAE,CAAC,OAAOA,EAAE2kB,GAAG3kB,CAAC,EAAE,IAAI,QAAQ,CAACV,EAAE,IAAI,CAAC,IAAIG,EAAE,KAAK,UAAU,KAAKykB,GAAGC,EAAE,EAAE1kB,EAAE,gBAAgB,IAAI8kB,GAAG9kB,CAAC,EAAEA,EAAE,UAAU,IAAI,CAAC,IAAIwB,EAAExB,EAAE,OAAOyB,EAAED,EAAE,YAAYojB,GAAG,WAAW,EAAEljB,EAAED,EAAE,YAAYmjB,EAAE,EAAEjjB,EAAED,EAAE,IAAInB,CAAC,EAAE,EAAEoB,EAAE,UAAU,IAAI,CAAC,GAAGA,EAAE,QAAQ,KAAK,OAAOH,EAAE,MAAM,EAAE,EAAE,IAAI,MAAM,gCAAgCjB,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI8B,EAAEX,EAAE,OAAOnB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAEiB,EAAE,YAAYmjB,GAAG,WAAW,EAAE,IAAIniB,EAAE,EAAE,YAAYmiB,EAAE,EAAE,OAAOpkB,CAAC,EAAEiC,EAAE,UAAU,IAAI3C,EAAE8B,EAAE,OAAO,kBAAkB,EAAEa,EAAE,QAAQC,GAAG,EAAEd,EAAE,KAAK,CAAC,EAAEU,EAAE,UAAU,EAAEA,EAAE,QAAQE,IAAI,EAAE,EAAEf,EAAE,MAAM,EAAE,EAAEG,EAAE,KAAK,EAAE,CAAC,EAAEA,EAAE,QAAQU,IAAIb,EAAE,MAAM,EAAE,EAAEG,EAAE,KAAK,GAAGF,EAAE,WAAW,IAAI,CAAC,GAAG,KAAKD,EAAE,MAAM,EAAE,EAAE,WAAW,IAAIA,EAAE,MAAM,CAAC,CAAC,EAAExB,EAAE,QAAQwB,GAAG,EAAExB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAMolB,GAAG,IAAIC,GAAG,sBAAsBC,GAAG,OAAOC,GAAG,iBAAiBC,GAAG,eAAeC,GAAG,cAAcC,GAAG,iBAAiB,SAASC,GAAGhmB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC0lB,GAAG1lB,EAAE2lB,EAAE,EAAE,KAAKF,EAAE,EAAE,SAAS,CAACC,GAAG1lB,EAAE4lB,EAAE,EAAE,KAAKH,EAAE,EAAE,YAAY,CAACC,GAAG1lB,EAAE6lB,EAAE,EAAE,KAAKJ,EAAE,EAAE,WAAW,CAACC,GAAG1lB,EAAE8lB,EAAE,EAAE,KAAKL,EAAE,EAAE,cAAc,CAACC,GAAG1lB,EAAE+lB,EAAE,EAAE,KAAKN,EAAE,CAAC,CAAC,CAAC,SAASQ,GAAGjmB,EAAE,CAAC,QAAQ,KAAK,OAAO,OAAOA,CAAC,EAAE,OAAO,aAAa,WAAW,CAAC,CAAC,CAAC,SAASkmB,GAAGlmB,EAAE,CAAC,IAAI,EAAEA,EAAE,MAAMylB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,uBAAuBzlB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,KAAKylB,EAAE,CAAC,CAAC,SAASU,GAAGnmB,EAAE,CAAC,OAAOA,EAAE,WAAWomB,GAAG,UAAU,EAAEpmB,EAAE,MAAMomB,GAAG,WAAW,MAAM,EAAEpmB,CAAC,CAAC,IAAIomB,GAAG,KAAK,CAAC,YAAYxlB,EAAE,CAAC,GAAG,CAACpP,EAAE,EAAE,QAAQ,YAAY,GAAG,OAAO,QAAQ,aAAa,OAAO,OAAO,cAAc,YAAY,MAAM,IAAI,MAAM,yDAAyD,EAAE,GAAG,KAAK,GAAG,OAAO,aAAaoP,GAAG,MAAM,CAACA,EAAE,MAAM,IAAI,MAAM,oEAAoE,EAAE,KAAK,UAAUA,EAAE,KAAK,KAAKolB,GAAG,KAAK,SAAS,CAAC,CAAC,MAAM,KAAKplB,EAAE,CAAC,GAAGA,EAAE,yBAAyB,YAAY,MAAM,IAAI,MAAM,0FAA0F,EAAE,CAAC,IAAIV,EAAE,KAAK,UAAUU,EAAE,aAAa,EAAE,EAAE,KAAK,UAAUA,EAAE,WAAW,EAAEP,EAAE+jB,GAAGxjB,CAAC,EAAEiB,EAAEkhB,GAAG,KAAKniB,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,GAAG,QAAQ,KAAK,KAAK,KAAK,KAAK,UAAUP,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,KAAK,KAAK,SAASH,CAAC,EAAE,KAAK,GAAG,QAAQ,KAAK,KAAK,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,KAAK,KAAK,WAAW2jB,GAAGhiB,CAAC,CAAC,EAAE,IAAIC,EAAE,CAAC,OAAOlB,EAAE,OAAO,YAAYA,EAAE,YAAY,YAAYA,EAAE,YAAY,UAAUA,EAAE,WAAW,KAAKA,EAAE,UAAU,OAAO,oBAAoBA,EAAE,qBAAqB,KAAKA,EAAE,oBAAoB,OAAO,iBAAiBA,EAAE,kBAAkB,KAAKA,EAAE,iBAAiB,OAAO,qBAAqBA,EAAE,sBAAsB,KAAKA,EAAE,qBAAqB,OAAO,eAAeA,EAAE,gBAAgB,KAAKA,EAAE,eAAe,MAAM,EAAE,OAAO,KAAK,GAAG,QAAQ,KAAK,KAAK,cAAc,KAAK,UAAUkB,CAAC,CAAC,EAAE,CAAC,mBAAmBzB,CAAC,CAAC,OAAOyB,EAAE,CAAC,MAAMmkB,GAAG,KAAK,IAAI,EAAE,IAAI,MAAM,yBAAyB,KAAK,SAAS,yGAAyG5lB,EAAE,kBAAkB,sBAAsBA,EAAE,gBAAgB,qBAAqBA,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAIO,EAAE,KAAK,MAAM,KAAK,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,EAAE,GAAGA,GAAG,KAAK,MAAM,IAAI,MAAM,kDAAkD,KAAK,SAAS,GAAG,EAAE,GAAGA,EAAE,oBAAoB,OAAO,MAAM,IAAI,MAAM,2EAA2E,EAAE,IAAIV,EAAE,CAAC,EAAE,EAAE,KAAK,MAAM,KAAK,GAAG,QAAQ,KAAK,KAAK,QAAQ,CAAC,EAAE,GAAG,GAAG,KAAK,MAAM,IAAI,MAAM,4CAA4C,KAAK,SAAS,eAAe,EAAEA,EAAE,cAAc,EAAE,IAAIG,EAAE,KAAK,MAAM,KAAK,GAAG,QAAQ,KAAK,KAAK,WAAW,CAAC,EAAE,GAAGA,GAAG,KAAK,MAAM,IAAI,MAAM,gDAAgD,KAAK,SAAS,gBAAgB,EAAEH,EAAE,YAAYG,EAAE,IAAIwB,EAAE,KAAK,GAAG,QAAQ,KAAK,KAAK,aAAa,EAAE,GAAGA,GAAG,KAAK,CAAC,IAAIE,EAAE,KAAK,MAAMF,CAAC,EAAE3B,EAAE,OAAO6B,EAAE,OAAO7B,EAAE,YAAY6B,EAAE,YAAY7B,EAAE,YAAY6B,EAAE,YAAYA,EAAE,WAAW,OAAO7B,EAAE,UAAU6B,EAAE,WAAWA,EAAE,qBAAqB,OAAO7B,EAAE,oBAAoB6B,EAAE,qBAAqBA,EAAE,kBAAkB,OAAO7B,EAAE,iBAAiB6B,EAAE,kBAAkBA,EAAE,sBAAsB,OAAO7B,EAAE,qBAAqB6B,EAAE,sBAAsBA,EAAE,gBAAgB,OAAO7B,EAAE,eAAe6B,EAAE,eAAe,CAAC,IAAID,EAAE,KAAK,GAAG,QAAQ,KAAK,KAAK,UAAU,EAAE,GAAGA,GAAG,KAAK,MAAM,IAAI,MAAM,wDAAwD,KAAK,SAAS,gBAAgB,EAAE,OAAO5B,EAAE,WAAW4jB,GAAGhiB,CAAC,EAAE5B,CAAC,CAAC,EAAEkmB,GAAG,WAAW,kBAAkB,IAAIC,GAAGrmB,GAAGxO,EAAE,EAAE,QAAQ,YAAY,GAAG,CAAC,MAAM,QAAQwO,CAAC,GAAGA,EAAE,WAAWomB,GAAG,UAAU,EAAEE,GAAGtmB,EAAE,MAAMomB,GAAG,WAAW,MAAM,CAAC,EAAE,KAAK3B,GAAG,mBAAmB4B,EAAE,EAAE5B,GAAG,mBAAmB4B,EAAE,EAAE,SAASC,GAAGtmB,EAAE,CAAC,OAAO,IAAIomB,GAAGpmB,CAAC,CAAC,CAAC,IAAIumB,GAAG,KAAK,CAAC,aAAa,CAACjM,EAAE9oB,EAAE,EAAE,QAAQ,YAAY,EAAE,IAAI,0CAA0C,EAAE8oB,EAAE,OAAO,QAAQ,aAAa,OAAO,OAAO,cAAc,YAAY,IAAI,yDAAyD,EAAE,KAAK,GAAG,OAAO,YAAY,CAAC,MAAM,YAAY,CAAC,IAAI1Z,EAAE,CAAC,EAAEV,EAAEwlB,GAAGD,GAAG,EAAEA,GAAGE,GAAG,QAAQtlB,EAAE,EAAEA,EAAE,KAAK,GAAG,OAAO,EAAEA,EAAE,CAAC,IAAIwB,EAAE,KAAK,GAAG,IAAIxB,CAAC,EAAE,GAAGwB,EAAE,WAAW3B,CAAC,GAAG2B,EAAE,SAAS,CAAC,EAAE,CAAC,IAAIC,EAAEokB,GAAGrkB,CAAC,EAAEjB,EAAEkB,CAAC,EAAE,KAAK,MAAM,KAAK,GAAG,QAAQD,CAAC,CAAC,CAAC,CAAC,CAAC,OAAOjB,CAAC,CAAC,MAAM,YAAYA,EAAE,CAACA,EAAEulB,GAAGvlB,CAAC,EAAE,IAAIV,EAAE8lB,GAAGplB,CAAC,EAAE,GAAG,KAAK,GAAG,QAAQV,EAAE,IAAI,GAAG,KAAK,MAAM,IAAI,MAAM,8BAA8BU,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,MAAM,KAAK,GAAG,QAAQV,EAAE,IAAI,CAAC,EAAE,OAAO+lB,GAAG/lB,CAAC,EAAE,CAAC,CAAC,EAAMsmB,GAAG,MAAMC,GAAG,MAAMzmB,EAAC,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,aAAa,CAAC,OAAOA,GAAE,UAAU,OAAOA,GAAE,SAAS,IAAIA,IAAGA,GAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAEE,EAAE,CAACoa,EAAE,GAAG,KAAK,IAAI,uCAAuC,EAAE,EAAE,SAASkM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQA,EAAE,CAAC,GAAGlM,EAAE,EAAE,OAAO,EAAE,IAAI,qCAAqC,EAAE,IAAIla,EAAEJ,GAAE,YAAY,EAAEsa,EAAEla,EAAE,SAAS,CAAC,GAAG,KAAK,IAAI,2DAA2D,CAAC,IAAI,EAAEA,EAAE,SAAS,CAAC,EAAEF,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,IAAIA,EAAEF,GAAE,YAAY,EAAE,SAAS,CAAC,EAAE,GAAGE,GAAG,KAAK,MAAM,IAAI,MAAM,yCAAyC,CAAC,GAAG,EAAE,OAAOA,CAAC,CAAC,OAAO,YAAY,CAAC,OAAO,OAAO,KAAKF,GAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS0mB,GAAG1mB,EAAE,CAAC,GAAGA,EAAE,QAAQwmB,EAAE,IAAI,GAAG,MAAM,IAAI,MAAM,6EAA6EC,GAAG,WAAW,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,OAAOzmB,EAAE,MAAMwmB,EAAE,EAAE,CAAC,EAAE,KAAKxmB,EAAE,MAAMwmB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,eAAeG,GAAG3mB,EAAE,EAAEE,EAAE,GAAG,CAACoa,EAAEta,IAAI,EAAE,IAAI,wCAAwCA,CAAC,GAAG,EAAE,IAAII,EAAEqkB,GAAG,gBAAgBzkB,CAAC,EAAEsa,EAAEla,EAAE,OAAO,EAAE,IAAI,kEAAkEJ,CAAC,GAAG,EAAEsa,EAAEla,EAAE,OAAO,EAAE,IAAI,yCAAyCA,EAAE,MAAM,kCAAkCJ,CAAC,GAAG,EAAE,IAAIK,EAAED,EAAE,CAAC,EAAE,EAAEqkB,GAAG,gBAAgB,CAAC,EAAEnK,EAAE,EAAE,OAAO,EAAE,IAAI,uEAAuE,CAAC,GAAG,EAAEA,EAAE,EAAE,OAAO,EAAE,IAAI,yCAAyCla,EAAE,MAAM,uCAAuC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE2B,EAAE2kB,GAAG1mB,CAAC,EAAE,OAAOgC,EAAE0kB,GAAG1mB,CAAC,EAAE,KAAKiC,EAAEF,IAAI2kB,GAAG1mB,CAAC,EAAE,OAAO0C,EAAE,MAAMrC,EAAE,KAAK,EAAEH,GAAG+B,GAAG,MAAMwkB,GAAG,WAAW1kB,CAAC,EAAE,YAAYC,CAAC,EAAE,IAAIW,EAAE,MAAM,EAAE,KAAKD,CAAC,EAAE,OAAOxC,GAAG,CAAC+B,GAAG,MAAMwkB,GAAG,WAAW1kB,CAAC,EAAE,YAAYC,CAAC,EAAEW,EAAE,kBAAkB,CAAC,eAAeikB,IAAI,CAAC,IAAI5mB,EAAEymB,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,QAAQvmB,KAAKF,EAAE,CAAC,IAAII,EAAE,MAAMqmB,GAAG,WAAWvmB,CAAC,EAAE,WAAW,EAAE,QAAQG,KAAKD,EAAE,CAAC,IAAI,EAAEF,EAAEsmB,GAAGnmB,EAAE,EAAE,CAAC,EAAED,EAAEC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,eAAewmB,GAAG7mB,EAAE,CAAC,IAAI,EAAE0mB,GAAG1mB,CAAC,EAAE,OAAOymB,GAAG,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,eAAeK,GAAG9mB,EAAE,EAAE,CAAC,OAAO2mB,GAAG3mB,EAAE,EAAE,EAAE,CAAC,CAAC,eAAe+mB,GAAG/mB,EAAE,EAAE,CAAC,OAAO2mB,GAAG3mB,EAAE,EAAE,EAAE,CAAC,CAAC,IAAIgnB,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,YAAY,mBAAmB,KAAK,aAAa,CAAC,EAAE,KAAK,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,CAAC,MAAMpmB,EAAEV,EAAE,CAAC,OAAO,MAAMU,EAAEV,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,IAAI,CAAC,CAAC,OAAOU,EAAEV,EAAE,CAAC,GAAGA,IAAI,SAASA,IAAI,OAAO,MAAM,IAAI,MAAM,kDAAkDA,CAAC,EAAE,EAAE,OAAO,KAAK,aAAa,OAAO,KAAK,YAAY,IAAI,aAAa,KAAK,YAAY,OAAOU,CAAC,CAAC,CAAC,OAAOA,EAAEV,EAAE,CAAC,OAAO,IAAI,YAAYA,CAAC,EAAE,OAAOU,CAAC,CAAC,CAAC,iBAAiBA,EAAEV,EAAE,CAAC,GAAG,OAAO,QAAQ,aAAa,CAAC1O,EAAE,EAAE,QAAQ,sBAAsB,EAAE,CAAC,WAAWoP,EAAEV,CAAC,EAAE,MAAM,CAAC,KAAK,aAAa,KAAKU,CAAC,EAAE,WAAW,IAAI,CAAC,OAAO,YAAY,CAAC,KAAK,KAAK,YAAY,MAAM,KAAK,aAAa,OAAO,CAAC,EAAE,GAAG,CAAC,EAAEV,CAAC,EAAE,KAAK,mBAAmB,KAAK,iBAAiB,GAAG,OAAO,iBAAiB,UAAU,GAAG,CAAC,GAAG,EAAE,SAAS,QAAQ,EAAE,KAAK,OAAO,KAAK,YAAY,CAAC,EAAE,gBAAgB,EAAE,IAAIG,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAEA,EAAE,EAAE,KAAK,sBAAsB,KAAK,sBAAsB,KAAK,aAAa,SAAS,KAAK,aAAa,CAAC,EAAE,KAAK,oBAAoB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,aAAaO,EAAE,CAAC,OAAO0d,GAAG1d,CAAC,CAAC,CAAC,EAAE,GAAGpP,EAAE,EAAE,IAAI,YAAY,EAAE,CAACA,EAAE,EAAE,YAAY,UAAU,IAAIw1B,EAAE,EAAE,GAAG,CAACP,GAAG,gBAAgBL,GAAG,WAAW,IAAIG,EAAE,CAAC,OAAOvmB,EAAE,CAAC,CAAC,GAAG,CAACymB,GAAG,gBAAgBrB,GAAG,WAAW,IAAII,EAAE,CAAC,OAAOxlB,EAAE,CAAC,CAAC,CAAC,IAAIinB,GAAG,CAAC,YAAY,IAAIlkB,GAAG,CAAC,EAAEmkB,GAAOC,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,KAAKnkB,GAAG,EAAE,KAAK,YAAY,IAAI,KAAK,KAAK,WAAW,CAAC,MAAMpC,EAAEV,EAAE,CAAC,OAAO1O,EAAE,EAAE,OAAO,OAAO,KAAKA,EAAE,EAAE,OAAO,MAAMoP,EAAEV,CAAC,GAAGgnB,IAAI,OAAOA,GAAGD,GAAG,YAAY,GAAGC,GAAGtmB,EAAEV,CAAC,EAAE,CAAC,KAAK,CAAC,IAAIU,EAAE,QAAQ,OAAO,EAAE,OAAOA,EAAE,CAAC,EAAE,IAAIA,EAAE,CAAC,EAAE,GAAG,CAAC,OAAOA,EAAEV,EAAE,CAAC,GAAGA,IAAI,SAASA,IAAI,OAAO,MAAM,IAAI,MAAM,sDAAsDA,CAAC,EAAE,EAAE,OAAO,KAAK,YAAY,OAAOU,CAAC,CAAC,CAAC,OAAOA,EAAEV,EAAE,CAAC,OAAOU,EAAE,SAAS,EAAE,GAAG,IAAI,KAAK,KAAK,YAAYV,CAAC,EAAE,OAAOU,CAAC,CAAC,CAAC,aAAaA,EAAE,CAAC,OAAO,KAAK,KAAK,MAAM,eAAeA,CAAC,GAAG,KAAK,KAAK,MAAM,aAAaA,CAAC,GAAG,KAAK,KAAK,MAAM,aAAaA,CAAC,GAAG,KAAK,KAAK,MAAM,oBAAoBA,CAAC,CAAC,CAAC,EAAEpP,EAAE,EAAE,IAAI,SAAS,GAAG,CAACA,EAAE,EAAE,IAAI,YAAY,GAAGA,EAAE,EAAE,YAAY,OAAO,IAAI21B,EAAE,EAAE,SAAS34B,GAAGwR,EAAE,EAAE,UAAUE,EAAE,CAAC,OAAO,EAAE,GAAG,UAAUwc,GAAG1c,CAAC,EAAE,IAAInU,GAAGmU,EAAE,EAAEE,CAAC,CAAC,CAAC,SAASknB,GAAGpnB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,EAAE,GAAG,CAACyb,GAAG,CAAC,EAAE,MAAM,IAAI,MAAM,mCAAmC,CAAC,EAAE,EAAE,GAAG,IAAI,UAAUvb,EAAE,QAAQ,UAAU,IAAI,UAAUA,EAAE,QAAQ,SAAS,MAAM,IAAI,MAAM,uCAAuC,EAAE,IAAIE,EAAE,CAAC,EAAEF,CAAC,EAAEG,EAAE,CAAC,MAAM,CAAC,EAAE,OAAOwhB,EAAE,UAAU3gC,GAAGkf,EAAEC,CAAC,CAAC,CAAC,IAAI3R,GAAE0I,EAAE,CAAC,MAAMgwB,EAAE,CAAC,EAAE,SAASC,GAAGrnB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,QAAQ,mBAAmB,CAAC,EAAE,OAAO6hB,EAAE,UAAUl9B,GAAGub,CAAC,CAAC,CAAC,IAAIrR,GAAGuI,EAAE,CAAC,OAAOiwB,EAAE,CAAC,EAAE,SAASvvB,GAAGkI,EAAE,EAAE,GAAG,CAAC,QAAQ,IAAIA,EAAE,SAAS,CAAC,CAAC,CAAC,CAACgiB,GAAG,EAAE,IAAIsF,GAAG,CAAC,OAAO94B,GAAG,KAAKE,GAAE,MAAMG,GAAG,MAAMiJ,EAAE,EAAE4oB,GAAG4G,EAAE,EAAE,SAASC,GAAGvnB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,KAAK,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,KAAK,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAUniC,GAAG2gB,CAAC,CAAC,CAAC,IAAI,EAAEjJ,EAAE,CAAC,KAAKmwB,EAAE,CAAC,EAAE,SAASC,GAAGxnB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,UAAU,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,UAAU,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAU/9B,GAAGuc,CAAC,CAAC,CAAC,IAAIhO,GAAG+E,EAAE,CAAC,UAAUowB,EAAE,CAAC,EAAE,SAASC,GAAGznB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,KAAK,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,KAAK,EAAE,GAAG,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAEF,EAAE,QAAQ,SAASE,EAAE,QAAQ,QAAQ,OAAO/N,GAAG6N,EAAEE,CAAC,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,EAAE,CAAC,EAAE,OAAOyhB,EAAE,UAAUj5B,GAAGyX,EAAE,CAAC,CAAC,CAAC,IAAIxP,GAAGuG,EAAE,CAAC,KAAKqwB,EAAE,CAAC,EAAE,SAASC,GAAG1nB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,KAAK,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,KAAK,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAU16B,GAAGkZ,CAAC,CAAC,CAAC,IAAI3J,EAAEU,EAAE,CAAC,KAAKswB,EAAE,CAAC,EAAE,SAASC,GAAG3nB,EAAE,CAAC,IAAI,EAAE0iB,EAAE1iB,EAAE,IAAI,KAAK,EAAE,GAAG,EAAE,QAAQ,YAAY,CAAC,IAAIE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO2hB,EAAE,UAAUvgC,GAAG4e,CAAC,CAAC,KAAK,CAAC,IAAIA,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO2hB,EAAE,UAAU1iC,GAAG+gB,CAAC,CAAC,CAAC,CAAC,IAAIxT,GAAG0K,EAAE,CAAC,KAAKuwB,EAAE,CAAC,EAAE,SAASC,GAAG5nB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,CAAC,EAAE,OAAO6hB,EAAE,UAAUziC,GAAG8gB,CAAC,CAAC,CAAC,IAAIvT,GAAGyK,EAAE,CAAC,MAAMwwB,EAAE,CAAC,EAAE,SAASC,GAAG7nB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,CAAC,EAAE,OAAO6hB,EAAE,UAAUxiC,GAAG6gB,CAAC,CAAC,CAAC,IAAItT,GAAGwK,EAAE,CAAC,OAAOywB,EAAE,CAAC,EAAE,SAASC,GAAG9nB,EAAE,CAACsa,EAAE,MAAM,QAAQta,CAAC,EAAE,IAAI,4DAA4D,EAAEsa,EAAEta,EAAE,QAAQ,EAAE,IAAI,uDAAuDA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAEA,EAAE,IAAI,CAACK,EAAE,IAAIqiB,EAAEriB,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,EAAEH,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQG,GAAG,CAAC,GAAGA,EAAE,QAAQH,EAAE,MAAM,MAAM,IAAI,MAAM,0DAA0D,CAAC,CAAC,EAAE,EAAE,QAAQG,GAAG,CAAC,GAAG,CAACma,GAAGna,EAAE,MAAMH,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM,0DAA0D,CAAC,CAAC,EAAE,IAAIE,EAAE,EAAE,OAAOyhB,EAAE,UAAUliC,GAAGygB,CAAC,CAAC,CAAC,IAAIvT,GAAGuK,EAAE,CAAC,MAAM0wB,EAAE,CAAC,EAAE,SAASC,GAAG/nB,EAAE,EAAE,KAAKE,EAAE,GAAG,CAAC,IAAIG,EAAE,CAAC,EAAEqiB,EAAE1iB,EAAE,IAAI,MAAM,MAAM,CAAC,EAAE6B,EAAE,CAAC,KAAK,EAAE,SAAS3B,CAAC,EAAE,OAAO2hB,EAAE,UAAUjiC,GAAGygB,EAAEwB,CAAC,CAAC,CAAC,IAAI/U,GAAGsK,EAAE,CAAC,KAAK2wB,EAAE,CAAC,EAAE,SAASC,GAAGhoB,EAAE,EAAE,KAAKE,EAAE,GAAG,CAAC,IAAIG,EAAE,CAAC,EAAEqiB,EAAE1iB,EAAE,IAAI,MAAM,MAAM,CAAC,EAAE6B,EAAE,CAAC,KAAK,EAAE,SAAS3B,CAAC,EAAE,OAAO2hB,EAAE,UAAUhiC,GAAGwgB,EAAEwB,CAAC,CAAC,CAAC,IAAI9U,GAAGqK,EAAE,CAAC,KAAK4wB,EAAE,CAAC,EAAE,SAASC,GAAGjoB,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE0iB,EAAE1iB,EAAE,IAAI,QAAQ,CAAC,EAAEK,EAAE,CAAC,KAAK,CAAC,EAAE,OAAOwhB,EAAE,UAAU/hC,GAAG,EAAEugB,CAAC,CAAC,CAAC,IAAIrT,GAAGoK,EAAE,CAAC,QAAQ6wB,EAAE,CAAC,EAAE,SAASC,GAAGloB,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE0iB,EAAE1iB,EAAE,IAAI,QAAQ,CAAC,EAAEK,EAAE,CAAC,KAAK,CAAC,EAAE,OAAOwhB,EAAE,UAAU9hC,GAAG,EAAEsgB,CAAC,CAAC,CAAC,IAAIpT,GAAGmK,EAAE,CAAC,QAAQ8wB,EAAE,CAAC,EAAE,SAASC,GAAGnoB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,CAAC,EAAE,OAAO6hB,EAAE,UAAU7hC,GAAGkgB,CAAC,CAAC,CAAC,IAAIhT,GAAGkK,EAAE,CAAC,MAAM+wB,EAAE,CAAC,EAAE,SAASC,GAAGpoB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,CAAC,EAAE,OAAO6hB,EAAE,UAAU5hC,GAAGigB,CAAC,CAAC,CAAC,IAAI/S,GAAGiK,EAAE,CAAC,OAAOgxB,EAAE,CAAC,EAAE,SAASC,GAAGroB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,CAAC,EAAE,OAAO6hB,EAAE,UAAU3hC,GAAGggB,CAAC,CAAC,CAAC,IAAI9S,GAAGgK,EAAE,CAAC,MAAMixB,EAAE,CAAC,EAAE,SAASC,GAAGtoB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,OAAO,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAU1hC,GAAGkgB,CAAC,CAAC,CAAC,IAAIhT,GAAG+J,EAAE,CAAC,OAAOkxB,EAAE,CAAC,EAAE,SAASC,GAAGvoB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,CAAC,EAAE,OAAO6hB,EAAE,UAAUzhC,GAAG8f,CAAC,CAAC,CAAC,IAAI5S,GAAG8J,EAAE,CAAC,OAAOmxB,EAAE,CAAC,EAAE,SAASC,GAAGxoB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAEL,EAAE,CAAC,EAAE+B,EAAE,CAAC,GAAG,EAAE,CAAC,EAAEC,EAAEymB,GAAGpoB,CAAC,EAAE,OAAOqoB,GAAG1oB,EAAE+B,EAAE7B,EAAE,EAAEE,EAAE,KAAK,KAAK4B,CAAC,CAAC,CAAC,SAAS2mB,GAAG3oB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC0B,EAAEC,CAAC,EAAE4mB,GAAG,CAAC,EAAE3mB,EAAE,GAAG,IAAI,eAAeA,EAAE,CAACF,EAAEC,EAAEhC,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,UAAU,IAAI,gBAAgBiC,EAAE,CAACF,EAAEC,EAAEhC,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,MAAO,OAAM,IAAI,MAAM,sBAAsB,CAAC,EAAE,EAAE,OAAO0oB,GAAG1oB,EAAEiC,EAAE/B,EAAEE,EAAEC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,SAASwoB,GAAG7oB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC0B,EAAEC,EAAEC,CAAC,EAAE6mB,GAAG,CAAC,EAAEpmB,EAAEC,EAAE,GAAG,IAAI,QAAQA,EAAE,eAAeD,EAAE,CAACX,EAAEC,EAAEC,EAAEjC,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,UAAU,IAAI,QAAQ2C,EAAE,gBAAgBD,EAAE,CAACX,EAAEC,EAAEC,EAAEjC,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,MAAO,OAAM,IAAI,MAAM,sBAAsB,CAAC,EAAE,EAAE,OAAO+oB,GAAG/oB,EAAE0C,EAAExC,EAAEE,EAAEC,EAAE,GAAGsC,EAAE,CAAC,CAAC,CAAC,SAAS+lB,GAAG1oB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE,GAAG0B,EAAE,eAAe,CAAC,GAAG,CAACC,EAAEC,EAAES,EAAEC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,GAAGZ,IAAI,eAAe,CAACC,EAAEC,EAAES,EAAEC,CAAC,EAAE3C,UAAU+B,IAAI,gBAAgB,CAACC,EAAEW,EAAEV,EAAES,CAAC,EAAE1C,MAAO,OAAM,IAAI,MAAM,sBAAsB+B,CAAC,EAAE,EAAE,GAAG,CAACa,EAAEC,EAAE,CAACC,CAAC,EAAE,EAAE,CAACkB,EAAE,CAAC,EAAE4kB,GAAG1oB,CAAC,EAAE,CAACoH,EAAExC,CAAC,EAAE8jB,GAAGxoB,CAAC,EAAEqE,EAAEukB,GAAGpmB,EAAE0E,CAAC,EAAE5C,EAAEskB,GAAGnmB,EAAEiC,CAAC,EAAE,CAAC,QAAQH,EAAE,UAAUC,EAAE,SAASC,CAAC,EAAEokB,GAAG5oB,EAAE4B,EAAES,EAAEsB,EAAE,EAAES,EAAEC,EAAE,EAAE3C,CAAC,EAAEwF,EAAE,EAAEzE,EAAEH,EAAEG,EAAE,EAAE,OAAOf,IAAI,gBAAgB,EAAE,CAACC,EAAEuF,EAAE3C,EAAEC,CAAC,EAAE9C,IAAI,iBAAiB,EAAE,CAACC,EAAE4C,EAAEC,EAAE0C,CAAC,GAAG,CAAC,UAAUvF,EAAE,WAAWD,EAAE,SAASE,EAAE,QAAQS,EAAE,WAAWC,EAAE,UAAUiC,EAAE,SAASC,EAAE,YAAY0C,EAAE,QAAQ5C,EAAE,aAAaX,EAAE,YAAY,EAAE,aAAapB,EAAE,YAAYC,EAAE,sBAAsB4B,EAAE,qBAAqBC,EAAE,eAAe4C,EAAE,cAAcxC,EAAE,QAAQ9E,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS+oB,GAAG/oB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,GAAG,EAAE,eAAe0B,EAAE,CAAC,GAAG,CAACC,EAAEC,EAAES,EAAEC,EAAEC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,eAAe,CAACZ,EAAEC,EAAES,EAAEC,EAAEC,CAAC,EAAE5C,UAAU,IAAI,gBAAgB,CAACgC,EAAEY,EAAEX,EAAES,EAAEC,CAAC,EAAE3C,MAAO,OAAM,IAAI,MAAM,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC6C,EAAEC,EAAEkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAACsD,EAAExC,EAAEL,CAAC,EAAEqkB,GAAG5oB,CAAC,EAAE,CAACwE,EAAEC,EAAEC,CAAC,EAAEkkB,GAAG1oB,CAAC,EAAEyE,EAAEmkB,GAAGnmB,EAAE6B,CAAC,EAAE6C,EAAEyhB,GAAGlmB,EAAE6B,CAAC,EAAE,EAAEqkB,GAAGhlB,EAAEY,CAAC,EAAE,CAAC,QAAQI,EAAE,SAASC,EAAE,UAAUC,EAAE,SAASC,CAAC,EAAE+jB,GAAG7oB,EAAE4B,EAAES,EAAEC,EAAE2E,EAAExC,EAAEL,EAAEI,EAAE0C,EAAE,EAAExF,CAAC,EAAEqD,EAAE,EAAE,EAAExC,EAAE,EAAEyC,EAAE,OAAO,IAAI,gBAAgBA,EAAE,CAACrD,EAAEoD,EAAEH,EAAEC,EAAEC,CAAC,EAAE,IAAI,iBAAiBE,EAAE,CAACrD,EAAEiD,EAAEC,EAAEC,EAAEC,CAAC,GAAG,CAAC,UAAUpD,EAAE,WAAW,EAAE,QAAQC,EAAE,SAASS,EAAE,QAAQC,EAAE,WAAWC,EAAE,SAASqC,EAAE,UAAUC,EAAE,SAASC,EAAE,YAAYC,EAAE,QAAQJ,EAAE,YAAYsC,EAAE,aAAaxC,EAAE,YAAYL,EAAE,YAAY5B,EAAE,aAAaC,EAAE,YAAYkB,EAAE,qBAAqBa,EAAE,sBAAsB0C,EAAE,qBAAqB,EAAE,cAAc7C,EAAE,eAAeC,EAAE,cAAcC,EAAE,QAAQ5E,EAAE,SAASqF,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS8jB,GAAGnpB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAACD,GAAG,OAAOA,EAAEgpB,GAAGppB,EAAE,EAAEE,CAAC,GAAG,IAAI,EAAEF,EAAE,CAAC,EAAE,EAAEA,EAAE,CAAC,EAAE+B,EAAEsnB,IAAI,EAAE,EAAE,EAAEjpB,GAAGF,EAAE,EAAEG,CAAC,EAAE2B,EAAEqnB,IAAI,EAAE,EAAE,EAAEjpB,GAAGF,EAAE,EAAEG,CAAC,EAAE,MAAM,CAAC0B,EAAEC,CAAC,CAAC,CAAC,SAASsnB,GAAGtpB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAACA,GAAG,OAAOA,EAAE+oB,GAAGppB,EAAE,EAAE,CAAC,EAAEI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,EAAEF,CAAC,EAAE,QAAQ6B,EAAE,EAAEA,EAAE,EAAEA,IAAI/B,EAAE+B,CAAC,EAAE,EAAE1B,GAAG,EAAE0B,CAAC,IAAI,EAAEA,CAAC,EAAEsnB,IAAIrpB,EAAE+B,CAAC,EAAE,EAAEA,CAAC,EAAE,EAAE1B,GAAGD,EAAE2B,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,SAASqnB,GAAGppB,EAAE,EAAEE,EAAEE,EAAE,EAAE,CAAC,IAAIC,EAAE2oB,GAAG,EAAE5oB,CAAC,EAAE,OAAO,KAAK,OAAOJ,EAAE,CAAC,GAAGE,EAAE,GAAGA,EAAEG,GAAG,CAAC,CAAC,CAAC,SAASuoB,GAAG5oB,EAAE,CAAC,OAAO,OAAOA,GAAG,SAAS,CAACA,EAAEA,EAAEA,CAAC,EAAEA,EAAE,SAAS,EAAE,CAACA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,CAAC,EAAEA,CAAC,CAAC,SAAS8oB,GAAG9oB,EAAE,CAAC,OAAO,OAAOA,GAAG,SAAS,CAACA,EAAEA,EAAEA,CAAC,EAAEA,CAAC,CAAC,SAASgpB,GAAGhpB,EAAE,EAAE,CAAC,OAAO,GAAG,EAAEA,EAAEA,GAAGA,EAAE,IAAI,EAAE,EAAE,CAAC,SAASipB,GAAGjpB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE0B,EAAEC,EAAE,CAAC,IAAIC,EAAES,EAAEC,EAAE,GAAG,OAAO3C,GAAG,SAAS,CAACiC,EAAE,CAAC,IAAIjC,EAAE,OAAOA,EAAE,KAAKA,EAAE,MAAMA,EAAE,KAAKA,IAAI,EAAE,QAAQ,QAAQ,EAAE,IAAI6C,EAAEsmB,GAAG,CAAC,EAAEjpB,CAAC,EAAE,EAAEE,EAAEJ,EAAE+B,CAAC,EAAEW,EAAEG,EAAE,CAAC,EAAEF,EAAEE,EAAE,CAAC,CAAC,SAAS7C,IAAI,OAAO,CAAC0C,EAAE,KAAK,KAAK,EAAEtC,CAAC,EAAEuC,EAAE,KAAK,KAAKzC,EAAEG,CAAC,EAAE,IAAIuC,EAAE,KAAK,IAAI,GAAGF,EAAE,GAAGtC,EAAE,EAAE,CAAC,EAAEyC,EAAE,KAAK,IAAI,GAAGF,EAAE,GAAGtC,EAAE,EAAEH,CAAC,EAAE4C,EAAE,KAAK,MAAMF,EAAE,CAAC,EAAEoB,EAAEpB,EAAEE,EAAE,EAAE,KAAK,MAAMD,EAAE,CAAC,EAAEyE,EAAEzE,EAAE,EAAEZ,EAAE,CAAC,IAAIa,EAAE,OAAOkB,EAAE,KAAK,EAAE,MAAMsD,EAAE,KAAK,MAAM,CAAC,SAAStH,IAAI,QAAQiC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,EAAES,EAAE,KAAK,MAAM,EAAE,EAAE,GAAGtC,CAAC,EAAEuC,EAAE,KAAK,MAAMzC,EAAE,EAAE,GAAGG,CAAC,UAAU,OAAOL,GAAG,SAAS,CAAC,IAAI4C,EAAEZ,IAAI,eAAehC,EAAE,CAAC,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,CAAC,EAAE6C,EAAEb,IAAI,eAAehC,EAAE,CAAC,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,CAAC,EAAE8C,EAAEd,IAAI,eAAehC,EAAE,CAAC,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,CAAC,EAAEgE,EAAEhC,IAAI,eAAehC,EAAE,CAAC,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,CAAC,EAAEiC,EAAE,CAAC,IAAIW,EAAE,OAAOC,EAAE,KAAKC,EAAE,MAAMkB,EAAE,KAAKpB,IAAI,GAAGC,IAAI,GAAGC,IAAI,GAAGkB,IAAI,EAAE,QAAQ,UAAU,EAAEtB,EAAE2mB,IAAI,EAAE,EAAEzmB,EAAEC,GAAGzC,EAAE,EAAE2B,CAAC,EAAEY,EAAE0mB,IAAInpB,EAAE,EAAE4C,EAAEkB,GAAG3D,EAAE,EAAE0B,CAAC,CAAC,KAAM,OAAM,MAAM,8BAA8B/B,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQiC,EAAE,UAAUS,EAAE,SAASC,CAAC,CAAC,CAAC,SAASumB,GAAGlpB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE0B,EAAEC,EAAEC,EAAES,EAAE,CAAC,IAAIC,EAAEC,EAAEC,EAAEC,EAAE,GAAG9C,IAAI,UAAUA,EAAE,GAAG,OAAOA,GAAG,SAAS,CAAC2C,EAAE,CAAC,IAAI3C,EAAE,OAAOA,EAAE,KAAKA,EAAE,MAAMA,EAAE,MAAMA,EAAE,KAAKA,EAAE,KAAKA,IAAI,EAAE,QAAQ,QAAQ,EAAE,IAAIiE,EAAEqlB,GAAG,CAAC,EAAEppB,EAAEE,EAAE,CAAC,EAAE,CAAC2B,EAAEC,EAAEC,CAAC,EAAE,EAAE,CAAC5B,EAAE,EAAE,CAAC,EAAEL,EAAE0C,CAAC,EAAEE,EAAEqB,EAAE,CAAC,EAAEpB,EAAEoB,EAAE,CAAC,EAAEnB,EAAEmB,EAAE,CAAC,CAAC,SAASjE,IAAI,OAAO,CAAC4C,EAAE,KAAK,KAAK,EAAEvC,CAAC,EAAEwC,EAAE,KAAK,KAAK3C,EAAE,CAAC,EAAE4C,EAAE,KAAK,KAAK1C,EAAE,CAAC,EAAE,IAAI4D,GAAGpB,EAAE,GAAGvC,EAAE0B,EAAE,EAAE,GAAGc,EAAE,GAAG,EAAEb,EAAE9B,EAAEoH,GAAGxE,EAAE,GAAG,EAAEb,EAAE7B,EAAE0E,EAAE,KAAK,MAAMd,EAAE,CAAC,EAAES,EAAET,EAAEc,EAAEJ,EAAE,KAAK,MAAM,EAAE,CAAC,EAAEC,EAAE,EAAED,EAAEE,EAAE,KAAK,MAAM0C,EAAE,CAAC,EAAEzC,EAAEyC,EAAE1C,EAAEjC,EAAE,CAAC,IAAI+B,EAAE,OAAOC,EAAE,KAAKC,EAAE,MAAMC,EAAE,MAAMC,EAAE,KAAKL,EAAE,KAAK,MAAM,CAAC,KAAM,OAAM,MAAM,8BAA8BzE,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ2C,EAAE,SAASC,EAAE,UAAUC,EAAE,SAASC,CAAC,CAAC,CAAC,SAASumB,GAAGrpB,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,MAAMA,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,QAAQ,OAAO,KAAK,MAAMA,CAAC,EAAE,IAAI,OAAO,OAAO,KAAK,KAAKA,CAAC,EAAE,IAAI,QAAQ,OAAO,KAAK,MAAMA,CAAC,EAAE,QAAQ,MAAM,IAAI,MAAM,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,SAASupB,GAAGvpB,EAAE,CAAC,GAAG,CAAC,EAAEE,EAAEE,CAAC,EAAEwoB,GAAG5oB,CAAC,EAAE,OAAO,IAAI,GAAGE,IAAI,GAAGE,IAAI,CAAC,CAAC,SAASopB,GAAGxpB,EAAE,EAAE,CAAC,OAAOupB,GAAGvpB,CAAC,GAAGupB,GAAG,CAAC,CAAC,CAAC,SAASE,GAAGzpB,EAAE,CAAC,OAAO4oB,GAAG5oB,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,SAASyoB,GAAGzoB,EAAE,CAAC,GAAGA,IAAI,OAAO,MAAM,eAAe,GAAGA,IAAI,OAAO,MAAM,gBAAgB,MAAM,IAAI,MAAM,sBAAsBA,CAAC,EAAE,CAAC,CAAC,SAAS0pB,GAAG1pB,EAAE,EAAEE,EAAE,CAAC,GAAGA,GAAG,KAAK,CAAC,GAAG,OAAO,GAAG,SAAS,MAAM,MAAM,YAAYF,CAAC,uDAAuDE,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,SAASoa,EAAEO,GAAG,CAAC,EAAE,IAAI,YAAY7a,CAAC,uDAAuDE,CAAC,gBAAgB,CAAC,GAAG,UAAU,OAAO,GAAG,SAAS,EAAE,QAAQE,GAAG,CAACA,EAAE,QAAQC,GAAG,CAACia,EAAEO,GAAGxa,CAAC,EAAE,IAAI,YAAYL,CAAC,uDAAuDE,CAAC,gBAAgBG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAO,OAAM,MAAM,YAAYL,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS2pB,GAAG3pB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE0iB,EAAE1iB,EAAE,IAAI,UAAU,mBAAmB,CAAC,EAAEK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAOwhB,EAAE,UAAU54B,GAAG,EAAEoX,CAAC,CAAC,CAAC,IAAI9G,EAAEnC,EAAE,CAAC,SAASuyB,EAAE,CAAC,EAAE,SAASC,GAAG5pB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,UAAU,SAAS,EAAE,EAAE,EAAEsa,EAAEkP,GAAGtpB,EAAE,CAAC,EAAE,IAAI,wEAAwEA,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI6B,EAAE,EAAEC,EAAE,GAAG,EAAE,OAAO,IAAIA,EAAE,GAAGD,EAAExI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG+gB,EAAEvY,EAAE,OAAO,EAAE,IAAI,mDAAmDA,EAAE,IAAI,GAAG,EAAE2nB,GAAG,UAAUtpB,EAAEC,CAAC,EAAE,IAAI4B,EAAE,CAAC,EAAEF,CAAC,EAAEW,EAAE,CAAC,WAAW,EAAE,QAAQxC,EAAE,IAAIE,EAAE,gBAAgBC,CAAC,EAAEsC,EAAEkf,EAAE,UAAUxhC,GAAG4hB,EAAES,CAAC,EAAE,OAAOC,EAAEjU,GAAEiU,EAAE,EAAE,KAAK,EAAEX,EAAEzI,EAAEoJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAIpV,GAAG6J,EAAE,CAAC,SAASwyB,EAAE,CAAC,EAAE,SAASC,GAAG7pB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,YAAY,SAAS,EAAE+B,EAAE,EAAEC,EAAE,GAAG,EAAE,OAAO,IAAIA,EAAE,GAAGD,EAAExI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG+gB,EAAEvY,EAAE,OAAO,EAAE,IAAI,qDAAqDA,EAAE,IAAI,GAAG,EAAEuY,EAAE,IAAI,QAAQ,IAAI,gFAAgF,CAAC,EAAE,EAAEA,EAAE,OAAOpa,GAAG,UAAUA,EAAE,GAAG,MAAM,QAAQA,CAAC,GAAGA,EAAE,CAAC,EAAE,GAAGA,EAAE,CAAC,EAAE,GAAGA,EAAE,CAAC,EAAE,EAAE,IAAI,oDAAoDA,CAAC,GAAG,EAAEwpB,GAAG,YAAYtpB,EAAEC,CAAC,EAAE,IAAI4B,EAAE,CAAC,EAAEF,CAAC,EAAEW,EAAE,CAAC,WAAW,EAAE,QAAQxC,EAAE,IAAIE,EAAE,gBAAgBC,EAAE,WAAW,CAAC,EAAEsC,EAAEkf,EAAE,UAAUvhC,GAAG2hB,EAAES,CAAC,EAAE,OAAOC,EAAEjU,GAAEiU,EAAEZ,EAAE,KAAK,EAAEC,EAAEzI,EAAEoJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAInV,GAAG4J,EAAE,CAAC,WAAWyyB,EAAE,CAAC,EAAE,SAASC,GAAG9pB,EAAE,EAAE,EAAE,CAACsa,EAAEta,EAAE,QAAQ,EAAE,IAAI,oCAAoC,EAAE,IAAIE,EAAEyiB,GAAG3iB,EAAE,UAAU,SAAS,mBAAmB,EAAE,GAAGE,EAAE,CAAC,EAAE,QAAQ,aAAaA,EAAE,QAAQ,GAAG,CAAC,GAAG,EAAE,QAAQ,YAAY,MAAM,IAAI,MAAM;AAAA,uBACrt3D,EAAE,KAAK,IAAI,CAAC,CAAC,EAAEA,EAAE,SAAS,EAAE,OAAOrR,GAAGqR,EAAE,CAAC,CAAC,EAAE,IAAIE,EAAEF,EAAEG,EAAE,CAAC,KAAK,CAAC,EAAE,OAAOwhB,EAAE,UAAUtgC,GAAG6e,EAAEC,CAAC,CAAC,CAAC,IAAItR,GAAGqI,EAAE,CAAC,QAAQ0yB,EAAE,CAAC,EAAE,SAASC,GAAG/pB,EAAE,EAAEE,EAAE,GAAGE,EAAE,GAAG,CAAC,IAAIC,EAAEqiB,EAAE1iB,EAAE,IAAI,QAAQ,EAAE,EAAE0iB,EAAE,EAAE,IAAI,QAAQ,EAAE,CAACriB,EAAE,CAAC,EAAE2gB,GAAG3gB,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAEA,EAAE,EAAE,CAAC,EAAE0B,EAAE,CAAC,WAAW7B,EAAE,WAAWE,CAAC,EAAE,OAAOyhB,EAAE,UAAUnhC,GAAG,EAAEqhB,CAAC,CAAC,CAAC,IAAIxM,GAAG6B,EAAE,CAAC,QAAQ2yB,EAAE,CAAC,EAAE,SAASC,GAAGhqB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,UAAU,SAAS,CAAC,EAAE,OAAO6hB,EAAE,UAAU73B,GAAGkW,CAAC,CAAC,CAAC,IAAIlF,GAAG5D,EAAE,CAAC,SAAS4yB,EAAE,CAAC,EAAE,SAASC,GAAGjqB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,QAAQ,mBAAmB,EAAE,GAAGI,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,gCAAgC,EAAE,IAAIC,EAAE,CAAC,EAAED,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,KAAKF,CAAC,EAAE,OAAO2hB,EAAE,UAAUz3B,GAAGiW,EAAE,CAAC,CAAC,CAAC,IAAIhF,GAAGjE,EAAE,CAAC,OAAO6yB,EAAE,CAAC,EAAE,SAASC,GAAGlqB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,SAAS,CAAC,EAAE,OAAO6hB,EAAE,UAAUl2B,GAAGuU,CAAC,CAAC,CAAC,IAAIpD,GAAG1F,EAAE,CAAC,MAAM8yB,EAAE,CAAC,EAAE,SAASC,GAAGnqB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,aAAa,eAAe,EAAE+B,EAAE2gB,EAAE,EAAE,aAAa,eAAe,EAAE1gB,EAAE0gB,EAAExiB,EAAE,WAAW,eAAe,EAAE+B,EAAEygB,EAAEtiB,EAAE,OAAO,eAAe,EAAEsC,EAAEggB,EAAEriB,EAAE,IAAI,eAAe,EAAEsC,EAAE+f,EAAE,EAAE,IAAI,eAAe,EAAE9f,EAAE7T,GAAG,CAACkT,EAAEU,CAAC,EAAE,CAAC,EAAEE,EAAEtN,GAAGqN,EAAEb,CAAC,EAAEe,EAAE,EAAED,EAAEb,CAAC,EAAEgC,EAAElB,EAAE,MAAM,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,EAAE,EAAEwE,EAAE,CAACtD,EAAE,CAAC,EAAEc,EAAEzJ,GAAGyH,EAAE,CAAC,EAAE,CAAC,EAAEwE,CAAC,EAAE7C,EAAEpJ,GAAGyH,EAAE,CAAC,EAAE,CAAC,EAAEwE,CAAC,EAAE5C,EAAErJ,GAAGyH,EAAE,CAAC,EAAE,EAAE,CAAC,EAAEwE,CAAC,EAAE3C,EAAEtJ,GAAGyH,EAAE,CAAC,EAAE,EAAE,CAAC,EAAEwE,CAAC,EAAE1C,EAAE,EAAElO,EAAEsE,GAAG8J,CAAC,EAAEhI,GAAG2H,CAAC,CAAC,EAAE/N,EAAEgM,EAAE1H,GAAG,EAAE,EAAE0J,CAAC,CAAC,CAAC,CAAC,EAAEG,EAAEnO,EAAEoG,GAAG8H,CAAC,EAAE5J,GAAG2J,CAAC,CAAC,EAAE,MAAM,CAACC,EAAEC,CAAC,CAAC,CAAC,IAAIlX,GAAGyJ,EAAE,CAAC,eAAe+yB,EAAE,CAAC,EAAE,SAASC,GAAGpqB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,gBAAgB,EAAEK,EAAE,EAAE,OAAO,CAAC0B,EAAEC,IAAID,EAAEC,CAAC,EAAEsY,EAAEla,EAAE,MAAM,EAAE,EAAE,OAAO,IAAI,iBAAiBA,EAAE,IAAI,2CAA2C,EAAE,MAAM,EAAE,EAAEka,EAAEpa,EAAE,SAAS,EAAE,OAAO,IAAI,mBAAmBA,EAAE,MAAM,8CAA8C,EAAE,MAAM,EAAE,EAAEoa,EAAEla,EAAE,MAAM,CAAC,EAAEC,IAAI,EAAE,IAAI,yBAAyBD,EAAE,MAAM,CAAC,CAAC,sEAAsE,EAAE,KAAK,KAAK,CAAC,QAAQC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAED,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,MAAMF,CAAC,EAAE,OAAO2hB,EAAE,UAAUlhC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAIqN,GAAGoJ,EAAE,CAAC,gBAAgBgzB,EAAE,CAAC,EAAE,SAASC,GAAGrqB,EAAE,CAAC,IAAI,EAAE,OAAOA,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,EAAEzG,EAAEyG,EAAE,CAAC,EAAE,EAAE,EAAEA,EAAE,IAAI,CAAC,EAAEA,EAAE,OAAO,EAAE,EAAEzG,EAAEyG,EAAE,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,EAAE,OAAO,EAAE,EAAEzG,EAAEyG,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAEA,EAAE,CAAC,CAAC,SAASsqB,GAAGtqB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,GAAG,OAAO,EAAE,MAAM,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,WAAW,EAAE+B,EAAE2gB,EAAE,EAAE,OAAO,WAAW,EAAE1gB,EAAE0gB,EAAExiB,EAAE,WAAW,WAAW,EAAE+B,EAAE5B,GAAG,OAAO4B,EAAEygB,EAAEriB,EAAE,QAAQ,WAAW,GAAG,IAAIqC,EAAEtC,GAAG,OAAOsC,EAAEggB,EAAEtiB,EAAE,SAAS,WAAW,GAAGka,EAAEvY,EAAE,OAAOC,EAAE,KAAK,IAAI,8EAA8E,EAAEsY,EAAE5X,GAAG,MAAMX,EAAE,OAAOW,EAAE,KAAK,IAAI,4EAA4E,EAAE4X,EAAErY,GAAG,MAAMF,EAAE,OAAOE,EAAE,KAAK,IAAI,2EAA2E,EAAE,IAAIW,EAAE,CAAC,EAAEynB,GAAG,CAAC,EAAE,MAAMpoB,EAAE,OAAOS,EAAE,KAAKX,EAAE,SAASC,CAAC,EAAEa,EAAE,CAAC,gBAAgB,CAAC,EAAEC,EAAE+e,EAAE,UAAU79B,GAAG4e,EAAEC,CAAC,EAAE,OAAOtJ,EAAEuJ,EAAE,EAAE,KAAK,CAAC,CAAC,IAAIlV,GAAGwJ,EAAE,CAAC,WAAWkzB,EAAE,CAAC,EAAE,SAASC,GAAGvqB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,WAAW,EAAE+B,EAAE2gB,EAAE,EAAE,OAAO,WAAW,EAAE1gB,EAAE0gB,EAAExiB,EAAE,WAAW,WAAW,EAAE+B,EAAE5B,GAAG,OAAO4B,EAAEygB,EAAEriB,EAAE,QAAQ,WAAW,GAAG,IAAIqC,EAAE,OAAOtC,GAAG,OAAOsC,EAAEggB,EAAEtiB,EAAE,SAAS,WAAW,GAAGka,EAAE,EAAE,OAAO,EAAE,IAAI,uDAAuD,EAAE,IAAI,GAAG,EAAEA,EAAEvY,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,oEAAoEA,EAAE,IAAI,GAAG,EAAEuY,EAAEtY,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,wEAAwEA,EAAE,IAAI,GAAG,EAAEC,GAAG,MAAMqY,EAAErY,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,qEAAqEA,EAAE,IAAI,GAAG,EAAES,GAAG,MAAM4X,EAAE5X,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,sEAAsEA,EAAE,IAAI,GAAG,EAAE9U,GAAG,EAAEmU,EAAEC,EAAEU,EAAET,EAAE,CAAC,CAAC,CAAC,IAAIpU,GAAGuJ,EAAE,CAAC,aAAamzB,EAAE,CAAC,EAAE,SAASC,GAAGxqB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,WAAW,EAAE+B,EAAE2gB,EAAE,EAAE,OAAO,WAAW,EAAE1gB,EAAE0gB,EAAExiB,EAAE,WAAW,WAAW,EAAE+B,EAAE5B,GAAG,OAAO4B,EAAEygB,EAAEriB,EAAE,QAAQ,WAAW,GAAG,IAAIqC,EAAE,OAAOtC,GAAG,OAAOsC,EAAEggB,EAAEtiB,EAAE,SAAS,WAAW,GAAGka,EAAE,EAAE,OAAO,EAAE,IAAI,uDAAuD,EAAE,IAAI,GAAG,EAAEA,EAAEvY,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,oEAAoEA,EAAE,IAAI,GAAG,EAAEuY,EAAEtY,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,wEAAwEA,EAAE,IAAI,GAAG,EAAEC,GAAG,MAAMqY,EAAErY,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,qEAAqEA,EAAE,IAAI,GAAG,EAAES,GAAG,MAAM4X,EAAE5X,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,sEAAsEA,EAAE,IAAI,GAAG,EAAE9U,GAAG,EAAEmU,EAAEC,EAAEU,EAAET,EAAE,CAAC,CAAC,CAAC,IAAInU,GAAGsJ,EAAE,CAAC,aAAaozB,EAAE,CAAC,EAAE,SAASC,GAAGzqB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,WAAW,EAAE+B,EAAE2gB,EAAE,EAAE,OAAO,WAAW,EAAE1gB,EAAE0gB,EAAExiB,EAAE,WAAW,WAAW,EAAE+B,EAAE5B,GAAG,OAAO4B,EAAEygB,EAAEriB,EAAE,QAAQ,WAAW,GAAG,IAAIqC,EAAE,OAAOtC,GAAG,OAAOsC,EAAEggB,EAAEtiB,EAAE,SAAS,WAAW,GAAGka,EAAE,EAAE,OAAO,EAAE,IAAI,uDAAuD,EAAE,IAAI,GAAG,EAAEA,EAAEvY,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,oEAAoEA,EAAE,IAAI,GAAG,EAAEuY,EAAEtY,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,wEAAwEA,EAAE,IAAI,GAAG,EAAEC,GAAG,MAAMqY,EAAErY,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,qEAAqEA,EAAE,IAAI,GAAG,EAAES,GAAG,MAAM4X,EAAE5X,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,sEAAsEA,EAAE,IAAI,GAAG,EAAE9U,GAAG,EAAEmU,EAAEC,EAAEU,EAAET,EAAE,CAAC,CAAC,CAAC,IAAIlU,GAAGqJ,EAAE,CAAC,aAAaqzB,EAAE,CAAC,EAAE,SAASC,GAAG1qB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,UAAU,EAAEK,EAAEqiB,EAAE,EAAE,UAAU,UAAU,EAAEpI,EAAEla,EAAE,QAAQ,QAAQ,IAAI,yDAAyDA,EAAE,KAAK,EAAE,EAAEka,EAAEpa,GAAG,EAAE,IAAI,sCAAsCA,CAAC,GAAG,EAAEoa,EAAEja,EAAE,OAAOD,EAAE,MAAMC,EAAE,OAAO,EAAE,IAAI,gGAAgGD,EAAE,KAAK,oBAAoBC,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,EAAED,EAAE,QAAQC,CAAC,EAAE,EAAE,CAAC,KAAKH,CAAC,EAAE,OAAO2hB,EAAE,UAAUjhC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAIqN,GAAGmJ,EAAE,CAAC,UAAUszB,EAAE,CAAC,EAAE,SAASC,GAAG3qB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,YAAY,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,YAAY,EAAE,GAAG,CAAClI,GAAGta,EAAE,MAAME,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM,oDAAoDF,EAAE,KAAK,QAAQE,EAAE,KAAK,EAAE,EAAE,GAAGF,EAAE,QAAQ,SAASE,EAAE,QAAQ,QAAQ,MAAM,IAAI,MAAM,wEAAwEF,EAAE,KAAK,mBAAmBE,EAAE,KAAK,EAAE,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAUhhC,GAAGwf,CAAC,CAAC,CAAC,IAAInS,GAAGkJ,EAAE,CAAC,YAAYuzB,EAAE,CAAC,EAAE,SAASC,GAAG5qB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,KAAK,gBAAgB,OAAO,EAAEI,EAAEsiB,EAAE,EAAE,KAAK,gBAAgB,OAAO,EAAE,GAAGxiB,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,oEAAoEA,EAAE,IAAI,EAAE,EAAE,GAAGE,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,qEAAqEA,EAAE,IAAI,EAAE,EAAE,IAAIC,EAAE,CAAC,GAAGH,EAAE,GAAGE,CAAC,EAAE,OAAOyhB,EAAE,UAAU/gC,GAAGuf,CAAC,CAAC,CAAC,IAAIjS,GAAGgJ,EAAE,CAAC,eAAewzB,EAAE,CAAC,EAAE,SAASC,GAAG7qB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,cAAc,GAAG,EAAEI,EAAEF,EAAE,MAAM,GAAGwc,GAAG,CAAC,EAAE,EAAE,OAAOxc,EAAE,KAAK,MAAM,IAAI,MAAM,+BAA+B,EAAE,MAAM,iBAAiBA,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,OAAOA,EAAE,KAAK,CAAC,IAAI,EAAEA,EAAE,MAAM,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAEA,EAAE3G,EAAE2G,EAAE,CAAC,CAAC,CAAC,IAAIG,EAAEH,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,GAAGG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,UAAUH,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,mBAAmBE,CAAC,6BAA6B,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAEsC,IAAI,EAAE,EAAEA,EAAE,EAAE,EAAE,OAAO,GAAG,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO7T,GAAGqR,CAAC,EAAE,IAAI6B,EAAE,CAAC,EAAE7B,CAAC,EAAE8B,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO6f,EAAE,UAAU91B,GAAGgW,EAAEC,CAAC,CAAC,CAAC,IAAI3T,GAAG+I,EAAE,CAAC,aAAayzB,EAAE,CAAC,EAAE,SAASC,GAAG9qB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,SAAS,CAAC,EAAE,OAAO6hB,EAAE,UAAU1gC,GAAG+e,CAAC,CAAC,CAAC,IAAIvR,GAAGyI,EAAE,CAAC,MAAM0zB,EAAE,CAAC,EAAE,SAAS74B,GAAG+N,EAAE,EAAEE,EAAE,CAACwc,GAAG1c,CAAC,EAAEE,EAAEA,GAAG8b,GAAG,CAAC,EAAE,IAAI5b,EAAE,CAAC,MAAMJ,EAAE,MAAM,EAAE,MAAME,CAAC,EAAE,OAAO2hB,EAAE,UAAUl+B,GAAG,CAAC,EAAEyc,CAAC,CAAC,CAAC,SAAS2qB,GAAG/qB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,aAAa,EAAE,GAAGsa,EAAE,GAAGpa,EAAE,IAAI,uBAAuB,CAAC,wCAAwCA,CAAC,IAAI,EAAE,IAAIA,EAAE,OAAOjO,GAAGmO,EAAE,MAAM,EAAEA,EAAE,KAAK,EAAE,IAAIC,EAAE,CAAC,EAAED,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,aAAaF,CAAC,EAAE,OAAO2hB,EAAE,UAAUzgC,GAAGif,EAAE,CAAC,CAAC,CAAC,IAAIzR,GAAGwI,EAAE,CAAC,aAAa2zB,EAAE,CAAC,EAAE,SAASC,GAAGhrB,EAAE,CAAC,OAAOjR,GAAGiR,EAAE,CAAC,CAAC,CAAC,IAAIhR,GAAGoI,EAAE,CAAC,UAAU4zB,EAAE,CAAC,EAAE,SAASC,GAAGjrB,EAAE,EAAE,CAAC,OAAOjR,GAAGiR,EAAE,CAAC,CAAC,CAAC,IAAI/Q,GAAGmI,EAAE,CAAC,UAAU6zB,EAAE,CAAC,EAAE,SAASC,GAAGlrB,EAAE,EAAE,CAAC,OAAOjR,GAAGiR,EAAE,CAAC,CAAC,CAAC,IAAI9Q,GAAGkI,EAAE,CAAC,UAAU8zB,EAAE,CAAC,EAAE,SAASC,GAAGnrB,EAAE,EAAE,CAAC,OAAOjR,GAAGiR,EAAE,CAAC,CAAC,CAAC,IAAI7Q,GAAGiI,EAAE,CAAC,UAAU+zB,EAAE,CAAC,EAAE,SAASC,GAAGprB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI0B,EAAE2gB,EAAE1iB,EAAE,IAAI,SAAS,SAAS,EAAEgC,EAAE0gB,EAAE,EAAE,SAAS,SAAS,SAAS,EAAEzgB,EAAEF,EAAEW,EAAE,GAAGX,EAAE,OAAO,IAAIW,EAAE,GAAGT,EAAE1I,EAAEwI,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAGuY,EAAErY,EAAE,OAAO,EAAE,IAAI,uDAAuDA,EAAE,IAAI,GAAG,EAAEqY,EAAEtY,EAAE,OAAO,EAAE,IAAI,wDAAwDA,EAAE,IAAI,GAAG,EAAE0nB,GAAG,SAAStpB,EAAE,CAAC,EAAE,IAAIuC,EAAEtC,IAAI,OAAO4B,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEqY,EAAE3X,IAAIX,EAAE,MAAM,CAAC,EAAE,IAAI,oCAAoCW,CAAC,uCAAuCX,EAAE,MAAM,CAAC,CAAC,GAAG,EAAEsY,EAAEkP,GAAGtpB,EAAE,CAAC,EAAE,IAAI,uEAAuEA,CAAC,mBAAmB,CAAC,GAAG,EAAEoa,EAAEmP,GAAG,CAAC,EAAE,IAAI,yDAAyD,EAAEnP,EAAEmP,GAAGvpB,CAAC,EAAE,IAAI,mDAAmD,EAAE,IAAI0C,EAAE,CAAC,EAAEX,EAAE,OAAOD,CAAC,EAAEa,EAAE,CAAC,QAAQ3C,EAAE,IAAIE,EAAE,WAAWC,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAEyC,EAAE+e,EAAE,UAAUrgC,GAAGohB,EAAEC,CAAC,EAAE,OAAOH,EAAEnJ,EAAEuJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAIxT,GAAG8H,EAAE,CAAC,QAAQg0B,EAAE,CAAC,EAAE,SAASC,GAAGrrB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI0B,EAAE2gB,EAAE1iB,EAAE,IAAI,QAAQ,EAAEgC,EAAE0gB,EAAE,EAAE,SAAS,QAAQ,EAAEzgB,EAAEF,EAAEW,EAAE,GAAGX,EAAE,OAAO,IAAIW,EAAE,GAAGT,EAAE1I,EAAEwI,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAGuY,EAAErY,EAAE,OAAO,EAAE,IAAI,uDAAuDA,EAAE,IAAI,GAAG,EAAEqY,EAAEtY,EAAE,OAAO,EAAE,IAAI,wDAAwDA,EAAE,IAAI,GAAG,EAAE0nB,GAAG,SAAStpB,EAAE,CAAC,EAAEka,EAAErY,EAAE,MAAM,CAAC,IAAID,EAAE,MAAM,CAAC,EAAE,IAAI,oCAAoCC,EAAE,MAAM,CAAC,CAAC,uCAAuCD,EAAE,MAAM,CAAC,CAAC,GAAG,EAAEsY,EAAEkP,GAAGtpB,EAAE,CAAC,EAAE,IAAI,oEAAoEA,CAAC,kBAAkB,CAAC,GAAG,EAAEoa,EAAEmP,GAAG,CAAC,EAAE,IAAI,yDAAyD,EAAEnP,EAAEmP,GAAGvpB,CAAC,EAAE,IAAI,kDAAkD,EAAEoa,EAAEja,IAAI,MAAM,IAAI,sCAAsCA,CAAC,uCAAuC,EAAE,IAAIsC,EAAEpJ,EAAEyI,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEY,EAAErJ,EAAE0I,EAAE,CAACA,EAAE,MAAM,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEgC,EAAE3U,GAAGsT,EAAED,EAAE,CAAC,EAAEzC,CAAC,EAAEE,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAOsC,EAAEnJ,EAAE0K,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE1K,EAAE0K,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI5U,GAAG+H,EAAE,CAAC,QAAQi0B,EAAE,CAAC,EAAE,SAASC,GAAGtrB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,OAAO,EAAE,CAACia,EAAEta,EAAE,SAAS,EAAE,KAAK,IAAI,sBAAsBA,EAAE,MAAM,qBAAqB,EAAE,IAAI,cAAc,EAAE,IAAI+B,EAAE/B,EAAEgC,EAAE,EAAEC,EAAE,GAAG,EAAE,OAAO,IAAIA,EAAE,GAAGD,EAAEzI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEwI,EAAE,CAAC,EAAE/B,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,GAAGsa,EAAEvY,EAAE,SAAS,EAAE,IAAI,qEAAqEA,EAAE,MAAM,GAAG,EAAEuY,EAAEtY,EAAE,OAAO,EAAE,IAAI,4DAA4DA,EAAE,IAAI,EAAE,EAAEsY,EAAEpa,EAAE,OAAO,EAAE,IAAI,gEAAgEA,EAAE,IAAI,EAAE,EAAE,IAAIwC,EAAE,IAAI,OAAOX,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEY,EAAE,IAAI,OAAOX,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEsY,EAAE5X,IAAIxC,EAAE,MAAM,CAAC,EAAE,IAAI,4CAA4CwC,CAAC,uCAAuCxC,EAAE,MAAM,CAAC,CAAC,GAAG,EAAEoa,EAAE3X,IAAIzC,EAAE,MAAM,CAAC,EAAE,IAAI,6CAA6CyC,CAAC,wCAAwCzC,EAAE,MAAM,CAAC,CAAC,GAAG,EAAEwpB,GAAG,iBAAiBrpB,EAAE,CAAC,EAAE,IAAIuC,EAAE,CAAC,GAAGZ,EAAE,OAAO9B,CAAC,EAAE2C,EAAE,CAAC,QAAQzC,EAAE,IAAIC,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW0B,CAAC,EAAEe,EAAE+e,EAAE,UAAUngC,GAAGkhB,EAAEC,CAAC,EAAE,OAAOZ,EAAE1I,EAAEuJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAIyoB,GAAGn0B,EAAE,CAAC,qBAAqBk0B,EAAE,CAAC,EAAE,SAASE,GAAGxrB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,iBAAiB,EAAE+B,EAAE2gB,EAAE,EAAE,SAAS,iBAAiB,EAAE,OAAO6I,GAAGrrB,EAAE,EAAE6B,EAAE3B,EAAEC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI9Q,GAAG6H,EAAE,CAAC,iBAAiBo0B,EAAE,CAAC,EAAE,SAASC,GAAGzrB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,QAAQ,EAAE+B,EAAE2gB,EAAE,EAAE,SAAS,QAAQ,EAAE1gB,EAAE,EAAEC,EAAE,GAAG,EAAE,OAAO,IAAIA,EAAE,GAAGD,EAAEzI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG+gB,EAAEtY,EAAE,OAAO,EAAE,IAAI,uDAAuDA,EAAE,IAAI,GAAG,EAAEsY,EAAEvY,EAAE,OAAO,EAAE,IAAI,wDAAwDA,EAAE,IAAI,GAAG,EAAEuY,EAAEtY,EAAE,MAAM,CAAC,IAAID,EAAE,MAAM,CAAC,EAAE,IAAI,oCAAoCC,EAAE,MAAM,CAAC,CAAC,uCAAuCD,EAAE,MAAM,CAAC,CAAC,GAAG,EAAEuY,EAAEkP,GAAGtpB,EAAE,CAAC,EAAE,IAAI,uEAAuEA,CAAC,mBAAmB,CAAC,GAAG,EAAEoa,EAAEja,IAAI,QAAQ,IAAI,sCAAsCA,CAAC,yCAAyC,EAAEia,EAAEmP,GAAG,CAAC,EAAE,IAAI,yDAAyD,EAAEnP,EAAEmP,GAAGvpB,CAAC,EAAE,IAAI,mDAAmD,EAAE,IAAIwC,EAAE,CAAC,EAAEV,EAAE,OAAOD,CAAC,EAAEY,EAAE,CAAC,QAAQzC,EAAE,IAAIE,EAAE,WAAWC,EAAE,UAAU,CAAC,EAAEuC,EAAEif,EAAE,UAAUlgC,GAAG+gB,EAAEC,CAAC,EAAE,OAAOV,EAAE1I,EAAEqJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAIpT,GAAG4H,EAAE,CAAC,QAAQq0B,EAAE,CAAC,EAAE,SAASC,GAAG1rB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAACia,EAAEta,EAAE,SAAS,EAAE,KAAK,IAAI,sBAAsBA,EAAE,MAAM,qBAAqB,EAAE,IAAI,cAAc,EAAE,IAAI,EAAEA,EAAE,EAAE,EAAE+B,EAAE,GAAG,EAAE,OAAO,IAAIA,EAAE,GAAG,EAAExI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAEyG,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,GAAG,IAAIgC,EAAE,EAAE,CAAC,EAAEC,EAAE,EAAE,MAAM,CAAC,EAAEqY,EAAE,EAAE,SAAS,EAAE,IAAI,qEAAqE,EAAE,MAAM,GAAG,EAAEA,EAAE,EAAE,OAAO,EAAE,IAAI,4DAA4D,EAAE,IAAI,EAAE,EAAEA,EAAEpa,EAAE,OAAO,EAAE,IAAI,gEAAgEA,EAAE,IAAI,EAAE,EAAEoa,EAAEtY,IAAI9B,EAAE,MAAM,CAAC,EAAE,IAAI,4CAA4C8B,CAAC,uCAAuC9B,EAAE,MAAM,CAAC,CAAC,GAAG,EAAEoa,EAAErY,IAAI/B,EAAE,MAAM,CAAC,EAAE,IAAI,6CAA6C+B,CAAC,wCAAwC/B,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,IAAIwC,EAAE,CAAC,GAAG,EAAE,OAAOxC,CAAC,EAAEyC,EAAE,CAAC,IAAItC,EAAE,QAAQD,EAAE,WAAW,CAAC,EAAEwC,EAAEif,EAAE,UAAUhgC,GAAG6gB,EAAEC,CAAC,EAAE,OAAOZ,EAAExI,EAAEqJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAI+oB,GAAGv0B,EAAE,CAAC,qBAAqBs0B,EAAE,CAAC,EAAE,SAASE,GAAG5rB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,iBAAiB,EAAE,EAAE0iB,EAAE,EAAE,SAAS,iBAAiB,EAAE,OAAOiJ,GAAGzrB,EAAE,EAAE,EAAEE,EAAEC,CAAC,CAAC,CAAC,IAAI5Q,GAAG2H,EAAE,CAAC,iBAAiBw0B,EAAE,CAAC,EAAE,SAASC,GAAG7rB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,SAAS,CAAC,EAAE,OAAO6hB,EAAE,UAAU//B,GAAGoe,CAAC,CAAC,CAAC,IAAIvQ,GAAGyH,EAAE,CAAC,KAAKy0B,EAAE,CAAC,EAAE,SAASC,GAAG9rB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,SAAS,CAAC,EAAE,OAAO6hB,EAAE,UAAU9/B,GAAGme,CAAC,CAAC,CAAC,IAAItQ,GAAGwH,EAAE,CAAC,MAAM00B,EAAE,CAAC,EAAE,SAASC,GAAG/rB,EAAE,EAAE,EAAEE,EAAE,GAAGE,EAAE,GAAG,CAAC,IAAIyB,EAAE,CAAC,EAAE6gB,EAAE1iB,EAAE,IAAI,SAAS,CAAC,EAAE8B,EAAE,CAAC,KAAK,EAAE,UAAU5B,EAAE,QAAQE,CAAC,EAAE,OAAOyhB,EAAE,UAAU5/B,GAAG4f,EAAEC,CAAC,CAAC,CAAC,IAAIhS,GAAGsH,EAAE,CAAC,SAAS20B,EAAE,CAAC,EAAE,SAASC,GAAGhsB,EAAE,EAAE,EAAEE,EAAE,GAAGE,EAAE,GAAG,CAAC,IAAIyB,EAAE,CAAC,EAAE6gB,EAAE1iB,EAAE,IAAI,QAAQ,CAAC,EAAE8B,EAAE,CAAC,KAAK,EAAE,UAAU5B,EAAE,QAAQE,CAAC,EAAE,OAAOyhB,EAAE,UAAU3/B,GAAG2f,EAAEC,CAAC,CAAC,CAAC,IAAI/R,GAAGqH,EAAE,CAAC,QAAQ40B,EAAE,CAAC,EAAE,SAASC,GAAGjsB,EAAE,EAAEE,EAAEE,EAAE,GAAG,CAAC,IAAIC,EAAEqiB,EAAE1iB,EAAE,IAAI,eAAe,EAAE,EAAE0iB,EAAE,EAAE,UAAU,eAAe,EAAEpI,EAAEja,EAAE,QAAQ,QAAQ,IAAI,8DAA8DA,EAAE,KAAK,EAAE,EAAEia,EAAEja,EAAE,MAAM,EAAE,IAAI,sEAAsEA,EAAE,IAAI,GAAG,EAAEia,EAAEpa,GAAG,EAAE,IAAI,sCAAsCA,CAAC,GAAG,EAAEoa,EAAE,EAAE,OAAOja,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,+FAA+FA,EAAE,KAAK,oBAAoB,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,EAAEA,EAAE,QAAQ,CAAC,EAAE0B,EAAE,CAAC,KAAK7B,EAAE,aAAaE,CAAC,EAAE,OAAOyhB,EAAE,UAAUx/B,GAAG,EAAE0f,CAAC,CAAC,CAAC,IAAI7R,GAAGkH,EAAE,CAAC,eAAe60B,EAAE,CAAC,EAAE,SAASC,GAAGlsB,EAAE,EAAEE,EAAE,OAAO,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,eAAe,SAAS,EAAEK,EAAEH,IAAI,OAAOE,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAE,EAAEF,IAAI,OAAOE,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAE,EAAEF,IAAI,OAAOE,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEka,EAAE,EAAE,EAAE,IAAI,sDAAsD,CAAC,EAAE,EAAEA,EAAEja,EAAE,GAAG,EAAE,IAAI;AAAA,MAC5sbA,CAAC,QAAQ,CAAC;AAAA,MACVD,EAAE,KAAK,EAAE,EAAEka,EAAE,EAAE,GAAG,EAAE,IAAI;AAAA,MACxB,CAAC,QAAQ,CAAC;AAAA,UACNla,EAAE,KAAK,EAAE,EAAEka,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,8CAA8C,EAAE,CAAC,WAAW,CAAC,sCAAsCla,EAAE,KAAK,EAAE,EAAE,IAAI2B,EAAE,CAAC,EAAE3B,CAAC,EAAE4B,EAAE,CAAC,UAAU,EAAE,WAAW9B,CAAC,EAAE,OAAO2hB,EAAE,UAAUv/B,GAAGyf,EAAEC,CAAC,CAAC,CAAC,IAAI5R,GAAGgH,EAAE,CAAC,cAAc80B,EAAE,CAAC,EAAE,SAASC,GAAGnsB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI0B,EAAE2gB,EAAE1iB,EAAE,IAAI,kBAAkB,SAAS,EAAEgC,EAAE0gB,EAAE,EAAE,SAAS,kBAAkB,SAAS,EAAEzgB,EAAEF,EAAEW,EAAE,GAAGX,EAAE,OAAO,IAAIW,EAAE,GAAGT,EAAE1I,EAAEwI,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAGuY,EAAErY,EAAE,OAAO,EAAE,IAAI,gEAAgEA,EAAE,IAAI,GAAG,EAAEqY,EAAEtY,EAAE,OAAO,EAAE,IAAI,iEAAiEA,EAAE,IAAI,GAAG,EAAE,IAAIW,EAAEtC,IAAI,OAAO4B,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEqY,EAAE3X,IAAIX,EAAE,MAAM,CAAC,EAAE,IAAI,uDAAuDW,CAAC,mDAAmDX,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE0nB,GAAG,kBAAkBtpB,EAAE,CAAC,EAAE,IAAIwC,EAAE,CAAC,EAAEX,EAAE,OAAOD,CAAC,EAAEa,EAAE,CAAC,QAAQ3C,EAAE,IAAIE,EAAE,WAAWC,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAEyC,EAAE+e,EAAE,UAAUt/B,GAAGqgB,EAAEC,CAAC,EAAE,OAAOH,EAAEnJ,EAAEuJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAIzS,GAAG+G,EAAE,CAAC,iBAAiB+0B,EAAE,CAAC,EAAE,SAASC,GAAGpsB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,CAAC,EAAE,OAAO6hB,EAAE,UAAUn/B,GAAGwd,CAAC,CAAC,CAAC,IAAI1P,GAAG4G,EAAE,CAAC,MAAMg1B,EAAE,CAAC,EAAE,SAASC,GAAGrsB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,YAAY,EAAE+B,EAAE2gB,EAAE,EAAE,SAAS,YAAY,EAAEpI,EAAE,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,gEAAgE,EAAE,IAAI,GAAG,EAAEA,EAAEvY,EAAE,OAAO,EAAE,IAAI,4DAA4DA,EAAE,IAAI,GAAG,EAAEuY,EAAE,IAAI,OAAO,IAAI,gFAAgF,CAAC,EAAE,EAAE,IAAItY,EAAE,EAAEC,EAAE,GAAG,EAAE,OAAO,IAAID,EAAEzI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE0I,EAAE,IAAIqY,EAAEtY,EAAE,MAAM,CAAC,IAAID,EAAE,MAAM,CAAC,EAAE,IAAI,oEAAoEC,EAAE,MAAM,CAAC,CAAC,OAAOD,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,IAAIW,EAAE,CAAC,EAAEV,EAAE,OAAOD,CAAC,EAAEY,EAAE,CAAC,QAAQzC,EAAE,IAAIE,EAAE,UAAUC,CAAC,EAAEuC,EAAEif,EAAE,UAAUl/B,GAAG+f,EAAEC,CAAC,EAAE,OAAOV,EAAE1I,EAAEqJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAInS,GAAG2G,EAAE,CAAC,YAAYi1B,EAAE,CAAC,EAAM/9B,GAAG,CAAC,EAAE2R,GAAG3R,GAAG,CAAC,2BAA2B,IAAIg+B,GAAG,iBAAiB,IAAIC,GAAG,iBAAiB,IAAIC,EAAE,CAAC,EAAE,SAASD,GAAGvsB,EAAE,EAAE,CAAC,IAAIE,EAAEF,EAAE,OAAOI,EAAE,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAEH,EAAEG,IAAI,CAAC,IAAI,EAAEH,EAAE,EAAEG,EAAE,EAAEL,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,OAAO,EAAEK,CAAC,GAAG,GAAG,GAAG,IAAI,GAAGD,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,SAASosB,GAAGxsB,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,CAAC,IAAIC,EAAEL,EAAEA,EAAE,OAAOI,EAAE,CAAC,EAAE,EAAE,EAAE,OAAOA,EAAE,EAAE,EAAE,EAAE,CAAC,GAAGC,GAAG,MAAMA,IAAI,GAAG,EAAE,IAAIH,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,SAASosB,GAAGtsB,EAAE,EAAE,CAAC,IAAIE,EAAE,KAAK,IAAIF,EAAE,OAAO,EAAE,MAAM,EAAEI,EAAE,IAAI,MAAMF,CAAC,EAAE,QAAQG,EAAE,EAAEA,EAAEH,EAAEG,IAAI,CAAC,IAAI,EAAEL,EAAEA,EAAE,OAAOK,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,OAAOA,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,EAAED,EAAEF,EAAEG,EAAE,CAAC,EAAE,UAAU,IAAI,EAAED,EAAEF,EAAEG,EAAE,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,IAAI0B,EAAE,wDAAwD/B,CAAC,QAAQ,CAAC,IAAI,MAAM,MAAM+B,CAAC,CAAC,MAAM3B,EAAEF,EAAEG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAOD,CAAC,CAAC,SAASqsB,GAAGzsB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,QAAQ,mBAAmB,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,QAAQ,mBAAmB,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAEksB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAUx+B,GAAGgd,CAAC,CAAC,CAAC,IAAI5O,GAAG2F,EAAE,CAAC,OAAOq1B,EAAE,CAAC,EAAE,SAASC,GAAG1sB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE,EAAE,IAAI,OAAO,EAAEriB,EAAEqiB,EAAExiB,EAAE,IAAI,OAAO,EAAE,EAAEwiB,EAAE1iB,EAAE,YAAY,QAAQ,MAAM,EAAE,EAAEssB,GAAGA,GAAG,EAAE,MAAMlsB,EAAE,KAAK,EAAEC,EAAE,KAAK,EAAE0B,EAAE1T,GAAG,EAAE,CAAC,EAAE2T,EAAE3T,GAAG+R,EAAE,CAAC,EAAE6B,EAAE5T,GAAGgS,EAAE,CAAC,EAAEqC,EAAE,CAAC,UAAUX,EAAE,EAAEC,EAAE,EAAEC,CAAC,EAAE,OAAO4f,EAAE,UAAUh4B,GAAG6Y,CAAC,CAAC,CAAC,IAAIrD,GAAGjI,EAAE,CAAC,OAAOs1B,EAAE,CAAC,EAAE,SAASC,GAAG3sB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,WAAW,CAAC,EAAE,OAAO6hB,EAAE,UAAUr1B,GAAG0T,CAAC,CAAC,CAAC,IAAIV,GAAGpI,EAAE,CAAC,WAAWu1B,EAAE,CAAC,EAAE,SAASC,GAAG5sB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,KAAK,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,KAAK,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAE,IAAIC,EAAExP,GAAGqP,EAAEE,CAAC,EAAE,EAAEZ,GAAGa,CAAC,EAAE,EAAE5O,GAAG2O,EAAE,CAAC,EAAE,OAAOf,GAAG,EAAE,EAAEgB,CAAC,CAAC,CAAC,IAAIvP,GAAGsG,EAAE,CAAC,UAAUw1B,EAAE,CAAC,EAAE,SAASC,GAAG7sB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,KAAK,KAAK,EAAEI,EAAEsiB,EAAE,EAAE,KAAK,KAAK,EAAEpI,GAAGpa,EAAE,OAAO,GAAGA,EAAE,OAAO,KAAKE,EAAE,OAAO,GAAGA,EAAE,OAAO,GAAG,IAAI,+DAA+DF,EAAE,IAAI,QAAQE,EAAE,IAAI,GAAG,EAAE,IAAIC,EAAEH,EAAE,OAAO,EAAEA,EAAE,KAAKA,EAAE,MAAM,CAAC,EAAE,EAAEE,EAAE,OAAO,EAAEA,EAAE,KAAKA,EAAE,MAAM,CAAC,EAAE,GAAGka,EAAEja,IAAI,EAAE,IAAI,gEAAgEA,CAAC,QAAQ,CAAC,GAAG,EAAEH,EAAE,OAAO,GAAGE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE7G,EAAE2G,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE6B,EAAExI,EAAE6G,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE4B,EAAEzM,GAAG,EAAEwM,CAAC,EAAE,OAAOxI,EAAEyI,EAAE,CAAC,CAAC,CAAC,SAAS9B,EAAE,OAAO,GAAGE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE7G,EAAE2G,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE6B,EAAExI,EAAE6G,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE4B,EAAEzM,GAAG,EAAEwM,CAAC,EAAE,OAAOxI,EAAEyI,EAAE,CAACA,EAAE,IAAI,CAAC,CAAC,SAAS9B,EAAE,OAAO,GAAGE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE7G,EAAE6G,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE2B,EAAExM,GAAG2K,EAAE,CAAC,EAAE,OAAO3G,EAAEwI,EAAE,CAACA,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAExI,EAAE6G,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO7K,GAAG2K,EAAE,CAAC,CAAC,CAAC,CAAC,IAAInP,GAAGqG,EAAE,CAAC,KAAKy1B,EAAE,CAAC,EAAE,SAASC,GAAG9sB,KAAK,EAAE,CAAC,IAAIE,EAAE,EAAE,IAAI,CAACG,EAAE,IAAIqiB,EAAEriB,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAED,EAAE,CAAC,SAASJ,CAAC,EAAE,OAAO6hB,EAAE,UAAU5+B,GAAGid,EAAEE,CAAC,CAAC,CAAC,IAAInP,GAAGmG,EAAE,CAAC,QAAQ01B,EAAE,CAAC,EAAE,SAASC,GAAG/sB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,SAAS,CAAC,EAAE,OAAO6hB,EAAE,UAAU3+B,GAAGgd,CAAC,CAAC,CAAC,IAAIhP,GAAGkG,EAAE,CAAC,KAAK21B,EAAE,CAAC,EAAE,SAASC,GAAGhtB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,cAAc,mBAAmB,EAAE,GAAG,CAAC4a,GAAG1a,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,MAAM,gCAAgCA,EAAE,KAAK,0CAA0C,CAAC,EAAE,EAAE,OAAOF,CAAC,CAAC,IAAIzO,GAAG6F,EAAE,CAAC,aAAa41B,EAAE,CAAC,EAAE,SAASC,GAAGjtB,EAAE,CAAC,IAAI,EAAE0iB,EAAE1iB,EAAE,IAAI,KAAK,EAAEsa,EAAE,EAAE,QAAQ,SAAS,EAAE,QAAQ,UAAU,IAAI,2CAA2C,EAAE,EAAE,QAAQ,UAAU,EAAE5rB,GAAE,EAAE,SAAS,GAAG,IAAIwR,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO2hB,EAAE,UAAUv+B,GAAG4c,CAAC,CAAC,CAAC,IAAIxO,GAAG0F,EAAE,CAAC,KAAK61B,EAAE,CAAC,EAAE,SAASC,GAAGltB,EAAE,EAAE,CAAC,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAO,EAAEE,EAAE,GAAGF,EAAEA,EAAE,OAAOE,EAAE,CAAC,IAAI,EAAE,EAAEA,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,SAASitB,GAAGntB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEJ,EAAE,OAAO,EAAE,OAAOK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ0B,EAAE,EAAEA,EAAE3B,EAAE2B,IAAI7B,EAAE,QAAQ6B,CAAC,IAAI,GAAG1B,EAAE,KAAKL,EAAE,GAAG,CAAC,EAAEK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,OAAOA,CAAC,CAAC,SAAS+sB,GAAGptB,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEE,EAAEJ,EAAE,OAAO,QAAQ,EAAE,EAAE,EAAEI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAIF,EAAE,KAAKF,EAAE,CAAC,CAAC,EAAE,IAAIK,EAAE,EAAE,IAAI,GAAGL,EAAE,CAAC,CAAC,EAAE,MAAM,CAACE,EAAEG,CAAC,CAAC,CAAC,SAASgtB,GAAGrtB,EAAE,EAAE,CAAC,IAAIE,EAAE,EAAE,IAAIE,GAAG,CAAC,EAAE,OAAO+sB,GAAGntB,EAAEE,EAAE,CAAC,CAAC,CAAC,SAASotB,GAAGttB,EAAE,EAAEE,EAAE,CAACoa,EAAE4S,GAAG,EAAEhtB,CAAC,EAAE,IAAI,GAAGF,CAAC,oDAAoD,CAAC,aAAaE,CAAC,SAAS,CAAC,CAAC,SAASqtB,GAAGvtB,EAAE,EAAE,CAAC,GAAGktB,GAAGltB,EAAE,CAAC,EAAE,OAAO,KAAK,IAAIE,EAAE,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAEJ,EAAE,QAAQI,CAAC,IAAI,IAAIF,EAAE,KAAKE,CAAC,EAAE,OAAOJ,EAAE,QAAQI,GAAGF,EAAE,KAAKE,CAAC,CAAC,EAAEF,CAAC,CAAC,SAASstB,GAAGxtB,EAAE,CAAC,OAAOA,EAAE,IAAI,CAAC,EAAEE,IAAI,CAACA,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,EAAEA,IAAI,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAASutB,GAAGztB,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQE,EAAE,EAAEJ,EAAEI,EAAE,EAAE,EAAEA,EAAEF,EAAE,KAAKE,CAAC,EAAE,OAAOF,CAAC,CAAC,SAASwtB,GAAG1tB,EAAE,EAAE,KAAKE,EAAE,GAAG,CAAC,IAAIG,EAAE,CAAC,EAAEqiB,EAAE1iB,EAAE,IAAI,KAAK,CAAC,EAAE6B,EAAE,CAAC,iBAAiB,EAAE,SAAS3B,CAAC,EAAE,OAAO2hB,EAAE,UAAUx7B,GAAGga,EAAEwB,CAAC,CAAC,CAAC,IAAIpM,GAAG2B,EAAE,CAAC,KAAKs2B,EAAE,CAAC,EAAE,SAASC,GAAG3tB,EAAE,EAAE,KAAKE,EAAE,GAAG,CAAC,IAAIG,EAAE,CAAC,EAAEqiB,EAAE1iB,EAAE,IAAI,KAAK,CAAC,EAAE6B,EAAE,CAAC,KAAK,EAAE,SAAS3B,CAAC,EAAE,OAAO2hB,EAAE,UAAUh7B,GAAGwZ,EAAEwB,CAAC,CAAC,CAAC,IAAI3L,GAAGkB,EAAE,CAAC,KAAKu2B,EAAE,CAAC,EAAE,SAASC,GAAG5tB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,OAAO,KAAK,EAAEI,EAAEsiB,EAAE,EAAE,MAAM,KAAK,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAU55B,GAAGoY,CAAC,CAAC,CAAC,IAAIzI,GAAGR,EAAE,CAAC,KAAKw2B,EAAE,CAAC,EAAE,SAAS5zB,GAAGgG,EAAE,EAAE,CAAC,IAAIme,GAAGne,CAAC,GAAG,IAAI,UAAU,MAAM,QAAQA,CAAC,IAAI,IAAI,YAAY,MAAM,IAAI,MAAM,gFAAgF,EAAE,GAAG,IAAI,UAAUme,GAAGne,CAAC,GAAG,EAAEA,aAAa,YAAY,MAAM,IAAI,MAAM,2EAA2E,EAAE,OAAO6iB,GAAG7iB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS6tB,GAAG7tB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,SAAS,CAAC,EAAE,OAAO6hB,EAAE,UAAU/2B,GAAGoV,CAAC,CAAC,CAAC,IAAIhE,GAAG9E,EAAE,CAAC,MAAMy2B,EAAE,CAAC,EAAE,SAASC,GAAG9tB,EAAE,CAAC,IAAI,EAAE0iB,EAAE1iB,EAAE,IAAI,QAAQ,EAAEE,EAAE,CAAC,EAAE,OAAO2hB,EAAE,UAAU,SAAS,CAAC,EAAE,CAAC,EAAE3hB,CAAC,CAAC,CAAC,IAAI/D,GAAG/E,EAAE,CAAC,QAAQ02B,EAAE,CAAC,EAAE,SAASC,GAAG/tB,EAAE,EAAE,KAAKE,EAAE,GAAG,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,KAAK,EAAEI,EAAE,QAAQ,SAASA,EAAE1R,GAAE0R,EAAE,OAAO,GAAG,IAAIC,EAAE,CAAC,EAAED,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,SAASF,CAAC,EAAE,OAAO2hB,EAAE,UAAUr2B,GAAG6U,EAAE,CAAC,CAAC,CAAC,IAAI1D,GAAGvF,EAAE,CAAC,KAAK22B,EAAE,CAAC,EAAE,SAASC,GAAGhuB,EAAE,EAAE,YAAYE,EAAE,KAAKE,EAAE,GAAG,CAACJ,EAAE0iB,EAAE1iB,EAAE,IAAI,MAAM,EAAE,IAAIK,EAAE4tB,GAAGjuB,EAAE,EAAEE,CAAC,EAAE,EAAEG,EAAE,MAAM,GAAGD,EAAE,CAAC,IAAI,EAAEgb,GAAGlb,EAAEF,EAAE,KAAK,EAAE,EAAEqtB,GAAGhtB,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO9G,EAAE8G,EAAE,CAAC,CAAC,CAAC,SAAS4tB,GAAGjuB,EAAE,EAAEE,EAAE,KAAK,CAAC,GAAGF,EAAE,OAAO,EAAE,OAAOtT,GAAGsT,CAAC,EAAE,GAAGA,EAAE,OAAO,GAAGE,IAAI,KAAK,OAAO+tB,GAAG10B,EAAEyG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAEE,CAAC,EAAE,GAAGF,EAAE,OAAO,GAAG,OAAOE,GAAG,UAAU,MAAM,QAAQA,CAAC,GAAGA,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,OAAOvD,GAAGjQ,GAAGsT,CAAC,EAAEE,CAAC,EAAE,GAAG,IAAI,IAAI,OAAOzK,GAAG/I,GAAGsT,CAAC,EAAEE,CAAC,EAAE,GAAG,IAAI,KAAK,OAAOhK,GAAGxJ,GAAGsT,CAAC,EAAEE,CAAC,EAAE,GAAG,IAAI,aAAa,IAAI,EAAE,OAAOhE,GAAGS,GAAG/E,GAAGlL,GAAGsT,CAAC,EAAEhG,GAAG,EAAE,OAAO,CAAC,EAAEkG,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,qCAAqC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,QAAQA,CAAC,GAAGA,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,OAAOzK,GAAGkH,GAAGjQ,GAAGsT,CAAC,EAAEE,EAAE,CAAC,CAAC,EAAEA,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,IAAI,OAAOzK,GAAGkH,GAAGjQ,GAAGsT,CAAC,EAAEE,EAAE,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK,OAAOhK,GAAGyG,GAAGjQ,GAAGsT,CAAC,EAAEE,EAAE,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,OAAO,IAAI,YAAY,OAAOhE,GAAGS,GAAGR,GAAG6D,CAAC,EAAEE,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,qCAAqC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,gCAAgCA,CAAC,EAAE,CAAC,CAAC,IAAInJ,GAAGK,EAAE,CAAC,MAAM42B,EAAE,CAAC,EAAE,SAASE,GAAGluB,EAAE,EAAE,KAAKE,EAAE,GAAG,CAAC,OAAOnJ,GAAGiJ,EAAE,YAAY,EAAEE,CAAC,CAAC,CAAC,IAAIvO,GAAGyF,EAAE,CAAC,eAAe82B,EAAE,CAAC,EAAE,SAASC,GAAGnuB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,KAAK,CAAC,EAAE,OAAO6hB,EAAE,UAAUt+B,GAAG2c,CAAC,CAAC,CAAC,IAAItO,GAAGwF,EAAE,CAAC,KAAK+2B,EAAE,CAAC,EAAE,SAASC,GAAGpuB,EAAE,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,aAAa,mBAAmB,EAAEsa,EAAE,GAAGpa,EAAE,KAAK,IAAI,oCAAoC,EAAE,IAAIE,EAAE,CAAC,MAAMF,CAAC,EAAEG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAOwhB,EAAE,UAAUr+B,GAAG4c,EAAEC,CAAC,CAAC,CAAC,IAAIxO,GAAGuF,EAAE,CAAC,YAAYg3B,EAAE,CAAC,EAAE,SAASC,GAAGruB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,CAAC,EAAE,OAAO6hB,EAAE,UAAUp+B,GAAGyc,CAAC,CAAC,CAAC,IAAIpO,GAAGsF,EAAE,CAAC,OAAOi3B,EAAE,CAAC,EAAE,SAASC,GAAGtuB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,mBAAmB,EAAEsa,EAAEpa,EAAE,OAAO,EAAE,OAAO,IAAI,qCAAqCA,EAAE,IAAI,8BAA8B,CAAC,GAAG,EAAE,IAAIE,EAAE,CAAC,EAAEF,CAAC,EAAEG,EAAE,CAAC,KAAK,CAAC,EAAE,OAAOwhB,EAAE,UAAU91B,GAAGqU,EAAEC,CAAC,CAAC,CAAC,IAAI3C,GAAGtG,EAAE,CAAC,MAAMk3B,EAAE,CAAC,EAAE,SAASC,GAAGvuB,EAAE,EAAEE,EAAEE,EAAE,UAAU,CAAC,GAAG,OAAO,EAAEJ,GAAG,IAAIK,EAAE7R,GAAG,CAACwR,EAAE,CAAC,EAAEI,CAAC,EAAE,EAAEJ,GAAG,EAAEA,EAAE,EAAE,QAAQ+B,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE1B,EAAE,IAAI,EAAE0B,EAAEA,CAAC,EAAE,IAAI,EAAExI,EAAE8G,EAAE,SAAS,EAAE,CAACL,EAAE,CAAC,CAAC,EAAE,GAAGE,GAAG,KAAK,OAAO,EAAE,GAAGA,EAAE,SAAS,EAAE,OAAOxC,GAAG7L,GAAG,EAAE,CAAC,EAAE,CAACqO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAGA,EAAE,SAAS,EAAE,OAAOxC,GAAG7L,GAAGA,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAACqO,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAGA,EAAE,SAAS,EAAE,OAAOxC,GAAG7L,GAAGA,GAAGA,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAACqO,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,qEAAqEA,EAAE,MAAM,IAAI,CAAC,CAAC,IAAInO,GAAGqF,EAAE,CAAC,KAAKm3B,EAAE,CAAC,EAAE,SAASC,GAAGxuB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,QAAQ,SAAS,CAAC,EAAE,OAAO6hB,EAAE,UAAUh+B,GAAGqc,CAAC,CAAC,CAAC,IAAI9N,GAAGgF,EAAE,CAAC,OAAOo3B,EAAE,CAAC,EAAE,SAASC,GAAGzuB,EAAE,EAAEE,EAAE,EAAEE,EAAE,EAAE,CAAC,IAAIC,EAAEqiB,EAAE1iB,EAAE,IAAI,QAAQ,EAAE,EAAE0iB,EAAE,EAAE,UAAU,SAAS,OAAO,EAAE,EAAE,CAAC,EAAEriB,EAAE,QAAQ,CAAC,EAAE0B,EAAE,CAAC,KAAK7B,EAAE,UAAUE,CAAC,EAAE,OAAOyhB,EAAE,UAAUx9B,GAAG,EAAE0d,CAAC,CAAC,CAAC,IAAIvP,GAAG4E,EAAE,CAAC,QAAQq3B,EAAE,CAAC,EAAE,SAASC,GAAG1uB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,UAAU,mBAAmB,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,UAAU,mBAAmB,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAEksB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAUt9B,GAAG8b,CAAC,CAAC,CAAC,IAAIlN,GAAGiE,EAAE,CAAC,SAASs3B,EAAE,CAAC,EAAE,SAASC,GAAG3uB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,eAAe,mBAAmB,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,eAAe,mBAAmB,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAEksB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAUr9B,GAAG6b,CAAC,CAAC,CAAC,IAAIjN,GAAGgE,EAAE,CAAC,cAAcu3B,EAAE,CAAC,EAAE,SAASC,GAAG5uB,EAAE,CAAC,IAAIE,EAAE,CAAC,MAAMwiB,EAAE1iB,EAAE,QAAQ,MAAM,CAAC,EAAE,OAAO6hB,EAAE,UAAUj9B,GAAGsb,CAAC,CAAC,CAAC,IAAI5M,GAAG8D,EAAE,CAAC,MAAMw3B,EAAE,CAAC,EAAE,SAASC,GAAG7uB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,UAAU,CAAC,EAAE,OAAO6hB,EAAE,UAAU/8B,GAAGob,CAAC,CAAC,CAAC,IAAIrM,GAAGuD,EAAE,CAAC,UAAUy3B,EAAE,CAAC,EAAE,SAASC,GAAG9uB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,CAAC,EAAE,OAAO6hB,EAAE,UAAU98B,GAAGmb,CAAC,CAAC,CAAC,IAAIpM,GAAGsD,EAAE,CAAC,OAAO03B,EAAE,CAAC,EAAE,SAASC,GAAG/uB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,CAAC,EAAE,OAAO6hB,EAAE,UAAU78B,GAAGkb,CAAC,CAAC,CAAC,IAAInM,GAAGqD,EAAE,CAAC,OAAO23B,EAAE,CAAC,EAAE,SAASC,GAAGhvB,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE0iB,EAAE1iB,EAAE,IAAI,WAAW,CAAC,EAAEK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAOwhB,EAAE,UAAUv8B,GAAG,EAAE+a,CAAC,CAAC,CAAC,IAAIlM,GAAGiD,EAAE,CAAC,WAAW43B,EAAE,CAAC,EAAE,SAASC,GAAGjvB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,mBAAmB,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,OAAO,mBAAmB,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAEksB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAUt8B,GAAG8a,CAAC,CAAC,CAAC,IAAIjM,GAAGgD,EAAE,CAAC,MAAM63B,EAAE,CAAC,EAAE,SAASC,GAAGlvB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,YAAY,mBAAmB,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,YAAY,mBAAmB,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAEksB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAUr8B,GAAG6a,CAAC,CAAC,CAAC,IAAIhM,GAAG+C,EAAE,CAAC,WAAW83B,EAAE,CAAC,EAAE,SAAS36B,GAAGyL,EAAE,EAAEE,EAAE,CAAC,GAAGA,GAAG,EAAE,MAAM,IAAI,MAAM,0CAA0C,EAAE,IAAIE,EAAE,CAAC,MAAMJ,EAAE,KAAK,EAAE,IAAIE,CAAC,EAAE,OAAO2hB,EAAE,UAAUp8B,GAAG,CAAC,EAAE2a,CAAC,CAAC,CAAC,SAAS+uB,GAAGnvB,EAAE,EAAE,EAAEE,EAAE,EAAEE,EAAE,EAAEC,EAAE,GAAG,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,4BAA4B,EAAEsa,EAAE,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI;AAAA,sBAC/kU,EAAE,IAAI,GAAG,EAAEA,EAAEO,GAAG,CAAC,EAAE,IAAI,2FAA2F,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE9Y,EAAE,GAAG,EAAE,OAAO,IAAIA,EAAE,GAAG,EAAExI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAIyI,EAAE,CAAC,EAAE,CAAC,EAAEC,EAAE,CAAC,YAAY,EAAE,KAAK/B,EAAE,MAAME,EAAE,KAAKC,CAAC,EAAEqC,EAAEmf,EAAE,UAAU38B,GAAG8c,EAAEC,CAAC,EAAE,OAAOF,EAAExI,EAAEmJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAI/N,GAAGyC,EAAE,CAAC,4BAA4B+3B,EAAE,CAAC,EAAE,SAASC,GAAGpvB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,SAAS,CAAC,EAAE,OAAO6hB,EAAE,UAAUn8B,GAAGwa,CAAC,CAAC,CAAC,IAAItL,GAAGwC,EAAE,CAAC,KAAKg4B,EAAE,CAAC,EAAE,SAASC,GAAGrvB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,CAAC,EAAE,OAAO6hB,EAAE,UAAUl8B,GAAGua,CAAC,CAAC,CAAC,IAAIrL,GAAGuC,EAAE,CAAC,OAAOi4B,EAAE,CAAC,EAAE,SAASp8B,GAAG+M,EAAE,CAAC,OAAOsa,EAAE2B,GAAGjc,CAAC,EAAE,IAAI,4CAA4C,EAAE,CAAC,EAAEE,IAAI,CAAC,IAAIE,EAAEsiB,EAAE,EAAE,IAAI,UAAU,mBAAmB,EAAEriB,EAAEH,GAAG,KAAKwiB,EAAExiB,EAAE,KAAK,SAAS,EAAE,KAAK,OAAO2hB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAEA,EAAE,UAAU,IAAI7hB,EAAEI,CAAC,EAAE,CAACA,CAAC,EAAEC,CAAC,EAAE,OAAOA,GAAG,MAAMka,GAAG,EAAE,MAAMla,EAAE,MAAM,gFAAgF,EAAEivB,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASp8B,GAAG8M,EAAE,CAAC,OAAOsa,EAAE2B,GAAGjc,CAAC,EAAE,IAAI,6CAA6C,EAAE,CAAC,EAAEE,IAAI,CAACoa,EAAE,MAAM,QAAQ,CAAC,EAAE,IAAI,kFAAkF,EAAE,IAAIla,EAAEuiB,GAAG,EAAE,OAAO,WAAW,mBAAmB,EAAEtiB,EAAEH,GAAG,KAAKwiB,EAAExiB,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO2hB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAEA,EAAE,UAAU,IAAI7hB,EAAE,GAAGI,CAAC,EAAEA,EAAEC,CAAC,EAAE,OAAOA,GAAG,MAAMka,GAAG,EAAE,MAAMla,EAAE,MAAM,+FAA+F,EAAEivB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS9wB,GAAGwB,EAAE,CAAC,OAAOsa,EAAE2B,GAAGjc,CAAC,EAAE,IAAI,oDAAoD,EAAE,CAAC,EAAEE,IAAI,CAACoa,EAAE,aAAa1uB,GAAG,IAAI,qDAAqD,EAAE0uB,EAAEpa,GAAG,MAAMA,aAAatU,GAAG,IAAI,0DAA0D,EAAE,GAAG,CAAC,MAAMwU,EAAE,MAAMC,CAAC,EAAEwhB,EAAE,UAAU,IAAI7hB,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEE,CAAC,EAAE,OAAOovB,GAAGlvB,CAAC,EAAE,CAAC,KAAKA,EAAE,CAAC,EAAE,MAAMC,CAAC,CAAC,CAAC,CAAC,SAAS5B,GAAGuB,EAAE,CAAC,OAAOsa,EAAE2B,GAAGjc,CAAC,EAAE,IAAI,qDAAqD,EAAE,CAAC,EAAEE,IAAI,CAACoa,EAAE,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAMja,GAAGA,aAAazU,EAAE,EAAE,IAAI,oEAAoE,EAAE0uB,EAAEpa,GAAG,MAAMA,aAAatU,GAAG,IAAI,8DAA8D,EAAE,IAAIwU,EAAEyhB,EAAE,UAAU,IAAI7hB,EAAE,GAAG,CAAC,EAAE,EAAEE,CAAC,EAAE,OAAOA,GAAG,MAAMqa,GAAGna,EAAE,MAAM,MAAMF,EAAE,MAAM,uGAAuG,EAAEovB,GAAGlvB,EAAE,KAAK,EAAEA,CAAC,CAAC,CAAC,SAASzB,GAAGqB,EAAE,EAAE,CAACsa,EAAE2B,GAAGjc,CAAC,EAAE,IAAI,qDAAqD,EAAEsa,EAAE,GAAG,MAAM,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAMrY,GAAGA,aAAa1V,EAAE,EAAE,IAAI,+EAA+E,EAAE,IAAI2T,EAAE,GAAG,KAAK,GAAG,CAACA,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ+B,KAAK4f,EAAE,oBAAoB,EAAE,KAAKA,EAAE,oBAAoB5f,CAAC,CAAC,CAAC,CAAC,IAAI7B,EAAEF,EAAE,EAAE,OAAO+B,GAAG,CAACA,EAAE,SAAS,EAAE,KAAK5B,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO4B,GAAGA,EAAE,SAAS,EAAEqY,EAAE,EAAE,OAAO,EAAE,IAAI,gGAAgGja,CAAC,0BAA0B,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM0B,CAAC,EAAE8f,EAAE,UAAU7hB,EAAE,EAAE,KAAK,CAAC,EAAEsa,EAAEvY,EAAE,KAAKE,GAAGA,GAAG,IAAI,EAAE,IAAI,8LAA8L,EAAEqY,EAAE,EAAE,OAAO,EAAE,IAAI,iFAAiF,EAAE,IAAI,SAAS,EAAE,IAAItY,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAACC,EAAES,IAAI,CAACX,EAAEW,CAAC,GAAG,OAAOV,EAAEC,EAAE,IAAI,EAAEF,EAAEW,CAAC,EAAE,CAAC,EAAEtC,GAAG,MAAMA,EAAE,QAAQ6B,GAAGD,EAAEC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAMD,CAAC,CAAC,CAAC,SAAShS,GAAGgQ,EAAE,CAAC,OAAO6hB,EAAE,WAAW7hB,CAAC,CAAC,CAAC,SAASsvB,GAAGtvB,EAAE,CAAC,GAAGA,EAAE,OAAOE,GAAGA,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM;AAAA,oEACryG,CAAC,CAAC,SAASqvB,GAAGvvB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,KAAK,CAAC,EAAE,OAAO6hB,EAAE,UAAUz6B,GAAG8Y,CAAC,CAAC,CAAC,IAAIrJ,GAAGO,EAAE,CAAC,KAAKm4B,EAAE,CAAC,EAAE,SAASC,GAAGxvB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,UAAU,CAAC,EAAE,OAAO6hB,EAAE,UAAUv3B,GAAG4V,CAAC,CAAC,CAAC,IAAItE,GAAGxE,EAAE,CAAC,UAAUo4B,EAAE,CAAC,EAAE,SAASC,GAAGzvB,EAAE,CAAC,IAAI,EAAE0iB,EAAE1iB,EAAE,IAAI,YAAY,EAAE,OAAOhQ,GAAG,IAAI,CAAC,MAAM6G,GAAG+E,GAAG/E,GAAG,CAAC,CAAC,CAAC,EAAE,SAASiL,GAAGpL,EAAEoL,EAAE9G,GAAGnE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI/B,GAAGsC,EAAE,CAAC,YAAYq4B,EAAE,CAAC,EAAE,SAASC,GAAG1vB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,KAAK,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,KAAK,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAUt2B,GAAG8U,CAAC,CAAC,CAAC,IAAI3D,GAAGtF,EAAE,CAAC,KAAKs4B,EAAE,CAAC,EAAE,SAASC,GAAG3vB,EAAE,EAAE,GAAG,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,KAAK,EAAEE,EAAE,KAAK,GAAG,IAAIA,EAAE,KAAK,EAAE,MAAM,MAAM,gFAAgFA,EAAE,IAAI,iBAAiB,CAAC,EAAE,EAAE,OAAOlQ,GAAG,CAACqQ,EAAEwB,IAAI,CAAC,IAAIE,EAAEtM,GAAG4K,EAAE,EAAE,EAAE,EAAE2B,EAAEtF,GAAG2D,EAAE0B,CAAC,EAAEE,EAAEvF,GAAGhO,GAAEsT,EAAE,SAAS,EAAEpN,GAAG+H,GAAG/K,GAAGoQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAOH,EAAE,CAACI,CAAC,CAAC,EAAE,CAAC,MAAMA,EAAE,SAAS,CAACU,EAAEC,IAAI,CAAC,GAAG,CAACC,CAAC,EAAED,EAAE,EAAE,GAAGoB,EAAEpS,GAAGiR,CAAC,EAAE,OAAOnG,GAAGiG,EAAEjM,EAAEiG,GAAGgG,EAAE,EAAE,CAAC,EAAEqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE9D,CAAC,CAAC,CAAC,IAAInL,GAAGqC,EAAE,CAAC,YAAYu4B,EAAE,CAAC,EAAE,SAASC,GAAG5vB,EAAE,EAAE,KAAKE,EAAE,GAAG,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,WAAW,EAAEK,EAAE+a,GAAG,EAAEhb,EAAE,KAAK,EAAE,EAAE3K,GAAG2K,EAAEC,EAAE,EAAE,EAAE,EAAE3D,GAAG0D,EAAE,CAAC,EAAE2B,EAAEnQ,GAAG,CAAC,EAAEoQ,EAAErF,GAAGoF,EAAE1B,CAAC,EAAE4B,EAAErN,GAAGoN,CAAC,EAAEU,EAAE,EAAEnJ,EAAE,EAAE0I,EAAE,KAAK,EAAEA,CAAC,EAAE,GAAG/B,EAAE,CAAC,IAAIyC,EAAE0qB,GAAG3qB,EAAE,MAAMrC,CAAC,EAAE,OAAO9G,EAAEmJ,EAAEC,CAAC,CAAC,CAAC,OAAOD,CAAC,CAAC,IAAI1N,GAAGoC,EAAE,CAAC,WAAWw4B,EAAE,CAAC,EAAE,SAASC,GAAG7vB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,aAAa,MAAM,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,aAAa,MAAM,EAAE4J,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAUh8B,GAAGwa,CAAC,CAAC,CAAC,IAAIpL,GAAGmC,EAAE,CAAC,YAAYy4B,EAAE,CAAC,EAAE,SAASC,GAAG9vB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,aAAa,MAAM,CAAC,EAAE,OAAO6hB,EAAE,UAAU/7B,GAAGoa,CAAC,CAAC,CAAC,IAAIhL,GAAGkC,EAAE,CAAC,YAAY04B,EAAE,CAAC,EAAE,SAASC,GAAG/vB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,YAAY,MAAM,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,YAAY,MAAM,EAAE4J,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAU97B,GAAGsa,CAAC,CAAC,CAAC,IAAIlL,GAAGiC,EAAE,CAAC,WAAW24B,EAAE,CAAC,EAAE,SAASC,GAAGhwB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,aAAa,MAAM,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,aAAa,MAAM,EAAE,OAAO4J,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAEnL,GAAGE,GAAG6K,EAAE,CAAC,EAAE9K,GAAGD,GAAG+K,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI5K,GAAGgC,EAAE,CAAC,YAAY44B,EAAE,CAAC,EAAMC,GAAG,WAAW,SAASC,GAAGlwB,EAAE,EAAEE,EAAE,OAAO,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,iBAAiB,cAAc,EAAEK,EAAEqiB,EAAE,EAAE,SAAS,cAAc,EAAE,EAAEtiB,EAAE,MAAMA,EAAE,MAAM,OAAO,CAAC,EAAE,EAAEC,EAAE,MAAMA,EAAE,MAAM,OAAO,CAAC,EAAE0B,EAAExI,EAAE6G,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE4B,EAAEzI,EAAE8G,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG0B,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM,sDAAsD,EAAE,GAAGA,EAAE,MAAM,CAAC,IAAIC,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,MAAM,gEAAgE,EAAE,GAAG0Y,GAAG1Y,EAAE,KAAK,GAAGiuB,GAAG,MAAM,IAAI,MAAM,qCAAqCA,EAAE,EAAE,EAAE,GAAGluB,EAAE,MAAM,CAAC,GAAGkuB,GAAG,MAAM,IAAI,MAAM,oCAAoCA,EAAE,+BAA+BluB,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,IAAIE,EAAE,CAAC,eAAeF,EAAE,OAAOC,CAAC,EAAEU,EAAE,CAAC,KAAKxC,CAAC,EAAE,OAAO2hB,EAAE,UAAUj4B,GAAGqY,EAAES,CAAC,CAAC,CAAC,IAAIvI,GAAG/C,EAAE,CAAC,cAAc84B,EAAE,CAAC,EAAE,SAAS56B,GAAG0K,EAAE,EAAE,CAAC,OAAO7F,GAAG6F,EAAE,EAAE,MAAM,CAAC,CAAC,SAASmwB,GAAGnwB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,SAAS,EAAE,EAAE,EAAE+B,EAAE,EAAEC,EAAE,GAAG,EAAE,OAAO,IAAIA,EAAE,GAAGD,EAAExI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG+gB,EAAEvY,EAAE,OAAO,EAAE,IAAI,uDAAuDA,EAAE,IAAI,GAAG,EAAEuY,EAAEkP,GAAGtpB,EAAE,CAAC,EAAE,IAAI,wEAAwEA,CAAC,mBAAmB,CAAC,GAAG,EAAEwpB,GAAG,UAAUtpB,EAAEC,CAAC,EAAE,IAAI4B,EAAE,CAAC,EAAEF,CAAC,EAAEW,EAAE,CAAC,WAAW,EAAE,QAAQxC,EAAE,IAAIE,EAAE,gBAAgBC,CAAC,EAAEsC,EAAEkf,EAAE,UAAUv7B,GAAG2b,EAAES,CAAC,EAAE,OAAOV,EAAEzI,EAAEoJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAIjN,GAAG0B,EAAE,CAAC,SAAS+4B,EAAE,CAAC,EAAE,SAASC,GAAGpwB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAEE,EAAEE,EAAEC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,WAAW,EAAE+B,EAAE,EAAEC,EAAE,GAAG,EAAE,OAAO,IAAIA,EAAE,GAAGD,EAAExI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG+gB,EAAEvY,EAAE,OAAO,EAAE,IAAI,qDAAqDA,EAAE,IAAI,GAAG,EAAEuY,EAAE,IAAI,QAAQ,IAAI,gFAAgF,CAAC,EAAE,EAAEoP,GAAG,YAAYtpB,EAAEC,CAAC,EAAE,IAAI4B,EAAE,CAAC,EAAEF,CAAC,EAAEW,EAAE,CAAC,WAAW,EAAE,QAAQxC,EAAE,IAAIE,EAAE,gBAAgBC,EAAE,WAAW,CAAC,EAAEsC,EAAEkf,EAAE,UAAUt7B,GAAG0b,EAAES,CAAC,EAAE,OAAOV,EAAEzI,EAAEoJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAIhN,GAAGyB,EAAE,CAAC,WAAWg5B,EAAE,CAAC,EAAE,SAASC,GAAGrwB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,GAAG,CAAC,IAAIyB,EAAE,CAAC,EAAE4gB,EAAE1iB,EAAE,IAAI,mBAAmB,CAAC,EAAE+B,EAAE,CAAC,WAAW,EAAE,QAAQ7B,EAAE,IAAIE,EAAE,oBAAoBC,CAAC,EAAE2B,EAAE6f,EAAE,UAAUn7B,GAAGob,EAAEC,CAAC,EAAE,MAAM,CAAC,OAAOC,EAAE,CAAC,EAAE,QAAQA,EAAE,CAAC,CAAC,CAAC,CAAC,IAAIpM,GAAGwB,EAAE,CAAC,mBAAmBi5B,EAAE,CAAC,EAAE,SAASC,GAAGtwB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,SAAS,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,SAAS,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAEF,EAAE,QAAQ,SAASA,EAAExR,GAAEwR,EAAE,OAAO,EAAEE,EAAE1R,GAAE0R,EAAE,OAAO,GAAGksB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAUl7B,GAAG0Z,CAAC,CAAC,CAAC,IAAIxK,GAAGuB,EAAE,CAAC,SAASk5B,EAAE,CAAC,EAAE,SAASC,GAAGvwB,EAAE,EAAE,KAAKE,EAAE,GAAG,CAAC,IAAIG,EAAE,CAAC,EAAEqiB,EAAE1iB,EAAE,IAAI,MAAM,CAAC,EAAE6B,EAAE,CAAC,KAAK,EAAE,SAAS3B,CAAC,EAAE,OAAO2hB,EAAE,UAAUj7B,GAAGyZ,EAAEwB,CAAC,CAAC,CAAC,IAAI/L,GAAGsB,EAAE,CAAC,MAAMm5B,EAAE,CAAC,EAAE,SAAShxB,GAAGS,EAAE,EAAE,UAAU,CAAC,GAAG0c,GAAG1c,CAAC,EAAE,IAAI,YAAY,CAAC,IAAII,EAAEb,GAAGS,EAAE,SAAS,EAAEK,EAAEd,GAAGS,EAAE,SAAS,EAAE,OAAOlR,GAAGsR,EAAEC,CAAC,CAAC,CAAC,IAAIH,EAAEsc,GAAG9B,GAAG1a,CAAC,EAAE,CAAC,EAAE,OAAO6hB,EAAE,WAAW3hB,EAAEF,EAAE,CAAC,CAAC,CAAC,SAAS9I,GAAG8I,EAAE,EAAE,UAAU,CAAC,GAAG0c,GAAG1c,CAAC,EAAE,IAAI,YAAY,CAAC,IAAII,EAAElJ,GAAG8I,EAAE,SAAS,EAAEK,EAAEd,GAAGS,EAAE,SAAS,EAAE,OAAOlR,GAAGsR,EAAEC,CAAC,CAAC,CAAC,IAAIH,EAAEqc,GAAG7B,GAAG1a,CAAC,EAAE,CAAC,EAAE,OAAO6hB,EAAE,WAAW3hB,EAAEF,EAAE,CAAC,CAAC,CAAC,SAAShK,GAAGgK,EAAE,EAAE,CAAC,SAASE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,GAAGA,IAAI,MAAMA,IAAI,KAAK,MAAM,IAAI,UAAU,GAAGA,CAAC,4CAA4C,EAAE,GAAGF,IAAI,OAAO,MAAM,CAAC,EAAE,IAAII,EAAEsiB,EAAE1iB,EAAE,IAAI,WAAWA,aAAapU,GAAGoU,EAAE,MAAM,SAAS,EAAE,GAAG,IAAI,OAAO,MAAM,CAACI,CAAC,EAAE,IAAIC,EAAEqiB,EAAE,EAAE,IAAI,WAAW,aAAa92B,GAAG,EAAE,MAAM,SAAS,EAAE,EAAE8uB,GAAGta,EAAE,KAAK,EAAE,EAAEsa,GAAGra,EAAE,KAAK,EAAE,OAAOH,IAAI,MAAME,EAAE7G,EAAE6G,EAAE,CAAC,EAAE,EAAE,CAAC,EAAEC,EAAE9G,EAAE8G,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC9K,GAAG2B,GAAG,CAAC,EAAE,CAAC,EAAEkJ,EAAE,KAAK,EAAEA,CAAC,EAAE7K,GAAG8K,EAAEnJ,GAAG,CAAC,EAAE,CAAC,EAAEmJ,EAAE,KAAK,CAAC,CAAC,IAAID,EAAE7G,EAAE6G,EAAE,CAAC,GAAG,CAAC,CAAC,EAAEC,EAAE9G,EAAE8G,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC9K,GAAG6K,EAAElJ,GAAG,CAAC,EAAE,CAAC,EAAEkJ,EAAE,KAAK,CAAC,EAAE7K,GAAG2B,GAAG,CAAC,EAAE,CAAC,EAAEmJ,EAAE,KAAK,EAAEA,CAAC,CAAC,EAAE,CAAC,SAASmwB,GAAGxwB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,SAAS,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,SAAS,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAEF,EAAE,QAAQ,SAASA,EAAExR,GAAEwR,EAAE,OAAO,EAAEE,EAAE1R,GAAE0R,EAAE,OAAO,GAAGksB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAU/6B,GAAGuZ,CAAC,CAAC,CAAC,IAAIlK,GAAGiB,EAAE,CAAC,SAASo5B,EAAE,CAAC,EAAE,SAASC,GAAGzwB,EAAE,EAAEE,EAAE,CAACoa,EAAEpa,IAAI,WAAWA,IAAI,YAAY,IAAI,+DAA+DA,CAAC,GAAG,EAAE,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,WAAW,EAAE,GAAGI,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,gEAAgE,EAAEka,EAAE,EAAE,SAASla,EAAE,KAAK,IAAI,wCAAwCA,EAAE,IAAI,SAAS,EAAE,MAAM,GAAG,EAAE,IAAIC,EAAEH,IAAI,UAAU,EAAE,EAAE,QAAQ6B,EAAE,EAAEA,EAAE3B,EAAE,KAAK2B,IAAIuY,EAAE,EAAEvY,CAAC,EAAE,SAAS,EAAE,IAAI,uDAAuD,EAAEuY,EAAE,EAAEvY,CAAC,EAAE,CAAC,GAAG,GAAG,EAAEA,CAAC,EAAE,CAAC,GAAG3B,EAAE,MAAM2B,CAAC,EAAE1B,GAAG,EAAE0B,CAAC,EAAE,CAAC,GAAG,GAAG,EAAEA,CAAC,EAAE,CAAC,GAAG3B,EAAE,MAAM2B,CAAC,EAAE1B,EAAE,IAAI,wBAAwB0B,CAAC,uCAAuC3B,EAAE,MAAM2B,CAAC,EAAE1B,CAAC,sCAAsCD,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAKF,CAAC,EAAE,EAAE,CAAC,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAU96B,GAAG,EAAE,CAAC,CAAC,CAAC,IAAIqP,GAAGgB,EAAE,CAAC,WAAWq5B,EAAE,CAAC,EAAE,SAASC,GAAG1wB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,KAAK,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,KAAK,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAU76B,GAAGqZ,CAAC,CAAC,CAAC,IAAIhK,GAAGe,EAAE,CAAC,KAAKs5B,EAAE,CAAC,EAAE,SAASC,GAAG3wB,EAAE,EAAE,KAAKE,EAAE,GAAG,CAACF,EAAE0iB,EAAE1iB,EAAE,IAAI,SAAS,EAAE,IAAII,EAAEgb,GAAG,EAAEpb,EAAE,KAAK,EAAEK,EAAEvK,GAAGkK,EAAEI,EAAEF,CAAC,EAAE,EAAEG,EAAE,MAAMH,IAAI,EAAEmtB,GAAGhtB,EAAE,MAAMD,CAAC,GAAG,IAAI,EAAEjE,GAAGO,GAAGhO,GAAEsR,EAAE,SAAS,EAAEzG,EAAE8G,EAAE,CAAC,CAAC,CAAC,EAAE0B,EAAEjM,GAAG,EAAEsK,EAAEF,CAAC,EAAE,MAAM,CAAC,KAAKG,EAAE,SAAS0B,CAAC,CAAC,CAAC,IAAIvL,GAAGY,EAAE,CAAC,SAASu5B,EAAE,CAAC,EAAE,SAASC,GAAG5wB,EAAE,EAAEE,EAAEE,EAAE,CAAC,IAAIC,EAAEqiB,EAAE,EAAE,OAAO,cAAc,EAAE,EAAEC,GAAGziB,EAAE,IAAI,cAAc,EAAE,EAAEyiB,GAAGviB,EAAE,IAAI,cAAc,EAAE2B,EAAE1B,EAAE2B,EAAE,CAAC,EAAE,QAAQW,EAAE,EAAEA,EAAE3C,EAAE,OAAO2C,IAAI,CAAC,IAAIC,EAAE5C,EAAE2C,CAAC,EAAEZ,EAAE,EAAEY,CAAC,EAAE,EAAEA,CAAC,CAAC,EAAEX,EAAE,KAAKY,EAAE,CAAC,CAAC,EAAEZ,EAAE,KAAKY,EAAE,CAAC,CAAC,EAAEb,EAAEa,EAAE,CAAC,CAAC,CAAC,IAAIX,EAAE,CAAC,EAAES,EAAE,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAEX,EAAE,OAAOW,GAAG,EAAEV,EAAE,KAAKD,EAAEW,CAAC,CAAC,EAAED,EAAE,KAAKV,EAAEW,EAAE,CAAC,CAAC,EAAE,MAAM,CAACV,EAAES,CAAC,CAAC,CAAC,IAAI/L,GAAGS,EAAE,CAAC,cAAcw5B,EAAE,CAAC,EAAE,SAASC,GAAG7wB,EAAE,EAAEE,EAAEE,EAAE,GAAG,CAAC,IAAIC,EAAEqiB,EAAE1iB,EAAE,SAAS,aAAa,EAAE,EAAEK,EAAE,KAAK,EAAEA,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,IAAI,MAAM,+DAA+D,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,IAAI,MAAM,gDAAgD,CAAC,EAAE,EAAEH,EAAEA,GAAG,KAAK,OAAO,EAAE,IAAI8B,EAAE,CAAC,OAAO,IAAI,EAAEzI,EAAE8G,EAAE,CAAC,EAAE,EAAE,CAAC,EAAEA,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,KAAKH,EAAE,WAAWE,CAAC,EAAEsC,EAAEmf,EAAE,UAAU36B,GAAG8a,EAAE,CAAC,EAAE,OAAO,IAAI,EAAEzI,EAAEmJ,EAAE,CAACA,EAAE,IAAI,CAAC,EAAEA,CAAC,CAAC,IAAI9L,GAAGQ,EAAE,CAAC,aAAay5B,EAAE,CAAC,EAAE,SAASC,GAAG9wB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,WAAW,mBAAmB,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,WAAW,mBAAmB,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAEksB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAUr6B,GAAG6Y,CAAC,CAAC,CAAC,IAAIrJ,GAAGI,EAAE,CAAC,UAAU05B,EAAE,CAAC,EAAE,SAASC,GAAG/wB,EAAE,EAAEE,EAAE,EAAEE,EAAE,EAAEC,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,IAAI,MAAM,iDAAiD,CAAC,EAAE,EAAE,IAAIyB,EAAE,CAAC,QAAQ4gB,EAAE1iB,EAAE,UAAU,SAAS,OAAO,CAAC,EAAE+B,EAAE,CAAC,MAAM1B,EAAE,MAAM,EAAE,QAAQH,EAAE,SAASE,CAAC,EAAE,OAAOyhB,EAAE,UAAUn6B,GAAGoa,EAAEC,CAAC,CAAC,CAAC,IAAI9K,GAAGG,EAAE,CAAC,QAAQ25B,EAAE,CAAC,EAAE,SAASC,GAAGhxB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,UAAU,CAAC,EAAE,OAAO6hB,EAAE,UAAUl6B,GAAGuY,CAAC,CAAC,CAAC,IAAI/I,GAAGC,EAAE,CAAC,UAAU45B,EAAE,CAAC,EAAE,SAASC,GAAGjxB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,KAAK,cAAc,EAAEI,EAAEsiB,EAAE,EAAE,KAAK,cAAc,EAAEpI,EAAEpa,EAAE,OAAO,GAAGE,EAAE,OAAO,EAAE,IAAI,+DAA+DF,EAAE,IAAI,QAAQE,EAAE,IAAI,GAAG,EAAE,IAAIC,EAAE9G,EAAE2G,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE3G,EAAE6G,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO7K,GAAG8K,EAAE,CAAC,CAAC,CAAC,IAAIhJ,GAAGD,EAAE,CAAC,cAAc65B,EAAE,CAAC,EAAE,SAASC,GAAGlxB,EAAE,EAAEE,EAAE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,KAAK,EAAE,GAAGI,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,oDAAoD,EAAE,IAAIC,EAAE,CAAC,SAAS,EAAE,cAAcH,CAAC,EAAE,EAAE,CAAC,EAAEE,CAAC,EAAE,OAAOyhB,EAAE,UAAU95B,GAAG,EAAEsY,CAAC,CAAC,CAAC,IAAI/I,GAAGF,EAAE,CAAC,KAAK85B,EAAE,CAAC,EAAE,SAASC,GAAGnxB,EAAE,EAAEE,EAAE,EAAE,CAAC,OAAOoa,EAAE,EAAE,SAAS,EAAE,IAAI,kDAAkD,EAAEhjB,GAAG0I,EAAE,CAAC,CAAC,EAAEE,CAAC,CAAC,CAAC,IAAI3I,GAAGH,EAAE,CAAC,OAAO+5B,EAAE,CAAC,EAAE,SAASC,GAAGpxB,EAAE,EAAEE,EAAE,EAAE,CAAC,OAAOoa,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,uDAAuD,EAAEhjB,GAAG0I,EAAE,EAAEE,CAAC,CAAC,CAAC,IAAI1I,GAAGJ,EAAE,CAAC,OAAOg6B,EAAE,CAAC,EAAE,SAASC,GAAGrxB,EAAE,EAAEE,EAAE,EAAE,CAAC,OAAOoa,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,uDAAuD,EAAEhjB,GAAG0I,EAAE,EAAEE,CAAC,CAAC,CAAC,IAAIzI,GAAGL,EAAE,CAAC,OAAOi6B,EAAE,CAAC,EAAE,SAASC,GAAGtxB,EAAE,EAAEE,EAAE,EAAE,CAAC,OAAOoa,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,uDAAuD,EAAEhjB,GAAG0I,EAAE,EAAEE,CAAC,CAAC,CAAC,IAAIxI,GAAGN,EAAE,CAAC,OAAOk6B,EAAE,CAAC,EAAE,SAASC,GAAGvxB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,gBAAgB,EAAEsa,EAAEla,EAAE,MAAM,EAAE,EAAE,OAAO,IAAI,cAAcA,EAAE,IAAI,kCAAkC,EAAE,MAAM,EAAE,EAAEka,EAAEpa,EAAE,SAAS,EAAE,OAAO,IAAI,qBAAqBA,EAAE,MAAM,kCAAkC,EAAE,MAAM,EAAE,EAAEoa,EAAEla,EAAE,MAAM,OAAO,CAAC,EAAE2B,EAAEC,IAAIA,EAAE,GAAGA,GAAG,EAAE,OAAO,IAAID,EAAE7B,EAAE8B,EAAE,CAAC,EAAE,CAAC,EAAE9B,EAAE8B,EAAE,CAAC,EAAE,CAAC,GAAG,EAAEA,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,4BAA4B5B,EAAE,MAAM,MAAM,CAAC,CAAC,kBAAkBF,EAAE,SAAS,CAAC,qCAAqC,EAAE,SAAS,CAAC,EAAE,EAAE,IAAIG,EAAE,CAAC,EAAED,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,SAASF,CAAC,EAAE,OAAO2hB,EAAE,UAAUt3B,GAAG8V,EAAE,CAAC,CAAC,CAAC,IAAIxE,GAAGzE,EAAE,CAAC,gBAAgBm6B,EAAE,CAAC,EAAE,SAASC,GAAGxxB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE,CAACA,GAAG,OAAOA,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,OAAO,EAAE,GAAGD,IAAI,IAAIA,EAAE,SAAS,IAAI2B,EAAE2gB,EAAE1iB,EAAE,IAAI,SAAS,EAAEgC,EAAED,EAAEE,EAAE,GAAGF,EAAE,OAAO,IAAIE,EAAE,GAAGD,EAAEzI,EAAEwI,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAGuY,EAAEkP,GAAG,EAAEnpB,CAAC,EAAE,IAAI,qEAAqE,CAAC,mBAAmBA,CAAC,GAAG,EAAE,IAAIqC,EAAEimB,GAAG3mB,EAAE,MAAM,EAAE,EAAE3B,EAAED,CAAC,EAAEuC,EAAE,CAACD,EAAE,eAAeA,EAAE,aAAa,EAAEE,EAAExC,IAAI,OAAOwC,EAAE6uB,GAAG,CAAC/uB,EAAE,aAAaA,EAAE,WAAW,EAAEC,CAAC,EAAEC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAIC,EAAEF,EAAE,CAAC,IAAI,GAAGA,EAAE,CAAC,IAAI,EAAE,CAACG,EAAEkB,CAAC,EAAE0tB,GAAG,CAAChvB,EAAE,SAASA,EAAE,OAAO,EAAEC,EAAEC,CAAC,EAAE,EAAEC,EAAEzC,EAAE,QAAQkH,EAAEzE,EAAEb,EAAEnG,GAAGmG,EAAEW,EAAEG,CAAC,EAAE2B,GAAGvE,IAAI,MAAM,IAAI3S,GAAG+Z,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI5R,GAAG4R,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE5C,EAAE7B,EAAE4B,EAAEzW,GAAGyW,EAAE9B,EAAEqB,CAAC,EAAE,OAAO/B,EAAE1I,EAAEmL,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,SAASgtB,GAAG1xB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEF,EAAE,IAAIwC,GAAGA,EAAE,CAAC,CAAC,EAAErC,EAAEH,EAAE,IAAIwC,GAAGA,EAAE,CAAC,CAAC,EAAE,EAAE1C,EAAE,OAAOI,EAAEC,CAAC,EAAE,EAAE,EAAE,IAAI,CAACqC,EAAEC,KAAKD,EAAE,EAAEC,CAAC,EAAED,GAAGA,CAAC,EAAEX,EAAE1B,EAAE,IAAI,CAACqC,EAAEC,IAAID,EAAE,EAAEC,CAAC,CAAC,EAAEX,EAAE,EAAE,IAAI,CAACU,EAAEC,IAAI,CAACvC,EAAEuC,CAAC,EAAEZ,EAAEY,CAAC,CAAC,CAAC,EAAEV,EAAE,EAAE,IAAI,CAACS,EAAEC,IAAI,CAAC,EAAE,EAAEA,CAAC,CAAC,CAAC,EAAE,MAAM,CAACX,EAAEC,CAAC,CAAC,CAAC,SAASwvB,GAAGzxB,EAAE,EAAE,CAAC,IAAI,EAAEA,EAAE,IAAI,CAAC8B,EAAEC,IAAID,GAAGA,EAAE,IAAI,EAAEC,CAAC,EAAE,EAAE,EAAE,IAAID,GAAGA,EAAE,CAAC,EAAEzB,EAAE,EAAE,IAAIyB,GAAG,KAAK,MAAMA,EAAE,CAAC,CAAC,EAAED,EAAE,EAAE,IAAI,CAACC,EAAEC,IAAID,EAAEzB,EAAE0B,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAACD,EAAEC,IAAI,CAAC1B,EAAE0B,CAAC,EAAEF,EAAEE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIpK,GAAGP,EAAE,CAAC,MAAMo6B,EAAE,CAAC,EAAE,SAASG,GAAG3xB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,EAAEI,EAAEsiB,EAAE,EAAE,QAAQ,OAAO,EAAEriB,EAAE,CAAC,EAAEH,EAAE,MAAME,CAAC,EAAE,OAAOyhB,EAAE,UAAU35B,GAAGmY,CAAC,CAAC,CAAC,IAAIxI,GAAGT,EAAE,CAAC,OAAOu6B,EAAE,CAAC,EAAE,SAASC,GAAG5xB,EAAE,EAAE,KAAKE,EAAE,GAAG,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,MAAM,EAAEI,EAAE,QAAQ,SAASA,EAAE1R,GAAE0R,EAAE,OAAO,GAAG,IAAIC,EAAE,CAAC,EAAED,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,SAASF,CAAC,EAAE,OAAO2hB,EAAE,UAAU15B,GAAGkY,EAAE,CAAC,CAAC,CAAC,IAAItI,GAAGX,EAAE,CAAC,MAAMw6B,EAAE,CAAC,EAAE,SAASC,GAAG7xB,EAAE,EAAEE,EAAEE,EAAE,CAAC,IAAIC,EAAEL,EAAE,IAAI,CAAC0C,EAAEC,IAAI+f,EAAEhgB,EAAE,UAAUC,CAAC,GAAG,eAAe,OAAO,CAAC,EAAE,EAAE+f,EAAE,EAAE,oBAAoB,cAAc,EAAE,EAAEA,EAAExiB,EAAE,UAAU,eAAe,OAAO,EAAE6B,EAAE,CAAC,mBAAmB1B,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE2B,EAAE,CAAC,iBAAiB5B,CAAC,EAAE6B,EAAE4f,EAAE,UAAUv5B,GAAGyZ,EAAEC,CAAC,EAAE,MAAM,CAAC,mBAAmBC,EAAE,MAAM,EAAEA,EAAE,OAAO,CAAC,EAAE,kBAAkBA,EAAEA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAIhK,GAAGb,EAAE,CAAC,cAAcy6B,EAAE,CAAC,EAAE,SAASC,GAAG9xB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,SAAS,aAAa,EAAEK,EAAEqiB,EAAE,EAAE,SAAS,cAActiB,EAAE,KAAK,EAAE,EAAEsiB,EAAExiB,EAAE,SAAS,cAAcE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAOA,EAAE,OAAOC,EAAE,OAAO,CAAC,EAAE0B,EAAE8f,EAAE,UAAUt5B,GAAG,CAAC,EAAE,MAAM,CAAC,eAAewZ,EAAE,CAAC,EAAE,cAAcA,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI7J,GAAGd,EAAE,CAAC,aAAa06B,EAAE,CAAC,EAAE,SAASC,GAAG/xB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,QAAQ,uBAAuB,OAAO,EAAE,EAAE0iB,EAAE,EAAE,SAAS,sBAAsB,EAAE3gB,EAAE2gB,EAAExiB,EAAE,eAAe,uBAAuB,EAAE,KAAK,EAAE8B,EAAE5B,EAAE,IAAI,CAACuC,EAAEC,IAAI8f,EAAE/f,EAAE,UAAUC,CAAC,GAAG,uBAAuB,OAAO,CAAC,EAAEX,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAaF,EAAE,oBAAoBC,CAAC,EAAEU,EAAE,CAAC,kBAAkBrC,CAAC,EAAE,OAAOwhB,EAAE,UAAUr5B,GAAGyZ,EAAES,CAAC,CAAC,CAAC,IAAIvK,GAAGf,EAAE,CAAC,sBAAsB26B,EAAE,CAAC,EAAE,SAASC,GAAGhyB,EAAE,EAAEE,EAAE,CAACwc,GAAG1c,CAAC,EAAE,IAAII,EAAEsa,GAAG1a,CAAC,EAAEK,EAAE,KAAK,GAAGH,GAAG,MAAMA,IAAI,UAAUG,EAAE,IAAI,aAAaD,CAAC,UAAUF,IAAI,QAAQG,EAAE,IAAI,WAAWD,CAAC,UAAUF,IAAI,OAAOG,EAAE,IAAI,WAAWD,CAAC,MAAO,OAAM,IAAI,MAAM,qBAAqBF,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAEE,EAAE,IAAIC,EAAE,CAAC,EAAE,EAAE,EAAE,OAAOwhB,EAAE,WAAWxhB,EAAEL,EAAEE,CAAC,CAAC,CAAC,IAAI9H,GAAGhB,EAAE,CAAC,MAAM46B,EAAE,CAAC,EAAMC,GAAG3xB,GAAGgF,GAAG,CAAC,EAAM9H,GAAG,CAAC,EAAEyC,GAAGzC,GAAG,CAAC,qBAAqB,IAAI00B,GAAG,mBAAmB,IAAIC,GAAG,cAAc,IAAIC,GAAG,wBAAwB,IAAIC,GAAG,kBAAkB,IAAIC,GAAG,kBAAkB,IAAIC,GAAG,mBAAmB,IAAIC,GAAG,oBAAoB,IAAIC,GAAG,oBAAoB,IAAIC,GAAG,KAAK,IAAIC,GAAG,YAAY,IAAIC,EAAE,CAAC,EAAE,IAAIC,GAAG,KAAKX,GAAG,GAAG,SAASI,GAAGtyB,EAAE,EAAEE,EAAE,CAAC,OAAOA,GAAG,OAAOA,EAAE0yB,GAAG,GAAGE,GAAG9yB,EAAE,EAAE,CAACI,EAAEC,IAAI0yB,GAAG3yB,EAAEC,EAAEH,CAAC,CAAC,CAAC,CAAC,SAAS0yB,IAAI,CAAC,OAAO/Q,EAAE,QAAQ,eAAe,IAAI,GAAGgR,GAAGX,EAAE,CAAC,SAASY,GAAG9yB,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,GAAG,IAAI+d,GAAGne,CAAC,GAAGme,GAAG,CAAC,KAAK/d,EAAE,IAAI+d,GAAGne,CAAC,GAAGme,GAAG,CAAC,IAAI/d,EAAE,IAAIA,EAAE,CAAC,IAAI,EAAEJ,EAAE,YAAY,KAAK+B,EAAE,EAAE,YAAY,KAAK,GAAG,IAAIA,EAAE,MAAM,IAAI,MAAM,yCAAyC,CAAC,eAAeA,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,QAAQ/B,CAAC,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAEuiB,GAAGviB,CAAC,EAAE+B,EAAEwgB,GAAG,CAAC,EAAE,GAAG,CAAC/H,GAAG,EAAEzY,CAAC,EAAE,MAAM,IAAI,MAAM,0CAA0C,CAAC,iBAAiBA,CAAC,GAAG,CAAC,CAAC,IAAI1B,EAAE8d,GAAGne,CAAC,EAAEA,EAAEie,GAAGje,CAAC,EAAE,EAAEme,GAAG,CAAC,EAAE,EAAEF,GAAG,CAAC,EAAE,GAAG5d,EAAE,SAAS,EAAE,OAAO,MAAM,IAAI,MAAM,yCAAyCA,EAAE,MAAM,iBAAiB,EAAE,MAAM;AAAA,YACz7YA,CAAC;AAAA,YACD,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI0B,EAAE1B,EAAE,CAAC,EAAE2B,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC9B,EAAE6B,EAAEC,CAAC,EAAE,MAAM,IAAI,MAAM,yBAAyB,CAAC,OAAOD,CAAC,cAAc,CAAC,OAAOC,CAAC;AAAA,YACxI3B,CAAC;AAAA,YACD,CAAC,GAAG,CAAC,CAAC,OAAO,QAAQ,aAAa,OAAO,EAAE,QAAQ,CAAC,CAAC,SAASoyB,GAAGzyB,EAAE,EAAE,CAACA,EAAE,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,QAAQ,aAAa,OAAO,EAAE,QAAQ,CAAC,CAAC,SAASuyB,GAAGvyB,EAAE,EAAE,CAAC,IAAIE,EAAE,OAAO,GAAG,UAAU,OAAO,GAAG,UAAU,OAAO,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,OAAO2b,GAAG7b,CAAC,GAAG6b,GAAG7b,EAAE,CAAC,CAAC,GAAG6b,GAAG,CAAC,GAAGA,GAAG,EAAE,CAAC,CAAC,EAAEiX,GAAG9yB,EAAEE,EAAE,CAACE,EAAEC,IAAID,GAAGC,CAAC,EAAEyyB,GAAG9yB,EAAE,EAAE,CAACI,EAAEC,IAAI0yB,GAAG3yB,EAAEC,EAAE,CAAC,CAAC,CAAC,CAAC,SAASmyB,GAAGxyB,EAAE,EAAEE,EAAE,CAAC,GAAGA,GAAG,OAAOA,EAAE0yB,GAAG,GAAG,CAACG,GAAG/yB,EAAE,EAAEE,CAAC,EAAE,MAAM,IAAI,MAAM,8BAA8BF,CAAC,kBAAkB,CAAC,EAAE,EAAE,OAAO,QAAQ,aAAa,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS+yB,GAAG/yB,EAAE,EAAEE,EAAE,CAAC,MAAM,CAAC,SAASF,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,MAAMA,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,IAAIA,EAAE,CAAC,EAAEE,EAAE,CAAC,SAASwyB,GAAG1yB,EAAE,EAAEE,EAAE,CAAC,QAAQE,EAAE,EAAEA,EAAEJ,EAAE,OAAOI,IAAI,GAAGJ,EAAEI,CAAC,EAAE,GAAGJ,EAAEI,CAAC,EAAEF,EAAE,MAAM,IAAI,MAAM,sBAAsBF,EAAEI,CAAC,CAAC,SAAS,CAAC,WAAWF,CAAC,EAAE,CAAC,CAAC,SAASmyB,GAAGryB,EAAE,EAAE,CAAC,IAAIE,EAAE,IAAI,aAAaF,CAAC,EAAEI,EAAE,IAAI,aAAa,CAAC,EAAE,GAAGF,EAAE,SAASE,EAAE,OAAO,MAAM,IAAI,MAAM,wCAAwCA,EAAE,MAAM,gBAAgBF,EAAE,MAAM,EAAE,EAAE,QAAQG,EAAE,EAAEA,EAAED,EAAE,OAAOC,IAAI,GAAGH,EAAEG,CAAC,IAAID,EAAEC,CAAC,EAAE,MAAM,IAAI,MAAM,iCAAiCA,CAAC,UAAUD,EAAEC,CAAC,CAAC,YAAYH,EAAEG,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS+xB,GAAGpyB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,IAAI,CAAC,IAAIE,EAAEF,EAAE,CAAC,EAAE,MAAM,QAAQE,CAAC,EAAEkyB,GAAGlyB,CAAC,EAAEF,EAAE,CAAC,EAAE8d,GAAG5d,CAAC,CAAC,CAAC,OAAOF,CAAC,CAAC,SAASmyB,GAAGnyB,EAAE,CAAC,IAAI,EAAE,SAAS,cAAc,OAAO,EAAE,MAAM,gBAAgB,IAAI,EAAE,YAAY,IAAI,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,SAAS,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,MAAM,IAAI,MAAM,EAAE,QAAQ,OAAO,EAAE,YAAYA,CAAC,EAAE,IAAI,QAAQE,GAAG,CAAC,EAAE,iBAAiB,aAAaE,GAAGF,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,eAAeyyB,GAAG3yB,EAAE,CAAC,MAAMA,EAAE,KAAK,EAAE,8BAA8BA,GAAG,MAAM,IAAI,QAAQ,GAAG,CAACA,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIgzB,GAAG,KAAK,CAAC,YAAYpyB,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,CAAC,KAAK,KAAKjB,EAAE,KAAK,OAAOV,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,IAAI,KAAK,UAAUG,EAAE,KAAK,YAAY,KAAK,MAAM,KAAK,KAAK,KAAK,OAAO,EAAE,KAAK,MAAM,KAAK,KAAK,KAAK,OAAO,GAAG,IAAIyB,EAAED,GAAG,KAAK,OAAO,EAAE,KAAK,OAAOowB,GAAG,KAAKnwB,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,IAAIzB,EAAE,KAAK,QAAQ,OAAO,KAAK,QAAQ,IAAIA,CAAC,CAAC,IAAIO,EAAEV,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAIG,EAAEwB,EAAEC,EAAE,GAAGzB,EAAE,EAAE,KAAK,OAAO,EAAE,EAAEwB,EAAE,EAAE,KAAK,OAAO,EAAE,EAAEC,EAAEzB,EAAEA,EAAEwB,EAAEA,QAAQC,GAAG,GAAGA,IAAI,GAAG,IAAIC,EAAE,KAAK,KAAK,GAAG,KAAK,IAAID,CAAC,EAAEA,CAAC,EAAElB,EAAE,KAAK,KAAK,KAAK,OAAOP,EAAE0B,EAAE7B,EAAE,KAAK,KAAK,KAAK,OAAO2B,EAAEE,GAAG,CAAC,KAAK,WAAW,KAAK,iBAAiBnB,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,WAAW,KAAK,iBAAiBV,CAAC,KAAK,KAAK,QAAQ,KAAK,aAAaA,CAAC,GAAG,KAAK,aAAaU,CAAC,CAAC,CAAC,aAAaA,EAAE,CAAC,OAAO,KAAK,OAAO,MAAM,KAAK,QAAQ,UAAUA,EAAE,KAAK,MAAMA,CAAC,CAAC,CAAC,iBAAiBA,EAAE,CAAC,OAAOA,GAAG,KAAK,OAAOA,GAAG,KAAK,KAAK,CAAC,EAAEqyB,GAAG,KAAK,CAAC,YAAYryB,EAAEV,EAAE,EAAEG,EAAE,CAAC,KAAK,MAAMO,EAAE,KAAK,KAAK,EAAEV,EAAE,KAAK,MAAM,EAAE,IAAI2B,EAAExB,GAAG,KAAK,OAAO,EAAE,KAAK,MAAM4xB,GAAG,KAAKpwB,EAAE,SAAS,CAAC,EAAE,KAAK,MAAM,IAAImxB,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,CAAC,EAAEpyB,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,EAAE,KAAK,EAAEA,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAEV,EAAE,EAAEG,EAAEwB,EAAEC,EAAE,OAAO,CAAC,GAAGzB,EAAE,KAAK,MAAM,UAAU,EAAEyB,EAAE,EAAE,KAAK,EAAEzB,QAAQyB,GAAG,GAAG,GAAGA,GAAGA,EAAEA,EAAElB,EAAEP,EAAEA,EAAEH,EAAE,EAAE,KAAKU,EAAEA,EAAE,EAAE,GAAGA,EAAE,KAAK,GAAG,EAAEkB,EAAE,KAAK,IAAIA,CAAC,GAAGD,EAAE,KAAK,MAAM,EAAEA,EAAE3B,GAAG,KAAK,IAAI2B,CAAC,EAAE,EAAE,KAAK,CAAC,OAAOC,EAAE,EAAE,KAAK,KAAK,KAAK,EAAEA,EAAE,KAAK,MAAM,IAAIA,GAAG,KAAK,IAAI,KAAK,MAAM,EAAE,EAAE,KAAK,KAAK,GAAG,KAAK,aAAaA,CAAC,CAAC,CAAC,aAAalB,EAAE,CAAC,OAAO,KAAK,QAAQ,UAAUA,EAAE,KAAK,MAAMA,CAAC,CAAC,CAAC,EAAEsyB,GAAG,KAAK,CAAC,YAAYtyB,EAAE,EAAEV,EAAE,EAAE,EAAEG,EAAE,CAAC,GAAG,KAAK,eAAe,IAAI,KAAK,OAAO,MAAM,KAAK,QAAQ,UAAU,KAAK,IAAIO,EAAE,KAAK,MAAMV,EAAEU,EAAE,KAAK,MAAM,EAAEP,GAAG,OAAOA,EAAE,KAAK,OAAO,GAAG,OAAOA,GAAG,WAAWA,EAAEA,EAAE,SAAS,GAAG,CAAC,KAAK,eAAe,GAAG,KAAK,OAAO,EAAE,MAAM,IAAI,MAAM,0BAA0BO,CAAC,MAAMV,CAAC,8BAA8B,EAAE,KAAK,OAAO+xB,GAAG,KAAK5xB,CAAC,CAAC,CAAC,aAAaO,EAAE,CAAC,OAAO,KAAK,eAAe,EAAEA,EAAE,KAAK,MAAMA,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,KAAK,aAAa,KAAK,IAAI,KAAK,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,SAASuyB,GAAGnzB,EAAE,EAAEE,EAAE,EAAEE,EAAE,UAAUC,EAAE,CAAC,GAAGqc,GAAG1c,CAAC,EAAEE,GAAG,OAAOA,EAAE,GAAGE,GAAG,OAAOA,EAAE,WAAWA,IAAI,WAAWA,IAAI,QAAQ,MAAM,IAAI,MAAM,yBAAyBA,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI6yB,GAAG,EAAE/yB,EAAEE,EAAEC,CAAC,EAAE,EAAE7R,GAAGwR,EAAEI,CAAC,EAAE,QAAQ2B,EAAE,EAAEA,EAAE,EAAE,OAAO,OAAOA,IAAI,EAAE,OAAOA,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI1J,GAAGjB,EAAE,CAAC,aAAa+7B,EAAE,CAAC,EAAE,SAASC,GAAGpzB,EAAE,EAAE,EAAEE,EAAE,EAAEE,EAAEC,EAAE,CAAC,GAAGqc,GAAG1c,CAAC,EAAEI,GAAG,MAAMA,IAAI,OAAO,MAAM,IAAI,MAAM,yBAAyBA,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI4yB,GAAG,EAAE9yB,EAAEE,EAAE,GAAGC,CAAC,EAAE,EAAE7R,GAAGwR,EAAEI,CAAC,EAAE,QAAQ2B,EAAE,EAAEA,EAAE,EAAE,OAAO,OAAOA,IAAI,EAAE,OAAOA,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,IAAIzJ,GAAGlB,EAAE,CAAC,cAAcg8B,EAAE,CAAC,EAAE,SAASC,GAAGrzB,EAAE,EAAEE,EAAE,CAAC,GAAG,GAAG,MAAM,IAAI,OAAO,MAAM,IAAI,MAAM,yBAAyB,CAAC,EAAE,EAAE,OAAO5H,GAAG0H,EAAE,EAAE,EAAE,EAAEE,CAAC,CAAC,CAAC,IAAI3H,GAAGnB,EAAE,CAAC,sBAAsBi8B,EAAE,CAAC,EAAE,SAASC,GAAGtzB,EAAE,EAAE,EAAEE,EAAE,EAAEE,EAAE,UAAUC,EAAE,CAACqc,GAAG1c,CAAC,EAAE,IAAI,EAAExR,GAAGwR,EAAEI,CAAC,EAAE,EAAE,IAAI8yB,GAAG,EAAEhzB,EAAE,KAAKG,CAAC,EAAE,QAAQ0B,EAAE,EAAEA,EAAE,EAAE,OAAO,OAAOA,IAAI,EAAE,OAAOA,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,IAAIvJ,GAAGpB,EAAE,CAAC,eAAek8B,EAAE,CAAC,EAAE,SAASC,GAAGvzB,EAAE,EAAEE,EAAEE,EAAE,CAAC,OAAO5H,GAAGwH,EAAE,EAAEE,EAAE,QAAQE,CAAC,CAAC,CAAC,IAAI3H,GAAGrB,EAAE,CAAC,kBAAkBm8B,EAAE,CAAC,EAAE,SAAS76B,GAAGsH,EAAE,EAAEE,EAAE,EAAEE,EAAE,UAAU,CAAC,GAAGF,IAAI,EAAE,MAAM,IAAI,MAAM,4BAA4B,EAAE,IAAIG,EAAE,CAAC,MAAML,EAAE,KAAK,EAAE,KAAKE,EAAE,MAAME,CAAC,EAAE,OAAOyhB,EAAE,UAAUp5B,GAAG,CAAC,EAAE4X,CAAC,CAAC,CAAC,SAASmzB,GAAGxzB,EAAE,CAAC,IAAIE,EAAE,CAAC,MAAMwiB,EAAE1iB,EAAE,QAAQ,MAAM,CAAC,EAAE,OAAO6hB,EAAE,UAAUl5B,GAAGuX,CAAC,CAAC,CAAC,IAAItH,GAAGxB,EAAE,CAAC,MAAMo8B,EAAE,CAAC,EAAE,SAASC,GAAGzzB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,YAAY,CAAC,EAAE,OAAO6hB,EAAE,UAAUh5B,GAAGqX,CAAC,CAAC,CAAC,IAAIrH,GAAGzB,EAAE,CAAC,YAAYq8B,EAAE,CAAC,EAAE,SAASC,GAAG1zB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,CAAC,EAAE,OAAO6hB,EAAE,UAAU94B,GAAGmX,CAAC,CAAC,CAAC,IAAI9G,GAAGhC,EAAE,CAAC,MAAMs8B,EAAE,CAAC,EAAE,SAASC,GAAG3zB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,CAAC,EAAE,OAAO6hB,EAAE,UAAU74B,GAAGkX,CAAC,CAAC,CAAC,IAAI7G,GAAGjC,EAAE,CAAC,OAAOu8B,EAAE,CAAC,EAAE,SAASC,GAAG5zB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE0iB,EAAE1iB,EAAE,IAAI,SAAS,CAAC,EAAEK,EAAE,CAAC,KAAK,CAAC,EAAE,OAAOwhB,EAAE,UAAUv4B,GAAG,EAAE+W,CAAC,CAAC,CAAC,IAAI7G,GAAGpC,EAAE,CAAC,SAASw8B,EAAE,CAAC,EAAE,SAASC,GAAG7zB,EAAE,CAAC,IAAI,EAAE0iB,EAAE1iB,EAAE,IAAI,SAAS,EAAE,OAAOsa,EAAE,EAAE,OAAO,EAAE,IAAI,qDAAqD,EAAE,IAAI,GAAG,EAAE9gB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAIC,GAAGrC,EAAE,CAAC,WAAWy8B,EAAE,CAAC,EAAE,SAASC,GAAG9zB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,SAAS,EAAE,OAAOsa,EAAEpa,EAAE,OAAO,EAAE,IAAI,qDAAqDA,EAAE,IAAI,GAAG,EAAE1G,GAAG0G,EAAE,CAAC,CAAC,CAAC,IAAIxG,GAAGtC,EAAE,CAAC,WAAW08B,EAAE,CAAC,EAAE,SAASC,GAAG/zB,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,SAAS,EAAE,OAAOsa,EAAEpa,EAAE,OAAO,EAAE,IAAI,qDAAqDA,EAAE,IAAI,GAAG,EAAE1G,GAAG0G,EAAE,CAAC,CAAC,CAAC,IAAIvG,GAAGvC,EAAE,CAAC,WAAW28B,EAAE,CAAC,EAAE,SAASC,GAAGh0B,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,SAAS,EAAE,OAAOsa,EAAEpa,EAAE,OAAO,EAAE,IAAI,qDAAqDA,EAAE,IAAI,GAAG,EAAE1G,GAAG0G,EAAE,CAAC,CAAC,CAAC,IAAItG,GAAGxC,EAAE,CAAC,WAAW48B,EAAE,CAAC,EAAE,SAASC,GAAGj0B,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,OAAO,CAAC,EAAE,OAAO6hB,EAAE,UAAUr4B,GAAG0W,CAAC,CAAC,CAAC,IAAIpG,GAAG1C,EAAE,CAAC,OAAO68B,EAAE,CAAC,EAAE,SAASC,GAAGl0B,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,QAAQ,SAAS,CAAC,EAAE,OAAO6hB,EAAE,UAAUp4B,GAAGyW,CAAC,CAAC,CAAC,IAAInG,GAAG3C,EAAE,CAAC,OAAO88B,EAAE,CAAC,EAAE,SAASC,GAAGn0B,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,CAAC,EAAE,OAAO6hB,EAAE,UAAU/3B,GAAGoW,CAAC,CAAC,CAAC,IAAI9F,GAAGhD,EAAE,CAAC,MAAM+8B,EAAE,CAAC,EAAE,SAASC,GAAGp0B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI0B,EAAE2gB,EAAE1iB,EAAE,IAAI,iBAAiB,EAAEgC,EAAE0gB,EAAE,EAAE,kBAAkB,iBAAiB,EAAEzgB,EAAEygB,EAAExiB,EAAE,kBAAkB,iBAAiB,EAAEwC,EAAEX,EAAEY,EAAE,GAAG,GAAGZ,EAAE,OAAO,IAAIY,EAAE,GAAGD,EAAEnJ,EAAEwI,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,MAAM,IAAI,MAAM,oFAAoF,EAAEuY,EAAE5X,EAAE,OAAO,EAAE,IAAI,gEAAgEA,EAAE,IAAI,GAAG,EAAE4X,EAAEtY,EAAE,OAAO,EAAE,IAAI,2EAA2EA,EAAE,IAAI,GAAG,EAAEsY,EAAErY,EAAE,OAAO,EAAE,IAAI,2EAA2ED,EAAE,IAAI,GAAG,EAAEsY,EAAErY,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,yFAAyFA,EAAE,MAAM,CAAC,CAAC,GAAG,EAAEqY,EAAErY,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,yFAAyFA,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,IAAIW,EAAEZ,EAAE,MAAM,CAAC,EAAEa,EAAEb,EAAE,MAAM,CAAC,EAAEsY,EAAErY,EAAE,MAAM,CAAC,IAAIW,EAAEC,EAAE,IAAI,6EAA6ED,EAAEC,CAAC,aAAaZ,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,IAAIa,EAAEzS,GAAGqS,EAAEV,EAAE5B,EAAEC,EAAE,EAAE,CAAC,EAAE4D,EAAE3U,GAAGwT,EAAEb,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAOU,EAAEpJ,EAAE0K,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAI5J,GAAGjD,EAAE,CAAC,iBAAiBg9B,EAAE,CAAC,EAAE,eAAeC,GAAGr0B,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,WAAW,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,WAAW,EAAEpI,EAAEpa,EAAE,QAAQE,EAAE,MAAM,IAAI,kDAAkDF,EAAE,KAAK,YAAYE,EAAE,KAAK,IAAI,EAAEka,EAAEpa,EAAE,OAAO,EAAE,IAAI,qCAAqCA,EAAE,KAAK,IAAI,EAAEoa,EAAEla,EAAE,OAAO,EAAE,IAAI,qCAAqCA,EAAE,KAAK,IAAI,EAAE,IAAIC,EAAE,MAAMH,EAAE,KAAK,EAAE,EAAE,MAAME,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE2B,EAAE,EAAE,QAAQW,EAAE,EAAEA,EAAErC,EAAE,OAAOqC,IAAI,EAAE,IAAIrC,EAAEqC,CAAC,CAAC,GAAGX,IAAI,IAAIC,EAAE,IAAInW,GAAG,CAACkW,CAAC,EAAE7B,EAAE,KAAK,EAAE+B,EAAE,IAAIpW,GAAG,CAACkW,CAAC,EAAE,OAAO,EAAE,QAAQW,EAAE,EAAEC,EAAE,EAAED,EAAErC,EAAE,OAAOqC,IAAI,EAAE,IAAIrC,EAAEqC,CAAC,CAAC,IAAIV,EAAE,OAAOW,CAAC,EAAEtC,EAAEqC,CAAC,EAAET,EAAE,OAAOU,CAAC,EAAED,EAAEC,KAAK,MAAM,CAACX,EAAE,SAAS,EAAEC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAInH,GAAGu5B,GAAG,SAASC,GAAGt0B,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,CAAC,EAAE,OAAO6hB,EAAE,UAAU53B,GAAGiW,CAAC,CAAC,CAAC,IAAIjF,GAAG7D,EAAE,CAAC,MAAMk9B,EAAE,CAAC,EAAE,SAASC,GAAGv0B,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,SAAS,CAAC,EAAE,OAAO6hB,EAAE,UAAU33B,GAAGgW,CAAC,CAAC,CAAC,IAAI/E,GAAG/D,EAAE,CAAC,KAAKm9B,EAAE,CAAC,EAAE,SAASC,GAAGx0B,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,CAAC,EAAE,OAAO6hB,EAAE,UAAU13B,GAAG+V,CAAC,CAAC,CAAC,IAAI9E,GAAGhE,EAAE,CAAC,MAAMo9B,EAAE,CAAC,EAAE,SAASC,GAAGz0B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,SAAS,EAAE,OAAOsa,EAAEla,EAAE,OAAO,EAAE,IAAI,mDAAmDA,EAAE,IAAI,SAAS,EAAE/E,GAAG+E,EAAE,CAAC,CAAC,EAAE,CAACF,CAAC,CAAC,CAAC,CAAC,IAAI5E,GAAGlE,EAAE,CAAC,SAASq9B,EAAE,CAAC,EAAE,SAASC,GAAG10B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,SAAS,EAAE,OAAOsa,EAAEla,EAAE,OAAO,EAAE,IAAI,mDAAmDA,EAAE,IAAI,SAAS,EAAE/E,GAAG+E,EAAE,EAAEF,CAAC,CAAC,CAAC,IAAI3E,GAAGnE,EAAE,CAAC,SAASs9B,EAAE,CAAC,EAAE,SAASC,GAAG30B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,SAAS,EAAE,OAAOsa,EAAEla,EAAE,OAAO,EAAE,IAAI,mDAAmDA,EAAE,IAAI,SAAS,EAAE/E,GAAG+E,EAAE,EAAEF,CAAC,CAAC,CAAC,IAAI1E,GAAGpE,EAAE,CAAC,SAASu9B,EAAE,CAAC,EAAE,SAASC,GAAG50B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,SAAS,EAAE,OAAOsa,EAAEla,EAAE,OAAO,EAAE,IAAI,mDAAmDA,EAAE,IAAI,SAAS,EAAE/E,GAAG+E,EAAE,EAAEF,CAAC,CAAC,CAAC,IAAIzE,GAAGrE,EAAE,CAAC,SAASw9B,EAAE,CAAC,EAAE,SAASC,GAAG70B,EAAE,EAAE,GAAG,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,SAAS,UAAU,SAAS,EAAE,GAAG,IAAI,KAAK,EAAEE,EAAE,KAAK,GAAG,IAAIA,EAAE,KAAK,EAAE,MAAM,MAAM,4EAA4EA,EAAE,IAAI,gBAAgB,CAAC,EAAE,EAAE,IAAIE,EAAE,CAAC,OAAOF,CAAC,EAAEG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAOwhB,EAAE,UAAUx3B,GAAG+V,EAAEC,CAAC,CAAC,CAAC,IAAI1E,GAAGvE,EAAE,CAAC,SAASy9B,EAAE,CAAC,EAAE,SAASC,GAAG90B,EAAE,CAACsa,EAAEta,EAAE,QAAQ,YAAY,IAAI,6DAA6DA,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,MAAMA,CAAC,EAAE,OAAO6hB,EAAE,UAAUn+B,GAAG,CAAC,CAAC,CAAC,IAAIsO,GAAGoF,EAAE,CAAC,KAAK09B,EAAE,CAAC,EAAE,SAASC,GAAG/0B,EAAE,CAACsa,EAAEta,EAAE,QAAQ,YAAY,IAAI,8DAA8DA,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,MAAMA,CAAC,EAAE,OAAO6hB,EAAE,UAAUn9B,GAAG,CAAC,CAAC,CAAC,IAAI2O,GAAG+D,EAAE,CAAC,MAAM29B,EAAE,CAAC,EAAE,SAASC,GAAGh1B,EAAE,CAAC,IAAI,EAAEA,EAAE,MAAMA,EAAE,MAAM,OAAO,CAAC,EAAEE,EAAEF,EAAE,KAAK,EAAEI,EAAE,GAAG,GAAG,EAAE,CAAC,IAAIC,EAAE9G,EAAEyG,EAAE,CAACE,EAAE,CAAC,CAAC,EAAEE,EAAE/M,GAAGgN,CAAC,CAAC,KAAK,CAAC,IAAIA,EAAE,CAACH,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE3G,EAAEX,GAAGoH,CAAC,EAAE,CAACE,EAAE,CAAC,CAAC,EAAE,EAAE3G,EAAEjG,GAAG0M,CAAC,EAAE,CAACE,EAAE,CAAC,CAAC,EAAE6B,EAAEvI,GAAG6B,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC6E,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE8B,EAAEtL,EAAE8C,GAAG6B,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC6E,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAElG,GAAG,EAAE,CAAC,EAAEiI,EAAElT,GAAG,CAAC,EAAEgT,CAAC,EAAE,CAAC,EAAEW,EAAE3T,GAAG,CAAC,EAAEiT,CAAC,EAAE,CAAC,EAAEW,EAAEpJ,EAAEzK,GAAGmT,EAAES,CAAC,EAAE,CAACrC,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,EAAED,EAAE/M,GAAGsP,CAAC,CAAC,CAAC,GAAGvC,EAAExH,GAAGwH,CAAC,EAAEJ,EAAE,OAAO,GAAGA,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,IAAIK,EAAED,EAAE,EAAEJ,EAAE,MAAM,CAAC,EAAEI,EAAE7G,EAAE6G,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEC,EAAE,QAAQ,CAAC,CAAC,OAAOD,CAAC,CAAC,IAAIxM,GAAGwD,EAAE,CAAC,OAAO49B,EAAE,CAAC,EAAE,SAASC,GAAGj1B,EAAE,EAAEE,EAAE,EAAE,CAAC,IAAIG,EAAE,CAAC,EAAEqiB,EAAE1iB,EAAE,IAAI,OAAO,CAAC,EAAE6B,EAAE,CAAC,gBAAgB,EAAE,KAAK3B,CAAC,EAAE,OAAO2hB,EAAE,UAAUh3B,GAAGwV,EAAEwB,CAAC,CAAC,CAAC,IAAI5F,GAAG7E,EAAE,CAAC,OAAO69B,EAAE,CAAC,EAAE,SAASC,GAAGl1B,EAAE,EAAE,CAACsa,EAAEta,EAAE,QAAQ,UAAU,IAAI,mDAAmDA,EAAE,KAAK,EAAE,EAAE,IAAIE,EAAEF,EAAE,MAAMA,EAAE,MAAM,OAAO,CAAC,EAAEI,EAAEJ,EAAE,KAAKE,EAAEG,EAAE,GAAG,GAAG,MAAM,EAAEH,EAAE,CAAC,IAAI4C,EAAE9C,EAAE,MAAM,IAAI,GAAG,CAAC,EAAEgE,EAAEhE,EAAE,MAAM,IAAI,GAAG,CAAC,EAAEgE,EAAEhE,EAAE,MAAM,OAAO,CAAC,EAAE,EAAEK,EAAEhF,GAAG2E,EAAE8C,EAAEkB,CAAC,EAAE9D,EAAE,CAAC,SAAS,GAAG,MAAM,EAAEA,EAAE,CAAC,IAAI4C,EAAE9C,EAAE,MAAM,IAAIgE,GAAGA,CAAC,EAAElB,EAAE9C,EAAE,MAAM,OAAO,CAAC,EAAE,EAAEE,EAAEG,EAAEtR,GAAG,CAACiR,EAAET,GAAGuD,CAAC,CAAC,EAAE9C,EAAE,MAAM,OAAO,CAAC,EAAEE,EAAE,CAAC,MAAMG,EAAEL,EAAE,IAAI,EAAER,GAAGa,CAAC,EAAE,EAAE9G,EAAEzK,GAAGuR,EAAE,CAAC,EAAE,CAACD,EAAEF,CAAC,CAAC,EAAE6B,EAAE/P,GAAG,CAAC,EAAEgQ,EAAE,KAAK,MAAM9B,EAAE,CAAC,EAAE,EAAE+B,EAAErJ,GAAGmJ,CAAC,EAAEW,EAAEpP,GAAGyO,CAAC,EAAEY,EAAE1G,GAAGgG,EAAE,CAACD,EAAE9B,EAAE8B,CAAC,EAAEC,EAAE,MAAM,OAAO,CAAC,EAAEW,EAAE3G,GAAGyG,EAAE,CAACV,EAAE9B,EAAE8B,CAAC,EAAEU,EAAE,MAAM,OAAO,CAAC,EAAEG,EAAExC,EAAE,MAAM,MAAM,EAAE,OAAOwC,EAAExC,EAAE,MAAM,OAAO,CAAC,EAAE2B,EAAEzI,EAAEzK,GAAG6T,EAAE,CAAC,EAAEC,EAAE,CAAC,CAAC,EAAEC,CAAC,CAAC,CAAC,IAAIhJ,GAAGzC,EAAE,CAAC,MAAM89B,EAAE,CAAC,EAAE,SAASC,GAAGn1B,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,mBAAmB,EAAEI,EAAEsiB,EAAE,EAAE,IAAI,mBAAmB,EAAE,CAACxiB,EAAEE,CAAC,EAAE4gB,GAAG9gB,EAAEE,CAAC,EAAEksB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,IAAIC,EAAE,CAAC,EAAEH,EAAE,EAAEE,CAAC,EAAE,EAAE,CAAC,EAAE,OAAOyhB,EAAE,UAAU72B,GAAGqV,EAAE,CAAC,CAAC,CAAC,IAAIjE,GAAGhF,EAAE,CAAC,mBAAmB+9B,EAAE,CAAC,EAAE,SAASC,GAAGp1B,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,UAAU,mBAAmB,EAAE,OAAOzG,EAAE2G,EAAEmb,GAAGnb,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI7D,GAAGjF,EAAE,CAAC,SAASg+B,EAAE,CAAC,EAAE,SAASC,GAAGr1B,EAAE,EAAE,EAAE,CAAC,IAAIE,EAAEyiB,GAAG3iB,EAAE,UAAU,QAAQ,mBAAmB,EAAEsa,EAAEpa,EAAE,QAAQ,EAAE,IAAI,sCAAsC,EAAEA,EAAE,OAAO,GAAGoa,EAAE,GAAGpa,EAAE,CAAC,EAAE,KAAK,IAAI,oCAAoC,EAAE,IAAIE,EAAEF,EAAEG,EAAE,CAAC,KAAK,CAAC,EAAE,OAAOwhB,EAAE,UAAU/5B,GAAGsY,EAAEC,CAAC,CAAC,CAAC,IAAI/D,GAAGlF,EAAE,CAAC,OAAOi+B,EAAE,CAAC,EAAE,SAASC,GAAGt1B,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE0iB,EAAE1iB,EAAE,IAAI,MAAM,CAAC,EAAEK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAOwhB,EAAE,UAAU32B,GAAG,EAAEmV,CAAC,CAAC,CAAC,IAAI9D,GAAGnF,EAAE,CAAC,MAAMk+B,EAAE,CAAC,EAAE,SAASC,GAAGv1B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE0B,EAAE,EAAEC,EAAE,EAAE,CAAC,IAAIU,EAAE,CAAC,EAAEggB,EAAE1iB,EAAE,IAAI,eAAe,mBAAmB,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,IAAIE,EAAE,QAAQE,EAAE,UAAUC,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY0B,EAAE,eAAeC,CAAC,EAAE,OAAO6f,EAAE,UAAU12B,GAAGuX,EAAE,CAAC,CAAC,CAAC,IAAIlG,GAAGpF,EAAE,CAAC,cAAcm+B,EAAE,CAAC,EAAE,SAASC,GAAGx1B,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEwiB,EAAE1iB,EAAE,IAAI,MAAM,SAAS,CAAC,EAAE,OAAO6hB,EAAE,UAAUn2B,GAAGwU,CAAC,CAAC,CAAC,IAAIrD,GAAGzF,EAAE,CAAC,KAAKo+B,EAAE,CAAC,EAAE,SAASx4B,GAAGgD,EAAE,EAAE,CAACya,GAAGza,CAAC,EAAE,IAAIE,EAAEqiB,GAAGviB,EAAE,CAAC,EAAE,GAAGE,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,oDAAoD,EAAE,OAAO2iB,GAAG7iB,EAAE,KAAKE,EAAE,CAAC,CAAC,CAAC,SAASjD,GAAG+C,EAAE,EAAEE,EAAE,CAAC,GAAGua,GAAGza,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,+CAA+C,EAAE,IAAII,EAAEmiB,GAAGviB,EAAEE,CAAC,EAAE,GAAGE,EAAE,SAAS,GAAGA,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,gEAAgE,EAAE,GAAGA,EAAE,SAAS,GAAG,GAAG,KAAK,MAAM,IAAI,MAAM,8EAA8E,EAAE,OAAOyiB,GAAG7iB,EAAE,EAAEI,EAAEF,CAAC,CAAC,CAAC,SAAShD,GAAG8C,EAAE,EAAEE,EAAE,CAAC,GAAGua,GAAGza,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,iDAAiD,EAAE,IAAII,EAAEmiB,GAAGviB,EAAEE,CAAC,EAAE,GAAGE,EAAE,SAAS,GAAGA,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,kEAAkE,EAAE,GAAGA,EAAE,SAAS,GAAG,GAAG,KAAK,MAAM,IAAI,MAAM,yEAAyE,EAAE,OAAOyiB,GAAG7iB,EAAE,EAAEI,EAAEF,CAAC,CAAC,CAAC,SAAS/C,GAAG6C,EAAE,EAAEE,EAAE,CAAC,GAAGua,GAAGza,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,gDAAgD,EAAE,IAAII,EAAEmiB,GAAGviB,EAAEE,CAAC,EAAE,GAAGE,EAAE,SAAS,GAAGA,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,oEAAoE,EAAE,GAAGA,EAAE,SAAS,GAAG,GAAG,KAAK,MAAM,IAAI,MAAM,yEAAyE,EAAE,OAAOyiB,GAAG7iB,EAAE,EAAEI,EAAEF,CAAC,CAAC,CAAC,SAAS9C,GAAG4C,EAAE,EAAEE,EAAE,CAAC,GAAGua,GAAGza,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,gDAAgD,EAAE,IAAII,EAAEmiB,GAAGviB,EAAEE,CAAC,EAAE,GAAGE,EAAE,SAAS,GAAGA,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,sEAAsE,EAAE,GAAGA,EAAE,SAAS,GAAG,GAAG,KAAK,MAAM,IAAI,MAAM,yEAAyE,EAAE,OAAOyiB,GAAG7iB,EAAE,EAAEI,EAAEF,CAAC,CAAC,CAAC,SAAS7C,GAAG2C,EAAE,EAAEE,EAAE,CAAC,GAAGua,GAAGza,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,+CAA+C,EAAE,IAAII,EAAEmiB,GAAGviB,EAAEE,CAAC,EAAE,GAAGE,EAAE,SAAS,GAAGA,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,wEAAwE,EAAE,GAAGA,EAAE,SAAS,GAAG,GAAG,KAAK,MAAM,IAAI,MAAM,yEAAyE,EAAE,OAAO,EAAE,GAAGA,EAAEyiB,GAAG7iB,EAAE,EAAEI,EAAEF,CAAC,CAAC,CAAC,IAAIhG,GAAG,CAAC,EAAE+F,GAAG/F,GAAG,CAAC,gBAAgB,IAAIu7B,GAAG,cAAc,IAAIC,GAAG,oBAAoB,IAAIC,EAAE,CAAC,EAAE,SAASA,GAAG31B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAEC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,6FAA6FH,EAAE,KAAK,oBAAoB,EAAE,KAAK,YAAYF,CAAC,eAAeI,CAAC,mBAAmBC,CAAC,IAAI,GAAGH,EAAE,KAAKG,EAAE,MAAM,IAAI,MAAM,EAAE,kBAAkBA,CAAC,IAAI,EAAE,GAAGL,EAAE,OAAOI,GAAGF,EAAE,KAAKG,GAAG,MAAM,IAAI,MAAM,EAAE,0BAA0BD,GAAGF,EAAE,KAAKG,EAAE,EAAE,EAAE,GAAGH,EAAE,OAAOG,EAAEL,EAAE,OAAOI,EAAE,MAAM,IAAI,MAAM,EAAE,mBAAmBC,EAAEL,EAAE,OAAOI,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAEC,EAAE,EAAE,EAAE,GAAGH,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,MAAM,EAAE,kBAAkB,CAAC,MAAMA,EAAE,MAAM,CAAC,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,KAAKG,EAAE,EAAE,EAAE,GAAGH,EAAE,MAAM,EAAEG,CAAC,IAAIL,EAAE,EAAEI,CAAC,EAAE,MAAM,IAAI,MAAM,EAAE,kBAAkB,EAAEC,CAAC,MAAMH,EAAE,MAAM,EAAEG,CAAC,CAAC,cAAc,EAAEA,CAAC,MAAML,EAAE,EAAEK,CAAC,CAAC,GAAG,CAAC,CAAC,SAASq1B,GAAG11B,EAAE,EAAEE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM,+EAA+E,EAAE,IAAI,GAAG,EAAE,GAAGF,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM,+EAA+EA,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,QAAQ,QAAQ,MAAM,IAAI,MAAM,0DAA0D,EAAE,KAAK,EAAE,EAAE,GAAGE,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,6DAA6DA,CAAC,EAAE,EAAE,GAAGA,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,sDAAsD,EAAE,KAAK,EAAE,EAAE,GAAGF,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,sDAAsDA,EAAE,KAAK,EAAE,CAAC,CAAC21B,GAAGz1B,EAAE,EAAEF,CAAC,CAAC,CAAC,SAASy1B,GAAGz1B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,EAAE,MAAM,OAAOC,EAAED,EAAE,EAAE,EAAE,MAAMA,EAAE,CAAC,EAAE,EAAE,EAAEF,EAAE,OAAO,EAAE,EAAE,QAAQyC,EAAEtC,EAAEsC,EAAE,EAAE,EAAEA,EAAE,GAAGzC,EAAEyC,CAAC,EAAE,IAAIZ,EAAE1B,EAAE,EAAE,EAAEA,EAAE2B,EAAE0Y,GAAG,EAAE,KAAK,EAAE3Y,EAAEE,EAAE,CAAC,GAAGka,GAAGjc,EAAE,MAAM,EAAEG,CAAC,CAAC,EAAE,CAAC,EAAEqC,EAAEgY,GAAGxa,CAAC,EAAE,MAAM,CAAC,UAAUG,EAAE,WAAW2B,EAAE,UAAU,EAAE,QAAQC,EAAE,WAAWS,CAAC,CAAC,CAAC,SAASkzB,GAAG51B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,SAAS,qBAAqB,EAAEK,EAAEqiB,EAAE,EAAE,UAAU,sBAAsB,OAAO,EAAE,EAAEA,EAAExiB,EAAE,UAAU,qBAAqB,EAAE,GAAGw1B,GAAG,EAAEr1B,EAAED,EAAE,KAAK,EAAEA,EAAE,QAAQ,EAAE,MAAM,MAAM,IAAI,MAAM,iEAAiEA,EAAE,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,OAAOA,EAAE,QAAQC,EAAE,QAAQ,CAAC,EAAE0B,EAAE,CAAC,EAAE,OAAO8f,EAAE,UAAU/1B,GAAG,EAAEiW,CAAC,CAAC,CAAC,IAAIzE,GAAGlG,EAAE,CAAC,qBAAqBw+B,EAAE,CAAC,EAAE,SAASC,GAAG71B,EAAE,EAAE,EAAEE,EAAE,GAAG,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,MAAM,EAAE,GAAGI,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,oDAAoD,EAAE,IAAIC,EAAED,EAAE,MAAMA,EAAE,MAAM,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,IAAI,MAAM,6CAA6C,CAAC,EAAE,EAAE,GAAG,EAAEC,EAAE,MAAM,IAAI,MAAM,uDAAuDA,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAED,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,OAAOF,CAAC,EAAE,CAAC6B,EAAEC,CAAC,EAAE6f,EAAE,UAAU71B,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,OAAO+V,EAAE,QAAQC,CAAC,CAAC,CAAC,IAAIpE,GAAGxG,EAAE,CAAC,MAAMy+B,EAAE,CAAC,EAAE,SAASC,GAAG91B,EAAE,EAAE,EAAEE,EAAE,EAAEE,EAAEC,EAAE,CAAC,GAAGqc,GAAG1c,CAAC,EAAEI,GAAG,MAAMA,IAAI,OAAO,MAAM,IAAI,MAAM,mCAAmC,EAAE,IAAI,EAAE,IAAI4yB,GAAG,EAAE9yB,EAAEE,EAAE,GAAGC,CAAC,EAAE,EAAE7R,GAAGwR,EAAEI,CAAC,EAAE,QAAQ2B,EAAE,EAAEA,EAAE,EAAE,OAAO,OAAOA,IAAI,EAAE,OAAOA,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,IAAIhE,GAAG3G,EAAE,CAAC,iBAAiB0+B,EAAE,CAAC,EAAE,SAASC,GAAG/1B,EAAE,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,SAAS,mBAAmB,EAAEsa,EAAEpa,EAAE,KAAK,EAAE,IAAI,sCAAsC,EAAE,IAAIE,EAAE,CAAC,EAAEF,CAAC,EAAEG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEwhB,EAAE,UAAU11B,GAAGiU,EAAEC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAIrC,GAAG5G,EAAE,CAAC,QAAQ2+B,EAAE,CAAC,EAAE,SAASC,GAAGh2B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,oBAAoB,EAAEK,EAAEqiB,EAAE,EAAE,aAAa,qBAAqB,OAAO,EAAEpI,EAAEO,GAAG3a,CAAC,EAAE,IAAI,kCAAkC,EAAE,IAAI,EAAE,CAAC,EAAEE,EAAE,WAAWC,CAAC,EAAE,EAAE,CAAC,YAAYH,CAAC,EAAE,OAAO2hB,EAAE,UAAUx1B,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI8R,GAAG/G,EAAE,CAAC,oBAAoB4+B,EAAE,CAAC,EAAE,SAASC,GAAGj2B,EAAE,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,IAAI,UAAU,mBAAmB,EAAEsa,EAAE,GAAG,CAACpa,EAAE,MAAM,QAAQ,EAAEA,EAAE,MAAM,OAAO,IAAI,UAAU,CAAC,gBAAgBA,EAAE,MAAM,MAAM,KAAKA,EAAE,MAAM,MAAM,GAAG,EAAE,IAAIE,EAAE,CAAC,MAAMF,CAAC,EAAEG,EAAE,CAAC,KAAK,CAAC,EAAE,OAAOwhB,EAAE,UAAUz1B,GAAGgU,EAAEC,CAAC,CAAC,CAAC,IAAIjC,GAAGhH,EAAE,CAAC,SAAS6+B,EAAE,CAAC,EAAE,SAAS33B,GAAG0B,EAAE,EAAE,CAAC,OAAO7F,GAAG6F,EAAE,EAAE,OAAO,CAAC,CAAC,SAAStB,GAAGsB,EAAE,EAAE,GAAGE,EAAEE,EAAE,CAAC,OAAOyhB,EAAE,aAAa7hB,EAAE,EAAEE,EAAEE,CAAC,CAAC,CAAC,SAAS81B,GAAGl2B,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,GAAGA,EAAE,KAAK,CAAC,EAAE,IAAIE,EAAE5R,GAAGwR,EAAE,OAAO,EAAEK,EAAE7R,GAAG,CAAC0R,EAAE,OAAOF,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAEE,EAAE,OAAO,IAAI,CAAC,IAAI,EAAEE,EAAE,WAAWF,EAAE,CAAC,CAAC,EAAE6B,EAAE,EAAE/B,EAAE,OAAOK,EAAE,OAAO,IAAI,EAAE0B,CAAC,CAAC,CAAC,OAAO1B,EAAE,SAAS,CAAC,CAAC,eAAe81B,GAAGn2B,EAAE,CAAC,IAAI,EAAE0iB,EAAE1iB,EAAE,YAAY,aAAa,MAAM,EAAEE,EAAE,MAAM,EAAE,KAAK,EAAEE,EAAE81B,GAAG,EAAE,MAAMh2B,CAAC,EAAE,OAAOF,IAAI,GAAG,EAAE,QAAQ,EAAEI,CAAC,CAAC,IAAId,GAAG62B,GAAG,eAAeC,GAAGp2B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,SAAS,UAAU,EAAEK,EAAEqiB,EAAE,EAAE,OAAO,WAAW,MAAM,EAAE,EAAExiB,GAAG,KAAK,EAAEA,EAAE,EAAEG,EAAE,KAAK0B,EAAE3B,EAAE,MAAMka,EAAE,EAAE,EAAE,IAAI,uBAAuB,EAAEC,GAAGxY,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE1B,EAAE,MAAM,mEAAmE,EAAE,IAAI2B,EAAE,EAAE,QAAQgC,EAAE,EAAEA,EAAE,EAAE,EAAEA,IAAIhC,GAAGD,EAAEiC,CAAC,EAAE,IAAI/B,EAAEF,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAACC,CAAC,EAAED,EAAE,MAAM,EAAE,CAAC,CAAC,EAAEW,EAAEnJ,EAAE6G,EAAE6B,CAAC,EAAEU,EAAEpJ,EAAE8G,EAAE,CAAC,EAAE,CAAC,EAAEuC,EAAE,MAAMtD,GAAGqD,CAAC,EAAEE,EAAExG,GAAGuG,EAAE,CAAC,CAAC,CAAC,EAAEE,EAAEtQ,GAAGkQ,EAAEG,EAAE,CAAC,EAAE,OAAO7C,IAAII,GAAGA,EAAE,QAAQ,EAAE,IAAIC,GAAGA,EAAE,QAAQ,EAAEwC,EAAE,QAAQ,EAAEH,EAAE,QAAQ,EAAEC,EAAE,QAAQ,EAAEC,EAAE,QAAQ,EAAEE,CAAC,CAAC,IAAI3U,GAAGioC,GAAG,SAASC,GAAGr2B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,WAAW,EAAE,GAAG,GAAG,OAAO,EAAEI,EAAE,MAAM,IAAI,CAAC,EAAE2B,IAAIA,CAAC,EAAE,QAAQ,GAAGuY,EAAEla,EAAE,OAAO,EAAE,OAAO,IAAI,qCAAqCA,EAAE,IAAI,8BAA8B,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,CAACka,EAAE,GAAG,GAAG,EAAEla,EAAE,KAAK,IAAI,+CAA+CA,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAEA,EAAE,MAAM,EAAE,OAAOA,EAAE,MAAM,EAAE,IAAIC,EAAE,CAAC,EAAED,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,OAAOA,EAAE,QAAQ,YAAY3C,EAAE,IAAI,CAAC,IAAI,EAAE7E,GAAGwH,CAAC,EAAE2B,EAAEzO,GAAG8M,CAAC,EAAE,OAAO,EAAEyhB,EAAE,UAAU31B,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE6V,EAAE8f,EAAE,UAAU31B,GAAG,CAAC,EAAE6V,CAAC,EAAE,CAAC,EAAE7B,IAAI6B,EAAElL,GAAGkL,CAAC,GAAGjT,GAAG,EAAEiT,CAAC,CAAC,CAAC,EAAE8f,EAAE,UAAU31B,GAAGmU,EAAE,CAAC,CAAC,CAAC,IAAIvC,GAAG1G,EAAE,CAAC,WAAWi/B,EAAE,CAAC,EAAE,SAASC,GAAGt2B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,GAAG,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,IAAI,eAAe,EAAE,EAAE0iB,EAAE,EAAE,IAAI,eAAe,EAAE3gB,EAAE2gB,EAAExiB,EAAE,QAAQ,eAAe,EAAE2gB,GAAG,EAAE,CAAC,EAAEvG,EAAEE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,2BAA2B,EAAE,IAAIxY,EAAEhI,GAAG,CAAC,EAAEiI,EAAEvF,GAAGsF,EAAED,CAAC,EAAEW,EAAEhM,EAAEgG,GAAG,EAAE,CAAC,EAAEuF,CAAC,EAAE,GAAG5B,EAAE,CAACia,EAAEla,GAAG,KAAK,IAAI,gDAAgD,EAAE,IAAIuC,EAAE+f,EAAEtiB,EAAE,OAAO,eAAe,EAAEsC,EAAE7R,GAAG6R,EAAEhG,GAAGsF,EAAEpK,GAAGmK,EAAEY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAED,CAAC,CAAC,CAAC,IAAIjM,GAAGW,EAAE,CAAC,eAAek/B,EAAE,CAAC,EAAE,SAASC,GAAGv2B,EAAE,EAAEE,EAAE,CAACwc,GAAGxc,CAAC,EAAE,IAAIE,EAAEsiB,EAAE1iB,EAAE,UAAU,YAAY,OAAO,EAAEK,EAAEqiB,EAAE,EAAE,UAAU,WAAW,EAAEgT,GAAGr1B,EAAED,EAAEF,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQE,EAAE,QAAQC,CAAC,EAAE,EAAE,CAAC,MAAMH,CAAC,EAAE,OAAO2hB,EAAE,UAAUl4B,GAAG,EAAE,CAAC,CAAC,CAAC,IAAIsQ,GAAG7C,EAAE,CAAC,WAAWm/B,EAAE,CAAC,EAAE,SAASC,GAAGx2B,EAAE,EAAEE,EAAEE,EAAE,CAAC,GAAGJ,EAAE,QAAQ,QAAQ,MAAM,IAAI,MAAM,8EAA8EA,EAAE,KAAK,GAAG,EAAE,GAAGA,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM,sEAAsEA,EAAE,KAAK,GAAG,EAAE,IAAIK,EAAEL,EAAE,KAAK,EAAEA,EAAE,MAAM,CAAC,EAAE,EAAE,EAAEA,EAAE,KAAK,EAAEA,EAAE,MAAM,CAAC,EAAE,EAAE,GAAGE,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,kDAAkDA,EAAE,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,OAAO,GAAG,IAAIG,GAAG,MAAM,IAAI,MAAM,oCAAoC,EAAE,KAAK,sBAAsBA,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQD,EAAE,MAAM,MAAM,IAAI,MAAM,mDAAmD,CAAC,CAAC,SAASq2B,GAAGz2B,EAAE,EAAEE,EAAEE,EAAE,EAAE,CAACsc,GAAGxc,CAAC,EAAE,IAAIG,EAAEqiB,EAAE1iB,EAAE,gBAAgB,gBAAgB,OAAO,EAAE,EAAE0iB,EAAE,EAAE,eAAe,gBAAgB,mBAAmB,EAAE,EAAEA,EAAEtiB,EAAE,eAAe,gBAAgB,EAAE,KAAK,EAAEo2B,GAAGn2B,EAAE,EAAEH,EAAE,CAAC,EAAE,IAAI6B,EAAE,CAAC,cAAc1B,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE2B,EAAE,CAAC,YAAY9B,CAAC,EAAE,OAAO2hB,EAAE,UAAUj3B,GAAGmX,EAAEC,CAAC,CAAC,CAAC,IAAIjG,GAAG3E,EAAE,CAAC,eAAeq/B,EAAE,CAAC,EAAE,SAASC,GAAG12B,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE,EAAE,UAAU,WAAW,OAAO,EAAEriB,EAAE,CAAC,OAAOqiB,EAAE1iB,EAAE,IAAI,WAAW,mBAAmB,EAAE,QAAQE,CAAC,EAAE,OAAO2hB,EAAE,UAAUz9B,GAAGic,CAAC,CAAC,CAAC,IAAI5N,GAAG2E,EAAE,CAAC,UAAUs/B,EAAE,CAAC,EAAE,SAASC,GAAG32B,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,OAAOA,EAAE,MAAM,MAAM,EAAE,GAAGwa,GAAGxa,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAGA,EAAE,MAAM,SAAS,EAAE,OAAO,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAEJ,EAAE,MAAM,OAAOI,IAAI,EAAEA,CAAC,GAAG,MAAMJ,EAAE,MAAMI,CAAC,GAAG,KAAKF,EAAE,KAAKF,EAAE,MAAMI,CAAC,CAAC,EAAEF,EAAE,KAAK,EAAEE,CAAC,CAAC,EAAE,OAAOF,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS02B,GAAG52B,EAAE,EAAEE,EAAEE,EAAE,CAAC,IAAIC,EAAEqiB,EAAE1iB,EAAE,IAAI,SAAS,EAAE,GAAGsa,EAAEja,EAAE,QAAQ,UAAU,IAAI,gFAAgFA,EAAE,KAAK,kBAAkB,EAAEia,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,qDAAqD,CAAC,GAAG,EAAE,IAAI,EAAE,OAAOta,aAAapU,GAAGyU,EAAE,MAAM,EAAEA,EAAE,IAAI,EAAEs2B,GAAGt2B,EAAEH,CAAC,EAAE,EAAE,EAAE,EAAE6B,EAAElR,GAAGuB,GAAG,EAAEoG,GAAG,EAAE,EAAE,EAAE,UAAU4H,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO1J,EAAE2J,EAAE0B,CAAC,CAAC,CAAC,IAAI/Q,GAAGoG,EAAE,CAAC,SAASw/B,EAAE,CAAC,EAAE,SAASvlC,GAAG2O,EAAE,CAAC,OAAO,KAAK,MAAM,KAAK,IAAI,EAAE,KAAK,KAAK,KAAK,IAAIA,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASnQ,GAAGmQ,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,EAAEJ,EAAE,EAAEK,EAAE,IAAI,aAAaL,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,GAAGA,EAAEI,EAAE,GAAGC,EAAE,CAAC,EAAE,EAAEH,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,OAAOlD,GAAGqD,EAAE,SAAS,CAAC,CAAC,eAAew2B,GAAG72B,EAAE,EAAEE,EAAE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,cAAc,QAAQ,EAAEK,EAAEqiB,EAAE,EAAE,UAAU,QAAQ,EAAEpI,EAAEla,EAAE,KAAK,EAAE,IAAI,uEAAuEA,EAAE,IAAI,EAAE,EAAEka,EAAEla,EAAE,KAAK,IAAIC,EAAE,KAAK,IAAI,mFAAmFD,EAAE,IAAI,qBAAqBC,EAAE,IAAI,EAAE,EAAEka,GAAGna,EAAE,MAAM,MAAM,EAAEA,EAAE,MAAM,OAAO,CAAC,EAAEC,EAAE,MAAM,yFAAyF,EAAE,IAAI,EAAED,EAAE,MAAMA,EAAE,MAAM,OAAO,CAAC,EAAEka,EAAEpa,EAAE,GAAGA,GAAG,EAAE,IAAI,4EAA4E,CAAC,cAAcA,CAAC,EAAE,EAAE,IAAI,EAAE,MAAME,EAAE,KAAK,EAAE2B,EAAE,MAAM1B,EAAE,KAAK,EAAE,CAAC2B,EAAEC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAES,EAAE4Y,GAAG,OAAOtZ,CAAC,EAAE,QAAQW,EAAE,EAAEA,EAAEX,EAAEW,IAAI,CAAC,IAAIC,EAAED,EAAEV,EAAEY,EAAE,EAAE,SAASD,EAAEA,EAAEX,CAAC,EAAEa,EAAE,CAAC,EAAE,QAAQkB,EAAE,EAAEA,EAAEnB,EAAE,OAAOmB,IAAIlB,EAAE,KAAK,CAAC,MAAMD,EAAEmB,CAAC,EAAE,MAAMA,CAAC,CAAC,EAAElB,EAAE,KAAK,CAACkB,EAAE,IAAI,EAAE,MAAMA,EAAE,KAAK,EAAEtB,EAAEC,CAAC,EAAE,EAAE,QAAQqB,EAAE,EAAEA,EAAE9D,EAAE8D,IAAI,GAAGlB,EAAEkB,CAAC,EAAE,QAAQjC,EAAEY,CAAC,EAAE,CAACD,EAAEC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,OAAO3C,IAAII,GAAGA,EAAE,QAAQ,EAAE,IAAIC,GAAGA,EAAE,QAAQ,EAAEtD,GAAG2F,EAAErC,EAAE,MAAM,MAAM,CAAC,CAAC,IAAI7M,GAAGqjC,GAAOtkC,GAAG,CAAC,EAAE0N,GAAG1N,GAAG,CAAC,OAAO,IAAIukC,GAAG,gBAAgB,IAAIC,GAAG,OAAO,IAAIC,EAAE,CAAC,EAAE,SAASC,GAAGj3B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI0B,EAAE/B,EAAEA,EAAE,OAAO,IAAI+B,EAAExI,EAAEyG,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAIgC,EAAE,EAAEA,EAAE,OAAO,IAAIA,EAAEzI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG+gB,EAAEvY,EAAE,OAAO,EAAE,IAAI,iEAAiEA,EAAE,KAAK,GAAG,EAAEuY,EAAEtY,EAAE,OAAO,EAAE,IAAI,8DAA8DA,EAAE,KAAK,GAAG,EAAEsY,EAAEpa,EAAE,SAAS,EAAE,IAAI,mEAAmEA,CAAC,GAAG,EAAE,IAAI+B,EAAE,IAAI,OAAOF,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEW,EAAE,IAAI,OAAOV,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEsY,EAAErY,IAAI/B,EAAE,CAAC,EAAE,IAAI,4CAA4C+B,CAAC,uCAAuC/B,EAAE,CAAC,CAAC,GAAG,EAAEoa,EAAE5X,IAAIxC,EAAE,CAAC,EAAE,IAAI,0CAA0CwC,CAAC,yCAAyCxC,EAAE,CAAC,CAAC,IAAI,EAAEwpB,GAAG,kBAAkBrpB,EAAE,CAAC,EAAE,IAAIsC,EAAE,CAAC,EAAEZ,EAAE,GAAGC,CAAC,EAAEY,EAAE,CAAC,QAAQxC,EAAE,IAAIC,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAYH,CAAC,EAAE,OAAO2hB,EAAE,UAAUpgC,GAAGkhB,EAAEC,CAAC,CAAC,CAAC,IAAIs0B,GAAG9/B,EAAE,CAAC,sBAAsB6/B,EAAE,CAAC,EAAE,SAASE,GAAGn3B,EAAE,EAAEE,EAAE,CAAC,GAAGA,GAAG,MAAMA,IAAI,SAAS,OAAOF,EAAE,GAAGE,IAAI,OAAO,OAAOxJ,EAAEsJ,EAAEzD,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,gDAAgD2D,CAAC,GAAG,CAAC,CAAC,SAASk3B,GAAGp3B,EAAE,EAAE,CAAC,IAAIE,EAAE,EAAEE,EAAEosB,GAAGxsB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAOI,EAAE,OAAO,IAAIF,EAAEvD,GAAGuD,EAAEE,CAAC,GAAG7G,EAAE2G,EAAEF,EAAE,KAAK,CAAC,CAAC,SAASq3B,GAAGr3B,EAAE,EAAEE,EAAEE,EAAE,CAAC,GAAG,IAAI,SAAS,OAAOJ,EAAE,GAAG,IAAI,OAAO,OAAO5G,GAAG4G,CAAC,EAAE,GAAG,IAAI,MAAM,OAAO9O,GAAG8O,CAAC,EAAE,GAAG,IAAI,QAAQ,OAAO3G,GAAG2G,CAAC,EAAE,GAAG,IAAI,QAAQ,OAAOnI,GAAGmI,EAAEE,CAAC,EAAE,GAAG,IAAI,YAAY,OAAO/L,GAAG6L,EAAEI,CAAC,EAAE,GAAG,IAAI,UAAU,OAAOpF,GAAGgF,CAAC,EAAE,MAAM,IAAI,MAAM,4BAA4B,CAAC,GAAG,CAAC,CAAC,IAAIs3B,GAAG,CAACt3B,EAAE,IAAI,EAAEA,EAAE,IAAI,IAAI,SAAS,SAASu3B,GAAG,CAAC,EAAEv3B,EAAE,OAAO,EAAE,QAAQE,EAAE,IAAIE,EAAE,WAAWC,EAAE,OAAO,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,KAAK0B,EAAE,WAAWC,EAAE,SAAS,uBAAuBC,EAAE,eAAeS,CAAC,EAAE,CAAC,GAAGV,EAAEA,GAAG,SAASs1B,GAAGzV,EAAE,MAAM,cAAc7f,CAAC,IAAI,GAAG,CAACsY,EAAEja,IAAI,OAAO,IAAI,4CAA4CA,CAAC,6GAA6G,EAAE,IAAIuE,EAAEtV,GAAG0Q,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,EAAE,OAAO0B,GAAG,OAAO6C,EAAE,EAAEA,EAAE7C,CAAC,GAAGs1B,GAAGzyB,EAAE5C,EAAEC,EAAES,CAAC,CAAC,CAAC,IAAIC,EAAE+f,EAAE1iB,EAAE,IAAI,SAAS,SAAS,EAAE4C,EAAE8f,EAAE,EAAE,SAAS,SAAS,SAAS,EAAE7f,EAAEF,EAAEG,EAAE,GAAGH,EAAE,OAAO,IAAIG,EAAE,GAAGD,EAAEtJ,EAAEoJ,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG2X,EAAEzX,EAAE,OAAO,EAAE,IAAI,6DAA6DA,EAAE,IAAI,GAAG,EAAEyX,EAAE1X,EAAE,OAAO,EAAE,IAAI,8DAA8DA,EAAE,IAAI,GAAG,EAAE8mB,GAAG,eAAetpB,EAAE,CAAC,EAAE,IAAI4D,EAAE3D,IAAI,OAAOwC,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEyX,EAAE1X,EAAE,MAAM,CAAC,IAAIoB,EAAE,IAAI,oCAAoCA,CAAC,uCAAuCpB,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE0X,EAAEkP,GAAGtpB,EAAE,CAAC,EAAE,IAAI,uEAAuEA,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAEwoB,GAAG7lB,EAAE,MAAMD,EAAE,MAAM1C,EAAE,EAAEE,EAAE,CAAC,EAAEkH,EAAEvF,GAAG,OAAOuF,EAAEob,EAAE3gB,EAAE,OAAO,cAAc,EAAE,CAACuF,CAAC,EAAE0Z,GAAG1Z,EAAE3E,CAAC,EAAEtC,IAAI,OAAOisB,GAAG,EAAE,SAAShlB,EAAE,KAAK,GAAGgT,EAAEhT,EAAE,MAAM,QAAQ,EAAE,IAAI,2GAA2GA,EAAE,MAAM,MAAM,GAAG,EAAEgT,EAAEhT,EAAE,MAAM,SAAS,GAAGA,EAAE,MAAM,CAAC,IAAI,EAAE,aAAaA,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,sCAAsCA,EAAE,KAAK,2DAA2D,EAAE,WAAW,GAAG,IAAI,IAAIxC,EAAE,GAAG7C,GAAG,KAAK,CAAC,IAAI2C,EAAE3C,EAAE,MAAM,GAAGqY,EAAE1V,EAAE,QAAQ,GAAGA,EAAE,SAAS,EAAE,IAAI,2HAA2HA,EAAE,MAAM,GAAG,EAAEA,EAAE,SAAS,EAAE0V,EAAE1V,EAAE,CAAC,IAAI,GAAGA,EAAE,CAAC,IAAI,EAAE,YAAY,IAAI,oDAAoDA,CAAC,2DAA2D,EAAE,WAAW,IAAI,UAAUA,EAAE,SAAS,EAAE,GAAG,CAAC0nB,GAAG1nB,EAAE,EAAE,QAAQ,CAAC,OAAOC,EAAE,CAAC,IAAI0C,EAAE,oDAAoD3C,CAAC,4DAA4D,EAAE,QAAQ,KAAK,MAAM,MAAM2C,CAAC,CAAC,CAACzC,EAAE4d,EAAEzgB,EAAE,gBAAgB,cAAc,CAAC,CAAC,IAAIwC,EAAE,CAACG,EAAEC,IAAI,CAACyV,EAAEja,IAAI,OAAO,IAAI,wDAAwDA,CAAC,wCAAwC,EAAE,GAAG,CAACkH,EAAE,EAAEvC,EAAEC,CAAC,EAAEJ,EAAEK,EAAEiyB,GAAGvyB,EAAEI,EAAEhD,CAAC,EAAEsY,EAAEiP,GAAG,CAAC,EAAE,IAAI,uHAAuH,CAAC,GAAG,EAAE,IAAIpkB,EAAEomB,GAAG,EAAE,MAAMrmB,EAAEqC,EAAErH,EAAEE,CAAC,EAAEgF,EAAE8xB,GAAG,EAAEhyB,EAAEqC,EAAE,MAAMrH,EAAEE,CAAC,EAAEiF,EAAE,CAACF,EAAEC,CAAC,EAAE,GAAGH,GAAG,KAAK,CAAC,IAAI+C,EAAEovB,GAAGnyB,EAAEC,CAAC,EAAEG,EAAE,KAAK2C,CAAC,CAAC,CAAC,OAAO3C,CAAC,EAAEX,EAAE,CAAC,EAAE7B,EAAE,OAAOD,EAAE,KAAK0E,EAAE,uBAAuBxC,CAAC,EAAEH,EAAE,CAAC,QAAQzE,EAAE,IAAIE,EAAE,WAAWC,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW2B,EAAE,eAAeU,CAAC,EAAE,OAAOX,GAAG,KAAK/R,GAAG,CAAC6U,EAAE0C,EAAExC,IAAI,CAAC,IAAIC,EAAE6c,EAAE,UAAU59B,GAAGygB,EAAEC,CAAC,EAAE,OAAOI,EAAE,CAACwC,EAAE1C,EAAEG,CAAC,CAAC,EAAElC,IAAIkC,EAAEzL,EAAEyL,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAMA,EAAE,SAASP,CAAC,CAAC,CAAC,EAAE5B,EAAED,CAAC,EAAE5S,GAAG,CAAC6U,EAAE0C,EAAExC,EAAEC,IAAI,CAAC,IAAIC,EAAE4c,EAAE,UAAU59B,GAAGygB,EAAEC,CAAC,EAAE,OAAOK,EAAE,CAACuC,EAAE1C,EAAEI,EAAEF,CAAC,CAAC,EAAEjC,IAAImC,EAAE1L,EAAE0L,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAMA,EAAE,SAASR,CAAC,CAAC,CAAC,EAAE5B,EAAED,EAAE0E,CAAC,CAAC,CAAC,IAAIwvB,GAAG1/B,EAAE,CAAC,aAAamgC,EAAE,CAAC,EAAE,SAASC,GAAGx3B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI0B,EAAE/B,EAAEA,EAAE,OAAO,IAAI+B,EAAExI,EAAEyG,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAIgC,EAAE,EAAEA,EAAE,OAAO,IAAIA,EAAEzI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI0I,EAAE,CAAC,EAAEF,EAAE,GAAGC,CAAC,EAAEU,EAAE,CAAC,QAAQtC,EAAE,IAAIC,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAYH,CAAC,EAAE,OAAO2hB,EAAE,UAAUr/B,GAAGyf,EAAES,CAAC,CAAC,CAAC,IAAI+0B,GAAGrgC,EAAE,CAAC,qCAAqCogC,EAAE,CAAC,EAAE,SAASE,GAAG13B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI0B,EAAE,EAAEC,EAAE,GAAG,EAAE,OAAO,IAAIA,EAAE,GAAGD,EAAExI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI0I,EAAE,CAAC,GAAGF,EAAE,OAAO7B,CAAC,EAAEwC,EAAE,CAAC,QAAQtC,EAAE,IAAIC,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAWL,CAAC,EAAE2C,EAAEkf,EAAE,UAAUp/B,GAAGwf,EAAES,CAAC,EAAE,OAAOV,EAAEzI,EAAEoJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAIg1B,GAAGvgC,EAAE,CAAC,oCAAoCsgC,EAAE,CAAC,EAAE,SAASE,GAAG,CAAC,EAAE53B,EAAE,OAAO,EAAE,QAAQE,EAAE,IAAIE,EAAE,WAAWC,EAAE,OAAO,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,KAAK0B,EAAE,WAAWC,EAAE,SAAS,uBAAuBC,EAAE,eAAeS,CAAC,EAAE,CAAC,GAAG40B,GAAGzV,EAAE,MAAM,cAAc7f,CAAC,IAAI,GAAG,CAAC,IAAI2C,EAAEtU,GAAG2P,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,EAAE,OAAO0B,GAAG,OAAO4C,EAAE,EAAEA,EAAE5C,CAAC,GAAGs1B,GAAG1yB,EAAE3C,EAAEC,EAAES,CAAC,CAAC,CAAC,IAAIC,EAAE+f,EAAE1iB,EAAE,IAAI,kBAAkB,SAAS,EAAE4C,EAAE8f,EAAE,EAAE,SAAS,kBAAkB,SAAS,EAAE7f,EAAEF,EAAEG,EAAE,GAAGH,EAAE,OAAO,IAAIG,EAAE,GAAGD,EAAEtJ,EAAEoJ,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG2X,EAAEzX,EAAE,OAAO,EAAE,IAAI,sEAAsEA,EAAE,IAAI,GAAG,EAAEyX,EAAE1X,EAAE,OAAO,EAAE,IAAI,uEAAuEA,EAAE,IAAI,GAAG,EAAE0X,EAAEzX,EAAE,MAAM,CAAC,IAAID,EAAE,MAAM,CAAC,EAAE,IAAI,6DAA6DC,EAAE,MAAM,CAAC,CAAC,mDAAmDD,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG0X,EAAEkP,GAAGtpB,EAAE,CAAC,EAAE,IAAI,sFAAsFA,CAAC,mBAAmB,CAAC,GAAG,EAAEwpB,GAAG,wBAAwBtpB,EAAE,CAAC,EAAE,IAAI4D,EAAE0kB,GAAG7lB,EAAE,MAAMD,EAAE,MAAM1C,EAAE,EAAEE,EAAE,EAAE,EAAE,EAAE,EAAE2B,GAAG,OAAO,EAAE2gB,EAAE3gB,EAAE,OAAO,cAAc,EAAE,CAAC,CAAC,EAAEif,GAAG,EAAEre,CAAC,EAAE2pB,GAAGtoB,EAAE,SAAS,EAAE,KAAK,GAAG,IAAIsD,EAAErF,GAAG,OAAOqF,EAAEob,EAAEzgB,EAAE,gBAAgB,uBAAuB,GAAG,IAAI6C,EAAE,CAACH,EAAEC,IAAI,CAAC0V,EAAEiP,GAAG,CAAC,EAAE,IAAI,mHAAmH,CAAC,GAAG,EAAE,GAAG,CAAC1kB,EAAE0C,EAAE,EAAEvC,CAAC,EAAEJ,EAAEK,EAAEkyB,GAAGxyB,EAAE,EAAE3C,CAAC,EAAEkD,EAAEyyB,GAAGpwB,EAAE,MAAMtC,EAAEJ,EAAE3E,EAAEE,EAAE,EAAE,CAAC,EAAE+E,EAAEsyB,GAAGlwB,EAAEtC,EAAEJ,EAAE,MAAM3E,EAAEE,EAAE,EAAE,CAAC,EAAE,GAAG4E,GAAG,KAAK,CAAC,IAAII,EAAEgyB,GAAG,EAAEnyB,CAAC,EAAE,MAAM,CAACC,EAAEC,EAAEC,CAAC,CAAC,CAAC,MAAM,CAACF,EAAEC,CAAC,CAAC,EAAEV,EAAE,CAAC,EAAE5B,EAAE,OAAOD,EAAE,KAAK,EAAE,uBAAuB0E,CAAC,EAAE5C,EAAE,CAAC,QAAQxE,EAAE,IAAIE,EAAE,WAAWC,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW2B,EAAE,eAAeU,CAAC,EAAE,OAAOX,GAAG,KAAK/R,GAAG,CAAC4U,EAAEC,EAAE0C,IAAI,CAAC,IAAIxC,EAAE8c,EAAE,UAAU39B,GAAGugB,EAAEC,CAAC,EAAE,OAAO6C,EAAE,CAAC1C,EAAED,EAAEG,CAAC,CAAC,EAAEjC,IAAIiC,EAAExL,EAAEwL,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAMA,EAAE,SAASD,CAAC,CAAC,CAAC,EAAEjC,EAAED,CAAC,EAAE5S,GAAG,CAAC4U,EAAEC,EAAE0C,EAAExC,IAAI,CAAC,IAAIC,EAAE6c,EAAE,UAAU39B,GAAGugB,EAAEC,CAAC,EAAE,OAAOK,EAAE,CAACF,EAAED,EAAEI,EAAEuC,CAAC,CAAC,EAAEzE,IAAIkC,EAAEzL,EAAEyL,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAMA,EAAE,SAASF,CAAC,CAAC,CAAC,EAAEjC,EAAED,EAAE,CAAC,CAAC,CAAC,IAAIm0B,GAAG3/B,EAAE,CAAC,sBAAsBwgC,EAAE,CAAC,EAAE,SAASC,GAAG,CAAC,EAAE73B,EAAE,EAAE,EAAE,WAAWE,EAAE,GAAG,WAAWE,EAAE,GAAG,KAAKC,EAAE,WAAW,EAAE,SAAS,uBAAuB,EAAE,eAAe0B,EAAE,EAAE,EAAE,CAAC,GAAGu1B,GAAGzV,EAAE,MAAM,cAAc,CAAC,IAAI,GAAG,CAAC,IAAI5c,EAAE1P,GAAGyK,EAAE,EAAEE,EAAEE,CAAC,EAAE,OAAOC,GAAG,OAAO4E,EAAE,EAAEA,EAAE5E,CAAC,GAAGg3B,GAAGpyB,EAAE,EAAE,EAAElD,CAAC,CAAC,CAAC,IAAIC,EAAE0gB,EAAE1iB,EAAE,IAAI,cAAc,EAAEiC,EAAEygB,EAAE,EAAE,IAAI,cAAc,EAAE,CAAC1gB,EAAEC,CAAC,EAAE+e,GAAGhf,EAAEC,CAAC,EAAE,IAAIS,EAAExC,EAAE8B,EAAE,MAAMA,EAAE,KAAK,CAAC,EAAEA,EAAE,MAAMA,EAAE,KAAK,CAAC,EAAEW,EAAEvC,EAAE6B,EAAE,MAAMA,EAAE,KAAK,CAAC,EAAEA,EAAE,MAAMA,EAAE,KAAK,CAAC,EAAEW,EAAE1C,EAAE8B,EAAE,MAAMA,EAAE,KAAK,CAAC,EAAEA,EAAE,MAAMA,EAAE,KAAK,CAAC,EAAEa,EAAEzC,EAAE6B,EAAE,MAAMA,EAAE,KAAK,CAAC,EAAEA,EAAE,MAAMA,EAAE,KAAK,CAAC,EAAEa,EAAEd,EAAE,MAAM,MAAM,EAAE,EAAE,EAAEgC,EAAE/B,EAAE,MAAM,MAAM,EAAE,EAAE,EAAE,EAAEyY,GAAG5X,CAAC,EAAEwE,EAAEoT,GAAG1W,CAAC,EAAEsW,EAAE5X,IAAIC,EAAE,IAAI,wCAAwCD,CAAC,UAAUC,CAAC,4BAA4BX,EAAE,KAAK,QAAQC,EAAE,KAAK,mBAAmB/B,CAAC,mBAAmBE,CAAC,cAAc,EAAE,IAAIqE,EAAE6nB,GAAGtqB,EAAE,MAAM,MAAM,EAAE,EAAE,EAAEC,EAAE,MAAM,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,CAACW,EAAEC,CAAC,CAAC,EAAE6B,EAAExE,EAAE3G,EAAEyI,EAAE,CAAC,EAAEU,EAAEE,CAAC,CAAC,EAAErJ,EAAEyI,EAAE,CAAC,EAAEY,EAAEF,CAAC,CAAC,EAAEiC,EAAEvE,EAAE7G,EAAE0I,EAAE,CAACqF,EAAEzE,EAAEF,CAAC,CAAC,EAAEpJ,EAAE0I,EAAE,CAACqF,EAAE3E,EAAEE,CAAC,CAAC,EAAE+B,EAAEvE,GAAG,OAAOuE,EAAE8d,EAAEriB,EAAE,OAAO,cAAc,EAAE,CAACuE,CAAC,EAAEoc,GAAGpc,EAAE5C,CAAC,EAAEsqB,GAAG7nB,EAAEG,EAAE,KAAK,GAAG,IAAIC,EAAE,GAAG,OAAOA,EAAE6d,EAAE,EAAE,gBAAgB,cAAc,GAAG,IAAInb,EAAE,CAACtC,EAAEC,IAAI,CAAC,GAAG,CAACC,EAAEC,EAAEC,EAAE2C,CAAC,EAAE9C,EAAEuC,EAAE0vB,GAAG59B,EAAE0L,EAAEI,EAAE,KAAK,EAAEA,EAAE,CAAC,EAAE4C,EAAEC,EAAG,GAAG,CAAChI,GAAG,CAACE,GAAG6H,EAAE1S,GAAGkS,EAAErC,EAAE,GAAG,EAAE,EAAE8C,EAAG3S,GAAG4P,EAAEsC,EAAE,GAAG,EAAE,GAAG,CAACvH,GAAGE,GAAG6H,EAAE1S,GAAGkS,EAAErC,EAAE,GAAG,EAAE,EAAE8C,EAAG3S,GAAGkS,EAAEtC,EAAE,GAAG,EAAE,GAAGjF,GAAG,CAACE,GAAG6H,EAAE1S,GAAG6P,EAAEqC,EAAE,GAAG,EAAE,EAAES,EAAG3S,GAAG4P,EAAEsC,EAAE,GAAG,EAAE,IAAIQ,EAAE1S,GAAG6P,EAAEqC,EAAE,GAAG,EAAE,EAAES,EAAG3S,GAAGkS,EAAEtC,EAAE,GAAG,EAAE,GAAG9E,GAAG,KAAK,CAAC,IAAI8H,EAAGivB,GAAGpvB,EAAEP,CAAC,EAAE,MAAM,CAACQ,EAAEC,EAAGC,CAAE,CAAC,KAAM,OAAM,CAACF,EAAEC,CAAE,CAAC,EAAEnD,EAAE,CAAC,EAAEL,EAAE,EAAEC,EAAE,KAAKC,EAAE,uBAAuBC,CAAC,EAAEG,EAAE,CAAC,WAAW9E,EAAE,WAAWE,EAAE,WAAW,EAAE,eAAe2B,CAAC,EAAE,OAAO1B,GAAG,KAAKrQ,GAAG,CAACkV,EAAEC,EAAEC,IAAI,CAAC,IAAIC,EAAEwc,EAAE,UAAUp1B,GAAGsY,EAAEC,CAAC,EAAE,OAAOI,EAAE,CAACF,EAAEC,EAAEE,CAAC,CAAC,EAAE,CAAC,MAAM9L,EAAE8L,EAAEZ,CAAC,EAAE,SAAS8C,CAAC,CAAC,CAAC,EAAE7C,EAAEC,CAAC,EAAE3U,GAAG,CAACkV,EAAEC,EAAEC,EAAEC,IAAI,CAAC,IAAI2C,EAAE6Z,EAAE,UAAUp1B,GAAGsY,EAAEC,CAAC,EAAE,OAAOK,EAAE,CAACH,EAAEC,EAAE6C,EAAE5C,CAAC,CAAC,EAAE,CAAC,MAAM7L,EAAEyO,EAAEvD,CAAC,EAAE,SAAS8C,CAAC,CAAC,CAAC,EAAE7C,EAAEC,EAAEC,CAAC,CAAC,CAAC,IAAIoyB,GAAG5/B,EAAE,CAAC,aAAaygC,EAAE,CAAC,EAAE,SAASC,GAAG93B,EAAE,CAAC,OAAOnQ,GAAGmQ,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI+3B,GAAG3gC,EAAE,CAAC,eAAe0gC,EAAE,CAAC,EAAE,SAASE,GAAGh4B,EAAE,CAAC,OAAOnQ,GAAGmQ,EAAE,GAAG,EAAE,CAAC,CAAC,IAAIi4B,GAAG7gC,EAAE,CAAC,YAAY4gC,EAAE,CAAC,EAAE,SAASE,GAAGl4B,EAAE,EAAEE,EAAEE,EAAE,GAAGC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAGL,EAAE,MAAM,EAAE,KAAK3E,GAAG2E,EAAE,EAAE,CAAC,CAAC,EAAE,GAAGE,EAAE,GAAGE,EAAE,KAAK,EAAEJ,EAAE,MAAM,CAAC,IAAI+B,EAAE,EAAE,EAAE/B,EAAE,KAAKgC,EAAEjT,GAAG,CAACsM,GAAG2E,EAAE,EAAE,EAAE+B,CAAC,EAAE9P,GAAG,CAAC8P,CAAC,EAAE1B,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK2B,CAAC,EAAE,GAAG9B,CAAC,CAAC,OAAO,EAAE,SAAS,EAAEjD,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE1D,EAAExK,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAIopC,GAAG/gC,EAAE,CAAC,OAAO8gC,EAAE,CAAC,EAAE,SAASE,GAAGp4B,EAAE,EAAEE,EAAEE,EAAEC,EAAE43B,GAAG,CAAC73B,GAAG,OAAOA,EAAE/O,GAAG,CAAC,GAAG,IAAI,EAAE8mC,GAAGn4B,EAAE,EAAEE,CAAC,EAAE,EAAExJ,EAAE,EAAE2J,EAAE,CAAC,CAAC,EAAE,OAAOxG,GAAG,EAAEuG,CAAC,CAAC,CAAC,IAAIi4B,GAAGjhC,EAAE,CAAC,MAAMghC,EAAE,CAAC,EAAE,SAASE,GAAGt4B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,QAAQ,eAAe,EAAE+B,EAAE2gB,EAAE,EAAE,QAAQ,gBAAgB,SAAS,EAAE1gB,EAAE0gB,EAAExiB,EAAE,SAAS,gBAAgB,OAAO,EAAE+B,EAAEF,EAAE,MAAM,CAAC,EAAEuY,EAAE,EAAE,OAAO,EAAE,IAAI,6DAA6D,EAAE,IAAI,GAAG,EAAEA,EAAEvY,EAAE,OAAO,GAAGA,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,oDAAoDE,CAAC,qBAAqBF,EAAE,KAAK,GAAG,EAAEuY,EAAEtY,EAAE,OAAO,GAAGA,EAAE,MAAM,CAAC,IAAIC,EAAE,IAAI,qDAAqDA,CAAC,mBAAmBF,EAAE,KAAK,GAAG,EAAEuY,EAAEla,EAAE,SAAS,EAAE,IAAI,wEAAwEA,EAAE,MAAM,GAAG,EAAEka,EAAEla,EAAE,CAAC,GAAG,GAAGA,EAAE,CAAC,GAAG,EAAE,IAAI,2CAA2CA,CAAC,EAAE,EAAEka,EAAEja,IAAI,YAAYA,IAAI,UAAU,IAAI,+CAA+CA,CAAC,EAAE,EAAE,IAAIqC,EAAE,CAAC,MAAM,EAAE,MAAMX,EAAE,OAAOC,CAAC,EAAEW,EAAE,CAAC,OAAOtC,EAAE,mBAAmB,EAAE,SAASD,CAAC,EAAE,OAAOyhB,EAAE,UAAU7/B,GAAG0gB,EAAEC,CAAC,CAAC,CAAC,IAAI41B,GAAGnhC,EAAE,CAAC,eAAekhC,EAAE,CAAC,EAAE,SAASE,GAAGx4B,EAAE,CAAC,IAAI,EAAE0iB,EAAE1iB,EAAE,QAAQ,gBAAgB,SAAS,EAAEsa,EAAE,EAAE,OAAO,EAAE,IAAI,6DAA6D,EAAE,IAAI,GAAG,EAAE,IAAIpa,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO2hB,EAAE,UAAUj+B,GAAGsc,EAAE,CAAC,CAAC,CAAC,CAAC,IAAIu4B,GAAGrhC,EAAE,CAAC,eAAeohC,EAAE,CAAC,EAAE,SAASE,GAAG14B,EAAE,CAAC,IAAI,EAAE0iB,EAAE1iB,EAAE,QAAQ,gBAAgB,EAAEE,EAAE,EAAE,KAAK,EAAEE,EAAE,EAAE,MAAMF,CAAC,EAAEoa,EAAE,EAAE,MAAM,EAAE,IAAI,yEAAyE,EAAE,IAAI,GAAG,EAAEA,EAAEla,IAAI,EAAE,IAAI,+FAA+FA,CAAC,GAAG,EAAE,IAAIC,EAAE,IAAI,MAAM,EAAE,IAAI,EAAE,OAAOA,EAAE,KAAK,EAAE,EAAEH,CAAC,EAAEG,EAAEH,CAAC,EAAE,EAAExC,GAAG,EAAE2C,CAAC,CAAC,CAAC,IAAIs4B,GAAGvhC,EAAE,CAAC,gBAAgBshC,EAAE,CAAC,EAAE,SAASE,GAAG54B,EAAE,CAAC,IAAI,EAAE0iB,EAAE1iB,EAAE,QAAQ,gBAAgB,EAAEE,EAAE,EAAE,KAAK,EAAEE,EAAE,EAAE,MAAMF,CAAC,EAAEoa,EAAE,EAAE,MAAM,EAAE,IAAI,yEAAyE,EAAE,IAAI,GAAG,EAAEA,EAAEla,IAAI,EAAE,IAAI,0FAA0FA,CAAC,GAAG,EAAE,IAAIC,EAAE,EAAE,MAAM,EAAE3R,GAAE,EAAE,SAAS,EAAE,EAAEsO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE+E,EAAE,OAAO,EAAE,KAAK,CAAC,IAAK,GAAEA,EAAE9Q,GAAG,UAAU,EAAE,CAAC,EAAE,MAAM,IAAK,GAAE8Q,EAAE9Q,GAAG,YAAY,EAAE,CAAC,EAAE,MAAM,IAAK,GAAE8Q,EAAE9Q,GAAG,cAAc,EAAE,CAAC,EAAE,MAAM,IAAK,GAAE8Q,EAAE9Q,GAAG,gBAAgB,EAAE,CAAC,EAAE,MAAM,IAAK,GAAE8Q,EAAE9Q,GAAG,kBAAkB,EAAE,CAAC,EAAE,MAAM,QAAQ,MAAM,IAAI,MAAM,0BAA0B,CAAC,CAAC,OAAO8Q,EAAElQ,GAAGkQ,EAAE,EAAE,EAAErT,GAAEqT,EAAE1B,CAAC,CAAC,CAAC,IAAIw4B,GAAGzhC,EAAE,CAAC,gBAAgBwhC,EAAE,CAAC,EAAE,SAASE,GAAG94B,EAAE,EAAEE,EAAE,EAAEE,EAAE,GAAG,CAAC,IAAIC,EAAEqiB,EAAE1iB,EAAE,QAAQ,mBAAmB,SAAS,EAAEsa,EAAEja,EAAE,OAAO,EAAE,IAAI,gEAAgEA,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,MAAMA,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAUH,EAAE,OAAOE,CAAC,EAAE,OAAOyhB,EAAE,UAAUt4B,GAAG,EAAE,CAAC,CAAC,CAAC,IAAIwvC,GAAG3hC,EAAE,CAAC,kBAAkB0hC,EAAE,CAAC,EAAE,SAASE,GAAGh5B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAACD,GAAG,OAAOA,EAAE,IAAIC,GAAG,OAAOA,EAAE,OAAO,mBAAmB,GAAG,OAAO,EAAE,GAAG,IAAI,EAAEL,EAAE,MAAM,CAAC,EAAE,OAAOE,EAAE,KAAK,IAAIA,EAAE,CAAC,EAAEoa,EAAE,GAAGla,GAAGA,GAAG,EAAE,IAAI,4CAA4CA,CAAC,GAAG,EAAEka,EAAEta,EAAE,OAAO,EAAE,IAAI,+CAA+CA,EAAE,IAAI,GAAG,EAAEsa,EAAEta,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,oDAAoDA,EAAE,MAAM,CAAC,CAAC,EAAE,EAAEsa,EAAE,EAAE,OAAO,EAAE,IAAI,4BAA4B,EAAEA,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,sDAAsD,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,EAAE,EAAEA,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,4CAA4C,CAAC,GAAG,EAAE,CAAC,cAAcpa,EAAE,aAAaE,EAAE,eAAeC,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS44B,GAAGj5B,EAAE,EAAEE,EAAEE,EAAE,GAAGC,EAAE,OAAO,kBAAkB,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,QAAQ,oBAAoB,SAAS,EAAE,EAAE0iB,EAAE,EAAE,SAAS,oBAAoB,SAAS,EAAE3gB,EAAEi3B,GAAG,EAAE,EAAE94B,EAAEE,EAAEC,CAAC,EAAEH,EAAE6B,EAAE,cAAc3B,EAAE2B,EAAE,aAAa1B,EAAE0B,EAAE,eAAe,IAAIC,EAAE,CAAC,cAAc9B,EAAE,aAAaE,EAAE,eAAeC,CAAC,EAAE,OAAOwhB,EAAE,UAAUx6B,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE2a,CAAC,CAAC,CAAC,IAAIk3B,GAAG9hC,EAAE,CAAC,mBAAmB6hC,EAAE,CAAC,EAAE,SAASE,GAAGn5B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEg5B,GAAGp5B,EAAE,EAAEE,CAAC,EAAEG,EAAED,EAAE,EAAE,EAAEA,EAAE,GAAGA,EAAEJ,EAAE,OAAOK,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS+4B,GAAGp5B,EAAE,EAAEE,EAAE,CAAC,OAAOm5B,GAAGr5B,EAAE,EAAEE,GAAGo5B,EAAE,CAAC,CAAC,SAASA,GAAGt5B,EAAE,EAAE,CAAC,OAAOA,EAAE,EAAE,EAAEA,EAAE,EAAE,GAAG,CAAC,CAAC,SAASq5B,GAAGr5B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,EAAEC,EAAEL,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,KAAKI,EAAEC,GAAG,CAAC,EAAED,GAAGC,EAAED,IAAI,GAAG,IAAI2B,EAAE7B,EAAE,EAAEF,EAAE,CAAC,CAAC,EAAE+B,EAAE,EAAE3B,EAAE,EAAE,GAAGC,EAAE,EAAE,EAAE,CAAC0B,EAAE,CAAC,OAAO,EAAE3B,EAAE,CAACA,EAAE,CAAC,CAAC,SAASm5B,GAAGv5B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,OAAOm5B,GAAGx5B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,CAAC,CAAC,SAASo5B,GAAGz5B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,OAAOm5B,GAAGx5B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAASq5B,GAAG15B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,OAAOm5B,GAAGx5B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE,CAAC,CAAC,SAASm5B,GAAGx5B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE,GAAG0B,EAAE,GAAGC,EAAE,GAAG,CAAC,IAAIC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE5B,GAAG4B,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC,EAAEA,EAAE,KAAK03B,EAAE,EAAE,IAAIj3B,EAAE,EAAE,EAAE,IAAI,EAAE,EAAEC,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,KAAKD,EAAE,OAAOzC,GAAG+B,EAAE,OAAO,GAAG,CAAC,IAAI,EAAEA,EAAE,IAAI,EAAE,CAAC,MAAMqF,EAAE,SAASxC,EAAE,mBAAmBL,CAAC,EAAE,EAAE,GAAG6C,EAAEjH,EAAE,MAAM,IAAIqE,EAAE,GAAG,QAAQC,EAAEhC,EAAE,OAAO,EAAEgC,GAAGF,EAAE,EAAEE,EAAE,CAAC,IAAIC,EAAEg1B,GAAG55B,EAAE8E,EAAEnC,EAAEgC,CAAC,CAAC,EAAE,GAAGC,GAAGxE,EAAE,CAACsE,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAMm1B,GAAGz5B,EAAEsC,EAAEkC,CAAC,EAAE,EAAE,OAAOvE,EAAE,KAAK,CAAC,EAAE,mBAAmBsC,EAAE,OAAO+B,IAAI,EAAE,QAAQ4C,GAAG3E,EAAE,KAAKmC,CAAC,EAAElC,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,MAAMvC,GAAG84B,GAAGl3B,EAAE,EAAE03B,EAAE,EAAE,CAAC,IAAI92B,EAAEF,EAAE,OAAOG,EAAE5C,EAAE2C,EAAEd,GAAGe,EAAE,IAAIH,EAAE,KAAK,GAAG,IAAI,MAAMG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAEF,EAAE,KAAK,GAAG,IAAI,MAAME,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAIkB,EAAE,CAAC,gBAAgBrB,CAAC,EAAE,OAAO,IAAIqB,EAAE,eAAepB,GAAGZ,IAAIgC,EAAE,aAAanB,GAAGmB,CAAC,CAAC,SAAS41B,GAAG55B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEJ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAEK,EAAEL,EAAE,SAASE,EAAE,EAAEA,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,IAAIE,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,IAAIA,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE2B,EAAE,KAAK,IAAI3B,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE4B,EAAE,KAAK,IAAI5B,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE6B,EAAE,KAAK,IAAI5B,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAEqC,EAAE,KAAK,IAAIrC,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAEsC,EAAE,KAAK,IAAItC,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAEuC,EAAE,KAAK,IAAIvC,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAEwC,GAAGd,EAAE,IAAIC,EAAE,GAAGc,GAAGH,EAAEV,IAAIW,EAAEF,GAAG,GAAGG,GAAG,GAAGC,GAAG,EAAE,MAAO,GAAE,IAAIkB,EAAE,KAAK,IAAI,EAAE/B,CAAC,EAAE,EAAE,KAAK,IAAI,EAAES,CAAC,EAAE4E,EAAE,KAAK,IAAIvF,EAAEY,CAAC,EAAEmC,EAAE,KAAK,IAAI9C,EAAEY,CAAC,EAAE6B,EAAE,KAAK,IAAI6C,EAAEtD,EAAE,CAAC,EAAE,KAAK,IAAIc,EAAE,EAAE,CAAC,EAAE,OAAOL,GAAG5B,EAAEC,EAAE2B,EAAE,CAAC,SAASo1B,GAAG75B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,KAAK,IAAI,EAAEF,EAAEA,CAAC,EAAE,OAAOA,GAAGF,EAAEI,EAAE,CAAC,CAAC,SAASu5B,GAAG35B,EAAE,EAAE,CAAC,OAAOA,EAAE,MAAM,EAAE,OAAOA,EAAE,QAAQ,EAAE,OAAO,EAAE,SAASA,EAAE,QAAQ,CAAC,eAAe85B,GAAG95B,EAAE,EAAEE,EAAEE,EAAE,GAAGC,EAAE,OAAO,kBAAkB,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,QAAQ,wBAAwB,EAAE,EAAE0iB,EAAE,EAAE,SAAS,wBAAwB,EAAE3gB,EAAEi3B,GAAG,EAAE,EAAE94B,EAAEE,EAAEC,CAAC,EAAEH,EAAE6B,EAAE,cAAc3B,EAAE2B,EAAE,aAAa1B,EAAE0B,EAAE,eAAe,IAAIC,EAAE,MAAM,QAAQ,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,EAAEC,EAAED,EAAE,CAAC,EAAEU,EAAEV,EAAE,CAAC,EAAE,CAAC,gBAAgBW,CAAC,EAAE42B,GAAGt3B,EAAES,EAAExC,EAAEE,EAAEC,CAAC,EAAE,OAAO,IAAIL,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAEhD,GAAG2F,EAAE,OAAO,CAAC,CAAC,IAAIo3B,GAAGD,GAAG,SAASE,GAAGh6B,EAAE,EAAEE,EAAEE,EAAE,GAAGC,EAAE,OAAO,kBAAkB,EAAE,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,QAAQ,mBAAmB,EAAE+B,EAAE2gB,EAAE,EAAE,SAAS,mBAAmB,EAAE1gB,EAAEg3B,GAAG,EAAEj3B,EAAE7B,EAAEE,EAAEC,EAAE,CAAC,EAAEH,EAAE8B,EAAE,cAAc5B,EAAE4B,EAAE,aAAa3B,EAAE2B,EAAE,eAAe,EAAEA,EAAE,aAAa,IAAIC,EAAE,CAAC,MAAM,EAAE,OAAOF,CAAC,EAAEW,EAAE,CAAC,cAAcxC,EAAE,aAAaE,EAAE,eAAeC,EAAE,aAAa,CAAC,EAAEsC,EAAEkf,EAAE,UAAUt6B,GAAG0a,EAAES,CAAC,EAAE,MAAM,CAAC,gBAAgBC,EAAE,CAAC,EAAE,eAAeA,EAAE,CAAC,CAAC,CAAC,CAAC,IAAIs3B,GAAG7iC,EAAE,CAAC,4BAA4B4iC,EAAE,CAAC,EAAE,eAAeE,GAAGl6B,EAAE,EAAEE,EAAEE,EAAE,GAAGC,EAAE,OAAO,kBAAkB,EAAE,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,QAAQ,wBAAwB,EAAE+B,EAAE2gB,EAAE,EAAE,SAAS,wBAAwB,EAAE1gB,EAAEg3B,GAAG,EAAEj3B,EAAE7B,EAAEE,EAAEC,EAAE,CAAC,EAAEH,EAAE8B,EAAE,cAAc5B,EAAE4B,EAAE,aAAa3B,EAAE2B,EAAE,eAAe,EAAEA,EAAE,aAAa,IAAIC,EAAE,MAAM,QAAQ,IAAI,CAAC,EAAE,KAAK,EAAEF,EAAE,KAAK,CAAC,CAAC,EAAEW,EAAET,EAAE,CAAC,EAAEU,EAAEV,EAAE,CAAC,EAAE,CAAC,gBAAgBW,EAAE,eAAeC,CAAC,EAAE62B,GAAGh3B,EAAEC,EAAEzC,EAAEE,EAAEC,EAAE,CAAC,EAAE,OAAO,IAAIL,GAAG,EAAE,QAAQ,EAAE+B,IAAI,GAAGA,EAAE,QAAQ,EAAE,CAAC,gBAAgB/E,GAAG4F,EAAE,OAAO,EAAE,eAAe5F,GAAG6F,CAAC,CAAC,CAAC,CAAC,IAAIs3B,GAAGD,GAAG,SAASE,GAAGp6B,EAAE,EAAEE,EAAEE,EAAE,GAAGC,EAAE,OAAO,kBAAkB,EAAE,GAAG,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,QAAQ,mBAAmB,EAAE+B,EAAE2gB,EAAE,EAAE,SAAS,mBAAmB,EAAE1gB,EAAEg3B,GAAG,EAAEj3B,EAAE7B,EAAEE,EAAEC,EAAE,IAAI,EAAE4B,EAAED,EAAE,cAAcU,EAAEV,EAAE,aAAaW,EAAEX,EAAE,eAAeY,EAAE,CAAC,MAAM,EAAE,OAAOb,CAAC,EAAEc,EAAE,CAAC,cAAcZ,EAAE,aAAaS,EAAE,eAAeC,EAAE,mBAAmB,CAAC,EAAEG,EAAE+e,EAAE,UAAUv6B,GAAGsb,EAAEC,CAAC,EAAE,MAAM,CAAC,gBAAgBC,EAAE,CAAC,EAAE,aAAaA,EAAE,CAAC,CAAC,CAAC,CAAC,IAAIu3B,GAAGjjC,EAAE,CAAC,yBAAyBgjC,EAAE,CAAC,EAAE,eAAeE,GAAGt6B,EAAE,EAAEE,EAAEE,EAAE,GAAGC,EAAE,OAAO,kBAAkB,EAAE,GAAG,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,QAAQ,wBAAwB,EAAE+B,EAAE2gB,EAAE,EAAE,SAAS,wBAAwB,EAAE1gB,EAAEg3B,GAAG,EAAEj3B,EAAE7B,EAAEE,EAAEC,EAAE,IAAI,EAAE4B,EAAED,EAAE,cAAcU,EAAEV,EAAE,aAAaW,EAAEX,EAAE,eAAe,CAACY,EAAEC,CAAC,EAAE,MAAM,QAAQ,IAAI,CAAC,EAAE,KAAK,EAAEd,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,gBAAgBe,EAAE,aAAakB,CAAC,EAAEy1B,GAAG72B,EAAEC,EAAEZ,EAAES,EAAEC,EAAE,CAAC,EAAE,OAAO,IAAI3C,GAAG,EAAE,QAAQ,EAAE+B,IAAI,GAAGA,EAAE,QAAQ,EAAE,CAAC,gBAAgB/E,GAAG8F,EAAE,OAAO,EAAE,aAAa9I,GAAGgK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAIu2B,GAAGD,GAAG,SAASE,GAAGx6B,EAAE,EAAEE,EAAE,GAAGE,EAAE,GAAG,CAAC,IAAIC,EAAEqiB,EAAE1iB,EAAE,SAAS,gBAAgB,EAAEsa,EAAEja,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,gEAAgEA,EAAE,IAAI,GAAG,EAAEia,EAAE,EAAE,SAAS,EAAE,IAAI,6DAA6D,CAAC,GAAG,EAAEA,EAAEla,IAAI,IAAIF,IAAI,GAAG,IAAI,mFAAmF,EAAE,IAAI,EAAEG,EAAE,EAAE,GAAGA,EAAE,OAAO,IAAI,EAAE,GAAG,EAAE9G,EAAE8G,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE0B,EAAE,CAAC,OAAO,CAAC,EAAEC,EAAE,CAAC,aAAa9B,EAAE,iBAAiBE,EAAE,KAAK,CAAC,EAAE6B,EAAE4f,EAAE,UAAU34B,GAAG6Y,EAAEC,CAAC,EAAE,OAAO,EAAEzI,EAAE0I,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAIw4B,GAAGrjC,EAAE,CAAC,gBAAgBojC,EAAE,CAAC,EAAE,SAASE,GAAG16B,EAAE,EAAEE,EAAE,GAAGE,EAAE,GAAG,CAAC,IAAIC,EAAEqiB,EAAE1iB,EAAE,SAAS,uBAAuB,EAAEsa,EAAEja,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,IAAI,uEAAuEA,EAAE,IAAI,GAAG,EAAEia,EAAE,EAAE,SAAS,EAAE,IAAI,oEAAoE,CAAC,GAAG,EAAEA,EAAEja,EAAE,QAAQ,WAAWA,EAAE,QAAQ,QAAQ,IAAI,kDAAkD,EAAEia,EAAEla,IAAI,IAAIF,IAAI,GAAG,IAAI,0FAA0F,EAAE,IAAI,EAAEG,EAAE,EAAE,GAAGA,EAAE,OAAO,IAAI,EAAE,GAAG,EAAE9G,EAAE8G,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE0B,EAAE,CAAC,OAAO,CAAC,EAAEC,EAAE,CAAC,aAAa9B,EAAE,iBAAiBE,EAAE,KAAK,CAAC,EAAE6B,EAAE4f,EAAE,UAAUz4B,GAAG2Y,EAAEC,CAAC,EAAE,OAAO,EAAEzI,EAAE0I,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAI04B,GAAGvjC,EAAE,CAAC,uBAAuBsjC,EAAE,CAAC,EAAE,SAASE,GAAG56B,EAAE,EAAE,SAASE,EAAE,GAAGE,EAAE,GAAG,CAAC,IAAIC,EAAEqiB,EAAE1iB,EAAE,QAAQ,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK+B,EAAE,KAAKC,EAAE3B,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAE4B,EAAEvL,EAAEsG,GAAG,CAACoD,CAAC,CAAC,EAAE,GAAG,EAAEsC,EAAEC,EAAEC,EAAEC,EAAE,GAAGyX,EAAEja,EAAE,OAAO,EAAE,IAAI,yDAAyDA,EAAE,IAAI,GAAG,EAAEia,EAAEja,EAAE,MAAM,CAAC,IAAI,GAAGA,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,0EAA0EA,EAAE,MAAM,CAAC,CAAC,GAAG,EAAEia,EAAEja,EAAE,QAAQ,SAASA,EAAE,QAAQ,UAAU,IAAI,sEAAsEA,EAAE,KAAK,GAAG,EAAEia,EAAE,IAAI,QAAQ,IAAI,SAAS,IAAI,0CAA0C,CAAC,EAAE,EAAEja,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAACqC,EAAEC,EAAEC,CAAC,EAAE3G,GAAGoE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI4D,EAAEvN,EAAEgM,EAAE,CAAC,EAAE4E,EAAE5Q,EAAEiM,EAAE,CAAC,EAAE,EAAEjM,EAAEkM,EAAEb,CAAC,EAAEc,EAAE,EAAE,EAAEoB,EAAEqD,CAAC,EAAE,CAAC,CAAC,MAAMzE,EAAE7C,EAAE,GAAG,IAAI,OAAO,CAAC,IAAIiE,EAAEhW,GAAGS,GAAEoL,GAAG+I,CAAC,EAAE,OAAO,EAAE9F,GAAG,CAAC,CAAC,EAAE,GAAG,EAAEkF,EAAE44B,GAAG52B,EAAEjC,CAAC,CAAC,CAAC,IAAIc,EAAE5C,EAAE7L,GAAGwO,EAAEZ,CAAC,EAAE9O,GAAG0P,EAAEZ,CAAC,EAAE,OAAOvT,GAAEgI,EAAEoM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,SAAS+3B,GAAG76B,EAAE,EAAE,CAAC,IAAIE,EAAElD,GAAG,CAAC,EAAE,CAAC,EAAEoD,EAAEpD,GAAG,CAAC,CAAC,CAAC,EAAEqD,EAAErD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE+E,EAAEC,EAAEC,EAAES,EAAE,QAAQC,EAAE,EAAEA,EAAE3C,EAAE,KAAK,EAAE2C,IAAI,CAAC,EAAEtH,GAAG2E,EAAE,EAAE2C,EAAE,CAAC,EAAE,EAAEtH,GAAG2E,EAAE2C,EAAE,CAAC,EAAEV,EAAEpR,GAAG8L,GAAG,CAAC,EAAE,CAAC,EAAE+F,EAAE7R,GAAG8L,GAAG,CAAC,EAAE,CAAC,EAAE,IAAIiG,EAAEjG,GAAGjG,EAAE,EAAEgC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,EAAEqJ,EAAElR,GAAG+R,EAAEjG,GAAG,CAAC,CAAC,EAAE,IAAIkG,EAAE5Q,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE6Q,EAAE,EAAEpK,GAAG,EAAE,EAAE,IAAI,EAAEmK,CAAC,EAAEmB,EAAEtN,EAAE,EAAEoM,CAAC,EAAEd,EAAEnR,GAAG8L,GAAGqH,CAAC,EAAErH,GAAG,CAAC,CAAC,EAAE,IAAI,EAAED,GAAGqF,EAAEC,CAAC,EAAEsF,EAAE5K,GAAGqF,EAAEC,CAAC,EAAE8C,EAAEpO,EAAEuL,EAAES,CAAC,EAAErC,EAAE3J,EAAEA,EAAEoO,EAAE,CAAC,EAAEwC,CAAC,EAAE,IAAI7C,EAAEtR,GAAGkN,EAAED,CAAC,EAAEA,EAAEf,GAAGoF,EAAEpE,EAAED,CAAC,EAAEF,EAAEb,GAAGoF,EAAEzH,GAAG,CAAC2F,CAAC,CAAC,EAAEzC,CAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,IAAI46B,GAAG1jC,EAAE,CAAC,WAAWwjC,EAAE,CAAC,EAAE,SAASG,GAAG/6B,EAAE,EAAEE,EAAE,UAAUE,EAAE,WAAWC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,QAAQ,YAAY,SAAS,EAAE+B,EAAE2gB,EAAE,EAAE,aAAa,YAAY,SAAS,EAAEpI,EAAE,EAAE,OAAO,EAAE,IAAI,yDAAyD,EAAE,IAAI,GAAG,EAAEA,EAAEvY,EAAE,OAAO,IAAIA,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAGA,EAAE,MAAM,CAAC,IAAI,IAAIA,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,kEAAkE,EAAEuY,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,4EAA4E,CAAC,GAAG,EAAE,IAAItY,EAAE,CAAC,MAAM,EAAE,WAAWD,CAAC,EAAEE,EAAE,CAAC,cAAc/B,EAAE,SAASE,EAAE,UAAUC,EAAE,YAAY,CAAC,EAAE,OAAOwhB,EAAE,UAAU51B,GAAG+V,EAAEC,CAAC,CAAC,CAAC,IAAI+4B,GAAG5jC,EAAE,CAAC,WAAW2jC,EAAE,CAAC,EAAE,SAASE,GAAGj7B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,IAAI,UAAU,EAAEsa,EAAEla,EAAE,MAAM,EAAE,IAAI,4CAA4CA,EAAE,IAAI,GAAG,EAAE,IAAIC,EAAED,EAAE,MAAM,CAAC,EAAE,CAAC,EAAEA,EAAE,MAAM,MAAM,EAAE,EAAE2B,EAAEC,EAAE,OAAO,GAAG,UAAUsY,EAAE,EAAE,IAAI,EAAE,IAAI,gDAAgD,CAAC,GAAG,EAAEA,EAAE,GAAG,EAAE,IAAI,yBAAyB,CAAC,kDAAkD,CAAC,IAAI,EAAEvY,EAAE2gB,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,UAAU,IAAIpI,EAAE,EAAE,QAAQ,QAAQ,IAAI,gDAAgD,EAAEvY,EAAE1C,GAAGjL,GAAG,EAAE,CAAC,EAAE,EAAE+B,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO+J,GAAG,UAAUoa,EAAEpa,EAAE,IAAI,EAAE,IAAI,gDAAgDA,CAAC,GAAG,EAAEoa,EAAEpa,GAAG,EAAE,IAAI,yBAAyBA,CAAC,qDAAqD,CAAC,IAAI,EAAE8B,EAAE0gB,EAAExiB,EAAE,EAAE,EAAEA,EAAE,WAAW,UAAU,IAAIoa,EAAEpa,EAAE,QAAQ,QAAQ,IAAI,gDAAgD,EAAE8B,EAAE3C,GAAGjL,GAAG8L,EAAE,CAAC,EAAE,EAAE/J,GAAG+J,EAAE,CAAC,CAAC,GAAG,IAAI+B,EAAE1I,EAAEb,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAEgK,EAAEhK,GAAG,EAAE,EAAE,EAAE,OAAO,EAAEiK,EAAEjG,GAAGuF,EAAES,CAAC,EAAEE,EAAE3N,GAAGZ,GAAGsO,EAAEZ,CAAC,EAAE3O,GAAGuP,EAAE9L,GAAGmL,CAAC,CAAC,CAAC,EAAEa,EAAEtD,GAAG,CAAC,EAAE,CAAC,EAAEa,EAAE,KAAK,EAAE,OAAO7G,EAAE+C,GAAG8B,GAAG7E,EAAE6G,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI0C,GAAGzD,GAAGuD,EAAEE,EAAED,CAAC,CAAC,CAAC,EAAExC,CAAC,CAAC,CAAC,IAAI66B,GAAG9jC,EAAE,CAAC,UAAU6jC,EAAE,CAAC,EAAE,SAASE,GAAGn7B,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,QAAQA,CAAC,EAAE,CAAC,EAAE,GAAGsa,EAAEta,GAAG,MAAMA,EAAE,OAAO,EAAE,IAAI,mEAAmE,EAAE,IAAIK,EAAEL,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAEsa,EAAEta,EAAE,CAAC,EAAE,MAAM,CAAC,IAAIK,EAAE,IAAI,iEAAiEL,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAGL,EAAE/D,GAAG+D,EAAEA,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,IAAIK,GAAGhE,GAAGgE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEia,EAAEta,EAAE,QAAQA,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,oCAAoCA,EAAE,MAAM,mCAAmCA,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,IAAIE,EAAE,CAAC,EAAEE,EAAEJ,EAAE,QAAQK,EAAE,EAAEA,EAAEL,EAAE,OAAO,EAAEK,EAAEH,EAAE,KAAK2hB,EAAE,KAAK,IAAI,CAAC,IAAI,EAAEzhB,EAAEC,CAAC,EAAE,GAAGA,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAE,CAAC,IAAI0B,EAAErL,EAAEiG,GAAGjG,EAAEwJ,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,EAAExD,GAAG,EAAEqF,CAAC,CAAC,CAAC,OAAOlR,GAAG,EAAEkG,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAEuF,GAAG4D,EAAE,CAAC,EAAEA,CAAC,CAAC,IAAIk7B,GAAGhkC,EAAE,CAAC,aAAa+jC,EAAE,CAAC,EAAE,SAASE,GAAGr7B,EAAE,EAAE,GAAG,CAAC,GAAGsa,EAAEta,EAAE,MAAM,EAAE,IAAI,gEAAgEA,EAAE,IAAI,EAAE,EAAEA,EAAE,OAAO,EAAE,OAAOs7B,GAAGt7B,EAAE,CAAC,EAAE,CAAC,IAAIE,EAAEF,EAAE,MAAM,MAAM,EAAEA,EAAE,MAAM,OAAO,CAAC,EAAE,OAAO,CAACgC,EAAEC,IAAID,EAAEC,CAAC,EAAE7B,EAAEhC,GAAG7E,EAAEyG,EAAE,CAACE,EAAEF,EAAE,MAAMA,EAAE,MAAM,OAAO,CAAC,EAAEA,EAAE,MAAMA,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEK,EAAE,CAAC,EAAE,EAAE,CAAC,EAAED,EAAE,QAAQ4B,GAAG,CAAC,GAAG,CAACC,EAAES,CAAC,EAAE44B,GAAGt5B,EAAE,CAAC,EAAE3B,EAAE,KAAK4B,CAAC,EAAE,EAAE,KAAKS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAEnJ,EAAE+C,GAAG+D,EAAE,CAAC,EAAEL,EAAE,KAAK,EAAE+B,EAAExI,EAAE+C,GAAG,EAAE,CAAC,EAAE0D,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE+B,CAAC,CAAC,CAAC,CAAC,SAASu5B,GAAGt7B,EAAE,EAAE,GAAG,CAAC,OAAO6hB,EAAE,KAAK,IAAI,CAACvH,EAAEta,EAAE,MAAM,SAAS,EAAE,IAAI,0CAA0CA,EAAE,MAAM,MAAM,WAAW,EAAE,IAAIE,EAAEF,EAAE,MAAM,CAAC,EAAEI,EAAEJ,EAAE,MAAM,CAAC,EAAEK,EAAEtO,GAAGmO,CAAC,EAAE,EAAErR,GAAGmR,CAAC,EAAE,EAAE/C,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE8E,EAAElT,GAAG,CAAC,EAAEmT,EAAE9B,GAAGE,EAAEA,EAAEF,EAAE,QAAQ+B,EAAE,EAAEA,EAAED,EAAE,EAAEC,EAAE,CAAC,IAAIS,EAAE,EAAEC,EAAEZ,EAAEa,EAAEvC,EAAE,CAAC0B,EAAE,EAAE1B,CAAC,EAAEwhB,EAAE,KAAK,IAAI,CAAC,IAAIhf,EAAExH,GAAG,EAAE,CAAC4G,EAAEA,CAAC,EAAE,CAAC/B,EAAE+B,EAAE,CAAC,CAAC,EAAEa,EAAE/L,GAAG8L,CAAC,EAAEmB,EAAE3I,GAAG,EAAE,CAAC4G,EAAEA,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE5C,GAAGlM,GAAG6Q,EAAE,CAAC,EAAE/G,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEA,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEqK,EAAE5K,GAAGsH,EAAEtN,EAAE,EAAEoM,CAAC,CAAC,EAAEgC,EAAEjU,GAAGgS,EAAEyE,CAAC,EAAExC,EAAE,MAAM,CAAC,IAAI,EAAE/C,EAAElT,GAAG,CAAC,EAAEkT,EAAEhT,GAAG,CAAC,EAAEsM,GAAGyJ,EAAE,CAAC,EAAE,CAAC,EAAE,CAACA,EAAE,MAAM,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAIL,EAAE5N,GAAGhG,GAAG0E,GAAG,EAAE+R,CAAC,EAAExE,CAAC,CAAC,EAAE4B,EAAErJ,GAAG,EAAE,CAAC4G,EAAE,CAAC,EAAE,CAAC/B,EAAE+B,EAAE7B,CAAC,CAAC,EAAEuE,EAAEjO,EAAE+N,EAAE1C,CAAC,EAAE6C,EAAE9G,GAAGiE,CAAC,EAAE,GAAGE,IAAI,EAAE,EAAEvF,GAAGgI,EAAEnP,GAAGoP,EAAEpP,GAAGqP,EAAEF,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAEhI,GAAGgI,EAAEnP,GAAGoP,EAAEpP,GAAGqP,EAAEF,CAAC,CAAC,CAAC,EAAE,EAAE3V,GAAG,CAACsM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC4G,EAAE7B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAIyE,EAAE/G,GAAG6G,CAAC,EAAE4C,EAAElM,GAAGgF,EAAE,CAAC,EAAE4B,CAAC,EAAE,CAAC/B,EAAEG,EAAE,MAAM,CAAC,EAAE4B,CAAC,CAAC,EAAE,GAAGA,IAAI,EAAE5B,EAAE3D,GAAG6K,EAAEhS,GAAGA,GAAGgS,EAAExF,CAAC,EAAE8C,CAAC,CAAC,MAAM,CAAC,IAAI,EAAEnI,GAAG6K,EAAEhS,GAAGA,GAAGgS,EAAExF,CAAC,EAAE8C,CAAC,CAAC,EAAExE,EAAEtR,GAAG,CAACsM,GAAGgF,EAAE,CAAC,EAAE,CAAC,EAAE,CAACH,EAAE+B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAACF,EAAE,EAAE1B,CAAC,CAAC,CAAC,EAAE1P,GAAG,CAAC+R,EAAEC,EAAEC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG1C,EAAEE,IAAIC,EAAEhF,GAAGgF,EAAE,CAAC,EAAE,CAAC,EAAE,CAACH,EAAEE,CAAC,CAAC,EAAE,EAAE/E,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC+E,EAAEA,CAAC,CAAC,GAAG,CAACC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIk7B,GAAGnkC,EAAE,CAAC,IAAIikC,EAAE,CAAC,EAAMvyC,IAAI,SAASkX,EAAE,CAACA,EAAEA,EAAE,KAAK,CAAC,EAAE,OAAOA,EAAEA,EAAE,KAAK,CAAC,EAAE,OAAOA,EAAEA,EAAE,IAAI,CAAC,EAAE,MAAMA,EAAEA,EAAE,uBAAuB,CAAC,EAAE,wBAAwB,GAAGlX,KAAKA,GAAG,CAAC,EAAE,EAAE,SAAS0yC,GAAGx7B,EAAE,EAAEE,EAAEpX,GAAG,uBAAuB,CAAC,IAAIsX,EAAEsiB,EAAE1iB,EAAE,SAAS,qBAAqB,EAAEK,EAAE,KAAK,GAAG,OAAOA,EAAEqiB,EAAE,EAAE,UAAU,qBAAqB,GAAG,IAAI,EAAEriB,GAAG,KAAKD,EAAE1J,EAAE0J,EAAEC,CAAC,EAAE,GAAGH,IAAIpX,GAAG,KAAK,OAAO,EAAE,GAAGoX,IAAIpX,GAAG,IAAI,OAAO6T,GAAG,CAAC,EAAE,GAAGuD,IAAIpX,GAAG,KAAK,CAAC,GAAGuX,GAAG,KAAK,OAAOvK,GAAG,CAAC,EAAE,CAAC,IAAI,EAAEsK,EAAE,KAAKC,EAAE,KAAK0B,EAAElR,GAAG8L,GAAG,CAAC,EAAEA,GAAG0D,CAAC,CAAC,EAAE,OAAO,EAAE,EAAExP,GAAGkR,EAAE/H,GAAG,CAAC,CAAC,EAAE+H,CAAC,CAAC,CAAC,GAAG7B,IAAIpX,GAAG,uBAAuB,CAAC,GAAGuX,GAAG,KAAK,OAAOxP,GAAG8L,GAAG,CAAC,EAAE3C,GAAGoG,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE1J,EAAE2J,EAAEnJ,GAAGkJ,EAAE,KAAK,CAAC,EAAE2B,EAAErT,GAAEiO,GAAG3F,GAAG,EAAEgD,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAOnJ,GAAG8L,GAAG,CAAC,EAAEoF,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,sBAAsB7B,CAAC,EAAE,CAAC,CAAC,IAAIu7B,GAAGrkC,EAAE,CAAC,qBAAqBokC,EAAE,CAAC,EAAE,SAASE,GAAG17B,EAAE,EAAEE,EAAEE,EAAEtX,GAAG,uBAAuB,CAAC,IAAIuX,EAAEqiB,EAAE1iB,EAAE,SAAS,oBAAoB,EAAE,EAAE0iB,EAAE,EAAE,cAAc,oBAAoB,EAAE,EAAE,KAAKxiB,GAAG,OAAO,EAAEwiB,EAAExiB,EAAE,UAAU,oBAAoB,GAAGqa,GAAGla,EAAE,MAAM,EAAE,MAAM,+BAA+B,EAAE,IAAI0B,EAAErV,GAAGgQ,GAAG2D,EAAE,CAAC,CAAC,EAAE,OAAOo7B,GAAG15B,EAAE,EAAE3B,CAAC,CAAC,CAAC,IAAIu7B,GAAGvkC,EAAE,CAAC,oBAAoBskC,EAAE,CAAC,EAAE,SAASE,GAAG57B,EAAE,EAAEE,EAAEE,EAAEC,EAAEvX,GAAG,uBAAuB,CAAC,IAAI,EAAE45B,EAAE1iB,EAAE,SAAS,gBAAgB,EAAE,EAAE0iB,EAAE,EAAE,cAAc,gBAAgB,EAAE3gB,EAAE,KAAK3B,GAAG,OAAO2B,EAAE2gB,EAAEtiB,EAAE,UAAU,gBAAgB,GAAGma,GAAG,EAAE,MAAM,EAAE,MAAM,2BAA2B,EAAE,IAAIvY,EAAEhI,GAAG,CAAC,EAAEiI,EAAEvF,GAAGsF,EAAErF,GAAGjG,EAAE,EAAE,CAAC,EAAEwJ,EAAE,EAAE,CAAC,EAAE,OAAOu7B,GAAGx5B,EAAEF,EAAE1B,CAAC,CAAC,CAAC,IAAIw7B,GAAGzkC,EAAE,CAAC,gBAAgBwkC,EAAE,CAAC,EAAE,SAASE,GAAG97B,EAAE,EAAEE,EAAEE,EAAEtX,GAAG,uBAAuB,CAAC,IAAIuX,EAAEqiB,EAAE1iB,EAAE,SAAS,WAAW,EAAE,EAAE0iB,EAAE,EAAE,cAAc,WAAW,EAAE,EAAE,KAAKxiB,GAAG,OAAO,EAAEwiB,EAAExiB,EAAE,UAAU,WAAW,GAAGqa,GAAGla,EAAE,MAAM,EAAE,MAAM,sBAAsB,EAAE,IAAI0B,EAAE/H,GAAG,CAAC,EAAEqG,EAAE3D,GAAGhG,EAAEsD,GAAG,CAAC,EAAEqG,CAAC,EAAE0B,CAAC,EAAE,IAAIC,EAAE5I,GAAGsD,GAAGqF,EAAErL,EAAE2J,EAAE,CAAC,CAAC,CAAC,EAAE,OAAOo7B,GAAGz5B,EAAE,EAAE5B,CAAC,CAAC,CAAC,IAAI27B,GAAG3kC,EAAE,CAAC,WAAW0kC,EAAE,CAAC,EAAE,SAASE,GAAGh8B,EAAE,EAAEE,EAAEE,EAAE,EAAEC,EAAEvX,GAAG,uBAAuB,CAAC,IAAI,EAAE45B,EAAE1iB,EAAE,SAAS,WAAW,EAAE,EAAE0iB,EAAE,EAAE,cAAc,WAAW,EAAE3gB,EAAE,KAAK7B,GAAG,OAAO6B,EAAE2gB,EAAExiB,EAAE,UAAU,WAAW,GAAGqa,GAAG,EAAE,MAAM,EAAE,MAAM,sBAAsB,EAAE,IAAIvY,EAAEhI,GAAGoG,CAAC,EAAE6B,EAAEvV,GAAGgQ,GAAG,EAAE,CAAC,CAAC,EAAEgG,EAAEvM,GAAG8L,EAAED,CAAC,EAAEW,EAAEjG,GAAGuF,EAAES,CAAC,EAAEE,EAAE,EAAElM,EAAEsD,GAAG,EAAE,EAAEmC,GAAGuG,CAAC,CAAC,EAAEhM,EAAEsL,EAAEW,CAAC,CAAC,EAAE,OAAO84B,GAAG74B,EAAEb,EAAE1B,CAAC,CAAC,CAAC,IAAI47B,GAAG7kC,EAAE,CAAC,WAAW4kC,EAAE,CAAC,EAAE,SAASE,GAAGl8B,EAAE,EAAEE,EAAEE,EAAE,KAAKC,EAAEvX,GAAG,uBAAuB,CAAC,IAAI,EAAE45B,EAAE1iB,EAAE,SAAS,SAAS,EAAE,EAAE0iB,EAAE,EAAE,cAAc,SAAS,EAAE3gB,EAAE,KAAK7B,GAAG,OAAO6B,EAAE2gB,EAAExiB,EAAE,UAAU,SAAS,GAAGqa,GAAG,EAAE,MAAM,EAAE,MAAM,oBAAoB,EAAE,IAAIvY,EAAEhI,GAAG,CAAC,EAAEiI,EAAEjI,GAAGoG,CAAC,EAAEsC,EAAE7L,GAAGH,EAAE,EAAE9B,GAAG,EAAE,EAAEqN,CAAC,CAAC,CAAC,CAAC,EAAEU,EAAEjM,EAAEgG,GAAGsF,EAAE,CAAC,EAAEpN,GAAG,EAAE8H,GAAGsF,EAAE,CAAC,EAAEC,CAAC,CAAC,CAAC,EAAEW,EAAElG,GAAGgG,EAAEC,CAAC,EAAE,OAAO84B,GAAG74B,EAAEb,EAAE1B,CAAC,CAAC,CAAC,IAAI87B,GAAG/kC,EAAE,CAAC,SAAS8kC,EAAE,CAAC,EAAE,SAASE,GAAGp8B,EAAE,EAAEE,EAAEE,EAAEtX,GAAG,uBAAuB,CAAC,IAAIuX,EAAEqiB,EAAE1iB,EAAE,SAAS,kBAAkB,EAAE,EAAE0iB,EAAE,EAAE,cAAc,kBAAkB,EAAE,EAAE,KAAKxiB,GAAG,OAAO,EAAEwiB,EAAExiB,EAAE,UAAU,kBAAkB,GAAGqa,GAAGla,EAAE,MAAM,EAAE,MAAM,6BAA6B,EAAE,IAAI0B,EAAE3F,GAAGiE,EAAE,CAAC,EAAE,OAAOo7B,GAAG15B,EAAE,EAAE3B,CAAC,CAAC,CAAC,IAAIi8B,GAAGjlC,EAAE,CAAC,kBAAkBglC,EAAE,CAAC,EAAE,SAASE,GAAGt8B,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,SAAS,+BAA+B,EAAEI,EAAEsiB,EAAE,EAAE,SAAS,+BAA+B,EAAEnI,GAAGra,EAAE,MAAME,EAAE,MAAM,0CAA0C,EAAE,IAAIC,EAAEjH,GAAGgH,CAAC,EAAE,EAAE1J,EAAE0J,EAAEF,CAAC,EAAE,EAAErL,GAAGjD,GAAGiF,GAAGnK,GAAG0T,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE1D,GAAG2D,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAASk8B,GAAGv8B,EAAE,EAAEE,EAAEE,EAAE,EAAEC,EAAEvX,GAAG,uBAAuB,CAAC,IAAI,EAAE45B,EAAE1iB,EAAE,mBAAmB,qBAAqB,EAAE,EAAE0iB,EAAE,EAAE,SAAS,qBAAqB,EAAE3gB,EAAE,KAAK,GAAG7B,GAAG,OAAO6B,EAAE2gB,EAAExiB,EAAE,UAAU,qBAAqB,GAAGqa,GAAG,EAAE,MAAM,EAAE,MAAM,gCAAgC,EAAEna,EAAE,EAAE,CAAC,IAAI6B,EAAEjI,GAAGoG,CAAC,EAAEsC,EAAE1I,GAAG,CAAC,EAAE2I,EAAE3I,GAAG,EAAE,EAAE,EAAE,EAAEtD,EAAE,EAAEgG,GAAGgG,EAAET,CAAC,CAAC,EAAEvL,EAAEiM,EAAEV,CAAC,CAAC,CAAC,CAAC,IAAID,EAAEs6B,GAAG,EAAE,CAAC,EAAE,OAAOb,GAAGz5B,EAAED,EAAE1B,CAAC,CAAC,CAAC,IAAIm8B,GAAGplC,EAAE,CAAC,qBAAqBmlC,EAAE,CAAC,EAAE,SAASE,GAAGz8B,EAAE,EAAEE,EAAE,GAAG,CAAC,GAAGA,IAAI,KAAKA,EAAE,EAAE,KAAK,GAAGA,IAAI,EAAE,KAAK,EAAE,MAAM,MAAM,mGAAmG,EAAE,IAAI,gBAAgBA,CAAC,EAAE,EAAE,OAAOlQ,GAAG,CAACqQ,EAAEwB,EAAEC,IAAI,CAAC,IAAIE,EAAEhN,GAAG6M,EAAE,CAAC3B,CAAC,EAAE,EAAE,EAAE+B,EAAEvF,GAAGhO,GAAEmT,EAAE,SAAS,EAAEG,CAAC,EAAEF,EAAE,CAACzB,EAAE4B,CAAC,CAAC,EAAE,IAAIS,EAAE7L,GAAGH,EAAEuL,EAAE5B,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM1D,GAAG+F,EAAE,CAACxC,CAAC,CAAC,EAAE,SAAS,CAAC2C,EAAEC,IAAI,CAAC,GAAG,CAACkB,EAAEC,CAAC,EAAEnB,EAAEwE,EAAE+lB,GAAGxqB,EAAE,MAAM,CAAC3C,CAAC,CAAC,EAAE,MAAM,CAACxJ,EAAE6C,EAAEsJ,EAAEyE,CAAC,EAAE5K,GAAGhO,GAAEsV,EAAE,SAAS,EAAEpS,GAAGqS,CAAC,CAAC,CAAC,EAAEvN,EAAE6C,EAAEsJ,EAAEyE,CAAC,EAAE5K,GAAG9K,GAAGqS,CAAC,EAAEvV,GAAEsV,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEhE,EAAE,CAAC,CAAC,CAAC,SAAS08B,GAAG18B,EAAE,EAAEE,EAAEE,EAAE,EAAEC,EAAEvX,GAAG,uBAAuB,CAAC,IAAI,EAAE45B,EAAE1iB,EAAE,eAAe,qBAAqB,EAAE,EAAE0iB,EAAE,EAAE,SAAS,qBAAqB,EAAE3gB,EAAE,KAAK,GAAG7B,GAAG,OAAO6B,EAAE2gB,EAAExiB,EAAE,UAAU,qBAAqB,GAAGqa,GAAG,EAAE,MAAM,EAAE,MAAM,gCAAgC,EAAEna,EAAE,EAAE,CAAC,IAAI6B,EAAEjI,GAAGoG,CAAC,EAAEsC,EAAE1I,GAAG,CAAC,EAAE2I,EAAE3I,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAEtD,EAAE,EAAEgG,GAAGgG,EAAET,CAAC,CAAC,EAAEpR,GAAGoR,EAAEU,CAAC,CAAC,CAAC,CAAC,IAAIX,EAAEy6B,GAAG,EAAE,CAAC,EAAE,OAAOhB,GAAGz5B,EAAED,EAAE1B,CAAC,CAAC,CAAC,IAAIs8B,GAAGvlC,EAAE,CAAC,qBAAqBslC,EAAE,CAAC,EAAE,SAASE,GAAG58B,EAAE,EAAEE,EAAEE,EAAE,CAAC,IAAIC,EAAEqiB,EAAE1iB,EAAE,UAAU,sBAAsB,OAAO,EAAE,EAAE0iB,EAAE,EAAE,SAAS,qBAAqB,EAAE,EAAEA,EAAExiB,EAAE,aAAa,sBAAsB,OAAO,EAAE6B,EAAE2gB,EAAEtiB,EAAE,eAAe,sBAAsB,EAAE,KAAK,EAAE,GAAGC,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM;AAAA,UACli/CA,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,gDAAgD,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,qDAAqD,EAAE,KAAK,EAAE,EAAE,GAAG0B,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,uDAAuDA,EAAE,KAAK,EAAE,EAAE,IAAIC,EAAE,CAAC,QAAQ3B,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa0B,CAAC,EAAEE,EAAE4f,EAAE,UAAUr3B,GAAGwX,CAAC,EAAE,MAAM,CAAC,cAAcC,EAAE,CAAC,EAAE,aAAaA,EAAE,CAAC,EAAE,kBAAkBA,EAAE,CAAC,EAAE,gBAAgBA,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI46B,GAAGzlC,EAAE,CAAC,qBAAqBwlC,EAAE,CAAC,EAAE,SAASE,GAAG98B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,eAAe,gBAAgB,OAAO,EAAEK,EAAEqiB,EAAE,EAAE,aAAa,gBAAgB,OAAO,EAAE,EAAEA,EAAExiB,EAAE,WAAW,gBAAgB,OAAO,EAAE,GAAGE,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM;AAAA,UACnqBA,EAAE,KAAK,EAAE,EAAE,GAAGC,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,qDAAqDA,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,mDAAmD,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,aAAaD,EAAE,WAAWC,EAAE,SAAS,CAAC,EAAE0B,EAAE8f,EAAE,UAAUp3B,GAAG,CAAC,EAAE,MAAM,CAAC,cAAcsX,EAAE,CAAC,EAAE,YAAYA,EAAE,CAAC,CAAC,CAAC,CAAC,IAAIg7B,GAAG3lC,EAAE,CAAC,eAAe0lC,EAAE,CAAC,EAAE,SAASE,GAAGh9B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,OAAO,mBAAmB,EAAEK,EAAEqiB,EAAE,EAAE,UAAU,oBAAoB,OAAO,EAAE,EAAEA,EAAExiB,EAAE,aAAa,oBAAoB,OAAO,EAAE,GAAGE,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM,2DAA2D,EAAE,GAAGC,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM;AAAA,YAC7lBA,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM;AAAA,YACzC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAKD,EAAE,QAAQC,EAAE,WAAW,CAAC,EAAE,OAAOwhB,EAAE,UAAUn3B,GAAG,CAAC,CAAC,CAAC,IAAIuyC,GAAG7lC,EAAE,CAAC,mBAAmB4lC,EAAE,CAAC,EAAE,SAASE,GAAGl9B,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,OAAO,kBAAkB,EAAEK,EAAEqiB,EAAE,EAAE,UAAU,mBAAmB,OAAO,EAAE,EAAEA,EAAExiB,EAAE,aAAa,mBAAmB,OAAO,EAAE,GAAGE,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM,2DAA2D,EAAE,GAAGC,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM;AAAA,WACvXA,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM;AAAA,WACzC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAKD,EAAE,QAAQC,EAAE,WAAW,CAAC,EAAE,OAAOwhB,EAAE,UAAUl3B,GAAG,CAAC,CAAC,CAAC,IAAIwyC,GAAG/lC,EAAE,CAAC,kBAAkB8lC,EAAE,CAAC,EAAE,SAASE,GAAGp9B,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE0B,EAAE,CAAC,IAAIC,EAAE0gB,EAAE1iB,EAAE,OAAO,eAAe,QAAQ,EAAE,GAAGgC,EAAE,QAAQ,SAAS,MAAM,IAAI,MAAM,iCAAiC,EAAE,GAAGA,EAAE,MAAM,SAAS,EAAE,MAAM,IAAI,MAAM,+BAA+BA,EAAE,KAAK,EAAE,EAAE,IAAIC,EAAEygB,EAAE,EAAE,aAAa,cAAc,EAAE,GAAGzgB,EAAE,QAAQ,QAAQ,MAAM,IAAI,MAAM,uCAAuC,EAAE,IAAIS,EAAE,CAAC,UAAUxC,EAAE,YAAYE,EAAE,QAAQC,EAAE,SAAS,EAAE,SAAS,EAAE,uBAAuB0B,CAAC,EAAEY,EAAE,CAAC,KAAKX,EAAE,WAAWC,CAAC,EAAEW,EAAEif,EAAE,UAAUz2B,GAAGuX,EAAED,CAAC,EAAE,MAAM,CAAC,OAAOE,EAAE,CAAC,EAAE,aAAaA,EAAE,CAAC,CAAC,CAAC,CAAC,IAAIy6B,GAAGjmC,EAAE,CAAC,cAAcgmC,EAAE,CAAC,EAAE,SAASE,GAAGt9B,EAAE,EAAEE,EAAE,GAAG,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,QAAQ,cAAc,QAAQ,EAAEK,EAAEqiB,EAAE,EAAE,YAAY,cAAc,QAAQ,EAAE,GAAGtiB,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,+CAA+CA,EAAE,KAAK,EAAE,EAAE,GAAGC,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,mDAAmDA,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,UAAUH,CAAC,EAAE,EAAE,CAAC,MAAME,EAAE,UAAUC,CAAC,EAAE0B,EAAE8f,EAAE,UAAUx2B,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ0W,EAAE,CAAC,EAAE,OAAOA,EAAE,CAAC,EAAE,MAAMA,EAAE,CAAC,CAAC,CAAC,CAAC,IAAIw7B,GAAGnmC,EAAE,CAAC,aAAakmC,EAAE,CAAC,EAAE,SAASE,GAAGx9B,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,QAAQ,yBAAyB,QAAQ,EAAEI,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,IAAI,MAAM,sCAAsC,EAAE,IAAIC,EAAE,CAAC,MAAMH,CAAC,EAAE,OAAO2hB,EAAE,UAAUv2B,GAAG+U,EAAED,CAAC,CAAC,CAAC,IAAIq9B,GAAGrmC,EAAE,CAAC,wBAAwBomC,EAAE,CAAC,EAAE,SAASE,GAAG19B,EAAE,EAAEE,EAAEE,EAAE,GAAG,CAAC,IAAIC,EAAEqiB,EAAE1iB,EAAE,QAAQ,qBAAqB,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQE,EAAE,cAAcE,CAAC,EAAE,OAAOyhB,EAAE,UAAU52B,GAAG,CAAC,EAAEoV,CAAC,EAAE,CAAC,CAAC,CAAC,IAAIs9B,GAAGvmC,EAAE,CAAC,oBAAoBsmC,EAAE,CAAC,EAAM1hC,GAAG,CAAC,IAAIhK,GAAG,KAAKqB,GAAG,KAAKwG,GAAG,MAAMjG,EAAE,EAAEsH,GAAG,CAAC,cAAc68B,GAAG,WAAWE,GAAG,MAAME,GAAG,KAAKE,EAAE,EAAE9kC,GAAG,CAAC,cAAcklC,GAAG,eAAeE,GAAG,sBAAsBgC,GAAG,eAAeF,GAAG,eAAe5B,GAAG,iBAAiBE,GAAG,cAAcR,GAAG,kBAAkBW,GAAG,uBAAuBa,GAAG,2BAA2BE,GAAG,gCAAgCE,GAAG,wBAAwBE,GAAG,6BAA6BE,GAAG,UAAUO,GAAG,UAAUE,EAAE,EAAE1mC,GAAG,CAAC,SAAS4mC,GAAG,YAAYE,GAAG,GAAGG,EAAE,EAAElmC,GAAG,CAAC,mBAAmBsmC,GAAG,oBAAoBF,GAAG,eAAeI,GAAG,UAAUE,GAAG,UAAUE,GAAG,QAAQE,GAAG,iBAAiBE,GAAG,oBAAoBG,GAAG,oBAAoBG,EAAE,EAAE7gC,GAAG,CAAC,oBAAoB+gC,GAAG,cAAcE,GAAG,kBAAkBE,GAAG,iBAAiBE,EAAE,EAAE1gC,GAAG,CAAC,aAAa4gC,GAAG,YAAYE,GAAG,uBAAuBE,GAAG,mBAAmBE,EAAE,EAAMpjC,GAAE,CAAC,EAAE0F,GAAG1F,GAAE,CAAC,aAAa,IAAIqjC,GAAG,iBAAiB,IAAIC,GAAG,kBAAkB,IAAIC,GAAG,cAAc,IAAIC,EAAE,CAAC,EAAE,IAAIC,GAAG,IAAI,IAAIC,GAAG,IAAI,IAAIL,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,YAAY,SAAS,CAAC,OAAO,WAAWh9B,EAAEV,EAAE,CAAC,OAAO,IAAIU,EAAEV,CAAC,CAAC,CAAC,EAAE29B,GAAG,MAAM79B,EAAC,CAAC,aAAa,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,OAAOA,GAAE,UAAU,OAAOA,GAAE,SAAS,IAAIA,IAAGA,GAAE,QAAQ,CAAC,OAAO,SAAS,EAAE,CAACA,GAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,EAAE,SAAS+9B,GAAG/9B,EAAE,EAAEE,EAAE,CAACoa,EAAEta,EAAE,WAAW,KAAK,IAAI,6EAA6E,EAAEsa,EAAE,OAAOta,EAAE,WAAW,SAAS,IAAI,sDAAsD,OAAOA,EAAE,SAAS,EAAEsa,EAAEta,EAAE,UAAU,OAAO,EAAE,IAAI,mFAAmF,EAAE,OAAO,GAAG,cAAc,EAAE,UAAU,OAAOE,GAAG,cAAcA,EAAEF,EAAE,WAAW,IAAII,EAAEF,EAAEG,EAAE,EAAE,IAAID,EAAE,OAAOy9B,GAAG,SAAS79B,CAAC,EAAEg+B,GAAG,IAAI39B,EAAEL,CAAC,EAAEi+B,GAAG,IAAIj+B,EAAEK,CAAC,EAAEL,CAAC,CAAC,SAAS89B,GAAG99B,EAAE,CAAC,OAAOi+B,GAAG,IAAIj+B,CAAC,EAAEi+B,GAAG,IAAIj+B,CAAC,EAAEA,EAAE,SAAS,CAAC,IAAIpY,GAAG,cAAcg2C,EAAE,CAAC,SAASh9B,EAAEV,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAMG,EAAE,MAAMwB,CAAC,EAAE,KAAK,iBAAiBjB,EAAE,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,IAAIkB,EAAE,EAAE,IAAIC,IAAI,CAAC,KAAKA,EAAE,KAAK,OAAOF,EAAEE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,eAAeD,CAAC,CAAC,MAAM,KAAK,eAAeD,CAAC,EAAE,OAAOlR,GAAGkR,CAAC,EAAE3B,EAAEG,GAAGA,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,KAAK,aAAa,OAAO,KAAK,YAAY,GAAG,KAAK,WAAW,CAAC,qBAAqB,CAAC,KAAK,YAAY,KAAK,WAAW,CAAC,CAAC,iBAAiBO,EAAEV,EAAE,CAAC,OAAOvB,GAAGiC,EAAEV,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,aAAa,MAAMvP,GAAG,KAAK,WAAW,CAAC,CAAC,MAAM,gBAAgB,CAAC,OAAO,KAAK,aAAa,OAAO,KAAK,YAAY,GAAG,CAAC,KAAK,OAAO,OAAOqJ,GAAG,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,IAAI,MAAM,yDAAyD,CAAC,CAAC,MAAM,WAAW4G,EAAE,CAAC,MAAM,IAAI,MAAM,4DAA4D,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,kBAAkBA,EAAE,CAAC,OAAO,KAAK,aAAa,MAAMA,EAAE,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,eAAehZ,GAAG,OAAO,YAAY,CAAC,MAAMoY,GAAGA,EAAE,UAAU,MAAMA,EAAE,kBAAkB,MAAMA,EAAE,gBAAgB,IAAI,CAAC,EAAE,IAAI1gB,GAAG,cAAcsI,EAAE,CAAC,WAAW,WAAW,CAAC,MAAM,UAAU,CAAC,YAAYgZ,EAAEV,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,aAAaU,EAAE,KAAK,IAAIV,EAAE,KAAK,QAAQ,EAAE,KAAK,iBAAiB,CAAC,EAAE,KAAK,mBAAmB,CAAC,EAAE,GAAG,OAAO,KAAK,QAAQ2hB,EAAE,QAAQ,QAAQ,EAAE,CAAC,eAAejhB,EAAE,EAAE,MAAM,QAAQA,CAAC,EAAEA,EAAE,IAAIR,GAAGA,EAAE,IAAI,EAAE,OAAO,KAAKQ,CAAC,GAAG,QAAQ,CAACR,EAAEC,IAAI,CAAC,IAAIwB,EAAEggB,EAAE,oBAAoBzhB,CAAC,EAAE0B,EAAE,GAAG,KAAK,iBAAiBzB,CAAC,GAAG,OAAO,KAAK,iBAAiBA,CAAC,EAAE,CAAC,aAAa,GAAGD,CAAC,cAAc,SAAS3C,EAAE,IAAI+B,GAAGqC,CAAC,EAAE,SAASC,CAAC,CAAC,CAAC,GAAG,KAAK,mBAAmBzB,CAAC,GAAG,OAAO,KAAK,mBAAmBA,CAAC,EAAE,CAAC,aAAa,GAAGD,CAAC,aAAa,SAAS3C,EAAE,IAAI+B,GAAGqC,CAAC,EAAE,SAASC,CAAC,CAAC,CAAC,GAAG,IAAIC,EAAE,MAAM,QAAQnB,CAAC,EAAEA,EAAEP,CAAC,EAAE,OAAOO,EAAER,CAAC,EAAE,GAAG2B,GAAG,KAAK,OAAO,IAAIC,EAAE,KAAK,iBAAiB3B,CAAC,EAAE,SAAS4B,EAAE,KAAK,mBAAmB5B,CAAC,EAAE,SAAS5C,EAAE,IAAI,CAAC,IAAIiF,EAAE,EAAEhM,EAAEsL,EAAE,KAAK,GAAG,EAAEtL,EAAEyF,GAAG4F,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,EAAEY,EAAEjM,EAAE7F,GAAGqL,GAAG,EAAE+F,EAAE,KAAK,OAAO,CAAC,EAAE/F,GAAG,EAAE8F,EAAE,KAAK,OAAO,CAAC,CAAC,EAAED,CAAC,EAAEa,EAAE,EAAElM,EAAEuL,EAAE,KAAK,GAAG,EAAEvL,EAAEyF,GAAGwG,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,EAAEX,EAAE,OAAOU,CAAC,EAAET,EAAE,OAAOW,CAAC,EAAE,IAAIC,EAAE,EAAEnM,EAAEiM,EAAE,CAAC,KAAK,YAAY,EAAEd,CAAC,EAAEA,EAAE,OAAOgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,oBAAoB,CAAC,CAAC,SAAS,CAAC,KAAK,oBAAoB,OAAOlS,GAAG,KAAK,iBAAiB,IAAIiQ,GAAGA,EAAE,QAAQ,CAAC,EAAEjQ,GAAG,KAAK,mBAAmB,IAAIiQ,GAAGA,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,YAAY,CAAC,IAAIA,EAAE,CAAC,GAAG,KAAK,iBAAiB,GAAG,KAAK,kBAAkB,EAAE,MAAM,CAAC,MAAM,KAAK,eAAe,CAAC,EAAE,OAAOA,EAAE,IAAIV,IAAI,CAAC,KAAKA,EAAE,aAAa,OAAOA,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,WAAWU,EAAE,CAACA,EAAE,MAAM,KAAK,kBAAkBA,CAAC,EAAE,IAAIV,EAAEU,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,iBAAiBA,EAAE,MAAM,EAAEV,CAAC,EAAE,IAAIG,IAAI,CAAC,aAAaA,EAAE,KAAK,SAASA,EAAE,OAAO,SAAS,CAAC,CAAC,EAAE,EAAE,KAAK,mBAAmBO,EAAE,MAAMV,EAAEA,EAAE,CAAC,EAAE,IAAIG,IAAI,CAAC,aAAaA,EAAE,KAAK,SAASA,EAAE,OAAO,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,KAAK,aAAa,IAAI,KAAK,IAAI,QAAQ,KAAK,OAAO,CAAC,CAAC,OAAO,WAAWO,EAAEV,EAAE,CAAC,OAAO,IAAIU,EAAEV,EAAE,aAAaA,EAAE,IAAIA,EAAE,OAAO,CAAC,CAAC,EAAM3gB,GAAG,cAAcqI,EAAE,CAAC,WAAW,WAAW,CAAC,MAAM,SAAS,CAAC,YAAYgZ,EAAEV,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,aAAaU,EAAE,KAAK,wBAAwBV,EAAE,KAAK,iBAAiB,CAAC,CAAC,CAAC,eAAeU,EAAE,EAAE,MAAM,QAAQA,CAAC,EAAEA,EAAE,IAAIR,GAAGA,EAAE,IAAI,EAAE,OAAO,KAAKQ,CAAC,GAAG,QAAQ,CAACR,EAAEC,IAAI,CAAC,IAAIwB,EAAEggB,EAAE,oBAAoBzhB,CAAC,EAAE,KAAK,iBAAiBC,CAAC,GAAG,OAAO,KAAK,iBAAiBA,CAAC,EAAE,CAAC,aAAa,GAAGD,CAAC,eAAe,SAAS3C,EAAE,IAAIxL,GAAG4P,EAAE,MAAM,KAAK,uBAAuB,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,IAAIC,EAAE,MAAM,QAAQlB,CAAC,EAAEA,EAAEP,CAAC,EAAE,OAAOO,EAAER,CAAC,EAAE,GAAG0B,GAAG,KAAK,OAAO,IAAIC,EAAE,KAAK,iBAAiB1B,CAAC,EAAE,SAAS5C,EAAE,IAAI,CAAC,IAAIuE,EAAE,EAAED,EAAE5F,GAAG2F,CAAC,CAAC,EAAEC,EAAE,OAAOC,CAAC,EAAE,IAAIC,EAAE,EAAEvL,EAAE7F,GAAGiR,EAAE5F,GAAG,EAAE8F,EAAE6f,EAAE,QAAQ,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,YAAY,EAAEhgB,CAAC,EAAEA,EAAE,OAAOI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,oBAAoB,CAAC,CAAC,SAAS,CAAC,KAAK,kBAAkB,MAAMtR,GAAG,KAAK,iBAAiB,IAAIiQ,GAAGA,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,KAAK,eAAe,CAAC,EAAE,OAAO,KAAK,iBAAiB,IAAIA,IAAI,CAAC,KAAKA,EAAE,aAAa,OAAOA,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,WAAWA,EAAE,CAACA,EAAE,MAAM,KAAK,kBAAkBA,CAAC,EAAE,IAAIV,EAAE,GAAG,KAAK,iBAAiBU,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,SAAS,EAAE,OAAO,SAASV,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,KAAK,aAAa,wBAAwB,KAAK,uBAAuB,CAAC,CAAC,OAAO,WAAWU,EAAEV,EAAE,CAAC,OAAO,IAAIU,EAAEV,EAAE,aAAaA,EAAE,uBAAuB,CAAC,CAAC,EAAM1gB,GAAG,cAAcoI,EAAE,CAAC,WAAW,WAAW,CAAC,MAAM,MAAM,CAAC,YAAYgZ,EAAEV,EAAE,EAAEG,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,aAAaO,EAAE,KAAK,MAAMV,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQG,EAAE,KAAK,uBAAuB,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE5C,EAAE,IAAI,CAAC,KAAK,SAASzD,GAAGkG,CAAC,EAAE,SAAS,EAAE,KAAK,SAASlG,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,EAAEqG,GAAG,OAAO,KAAK,QAAQwhB,EAAE,QAAQ,QAAQ,EAAE,CAAC,eAAejhB,EAAE,CAAC,IAAIV,EAAE,MAAM,QAAQU,CAAC,EAAEA,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,KAAKA,CAAC,EAAEnD,EAAE,IAAI,CAAC,IAAI,EAAEf,GAAG,EAAE,KAAK,QAAQ,EAAE2D,EAAE3D,GAAG,EAAE,KAAK,QAAQ,EAAEwD,EAAE,QAAQ,CAAC2B,EAAEC,IAAI,CAAC,IAAIC,EAAE8f,EAAE,oBAAoBhgB,CAAC,EAAEG,EAAE,GAAG,KAAK,uBAAuBF,CAAC,GAAG,OAAO,KAAK,uBAAuBA,CAAC,EAAE,CAAC,aAAa,GAAGD,CAAC,KAAK,SAASpE,EAAE,IAAI+B,GAAGuC,CAAC,EAAE,SAASC,CAAC,CAAC,CAAC,GAAG,KAAK,wBAAwBF,CAAC,GAAG,OAAO,KAAK,wBAAwBA,CAAC,EAAE,CAAC,aAAa,GAAGD,CAAC,KAAK,SAASpE,EAAE,IAAI+B,GAAGuC,CAAC,EAAE,SAASC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,QAAQpB,CAAC,EAAEA,EAAEkB,CAAC,EAAE,OAAOlB,EAAEiB,CAAC,EAAE,GAAG,GAAG,KAAK,OAAO,IAAIa,EAAE,KAAK,uBAAuBZ,CAAC,EAAE,SAAS,EAAE,KAAK,wBAAwBA,CAAC,EAAE,SAASc,EAAE,EAAElM,EAAEgM,EAAE,KAAK,KAAK,EAAEhM,EAAE,EAAE,EAAE,KAAK,KAAK,CAAC,EAAEmM,EAAE,EAAEnM,EAAE,EAAE,KAAK,KAAK,EAAEA,EAAEyF,GAAG,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE2G,EAAEjS,GAAG+R,EAAE,CAAC,EAAEoB,EAAEnT,GAAGgS,EAAExC,CAAC,EAAEqC,EAAE,OAAOE,CAAC,EAAE,EAAE,OAAOC,CAAC,EAAE,IAAIoB,EAAE,EAAEvN,EAAE7F,GAAGiS,EAAE,EAAE5G,GAAG8H,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,KAAK,YAAY,EAAEjC,CAAC,EAAEA,EAAE,OAAOkC,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,OAAOvN,EAAE,KAAK,SAAS,KAAK,KAAK,CAAC,EAAE,KAAK,SAAS,OAAOA,EAAE,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,oBAAoB,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS,QAAQ,EAAE,KAAK,SAAS,QAAQ,EAAE,KAAK,wBAAwB,MAAM/F,GAAG,KAAK,uBAAuB,IAAIiQ,GAAGA,EAAE,QAAQ,CAAC,EAAE,KAAK,yBAAyB,MAAMjQ,GAAG,KAAK,wBAAwB,IAAIiQ,GAAGA,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,IAAIA,EAAE,CAAC,GAAG,KAAK,uBAAuB,GAAG,KAAK,uBAAuB,EAAE,MAAM,CAAC,MAAM,KAAK,eAAe,CAAC,EAAE,OAAOA,EAAE,IAAIV,IAAI,CAAC,KAAKA,EAAE,aAAa,OAAOA,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,WAAWU,EAAE,CAACA,EAAE,MAAM,KAAK,kBAAkBA,CAAC,EAAEnD,EAAE,IAAI,CAAC,KAAK,SAAS,OAAO7F,GAAG,KAAK,MAAM,KAAK,YAAY,CAAC,CAAC,EAAE,KAAK,SAAS,OAAOA,GAAG,KAAK,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAIsI,EAAEU,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,uBAAuBA,EAAE,MAAM,EAAEV,CAAC,EAAE,IAAIG,IAAI,CAAC,aAAaA,EAAE,KAAK,SAASA,EAAE,OAAO,SAAS,CAAC,CAAC,EAAE,EAAE,KAAK,wBAAwBO,EAAE,MAAMV,EAAEA,EAAE,CAAC,EAAE,IAAIG,IAAI,CAAC,aAAaA,EAAE,KAAK,SAASA,EAAE,OAAO,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,KAAK,aAAa,MAAM,KAAK,MAAM,MAAM,KAAK,MAAM,QAAQ,KAAK,OAAO,CAAC,CAAC,OAAO,WAAWO,EAAEV,EAAE,CAAC,OAAO,IAAIU,EAAEV,EAAE,aAAaA,EAAE,MAAMA,EAAE,MAAMA,EAAE,OAAO,CAAC,CAAC,EAAMzgB,GAAG,cAAcmI,EAAE,CAAC,WAAW,WAAW,CAAC,MAAM,QAAQ,CAAC,YAAYgZ,EAAEV,EAAE,EAAEG,EAAE,KAAKwB,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,aAAajB,EAAE,KAAK,MAAMV,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQG,EAAE,KAAK,MAAMwB,EAAE,KAAK,uBAAuB,CAAC,EAAE,KAAK,2BAA2B,CAAC,EAAEpE,EAAE,IAAI,CAAC,KAAK,UAAUzD,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,SAASA,GAAGkG,CAAC,EAAE,SAAS,CAAC,CAAC,EAAEG,GAAG,OAAO,KAAK,QAAQwhB,EAAE,QAAQ,QAAQ,EAAE,CAAC,eAAejhB,EAAE,CAAC,IAAIV,EAAE,MAAM,QAAQU,CAAC,EAAEA,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,KAAKA,CAAC,EAAEnD,EAAE,IAAI,CAAC,IAAI,EAAEf,GAAG,EAAE,KAAK,QAAQ,EAAE2D,EAAExP,GAAG,CAAC,KAAK,aAAa,EAAE6F,EAAE,KAAK,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC,EAAEwJ,EAAE,QAAQ,CAAC2B,EAAEC,IAAI,CAAC,IAAIC,EAAE8f,EAAE,oBAAoBhgB,CAAC,EAAEG,EAAE,GAAG,KAAK,uBAAuBF,CAAC,GAAG,OAAO,KAAK,uBAAuBA,CAAC,EAAE,CAAC,aAAa,GAAGD,CAAC,KAAK,SAASrC,GAAGuC,CAAC,EAAE,SAASC,CAAC,CAAC,GAAG,KAAK,2BAA2BF,CAAC,GAAG,OAAO,KAAK,2BAA2BA,CAAC,EAAE,CAAC,aAAa,GAAGD,CAAC,KAAK,SAASrC,GAAGuC,CAAC,EAAE,SAASC,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,QAAQpB,CAAC,EAAEA,EAAEkB,CAAC,EAAE,OAAOlB,EAAEiB,CAAC,EAAE,GAAG,GAAG,KAAK,OAAO,IAAIa,EAAE,KAAK,uBAAuBZ,CAAC,EAAE,SAAS,EAAE,KAAK,2BAA2BA,CAAC,EAAE,SAASc,EAAE,EAAElM,EAAEgM,EAAE,KAAK,KAAK,EAAEhM,EAAE,EAAE,EAAE,KAAK,KAAK,CAAC,EAAEmM,EAAEnM,EAAE,EAAE,KAAK,KAAK,EAAEoM,EAAEpW,GAAG,CAAC,EAAEsX,EAAEnO,GAAGgN,EAAEC,CAAC,EAAEJ,EAAE,OAAOE,CAAC,EAAE,EAAE,OAAOoB,CAAC,EAAE,IAAIC,EAAE,EAAEvN,EAAE7F,GAAGwP,EAAE,CAAC,EAAExP,GAAG+R,EAAE,EAAEoB,EAAE,KAAK,OAAO,CAAC,CAAC,EAAEjC,CAAC,EAAEA,EAAE,OAAOkC,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,OAAO,EAAE,KAAK,UAAU,CAAC,CAAC,EAAE,KAAK,SAAS,OAAOvN,EAAE,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,oBAAoB,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS,QAAQ,EAAE,KAAK,UAAU,QAAQ,EAAE,KAAK,wBAAwB,MAAM/F,GAAG,KAAK,uBAAuB,IAAIiQ,GAAGA,EAAE,QAAQ,CAAC,EAAE,KAAK,4BAA4B,MAAMjQ,GAAG,KAAK,2BAA2B,IAAIiQ,GAAGA,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,IAAI,MAAM,iDAAiD,CAAC,CAAC,MAAM,WAAWA,EAAE,CAAC,MAAM,IAAI,MAAM,iDAAiD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,KAAK,aAAa,MAAM,KAAK,MAAM,MAAM,KAAK,MAAM,QAAQ,KAAK,QAAQ,MAAM,KAAK,KAAK,CAAC,CAAC,OAAO,WAAWA,EAAEV,EAAE,CAAC,OAAO,IAAIU,EAAEV,EAAE,aAAaA,EAAE,MAAMA,EAAE,MAAMA,EAAE,QAAQA,EAAE,KAAK,CAAC,CAAC,EAAMxW,GAAG,cAAc9B,EAAE,CAAC,WAAW,WAAW,CAAC,MAAM,KAAK,CAAC,YAAYgZ,EAAE,CAAC,MAAM,EAAE,KAAK,aAAaA,EAAE,KAAK,gBAAgBA,CAAC,CAAC,CAAC,eAAeA,EAAE,EAAE,MAAM,QAAQA,CAAC,EAAEA,EAAE,IAAIR,GAAGA,EAAE,IAAI,EAAE,OAAO,KAAKQ,CAAC,GAAG,QAAQ,CAACR,EAAEC,IAAI,CAAC,IAAIwB,EAAE,MAAM,QAAQjB,CAAC,EAAEA,EAAEP,CAAC,EAAE,OAAOO,EAAER,CAAC,EAAE,GAAGyB,GAAG,KAAK,OAAO,IAAIC,EAAE+f,EAAE,oBAAoBzhB,CAAC,EAAE3C,EAAE,IAAI,CAAC,IAAIsE,EAAE,EAAErL,EAAE,KAAK,EAAEmL,CAAC,EAAEC,CAAC,EAAEA,EAAE,OAAOC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,oBAAoB,CAAC,CAAC,gBAAgBnB,EAAE,CAAC,KAAK,aAAaA,EAAE,KAAK,GAAG,MAAM,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE5M,GAAGgG,GAAG,CAAC4G,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,WAAWA,EAAE,CAAC,GAAGA,EAAE,MAAM,KAAK,kBAAkBA,CAAC,EAAEA,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,+CAA+C,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,KAAK,YAAY,CAAC,CAAC,OAAO,WAAWA,EAAEV,EAAE,CAAC,OAAO,IAAIU,EAAEV,EAAE,YAAY,CAAC,CAAC,EAAMjZ,GAAG,cAAcyC,EAAE,CAAC,WAAW,WAAW,CAAC,MAAM,UAAU,CAAC,YAAYkX,EAAEV,EAAE,EAAE,GAAG,CAAC,MAAMU,CAAC,EAAE,KAAK,aAAaA,EAAE,KAAK,SAASV,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,EAAElG,GAAG,KAAK,QAAQ,CAAC,CAAC,eAAe4G,EAAE,EAAE,MAAM,QAAQA,CAAC,EAAEA,EAAE,IAAIR,GAAGA,EAAE,IAAI,EAAE,OAAO,KAAKQ,CAAC,GAAG,QAAQ,CAACR,EAAEC,IAAI,CAAC,IAAIwB,EAAEggB,EAAE,oBAAoBzhB,CAAC,EAAE,KAAK,cAAcC,CAAC,GAAG,OAAO,KAAK,cAAcA,CAAC,EAAE,CAAC,aAAa,GAAGD,CAAC,YAAY,SAAS3C,EAAE,IAAI+B,GAAGqC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,IAAIC,EAAE,KAAK,cAAczB,CAAC,EAAE,SAAS0B,EAAE,MAAM,QAAQnB,CAAC,EAAEA,EAAEP,CAAC,EAAE,OAAOO,EAAER,CAAC,EAAE2B,GAAG,MAAMtE,EAAE,IAAI,CAAC,IAAIuE,EAAEC,EAAE,EAAEvL,EAAE,KAAK,EAAEoL,CAAC,EAAEC,CAAC,EAAE,KAAK,YAAYC,EAAE,EAAEtL,EAAE,KAAK,EAAE,EAAEqL,EAAErL,EAAEuL,EAAE,KAAK,CAAC,CAAC,CAAC,EAAEJ,CAAC,EAAEG,EAAE,EAAEtL,EAAE,KAAK,EAAEuL,CAAC,EAAEJ,CAAC,EAAEC,EAAE,OAAOG,CAAC,EAAEJ,EAAE,OAAOG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,oBAAoB,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,eAAe,MAAMrR,GAAG,KAAK,cAAc,IAAIiQ,GAAGA,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAYA,EAAE,CAAC,KAAK,SAASA,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,KAAK,eAAe,CAAC,EAAE,OAAO,KAAK,cAAc,IAAIA,IAAI,CAAC,KAAKA,EAAE,aAAa,OAAOA,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,WAAWA,EAAE,CAACA,EAAE,MAAM,KAAK,kBAAkBA,CAAC,EAAE,IAAIV,EAAE,GAAG,KAAK,cAAcU,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,SAAS,EAAE,OAAO,SAASV,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,KAAK,aAAa,SAAS,KAAK,SAAS,YAAY,KAAK,WAAW,CAAC,CAAC,OAAO,WAAWU,EAAEV,EAAE,CAAC,OAAO,IAAIU,EAAEV,EAAE,aAAaA,EAAE,SAASA,EAAE,WAAW,CAAC,CAAC,EAAM9X,GAAG,cAAcR,EAAE,CAAC,WAAW,WAAW,CAAC,MAAM,SAAS,CAAC,YAAYgZ,EAAEV,EAAE,GAAG,EAAE,EAAEG,EAAE,KAAKwB,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,aAAajB,EAAE,KAAK,MAAMV,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQG,EAAE,KAAK,uBAAuB,CAAC,EAAE,KAAK,mBAAmB,CAAC,EAAE,KAAK,qBAAqB,CAAC,EAAE,KAAK,SAASwB,EAAExB,GAAG,OAAO,KAAK,QAAQwhB,EAAE,QAAQ,QAAQ,GAAGjhB,GAAG,KAAK,MAAM,IAAI,MAAM,oDAAoD,CAAC,CAAC,eAAeA,EAAE,EAAE,MAAM,QAAQA,CAAC,EAAEA,EAAE,IAAIR,GAAGA,EAAE,IAAI,EAAE,OAAO,KAAKQ,CAAC,GAAG,QAAQ,CAACR,EAAEC,IAAI,CAAC,IAAIwB,EAAEggB,EAAE,oBAAoBzhB,CAAC,EAAE0B,EAAE,GAAG,KAAK,uBAAuBzB,CAAC,GAAG,OAAO,KAAK,uBAAuBA,CAAC,EAAE,CAAC,aAAa,GAAGD,CAAC,OAAO,SAAS3C,EAAE,IAAI+B,GAAGqC,CAAC,EAAE,SAASC,CAAC,CAAC,CAAC,GAAG,KAAK,mBAAmBzB,CAAC,GAAG,OAAO,KAAK,mBAAmBA,CAAC,EAAE,CAAC,aAAa,GAAGD,CAAC,YAAY,SAAS3C,EAAE,IAAI+B,GAAGqC,CAAC,EAAE,SAASC,CAAC,CAAC,CAAC,GAAG,KAAK,qBAAqBzB,CAAC,GAAG,MAAM,KAAK,WAAW,KAAK,qBAAqBA,CAAC,EAAE,CAAC,aAAa,GAAGD,CAAC,MAAM,SAAS3C,EAAE,IAAI+B,GAAGqC,CAAC,EAAE,SAASC,CAAC,CAAC,CAAC,GAAG,IAAIC,EAAE,MAAM,QAAQnB,CAAC,EAAEA,EAAEP,CAAC,EAAE,OAAOO,EAAER,CAAC,EAAE,GAAG2B,GAAG,KAAK,OAAO,IAAIC,EAAE,KAAK,uBAAuB3B,CAAC,EAAE,SAAS4B,EAAE,KAAK,mBAAmB5B,CAAC,EAAE,SAAS5C,EAAE,IAAI,CAAC,IAAIiF,EAAE,EAAEhM,EAAEsL,EAAE,KAAK,KAAK,EAAEtL,EAAEyF,GAAG4F,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE,GAAG,KAAK,SAAS,CAAC,IAAIY,EAAE,KAAK,qBAAqBtC,CAAC,EAAE,SAASuC,EAAE,EAAElM,EAAEiM,EAAE,KAAK,KAAK,EAAEjM,EAAEqL,EAAE,EAAE,KAAK,KAAK,CAAC,EAAEc,EAAEhS,GAAG6F,EAAEqL,EAAE,KAAK,YAAY,EAAE7F,GAAGQ,GAAGgG,EAAE,EAAEvG,GAAGyG,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAAEE,EAAE,EAAEpM,EAAEuL,EAAE,KAAK,QAAQ,EAAEY,CAAC,EAAEb,EAAE,OAAOU,CAAC,EAAEC,EAAE,OAAOC,CAAC,EAAEX,EAAE,OAAOa,CAAC,EAAE,IAAI,EAAEpG,GAAGmF,EAAEiB,CAAC,EAAEjB,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAIc,EAAE,EAAEjM,EAAEsL,EAAE,KAAK,KAAK,EAAEtL,EAAEyF,GAAG4F,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,EAAEa,EAAE,EAAElM,EAAEuL,EAAE,KAAK,QAAQ,EAAEpR,GAAG6F,EAAEqL,EAAE,KAAK,YAAY,EAAE7F,GAAG,EAAEyG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAAEX,EAAE,OAAOW,CAAC,EAAEV,EAAE,OAAOW,CAAC,EAAE,IAAIC,EAAEnG,GAAGmF,EAAEe,CAAC,EAAEf,EAAE,OAAOgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,oBAAoB,CAAC,CAAC,SAAS,CAAC,KAAK,wBAAwB,MAAMlS,GAAG,KAAK,uBAAuB,IAAIiQ,GAAGA,EAAE,QAAQ,CAAC,EAAE,KAAK,sBAAsB,MAAM,KAAK,UAAUjQ,GAAG,KAAK,qBAAqB,IAAIiQ,GAAGA,EAAE,QAAQ,CAAC,EAAE,KAAK,oBAAoB,MAAMjQ,GAAG,KAAK,mBAAmB,IAAIiQ,GAAGA,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,IAAIA,EAAE,CAAC,GAAG,KAAK,uBAAuB,GAAG,KAAK,kBAAkB,EAAE,OAAO,KAAK,UAAUA,EAAE,KAAK,GAAG,KAAK,oBAAoB,EAAE,CAAC,MAAM,KAAK,eAAe,CAAC,EAAE,OAAOA,EAAE,IAAIV,IAAI,CAAC,KAAKA,EAAE,aAAa,OAAOA,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,WAAWU,EAAE,CAACA,EAAE,MAAM,KAAK,kBAAkBA,CAAC,EAAE,IAAIV,EAAE,KAAK,SAASU,EAAE,OAAO,EAAEA,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,uBAAuBA,EAAE,MAAM,EAAEV,CAAC,EAAE,IAAIG,IAAI,CAAC,aAAaA,EAAE,KAAK,SAASA,EAAE,OAAO,SAAS,CAAC,CAAC,EAAE,EAAE,KAAK,mBAAmBO,EAAE,MAAMV,EAAEA,EAAE,CAAC,EAAE,IAAIG,IAAI,CAAC,aAAaA,EAAE,KAAK,SAASA,EAAE,OAAO,SAAS,CAAC,CAAC,EAAE,EAAE,KAAK,WAAW,KAAK,qBAAqBO,EAAE,MAAMV,EAAE,EAAEA,EAAE,CAAC,EAAE,IAAIG,IAAI,CAAC,aAAaA,EAAE,KAAK,SAASA,EAAE,OAAO,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,KAAK,aAAa,MAAM,KAAK,MAAM,SAAS,KAAK,SAAS,QAAQ,KAAK,QAAQ,SAAS,KAAK,QAAQ,CAAC,CAAC,OAAO,WAAWO,EAAEV,EAAE,CAAC,OAAO,IAAIU,EAAEV,EAAE,aAAaA,EAAE,MAAMA,EAAE,SAASA,EAAE,QAAQA,EAAE,QAAQ,CAAC,CAAC,EAAMg+B,GAAG,CAAC5+C,GAAGC,GAAGC,GAAGC,GAAGwH,GAAGmB,GAAGsB,EAAE,EAAE,SAASy0C,IAAI,CAAC,QAAQn+B,KAAKk+B,GAAGH,GAAG/9B,CAAC,CAAC,CAAC,IAAIrM,GAAG,CAAC,EAAEsM,GAAGtM,GAAG,CAAC,qBAAqB,IAAIovB,GAAG,aAAa,IAAIqb,GAAG,mBAAmB,IAAIC,GAAG,wBAAwB,IAAIta,GAAG,UAAU,IAAI+C,GAAG,cAAc,IAAI1D,GAAG,oBAAoB,IAAIM,GAAG,cAAc,IAAIR,GAAG,WAAW,IAAIob,GAAG,eAAe,IAAIC,GAAG,gBAAgB,IAAI1Z,GAAG,yBAAyB,IAAIV,GAAG,6BAA6B,IAAID,GAAG,6BAA6B,IAAIE,GAAG,gBAAgB,IAAIQ,GAAG,eAAe,IAAIP,GAAG,KAAK,IAAIma,GAAG,aAAa,IAAIC,GAAG,WAAW,IAAI7X,GAAG,YAAY,IAAI8X,GAAG,UAAU,IAAI3X,GAAG,mBAAmB,IAAIpC,GAAG,mBAAmB,IAAID,GAAG,YAAY,IAAImC,GAAG,qBAAqB,IAAI8X,GAAG,gBAAgB,IAAIC,GAAG,oBAAoB,IAAIC,EAAE,CAAC,EAAE,IAAIC,GAAG,QAAQC,GAAG,QAAQC,GAAG,eAAe,SAASC,GAAGj/B,EAAE,CAAC,OAAO,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,EAAE,KAAKA,CAAC,CAAC,CAAC,IAAIk/B,GAAG,MAAMl/B,EAAC,CAAC,YAAY,EAAE,CAAC,GAAG,CAACxO,EAAE,EAAE,QAAQ,YAAY,EAAE,MAAM,IAAI,MAAM,qFAAqF,EAAE,EAAE,WAAWwO,GAAE,UAAU,IAAI,EAAE,EAAE,MAAMA,GAAE,WAAW,MAAM,IAAI,GAAG,MAAM,EAAE,SAAS,KAAK,EAAE8+B,IAAI,KAAK,kBAAkB,EAAEC,GAAG,KAAK,mBAAmB,EAAEC,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,OAAO,UAAU,YAAY,MAAM,IAAI,MAAM,yFAAyF,EAAE,IAAI9+B,EAAE6iB,GAAG,KAAK,EAAE,UAAU,EAAE3iB,EAAE,OAAO,IAAI,gBAAgB,IAAI,KAAK,CAACF,CAAC,EAAE,CAAC,KAAK,0BAA0B,CAAC,CAAC,EAAE,GAAG,EAAE,yBAAyB,YAAY,MAAM,IAAI,MAAM,uFAAuF,EAAE,CAAC,IAAIG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE4jB,GAAG,EAAE5jB,CAAC,EAAE,EAAE,OAAO,IAAI,gBAAgB,IAAI,KAAK,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,kBAAkB,CAAC,CAAC,EAAE0B,EAAE,KAAK,iBAAiB,KAAK,SAAS,cAAc,GAAG,EAAE,KAAK,gBAAgB,GAAGA,EAAE,SAAS,KAAK,kBAAkBA,EAAE,KAAK,EAAE,MAAMk9B,GAAG,IAAIl9B,EAAE,cAAc,IAAI,WAAW,OAAO,CAAC,CAAC,EAAE,EAAE,YAAY,KAAK,CAAC,IAAIC,EAAE,KAAK,kBAAkB,KAAK,SAAS,cAAc,GAAG,EAAE,KAAK,iBAAiBA,EAAE,SAAS,KAAK,mBAAmBA,EAAE,KAAK5B,EAAE,MAAM6+B,GAAG,IAAIj9B,EAAE,cAAc,IAAI,WAAW,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmBoiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE8a,GAAG,WAAW,eAAe,IAAIC,GAAG,KAAK,CAAC,YAAYv+B,EAAE,CAAC,GAAGA,GAAG,MAAMA,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,wEAAwEA,CAAC,EAAE,EAAE,KAAK,SAASA,EAAE,CAAC,EAAE,KAAK,aAAaA,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,IAAI,QAAQ,CAACA,EAAEV,IAAI,CAAC,IAAI,EAAE,IAAI,WAAW,EAAE,OAAOG,GAAG,CAAC,IAAIwB,EAAE,KAAK,MAAMxB,EAAE,OAAO,MAAM,EAAEyB,EAAED,EAAE,cAAc,GAAGC,GAAG,KAAK,CAAC5B,EAAE,IAAI,MAAM,4CAA4C,KAAK,SAAS,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG2B,EAAE,iBAAiB,KAAK,CAAC3B,EAAE,IAAI,MAAM,6CAA6C,KAAK,SAAS,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,aAAa,SAAS,EAAE,CAACU,EAAE,CAAC,cAAckB,CAAC,CAAC,EAAE,MAAM,CAAC,IAAIE,EAAEmiB,GAAGtiB,EAAEI,GAAG,KAAK,YAAYA,CAAC,CAAC,EAAErB,EAAEoB,CAAC,CAAC,EAAE,EAAE,QAAQ3B,GAAGH,EAAE,sEAAsE,KAAK,SAAS,IAAI,uEAAuE,EAAE,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAYU,EAAE,CAAC,IAAIV,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ4B,KAAKlB,EAAEV,EAAE,KAAK,GAAG4B,EAAE,OAAO,EAAE,EAAE,KAAK,GAAGA,EAAE,KAAK,EAAE,IAAIzB,EAAE,KAAK,4BAA4BO,CAAC,EAAEiB,EAAE,EAAE,IAAIC,GAAG,KAAK,gBAAgBA,EAAEzB,EAAEyB,CAAC,CAAC,CAAC,EAAE,OAAO,QAAQ,IAAID,CAAC,EAAE,KAAKC,GAAG,CAAC5B,EAAE4B,CAAC,CAAC,CAAC,CAAC,gBAAgBlB,EAAEV,EAAE,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAEG,IAAI,CAAC,IAAIwB,EAAE,IAAI,WAAWA,EAAE,OAAOC,GAAG,CAAC,IAAIC,EAAED,EAAE,OAAO,OAAO,EAAEC,CAAC,CAAC,EAAEF,EAAE,QAAQC,GAAGzB,EAAE,6CAA6CO,CAAC,IAAI,EAAEiB,EAAE,kBAAkB3B,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4BU,EAAE,CAAC,IAAIV,EAAE,CAAC,EAAE,EAAE,KAAK,aAAa,IAAI2B,GAAGmiB,GAAGniB,EAAE,IAAI,CAAC,EAAExB,EAAE,CAAC,EAAE,QAAQwB,KAAKjB,EAAEiB,EAAE,MAAM,QAAQC,GAAG,CAAC,IAAIC,EAAEiiB,GAAGliB,CAAC,EAAE,GAAG5B,EAAE,QAAQ6B,CAAC,IAAI,GAAG,MAAM,IAAI,MAAM,uDAAuDA,CAAC,GAAG,EAAE,GAAG7B,EAAE,KAAK6B,CAAC,EAAE,EAAE,QAAQA,CAAC,IAAI,GAAG,MAAM,IAAI,MAAM,8BAA8BA,CAAC,oBAAoB,EAAE1B,EAAEyB,CAAC,EAAE,KAAK,aAAa,EAAE,QAAQC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG7B,EAAE,SAAS,KAAK,aAAa,OAAO,MAAM,IAAI,MAAM,wDAAwDA,EAAE,MAAM,8CAA8C,KAAK,aAAa,MAAM,IAAI,EAAE,OAAOG,CAAC,CAAC,EAAE++B,GAAGp/B,GAAGxO,EAAE,EAAE,QAAQ,YAAY,GAAG,CAAC,MAAM,QAAQwO,CAAC,GAAGA,EAAE,WAAWk/B,GAAG,UAAU,EAAEG,GAAGr/B,EAAE,MAAMk/B,GAAG,WAAW,MAAM,CAAC,EAAE,KAAKza,GAAG,mBAAmB2a,EAAE,EAAE,SAASC,GAAGr/B,EAAE,QAAQ,CAAC,OAAO,IAAIk/B,GAAGl/B,CAAC,CAAC,CAAC,SAASo+B,GAAGp+B,EAAE,CAAC,OAAO,IAAIm/B,GAAGn/B,CAAC,CAAC,CAAC,SAASs/B,GAAGt/B,EAAE,EAAEE,EAAEE,EAAE,CAAC,EAAEJ,CAAC,EAAEE,EAAEA,GAAG,KAAK,EAAEA,EAAEE,EAAEA,GAAG,KAAK,EAAEA,EAAE2B,EAAE7B,EAAEE,CAAC,EAAE,IAAIC,EAAE,EAAE,EAAE2B,IAAIA,EAAE,KAAKC,GAAG,CAAC,IAAIS,EAAExC,GAAG,EAAEG,EAAEL,EAAE,QAAQI,EAAEF,GAAG,OAAO,EAAEwC,CAAC,EAAET,CAAC,CAAC,EAAED,GAAG,SAAS,EAAEA,EAAE,CAACsY,EAAEtY,GAAG,MAAM,MAAM,QAAQA,CAAC,GAAGA,EAAE,OAAO,EAAE,IAAI,qCAAqC,CAAC,CAAC,SAASD,EAAEC,EAAEC,EAAE,CAACqY,EAAEtY,GAAG,GAAGA,GAAG,EAAE,IAAI,oEAAoEA,CAAC,EAAE,EAAEsY,EAAErY,GAAG,GAAGA,GAAG,EAAE,IAAI,kEAAkEA,CAAC,EAAE,EAAEqY,EAAErY,GAAGD,EAAE,IAAI,yEAAyEA,CAAC,oBAAoBC,CAAC,EAAE,CAAC,CAAC,OAAO,QAAQ,IAAIjC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,eAAeu/B,GAAGv/B,EAAE,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,IAAIE,EAAE,EAAE,WAAW,KAAK1O,EAAE,EAAE,SAAS,MAAM,EAAE,UAAU4O,EAAEJ,EAAE,IAAI2C,GAAGzC,EAAEyC,EAAE,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,EAAEZ,GAAG,EAAE,YAAY,KAAK,MAAM,QAAQ,IAAI3B,CAAC,EAAE,MAAMk/B,GAAGl/B,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,IAAIuC,GAAGA,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,KAAK,MAAM,QAAQ,IAAIZ,CAAC,EAAE,MAAMu9B,GAAGv9B,EAAE,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,SAASy9B,GAAGx/B,EAAE,EAAE,CAAC,IAAIE,EAAE,IAAIE,EAAE,EAAE,WAAW,KAAK5O,EAAE,EAAE,SAAS,MAAM,EAAE,UAAU6O,EAAE,EAAE,EAAE,OAAOH,EAAE,EAAE,cAAc,MAAMA,IAAI,QAAQA,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,eAAe,CAAC,KAAK,MAAM,GAAG,CAAC,QAAQ6B,EAAE1B,EAAEL,EAAE,QAAQ,CAAC,IAAI,GAAG,MAAMI,EAAEJ,EAAEK,CAAC,EAAE,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,KAAK,UAAU,GAAG,GAAG,CAAC,KAAK2B,EAAE,MAAMC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAGD,EAAE,CAAC3B,IAAI,EAAE,QAAQ0B,EAAE,EAAE,cAAc,MAAMA,IAAI,QAAQA,EAAE,KAAK,EAAE1B,EAAEL,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQiC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,eAAey8B,GAAG1+B,EAAE,EAAE,GAAGE,EAAEE,EAAE,CAAC,OAAOu+B,GAAG78B,GAAGy9B,GAAGz9B,EAAE,CAAC,YAAY1B,CAAC,CAAC,CAAC,EAAEJ,EAAE,EAAEE,CAAC,CAAC,CAAC,SAASy+B,GAAG3+B,EAAE,CAAC,MAAO,OAAM,EAAEE,EAAE,GAAGE,IAAI,CAAC,IAAIC,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAED,GAAG,KAAKA,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE2B,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAACc,EAAEC,IAAI,CAAC,IAAIkB,EAAE,EAAEnB,EAAE,QAAQ,QAAQ,GAAG,CAAC,IAAIyE,EAAE,iBAAiB,EAAE,EAAE,aAAa,MAAM,EAAE,MAAMxC,EAAEge,GAAGxb,CAAC,EAAEoT,GAAG,EAAE,KAAK,EAAEjW,EAAE,IAAI,CAACpE,EAAEyC,CAAC,EAAE,GAAG,EAAEA,CAAC,GAAG,OAAO,EAAEA,CAAC,EAAE,CAAC,GAAG,EAAEA,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,YAAYkB,EAAE,UAAUc,CAAC,CAAC,CAAC,EAAE1E,GAAG,KAAKA,EAAE,QAAQ,CAACsE,EAAEC,IAAI,CAACD,IAAI,EAAE,OAAOD,EAAE,EAAE,EAAEE,CAAC,EAAE,GAAG,CAAC,EAAEF,EAAE,EAAE1C,EAAE,KAAK,EAAE,IAAI,EAAEiC,GAAGc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAMjC,GAAGA,CAAC,EAAE,CAAC,IAAIA,EAAEzC,EAAE,OAAO,CAAC0C,EAAEkB,IAAI,CAAC,EAAEA,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,kDAAkDnB,EAAE,KAAK,IAAI,CAAC;AAAA,wCAC7trBd,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,IAAIC,EAAE3B,EAAE,OAAO,CAACwC,EAAEC,EAAEkB,KAAKlB,GAAGD,EAAE,KAAKmB,CAAC,EAAEnB,GAAG,CAAC,CAAC,EAAEZ,EAAE,CAAC,EAAED,EAAE,QAAQa,GAAG,CAAC,EAAEA,CAAC,EAAE,MAAM,QAAQC,GAAG,CAAC,IAAIkB,EAAE9D,GAAGA,EAAE,SAAS,GAAG,EAAE,GAAG,KAAK4C,EAAEb,EAAE,KAAK+B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAItB,EAAE,MAAM1C,EAAEiC,CAAC,EAAEU,EAAE,CAAC,EAAEC,EAAE,EAAE,OAAOZ,EAAE,QAAQa,GAAG,CAAC,IAAIC,EAAE,EAAED,CAAC,EAAE,MAAM,OAAOmB,EAAE,IAAI+e,GAAGrgB,EAAE,MAAME,EAAEA,EAAEE,CAAC,CAAC,EAAE,EAAED,CAAC,EAAE,QAAQyE,GAAG,CAAC,IAAI,EAAEtD,EAAE,MAAMsD,EAAE,YAAYA,EAAE,YAAYA,EAAE,SAAS,EAAE7C,EAAE2e,GAAG,EAAE,CAAC9b,EAAE,aAAa,CAAC,EAAE,QAAQ5C,KAAKD,EAAE9B,EAAE+B,CAAC,EAAED,EAAEC,CAAC,CAAC,CAAC,EAAE9B,GAAGE,CAAC,CAAC,EAAEH,CAAC,CAAC,CAAC,IAAI88B,GAAG,2BAA2BC,GAAG,mBAAmBC,GAAG,KAAK,CAAC,YAAY/+B,EAAEV,EAAE,CAAC,GAAG,KAAK,eAAe,OAAOA,GAAG,OAAOA,EAAE,CAAC,GAAG,KAAK,iBAAiBA,EAAE,iBAAiB,KAAK,mBAAmBA,EAAE,mBAAmBA,EAAE,WAAW,MAAMoa,EAAE,OAAOpa,EAAE,WAAW,WAAW,IAAI,6HAA6H,EAAE,KAAK,MAAMA,EAAE,WAAW,KAAK,MAAM1O,EAAE,EAAE,SAAS,MAAM8oB,EAAE1Z,GAAG,MAAMA,EAAE,OAAO,EAAE,IAAI,yDAAyD,EAAE,MAAM,QAAQA,CAAC,GAAG0Z,EAAE1Z,EAAE,SAAS,EAAE,IAAI,iEAAiEA,EAAE,MAAM,IAAI,EAAE,KAAK,KAAKA,EAAEV,EAAE,aAAa,MAAMA,EAAE,YAAY,MAAM,KAAK,MAAM,IAAI,MAAM,oEAAoE,EAAE,KAAK,YAAYA,EAAE,aAAa,CAAC,EAAE,KAAK,YAAYA,CAAC,CAAC,MAAM,KAAKU,EAAE,CAAC,GAAGA,EAAE,yBAAyB,YAAY,MAAM,IAAI,MAAM,yFAAyF,EAAE,IAAIV,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,cAAc,EAAE,KAAK,WAAW,EAAEA,EAAE,KAAK,IAAI,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,EAAE,QAAQU,EAAE,WAAW,CAAC,EAAEP,EAAE4jB,GAAGrjB,EAAE,CAAC,EAAE,GAAGV,EAAE,KAAK,OAAO,aAAa,IAAI,KAAK,CAAC,KAAK,UAAUG,CAAC,CAAC,EAAE,CAAC,KAAKq/B,EAAE,CAAC,EAAE,YAAY,EAAE9+B,EAAE,YAAY,KAAK,CAAC,IAAIkB,EAAEihB,GAAG,KAAKniB,EAAE,UAAU,EAAEV,EAAE,KAAK,OAAO,oBAAoB,IAAI,KAAK,CAAC4B,CAAC,EAAE,CAAC,KAAK29B,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC,IAAI59B,EAAE,MAAM,KAAK,MAAM,KAAK,KAAK3B,CAAC,EAAE,GAAG2B,EAAE,GAAG,MAAM,CAAC,mBAAmBuiB,GAAGxjB,CAAC,EAAE,UAAU,CAACiB,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,gEAAgEA,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,eAAe,CAAC,IAAIjB,EAAE,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,WAAW,EAAE,GAAG,CAACA,EAAE,GAAG,MAAM,IAAI,MAAM,cAAc,KAAK,IAAI,4BAA4BA,EAAE,MAAM,yEAAyE,EAAE,IAAIV,EAAE,GAAG,CAACA,EAAE,MAAMU,EAAE,KAAK,CAAC,OAAOiB,EAAE,CAAC,IAAIC,EAAE,+CAA+C,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,SAAS,KAAK,EAAEA,GAAG,+UAA+UA,GAAG,uEAAuE,IAAI,MAAMA,CAAC,CAAC,CAAC,IAAI,EAAE5B,EAAE,cAAcG,EAAEH,EAAE,gBAAgB,GAAG,GAAG,MAAMG,GAAG,KAAK,MAAM,IAAI,MAAM,2BAA2B,KAAK,IAAI,2DAA2D,EAAE,OAAOH,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,KAAK,YAAY,cAAc,OAAO,KAAK,WAAW,EAAE,IAAIU,EAAE,MAAM,KAAK,cAAc,EAAE,OAAOujB,GAAGvjB,EAAEV,GAAG,KAAK,YAAYA,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,IAAIU,EAAE,MAAM,KAAK,cAAc,EAAEV,EAAE,MAAM,KAAK,cAAcU,EAAE,eAAe,EAAE,EAAEyjB,GAAGzjB,EAAE,eAAe,EAAEP,EAAE,IAAIm/B,GAAGt/B,EAAE,KAAK,WAAW,EAAE,OAAO,OAAO,OAAO,OAAO,OAAO,CAAC,EAAEU,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgBP,CAAC,CAAC,CAAC,CAAC,MAAM,cAAcO,EAAE,CAAC,IAAIV,EAAE,MAAM,QAAQ,KAAK,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAEG,CAAC,EAAEu/B,GAAG1/B,CAAC,EAAE2B,EAAE,KAAK,kBAAkB,EAAEC,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,QAAQC,KAAKpB,EAAE,QAAQ,KAAKoB,EAAE,MAAM,KAAK,oBAAoB,KAAKD,EAAE,KAAK,KAAK,mBAAmB,CAAC,CAAC,EAAED,EAAE,KAAKD,EAAE,EAAExB,CAAC,EAAE,OAAO,KAAK,oBAAoByB,EAAE,KAAK,GAAG,MAAM,QAAQ,IAAIC,CAAC,CAAC,EAAED,CAAC,CAAC,MAAM,YAAYlB,EAAE,CAAC,IAAIV,EAAE,MAAM,KAAK,cAAcU,CAAC,EAAE,EAAEyjB,GAAGzjB,CAAC,EAAEP,EAAE,MAAMk/B,GAAGr/B,EAAE,KAAK,WAAW,EAAE,MAAM,CAAC,EAAEG,CAAC,CAAC,CAAC,EAAEs/B,GAAG,iBAAiB,eAAe,SAASC,GAAG5/B,EAAE,CAAC,IAAI,EAAEA,EAAE,YAAY,GAAG,EAAEE,EAAEF,EAAE,YAAY,GAAG,EAAEI,EAAEJ,EAAE,UAAU,EAAE,CAAC,EAAEK,EAAEH,EAAE,EAAEF,EAAE,UAAUE,CAAC,EAAE,GAAG,MAAM,CAACE,EAAE,IAAIC,CAAC,CAAC,CAAC,SAASo+B,GAAGz+B,EAAE,CAAC,OAAOA,EAAE,MAAM2/B,GAAG,gBAAgB,GAAG,IAAI,CAAC,IAAIE,GAAG,CAAC7/B,EAAE,IAAI,CAAC,GAAG,OAAO,OAAO,cAAc,GAAG,MAAM,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC,IAAIE,EAAE,GAAG,GAAG,MAAM,QAAQF,CAAC,EAAEE,EAAEF,EAAE,MAAMI,GAAGq+B,GAAGr+B,CAAC,CAAC,EAAEF,EAAEu+B,GAAGz+B,CAAC,EAAEE,EAAE,OAAOs+B,GAAGx+B,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAEykB,GAAG,mBAAmBob,EAAE,EAAEpb,GAAG,mBAAmBob,EAAE,EAAE,SAASrB,GAAGx+B,EAAE,EAAE,CAAC,OAAO,IAAI2/B,GAAG3/B,EAAE,CAAC,CAAC,CAAC,SAASq+B,GAAGr+B,EAAE,EAAE,CAAC,OAAOw+B,GAAGx+B,EAAE,CAAC,CAAC,CAAC,IAAI8/B,GAAG,KAAK,CAAC,YAAYl/B,EAAE,CAAC,KAAK,eAAeA,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,cAAc,CAAC,EAAEm/B,GAAG,KAAK,CAAC,YAAYn/B,EAAE,CAAC,KAAK,YAAYA,CAAC,CAAC,KAAKA,EAAE,CAAC,OAAO,KAAK,YAAYA,CAAC,CAAC,CAAC,EAAEo/B,GAAG,KAAK,CAAC,YAAYp/B,EAAE,CAACA,EAAE,OAAO,KAAK,KAAK,IAAI,QAAQ,QAAQA,EAAE,KAAK,CAAC,GAAGA,EAAE,OAAO,KAAK,KAAKV,GAAG,QAAQ,QAAQU,EAAE,KAAKV,CAAC,CAAC,EAAE,CAAC,EAAE,SAASo+B,GAAGt+B,EAAE,EAAEE,EAAEE,EAAE,CAAC,IAAIC,EAAE,UAAU,OAAO,IAAI2/B,GAAGzB,GAAG,GAAGl+B,CAAC,CAAC,CAAC,CAAC,SAASk+B,GAAGv+B,EAAE,EAAEE,EAAEE,EAAE,CAAC,OAAO,UAAU,SAAS,EAAEJ,EAAE,eAAe,MAAMA,EAAE,aAAa,KAAK,IAAI8/B,GAAG9/B,CAAC,GAAG,QAAQ,KAAK,uNAAuN,EAAE,IAAI8/B,GAAG,CAAC,cAAc9/B,CAAC,CAAC,IAAI,QAAQ,KAAK,uNAAuN,EAAE,IAAI8/B,GAAG,CAAC,cAAc9/B,EAAE,YAAY,EAAE,WAAWE,EAAE,eAAeE,CAAC,CAAC,EAAE,CAAC,SAASw+B,GAAG5+B,EAAE,CAAC,OAAO,IAAI+/B,GAAG//B,CAAC,CAAC,CAAC,SAAS6+B,GAAG7+B,EAAE,CAAC,OAAO,IAAI+/B,GAAG//B,CAAC,CAAC,CAAC,IAAIxK,GAAG,CAAC,EAAEyK,GAAGzK,GAAG,CAAC,gBAAgB,IAAIyqC,EAAE,CAAC,EAAE,SAASC,GAAGlgC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,SAAS,iBAAiB,EAAEK,EAAEqiB,EAAE,EAAE,cAAc,iBAAiB,EAAEpI,EAAEpa,GAAG,MAAMA,EAAE,GAAG,OAAO,UAAUA,CAAC,EAAE,IAAI,+DAA+DA,CAAC,EAAE,EAAEoa,EAAEla,EAAE,OAAO,EAAE,IAAI,gDAAgDA,EAAE,IAAI,EAAE,EAAEka,EAAEja,EAAE,OAAO,EAAE,IAAI,qDAAqDA,EAAE,IAAI,EAAE,EAAEia,EAAEla,EAAE,MAAM,CAAC,IAAIC,EAAE,MAAM,CAAC,EAAE,IAAI,uCAAuCD,EAAE,MAAM,CAAC,CAAC,QAAQC,EAAE,MAAM,CAAC,CAAC,mEAAmE,EAAEia,EAAEpa,EAAE,GAAG,OAAO,UAAUA,CAAC,EAAE,IAAI,4DAA4DA,CAAC,EAAE,EAAE,IAAI,EAAEjJ,GAAGvI,GAAE0R,EAAE,OAAO,EAAEF,CAAC,EAAE,EAAEjJ,GAAGvI,GAAE2R,EAAE,OAAO,EAAEH,CAAC,EAAE6B,EAAEjE,GAAG,CAAC,EAAEkE,EAAEzM,GAAGwM,EAAE,CAAC,EAAE,OAAOrT,GAAEsT,EAAE,OAAO,CAAC,CAAC,IAAIi+B,GAAG7oC,EAAE,CAAC,iBAAiB8oC,EAAE,CAAC,EAAM3xC,GAAG,CAAC,EAAE0R,GAAG1R,GAAG,CAAC,KAAK,IAAI4xC,GAAG,WAAW,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,SAAS,IAAIC,EAAE,CAAC,EAAE,IAAIC,GAAGC,GAAG,GAAG,SAASC,GAAGzgC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,MAAM,IAAI,MAAM,gEAAgE,EAAE,GAAGA,GAAG,KAAK,MAAM,IAAI,MAAM,0DAA0D,EAAE,IAAIE,EAAE,GAAGE,EAAE,GAAGC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG0B,EAAE,GAAG,GAAG/B,EAAE,gBAAgB,WAAWE,EAAE,WAAW,OAAO,WAAW,aAAaF,aAAa,UAAUI,EAAE,WAAW,OAAO,kBAAkB,aAAaJ,aAAa,iBAAiBK,EAAE,WAAW,OAAO,kBAAkB,aAAaL,aAAa,iBAAiB,EAAE,WAAWA,EAAE,YAAY,KAAK,EAAE,WAAW,OAAO,aAAa,aAAaA,aAAa,YAAY+B,EAAE,OAAQ,OAAM,IAAI,MAAM,qPAAqP/B,EAAE,YAAY,IAAI,EAAE,EAAE,GAAGnN,GAAG9O,GAAG89B,EAAE,WAAW,GAAG,KAAK,CAAC,IAAI/e,EAAE,CAAC,OAAO9C,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO6hB,EAAE,UAAU99B,GAAG+e,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAEJ,CAAC,EAAErC,EAAE,CAACL,EAAE,WAAWA,EAAE,WAAW,EAAE,CAACA,EAAE,MAAMA,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAEA,EAAE,WAAW,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE0C,CAAC,EAAE,aAAatC,GAAGF,EAAE,EAAEF,EAAE,aAAa,GAAGK,GAAG0B,EAAE,CAAC,GAAGw+B,IAAI,KAAK,GAAG,OAAO,UAAU,YAAY,GAAG,OAAO,iBAAiB,aAAa,OAAO,mCAAmC,YAAYA,GAAG,IAAI,gBAAgB,EAAE,CAAC,EAAE,WAAW,IAAI,MAAO,OAAM,IAAI,MAAM,sGAAsG,OAAOA,GAAG,SAAS,cAAc,QAAQ,EAAE,WAAW,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAEA,GAAG,OAAO,MAAM,EAAEA,GAAG,OAAO,OAAO79B,EAAE69B,GAAG,UAAUvgC,EAAE,EAAE,EAAE,EAAE0C,CAAC,EAAE,EAAE69B,GAAG,aAAa,EAAE,EAAE,EAAE79B,CAAC,EAAE,IAAI,CAAC,IAAIE,EAAE,GAAG,IAAI,EAAEA,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,IAAIE,EAAE,EAAEJ,EAAEE,EAAE,IAAI,WAAWE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,IAAI,QAAQmB,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAErB,EAAE,EAAE,EAAEqB,CAAC,EAAE,EAAE,EAAE,EAAEA,CAAC,CAAC,CAAC,OAAO/G,GAAG0F,EAAE,CAACF,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,SAASg+B,GAAG1gC,EAAE,CAAC,OAAOA,GAAG,MAAMA,EAAE,gBAAgB,UAAU,CAAC,SAAS2gC,IAAI,CAAC,OAAO,OAAO,QAAQ,aAAa,OAAO,aAAa,aAAa,OAAO,eAAe,mBAAmB,CAAC,CAAC,SAASC,GAAG5gC,EAAE,CAAC,OAAOA,GAAG,MAAMA,EAAE,QAAQ,GAAGA,EAAE,SAAS,CAAC,CAAC,SAAS6gC,GAAG7gC,EAAE,CAAC,OAAO2gC,GAAG,GAAG,EAAE3gC,aAAa,cAAc4gC,GAAG5gC,CAAC,GAAG,CAAC0gC,GAAG1gC,CAAC,CAAC,CAAC,eAAeqgC,GAAGrgC,EAAE,EAAE,EAAE,CAAC,IAAIE,EAAE,KAAK,GAAG1O,EAAE,EAAE,QAAQ,qBAAqB,GAAGqvC,GAAG7gC,CAAC,EAAE,CAAC,IAAII,EAAE,GAAG,CAACA,EAAE,MAAM,kBAAkBJ,EAAE,CAAC,iBAAiB,MAAM,CAAC,CAAC,OAAOK,EAAE,CAACD,EAAE,IAAI,CAACA,GAAG,MAAMA,EAAE,QAAQJ,EAAE,OAAOI,EAAE,SAASJ,EAAE,OAAOE,EAAEE,EAAEF,EAAEF,CAAC,MAAME,EAAEF,EAAE,OAAOygC,GAAGvgC,EAAE,CAAC,CAAC,CAAC,SAAS4gC,GAAG9gC,EAAE,CAAC,GAAGA,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,wDAAwDA,EAAE,IAAI,GAAG,EAAE,IAAI,EAAEA,EAAE,OAAO,EAAE,EAAEA,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,IAAI,MAAM,0DAA0D,CAAC,EAAE,EAAE,GAAGA,EAAE,QAAQ,WAAWA,EAAE,QAAQ,QAAQ,MAAM,IAAI,MAAM,kCAAkCA,EAAE,KAAK,wCAAwC,CAAC,CAAC,SAAS+gC,GAAG/gC,EAAE,CAAC,IAAI,GAAGA,GAAG,KAAK,OAAOA,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,IAAI,MAAM,eAAe,CAAC,qCAAqC,CAAC,CAAC,eAAesgC,GAAGtgC,EAAE,EAAE,CAAC,IAAIE,EAAEwiB,EAAE1iB,EAAE,MAAM,UAAU,EAAE,GAAG,EAAEA,aAAapU,IAAI,CAAC,IAAIqW,EAAE/B,EAAEA,EAAExR,GAAEuT,EAAE,OAAO,EAAEA,EAAE,QAAQ,CAAC,CAAC6+B,GAAG5gC,CAAC,EAAE,GAAG,CAACE,EAAEC,CAAC,EAAEH,EAAE,MAAM,MAAM,EAAE,CAAC,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAEA,EAAE,MAAM,CAAC,EAAE,EAAE,MAAMA,EAAE,KAAK,EAAE6B,EAAE7B,EAAE,QAAQ,UAAU,IAAI,EAAE8B,EAAE,IAAI,kBAAkB3B,EAAED,EAAE,CAAC,EAAE,QAAQ6B,EAAE,EAAEA,EAAE7B,EAAEC,EAAE,EAAE4B,EAAE,CAAC,IAAIS,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQE,EAAE,EAAEA,EAAE,EAAEA,IAAI,CAAC,IAAIC,EAAE,EAAEZ,EAAE,EAAEW,CAAC,EAAE,GAAG1C,EAAE,QAAQ,WAAW,GAAG2C,EAAE,GAAGA,EAAE,EAAE,MAAM,IAAI,MAAM,mFAAmFA,CAAC,GAAG,UAAU3C,EAAE,QAAQ,UAAU2C,EAAE,GAAGA,EAAE,KAAK,MAAM,IAAI,MAAM,mFAAmFA,CAAC,GAAG,EAAE,IAAI,GAAGH,EAAE,CAAC,EAAEG,EAAEd,EAAEW,EAAE,CAAC,EAAEG,EAAEd,EAAEW,EAAE,CAAC,EAAEG,EAAEd,GAAGW,EAAEE,CAAC,EAAEC,EAAEd,CAAC,CAAC,IAAIY,EAAEV,EAAE,EAAED,EAAEW,EAAE,CAAC,EAAE,KAAK,MAAMD,EAAE,CAAC,CAAC,EAAEV,EAAEW,EAAE,CAAC,EAAE,KAAK,MAAMD,EAAE,CAAC,CAAC,EAAEV,EAAEW,EAAE,CAAC,EAAE,KAAK,MAAMD,EAAE,CAAC,CAAC,EAAEV,EAAEW,EAAE,CAAC,EAAE,KAAK,MAAMD,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC89B,IAAI3tC,GAAG/P,GAAG++B,EAAE,WAAW,GAAG,OAAO,QAAQ,KAAK,oGAAoG,EAAE2e,GAAG,IAAI,EAAE,MAAMngC,EAAE,EAAE,OAAOD,EAAE,IAAI6B,EAAE,EAAE,WAAW,IAAI,EAAES,EAAE,IAAI,UAAUV,EAAE3B,EAAED,CAAC,EAAE6B,EAAE,aAAaS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAOxC,IAAIF,GAAGE,EAAE,QAAQ,EAAE8B,CAAC,CAAC,SAASm+B,GAAGngC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEsiB,EAAE1iB,EAAE,MAAM,MAAM,EAAE,GAAG,EAAEA,aAAapU,IAAI,CAAC,IAAI,EAAEwU,EAAEA,EAAE1R,GAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,CAACoyC,GAAG1gC,CAAC,EAAE2gC,GAAG7gC,GAAG,KAAK,OAAOA,EAAE,YAAY,EAAE,IAAIG,EAAE,CAAC,MAAMD,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQF,CAAC,EAAE2hB,EAAE,UAAU/+B,GAAGud,EAAE,CAAC,CAAC,CAAC,IAAI+/B,GAAGhpC,EAAE,CAAC,YAAYqpC,EAAE,CAAC,EAAM/tC,GAAG,CAAC,EAAEuN,GAAGvN,GAAG,CAAC,mBAAmB,IAAIsuC,EAAE,CAAC,EAAE,SAASA,GAAGhhC,EAAE,EAAE,CAAC,IAAIE,EAAEF,EAAE,MAAM,OAAOI,EAAE,EAAE,MAAM,OAAO,GAAGF,EAAE,EAAE,MAAM,IAAI,MAAM,4EAA4EA,CAAC,GAAG,EAAE,GAAGE,EAAE,EAAE,MAAM,IAAI,MAAM,8EAA8EA,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,QAAQ,MAAM,IAAI,MAAM,yEAAyE,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,MAAMA,EAAE,CAAC,EAAEF,EAAE,MAAM,IAAI,MAAM,iEAAiE,EAAE,MAAME,EAAE,CAAC,CAAC,QAAQF,CAAC,EAAE,EAAE,GAAGwa,GAAG1a,EAAE,KAAK,IAAI,EAAE,MAAM,IAAI,MAAM,mEAAmEA,EAAE,KAAK,GAAG,EAAE,IAAIK,EAAE,EAAE,MAAM,EAAEA,EAAEA,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,QAAQsC,EAAE,EAAEA,EAAEtC,EAAE,OAAO,EAAE,EAAEsC,EAAE,GAAGtC,EAAEsC,CAAC,EAAE,IAAIZ,EAAE/B,EAAE,MAAMgC,EAAE3B,EAAE,MAAM,EAAE2B,EAAE,IAAI,EAAE,IAAIC,EAAE,EAAE,QAAQU,EAAE,EAAEA,EAAEzC,EAAE,EAAEyC,EAAEV,GAAGF,EAAEY,CAAC,EAAEX,EAAE,KAAKD,EAAEY,CAAC,CAAC,EAAE,IAAID,EAAE,CAAC,GAAGyZ,GAAGnc,EAAE,KAAK,EAAE,IAAI2C,GAAGA,EAAEV,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAACD,EAAE,EAAEC,EAAES,CAAC,CAAC,CAAC,IAAIhH,GAAG,CAAC,EAAEuE,GAAGvE,GAAG,CAAC,kBAAkB,IAAIulC,GAAG,kBAAkB,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,kBAAkB,IAAIC,GAAG,iBAAiB,IAAIC,GAAG,WAAW,IAAIC,GAAG,iBAAiB,IAAIC,GAAG,UAAU,IAAIC,GAAG,aAAa,IAAIC,GAAG,2BAA2B,IAAIC,GAAG,YAAY,IAAIC,GAAG,0BAA0B,IAAIC,GAAG,eAAe,IAAIC,GAAG,sBAAsB,IAAIC,EAAE,CAAC,EAAE,IAAIC,GAAG,GAAGC,GAAG,GAAG,SAASf,GAAGjhC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEJ,EAAE,MAAM,OAAOsa,EAAEla,IAAI,EAAE,OAAO,IAAI,iBAAiBA,CAAC,sBAAsB,CAAC,sCAAsCA,CAAC,IAAI,EAAEka,EAAEla,IAAIF,EAAE,OAAO,IAAI,iBAAiBE,CAAC,qBAAqBF,CAAC,sCAAsCE,CAAC,IAAI,EAAE,QAAQC,EAAE,EAAEA,EAAED,EAAE,EAAEC,EAAEia,EAAE,EAAEja,CAAC,EAAEH,EAAEG,CAAC,GAAGL,EAAE,MAAMK,CAAC,EAAE,IAAI,iBAAiBD,CAAC,YAAYC,CAAC,YAAYA,CAAC,MAAM,EAAEA,CAAC,EAAEH,EAAEG,CAAC,CAAC,gCAAgCA,CAAC,MAAML,EAAE,MAAMK,CAAC,CAAC,GAAG,CAAC,CAAC,SAASihC,GAAGthC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAEE,EAAE,EAAE,KAAKF,EAAE,GAAGA,EAAE,GAAG,EAAE,KAAKE,CAAC,EAAEF,GAAG,EAAEE,IAAI,OAAO,CAAC,CAAC,SAASihC,GAAGnhC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAEL,EAAE,OAAOK,IAAID,EAAEC,CAAC,EAAE,KAAK,MAAM,EAAEA,CAAC,EAAEL,EAAEK,CAAC,GAAGH,EAAEG,CAAC,CAAC,EAAE,OAAOD,CAAC,CAAC,SAAS0hC,GAAG9hC,EAAE,EAAEE,EAAEE,EAAE,CAAC,IAAIC,EAAE,CAAC,GAAGL,CAAC,EAAE,QAAQ,EAAEK,EAAE,OAAO,EAAED,EAAE,OAAO,IAAIC,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEH,EAAE,IAAI,IAAI,EAAEG,EAAE,CAAC,EAAE,GAAGA,EAAE,OAAO,EAAE,EAAE,CAAC,EAAEA,EAAE,IAAI,GAAG,OAAOA,CAAC,CAAC,SAAS4hC,GAAGjiC,EAAE,EAAEE,EAAE,CAAC,OAAOA,GAAGF,EAAEE,EAAEA,GAAG,EAAE,EAAE,CAAC,SAASgiC,GAAGliC,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAEJ,EAAEI,IAAIF,EAAE,KAAK,EAAEE,CAAC,EAAE,OAAOF,CAAC,CAAC,SAASkhC,GAAGphC,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE0B,EAAEC,EAAE,CAAC,IAAIC,EAAEjC,EAAE,OAAO0C,EAAE,IAAI,MAAMT,CAAC,EAAEU,EAAE,IAAI,MAAMV,CAAC,EAAEW,EAAE,IAAI,MAAMX,CAAC,EAAE,GAAG,EAAE,QAAQ/B,EAAE,EAAE,CAAC,IAAI2C,EAAE,EAAE,CAAC,EAAEC,EAAE5C,EAAE,EAAEwC,EAAEg/B,GAAG,EAAE7+B,EAAEC,EAAE1C,EAAEJ,CAAC,EAAE2C,EAAEi/B,GAAG7/B,EAAEc,EAAEC,EAAEzC,EAAEL,CAAC,EAAE4C,EAAEk/B,GAAG,EAAEj/B,EAAEC,EAAE9C,CAAC,CAAC,KAAM,SAAQ6C,EAAE,EAAEA,EAAEZ,EAAEY,IAAIH,EAAEG,CAAC,EAAE4+B,GAAG,EAAErhC,EAAE,EAAEJ,EAAE6C,EAAEb,CAAC,EAAEW,EAAEE,CAAC,EAAE8+B,GAAG5/B,EAAE1B,EAAE,EAAEL,EAAE6C,EAAEb,CAAC,EAAEY,EAAEC,CAAC,EAAEg/B,GAAG,EAAEh/B,EAAEb,CAAC,EAAE,MAAM,CAAC,MAAMU,EAAE,IAAIC,EAAE,QAAQC,CAAC,CAAC,CAAC,SAAS8+B,GAAG1hC,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAGA,CAAC,EAAE,EAAE6hC,GAAGhiC,EAAE,CAAC,EAAE,QAAQ6B,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,GAAG,EAAE,QAAQA,CAAC,EAAE,GAAG,EAAEA,CAAC,EAAE,MAAM,CAAC,IAAIC,EAAEigC,GAAG,EAAE/hC,EAAE6B,CAAC,EAAEE,EAAE7B,EAAE4B,CAAC,EAAEhC,EAAE,GAAGgC,IAAIC,EAAE,GAAG,EAAEF,CAAC,EAAEE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS2/B,GAAG5hC,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAGA,CAAC,EAAE,EAAE6hC,GAAGhiC,EAAE,CAAC,EAAE,QAAQ6B,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,GAAG,EAAE,QAAQA,CAAC,EAAE,GAAG,EAAEA,CAAC,EAAE,OAAO,qBAAqB,CAAC,IAAIC,EAAEigC,GAAG,EAAE/hC,EAAE6B,CAAC,EAAEE,EAAE7B,EAAE4B,CAAC,EAAEhC,EAAE,GAAGgC,IAAIC,EAAE,OAAO,kBAAkB,EAAEF,CAAC,EAAEE,CAAC,CAAC,QAAQF,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,CAAC,IAAIC,EAAE3B,EAAE0B,CAAC,EAAE,EAAEA,CAAC,EAAE,IAAI,EAAEA,CAAC,GAAGC,GAAG,EAAED,CAAC,EAAEkY,GAAG,EAAE,EAAElY,CAAC,EAAE1B,EAAE0B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS8/B,GAAG7hC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEJ,EAAE,CAAC,EAAE,OAAOE,EAAE,GAAG,GAAGE,GAAG,QAAQA,EAAE,GAAGA,CAAC,CAAC,SAASqhC,GAAGzhC,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE0B,EAAE7B,EAAEG,CAAC,GAAG,GAAGL,EAAE,GAAGK,GAAG,EAAE,GAAGA,GAAG,GAAG,QAAQ0B,EAAE,EAAE,EAAE,OAAO,iBAAiB,EAAE,OAAO,kBAAkB,IAAIC,EAAE5B,EAAEC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG2B,GAAG,EAAEiY,GAAG,EAAE,EAAEjY,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS2/B,GAAG3hC,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE0B,EAAE7B,EAAEG,CAAC,GAAG,GAAGL,EAAE,GAAGK,GAAG,EAAE,GAAGA,GAAG,GAAG,QAAQ0B,EAAE,EAAE,EAAE,OAAO,iBAAiB,EAAE,OAAO,kBAAkB,IAAIC,EAAE5B,EAAEC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG2B,GAAGD,EAAE,EAAE,EAAEkY,GAAG,EAAE,EAAEjY,CAAC,EAAE,EAAEiY,GAAG,GAAG,EAAEjY,EAAE,CAAC,EAAE,CAAC,CAAC,SAASq/B,GAAGrhC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEF,EAAE,OAAO,QAAQG,EAAE,EAAEA,EAAEH,EAAE,OAAOG,IAAI,GAAGH,EAAEG,CAAC,EAAE,EAAE,CAACD,EAAEC,EAAE,KAAK,CAAC,QAAQA,EAAED,EAAE,EAAEC,EAAEH,EAAE,OAAOG,IAAI,GAAG,EAAEA,CAAC,EAAE,GAAGH,EAAEG,CAAC,IAAIL,EAAEK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS6gC,GAAGlhC,EAAE,EAAE,CAAC,IAAIE,EAAEF,EAAE,OAAO,EAAEA,EAAEA,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQI,EAAE,EAAEA,EAAEJ,EAAE,OAAO,EAAEI,IAAIF,GAAGF,EAAEI,CAAC,EAAE,EAAEA,CAAC,EAAE,OAAOF,CAAC,CAAC,SAASqhC,GAAGvhC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEC,EAAEL,EAAE,MAAM,OAAO,OAAO,GAAG,SAASI,EAAE,CAAC,EAAE,GAAG,IAAI,MAAMC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,OAAOA,EAAED,EAAE,EAAE,OAAO,IAAI,MAAMC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAED,EAAE,EAAE,MAAM,EAAEA,EAAE,QAAQ,GAAG,CAACka,EAAE,IAAI,GAAG,IAAI,mDAAmD,CAAC,CAAC,EAAE,IAAI,EAAE,OAAOpa,GAAG,KAAK,EAAE,IAAI,MAAMG,CAAC,EAAE,KAAK,EAAE,EAAE,OAAOH,GAAG,SAAS,EAAE,CAACA,EAAE,GAAG,IAAI,MAAMG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAEH,EAAE,OAAOG,EAAE,EAAEH,EAAE,OAAO,IAAI,MAAMG,EAAEH,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAEA,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE6B,IAAI,GAAG,EAAE,GAAGuY,EAAE,IAAI,GAAG,IAAI,qDAAqD,CAAC,kCAAkCvY,CAAC,GAAG,EAAE/B,EAAE,MAAM+B,CAAC,EAAE3B,EAAE2B,CAAC,EAAE,EAAE,CAAC3B,EAAE,CAAC,CAAC,CAAC,SAASohC,GAAGxhC,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE0B,EAAEC,EAAE,CAAC,IAAIC,EAAE,GAAG7B,GAAG,MAAM6B,EAAE,IAAI,MAAM,EAAE,MAAM,EAAEA,EAAE,KAAK,CAAC,GAAGA,EAAE7B,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,MAAM,4CAA4C,EAAE,IAAIsC,EAAE,GAAGC,EAAE,CAAC,KAAKV,EAAE,OAAO,wBAAwB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI/B,EAAE,MAAM,EAAE,QAAQ+B,EAAE,MAAM,EAAE,UAAU5B,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY0B,EAAE,eAAeC,CAAC,EAAE,QAAQyC,EAAE,EAAEA,EAAE9B,EAAE,KAAK8B,IAAI/B,GAAG,GAAG+B,EAAE1C,GAAGY,EAAE,0BAA0B,GAAG8B,EAAE,IAAI/B,EAAE,IAAIA,IAAIC,EAAE,cAAc,GAAGA,EAAE,KAAKA,EAAE,QAAQ,IAAIC,EAAE,CAAC,KAAK5C,EAAE,OAAO,UAAU,EAAE,QAAQ,EAAE,WAAW,GAAG,SAAS,EAAE,EAAEmiC,GAAGx/B,EAAEC,CAAC,EAAE,IAAIC,EAAE,GAAGC,EAAE,GAAGkB,EAAE,GAAG,EAAE,CAAC,EAAEsD,EAAE,CAAC,EAAE,QAAQ7C,EAAE,EAAEA,EAAEzE,EAAE,OAAO,EAAEyE,EAAE,CAAC,GAAG7B,EAAE,QAAQ6B,CAAC,IAAI,EAAE,MAAM,MAAM,WAAWA,CAAC,oBAAoB,EAAE,IAAIC,EAAE,CAAC,EAAE9B,EAAE,eAAe,GAAG6B,GAAGE,EAAE3E,EAAEyE,CAAC,EAAE,GAAGE,IAAI,GAAG,CAAC,EAAE,KAAKD,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAIE,EAAE,CAAChC,EAAE,UAAU,GAAG6B,EAAE7B,EAAE,QAAQ,GAAG6B,CAAC,EAAEI,EAAE,CAACjC,EAAE,QAAQ6B,CAAC,EAAE,EAAE,EAAE,GAAG7B,EAAE,QAAQ6B,CAAC,EAAE,EAAEE,EAAEA,EAAE,CAAC,EAAE,GAAGD,GAAG9B,EAAE,QAAQ6B,CAAC,GAAG,EAAE,MAAM,MAAM,8CAA8C,EAAET,EAAEA,GAAGpB,EAAE,QAAQ6B,CAAC,IAAI,EAAE,IAAI8C,EAAE,CAAC,EAAE3E,EAAE,UAAU,GAAG6B,GAAG7B,EAAE,QAAQ,GAAG6B,GAAG,GAAG7B,EAAE,YAAYA,EAAE,SAAS,CAAC,GAAG8B,EAAE,CAAC,IAAIQ,EAAEtC,EAAE,MAAM6B,CAAC,EAAE,EAAEE,EAAE/B,EAAE,MAAM6B,CAAC,EAAE7B,EAAE,MAAM6B,CAAC,EAAE,GAAG7B,EAAE,MAAM6B,CAAC,EAAES,EAAEtC,EAAE,IAAI6B,CAAC,EAAE7B,EAAE,MAAM6B,CAAC,EAAE,EAAES,EAAE,GAAGA,GAAGP,EAAE,MAAM,MAAM,eAAe/B,EAAE,MAAM6B,CAAC,CAAC,iBAAiBA,CAAC,iBAAiB,CAAC,MAAM7B,EAAE,MAAM6B,CAAC,EAAE29B,GAAGx/B,EAAE,MAAM6B,CAAC,EAAE,EAAE7B,EAAE,QAAQ6B,CAAC,EAAEE,EAAEC,EAAEC,CAAC,EAAEjC,EAAE,IAAI6B,CAAC,EAAE29B,GAAGx/B,EAAE,IAAI6B,CAAC,EAAE,EAAE7B,EAAE,QAAQ6B,CAAC,EAAEE,EAAEC,EAAEC,CAAC,EAAE,IAAII,EAAErC,EAAE,QAAQ6B,CAAC,IAAI,GAAG7B,EAAE,MAAM6B,CAAC,IAAI,GAAG7B,EAAE,IAAI6B,CAAC,IAAIE,EAAE9B,EAAEA,GAAGoC,EAAEnC,EAAEA,IAAI2B,IAAI,GAAG7B,EAAE,QAAQ6B,CAAC,IAAI,GAAGQ,EAAE,MAAMpC,EAAEA,GAAGD,EAAE,QAAQ6B,CAAC,IAAI,GAAG8C,EAAEzE,EAAEA,IAAI2B,IAAI,GAAG7B,EAAE,QAAQ6B,CAAC,IAAI,GAAG8C,GAAG,IAAIxC,EAAEC,EAAE,GAAG,GAAGpC,EAAE,YAAYA,EAAE,UAAUmC,EAAEnC,EAAE,IAAI6B,CAAC,EAAE7B,EAAE,MAAM6B,CAAC,EAAEO,EAAE,IAAIN,GAAGK,EAAE,EAAEC,EAAE,IAAIuC,GAAG5C,GAAG,IAAI/B,EAAE,QAAQ6B,CAAC,EAAE,EAAEM,EAAE,CAACJ,EAAEI,EAAEJ,EAAEK,EAAE,IAAIA,EAAE,CAAC,IAAIC,EAAEF,IAAI,GAAGA,EAAE,GAAGnC,EAAE,QAAQ6B,CAAC,EAAE,EAAEQ,EAAE,EAAEA,EAAE,KAAK,MAAMF,EAAEnC,EAAE,QAAQ6B,CAAC,CAAC,GAAGM,EAAEnC,EAAE,QAAQ6B,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAKQ,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQR,EAAE,EAAEA,EAAE7B,EAAE,wBAAwB,OAAO,EAAE6B,EAAE,CAAC,IAAIC,EAAE9B,EAAE,wBAAwB6B,CAAC,EAAEC,GAAG,EAAE4C,EAAE,KAAK,EAAE5C,CAAC,CAAC,EAAEA,IAAIq9B,IAAIz6B,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiBA,EAAE,OAAO,CAAC7C,EAAEC,IAAI9B,EAAE,wBAAwB8B,CAAC,IAAIq9B,EAAE,EAAE,WAAWz6B,EAAE,WAAWzE,EAAE,UAAUC,EAAE,cAAckB,EAAE,MAAMpB,EAAE,MAAM,IAAIA,EAAE,IAAI,QAAQA,EAAE,OAAO,CAAC,CAAC,SAASu/B,GAAGniC,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,IAAIE,EAAE,EAAE,EAAE,WAAWF,EAAE,OAAO,KAAK,EAAE,SAASA,EAAE,KAAK,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAAE,8BAA8B,CAAC,EAAE,EAAE,8BAA8B,IAAI,MAAM,EAAE,IAAI,EAAE,QAAQI,EAAE,EAAEA,EAAEJ,EAAE,KAAKI,IAAI,GAAG,GAAGA,EAAEJ,EAAE,aAAa,CAAC,IAAIK,EAAE,KAAK,IAAI,EAAE,MAAML,EAAE,KAAKI,GAAG,EAAEJ,EAAE,wBAAwB,EAAE,IAAI,EAAE,KAAKE,EAAEG,EAAEH,IAAI,EAAE,MAAMA,CAAC,EAAE,EAAE,EAAE,IAAIA,CAAC,EAAE,EAAE,EAAE,QAAQA,CAAC,EAAE,EAAE,EAAE,WAAW,GAAGA,EAAE,EAAE,SAAS,GAAGA,EAAE,EAAE,wBAAwB,KAAKA,CAAC,EAAE,EAAE,8BAA8B,KAAK,EAAE,EAAE,EAAE,8BAA8BA,CAAC,EAAEE,CAAC,SAAS,GAAGA,EAAEJ,EAAE,YAAY,EAAE,wBAAwB,KAAK+hC,EAAE,EAAE,EAAE,8BAA8B,KAAK,EAAE,MAAM,CAAC,GAAG7hC,IAAI,EAAE,MAAM,OAAO,MAAM,MAAM,sCAAsCA,CAAC,oBAAoB,EAAE,IAAI,UAAU,EAAE,MAAM,MAAM,GAAG,EAAEF,EAAE,OAAO,OAAO,EAAE,MAAME,CAAC,EAAEF,EAAE,MAAMI,CAAC,GAAGJ,EAAE,KAAK,OAAO,EAAE,IAAIE,CAAC,EAAEF,EAAE,IAAII,CAAC,GAAG,EAAE,QAAQF,CAAC,EAAEF,EAAE,QAAQI,CAAC,EAAEJ,EAAE,UAAU,GAAGI,IAAI,EAAE,WAAW,GAAGF,GAAGF,EAAE,QAAQ,GAAGI,IAAI,EAAE,SAAS,GAAGF,GAAGF,EAAE,eAAe,GAAGI,GAAG,EAAE,wBAAwB,KAAK4hC,EAAE,EAAE,EAAE,8BAA8B,KAAK,EAAE,EAAE,EAAE,gBAAgB,GAAG9hC,IAAI,EAAE,wBAAwB,KAAKA,CAAC,EAAE,EAAE,8BAA8B,KAAKE,CAAC,GAAG,EAAE,8BAA8BF,CAAC,EAAEE,EAAEF,GAAG,CAAC,CAAC,SAASkiC,GAAGpiC,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,GAAGA,EAAE,CAAC,EAAE,OAAOH,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAEF,EAAE,EAAEI,EAAEJ,EAAEA,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAIlB,GAAG,SAAajX,GAAG,KAAK,CAAC,OAAO,IAAI+Y,EAAE,CAAC,OAAO,IAAIlX,GAAGkX,CAAC,CAAC,CAAC,OAAO,SAASA,EAAEV,EAAE,EAAE,GAAG,CAAC,OAAO,IAAIjZ,GAAG2Z,EAAEV,EAAE,CAAC,CAAC,CAAC,OAAO,QAAQU,EAAEV,EAAE,GAAG,EAAE,EAAEG,EAAE,KAAKwB,EAAE,GAAG,CAAC,OAAO,IAAIzZ,GAAGwY,EAAEV,EAAE,EAAEG,EAAEwB,CAAC,CAAC,CAAC,OAAO,KAAKjB,EAAE,KAAKV,EAAE,GAAG,EAAE,KAAKG,EAAE,KAAK,CAAC,OAAO,IAAI7gB,GAAGohB,EAAEV,EAAE,EAAEG,CAAC,CAAC,CAAC,OAAO,SAASO,EAAE,KAAKV,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI5gB,GAAGshB,EAAEV,EAAE,CAAC,CAAC,CAAC,OAAO,OAAOU,EAAE,KAAKV,EAAE,GAAG,EAAE,KAAKG,EAAE,KAAKwB,EAAE,EAAE,CAAC,OAAO,IAAIpiB,GAAGmhB,EAAEV,EAAE,EAAEG,EAAEwB,CAAC,CAAC,CAAC,OAAO,QAAQjB,EAAEV,EAAE,GAAG,CAAC,OAAO,IAAI3gB,GAAGqhB,EAAEV,CAAC,CAAC,CAAC,EAAMrC,GAAGhW,GAAOw6C,GAAG,OAAO,uBAAuB,YAAY,sBAAsB,OAAO,cAAc,YAAY,aAAariC,GAAGA,EAAE,EAAE,SAASlJ,IAAI,CAAC,OAAO,IAAI,QAAQkJ,GAAGqiC,GAAG,IAAIriC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAItS,EAAE,CAAC,EAAEuS,GAAGvS,EAAE,CAAC,OAAO,IAAI40C,GAAG,OAAO,IAAIC,GAAG,OAAO,IAAIC,GAAG,OAAO,IAAIC,GAAG,OAAO,IAAIC,GAAG,MAAM,IAAIC,GAAG,sBAAsB,IAAIC,GAAG,iBAAiB,IAAIC,GAAG,WAAW,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,gBAAgB,IAAI1L,GAAG,2BAA2B,IAAI/K,GAAG,2BAA2B,IAAIgB,GAAG,uBAAuB,IAAI0V,GAAG,mBAAmB,IAAIC,GAAG,qBAAqB,IAAI/V,GAAG,gBAAgB,IAAIuI,GAAG,oBAAoB,IAAIyN,GAAG,0BAA0B,IAAIxZ,GAAG,iBAAiB,IAAIyD,GAAG,kCAAkC,IAAIgW,GAAG,qBAAqB,IAAIC,GAAG,oBAAoB,IAAIC,GAAG,kBAAkB,IAAI3a,GAAG,kBAAkB,IAAIK,GAAG,kBAAkB,IAAIK,GAAG,sBAAsB,IAAIZ,GAAG,yBAAyB,IAAI8a,GAAG,0BAA0B,IAAIlW,GAAG,gBAAgB,IAAImW,GAAG,kBAAkB,IAAI5a,GAAG,kBAAkB,IAAIE,GAAG,wBAAwB,IAAIJ,GAAG,qBAAqB,IAAI+a,GAAG,+BAA+B,IAAIha,GAAG,qBAAqB,IAAI6D,GAAG,SAAS,IAAIoW,GAAG,UAAU,IAAIC,GAAG,uBAAuB,IAAIC,GAAG,uBAAuB,IAAIC,GAAG,mBAAmB,IAAIrW,GAAG,iBAAiB,IAAIhB,GAAG,oBAAoB,IAAIsX,GAAG,qBAAqB,IAAIC,GAAG,qBAAqB,IAAIC,GAAG,qBAAqB,IAAI3M,GAAG,qBAAqB,IAAID,GAAG,eAAe,IAAI6M,GAAG,iBAAiB,IAAIvW,GAAG,YAAY,IAAIwW,GAAG,cAAc,IAAIC,GAAG,iBAAiB,IAAI1X,GAAG,YAAY,IAAI2X,GAAG,oBAAoB,IAAIC,GAAG,2BAA2B,IAAIC,GAAG,oBAAoB,IAAIC,GAAG,aAAa,IAAIC,GAAG,gDAAgD,IAAIC,GAAG,gDAAgD,IAAIC,GAAG,kDAAkD,IAAIC,GAAG,qDAAqD,IAAIC,GAAG,gDAAgD,IAAIC,GAAG,gDAAgD,IAAIC,GAAG,yDAAyD,IAAIC,GAAG,8CAA8C,IAAIC,GAAG,uDAAuD,IAAIC,GAAG,wDAAwD,IAAIC,GAAG,6DAA6D,IAAIC,GAAG,yDAAyD,IAAIC,GAAG,uBAAuB,IAAI3X,GAAG,sBAAsB,IAAI4X,GAAG,IAAI,IAAI5nB,GAAG,uBAAuB,IAAI6nB,GAAG,mBAAmB,IAAIrE,GAAG,iBAAiB,IAAIsE,GAAG,aAAa,IAAIC,GAAG,WAAW,IAAIjO,GAAG,WAAW,IAAI57B,GAAG,uBAAuB,IAAI8pC,GAAG,8BAA8B,IAAI/b,GAAG,kBAAkB,IAAIF,GAAG,WAAW,IAAIlrB,GAAG,0BAA0B,IAAIonC,GAAG,cAAc,IAAI/P,GAAG,oBAAoB,IAAIC,GAAG,KAAK,IAAIpY,EAAE,CAAC,EAAE,SAASylB,GAAGhjC,EAAE,EAAE,CAAC,IAAIE,EAAEF,EAAE,CAAC,EAAE,OAAOA,EAAE,QAAQ,CAACK,EAAE,IAAI,CAACia,EAAEja,EAAE,SAASH,EAAE,IAAI,kBAAkBA,CAAC,sBAAsB,CAAC,+CAA+CA,CAAC,GAAG,CAAC,CAAC,EAAEoa,EAAE,GAAG,GAAG,EAAEpa,EAAE,IAAI,kBAAkBA,CAAC,iCAAiCA,EAAE,CAAC,GAAG,EAAE,IAAIE,EAAEJ,EAAE,CAAC,EAAEA,EAAE,QAAQ,CAACK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAEH,EAAE,IAAIoa,EAAE,IAAI,GAAGja,EAAE,CAAC,IAAID,EAAE,CAAC,EAAE,IAAI,kBAAkBF,CAAC,uBAAuB,CAAC,MAAMG,CAAC,2CAA2CD,CAAC,qCAAqC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAASmjC,GAAGvjC,EAAE,EAAE,CAAC,IAAIE,EAAEF,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQI,EAAE,EAAEA,EAAEJ,EAAE,OAAOI,IAAIF,EAAE,CAAC,GAAGF,EAAEI,CAAC,EAAE,CAAC,EAAE,OAAOF,CAAC,CAAC,IAAI2iC,IAAI,SAAS7iC,EAAE,CAACA,EAAEA,EAAE,eAAe,CAAC,EAAE,iBAAiBA,EAAEA,EAAE,aAAa,CAAC,EAAE,eAAeA,EAAEA,EAAE,YAAY,CAAC,EAAE,cAAcA,EAAEA,EAAE,WAAW,CAAC,EAAE,aAAaA,EAAEA,EAAE,WAAW,CAAC,EAAE,aAAaA,EAAEA,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG6iC,KAAKA,GAAG,CAAC,EAAE,EAAE,SAASM,GAAGnjC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,IAAI,MAAM,GAAGF,GAAG,MAAM,GAAG,KAAK,OAAOE,EAAE,GAAG,GAAG,KAAK,KAAKA,EAAE,OAAOJ,EAAEE,EAAE,QAAQE,EAAE,KAAK,EAAE,OAAOA,EAAE,EAAE,MAAM,EAAE,GAAGF,GAAG,KAAK,OAAOE,EAAE,GAAGJ,EAAEE,EAAE,SAASE,EAAE,OAAO,MAAM,IAAI,MAAM,4BAA4B,CAAC,sCAAsCJ,EAAEE,EAAE,MAAM,sBAAsBE,EAAE,MAAM,EAAE,EAAE,QAAQC,EAAE,EAAEA,EAAEH,EAAE,OAAO,EAAEG,EAAE,CAAC,IAAI,EAAEH,EAAEG,CAAC,EAAE,EAAED,EAAEA,EAAE,OAAOF,EAAE,OAAOG,CAAC,EAAE0B,EAAE3B,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG2B,GAAG,GAAG,GAAGA,IAAI,EAAE,MAAM,IAAI,MAAM,4BAA4B,CAAC,qCAAqC1B,EAAEL,CAAC,OAAO,CAAC,cAAcK,EAAEL,CAAC,OAAO+B,CAAC,EAAE,OAAO3B,EAAE,CAAC,EAAE,CAAC,CAAC,OAAOA,CAAC,CAAC,SAASikC,GAAGrkC,EAAE,CAAC,IAAI,EAAE,CAAC,eAAe6iC,GAAG,eAAe,aAAaA,GAAG,aAAa,YAAYA,GAAG,YAAY,WAAWA,GAAG,WAAW,WAAWA,GAAG,WAAW,WAAWA,GAAG,UAAU,EAAE3iC,EAAE,CAAC,EAAE,QAAQE,KAAKJ,EAAE,GAAGI,KAAK,EAAEF,EAAE,KAAK,EAAEE,CAAC,CAAC,MAAO,OAAM,OAAOF,CAAC,CAAC,SAASgkC,GAAGlkC,EAAE,CAAC,OAAOA,EAAE,SAAS,EAAE,EAAEA,EAAE,CAAC,IAAI6iC,GAAG,eAAe7iC,EAAE,OAAO,EAAEA,EAAE,MAAM,CAAC,SAASylC,GAAGzlC,EAAE,EAAE,CAAC,GAAGA,GAAG,MAAM,GAAG,KAAK,OAAO,IAAIE,EAAEF,EAAE,OAAOI,EAAE,EAAE,OAAO,GAAGF,GAAGE,EAAE,MAAM,IAAI,MAAM,sBAAsBJ,CAAC,uCAAuC,CAAC,2CAA2CE,CAAC,4DAA4DE,CAAC,GAAG,EAAE,QAAQC,EAAE,EAAEA,EAAE,KAAK,IAAIH,EAAEE,EAAE,CAAC,EAAE,EAAEC,EAAE,CAAC,IAAI,EAAEL,EAAEK,CAAC,EAAE,EAAE,EAAEA,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM,IAAI,MAAM,sBAAsBL,CAAC,8CAA8C,CAAC,yCAAyCK,EAAEL,EAAE,MAAM,OAAO,CAAC,6CAA6CK,EAAEL,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI4iC,GAAG,GAAG,SAASU,GAAGtjC,EAAE,CAAC,OAAOA,GAAG4iC,GAAG5iC,EAAEkc,GAAGlc,EAAE,KAAK,MAAM,KAAK,KAAKA,CAAC,CAAC,CAAC,CAAC,CAAC,SAASgkC,GAAGhkC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEF,GAAG,OAAOF,GAAG,SAASA,EAAEA,EAAE,CAAC,GAAGK,EAAE,GAAG,OAAOL,GAAG,SAASA,EAAEA,EAAE,CAAC,GAAG,MAAM,CAACI,EAAEC,CAAC,CAAC,CAAC,SAAS8jC,GAAGnkC,EAAE,EAAEE,EAAEE,EAAE,GAAG,CAAC,IAAIC,EAAE,CAAC,EAAE,GAAGD,EAAEC,EAAEA,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,KAAKL,EAAE,CAAC,EAAEE,CAAC,EAAEG,EAAEA,EAAE,OAAOL,EAAE,MAAM,CAAC,CAAC,MAAM,CAACK,EAAEA,EAAE,OAAOL,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEK,EAAEA,EAAE,OAAO,CAACL,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAEK,EAAEA,EAAE,OAAOL,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAOK,CAAC,CAAC,SAAS4jC,GAAGjkC,EAAE,EAAEE,EAAE,GAAG,CAAC,IAAIE,EAAE,CAAC,EAAE,GAAGF,EAAE,CAACE,EAAE,KAAK,CAAC,EAAE,QAAQC,EAAE,EAAE,EAAEA,EAAEL,EAAE,EAAEK,EAAEA,GAAG,EAAE,GAAGD,EAAE,KAAKC,CAAC,EAAED,EAAE,KAAKC,GAAG,EAAE,EAAE,GAAGD,EAAE,KAAKC,CAAC,CAAC,KAAK,CAAC,IAAIA,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEL,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,EAAEK,EAAE,KAAK,CAAC,EAAED,EAAE,KAAK,GAAGC,CAAC,EAAED,EAAE,KAAK,CAAC,EAAEA,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,SAASgkC,GAAGpkC,EAAE,EAAEE,EAAEE,EAAE,GAAG,CAAC,IAAIC,EAAE,CAAC,EAAED,EAAEC,EAAE,KAAKL,EAAE,CAAC,EAAEE,CAAC,EAAEG,EAAE,KAAKL,EAAE,CAAC,EAAEE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEF,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAOI,EAAEC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAEL,EAAE,CAAC,CAAC,EAAEK,EAAE,KAAKL,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAEK,EAAE,KAAKL,EAAE,CAAC,CAAC,EAAE,OAAOK,CAAC,CAAC,SAASikC,GAAGtkC,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAEF,EAAE,KAAKF,EAAEI,CAAC,EAAE,CAAC,CAAC,EAAE,OAAOF,CAAC,CAAC,SAASqkC,GAAGvkC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEJ,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQK,EAAE,EAAEA,EAAEH,EAAE,EAAEG,EAAED,EAAE,KAAKJ,EAAEK,EAAE,CAAC,EAAE,EAAEA,CAAC,EAAE,CAAC,EAAE,EAAEA,CAAC,EAAE,CAAC,CAAC,EAAE,OAAOD,CAAC,CAAC,IAAI2iC,GAAG,mBAAmBD,GAAG,mBAAuBH,GAAG,SAASL,GAAG,WAAWC,GAAG,YAAYC,GAAG,YAAYC,GAAG,aAAaC,GAAG,YAAY,SAAS2C,GAAGrlC,EAAE,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAE,OAAO,MAAM,IAAI,MAAM,gEAAgEA,EAAE,MAAM,WAAW,EAAE,MAAM,GAAG,EAAE,IAAIE,EAAE,IAAI,aAAaF,EAAE,OAAO,CAAC,EAAE,QAAQI,EAAE,EAAEA,EAAEF,EAAE,OAAOE,GAAG,EAAEF,EAAEE,CAAC,EAAEJ,EAAEI,EAAE,CAAC,EAAEF,EAAEE,EAAE,CAAC,EAAE,EAAEA,EAAE,CAAC,EAAE,OAAOF,CAAC,CAAC,SAASslC,GAAGxlC,EAAE,CAAC,IAAI,EAAE,IAAI,aAAaA,EAAE,OAAO,CAAC,EAAEE,EAAE,IAAI,aAAaF,EAAE,OAAO,CAAC,EAAE,QAAQI,EAAE,EAAEA,EAAEJ,EAAE,OAAOI,GAAG,EAAE,EAAEA,EAAE,CAAC,EAAEJ,EAAEI,CAAC,EAAEF,EAAEE,EAAE,CAAC,EAAEJ,EAAEI,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,KAAKF,CAAC,CAAC,CAAC,SAASkjC,GAAGpjC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAKA,EAAE,OAAO,CAAC,EAAEE,EAAE,IAAI,aAAa,CAAC,EAAEE,EAAE,IAAI,aAAa,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAEL,EAAE,OAAOK,GAAG,EAAEH,EAAE,KAAK,MAAMG,EAAE,CAAC,CAAC,EAAEL,EAAEK,CAAC,EAAED,EAAE,KAAK,MAAMC,EAAE,CAAC,CAAC,EAAEL,EAAEK,EAAE,CAAC,EAAE,MAAM,CAAC,KAAKH,EAAE,KAAKE,CAAC,CAAC,CAAC,SAASijC,GAAGrjC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAMA,EAAE,OAAO,CAAC,EAAEE,EAAE,IAAI,aAAa,CAAC,EAAEE,EAAE,IAAI,aAAa,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAEL,EAAE,OAAOK,GAAG,EAAEH,EAAE,KAAK,MAAMG,EAAE,CAAC,CAAC,EAAEL,EAAEK,CAAC,EAAED,EAAE,KAAK,MAAMC,EAAE,CAAC,CAAC,EAAEL,EAAEK,EAAE,CAAC,EAAE,MAAM,CAAC,KAAKH,EAAE,KAAKE,CAAC,CAAC,CAAC,SAASyjC,GAAG7jC,EAAE,EAAE,CAAC,IAAIE,EAAEF,EAAE,EAAE,CAAC,EAAEI,EAAEJ,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,KAAKE,EAAE,KAAKE,CAAC,CAAC,CAAC,SAAS6iC,GAAGjjC,EAAE,EAAEE,EAAEE,EAAE,CAACJ,EAAEI,EAAE,CAAC,EAAE,EAAEJ,EAAEI,EAAE,EAAE,CAAC,EAAEF,CAAC,CAAC,SAASwjC,GAAG1jC,EAAE,EAAE,CAAC,IAAIE,EAAE,IAAI,aAAaF,EAAE,CAAC,EAAEI,EAAE,IAAI,aAAaJ,EAAE,CAAC,EAAE,QAAQK,EAAE,EAAEA,EAAE,KAAK,KAAKL,EAAE,CAAC,EAAEK,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,KAAK,IAAIA,EAAEL,GAAGE,EAAEG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAED,EAAEC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAKH,EAAE,KAAKE,CAAC,CAAC,CAAC,SAASqjC,GAAGzjC,EAAE,EAAEE,EAAE,CAAC,IAAIE,GAAGF,EAAE,EAAE,IAAI,KAAK,IAAIF,EAAE,GAAGK,EAAE,KAAK,IAAID,CAAC,EAAE,EAAE,KAAK,IAAIA,CAAC,EAAE,MAAM,CAAC,KAAKC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAIqlC,GAAG,KAAKC,GAAG,MAAMC,GAAG,IAAIC,GAAG,MAAM,SAASrC,GAAGxjC,EAAE,EAAE,CAACA,EAAEA,EAAE,QAAQ,MAAM,EAAE,EAAE,IAAIE,GAAGF,EAAE,OAAOA,EAAE,QAAQ2lC,GAAG,EAAE,EAAE,QAAQD,GAAG,OAAO,GAAGxlC,EAAE,EAAE,MAAM,IAAI,MAAM,+CAA+C,EAAE,GAAGA,EAAE,EAAE,MAAM,IAAI,MAAM,6CAA6CwlC,EAAE,KAAK,EAAE,GAAG,CAACtlC,EAAEC,CAAC,EAAEL,EAAE,MAAM0lC,EAAE,EAAEprB,EAAEla,EAAE,QAAQylC,EAAE,IAAI,GAAG,IAAI,2BAA2BA,EAAE,0BAA0B,EAAE,IAAI,EAAEzlC,EAAE,MAAMwlC,EAAE,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,IAAI,MAAM,YAAY,CAAC,4BAA4B,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,IAAI,MAAM,+DAA+D,EAAE,IAAI7jC,EAAE,CAAC,EAAE,QAAQa,EAAE,EAAEA,EAAEvC,EAAE,OAAO,EAAEuC,EAAE,CAAC,IAAIC,EAAExC,EAAEuC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAKE,GAAGA,EAAE,QAAQD,CAAC,IAAI,EAAE,EAAE,MAAM,IAAI,MAAM,uCAAuCA,CAAC,uCAAuC,EAAEd,EAAE,QAAQc,CAAC,IAAI,IAAId,EAAE,KAAKc,CAAC,CAAC,CAAC,QAAQD,EAAE,EAAEA,EAAExC,EAAE,OAAO,EAAEwC,EAAE,CAAC,IAAIC,EAAEzC,EAAEwC,CAAC,EAAEb,EAAE,QAAQc,CAAC,IAAI,IAAIA,IAAI+iC,IAAI7jC,EAAE,KAAKc,CAAC,CAAC,CAAC,IAAIb,EAAE,IAAI,MAAM,EAAE,MAAM,EAAE,QAAQY,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,CAAC,GAAG,IAAI,IAAI,EAAEA,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAEA,CAAC,EAAE,OAAO,MAAM,IAAI,MAAM,2CAA2C,EAAEA,CAAC,CAAC,+DAA+D,EAAEZ,EAAEY,CAAC,EAAE,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAE,EAAED,CAAC,EAAE,OAAO,EAAEC,EAAEb,EAAEY,CAAC,EAAE,KAAKb,EAAE,QAAQ,EAAEa,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIZ,EAAEF,EAAE,OAAOW,EAAErC,EAAE,OAAOsC,EAAE,CAAC,EAAE,QAAQC,EAAEF,EAAEE,EAAEX,EAAE,EAAEW,EAAED,EAAE,KAAKC,CAAC,EAAE,MAAM,CAAC,QAAQb,EAAE,WAAWY,EAAE,OAAOX,CAAC,CAAC,CAAC,SAAS+hC,GAAG/jC,EAAE,EAAE,CAAC,IAAIE,EAAE,IAAI,MAAMF,CAAC,EAAEE,EAAE,KAAK,EAAE,EAAE,QAAQG,EAAE,EAAEA,EAAE,EAAE,OAAO,EAAEA,EAAEH,EAAE,EAAEG,CAAC,CAAC,EAAEA,EAAE,IAAID,EAAE,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAEL,EAAE,EAAEK,EAAEH,EAAEG,CAAC,IAAI,IAAID,EAAE,KAAKC,CAAC,EAAE,OAAOH,EAAEA,EAAE,OAAOG,GAAGA,IAAI,EAAE,EAAE,CAAC,mBAAmBH,EAAE,WAAWE,CAAC,CAAC,CAAC,SAAS8iC,GAAGljC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,IAAI,MAAMJ,CAAC,EAAE,QAAQK,EAAE,EAAEA,EAAEH,EAAE,OAAO,EAAEG,EAAE,CAAC,IAAI,EAAEH,EAAEG,CAAC,EAAE,MAAM,QAAQ,EAAE,EAAE,EAAE,EAAEA,CAAC,EAAE,OAAO,EAAE,EAAED,EAAE,EAAEC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAOD,EAAE,EAAEC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAEia,EAAEla,EAAE,EAAEC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,sBAAsBD,EAAE,EAAEC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,oBAAoB,KAAK,UAAU,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAASyjC,GAAG9jC,EAAE,EAAE,CAAC,IAAIE,EAAEF,EAAEI,EAAE,CAAC,EAAEC,EAAE,EAAEL,EAAE,SAAS,GAAGE,EAAE,KAAK,EAAE,EAAEG,EAAEL,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAEK,EAAE,EAAE,EAAED,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEF,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI6B,EAAE7B,EAAE,CAAC,EAAE8B,EAAE8jC,GAAG,EAAE/jC,CAAC,EAAE,QAAQE,KAAKD,EAAE,EAAE,QAAQC,CAAC,IAAI,KAAK7B,EAAE,CAAC,EAAE,KAAK6B,CAAC,EAAE,EAAE,KAAKA,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK/B,EAAE,MAAME,CAAC,CAAC,CAAC,SAASglC,GAAGplC,EAAE,CAAC,OAAOA,EAAE,MAAM,CAAC,EAAEE,IAAI,IAAIA,CAAC,CAAC,CAAC,SAAS4lC,GAAG9lC,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAEJ,EAAE,OAAO,EAAEI,GAAGJ,EAAEI,CAAC,EAAE,SAAS,GAAGJ,EAAEI,CAAC,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI,KAAKF,EAAE,KAAKE,CAAC,EAAE,OAAOF,CAAC,CAAC,SAASolC,GAAGtlC,EAAE,EAAEE,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,GAAG,OAAO,GAAG,SAASka,EAAEta,EAAE,MAAME,CAAC,EAAE,IAAI,EAAE,IAAI,+CAA+C,EAAEE,EAAE,IAAI,MAAM,CAAC,EAAE,KAAKJ,EAAE,MAAME,CAAC,EAAE,CAAC,MAAM,CAAC,IAAIG,EAAE,EAAE,OAAO,CAAC,EAAE0B,KAAKA,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,EAAEuY,EAAEja,GAAG,EAAE,IAAI,yDAAyD,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC0B,EAAEC,IAAIA,EAAE,EAAED,EAAEC,EAAED,CAAC,EAAE,EAAE,CAAC,EAAE/B,EAAE,MAAME,CAAC,EAAE,CAAC,CAACoa,EAAEta,EAAE,MAAME,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE6B,IAAI,EAAEA,CAAC,EAAE,IAAI,6DAA6D,EAAE3B,EAAE,CAAC,CAAC,OAAOA,CAAC,CAAC,SAASokC,GAAGxkC,EAAE,CAAC,MAAM;AAAA,uBAC/02BA,CAAC,EAAE,CAAC,SAASykC,GAAGzkC,EAAE,EAAE,CAAC,MAAM,WAAWA,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS0kC,GAAG1kC,EAAE,EAAEE,EAAE,CAAC,MAAM,WAAWF,CAAC,oBAAoB,CAAC,OAAOE,CAAC,EAAE,CAAC,SAAS4kC,GAAG9kC,EAAE,EAAE,CAAC,MAAM,iDAAiDA,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS+kC,GAAG/kC,EAAE,EAAE,CAAC,MAAM,QAAQA,CAAC,8BAA8B,CAAC,EAAE,CAAC,SAAS2kC,IAAI,CAAC,MAAM,+GAA+G,CAAC,SAASE,GAAG7kC,EAAE,EAAE,CAAC,IAAIE,EAAEwa,GAAG1a,CAAC,EAAEI,EAAEsa,GAAG,CAAC,EAAE,MAAM,2CAA2Cxa,CAAC;AAAA,iEAChdE,CAAC,gBAAgBJ,CAAC,iBAAiB,CAAC,EAAE,CAAC,SAAS4kC,GAAG5kC,EAAE,EAAE,CAAC,IAAIE,EAAEwa,GAAG1a,CAAC,EAAEI,EAAEsa,GAAG,CAAC,EAAE,MAAM,qCAAqCxa,CAAC,8CAA8CE,CAAC,gBAAgBJ,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAASilC,IAAI,CAAC,MAAM,0BAA0B,CAAC,SAASC,IAAI,CAAC,MAAM,gCAAgC,CAAC,SAASC,GAAGnlC,EAAE,EAAE,CAAC,MAAM,cAAcA,CAAC,qBAAqB,CAAC,qDAAqD,CAAC,SAASglC,GAAGhlC,EAAE,EAAEE,EAAE,CAAC,MAAM,gBAAgBF,CAAC,QAAQ,CAAC,qBAAqBE,CAAC,GAAG,CAAC,IAAIqlC,GAAG,CAAC,EAAEtlC,GAAGslC,GAAG,CAAC,yBAAyB,IAAIQ,GAAG,gBAAgB,IAAIC,GAAG,8BAA8B,IAAIC,EAAE,CAAC,EAAE,SAASA,GAAGjmC,EAAE,EAAE,CAAC,IAAIE,EAAE,GAAGE,EAAE,IAAIJ,GAAG4iC,IAAIxiC,EAAEJ,EAAEE,EAAE,IAAIE,EAAE8b,GAAGlc,EAAE,KAAK,MAAM,KAAK,KAAKA,CAAC,CAAC,CAAC,EAAE,CAACE,GAAGE,EAAE,GAAGA,IAAIJ,EAAEE,EAAE,GAAGE,EAAE8b,GAAGlc,EAAEI,EAAE,CAAC,EAAE,OAAOA,CAAC,CAAC,SAAS4lC,GAAGhmC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEC,EAAEL,EAAE,OAAO,QAAQ,EAAE,EAAE,EAAEK,EAAE,IAAI,IAAI,EAAED,EAAE,KAAKJ,EAAE,CAAC,CAAC,EAAEI,EAAE,KAAKF,CAAC,EAAE,OAAOE,CAAC,CAAC,SAAS2lC,GAAG/lC,EAAE,EAAEE,EAAEE,EAAE,CAAC,IAAIC,EAAE,EAAE,MAAM,OAAO,EAAEL,EAAE,MAAM,OAAO,GAAGI,IAAI,IAAIA,EAAE,CAACC,GAAGD,EAAEC,GAAG,MAAM,IAAI,MAAM,sCAAsCA,CAAC,KAAKA,CAAC,cAAcD,CAAC,EAAE,EAAE,GAAGA,EAAE,IAAIA,GAAGC,GAAGD,EAAE,EAAE,MAAM,IAAI,MAAM,cAAcA,CAAC;AAAA,MACxkC,CAAC,IAAI,EAAE,GAAGF,EAAEE,EAAE,MAAM,IAAI,MAAM,cAAcA,CAAC,yCAAyCF,CAAC,IAAI,EAAE,QAAQyC,EAAE,EAAEA,EAAEvC,EAAE,EAAEuC,EAAE,GAAG3C,EAAE,MAAM2C,CAAC,IAAI,EAAE,MAAMA,CAAC,EAAE,MAAM,IAAI,MAAM,WAAWA,CAAC,MAAM3C,EAAE,MAAM2C,CAAC,CAAC,qCAAqCA,CAAC,MAAM,EAAE,MAAMA,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE3C,EAAE,MAAME,CAAC,EAAE6B,EAAE,CAAC,EAAEC,EAAE,EAAEC,EAAE,EAAES,EAAE,EAAE,QAAQC,EAAE,EAAEA,EAAEvC,EAAE,EAAEuC,EAAEZ,EAAE,KAAK/B,EAAE,MAAM2C,CAAC,CAAC,EAAEX,GAAGhC,EAAE,MAAM2C,CAAC,EAAE,QAAQA,EAAEvC,EAAEuC,EAAEzC,EAAEyC,IAAIZ,EAAE,KAAK/B,EAAE,MAAM2C,CAAC,CAAC,EAAEV,GAAGjC,EAAE,MAAM2C,CAAC,EAAE,QAAQA,EAAEvC,EAAEuC,EAAEtC,EAAEsC,IAAIZ,EAAE,KAAK,EAAE,MAAMY,CAAC,CAAC,EAAE,QAAQA,EAAEzC,EAAE,EAAEyC,EAAE,EAAEA,IAAIZ,EAAE,KAAK/B,EAAE,MAAM2C,CAAC,CAAC,EAAED,GAAG1C,EAAE,MAAM2C,CAAC,EAAE,MAAM,CAAC,UAAUX,EAAE,UAAUU,EAAE,UAAUT,EAAE,QAAQ,EAAE,YAAYF,CAAC,CAAC,CAAC,SAAS6hC,GAAG5jC,EAAE,CAAC,GAAG,CAAC,OAAOA,EAAE,IAAI,GAAG6d,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,MAAM,4DAA4D,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS8lB,GAAG3jC,EAAE,CAAC,OAAOA,EAAE,IAAI,GAAG8d,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI7pB,GAAG,CAAC,EAAEgM,GAAGhM,GAAG,CAAC,wBAAwB,IAAIslC,GAAG,wBAAwB,IAAIE,GAAG,wBAAwB,IAAIC,GAAG,UAAU,IAAIxD,EAAE,CAAC,EAAEiI,GAAG,EAAE,IAAI+H,GAAG,CAAC,WAAW/mD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC6gB,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAEsJ,EAAEzD,GAAG7N,GAAEwR,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAMimC,GAAG,CAAC,WAAW/mD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC4gB,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAIE,EAAEjE,GAAGzN,GAAEwR,EAAE,SAAS,CAAC,EAAEG,EAAEnE,GAAGQ,GAAG1C,GAAG,CAAC,EAAEoG,CAAC,CAAC,EAAE,OAAOvJ,GAAGhG,GAAGmP,EAAEK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAM+lC,GAAG,CAAC,WAAW/mD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC2gB,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAIE,EAAElE,GAAGQ,GAAGP,GAAGzN,GAAEwR,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAOrP,GAAGmP,EAAEI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMimC,GAAG,CAAC,WAAW3mD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,CAACsgB,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,CAAC,EAAE,EAAEC,EAAEisB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI2B,EAAE/B,EAAEgC,EAAEwqB,GAAGtsB,EAAE,MAAMG,CAAC,EAAE,OAAO2B,EAAE,OAAO,IAAID,EAAEpF,GAAGoF,EAAEC,CAAC,GAAGzI,EAAEwI,EAAE7B,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI6B,EAAE/B,EAAEgC,EAAEwqB,GAAGpsB,EAAE,MAAMC,CAAC,EAAE,OAAO2B,EAAE,OAAO,IAAID,EAAEpF,GAAGoF,EAAEC,CAAC,GAAGzI,EAAEwI,EAAE3B,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAMkmC,GAAG,CAAC,WAAW3mD,GAAG,cAAc,GAAG,SAAS,CAACqgB,EAAE,IAAI,CAAC,IAAIE,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAACE,EAAEC,IAAI,CAACH,EAAEG,CAAC,EAAE,IAAIL,EAAE,MAAM,CAAC,CAAC,EAAEE,CAAC,CAAC,EAAMqmC,GAAG,CAAC,WAAWzmD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACkgB,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIV,GAAGU,CAAC,CAAC,CAAC,CAAC,EAAMsmC,GAAG,CAAC,WAAWzmD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACigB,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIV,GAAGU,CAAC,CAAC,CAAC,CAAC,EAAMumC,GAAG,CAAC,WAAWzmD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACggB,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIrP,GAAGmP,EAAE9D,GAAGQ,GAAG1C,GAAG,CAAC,EAAEmC,GAAGzN,GAAEwR,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMwmC,GAAG,CAAC,WAAWzmD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC+f,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAIE,EAAElE,GAAG,EAAElC,GAAG,CAAC,EAAEmC,GAAGzN,GAAEwR,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAOrP,GAAGmP,EAAEI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMumC,GAAG,CAAC,WAAWxmD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC6f,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,CAAC,EAAE,EAAEC,EAAEisB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI2B,EAAE,EAAE5F,GAAG+D,CAAC,EAAE/D,GAAGiE,CAAC,CAAC,EAAE4B,EAAEtL,EAAEsJ,EAAEnP,GAAGuP,EAAE2B,CAAC,CAAC,EAAEE,EAAEuqB,GAAGtsB,EAAE,MAAMG,CAAC,EAAE,OAAO4B,EAAE,OAAO,IAAID,EAAErF,GAAGqF,EAAEC,CAAC,GAAG1I,EAAEyI,EAAE9B,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI6B,EAAE,EAAE5F,GAAG+D,CAAC,EAAE/D,GAAGiE,CAAC,CAAC,EAAE4B,EAAEnL,GAAGH,EAAEsJ,EAAEnP,GAAGqP,EAAE6B,CAAC,CAAC,CAAC,EAAEE,EAAEuqB,GAAGpsB,EAAE,MAAMC,CAAC,EAAE,OAAO4B,EAAE,OAAO,IAAID,EAAErF,GAAGqF,EAAEC,CAAC,GAAG1I,EAAEyI,EAAE5B,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAMwmC,GAAG,CAAC,WAAW1mD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC8f,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIrP,GAAGmP,EAAE,EAAE7D,GAAGzN,GAAEwR,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAM2mC,GAAG,CAAC,WAAWzmD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC4f,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIrP,GAAGmP,EAAEtD,GAAG1C,GAAG,CAAC,EAAEmC,GAAGzN,GAAEwR,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS4mC,GAAG9mC,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,KAAK,eAAe,EAAE+B,EAAE2gB,EAAE,EAAE,QAAQ,eAAe,EAAE1gB,EAAE,EAAEC,EAAEF,EAAEW,EAAE,GAAGX,EAAE,OAAO,IAAIW,EAAE,GAAGV,EAAEzI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE0I,EAAE1I,EAAEwI,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAGuY,EAAEtY,EAAE,OAAO,EAAE,IAAI,0DAA0DA,EAAE,IAAI,GAAG,EAAEsY,EAAErY,EAAE,OAAO,EAAE,IAAI,6DAA6DA,EAAE,IAAI,GAAG,EAAEynB,GAAG,gBAAgBrpB,EAAE,CAAC,EAAE,IAAIsC,EAAE,CAAC,GAAGX,EAAE,MAAMC,CAAC,EAAEW,EAAE,CAAC,WAAW1C,EAAE,QAAQE,EAAE,IAAIC,EAAE,gBAAgB,CAAC,EAAEwC,EAAEgf,EAAE,UAAUthC,GAAGoiB,EAAEC,CAAC,EAAE,OAAOF,EAAEnJ,EAAEsJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAIkkC,GAAG3vC,EAAE,CAAC,eAAe0vC,EAAE,CAAC,EAAME,GAAG,CAAC,WAAW1mD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC0f,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,CAAC,WAAWC,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB0B,CAAC,EAAE7B,EAAE,MAAM,CAAC,EAAE,IAAI6mC,GAAG/mC,EAAEI,EAAEC,EAAE,EAAE,EAAE0B,CAAC,CAAC,CAAC,CAAC,EAAE,SAASklC,GAAGjnC,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,IAAI,EAAEqiB,EAAE1iB,EAAE,KAAK,aAAa,EAAE,EAAE0iB,EAAE,EAAE,QAAQ,aAAa,EAAEpI,EAAE,EAAE,OAAO,EAAE,KAAK,IAAI,kBAAkB,EAAE,IAAI,gCAAgC,EAAE,IAAI,GAAG,EAAE,IAAIvY,EAAE,EAAEC,EAAE,EAAEC,EAAE,GAAG,EAAE,OAAO,IAAIA,EAAE,GAAGF,EAAExI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEyI,EAAEzI,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG+gB,EAAEtY,EAAE,OAAO,EAAE,IAAI,wDAAwDA,EAAE,IAAI,GAAG,EAAEsY,EAAEvY,EAAE,OAAO,EAAE,IAAI,2DAA2DA,EAAE,IAAI,GAAG,EAAE,IAAIW,EAAE,CAAC,GAAGV,EAAE,MAAMD,CAAC,EAAEY,EAAE,CAAC,WAAWzC,EAAE,QAAQE,EAAE,IAAIC,CAAC,EAAEuC,EAAEif,EAAE,UAAUrhC,GAAGkiB,EAAEC,CAAC,EAAE,OAAOV,EAAE1I,EAAEqJ,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,IAAIskC,GAAG9vC,EAAE,CAAC,aAAa6vC,EAAE,CAAC,EAAME,GAAG,CAAC,WAAW9mD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC2f,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,CAAC,WAAWC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAEH,EAAE,MAAM,CAAC,EAAE,IAAIgnC,GAAGlnC,EAAEI,EAAEC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAM+mC,GAAG,CAAC,WAAW1mD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,CAACsf,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,EAAEC,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAEH,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI3K,GAAGyK,EAAEK,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI9K,GAAG6K,EAAEJ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAIzK,GAAGyK,EAAEK,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI9K,GAAGyK,EAAEI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI7K,GAAG8K,EAAEL,EAAE,GAAG,EAAE,EAAE,EAAE,IAAIzK,GAAG6K,EAAEJ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAIzK,GAAG8K,EAAEL,EAAE,GAAG,EAAE,EAAE,EAAE,IAAIzK,GAAGyK,EAAEI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAMinC,GAAG,CAAC,WAAW1mD,GAAG,SAAS,CAACqf,EAAE,EAAEE,IAAI,CAAC,GAAG,CAAC,WAAWE,EAAE,MAAMC,CAAC,EAAEH,EAAE,MAAM,CAAC,EAAE,IAAIrE,GAAGmE,EAAEI,EAAEC,CAAC,CAAC,CAAC,CAAC,EAAMinC,GAAG,CAAC,WAAWvmD,GAAG,SAAS,CAACif,EAAE,EAAEE,IAAI,CAAC,IAAIE,EAAEF,EAAEG,EAAED,EAAE,WAAW,EAAEA,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC,EAAE,QAAQ4B,EAAE3B,EAAE,OAAO,EAAE2B,GAAG,EAAEA,IAAI,GAAG3B,EAAE2B,CAAC,IAAI,EAAEA,CAAC,EAAE,EAAEA,CAAC,EAAE,UAAU3B,EAAE2B,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,mBAAmB3B,CAAC,6BAA6B,CAAC,IAAI,EAAE,IAAI0B,EAAE,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,EAAEA,CAAC,EAAE,GAAGD,EAAE,KAAKC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAIrF,GAAGqD,EAAE+B,EAAE,EAAE,CAAC,CAAC,CAAC,EAAMwlC,GAAG,CAAC,WAAWrmD,GAAG,SAAS8e,IAAI,CAAC,EAAE,IAAIA,EAAE,MAAM,CAAC,EAAE,EAAMwnC,GAAG,CAAC,WAAWrmD,GAAG,SAAS6e,IAAI,CAAC,EAAE,IAAIR,GAAGQ,CAAC,CAAC,EAAE,EAAMynC,GAAG,CAAC,WAAWrmD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC4e,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,CAAC,aAAaC,EAAE,aAAa,CAAC,EAAEH,EAAE,MAAM,CAAC,EAAE,IAAIb,GAAGpK,GAAG7B,GAAGgN,EAAEC,CAAC,EAAEhM,GAAG+L,EAAE,CAAC,CAAC,EAAEJ,EAAER,GAAGQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAM0nC,GAAG,CAAC,WAAWpmD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS4kD,GAAG,QAAQ,EAAMyB,GAAG,CAAC,WAAWpmD,GAAG,cAAc,GAAG,SAAS,CAACye,EAAE,EAAEE,IAAI,CAAC,IAAIE,EAAE,EAAE,IAAI4B,GAAGA,EAAE,KAAK,EAAE,CAAC,KAAK3B,CAAC,EAAEH,EAAE,EAAEkb,GAAG/a,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAED,EAAE,IAAI4B,GAAGA,EAAE,CAAC,CAAC,EAAE,OAAO/F,GAAG+D,EAAE,EAAE,CAAC,EAAE,IAAIgC,GAAG,IAAIA,CAAC,CAAC,CAAC,EAAM4lC,GAAG,CAAC,WAAWpmD,GAAG,aAAa,CAAC,IAAI,QAAQ,EAAE,SAAS,CAACwe,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,EAAEC,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI0B,EAAE,WAAWC,CAAC,EAAE9B,EAAE,OAAOoa,EAAEiP,GAAG,CAAC,EAAE,IAAI,iHAAiH,CAAC,GAAG,EAAE,CAAC,EAAE,IAAIgC,GAAGnrB,EAAE,MAAMJ,EAAEK,EAAE,EAAE0B,EAAEC,CAAC,EAAE,OAAO,IAAIk1B,GAAG92B,EAAEJ,EAAEK,EAAE,MAAM,EAAE0B,EAAEC,CAAC,CAAC,CAAC,CAAC,EAAM6lC,GAAG,CAAC,WAAWnmD,GAAG,aAAa,CAAC,KAAK,QAAQ,EAAE,SAAS,CAACse,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,EAAEC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW0B,EAAE,gBAAgBC,CAAC,EAAE9B,EAAE,MAAM,CAAC,GAAG,IAAI5Q,GAAG0Q,EAAEK,EAAE,EAAE,EAAE0B,EAAE,EAAEC,CAAC,EAAE,OAAO,IAAIk1B,GAAGl3B,EAAEI,EAAEC,EAAE,MAAM,EAAE,EAAE0B,EAAEC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS8lC,GAAG9nC,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,IAAI,EAAEL,EAAEA,EAAE,OAAO,IAAI,EAAEzG,EAAEyG,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,OAAO,IAAI,EAAEzG,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG+gB,EAAE,EAAE,OAAO,EAAE,IAAI,iEAAiE,EAAE,KAAK,GAAG,EAAEA,EAAE,EAAE,OAAO,EAAE,IAAI,8DAA8D,EAAE,KAAK,GAAG,EAAEA,EAAEpa,EAAE,SAAS,EAAE,IAAI,mEAAmEA,CAAC,GAAG,EAAEoa,EAAE,EAAE,MAAM,CAAC,IAAIpa,EAAE,CAAC,EAAE,IAAI,4CAA4C,EAAE,MAAM,CAAC,CAAC,uCAAuCA,EAAE,CAAC,CAAC,GAAG,EAAEoa,EAAE,EAAE,MAAM,CAAC,IAAIpa,EAAE,CAAC,EAAE,IAAI,0CAA0C,EAAE,MAAM,CAAC,CAAC,yCAAyCA,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI6B,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAEC,EAAE,CAAC,QAAQ5B,EAAE,IAAIC,EAAE,YAAYH,CAAC,EAAE,OAAO2hB,EAAE,UAAUjgC,GAAGmgB,EAAEC,CAAC,CAAC,CAAC,IAAI+lC,GAAG3wC,EAAE,CAAC,sBAAsB0wC,EAAE,CAAC,EAAME,GAAG,CAAC,WAAWrmD,GAAG,aAAa,CAAC,IAAI,QAAQ,EAAE,SAAS,CAACqe,EAAE,EAAEE,IAAI,CAAC,GAAG,CAAC,UAAUE,EAAE,QAAQC,EAAE,IAAI,CAAC,EAAEH,EAAEoa,EAAEiP,GAAGnpB,CAAC,EAAE,IAAI,iHAAiHA,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE2B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI4pB,GAAG,EAAE,MAAM3rB,EAAE+B,EAAE1B,EAAE,CAAC,EAAE,OAAO,IAAI0nC,GAAG,EAAE/nC,EAAE+B,EAAE,MAAM1B,EAAE,CAAC,CAAC,CAAC,CAAC,EAAM4nC,GAAG,CAAC,WAAWnmD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACke,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAEG,GAAGsE,GAAGzM,GAAEwR,EAAE,SAAS,CAAC,CAAC,EAAEF,CAAC,CAAC,CAAC,CAAC,EAAMkoC,GAAG,CAAC,WAAWnmD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACie,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAE0E,GAAG1M,GAAEwR,EAAE,SAAS,CAAC,EAAEF,CAAC,CAAC,CAAC,CAAC,EAAMmoC,GAAG,CAAC,WAAWjmD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC8d,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,CAAC,KAAKC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAEH,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI6B,EAAEwrB,GAAG,CAACltB,CAAC,EAAED,EAAE,IAAI,EAAE4B,EAAEjS,GAAGiQ,EAAEK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO0B,GAAG,OAAOC,EAAElE,GAAGkE,EAAED,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,EAAMomC,GAAG,CAAC,WAAW7lD,GAAG,aAAa,CAAC,IAAI,QAAQ,EAAE,SAAS,CAACyd,EAAE,EAAEE,IAAI,CAAC,GAAG,CAAC,UAAUE,EAAE,QAAQC,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAEH,EAAE6B,EAAE3B,GAAG,KAAK,CAAC,EAAE,CAAC,EAAEA,EAAEka,EAAEiP,GAAGxnB,CAAC,EAAE,IAAI,mHAAmHA,CAAC,GAAG,EAAE,GAAG,CAACC,EAAEC,CAAC,EAAE,EAAE,OAAOqY,EAAEtY,EAAE,OAAO,EAAE,IAAI,kFAAkFA,EAAE,IAAI,GAAG,EAAEsY,EAAErY,EAAE,OAAO,EAAE,IAAI,mFAAmFA,EAAE,IAAI,GAAG,EAAEqY,EAAEtY,EAAE,MAAM,CAAC,IAAIC,EAAE,MAAM,CAAC,EAAE,IAAI,mEAAmED,EAAE,MAAM,CAAC,CAAC,mDAAmDC,EAAE,MAAM,CAAC,CAAC,GAAG,EAAEqY,EAAEkP,GAAGnpB,EAAE0B,CAAC,EAAE,IAAI,6FAA6F1B,CAAC,mBAAmB0B,CAAC,IAAI,EAAE2nB,GAAG,kBAAkB,EAAE,CAAC,EAAE,CAAC,EAAE,IAAIiO,GAAG31B,EAAE,MAAMhC,EAAEiC,EAAE5B,EAAE,EAAE0B,EAAE,CAAC,EAAE,OAAO,IAAI01B,GAAGz1B,EAAEhC,EAAEiC,EAAE,MAAM5B,EAAE,EAAE0B,EAAE,CAAC,CAAC,CAAC,CAAC,EAAMsmC,GAAG,CAAC,WAAW1lD,GAAG,aAAa,CAAC,IAAI,QAAQ,EAAE,SAAS,CAACqd,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,EAAEC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAED,EAAE,OAAOC,EAAE,GAAGL,CAAC,EAAE,EAAE,CAAC,EAAEI,EAAE,OAAOC,EAAE,GAAGL,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI6hB,EAAE,UAAUh/B,GAAG,EAAEqd,CAAC,EAAE,OAAO,IAAI2hB,EAAE,UAAUj/B,GAAG,EAAEsd,CAAC,CAAC,CAAC,CAAC,EAAMooC,GAAG,CAAC,WAAWplD,GAAG,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC8c,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAEE,EAAE,CAAC,GAAGJ,EAAE,EAAEE,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI2hB,EAAE,UAAU1+B,GAAGid,CAAC,CAAC,CAAC,CAAC,EAAMmoC,GAAG,CAAC,WAAWjlD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC0c,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAEE,EAAE1J,EAAE9E,GAAGiF,GAAGsF,GAAG+D,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAEsJ,EAAEI,CAAC,CAAC,CAAC,CAAC,EAAMooC,GAAG,CAAC,WAAWjlD,GAAG,cAAc,CAAC,EAAE,EAAE,SAAS,CAACyc,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAEsJ,EAAEE,CAAC,CAAC,CAAC,CAAC,EAAMuoC,GAAG,CAAC,WAAWjlD,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,CAACwc,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI3G,EAAEyG,EAAEE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAMwoC,GAAG,CAAC,WAAWjlD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACuc,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAEsJ,EAAEpO,GAAGsO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMyoC,GAAG,CAAC,WAAW9kD,GAAG,SAASmc,IAAI,CAAC,EAAE,IAAIR,GAAGQ,CAAC,CAAC,EAAE,EAAM4oC,GAAG,CAAC,WAAW9kD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,CAACkc,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,CAAC,EAAE,EAAEC,EAAEisB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI2B,EAAElR,GAAGmP,EAAEtR,GAAE0R,EAAE,SAAS,CAAC,EAAE4B,EAAEwqB,GAAGtsB,EAAE,MAAMG,CAAC,EAAE,OAAO2B,EAAE,OAAO,EAAEzI,EAAEoD,GAAGoF,EAAEC,CAAC,EAAE9B,EAAE,KAAK,EAAE6B,CAAC,EAAE,EAAE,IAAI,CAAC,IAAIA,EAAErL,EAAEsJ,EAAEtR,GAAEwR,EAAE,SAAS,CAAC,EAAE8B,EAAEwqB,GAAGpsB,EAAE,MAAMC,CAAC,EAAE2B,EAAE,OAAO,IAAID,EAAExI,EAAEoD,GAAGoF,EAAEC,CAAC,EAAE5B,EAAE,KAAK,GAAG,IAAI6B,EAAE9F,GAAGiE,CAAC,EAAE,OAAOvJ,GAAGhG,GAAGkR,EAAErT,GAAEuT,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAM4mC,GAAG,CAAC,WAAW7kD,GAAG,aAAa,CAAC,IAAI,OAAO,WAAW,OAAO,EAAE,SAAS,CAACgc,EAAE,EAAEE,IAAI,CAAC,GAAG,CAAC,gBAAgBE,CAAC,EAAEF,EAAE,CAACG,EAAE,EAAE,EAAE0B,CAAC,EAAE,EAAEC,EAAED,GAAG,KAAK/H,GAAG,CAAC,EAAE+H,EAAEE,EAAEuqB,GAAG,EAAE,MAAMnsB,EAAE,KAAK,EAAEqC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,QAAQgC,EAAE,EAAEA,EAAErE,EAAE,MAAM,OAAO,EAAE,EAAEqE,EAAEhC,EAAE,KAAKrC,EAAE,MAAMqE,CAAC,CAAC,EAAEhC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAIC,EAAEjG,GAAG2D,EAAE,CAAC,EAAEuC,EAAElM,EAAEsJ,EAAEgC,CAAC,EAAEa,EAAE9I,GAAG,EAAE,EAAEC,GAAGoG,CAAC,CAAC,CAAC,EAAE0C,EAAEpM,EAAEA,EAAEA,EAAEmM,EAAEA,CAAC,EAAEA,CAAC,EAAE7I,GAAG,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAET,EAAE7C,EAAEA,EAAEsJ,EAAEtC,GAAGnE,EAAEsJ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEH,CAAC,CAAC,EAAEV,CAAC,EAAE3B,EAAE,KAAK,EAAE9G,EAAE7C,EAAEA,EAAEsJ,EAAE6C,CAAC,EAAEb,CAAC,EAAE3B,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,IAAIqE,EAAEhO,EAAEA,EAAEmM,EAAE7I,GAAG,EAAE,CAAC,EAAE4I,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI8B,EAAE/H,GAAG+H,EAAEzC,CAAC,GAAG1I,EAAEmL,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,IAAI,CAAC,IAAIA,EAAEhO,EAAEA,EAAEoM,EAAEH,CAAC,EAAEC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI8B,EAAE/H,GAAG+H,EAAEzC,CAAC,GAAG1I,EAAEmL,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,IAAIA,EAAEhO,EAAEiM,EAAEE,CAAC,EAAE8B,EAAEjO,EAAEsJ,EAAE0E,CAAC,EAAE,OAAO,EAAE,OAAO,IAAIC,EAAEhI,GAAGgI,EAAE1C,CAAC,GAAG1I,EAAEoL,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC,IAAID,EAAE1E,EAAE,OAAO,EAAE,OAAO,IAAI0E,EAAE/H,GAAG+H,EAAEzC,CAAC,GAAG1I,EAAEmL,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAMokC,GAAG,CAAC,WAAWzkD,GAAG,aAAa,CAAC,IAAI,SAAS,EAAE,SAAS,CAAC2b,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,EAAEC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAEH,EAAE6B,EAAEqZ,GAAG,EAAEhb,EAAE,KAAK,EAAE,CAAC,EAAE4B,EAAE,CAACC,EAAES,EAAEC,IAAI,IAAI,CAAC,IAAIC,EAAEX,EAAE,MAAMY,EAAEH,EAAE,KAAKI,EAAEF,EAAE,MAAM,EAAEb,CAAC,EAAEiC,EAAElB,EAAE,OAAO,EAAEF,EAAE,MAAM,EAAEA,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE0E,EAAE,EAAE,OAAOxC,EAAEikC,GAAG,EAAE/kC,CAAC,EAAES,EAAEskC,GAAG/kC,EAAE,EAAEA,EAAE,EAAEsD,CAAC,EAAE5C,EAAEskC,GAAG,CAAClmC,EAAE,CAACD,CAAC,EAAE,CAAC,CAAC,EAAE8B,EAAEpL,EAAEoJ,EAAE+B,CAAC,EAAEE,EAAErL,EAAEmJ,EAAE,CAACG,CAAC,CAAC,EAAEgC,EAAEmkC,GAAG,CAAC,CAAChlC,CAAC,EAAEc,EAAEL,CAAC,CAAC,EAAE8C,EAAEzJ,GAAG6G,EAAEE,CAAC,EAAE,EAAE1G,GAAGoJ,EAAE3C,EAAE3C,EAAE,MAAMF,CAAC,CAAC,EAAEiD,EAAEwoB,GAAG3oB,CAAC,EAAE,OAAO,EAAE/G,GAAG,EAAEkH,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI/C,EAAE7B,EAAE,MAAM,CAAC,EAAEsC,EAAEtC,EAAE,MAAM6B,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI3F,GAAGoG,EAAE,IAAI,CAACG,EAAEC,IAAId,EAAEa,EAAExC,EAAE,MAAMyC,EAAE,CAAC,EAAE9C,EAAE,MAAM8C,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ1C,EAAE,KAAK,EAAE,QAAQ,IAAIC,CAAC,CAAC,KAAM,OAAM,CAAC,EAAE2B,EAAE5B,EAAEC,EAAEL,CAAC,EAAE,QAAQ,IAAIK,CAAC,CAAC,CAAC,EAAE,SAAS0oC,GAAG/oC,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQE,EAAEJ,EAAEI,EAAE,EAAE,EAAEA,EAAEF,EAAE,KAAKE,CAAC,EAAE,OAAOF,CAAC,CAAC,SAAS8oC,GAAGhpC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAO,EAAEE,EAAE,QAAQE,EAAE,EAAEA,EAAEJ,EAAEE,CAAC,EAAE,OAAO,EAAEE,EAAE,EAAE,KAAKJ,EAAEE,CAAC,EAAEE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI6oC,GAAG,CAAC,WAAWzkD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,CAACwb,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIZ,GAAGU,CAAC,EAAE,EAAE,IAAIV,GAAGY,CAAC,CAAC,CAAC,CAAC,EAAM8oC,GAAG,CAAC,WAAWvkD,GAAG,SAASqb,IAAI,CAAC,EAAE,IAAItR,GAAEsR,EAAE,SAAS,CAAC,EAAE,EAAMmpC,GAAG,CAAC,WAAWrkD,GAAG,SAASkb,IAAI,CAAC,EAAE,IAAIR,GAAGQ,CAAC,CAAC,EAAE,EAAMopC,GAAG,CAAC,WAAWrkD,GAAG,SAASib,IAAI,CAAC,EAAE,IAAIR,GAAGQ,CAAC,CAAC,EAAE,EAAMqpC,GAAG,CAAC,WAAWrkD,GAAG,SAASgb,IAAI,CAAC,EAAE,IAAIR,GAAGQ,CAAC,CAAC,EAAE,EAAMspC,GAAG,CAAC,WAAWhkD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC0a,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,CAAC,MAAMC,CAAC,EAAEH,EAAE,EAAE/M,GAAGiN,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,IAAIf,GAAG,EAAEW,EAAEtJ,EAAEsJ,EAAEK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMkpC,GAAG,CAAC,WAAW5jD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACqa,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIrP,GAAGmP,EAAE,EAAEE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMspC,GAAG,CAAC,WAAW9jD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACsa,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIrP,GAAGmP,EAAEtR,GAAEwR,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAMupC,GAAG,CAAC,WAAW7jD,GAAG,aAAa,CAAC,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAACoa,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,CAAC,KAAKC,CAAC,EAAEH,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI4B,EAAElQ,GAAGwO,CAAC,EAAE,OAAO1D,GAAGsD,EAAEtJ,EAAEiG,GAAGqD,EAAEK,EAAE,EAAE,EAAEyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS4nC,GAAG1pC,EAAE,EAAEE,EAAEE,EAAE,EAAEC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI0B,EAAE,CAAC,EAAE/B,EAAE,EAAE,EAAE,GAAGE,CAAC,EAAE8B,EAAE,CAAC,YAAY5B,EAAE,KAAKC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAOwhB,EAAE,UAAU18B,GAAG4c,EAAEC,CAAC,CAAC,CAAC,IAAI2nC,GAAGvyC,EAAE,CAAC,oCAAoCsyC,EAAE,CAAC,EAAME,GAAG,CAAC,WAAW1kD,GAAG,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC8a,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,EAAEC,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM0B,EAAE,KAAKC,CAAC,EAAE9B,EAAE,MAAM,CAAC,EAAE,IAAIypC,GAAGvpC,EAAEC,EAAEL,EAAE,EAAE,EAAE+B,EAAEC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS6nC,GAAG7pC,EAAE,EAAEE,EAAEE,EAAE,CAAC,OAAO,EAAE,KAAKF,EAAE,OAAO,EAAE3G,EAAE,EAAE8zB,GAAG,EAAE,MAAMjtB,CAAC,CAAC,GAAGJ,EAAE,KAAKE,EAAE,OAAOF,EAAEzG,EAAEyG,EAAEqtB,GAAGrtB,EAAE,MAAMI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI1J,EAAEsJ,EAAEtR,GAAE+C,GAAGyO,EAAE,CAAC,EAAEF,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI8pC,GAAG,CAAC,WAAWzjD,GAAG,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC2Z,EAAE,EAAEE,IAAI,CAAC,IAAIE,EAAEF,EAAE,CAAC,iBAAiBG,CAAC,EAAED,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE2B,EAAEqZ,GAAG/a,EAAE,EAAE,KAAK,EAAE2B,EAAE6nC,GAAG7pC,EAAE,EAAE,EAAE+B,CAAC,EAAE,MAAM,CAAC,EAAE,IAAIC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAM+nC,GAAG,CAAC,WAAWpjD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,CAACqZ,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI1J,EAAEsJ,EAAEtR,GAAE0E,GAAG8M,EAAEE,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI1J,EAAEsJ,EAAEtR,GAAE0F,GAAG8L,EAAEE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS4pC,GAAGhqC,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE,CAAC,IAAI0B,EAAE2gB,EAAE1iB,EAAE,KAAK,eAAe,EAAEgC,EAAE0gB,EAAE,EAAE,QAAQ,eAAe,EAAEzgB,EAAEygB,EAAExiB,EAAE,SAAS,eAAe,EAAEwC,EAAEX,EAAEY,EAAEX,EAAEY,EAAEX,EAAEY,EAAE,GAAGb,EAAE,OAAO,IAAIa,EAAE,GAAGH,EAAEnJ,EAAEwI,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEY,EAAEpJ,EAAEyI,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEY,EAAErJ,EAAE0I,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,GAAGqY,EAAE5X,EAAE,OAAO,EAAE,IAAI,0DAA0DA,EAAE,IAAI,GAAG,EAAE4X,EAAE3X,EAAE,OAAO,EAAE,IAAI,6DAA6DA,EAAE,IAAI,GAAG,EAAE2X,EAAE1X,EAAE,OAAO,EAAE,IAAI,8DAA8DA,EAAE,IAAI,GAAG,EAAE8mB,GAAG,gBAAgB,EAAE,CAAC,EAAE,IAAI5mB,EAAE,CAAC,GAAGJ,EAAE,MAAMC,EAAE,OAAOC,CAAC,EAAEoB,EAAE,CAAC,WAAW5D,EAAE,QAAQC,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,EAAEwhB,EAAE,UAAUr7B,GAAGsc,EAAEkB,CAAC,EAAE,OAAOnB,EAAEtJ,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI0wC,GAAG7yC,EAAE,CAAC,eAAe4yC,EAAE,CAAC,EAAME,GAAG,CAAC,WAAW3jD,GAAG,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAACyZ,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,EAAEC,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI0B,EAAE,gBAAgBC,CAAC,EAAE9B,EAAE,MAAM,CAAC,EAAE,IAAI+pC,GAAGjqC,EAAEI,EAAEC,EAAE,EAAE,EAAE0B,EAAEC,CAAC,CAAC,CAAC,CAAC,EAAE,SAASmoC,GAAGnqC,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE,CAAC,IAAI0B,EAAE2gB,EAAE1iB,EAAE,KAAK,aAAa,EAAEgC,EAAE0gB,EAAE,EAAE,QAAQ,aAAa,EAAEzgB,EAAEygB,EAAExiB,EAAE,SAAS,aAAa,EAAEoa,EAAEtY,EAAE,OAAOD,EAAE,KAAK,IAAI,kBAAkBC,EAAE,IAAI,gCAAgCD,EAAE,IAAI,GAAG,EAAEuY,EAAEvY,EAAE,OAAO,EAAE,IAAI,wDAAwDA,EAAE,IAAI,GAAG,EAAEuY,EAAEtY,EAAE,OAAO,EAAE,IAAI,2DAA2DA,EAAE,IAAI,GAAG,EAAE0nB,GAAG,cAAc,EAAE,CAAC,EAAE,IAAIhnB,EAAE,CAAC,GAAGX,EAAE,MAAMC,EAAE,OAAOC,CAAC,EAAEU,EAAE,CAAC,WAAWvC,EAAE,QAAQC,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,OAAOwhB,EAAE,UAAUp7B,GAAGic,EAAEC,CAAC,CAAC,CAAC,IAAIynC,GAAGhzC,EAAE,CAAC,aAAa+yC,EAAE,CAAC,EAAME,GAAG,CAAC,WAAW/jD,GAAG,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC0Z,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,EAAEC,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI0B,CAAC,EAAE7B,EAAE,MAAM,CAAC,EAAE,IAAIkqC,GAAGpqC,EAAEI,EAAEC,EAAE,EAAE,EAAE0B,CAAC,CAAC,CAAC,CAAC,EAAMuoC,GAAG,CAAC,WAAW1jD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACoZ,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,CAAC,KAAKC,CAAC,EAAEH,EAAE,EAAEkb,GAAG/a,EAAED,EAAE,KAAK,EAAE2B,EAAEqrB,GAAGhtB,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE4B,EAAE0Y,GAAG3Y,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAIW,EAAEtC,EAAE,MAAM,MAAM,EAAE,EAAE,QAAQyC,GAAG,CAACH,EAAEG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAIF,EAAEpJ,EAAEyG,EAAE0C,CAAC,EAAE,OAAO7R,GAAG6F,EAAEiM,EAAEzL,GAAGkJ,EAAE,MAAM,SAAS,CAAC,EAAE4B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMuoC,GAAG,CAAC,WAAW1jD,GAAG,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAACmZ,EAAE,EAAEE,IAAI,CAAC,IAAIE,EAAEF,EAAE,CAAC,KAAKG,CAAC,EAAED,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE2B,EAAEqZ,GAAG/a,EAAE,EAAE,KAAK,EAAE2B,EAAE6nC,GAAG7pC,EAAE,EAAE,EAAE+B,CAAC,EAAE,MAAM,CAAC,EAAE,IAAIC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAMwoC,GAAG,CAAC,WAAW1jD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,CAACkZ,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI1J,EAAEsJ,EAAEtR,GAAE2F,GAAG6L,EAAEE,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI1J,EAAEsJ,EAAEtR,GAAEyE,GAAG+M,EAAEE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAMqqC,GAAG,CAAC,WAAW1jD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACiZ,EAAE,EAAEE,IAAI,CAAC,IAAIE,EAAE,EAAE,CAAC,EAAE,CAAC,SAASC,CAAC,EAAEH,EAAE,EAAEG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAIhF,GAAG2E,EAAE,EAAEI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAMsqC,GAAG,CAAC,WAAW1jD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,CAACgZ,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,CAAC,EAAE,EAAEC,EAAEisB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI2B,EAAEyqB,GAAGtsB,EAAE,MAAMG,CAAC,EAAE,OAAO0B,EAAE,OAAO,EAAExI,EAAEoD,GAAGqD,EAAE+B,CAAC,EAAE7B,EAAE,KAAK,EAAEF,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI+B,EAAErL,EAAEsJ,EAAEnJ,GAAGzE,GAAGvB,GAAGqP,EAAEE,CAAC,CAAC,CAAC,CAAC,EAAE4B,EAAEwqB,GAAGpsB,EAAE,MAAMC,CAAC,EAAE,OAAO2B,EAAE,OAAO,EAAEzI,EAAEoD,GAAGoF,EAAEC,CAAC,EAAE5B,EAAE,KAAK,EAAE2B,CAAC,CAAC,CAAC,CAAC,EAAM4oC,GAAG,CAAC,WAAWxjD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC6Y,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,CAAC,EAAE,EAAEC,EAAEisB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI2B,EAAErL,EAAEsJ,EAAEtR,GAAE0R,EAAE,SAAS,CAAC,EAAE4B,EAAEwqB,GAAGtsB,EAAE,MAAMG,CAAC,EAAE,OAAO2B,EAAE,OAAO,EAAEzI,EAAEoD,GAAGoF,EAAEC,CAAC,EAAE9B,EAAE,KAAK,EAAE6B,CAAC,EAAE,EAAE,IAAI,CAAC,IAAIA,EAAErL,EAAEsJ,EAAEtR,GAAEwR,EAAE,SAAS,CAAC,EAAE8B,EAAEwqB,GAAGpsB,EAAE,MAAMC,CAAC,EAAE,OAAO2B,EAAE,OAAO,EAAEzI,EAAEoD,GAAGoF,EAAEC,CAAC,EAAE5B,EAAE,KAAK,EAAE2B,CAAC,CAAC,CAAC,CAAC,EAAM6oC,GAAG,CAAC,WAAWxjD,GAAG,SAAS4Y,IAAI,CAAC,EAAE,IAAInJ,GAAGmJ,CAAC,CAAC,EAAE,EAAM6qC,GAAG,CAAC,WAAWnjD,GAAG,aAAa,CAAC,SAAS,EAAE,SAAS,CAACsY,EAAE,IAAI,CAAC,IAAIE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,IAAIX,GAAGW,EAAE,MAAM,SAAS,CAAC,CAAC,CAAC,EAAM4qC,GAAG,CAAC,WAAWnjD,GAAG,SAASqY,IAAI,CAAC,EAAE,IAAIR,GAAGQ,CAAC,CAAC,EAAE,EAAM+qC,GAAG,CAAC,WAAWjjD,GAAG,cAAc,GAAG,SAAS,CAACkY,EAAE,EAAEE,IAAI,CAAC,GAAG,CAAC,KAAKE,CAAC,EAAEF,EAAE,OAAO9B,GAAG4B,EAAEI,CAAC,EAAE,IAAIyB,GAAG,IAAIA,CAAC,CAAC,CAAC,EAAMmpC,GAAG,CAAC,WAAWjjD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACiY,EAAE,EAAEE,IAAI,CAAC,IAAIE,EAAE,EAAE,CAAC,EAAE,CAAC,SAASC,CAAC,EAAEH,EAAE,EAAEG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAIhF,GAAG2E,EAAE,EAAEI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAM6qC,GAAG,CAAC,WAAWhjD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC+X,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,EAAEC,CAAC,EAAE,EAAE,EAAEH,EAAE,EAAEE,EAAE2B,EAAEuqB,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI5pB,EAAEhU,GAAE,EAAE,SAAS,EAAEiU,EAAEjM,EAAEsJ,EAAEtJ,EAAEgM,EAAE9K,GAAG,EAAE8E,GAAGgG,EAAE1I,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE4I,EAAE4pB,GAAG,EAAE,MAAMzqB,CAAC,EAAE,OAAOa,EAAE,OAAO,IAAID,EAAEhG,GAAGgG,EAAEC,CAAC,GAAGrJ,EAAEoJ,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,IAAID,EAAEvP,GAAG,EAAE,CAAC,EAAEwP,EAAEtD,GAAGqD,EAAE9N,GAAG,CAAC,EAAE4K,GAAG,CAAC,CAAC,EAAEoD,EAAElM,EAAEsJ,EAAEtJ,EAAE2J,EAAEsC,CAAC,CAAC,EAAEE,EAAE2pB,GAAG,EAAE,MAAMzqB,CAAC,EAAE,OAAOc,EAAE,OAAO,IAAID,EAAEjG,GAAGiG,EAAEC,CAAC,GAAGtJ,EAAEqJ,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAMsoC,GAAG,CAAC,WAAWhjD,GAAG,aAAa,CAAC,IAAI,OAAO,EAAE,SAAS,CAAC8X,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,CAAC,EAAE,EAAEC,EAAElN,GAAG+M,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,IAAIb,GAAGgB,EAAEL,EAAEtJ,EAAEsJ,EAAEI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,IAAI,EAAEf,GAAGgB,EAAEb,GAAGQ,CAAC,EAAEtJ,EAAEsJ,EAAEE,CAAC,CAAC,EAAE,EAAEssB,GAAGpsB,EAAE,MAAMJ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,IAAI,EAAErD,GAAG,EAAE,CAAC,GAAGpD,EAAE,EAAE6G,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS+qC,GAAGnrC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEJ,EAAE,MAAM,MAAM,EAAEI,EAAEF,CAAC,EAAE,EAAE,IAAIG,EAAE9G,EAAE,EAAE6G,CAAC,EAAE,EAAEtQ,GAAGkQ,EAAEE,EAAE,GAAG,EAAE,EAAE,EAAEpQ,GAAGkQ,EAAEE,EAAE,GAAG,EAAE,EAAE6B,EAAErL,EAAE,EAAE,CAAC,EAAE,OAAOA,EAAE2J,EAAE0B,CAAC,CAAC,CAAC,SAASqpC,GAAGprC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEJ,EAAE,MAAM,OAAOK,EAAED,EAAEF,EAAE,OAAO,EAAExS,EAAE,mBAAmBwS,EAAEE,CAAC,EAAE,EAAEJ,EAAE,GAAG,OAAO,EAAElC,GAAGkC,EAAE,CAAC,GAAG,IAAI+B,EAAE,EAAE,MAAM,MAAM,EAAE,EAAEA,EAAE,OAAO3B,EAAEF,EAAE,OAAOA,EAAE,MAAM,EAAE,OAAO,CAAC0C,EAAEC,IAAID,EAAEC,EAAE,CAAC,EAAEd,EAAE,KAAK,CAAC,EAAE,IAAIW,EAAE,EAAE,QAAQX,CAAC,EAAE,EAAEopC,GAAGzoC,EAAE,EAAErC,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAIuC,EAAElV,EAAE,uBAAuB,CAAC,EAAE,EAAEoQ,GAAG,EAAE8E,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAIyoC,GAAG,CAAC,WAAWljD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC6X,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,CAAC,KAAKC,CAAC,EAAEH,EAAE,EAAE,CAAC,EAAE,OAAOG,GAAG,KAAK,EAAED,EAAE,MAAM,IAAI,CAAC,EAAE2B,IAAIA,CAAC,EAAE,OAAO1B,GAAG,SAAS,EAAE,CAACA,CAAC,EAAE,EAAEA,EAAE,CAAC,EAAE,IAAI+qC,GAAGhrC,EAAEJ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAMsrC,GAAG,CAAC,WAAW1iD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,CAACoX,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,CAAC,EAAE,EAAEC,EAAEisB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI2B,EAAElR,GAAGmP,EAAEtR,GAAE0R,EAAE,SAAS,CAAC,EAAE4B,EAAEwqB,GAAGtsB,EAAE,MAAMG,CAAC,EAAE,OAAO2B,EAAE,OAAO,EAAEzI,EAAEoD,GAAGoF,EAAEC,CAAC,EAAE9B,EAAE,KAAK,EAAE6B,CAAC,EAAE,EAAE,IAAI,CAAC,IAAIA,EAAErL,EAAEsJ,EAAEtR,GAAEwR,EAAE,SAAS,CAAC,EAAE8B,EAAEwqB,GAAGpsB,EAAE,MAAMC,CAAC,EAAE2B,EAAE,OAAO,IAAID,EAAExI,EAAEoD,GAAGoF,EAAEC,CAAC,EAAE5B,EAAE,KAAK,GAAG,IAAI6B,EAAE9F,GAAGiE,CAAC,EAAE,OAAOvJ,GAAGhG,GAAGkR,EAAErT,GAAEuT,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMspC,GAAG,CAAC,WAAW1iD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACmX,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIrP,GAAGmP,EAAEnJ,GAAGsF,GAAG+D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMsrC,GAAG,CAAC,WAAWxiD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACgX,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAEE,EAAE1J,EAAErC,GAAG6L,EAAE,CAAC,EAAE3D,GAAG2D,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAEsJ,EAAEtR,GAAE0R,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAMqrC,GAAG,CAAC,WAAW1iD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACiX,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAEsJ,EAAEtR,GAAE6N,GAAG2D,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAMwrC,GAAG,CAAC,WAAWziD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC+W,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI3G,EAAEyG,EAAEE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAMyrC,GAAG,CAAC,WAAWziD,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC8W,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAEC,EAAE,CAAC,GAAGL,EAAE,OAAOI,CAAC,EAAE,MAAM,CAAC,OAAO,IAAIyhB,EAAE,UAAU14B,GAAGkX,EAAEH,CAAC,CAAC,CAAC,CAAC,EAAM0rC,GAAG,CAAC,WAAWxiD,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC4W,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAEC,EAAE,CAAC,GAAGL,EAAE,OAAOI,CAAC,EAAE,MAAM,CAAC,OAAO,IAAIyhB,EAAE,UAAUx4B,GAAGgX,EAAEH,CAAC,CAAC,CAAC,CAAC,EAAM2rC,GAAG,CAAC,WAAWviD,GAAG,SAAS,CAAC0W,EAAE,EAAEE,IAAI,CAAC,GAAG,CAAC,KAAKE,CAAC,EAAEF,EAAEG,EAAE+a,GAAGhb,EAAEJ,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,IAAIxG,GAAGwG,EAAEK,CAAC,CAAC,CAAC,CAAC,EAAMyrC,GAAG,CAAC,WAAWtiD,GAAG,SAASwW,IAAI,CAAC,EAAE,IAAIR,GAAGQ,CAAC,CAAC,EAAE,EAAM+rC,GAAG,CAAC,WAAWtiD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACuW,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIrJ,GAAGhG,GAAGmP,EAAEtJ,EAAEkB,GAAGsI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAM8rC,GAAG,CAAC,WAAWniD,GAAG,aAAa,CAAC,WAAW,EAAE,SAAS,CAACmW,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,IAAIxR,GAAE8Q,GAAGU,CAAC,EAAE,SAAS,EAAE,EAAE,IAAIxJ,EAAEsJ,EAAEtR,GAAEwR,EAAEF,EAAE,KAAK,CAAC,EAAE,EAAE,IAAItJ,EAAEsJ,EAAEtR,GAAEwG,GAAGgL,CAAC,EAAEF,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAMisC,GAAG,CAAC,WAAWniD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACkW,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAIE,EAAEjN,GAAG+M,EAAElG,GAAG,CAAC,CAAC,EAAEqG,EAAErG,GAAG+oC,EAAE,EAAE,EAAE/oC,GAAG8oC,EAAE,EAAE,EAAEpsC,EAAEsJ,EAAE,CAAC,EAAE+B,EAAErL,EAAEA,EAAEsJ,EAAEK,CAAC,EAAEzO,GAAGlD,GAAEwR,EAAE,SAAS,CAAC,CAAC,EAAE,OAAOb,GAAGe,EAAE,EAAE2B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMmqC,GAAG,CAAC,WAAWliD,GAAG,cAAc,CAAC,EAAE,EAAE,SAAS,CAACgW,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAEsJ,EAAEtJ,EAAEwJ,EAAExD,GAAG1C,GAAG,CAAC,EAAEkG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMisC,GAAG,CAAC,WAAWliD,GAAG,SAAS+V,IAAI,CAAC,EAAE,IAAIR,GAAGQ,CAAC,CAAC,EAAE,EAAMosC,GAAG,CAAC,WAAWliD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC8V,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAE/G,GAAGjB,GAAEwR,EAAE,SAAS,CAAC,EAAEF,CAAC,CAAC,CAAC,CAAC,EAAMqsC,GAAG,CAAC,WAAWliD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC6V,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAE9G,GAAGlB,GAAEwR,EAAE,SAAS,CAAC,EAAEF,CAAC,CAAC,CAAC,CAAC,EAAMssC,GAAG,CAAC,WAAWliD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC4V,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,CAAC,MAAMC,EAAE,KAAK,CAAC,EAAEH,EAAE,EAAEE,EAAE,MAAM,CAAC2B,EAAEC,CAAC,EAAEu/B,GAAGnhC,EAAEC,EAAE,CAAC,EAAE4B,EAAE,CAAC,EAAE,QAAQS,EAAE,EAAEA,EAAE1C,EAAE,KAAK0C,IAAIT,EAAE,KAAK,CAACF,EAAEW,CAAC,EAAE,EAAEA,CAAC,EAAEX,EAAEW,CAAC,EAAEV,EAAEU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAIpL,GAAG0I,EAAEiC,CAAC,CAAC,CAAC,CAAC,EAAMsqC,GAAG,CAAC,WAAWliD,GAAG,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC2V,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,CAAC,IAAIC,CAAC,EAAEH,EAAE,EAAE,GAAG,EAAExJ,EAAEsJ,EAAEI,CAAC,EAAE,MAAM,CAAC,OAAO,IAAI1D,GAAG,EAAEhG,EAAEiG,GAAG,EAAE,CAAC0D,CAAC,EAAE,CAAC,EAAED,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMosC,GAAG,CAAC,WAAWliD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC0V,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAEsJ,EAAEhF,GAAGkF,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMusC,GAAG,CAAC,WAAWliD,GAAG,SAAS,CAACyV,EAAE,EAAEE,IAAI,CAAC,GAAG,CAAC,WAAWE,EAAE,SAASC,CAAC,EAAEH,EAAE,MAAM,CAAC,EAAE,IAAIlS,GAAGgS,EAAEI,EAAEC,CAAC,CAAC,CAAC,CAAC,EAAMqsC,GAAG,CAAC,WAAW7hD,GAAG,SAAS,CAACmV,EAAE,EAAEE,IAAI,CAAC,GAAG,CAAC,KAAKE,CAAC,EAAEF,EAAE,MAAM,CAAC,EAAE,IAAInR,GAAGiR,EAAEI,CAAC,CAAC,CAAC,CAAC,EAAMusC,GAAG,CAAC,WAAW7hD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACkV,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIrP,GAAGmP,EAAEtJ,EAAEwF,GAAGxN,GAAEwR,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAM0sC,GAAG,CAAC,WAAW7hD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACiV,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAEsJ,EAAEtJ,EAAEhI,GAAEwR,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAM2sC,GAAG,CAAC,WAAW7hD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,CAACgV,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,CAAC,EAAE,EAAEC,EAAErG,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,IAAItD,EAAEsJ,EAAEtJ,EAAE2J,EAAE3D,GAAGwD,EAAEE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI1J,EAAEsJ,EAAEtJ,EAAE2J,EAAE3D,GAAG0D,EAAEF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAM4sC,GAAG,CAAC,WAAW5hD,GAAG,SAAS8U,IAAI,CAAC,EAAE,IAAIR,GAAGQ,CAAC,CAAC,EAAE,EAAM+sC,GAAG,CAAC,WAAWxhD,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,CAACyU,EAAE,IAAI,CAAC,GAAG,CAACE,EAAEE,CAAC,EAAE,EAAEC,EAAEisB,GAAGpsB,EAAE,MAAME,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI2B,EAAE/B,EAAEgC,EAAEwqB,GAAGtsB,EAAE,MAAMG,CAAC,EAAE,OAAO2B,EAAE,OAAO,IAAID,EAAEpF,GAAGoF,EAAEC,CAAC,GAAGzI,EAAEwI,EAAE7B,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI6B,EAAE/B,EAAEgC,EAAEwqB,GAAGpsB,EAAE,MAAMC,CAAC,EAAE,OAAO2B,EAAE,OAAO,IAAID,EAAEpF,GAAGoF,EAAEC,CAAC,GAAGzI,EAAE1C,GAAGkL,CAAC,EAAE3B,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAM4sC,GAAG,CAAC,WAAWxhD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACwU,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAEC,EAAED,EAAE,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,EAAEF,EAAEkb,GAAG,EAAEhb,EAAE,KAAK,EAAE,QAAQ,GAAG,CAACC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI0B,EAAExI,EAAEyG,EAAEK,CAAC,EAAE2B,EAAEtL,EAAEqL,EAAE7K,GAAGkJ,EAAE,MAAM,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI4B,CAAC,CAAC,CAAC,EAAMirC,GAAG,CAAC,WAAWvhD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACsU,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIrP,GAAGmP,EAAE7D,GAAGxM,GAAGuQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAMgtC,GAAG,CAAC,WAAWvhD,GAAG,cAAc,CAAC,EAAE,EAAE,SAAS,CAACqU,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIxJ,EAAEgG,GAAG1C,GAAG,CAAC,EAAEmC,GAAG+D,CAAC,CAAC,EAAEF,CAAC,CAAC,CAAC,CAAC,EAAMmtC,GAAG,CAAC,WAAWphD,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAACiU,EAAE,EAAEE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,CAAC,KAAKC,CAAC,EAAEH,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI4B,EAAEtC,GAAGY,CAAC,EAAE,GAAGA,EAAE,OAAO,EAAE,QAAQ2B,EAAE,EAAEA,EAAE1B,EAAE,CAAC,EAAE,EAAE0B,EAAED,EAAE,EAAEA,EAAEzG,GAAG2E,EAAE,CAAC+B,EAAE3B,EAAE,MAAM,CAAC,CAAC,EAAE,CAACA,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAUA,EAAE,OAAO,EAAE,QAAQ2B,EAAE,EAAEA,EAAE1B,EAAE,CAAC,EAAE,EAAE0B,EAAE,QAAQC,EAAE,EAAEA,EAAE3B,EAAE,CAAC,EAAE,EAAE2B,EAAEF,EAAE,EAAEA,EAAEzG,GAAG2E,EAAE,CAAC+B,EAAE3B,EAAE,MAAM,CAAC,EAAE4B,EAAE5B,EAAE,MAAM,CAAC,CAAC,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAUA,EAAE,OAAO,EAAE,QAAQ2B,EAAE,EAAEA,EAAE1B,EAAE,CAAC,EAAE,EAAE0B,EAAE,QAAQC,EAAE,EAAEA,EAAE3B,EAAE,CAAC,EAAE,EAAE2B,EAAE,QAAQ,EAAE,EAAE,EAAE3B,EAAE,CAAC,EAAE,EAAE,EAAEyB,EAAE,EAAEA,EAAEzG,GAAG2E,EAAE,CAAC+B,EAAE3B,EAAE,MAAM,CAAC,EAAE4B,EAAE5B,EAAE,MAAM,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,CAAC,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAUA,EAAE,OAAO,EAAE,QAAQ2B,EAAE,EAAEA,EAAE1B,EAAE,CAAC,EAAE,EAAE0B,EAAE,QAAQC,EAAE,EAAEA,EAAE3B,EAAE,CAAC,EAAE,EAAE2B,EAAE,QAAQ,EAAE,EAAE,EAAE3B,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQqC,EAAE,EAAEA,EAAErC,EAAE,CAAC,EAAE,EAAEqC,EAAEZ,EAAE,EAAEA,EAAEzG,GAAG2E,EAAE,CAAC+B,EAAE3B,EAAE,MAAM,CAAC,EAAE4B,EAAE5B,EAAE,MAAM,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,EAAEsC,EAAEtC,EAAE,MAAM,CAAC,CAAC,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAO,OAAM,IAAI,MAAM,2DAA2DA,EAAE,IAAI,eAAe,EAAE,OAAO0B,CAAC,CAAC,CAAC,CAAC,EAAMsrC,GAAG,CAAC,WAAWlhD,GAAG,SAAS,CAAC8T,EAAE,EAAEE,IAAI,CAAC,IAAIE,EAAEF,EAAE,CAAC,KAAKG,CAAC,EAAED,EAAE,EAAEotB,GAAGntB,CAAC,EAAE,MAAM,CAAC,EAAE,IAAIvC,GAAGkC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAMqtC,GAAG,CAAC,WAAWjhD,GAAG,SAAS,CAAC4T,EAAE,EAAEE,IAAI,CAAC,IAAIE,EAAEF,EAAE,CAAC,KAAKG,CAAC,EAAED,EAAE,MAAM,CAAC,MAAM,IAAI9D,GAAG0D,EAAEK,CAAC,CAAC,CAAC,CAAC,EAAMitC,GAAG,CAAC,WAAWjhD,GAAG,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC2T,EAAE,IAAI,CAAC,GAAG,CAACE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAIqtC,GAAGvtC,EAAEE,CAAC,CAAC,CAAC,CAAC,EAAE,SAASqtC,GAAGvtC,EAAE,EAAE,CAAC,IAAIE,EAAErK,GAAG,EAAE2J,GAAG,CAAC,CAAC,EAAEY,EAAE5N,GAAGwN,EAAEE,CAAC,EAAEG,EAAEjN,GAAG,EAAE4G,GAAG,EAAE,OAAO,CAAC,EAAE,EAAEoG,EAAE,KAAKC,EAAE,KAAK,QAAQ0B,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE1B,EAAExO,GAAGwO,EAAE0B,EAAE,CAAC,EAAE1B,EAAEpL,GAAGoL,EAAEnJ,GAAGkJ,EAAE,MAAM,MAAM,CAAC,EAAE,IAAI,EAAEZ,GAAGY,CAAC,EAAE,OAAOf,GAAGgB,EAAED,EAAE,CAAC,CAAC,CAAC,IAAIotC,GAAG,CAAC,WAAWhhD,GAAG,SAASwT,IAAI,CAAC,EAAE,IAAIR,GAAGQ,CAAC,CAAC,EAAE,EAAMytC,GAAG,CAACvH,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGG,GAAGG,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGE,GAAGD,GAAGI,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGiD,GAAGhD,GAAGC,GAAGC,GAAGC,GAAGC,GAAGE,GAAGD,GAAGE,GAAGC,GAAGG,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGG,GAAGE,GAAGA,GAAGC,GAAGG,GAAGG,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGA,GAAGC,GAAGC,GAAGG,GAAGE,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGA,GAAGC,GAAGA,GAAGC,GAAGE,GAAGD,GAAGE,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGE,EAAE,EAAE,QAAQxtC,KAAKytC,GAAGz0C,GAAGgH,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEl0B,GAAG,IAAI,CAAC,EAAEk0B,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEj0B,GAAG,IAAI,CAAC,EAAEi0B,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEh0B,GAAG,IAAI,CAAC,EAAEg0B,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE,EAAE,KAAKA,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAElT,GAAG,KAAKkT,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEjT,GAAG,KAAKiT,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,OAAO,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEhT,GAAG,KAAKgT,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,OAAO,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE/S,GAAG,KAAK+S,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,SAAS,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEtG,EAAE,KAAK,OAAO,EAAE,IAAI,qCAAqC,EAAE/gB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAEqnB,EAAE,EAAE,UAAU,OAAO,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEtR,GAAE,KAAKsR,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAErnB,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,EAAEqnB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEzG,EAAE,KAAK,CAACyG,EAAE,CAAC,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,EAAEE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE3G,EAAE,KAAK,CAACyG,EAAE,EAAEE,CAAC,CAAC,CAAC,EAAE0gB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,EAAEE,EAAEE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE7G,EAAE,KAAK,CAACyG,EAAE,EAAEE,EAAEE,CAAC,CAAC,CAAC,EAAEwgB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE9G,EAAE,KAAK,CAACyG,EAAE,EAAEE,EAAEE,EAAEC,CAAC,CAAC,CAAC,EAAEugB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE1zB,GAAG,IAAI,CAAC,EAAE0zB,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEzzB,GAAG,IAAI,CAAC,EAAEyzB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAExzB,GAAG,IAAI,CAAC,EAAEwzB,EAAE,EAAE,UAAU,MAAM,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE3S,GAAG,KAAK2S,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEtzB,GAAG,IAAI,CAAC,EAAEszB,EAAE,EAAE,UAAU,QAAQ,SAAS5gB,EAAE,EAAEE,EAAEE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE7S,GAAG,KAAKyS,EAAE,EAAEE,EAAEE,CAAC,CAAC,EAAEwgB,EAAE,EAAE,UAAU,eAAe,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEhS,GAAG,KAAKgS,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,UAAU,SAAS5gB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEzS,GAAG,KAAKoS,EAAE,EAAEE,EAAEE,EAAEC,CAAC,CAAC,EAAEugB,EAAE,EAAE,UAAU,YAAY,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE3R,GAAG,KAAK2R,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEtR,GAAE,KAAKsR,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEjyB,GAAG,IAAI,CAAC,EAAEiyB,EAAE,EAAE,UAAU,YAAY,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEpR,GAAG,KAAKoR,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,OAAO,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEA,aAAapU,KAAKoU,EAAE,CAACA,CAAC,GAAGjR,GAAG,CAAC,KAAK,GAAGiR,CAAC,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,OAAO,SAAS5gB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEhR,GAAG,KAAK2Q,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,CAAC,EAAEugB,EAAE,EAAE,UAAU,gBAAgB,SAAS5gB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE9Q,GAAG,KAAKyQ,EAAE,EAAEE,EAAEE,EAAEC,CAAC,CAAC,EAAEugB,EAAE,EAAE,UAAU,OAAO,SAAS5gB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE/Q,GAAG,KAAK0Q,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,CAAC,EAAEugB,EAAE,EAAE,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEjxB,GAAG,IAAI,CAAC,EAAEixB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEhxB,GAAG,IAAI,CAAC,EAAEgxB,EAAE,EAAE,UAAU,QAAQ,SAAS5gB,EAAE,EAAEE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEpQ,GAAG,KAAKkQ,EAAE,EAAEE,CAAC,CAAC,EAAE0gB,EAAE,EAAE,UAAU,OAAO,SAAS5gB,EAAE,EAAEE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEnQ,GAAG,KAAKiQ,EAAE,EAAEE,CAAC,CAAC,EAAE0gB,EAAE,EAAE,UAAU,aAAa,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE5P,GAAG,KAAK4P,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,gBAAgB,SAAS5gB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEhQ,GAAG,KAAK2P,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,CAAC,EAAEugB,EAAE,EAAE,UAAU,WAAW,SAAS5gB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE5P,GAAG,KAAKuP,EAAE,EAAEE,EAAEE,EAAEC,CAAC,CAAC,EAAEugB,EAAE,EAAE,UAAU,SAAS,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAElP,GAAG,KAAKkP,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEnP,GAAG,KAAKmP,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEjP,GAAG,KAAKiP,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE1vB,GAAG,IAAI,CAAC,EAAE0vB,EAAE,EAAE,UAAU,MAAM,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEvO,GAAG,KAAKuO,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAElvB,GAAG,IAAI,CAAC,EAAEkvB,EAAE,EAAE,UAAU,cAAc,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAErO,GAAG,KAAKqO,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEhvB,GAAG,IAAI,CAAC,EAAEgvB,EAAE,EAAE,UAAU,WAAW,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEnO,GAAG,KAAKmO,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE9uB,GAAG,IAAI,CAAC,EAAE8uB,EAAE,EAAE,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE5uB,GAAG,IAAI,CAAC,EAAE4uB,EAAE,EAAE,UAAU,QAAQ,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAErnB,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,EAAEqnB,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAExuB,GAAG,IAAI,CAAC,EAAEwuB,EAAE,EAAE,UAAU,SAAS,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE3N,GAAG,KAAK2N,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,OAAO,SAAS5gB,EAAE,EAAEE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE1N,GAAG,KAAKwN,EAAE,EAAEE,CAAC,CAAC,EAAE0gB,EAAE,EAAE,UAAU,aAAa,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE5M,GAAG,KAAK4M,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,QAAQ,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE7M,GAAG,KAAK6M,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEvtB,GAAG,IAAI,CAAC,EAAEutB,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEhtB,GAAG,IAAI,CAAC,EAAEgtB,EAAE,EAAE,UAAU,SAAS,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE/sB,GAAG,IAAI,CAAC,EAAE+sB,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE9sB,GAAG,IAAI,CAAC,EAAE8sB,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE7sB,GAAG,IAAI,CAAC,EAAE6sB,EAAE,EAAE,UAAU,UAAU,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE7L,GAAG,KAAK6L,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,UAAU,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE3L,GAAG,KAAK2L,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE5L,GAAG,KAAK4L,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,2BAA2B,SAAS5gB,EAAE,EAAEE,EAAEE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEzL,GAAG,KAAKqL,EAAE,EAAEE,EAAEE,CAAC,CAAC,EAAEwgB,EAAE,EAAE,UAAU,WAAW,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE9rB,GAAG,IAAI,CAAC,EAAE8rB,EAAE,EAAE,UAAU,WAAW,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEjL,GAAG,KAAKiL,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,UAAU,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEhL,GAAG,KAAKgL,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEhsB,GAAG,IAAI,CAAC,EAAEgsB,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE/rB,GAAG,IAAI,CAAC,EAAE+rB,EAAE,EAAE,UAAU,WAAW,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE/K,GAAG,KAAK+K,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,WAAW,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE1rB,GAAG,IAAI,CAAC,EAAE0rB,EAAE,EAAE,UAAU,UAAU,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE7K,GAAG,KAAK6K,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,WAAW,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE5K,GAAG,KAAK4K,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,OAAO,SAAS5gB,EAAE,EAAEE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE3K,GAAG,KAAKyK,EAAE,EAAEE,CAAC,CAAC,EAAE0gB,EAAE,EAAE,UAAU,QAAQ,SAAS5gB,EAAE,EAAEE,EAAEE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE1K,GAAG,KAAKsK,EAAE,EAAEE,EAAEE,CAAC,CAAC,EAAEwgB,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEvK,GAAG,KAAKuK,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,QAAQ,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEnK,GAAG,KAAKmK,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAElK,GAAG,KAAKkK,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE9J,GAAG,KAAK8J,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,QAAQ,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE7J,GAAG,KAAK6J,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,UAAU,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE5J,GAAG,KAAK4J,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE3J,GAAG,KAAK2J,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEtJ,EAAE,KAAKsJ,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE/pB,GAAG,IAAI,CAAC,EAAE+pB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,EAAEE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEnJ,GAAG,KAAKiJ,EAAE,EAAEE,CAAC,CAAC,EAAE0gB,EAAE,EAAE,UAAU,SAAS,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEhJ,GAAG,KAAKgJ,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,OAAO,SAAS5gB,EAAE,EAAE,EAAEE,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEjJ,GAAG,KAAK+I,EAAE,EAAEE,CAAC,CAAC,EAAE0gB,EAAE,EAAE,UAAU,SAAS,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEzpB,GAAG,IAAI,CAAC,EAAEypB,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE1I,GAAG,KAAK0I,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE1I,GAAG,KAAKqI,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,CAAC,EAAEugB,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEpI,GAAG,KAAKoI,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,MAAM,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEnI,GAAG,KAAKmI,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEjI,GAAG,KAAKiI,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,WAAW,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE/nB,GAAG,IAAI,CAAC,EAAE+nB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAExnB,GAAG,IAAI,CAAC,EAAEwnB,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEvnB,GAAG,IAAI,CAAC,EAAEunB,EAAE,EAAE,UAAU,UAAU,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEzG,EAAE,KAAKyG,EAAE,KAAK,CAAC,EAAE4gB,EAAE,EAAE,UAAU,QAAQ,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEzG,EAAE,KAAKyG,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,eAAe,SAAS5gB,EAAE,EAAEE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEu6B,GAAG,KAAKz6B,EAAE,EAAEE,CAAC,CAAC,EAAE0gB,EAAE,EAAE,UAAU,sBAAsB,SAAS5gB,EAAE,EAAEE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEy6B,GAAG,KAAK36B,EAAE,EAAEE,CAAC,CAAC,EAAE0gB,EAAE,EAAE,UAAU,QAAQ,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAExG,GAAG,KAAKwG,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE/mB,GAAG,IAAI,CAAC,EAAE+mB,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE9mB,GAAG,IAAI,CAAC,EAAE8mB,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE7mB,GAAG,IAAI,CAAC,EAAE6mB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAExmB,GAAG,IAAI,CAAC,EAAEwmB,EAAE,EAAE,UAAU,gBAAgB,SAAS5gB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEhG,GAAG,KAAK2F,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,CAAC,EAAEugB,EAAE,EAAE,UAAU,QAAQ,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE5lB,GAAG,IAAI,CAAC,EAAE4lB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE3lB,GAAG,IAAI,CAAC,EAAE2lB,EAAE,EAAE,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEzlB,GAAG,IAAI,CAAC,EAAEylB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAExlB,GAAG,IAAI,CAAC,EAAEwlB,EAAE,EAAE,UAAU,MAAM,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE3E,GAAG,KAAK2E,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,QAAQ,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAErE,GAAG,KAAKqE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,SAAS,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEhlB,GAAG,IAAI,CAAC,EAAEglB,EAAE,EAAE,UAAU,eAAe,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEnE,GAAG,KAAKmE,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,MAAM,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE/D,GAAG,KAAK+D,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE1kB,GAAG,IAAI,CAAC,EAAE0kB,EAAE,EAAE,UAAU,OAAO,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEzkB,GAAG,IAAI,CAAC,EAAEykB,EAAE,EAAE,UAAU,kBAAkB,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE5D,GAAG,KAAK4D,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,QAAQ,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE3D,GAAG,KAAK2D,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,MAAM,SAAS5gB,EAAE,EAAE,CAAC,KAAK,gBAAgB,EAAE,IAAIE,EAAEF,aAAapU,GAAG,CAAC,KAAKoU,CAAC,EAAE,CAAC,KAAK,GAAGA,CAAC,EAAE,OAAO1D,GAAG4D,EAAE,CAAC,CAAC,EAAE0gB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEzD,GAAG,KAAKyD,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,aAAa,SAAS5gB,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE0B,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEvF,GAAG,KAAKwD,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE0B,CAAC,CAAC,EAAE6e,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEtD,GAAG,KAAKsD,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAErD,GAAG,KAAKqD,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE/jB,GAAG,IAAI,CAAC,EAAE+jB,EAAE,EAAE,UAAU,KAAK,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAE9jB,GAAG,IAAI,CAAC,EAAE8jB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEtC,GAAG,KAAKsC,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,OAAO,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAElyB,GAAE,KAAK,MAAM,CAAC,EAAEkyB,EAAE,EAAE,UAAU,QAAQ,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAElyB,GAAE,KAAK,SAAS,CAAC,EAAEkyB,EAAE,EAAE,UAAU,MAAM,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAElyB,GAAE,KAAK,OAAO,CAAC,EAAEkyB,EAAE,EAAE,UAAU,KAAK,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEpC,GAAG,KAAKoC,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,UAAU,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAElC,GAAG,KAAKkC,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,OAAO,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEhC,GAAG,KAAKgC,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,mBAAmB,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE7B,GAAG,KAAK6B,EAAE,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,QAAQ,SAAS5gB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE5B,GAAG,KAAK4B,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,MAAM,SAAS5gB,EAAE,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAEX,GAAGW,EAAE,KAAK,CAAC,CAAC,EAAE4gB,EAAE,EAAE,UAAU,UAAU,UAAU,CAAC,OAAO,KAAK,gBAAgB,EAAEphB,GAAG,IAAI,CAAC,EAAE,IAAIkuC,GAAG,MAAM1tC,WAAU,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,eAAe,KAAKA,GAAE,SAAS,CAAC,CAAC,EAAE2tC,GAAG,MAAM3tC,WAAU,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,eAAe,KAAKA,GAAE,SAAS,CAAC,CAAC,EAAE4tC,EAAE,MAAM5tC,WAAU,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,eAAe,KAAKA,GAAE,SAAS,CAAC,CAAC,EAAE6tC,GAAG,MAAM7tC,WAAU,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,eAAe,KAAKA,GAAE,SAAS,CAAC,CAAC,EAAE8tC,GAAG,MAAM9tC,WAAU,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,eAAe,KAAKA,GAAE,SAAS,CAAC,CAAC,EAAM+tC,GAAG,KAAK,CAAC,YAAYntC,EAAE,CAAC,KAAK,WAAWA,GAAG,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAIA,EAAE,CAAC,IAAIV,EAAE,OAAO,KAAK,MAAM,IAAIU,CAAC,IAAIV,EAAE,KAAK,MAAM,IAAIU,CAAC,EAAE,KAAK,MAAM,OAAOA,CAAC,EAAE,KAAK,MAAM,IAAIA,EAAEV,CAAC,GAAGA,CAAC,CAAC,IAAIU,EAAEV,EAAE,CAAC,GAAG,KAAK,MAAM,IAAIU,CAAC,EAAE,KAAK,MAAM,OAAOA,CAAC,UAAU,KAAK,MAAM,MAAM,KAAK,WAAW,CAAC,IAAI,EAAE,KAAK,MAAM,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,IAAIA,EAAEV,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,KAAK,UAAU,CAAC,cAAcU,EAAE,CAAC,GAAGA,EAAE,EAAE,MAAM,IAAI,MAAM,4DAA4DA,CAAC,GAAG,EAAE,GAAG,KAAK,WAAWA,EAAE,QAAQV,EAAE,EAAEA,EAAE,KAAK,WAAWU,EAAEV,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,WAAWU,CAAC,CAAC,EAAE,SAASotC,GAAGhuC,EAAE,EAAE,CAAC,GAAG,MAAM,QAAQA,CAAC,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAE,EAAEA,IAAIF,EAAEA,EAAE,OAAOF,CAAC,EAAE,OAAOE,CAAC,KAAK,CAAC,IAAIA,EAAE,IAAI,MAAM,CAAC,EAAE,OAAOA,EAAE,KAAKF,CAAC,EAAEE,CAAC,CAAC,CAAC,SAAS+tC,GAAGjuC,EAAE,EAAE,CAAC,GAAG,CAACA,EAAE,MAAM,IAAI8tC,GAAG,CAAC,CAAC,CAAC,SAASI,GAAGluC,EAAE,EAAE,CAAC,IAAIE,EAAE,EAAE,QAAQE,KAAKJ,EAAEI,IAAI,GAAGF,IAAI,OAAOA,CAAC,CAAC,SAASiuC,GAAGnuC,EAAE,CAAC,OAAOA,EAAE,SAAS,EAAEA,EAAE,CAAC,EAAEA,CAAC,CAAC,SAASouC,GAAGpuC,EAAE,CAAC,OAAO,MAAM,QAAQA,CAAC,EAAEA,EAAE,CAACA,CAAC,CAAC,CAAC,SAASquC,GAAGruC,EAAE,CAAC,IAAIE,EAAEF,EAAE,QAAQ,uBAAuB,OAAO,EAAE,QAAQ,kBAAkB,OAAO,EAAE,YAAY,EAAE,OAAOE,EAAE,CAAC,IAAI,IAAIA,EAAE,UAAUA,CAAC,CAAC,SAASouC,GAAGtuC,EAAE,CAAC,OAAOA,EAAE,QAAQ,GAAGA,EAAE,QAAQ,GAAG,IAAI,GAAGA,EAAEA,EAAE,QAAQ,cAAc,CAAC,EAAEE,IAAIA,EAAE,YAAY,CAAC,CAAC,CAAC,IAAIquC,GAAG,CAAC,EAAE,SAASC,GAAGxuC,EAAE,CAAC,GAAGA,GAAG,KAAK,OAAO,KAAK,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,UAAUA,EAAE,aAAa,EAAE,EAAE,OAAOA,EAAE,UAAU,EAAE,CAAC,CAAC,SAASyuC,GAAGzuC,EAAE,CAAC,GAAG,EAAEA,GAAG,MAAM,OAAOA,GAAG,UAAU,GAAG,MAAM,QAAQA,CAAC,EAAEA,EAAE,QAAQ,GAAGyuC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,KAAKzuC,CAAC,EAAE,QAAQE,KAAK,EAAE,CAAC,IAAIE,EAAEJ,EAAEE,CAAC,EAAEE,GAAG,MAAM,OAAOA,GAAG,WAAW,CAAC,MAAM,QAAQA,CAAC,GAAGA,EAAE,OAAO,WAAW,OAAOA,EAAE,OAAO,SAASJ,EAAEE,CAAC,EAAEE,EAAE,MAAMquC,GAAGruC,CAAC,EAAE,CAAC,CAAC,CAAC,SAASsuC,GAAG1uC,EAAE,EAAE,CAAC,EAAEE,EAAE,CAAC,EAAEE,EAAE,SAASC,EAAE,GAAG,CAAC,GAAG,OAAOL,GAAG,SAAS,CAAC,IAAI,EAAEA,EAAE,EAAE,GAAG,KAAKE,EAAE,EAAEA,EAAE,CAAC,UAAU,KAAKquC,GAAG,EAAEA,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,IAAIX,EAAE,WAAWxtC,CAAC,KAAKJ,CAAC;AAAA,SAC59kCI,CAAC;AAAA,gBACMA,CAAC,kGAAkG,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAEJ,EAAE,GAAG,EAAE,WAAW,MAAM,EAAE,QAAQ,KAAK,MAAM,IAAI4tC,EAAE,GAAGxtC,CAAC,6BAA6B,KAAK,UAAU,CAAC,CAAC;AAAA,mCAC3M,EAAE,IAAI,EAAE,EAAE,UAAU2B,EAAEC,EAAE,GAAG,KAAK9B,EAAE,CAAC6B,EAAEC,CAAC,EAAE9B,EAAE,CAAC,EAAE,KAAKquC,GAAG,CAACxsC,EAAEC,CAAC,EAAEusC,GAAG,UAAU,KAAK,IAAI,CAACxsC,EAAEC,CAAC,EAAE,EAAE,CAAC,GAAGD,GAAG,KAAK,MAAM,IAAI6rC,EAAE,WAAWxtC,CAAC,KAAK,CAAC;AAAA,SAC7JA,CAAC;AAAA,gBACMA,CAAC,kGAAkG,EAAE,GAAG4B,GAAG,KAAK,CAAC,IAAIC,EAAE,CAAC,EAAE,QAAQY,KAAK,OAAO,KAAK0rC,EAAE,EAAEtsC,EAAEY,CAAC,EAAE0rC,GAAG1rC,CAAC,EAAE,QAAQA,KAAK,OAAO,KAAK3C,CAAC,EAAE+B,EAAEY,CAAC,EAAE3C,EAAE2C,CAAC,EAAE,IAAIH,EAAE,EAAE,OAAOA,EAAE,cAAcT,EAAE,IAAIU,EAAE,OAAO,OAAO,CAAC,EAAE4rC,EAAE,EAAE,QAAQ1rC,KAAK,OAAO,KAAK3C,CAAC,EAAEquC,GAAG1rC,CAAC,EAAE3C,EAAE2C,CAAC,EAAE4rC,GAAG,EAAE,MAAM,EAAE,IAAI7rC,EAAEZ,EAAED,EAAE,EAAE,OAAO7B,EAAEG,CAAC,EAAE,OAAOkuC,GAAG,OAAO,OAAO,CAAC,EAAE5rC,CAAC,EAAEC,CAAC,KAAK,CAAC,IAAIX,EAAE,OAAO,OAAO,CAAC,EAAEssC,EAAE,EAAE,QAAQ5rC,KAAK,OAAO,KAAKzC,CAAC,EAAEquC,GAAG5rC,CAAC,EAAEzC,EAAEyC,CAAC,EAAE,IAAID,EAAE,IAAIX,EAAE,EAAE,MAAM,EAAE,OAAOwsC,GAAG,OAAO,OAAO,CAAC,EAAEtsC,CAAC,EAAES,CAAC,CAAC,CAAC,CAAC,SAASisC,GAAG3uC,EAAE,EAAE,CAAC,OAAOA,EAAE,EAAE,GAAGA,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS4uC,GAAG5uC,EAAE,EAAE,CAAC,MAAM,GAAG2uC,GAAG3uC,EAAE,CAAC,CAAC,CAAC,SAAS6uC,GAAG7uC,EAAE,CAAC,GAAGA,GAAG,KAAK,OAAOA,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQE,KAAKF,EAAE,EAAE,QAAQE,CAAC,IAAI,IAAI,EAAE,KAAKA,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS4uC,GAAG9uC,EAAE,CAAC,GAAGA,GAAG,KAAK,MAAM,IAAI4tC,EAAE,yBAAyB,KAAK,UAAU5tC,CAAC,CAAC,EAAE,EAAE,QAAQ,KAAKA,EAAE,GAAGA,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS+uC,GAAG/uC,EAAE,EAAEE,EAAE,CAAC,GAAGA,GAAG,MAAMF,EAAE,QAAQE,CAAC,EAAE,EAAE,MAAM,IAAI0tC,EAAE,GAAG1tC,CAAC,mBAAmB,CAAC,uBAAuBF,CAAC,qBAAqB,CAAC,CAAC,SAASgvC,GAAGhvC,EAAE,EAAEE,EAAE,EAAEE,EAAE,IAAI,CAAC,OAAO6tC,GAAG/tC,GAAG,CAAC,EAAE+tC,GAAG7tC,GAAGF,CAAC,EAAE,MAAM,QAAQF,CAAC,GAAGA,EAAE,QAAQE,GAAGF,EAAE,QAAQI,GAAGJ,EAAE,MAAMK,GAAG,OAAOA,IAAI,CAAC,CAAC,CAAC,SAAS4uC,GAAGjvC,EAAE,EAAE,CAAC,MAAM,QAAQA,CAAC,GAAGzB,EAAE,OAAOyB,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,kCAAkC,EAAEA,EAAE,QAAQ,CAACE,EAAEE,IAAI6uC,GAAG/uC,EAAE,WAAWE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG7B,EAAE,OAAO,OAAO,UAAUyB,CAAC,GAAGA,EAAE,EAAE,IAAI,YAAY,CAAC,sCAAsCkvC,GAAGlvC,CAAC,CAAC,GAAG,CAAC,CAAC,SAASkvC,GAAGlvC,EAAE,CAAC,OAAOA,IAAI,KAAK,OAAO,MAAM,QAAQA,CAAC,EAAE,IAAIA,EAAE,IAAI,GAAGkvC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,IAAI,OAAOlvC,GAAG,SAAS,IAAIA,CAAC,IAAI,GAAGA,CAAC,EAAE,CAAC,SAASmvC,GAAGnvC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEF,GAAG,KAAKA,EAAE,EAAE3B,EAAE,IAAI,EAAE8B,EAAE,MAAM,IAAIyB,IAAI,CAAC,IAAIC,EAAE7B,GAAG,KAAKA,EAAE,EAAE3B,EAAE,IAAI,EAAE,OAAOwD,EAAE3B,EAAE,IAAIA,EAAE2B,EAAE1B,EAAEL,EAAE,GAAG8B,CAAC,GAAGzB,CAAC,CAAC,CAAC,SAAS+uC,GAAGpvC,EAAE,CAAC,OAAOA,IAAI,OAAO,OAAOA,IAAI,SAAS,SAASA,IAAI,MAAM,MAAM,IAAI,CAAC,IAAIqvC,GAAG,EAAE,SAASC,IAAI,CAAC,OAAOD,IAAI,CAAC,IAAIE,GAAG,CAAC,EAAE,SAASC,GAAGxvC,EAAE,GAAG,CAAC,OAAOA,KAAKuvC,KAAKA,GAAGvvC,CAAC,EAAE,GAAGuvC,GAAGvvC,CAAC,GAAG,EAAEA,EAAEuvC,GAAGvvC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAIyvC,GAAG,CAAC,gBAAgB,cAAc,EAAEC,GAAG,CAAC,UAAU,UAAU,EAAEC,GAAG,CAAC,QAAQ,OAAO,QAAQ,EAAEC,GAAG,CAAC,MAAM,KAAK,EAAEC,GAAG,CAAC,MAAM,MAAM,SAAS,KAAK,EAAMC,GAAG,IAAI,IAAI,SAASC,GAAG/vC,EAAE,CAAC+uC,GAAGU,GAAG,aAAazvC,CAAC,CAAC,CAAC,SAASgwC,GAAGhwC,EAAE,CAAC+uC,GAAGW,GAAG,sBAAsB1vC,CAAC,CAAC,CAAC,SAASiwC,GAAGjwC,EAAE,CAAC+uC,GAAGY,GAAG,cAAc3vC,CAAC,CAAC,CAAC,SAASkwC,GAAGlwC,EAAE,CAAC+uC,GAAGa,GAAG,WAAW5vC,CAAC,CAAC,CAAC,IAAImwC,GAAG,CAAC,EAAEC,GAAG,IAAI,SAASC,GAAGrwC,EAAE,EAAE,CAACmwC,GAAG,KAAKnwC,CAAC,EAAE,GAAG,CAAC,IAAIE,EAAE,EAAE,EAAE,OAAOiwC,GAAG,IAAI,EAAEjwC,CAAC,OAAOA,EAAE,CAAC,MAAMiwC,GAAG,IAAI,EAAEjwC,CAAC,CAAC,CAAC,SAASowC,IAAI,CAAC,OAAOH,GAAG,SAAS,EAAE,GAAGA,GAAG,KAAKC,EAAE,EAAEA,EAAE,CAAC,SAASG,GAAGvwC,EAAE,CAAC,GAAG,CAACwwC,GAAGxwC,CAAC,EAAE,MAAM,IAAI,MAAM,6BAA6BA,EAAE,GAAG,EAAE,OAAOswC,GAAG,EAAEtwC,CAAC,CAAC,SAASywC,GAAGzwC,EAAE,CAAC,GAAG,CAACwwC,GAAGxwC,CAAC,EAAE,MAAM,IAAI,MAAM,6BAA6BA,EAAE,GAAG,EAAE8vC,GAAG,IAAI9vC,CAAC,GAAG8vC,GAAG,IAAI9vC,EAAE,CAAC,EAAE,IAAI,EAAE8vC,GAAG,IAAI9vC,CAAC,EAAE,GAAG8vC,GAAG,IAAI9vC,EAAE8vC,GAAG,IAAI9vC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAIE,EAAE,GAAGF,CAAC,IAAI,CAAC,GAAG,OAAO8vC,GAAG,IAAI5vC,EAAE,CAAC,EAAEA,CAAC,KAAM,QAAOF,CAAC,CAAC,IAAI0wC,GAAG,IAAI,OAAO,iCAAiC,EAAE,SAASF,GAAGxwC,EAAE,CAAC,MAAM,CAAC,CAACA,EAAE,MAAM0wC,EAAE,CAAC,CAAC,SAASC,GAAG3wC,EAAE,CAAC,OAAOA,IAAI,SAASA,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS4wC,GAAG5wC,EAAE,EAAEE,EAAE,CAAC,GAAG,OAAO,EAAE,GAAGA,GAAG,OAAOA,EAAEF,EAAE,QAAQ,IAAII,EAAE,EAAE,QAAQC,EAAE,EAAEA,EAAEH,EAAE,EAAEG,EAAED,GAAGJ,EAAEK,CAAC,EAAE,OAAOD,CAAC,CAAC,SAASywC,GAAG7wC,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAE,OAAO,OAAO,IAAI,IAAI,EAAE,OAAO,kBAAkB,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAOE,IAAI,CAAC,IAAIE,EAAEJ,EAAEE,CAAC,EAAEE,EAAE,IAAI,EAAEA,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS0wC,GAAG9wC,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAE,OAAO,OAAO,IAAI,IAAI,EAAE,OAAO,kBAAkB,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAOE,IAAI,CAAC,IAAIE,EAAEJ,EAAEE,CAAC,EAAEE,EAAE,IAAI,EAAEA,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS2wC,GAAG/wC,EAAE,EAAE,CAAC,GAAG,EAAEA,EAAE,MAAM,IAAI4tC,EAAE,QAAQ,CAAC,cAAc5tC,CAAC,iBAAiB,EAAE,IAAIE,EAAE,CAAC,EAAE,QAAQE,EAAEJ,EAAEI,EAAE,EAAE,EAAEA,EAAEF,EAAE,KAAKE,CAAC,EAAE,OAAOF,CAAC,CAAC,IAAI8wC,GAAG,SAASC,IAAI,CAAC,OAAOD,IAAI,OAAOA,GAAGvjD,GAAG,EAAE,QAAQ,GAAGujD,EAAE,CAAC,SAASE,IAAI,CAAC,MAAM,cAAc,CAAC,SAASC,GAAGnxC,EAAE,EAAE,CAAC,OAAOtR,GAAEsR,EAAE,CAAC,CAAC,CAAC,SAASoxC,GAAGpxC,EAAE,EAAE,GAAG,CAAC,IAAIE,EAAEF,EAAE,MAAM,MAAM,EAAE,OAAO,EAAE,IAAI,EAAEE,EAAE,OAAO,EAAE,GAAGA,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE3G,EAAEyG,EAAEE,CAAC,CAAC,CAAC,SAASmxC,GAAGrxC,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,GAAGuC,EAAE,MAAM,SAAS,EAAE,MAAM,IAAI4tC,EAAE,yDAAyD5tC,EAAE,MAAM,MAAM,UAAU,EAAE,IAAIE,EAAEkxC,GAAGpxC,EAAE,CAAC,EAAE,OAAOsxC,GAAGpxC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASqxC,GAAGvxC,EAAE,CAAC,IAAI,EAAE,CAAC4wC,GAAG5wC,EAAE,KAAK,CAAC,EAAE,OAAOzG,EAAEyG,EAAE,CAAC,CAAC,CAAC,SAASwxC,GAAGxxC,EAAE,CAAC,GAAGA,EAAE,MAAM,EAAE,MAAM,IAAI4tC,EAAE,wDAAwD5tC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,CAACA,EAAE,MAAM,CAAC,EAAE4wC,GAAG5wC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAOzG,EAAEyG,EAAE,CAAC,CAAC,CAAC,SAASyxC,GAAGzxC,EAAE,EAAEE,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,OAAOuC,EAAE,KAAK,CAAC,IAAK,GAAE,OAAO1E,GAAG0E,EAAE,EAAEE,CAAC,EAAE,IAAK,GAAE,OAAO3E,GAAGyE,EAAE,CAAC,EAAE,CAAC,EAAE,CAACE,EAAEF,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAK,GAAE,OAAOxE,GAAGwE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAACE,EAAEF,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAK,GAAE,OAAOvE,GAAGuE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAACE,EAAEF,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAK,GAAE,OAAO3E,GAAG2E,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAACE,EAAEF,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAK,GAAE,OAAO3E,GAAG2E,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAACE,EAAEF,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,MAAM,IAAI4tC,EAAE,8DAA8D5tC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS0xC,GAAG1xC,EAAE,EAAEE,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,OAAOuC,EAAE,KAAK,CAAC,IAAK,GAAE,OAAO1E,GAAG0E,EAAE,EAAEE,CAAC,EAAE,IAAK,GAAE,OAAO3E,GAAGyE,EAAE,CAAC,EAAE,CAAC,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEE,CAAC,CAAC,EAAE,IAAK,GAAE,OAAO1E,GAAGwE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEE,CAAC,CAAC,EAAE,IAAK,GAAE,OAAOzE,GAAGuE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEE,CAAC,CAAC,EAAE,QAAQ,MAAM,IAAI0tC,EAAE,6DAA6D5tC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS2xC,GAAG3xC,EAAE,EAAEE,EAAEE,EAAE,CAAC,OAAO3C,EAAE,IAAI,CAAC,OAAOuC,EAAE,KAAK,CAAC,IAAK,GAAE,OAAO1E,GAAG0E,EAAE,EAAEE,CAAC,EAAE,IAAK,GAAE,OAAOE,EAAE,CAAC,IAAK,GAAE,OAAOqxC,GAAGzxC,EAAE,EAAEE,CAAC,EAAE,IAAK,GAAE,OAAOwxC,GAAG1xC,EAAE,EAAEE,CAAC,EAAE,QAAQ,MAAM,IAAI0tC,EAAE,iDAAiDxtC,CAAC,EAAE,CAAC,CAAC,IAAK,GAAE,OAAOA,EAAE,CAAC,IAAK,GAAE,OAAOqxC,GAAGzxC,EAAE,EAAEE,CAAC,EAAE,IAAK,GAAE,OAAO1E,GAAGwE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEE,EAAEF,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAK,GAAE,OAAO0xC,GAAG1xC,EAAE,EAAEE,CAAC,EAAE,QAAQ,MAAM,IAAI0tC,EAAE,iDAAiDxtC,CAAC,EAAE,CAAC,CAAC,IAAK,GAAE,OAAOA,EAAE,CAAC,IAAK,GAAE,OAAOqxC,GAAGzxC,EAAE,EAAEE,CAAC,EAAE,IAAK,GAAE,OAAOzE,GAAGuE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEE,EAAEF,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAK,GAAE,OAAOvE,GAAGuE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEE,EAAEF,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAK,GAAE,OAAO0xC,GAAG1xC,EAAE,EAAEE,CAAC,EAAE,QAAQ,MAAM,IAAI0tC,EAAE,iDAAiDxtC,CAAC,EAAE,CAAC,CAAC,QAAQ,MAAM,IAAIwtC,EAAE,6DAA6D5tC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS4xC,GAAG5xC,EAAE,EAAE,GAAG,CAAC,IAAIE,EAAE,OAAO,EAAE,IAAIA,EAAEF,EAAE,CAAC,EAAE,KAAKE,IAAI,EAAE,EAAEA,EAAE,EAAE,GAAG,IAAIF,EAAE,CAAC,EAAE,OAAO,EAAE,IAAIjR,GAAGiR,EAAE,CAAC,CAAC,CAAC,SAAS6xC,GAAG7xC,EAAE,EAAE,CAAC,OAAOA,EAAE,KAAK,CAAC,IAAK,GAAE,OAAOhR,GAAG,CAACgR,EAAE,CAAC,CAAC,EAAE,IAAK,GAAE,OAAO/Q,GAAG,CAAC+Q,EAAE,CAAC,EAAE,CAAC,EAAE,IAAK,GAAE,OAAO9Q,GAAG,CAAC8Q,EAAE,CAAC,EAAE,CAAC,EAAE,IAAK,GAAE,OAAO7Q,GAAG,CAAC6Q,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,IAAI4tC,EAAE,+DAA+D5tC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAASsxC,GAAGtxC,EAAE,EAAE,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAGA,EAAE,OAAO,EAAE,OAAO,MAAM,IAAI4tC,EAAE,0BAA0B,EAAE,MAAM,yDAAyD5tC,EAAE,IAAI,GAAG,EAAE,OAAOtC,GAAGsC,EAAE,CAAC,CAAC,CAAC,SAAS8xC,GAAG9xC,EAAE,EAAE,EAAEE,EAAE,EAAEE,EAAEC,EAAE,CAAC,OAAO/H,GAAG0H,EAAE,EAAEE,EAAEE,EAAEC,CAAC,CAAC,CAAC,SAAS0xC,GAAG/xC,EAAE,EAAEE,EAAEE,EAAE,CAAC,GAAGJ,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI6tC,GAAG,8DAA8D7tC,EAAE,KAAK,kBAAkB,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,IAAIK,EAAEL,EAAE,MAAM,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,MAAM,EAAE,EAAE,CAAC,EAAE,GAAGK,IAAI,EAAE,MAAM,IAAIwtC,GAAG,gGAAgG7tC,EAAE,KAAK,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC,GAAGA,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,OAAOzN,GAAG,OAAO,CAAC,EAAEyN,EAAE,EAAE,EAAE,WAAW,GAAG,WAAW,GAAG,KAAKI,EAAE4xC,GAAGhyC,EAAE,KAAKI,EAAE8wC,GAAG,CAAC,EAAE,KAAK,WAAWhxC,CAAC,CAAC,EAAE,CAAC,IAAIG,EAAEL,EAAE,MAAM,MAAM,EAAE,EAAEK,EAAE,IAAI,EAAEL,EAAEzG,EAAEyG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,MAAM,EAAE+B,EAAE,EAAE,IAAI,EAAEC,EAAE,EAAE,IAAI,EAAEC,EAAE,CAAC,GAAG,EAAEF,CAAC,EAAEW,EAAE,MAAM,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAACI,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAEvJ,EAAEuE,GAAG,EAAE4E,CAAC,EAAE,CAACV,EAAE,EAAE,CAAC,EAAE,IAAIW,EAAE,CAAC,GAAGtC,EAAE,GAAG4B,CAAC,EAAE,OAAO1I,EAAEhH,GAAG,OAAO,CAAC,EAAEyN,EAAE,EAAE,EAAE,WAAW,GAAG,WAAW,GAAG,KAAKI,EAAE4xC,GAAGhyC,EAAE,KAAKI,EAAE8wC,GAAG,CAAC,EAAE,KAAK,WAAWhxC,CAAC,CAAC,EAAEyC,CAAC,CAAC,CAAC,CAAC,SAASsvC,GAAGjyC,EAAE,EAAEE,EAAE,CAAC,OAAOzC,EAAE,KAAK,MAAM,QAAQ,CAAC,EAAE,EAAET,GAAG,EAAE,OAAO,EAAE,EAAEtO,GAAE,EAAE,OAAO,EAAE8D,GAAGwN,EAAE,EAAEE,CAAC,EAAE,CAAC,CAAC,SAASgyC,GAAGlyC,EAAE,CAAC,OAAOtJ,EAAEsJ,EAAEA,CAAC,CAAC,CAAC,SAASgyC,GAAGhyC,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,EAAE,MAAM,GAAG,EAAE,OAAO,GAAG,EAAE,OAAOJ,EAAE,MAAM,IAAI4tC,EAAE,+BAA+B,EAAE,IAAI,4BAA4B5tC,CAAC,EAAE,EAAE,GAAGA,IAAI,EAAE,CAAC,GAAGE,IAAI,gBAAgB,OAAOE,EAAE,SAAS,EAAE7G,EAAE,EAAE,CAAC,EAAE6G,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE7G,EAAE,EAAE,CAAC,EAAE6G,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,EAAE,GAAGF,IAAI,eAAe,OAAOE,EAAE,SAAS,EAAE7G,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE6G,EAAE,CAAC,CAAC,CAAC,EAAE7G,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO6G,CAAC,CAAC,CAAC,SAASJ,IAAI,EAAE,CAAC,GAAGE,IAAI,gBAAgB,OAAOE,EAAE,SAAS,EAAE7G,EAAE,EAAE,CAAC,EAAE6G,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE7G,EAAE,EAAE,CAAC,EAAE6G,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,EAAE,GAAGF,IAAI,eAAe,OAAOE,EAAE,SAAS,EAAE7G,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE6G,EAAE,CAAC,CAAC,CAAC,EAAE7G,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO6G,CAAC,CAAC,CAAC,SAASJ,IAAI,EAAE,CAAC,GAAGE,IAAI,gBAAgB,OAAOE,EAAE,SAAS,EAAE7G,EAAE,EAAE,CAAC,EAAE6G,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE7G,EAAE,EAAE,CAAC,EAAE6G,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,EAAE,GAAGF,IAAI,eAAe,OAAOE,EAAE,SAAS,EAAE7G,EAAE,EAAE,CAAC,EAAE,EAAE6G,EAAE,CAAC,CAAC,CAAC,EAAE7G,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO6G,CAAC,CAAC,CAAC,SAASJ,EAAE,EAAE,OAAO,EAAE,MAAM,IAAI4tC,EAAE,sCAAsC,EAAE,IAAI,EAAE,CAAC,CAAC,SAASuE,GAAGnyC,EAAE,EAAEE,EAAE,CAAC,OAAOzC,EAAE,KAAKyC,GAAG,OAAOA,EAAEgxC,GAAG,GAAGnB,GAAG7vC,CAAC,EAAE,EAAEF,EAAEgyC,GAAGhyC,EAAE,KAAK,EAAEE,CAAC,CAAC,EAAE,CAAC,CAAC,SAASkyC,GAAGpyC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,IAAI6tC,GAAG,0CAA0C,CAAC,2BAA2B,EAAE,OAAO38C,GAAG8O,CAAC,CAAC,CAAC,SAASqyC,GAAGryC,EAAE,CAAC,OAAOvC,EAAE,IAAI5M,GAAGmP,EAAE,EAAEtT,GAAGsT,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAASsyC,GAAGtyC,EAAE,EAAEE,EAAEE,EAAE,CAAC,OAAO3C,EAAE,IAAIzM,GAAGgP,EAAE,EAAEE,EAAEE,CAAC,CAAC,CAAC,CAAC,SAASmyC,GAAGvyC,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG/G,EAAE,GAAGsJ,CAAC,CAAC,EAAE,OAAOpR,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS4jD,GAAGxyC,EAAE,EAAEE,EAAE,GAAG,CAAC,OAAOA,EAAEF,EAAE,EAAE,EAAE,CAAC,CAAC,IAAIyyC,GAAG,CAAC,QAAQ,SAAS,QAAQ,EAAEC,GAAG,CAAC,SAAS,UAAU,iBAAiB,EAAE,SAASC,GAAG3yC,EAAE,CAAC+uC,GAAG0D,GAAG,UAAUzyC,CAAC,CAAC,CAAC,SAAS4yC,GAAG5yC,EAAE,CAAC+uC,GAAG2D,GAAG,eAAe1yC,CAAC,CAAC,CAAC,IAAI6yC,GAAG,cAAct4C,GAAE,YAAY,CAAC,6BAA6B,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAEu4C,GAAG,cAAcD,EAAE,CAAC,MAAMjyC,EAAEV,EAAE,CAAC,OAAOX,GAAGqB,EAAEV,CAAC,CAAC,CAAC,EAAE4yC,GAAG,UAAU,QAAQv4C,GAAE,cAAcu4C,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,MAAMjyC,EAAEV,EAAE,CAAC,OAAOhJ,GAAG0J,EAAEV,CAAC,CAAC,CAAC,EAAE6yC,GAAG,UAAU,OAAOx4C,GAAE,cAAcw4C,EAAE,EAAE,IAAIC,GAAG,cAAcH,EAAE,CAAC,YAAYjyC,EAAE,CAAC,GAAG,MAAM,EAAE,OAAOA,GAAG,SAAS,MAAM,IAAIgtC,EAAE,oDAAoDhtC,CAAC,EAAE,EAAE,GAAGA,EAAE,QAAQ,OAAO,MAAM,IAAIgtC,EAAE,sCAAsChtC,CAAC,EAAE,EAAE,KAAK,MAAMA,EAAE,KAAK,CAAC,MAAMA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI/G,EAAEsD,GAAG,KAAK,KAAK,EAAE9C,GAAG0J,EAAEV,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,EAAE8yC,GAAG,UAAU,WAAWz4C,GAAE,cAAcy4C,EAAE,EAAE,IAAIC,GAAG,cAAcJ,EAAE,CAAC,YAAYjyC,EAAE,CAAC,MAAM,EAAE,KAAK,eAAe,KAAK,KAAK,eAAe,IAAI,KAAK,OAAOA,EAAE,QAAQ,KAAK,eAAe,KAAK,OAAOA,EAAE,QAAQ,KAAK,eAAe,KAAK,KAAKA,EAAE,IAAI,CAAC,MAAMA,EAAEV,EAAE,CAAC,OAAO1H,GAAGoI,EAAE,KAAK,OAAO,KAAK,OAAOV,EAAE,KAAK,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,OAAO,KAAK,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,EAAE+yC,GAAG,UAAU,gBAAgB14C,GAAE,cAAc04C,EAAE,EAAE,IAAIC,GAAG,cAAcL,EAAE,CAAC,YAAYjyC,EAAE,CAAC,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,IAAI,KAAK,KAAKA,EAAE,MAAM,KAAK,aAAa,KAAK,OAAOA,EAAE,QAAQ,KAAK,eAAe,KAAK,KAAKA,EAAE,IAAI,CAAC,MAAMA,EAAEV,EAAE,CAAC,GAAGA,EAAEA,GAAG,UAAUA,IAAI,WAAWA,IAAI,QAAQ,MAAM,IAAI2tC,GAAG,uCAAuC3tC,CAAC,GAAG,EAAE,OAAO4xC,GAAGlxC,EAAE,KAAK,KAAK,KAAK,OAAOV,EAAE,KAAK,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,EAAEgzC,GAAG,UAAU,eAAe34C,GAAE,cAAc24C,EAAE,EAAE,IAAIC,GAAG,cAAcN,EAAE,CAAC,YAAYjyC,EAAE,CAAC,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,IAAI,KAAK,KAAKA,EAAE,MAAM,KAAK,aAAa,KAAK,OAAOA,EAAE,QAAQ,KAAK,eAAe,KAAK,KAAKA,EAAE,IAAI,CAAC,MAAMA,EAAEV,EAAE,CAAC,GAAGA,EAAEA,GAAG,UAAUA,IAAI,WAAWA,IAAI,QAAQ,MAAM,IAAI2tC,GAAG,0CAA0C3tC,CAAC,GAAG,EAAE,OAAOnC,GAAG6C,EAAE,KAAK,KAAK,KAAK,OAAOV,EAAE,KAAK,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,EAAEizC,GAAG,UAAU,kBAAkB54C,GAAE,cAAc44C,EAAE,EAAE,IAAIC,GAAG,cAAcP,EAAE,CAAC,YAAYjyC,EAAE,CAAC,MAAM,EAAE,KAAK,KAAKA,EAAE,MAAM,KAAKA,EAAE,KAAK,CAAC,CAAC,MAAMA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,GAAGmD,EAAE,SAAS,GAAGA,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,MAAM,IAAIgtC,EAAE,sEAAsE,EAAE,OAAOl3C,EAAE,KAAK,KAAK3E,GAAG6O,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,EAAEwyC,GAAG,UAAU,WAAW74C,GAAE,cAAc64C,EAAE,EAAE,SAASC,GAAGrzC,EAAE,EAAE,eAAe,CAAC,IAAIE,EAAEE,EAAE,GAAG2vC,GAAG,CAAC,EAAE/vC,EAAE,SAAS,EAAEE,EAAEF,EAAE,CAAC,EAAEI,EAAEJ,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQA,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,gBAAgB,CAAC,IAAIK,EAAEuwC,GAAG5wC,EAAE,CAAC,EAAEE,EAAEF,EAAE,CAAC,EAAEK,EAAED,EAAEJ,EAAE,CAAC,EAAEK,CAAC,SAAS,IAAI,eAAe,CAAC,IAAIA,EAAEuwC,GAAG5wC,EAAE,EAAEA,EAAE,OAAO,CAAC,EAAEE,EAAEF,EAAEA,EAAE,OAAO,CAAC,EAAEK,EAAED,EAAEJ,EAAEA,EAAE,OAAO,CAAC,EAAEK,CAAC,MAAM,CAAC,IAAIA,EAAEuwC,GAAG5wC,CAAC,EAAEE,EAAE,KAAK,KAAKG,CAAC,EAAED,EAAE,KAAK,KAAKC,CAAC,CAAC,CAAC,MAAM,CAACH,EAAEE,CAAC,CAAC,CAAC,IAAIkzC,GAAG,cAAcT,EAAE,CAAC,YAAYjyC,EAAE,CAAC,GAAG,MAAM,EAAEA,EAAE,MAAM,EAAE,MAAM,IAAIgtC,EAAE,wCAAwChtC,EAAE,KAAK,EAAE,EAAE,KAAK,MAAMA,EAAE,OAAO,KAAK,EAAEA,EAAE,MAAM,KAAK,KAAKA,EAAE,MAAM,KAAK,QAAQA,EAAE,KAAK+xC,GAAG,KAAK,IAAI,EAAE,KAAK,aAAa/xC,EAAE,cAAc,KAAK,SAASA,EAAE,aAAagyC,GAAG,KAAK,YAAY,EAAE,KAAK,KAAKhyC,EAAE,IAAI,CAAC,MAAMA,EAAEV,EAAE,CAAC,IAAI,EAAEmzC,GAAGzyC,CAAC,EAAEP,EAAE,EAAE,CAAC,EAAEwB,EAAE,EAAE,CAAC,EAAEC,EAAE,KAAK,MAAM,GAAG,KAAK,OAAO,QAAQA,GAAG,KAAK,IAAI,EAAEzB,CAAC,EAAE,KAAK,OAAO,SAASyB,GAAG,KAAK,IAAI,EAAED,CAAC,EAAEC,GAAG,KAAK,IAAI,GAAGzB,EAAEwB,GAAG,CAAC,EAAE,KAAK,eAAe,SAAS,CAAC,IAAIE,EAAE,KAAK,KAAKD,CAAC,EAAE,GAAG5B,EAAEA,GAAG,UAAUA,IAAI,WAAWA,IAAI,QAAQ,MAAM,IAAI2tC,GAAG,GAAG,KAAK,aAAa,CAAC,2BAA2B3tC,CAAC,GAAG,EAAE,OAAOnC,GAAG6C,EAAE,EAAEmB,EAAE7B,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI6B,EAAE,KAAK,KAAK,EAAED,CAAC,EAAE,OAAOtJ,GAAGoI,EAAE,CAACmB,EAAEA,EAAE7B,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,aAAa,KAAK,aAAa,KAAK,KAAK,IAAI,CAAC,CAAC,EAAEozC,GAAG,UAAU,kBAAkB/4C,GAAE,cAAc+4C,EAAE,EAAE,IAAIC,GAAG,cAAcD,EAAE,CAAC,YAAY1yC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,SAAS,aAAa,UAAU,KAAKA,GAAG,KAAK,KAAKA,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO0yC,GAAG,SAAS,CAAC,EAAEC,GAAG,UAAU,gBAAgBh5C,GAAE,cAAcg5C,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,YAAY1yC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,SAAS,aAAa,SAAS,KAAKA,GAAG,KAAK,KAAKA,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO0yC,GAAG,SAAS,CAAC,EAAEE,GAAG,UAAU,eAAej5C,GAAE,cAAci5C,EAAE,EAAE,IAAIC,GAAG,cAAcH,EAAE,CAAC,YAAY1yC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,QAAQ,aAAa,SAAS,KAAKA,GAAG,KAAK,KAAKA,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO0yC,GAAG,SAAS,CAAC,EAAEG,GAAG,UAAU,WAAWl5C,GAAE,cAAck5C,EAAE,EAAE,IAAIC,GAAG,cAAcJ,EAAE,CAAC,YAAY1yC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,QAAQ,aAAa,UAAU,KAAKA,GAAG,KAAK,KAAKA,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO0yC,GAAG,SAAS,CAAC,EAAEI,GAAG,UAAU,YAAYn5C,GAAE,cAAcm5C,EAAE,EAAE,IAAIC,GAAG,cAAcL,EAAE,CAAC,YAAY1yC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,QAAQ,aAAa,SAAS,KAAKA,GAAG,KAAK,KAAKA,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO0yC,GAAG,SAAS,CAAC,EAAEK,GAAG,UAAU,cAAcp5C,GAAE,cAAco5C,EAAE,EAAE,IAAIC,GAAG,cAAcN,EAAE,CAAC,YAAY1yC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,QAAQ,aAAa,UAAU,KAAKA,GAAG,KAAK,KAAKA,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO0yC,GAAG,SAAS,CAAC,EAAEM,GAAG,UAAU,eAAer5C,GAAE,cAAcq5C,EAAE,EAAE,IAAIC,GAAG,cAAchB,EAAE,CAAC,YAAYjyC,EAAE,CAAC,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,IAAI,KAAK,KAAKA,EAAE,MAAM,KAAK,KAAK,aAAaA,EAAE,KAAK,KAAK,KAAKA,EAAE,IAAI,CAAC,MAAMA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,GAAGmD,EAAE,OAAO,EAAE,MAAM,IAAIitC,GAAG,4BAA4B,EAAE,GAAG3tC,IAAI,SAASA,IAAI,WAAWA,IAAI,OAAO,MAAM,IAAI,UAAU,yBAAyBA,CAAC,GAAG,EAAEA,EAAEA,EAAE,IAAI,EAAE3B,EAAE,cAAcqC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAEP,EAAEO,EAAEA,EAAE,OAAO,CAAC,EAAEiB,EAAE,EAAExB,EAAEwB,EAAE,KAAK,oBAAoB,QAAQ,KAAK,qEAAqE,KAAK,kBAAkB,KAAKA,CAAC,kCAAkC,EAAE,IAAIC,EAAE,CAAC,KAAK,IAAIzB,EAAE,CAAC,EAAE,KAAK,IAAIA,EAAE,CAAC,CAAC,EAAE0B,EAAE+vC,GAAGhwC,EAAE,EAAE,EAAE5B,EAAE,KAAK,IAAI,EAAE8B,EAAE1N,GAAG,GAAGyN,EAAE,EAAE,EAAE,EAAEC,EAAE,CAAC,EAAEW,EAAEX,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI3B,EAAE,CAAC,EAAE,KAAK,IAAIA,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAIA,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE3J,EAAE,EAAEiM,EAAE,KAAK,CAAC,EAAE,EAAEtC,IAAI,EAAE,EAAE,UAAU,GAAG3J,EAAEsD,GAAG,KAAK,IAAI,EAAE,EAAE,QAAQ4G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,EAAEizC,GAAG,UAAU,aAAat5C,GAAE,cAAcs5C,EAAE,EAAE,IAAIC,GAAG,CAAC,SAAS,WAAW,aAAa,eAAe,cAAc,gBAAgB,SAAS,WAAW,UAAU,YAAY,SAAS,WAAW,YAAY,cAAc,aAAa,eAAe,KAAK,OAAO,WAAW,aAAa,aAAa,eAAe,cAAc,gBAAgB,gBAAgB,kBAAkB,gBAAgB,kBAAkB,MAAM,OAAO,EAAE,SAASC,GAAG/zC,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO0uC,GAAG1uC,EAAEzF,GAAE,iBAAiB,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,SAASy5C,GAAGh0C,EAAE,CAAC,OAAOwuC,GAAGxuC,CAAC,CAAC,CAAC,SAASi0C,GAAGj0C,EAAE,CAAC,GAAG,OAAOA,GAAG,SAAS,CAAC,IAAI,EAAEA,KAAK8zC,GAAGA,GAAG9zC,CAAC,EAAEA,EAAE,GAAG,IAAI,eAAe,OAAO,IAAIwzC,GAAG,GAAG,IAAI,gBAAgB,OAAO,IAAID,GAAG,GAAG,IAAI,WAAW,OAAO,IAAIE,GAAG,GAAG,IAAI,YAAY,OAAO,IAAIC,GAAG,GAAG,IAAI,cAAc,OAAO,IAAIC,GAAG,GAAG,IAAI,eAAe,OAAO,IAAIC,GAAG,CAAC,IAAI1zC,EAAE,CAAC,EAAE,OAAOA,EAAE,UAAU,EAAEA,EAAE,OAAO,CAAC,EAAE6zC,GAAG7zC,CAAC,CAAC,CAAC,KAAM,QAAOF,aAAa6yC,GAAG7yC,EAAE+zC,GAAG/zC,CAAC,CAAC,CAAC,SAASk0C,GAAGl0C,EAAE,CAAC,OAAO,MAAM,QAAQA,CAAC,GAAG,MAAM,QAAQA,EAAE,CAAC,CAAC,CAAC,CAAC,SAASm0C,GAAGn0C,EAAE,CAAC,OAAOA,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,QAAQA,EAAE,CAAC,CAAC,EAAEA,EAAE,CAACA,CAAC,CAAC,CAAC,SAASo0C,GAAGp0C,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,QAAQA,CAAC,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAE,MAAM,IAAI4tC,EAAE,uCAAuC5tC,EAAE,MAAM,EAAE,EAAE,EAAEA,EAAE,CAAC,CAAC,MAAM,EAAEA,EAAE,OAAO,CAAC,CAAC,SAASq0C,GAAGr0C,EAAE,CAAC,GAAG,MAAM,QAAQA,CAAC,GAAG,MAAM,QAAQA,EAAE,CAAC,CAAC,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAE,OAAOA,EAAEA,EAAEA,EAAE,CAAC,EAAE,MAAM,IAAI4tC,EAAE,iCAAiC5tC,EAAE,MAAM,EAAE,CAAC,KAAM,QAAOA,CAAC,CAAC,SAASs0C,GAAGt0C,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQE,KAAKF,EAAEE,EAAE,MAAM,SAAS,EAAE,GAAG,EAAE,GAAGA,EAAE,MAAM,OAAO,CAACE,EAAEC,IAAID,EAAEC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAIk0C,GAAG,WAAWnvD,GAAG,KAAK,CAAC,YAAYwb,EAAEV,EAAE,UAAU,EAAEq0C,GAAGl0C,EAAE,GAAGwB,EAAE,KAAK,CAAC,KAAK,MAAM3B,GAAG,KAAK,UAAUA,EAAE,KAAK,MAAMU,EAAE,MAAM,KAAK,GAAG0uC,GAAG,EAAE,EAAE,GAAG,KAAKiF,GAAG,EAAE,KAAK,aAAahE,GAAG,CAAC,EAAE,KAAK,KAAKE,GAAG,KAAK,YAAY,EAAE,KAAK,WAAWpwC,EAAE,KAAK,WAAWwB,EAAE,KAAK,IAAInD,GAAGkC,EAAE,KAAK,WAAW,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,kBAAkB,EAAE,KAAK,GAAG,CAAC,MAAMA,EAAE,CAAC,OAAO,KAAK,kBAAkB,EAAE4zC,GAAG,KAAK,IAAI5zC,CAAC,EAAE,KAAK,IAAI,KAAKA,EAAE,KAAK,KAAK,IAAI,OAAOA,CAAC,EAAE,KAAK,YAAY,MAAM,KAAK,IAAI,OAAO,KAAK,WAAW,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,kBAAkB,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,IAAI,WAAW,MAAM,IAAI,MAAM,kBAAkB,KAAK,IAAI,uBAAuB,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,KAAK,UAAU,CAAC,IAAI,UAAUA,EAAE,CAAC,KAAK,WAAWA,EAAE,KAAK,IAAI,UAAUA,CAAC,CAAC,EAAE,SAAS4zC,GAAGx0C,EAAE,EAAE,CAAC,GAAGA,EAAE,MAAM,SAAS,IAAI,EAAE,MAAM,SAAS,EAAE,MAAM,IAAI,MAAM,mBAAmB,KAAK,UAAUA,EAAE,KAAK,EAAE,QAAQ,KAAK,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,SAASy0C,GAAGz0C,EAAE,CAAC,OAAOA,EAAE,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS00C,GAAG10C,EAAE,CAACA,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAInb,GAAG,KAAK,CAAC,YAAY+b,EAAE,CAAC,KAAK,MAAMA,EAAE,MAAM,KAAK,MAAMA,EAAE,MAAMA,EAAE,OAAO,KAAK,KAAK,KAAKA,EAAE,MAAM,OAAO,KAAK,KAAKA,EAAE,KAAK,KAAK,QAAQA,EAAE,QAAQ,KAAK,QAAQA,EAAE,QAAQ,KAAK,KAAKA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEnV,GAAG,KAAK,CAAC,YAAYmV,EAAEV,EAAE,EAAEG,EAAEwB,EAAEC,EAAEC,EAAE,CAAC,KAAK,MAAMnB,EAAE,KAAK,MAAMV,EAAE,KAAK,YAAY,EAAE,KAAK,OAAOG,EAAE,KAAK,SAASwB,EAAE,KAAK,kBAAkBE,EAAE,KAAK,GAAGutC,GAAG,EAAExtC,GAAG,OAAO,KAAK,aAAayuC,GAAGzuC,CAAC,EAAE,KAAK,KAAK2uC,GAAG,KAAK,YAAY,GAAG,KAAK,KAAKvwC,EAAE,MAAM,CAAC,EAAEy0C,GAAG,EAAEC,GAAG,KAAK,CAAC,YAAYh0C,EAAEV,EAAE,CAAC,KAAK,SAASA,EAAE,KAAK,GAAGy0C,KAAK,KAAK,cAAc/zC,EAAE,cAAc,KAAK,cAAcA,EAAE,cAAc,KAAK,YAAYA,EAAE,YAAY,KAAK,cAAcA,EAAE,cAAc,KAAK,aAAaA,EAAE,aAAa,KAAK,cAAcA,EAAE,cAAc,KAAK,WAAWA,EAAE,WAAW,KAAK,YAAYA,EAAE,YAAY,KAAK,YAAYA,EAAE,YAAY,KAAK,aAAaA,EAAE,aAAa,QAAQ,KAAKA,EAAE,cAAc,GAAG,MAAM,EAAE,cAAc,KAAK,IAAI,EAAEA,EAAE,cAAc,aAAa,KAAK,IAAI,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,EAAE,QAAQV,KAAK,KAAK,cAAcA,GAAG,KAAKU,EAAE,KAAKV,EAAE,IAAI,EAAEU,EAAE,KAAK,IAAI,EAAE,MAAM,CAAC,cAAc,KAAK,cAAc,KAAK,cAAc,KAAK,KAAK,cAAcA,EAAE,YAAY,KAAK,YAAY,cAAc,KAAK,aAAa,CAAC,CAAC,EAAEi0C,GAAG,EAAEC,GAAG,cAAcv6C,GAAE,YAAY,CAAC,YAAYqG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,UAAU,KAAK,KAAK,kBAAkB,CAAC,EAAE,KAAK,UAAU,GAAG,KAAK,GAAGi0C,KAAK,KAAK,oBAAoB,KAAK,KAAK,UAAU,KAAK,KAAK,gBAAgB,GAAG,KAAK,kBAAkB,CAAC,EAAE,KAAK,qBAAqB,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,OAAO,GAAG,KAAK,aAAa,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,IAAI30C,EAAEU,EAAE,KAAK,GAAG,CAACV,EAAE,CAAC,IAAI,EAAE,KAAK,aAAa,EAAEA,EAAEmuC,GAAG,CAAC,EAAE,IAAImB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,KAAKtvC,EAAE,KAAK,WAAWU,EAAE,WAAW,KAAK,GAAGA,EAAE,UAAUA,EAAE,YAAY,MAAMA,EAAE,iBAAiB,KAAK,CAAC,IAAI,EAAE,GAAGA,EAAE,iBAAiB,KAAK,EAAEA,EAAE,wBAAwBA,EAAE,YAAY,KAAK,CAAC,IAAIiB,EAAE,KAAKjB,EAAE,WAAW,OAAOiB,EAAEjB,EAAE,WAAW,EAAE,CAACiB,CAAC,EAAE,OAAOjB,EAAE,UAAU,CAAC,CAAC,KAAK,gBAAgB,EAAE,IAAIP,EAAEO,EAAE,MAAMP,GAAG,OAAOA,EAAEO,EAAE,YAAYP,GAAG,OAAOA,EAAE,WAAW,KAAK,MAAMA,CAAC,CAACO,EAAE,SAAS,KAAK,KAAK,eAAeA,EAAE,QAAQ,KAAK,eAAe,KAAK,KAAK,UAAU,KAAK,KAAK,0BAA0B,EAAE,CAAC,OAAO,QAAQA,EAAEV,EAAE,CAAC,OAAOU,EAAE,KAAK,OAAOV,EAAE,SAAS,CAAC,CAAC,eAAeU,EAAEV,EAAE,CAAC,GAAG,KAAK,aAAa,SAAS,EAAE,MAAM,IAAIytC,GAAG,2DAA2DztC,CAAC,GAAG,EAAE,GAAG,KAAK,aAAa,QAAQU,EAAE,MAAM,IAAIgtC,EAAE,gBAAgB1tC,CAAC,YAAYU,CAAC,4BAA4B,KAAK,aAAa,MAAM,iBAAiB,EAAE,OAAO,KAAK,aAAaA,CAAC,CAAC,CAAC,WAAWA,EAAE,CAAC,OAAOutC,GAAG,KAAK,eAAevtC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,YAAYA,EAAE,CAAC,OAAOutC,GAAG,KAAK,eAAevtC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,KAAK,aAAa,OAAO,EAAE,MAAM,IAAI8sC,GAAG,SAAS,KAAK,IAAI,uHAAuH,EAAE,GAAG,KAAK,aAAa,SAAS,EAAE,MAAM,IAAIA,GAAG,SAAS,KAAK,IAAI,wCAAwC,EAAE,OAAOS,GAAG,KAAK,eAAe,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,KAAK,aAAa,SAAS,EAAE,MAAM,IAAIT,GAAG,SAAS,KAAK,IAAI,wBAAwB,EAAE,GAAG,KAAK,aAAa,OAAO,EAAE,MAAM,IAAIA,GAAG,SAAS,KAAK,IAAI,yHAAyH,EAAE,OAAOS,GAAG,KAAK,eAAe,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,iBAAiB,CAAC,OAAO,KAAK,OAAO,IAAIvtC,GAAGA,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,MAAMA,EAAE,CAAC,KAAK,OAAOA,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,KAAK,UAAU,CAAC,IAAI,UAAUA,EAAE,CAAC,KAAK,kBAAkB,QAAQV,GAAGA,EAAE,UAAUU,CAAC,EAAE,KAAK,WAAWA,CAAC,CAAC,IAAI,kBAAkB,CAAC,OAAO,KAAK,WAAW,KAAK,kBAAkB,OAAOA,GAAGA,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,iBAAiBA,EAAE,CAAC,KAAK,kBAAkBA,CAAC,CAAC,IAAI,qBAAqB,CAAC,OAAO,KAAK,UAAU,KAAK,kBAAkB,OAAOA,GAAG,CAACA,EAAE,SAAS,EAAE,OAAO,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,OAAO,KAAK,oBAAoB,CAAC,CAAC,IAAI,oBAAoBA,EAAE,CAAC,KAAK,qBAAqBA,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,iBAAiB,OAAO,KAAK,mBAAmB,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,sEAAsE,CAAC,CAAC,yBAAyBA,EAAE,CAAC,IAAIV,EAAEkuC,GAAGxtC,CAAC,EAAE,GAAG,KAAK,WAAW,MAAM,KAAK,UAAU,SAAS,EAAE,OAAO,IAAI,EAAEwtC,GAAG,KAAK,SAAS,EAAE,GAAGluC,EAAE,SAAS,EAAE,OAAO,MAAM,IAAI0tC,EAAE,SAAS,KAAK,IAAI,YAAY,EAAE,MAAM,4BAA4B1tC,EAAE,MAAM,mCAAmCU,CAAC,EAAE,EAAE,QAAQP,EAAE,EAAEA,EAAEH,EAAE,OAAOG,IAAI,CAAC,IAAIwB,EAAE3B,EAAEG,CAAC,EAAEyB,EAAE,EAAEzB,CAAC,EAAE,GAAGyB,GAAG,KAAK,SAAS,IAAIC,EAAEF,EAAE,KAAK,GAAGC,EAAE,MAAM,MAAMC,IAAID,EAAE,KAAK,MAAM,IAAI8rC,EAAE,SAASvtC,CAAC,+BAA+B,KAAK,IAAI,mBAAmByB,EAAE,IAAI,gBAAgBC,CAAC,EAAE,EAAE,GAAGD,EAAE,SAAS,MAAMC,EAAED,EAAE,QAAQ,MAAM,IAAI8rC,EAAE,SAASvtC,CAAC,+BAA+B,KAAK,IAAI,uBAAuByB,EAAE,OAAO,gBAAgBC,CAAC,EAAE,EAAE,GAAGD,EAAE,SAAS,MAAMC,EAAED,EAAE,QAAQ,MAAM,IAAI8rC,EAAE,SAASvtC,CAAC,+BAA+B,KAAK,IAAI,uBAAuByB,EAAE,OAAO,gBAAgBC,CAAC,GAAG,EAAE,GAAGD,EAAE,OAAO,MAAMD,EAAE,QAAQC,EAAE,MAAM,MAAM,IAAI8rC,EAAE,SAASvtC,CAAC,+BAA+B,KAAK,IAAI,qBAAqByB,EAAE,KAAK,iBAAiBD,EAAE,KAAK,GAAG,EAAE,GAAGC,EAAE,KAAK,CAAC,IAAIE,EAAEH,EAAE,MAAM,QAAQ,KAAKC,EAAE,KAAK,CAAC,IAAIY,EAAE,OAAO,CAAC,EAAE,EAAEZ,EAAE,KAAK,CAAC,EAAEc,EAAEF,GAAG,EAAEV,EAAEU,CAAC,EAAEV,EAAEA,EAAE,OAAOU,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQE,CAAC,IAAI,GAAG,MAAM,IAAIgrC,EAAE,SAASvtC,CAAC,+BAA+B,KAAK,IAAI,mBAAmBqC,CAAC,iCAAiC,CAAC,kBAAkBV,CAAC,GAAG,CAAC,CAAC,CAAC,GAAGF,EAAE,OAAO,KAAK,QAAQE,EAAE,EAAEA,EAAEF,EAAE,MAAM,OAAO,EAAEE,EAAE,CAAC,IAAI,EAAEF,EAAE,MAAME,CAAC,EAAEU,EAAEb,EAAE,MAAMG,CAAC,EAAE,GAAG,GAAG,MAAMU,GAAG,MAAM,IAAIA,EAAE,MAAM,IAAIkrC,EAAE,SAASvtC,CAAC,+BAA+B,KAAK,IAAI,oBAAoByB,EAAE,KAAK,iBAAiBD,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAKjB,EAAEV,EAAE,CAAC,OAAOU,CAAC,CAAC,eAAeA,EAAEV,EAAE,CAAC,KAAK,WAAW,MAAM,KAAK,UAAUU,EAAEV,CAAC,CAAC,CAAC,YAAYU,EAAE,CAAC,KAAK,UAAUA,CAAC,CAAC,eAAe,CAAC,KAAK,UAAU,IAAI,CAAC,MAAMA,EAAEV,EAAE,CAACA,EAAEA,GAAG,CAAC,EAAE,KAAK,kBAAkB,EAAE,IAAI,EAAEkuC,GAAGxtC,CAAC,EAAEP,EAAE00C,GAAGn0C,CAAC,EAAEiB,EAAEmzC,GAAGp0C,CAAC,EAAE,GAAGP,IAAIwB,EAAE,MAAM,IAAI+rC,EAAE,iEAAiE,EAAE,OAAOyC,GAAG,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,yBAAyBzvC,CAAC,EAAE,IAAIkB,EAAE,CAAC,EAAE,QAAQC,KAAKqsC,GAAGxtC,CAAC,EAAEkB,EAAE,KAAKC,EAAE,KAAK,EAAE,KAAK,MAAMosC,GAAGrsC,CAAC,CAAC,EAAE,KAAK,MAAM,GAAG,KAAK,gBAAgB,KAAK,WAAW,KAAK,cAAc,EAAE,KAAK,YAAY,MAAMD,IAAI,KAAK,UAAU,EAAE,CAAC,GAAG,KAAK,yBAAyBjB,CAAC,EAAEiB,EAAE,CAAC,IAAIC,EAAE,KAAK,KAAKlB,EAAEV,CAAC,EAAE,KAAK,iBAAiB,KAAK,gBAAgBU,EAAEkB,CAAC,EAAE,IAAIC,EAAEqsC,GAAGtsC,CAAC,EAAEE,EAAE,CAAC,EAAE,QAAQ,KAAKD,EAAE,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,EAAE,MAAM,GAAGC,EAAE,KAAK,CAAC,EAAE,GAAGF,EAAEqsC,GAAGnsC,CAAC,EAAE,KAAK,qBAAqB,KAAK,MAAM,IAAI6rC,GAAG,mFAAmF,EAAE,OAAO/rC,CAAC,KAAK,CAAC,IAAIA,EAAEmzC,GAAGr0C,CAAC,EAAEmB,EAAE,KAAK,mBAAmBD,CAAC,EAAEE,EAAE,EAAEkzC,GAAGt0C,CAAC,EAAE,GAAG,KAAK,6BAA6B,MAAM,QAAQA,CAAC,EAAEkB,EAAE,CAAC,EAAEA,CAAC,EAAEC,GAAG,MAAMA,EAAE,OAAO,GAAG,MAAM,QAAQA,EAAE,CAAC,CAAC,EAAEC,EAAED,EAAE,IAAI,CAACW,EAAE,IAAI,IAAIjX,GAAG,EAAEiX,EAAE,KAAK0rC,GAAGxtC,CAAC,EAAEV,EAAE,KAAK,KAAK,CAAC,CAAC,EAAE8B,EAAE,IAAIvW,GAAG,EAAEsW,EAAE,KAAKqsC,GAAGxtC,CAAC,EAAEV,EAAE,KAAK,IAAI,EAAE,KAAK,eAAeU,EAAEoB,EAAE,KAAK,KAAKF,EAAEC,EAAE7B,CAAC,EAAE,KAAK,YAAY,KAAK,qBAAqB,KAAK,MAAM,IAAI2tC,GAAG,mFAAmF,EAAE,OAAO7rC,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6BpB,EAAE,CAAC,GAAG,KAAK,iBAAiB,KAAK,GAAGA,EAAE,SAAS,KAAK,gBAAgB,OAAO,QAAQ,KAAK,iDAAiD,KAAK,UAAUA,CAAC,CAAC,iDAAiD,KAAK,UAAU,KAAK,eAAe,CAAC,kBAAkB,KAAK,IAAI,EAAE,MAAM,CAAC,IAAIV,EAAE,GAAG,KAAK,gBAAgB,QAAQ,CAAC,EAAEG,IAAI,CAAC,GAAG,MAAMO,EAAEP,CAAC,GAAG,MAAMO,EAAEP,CAAC,IAAI,IAAIH,EAAE,GAAG,CAAC,EAAEA,GAAG,QAAQ,KAAK,kCAAkC,KAAK,UAAUU,CAAC,CAAC,6CAA6C,KAAK,IAAI,KAAK,KAAK,UAAU,KAAK,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,KAAK,cAAc,MAAM,KAAK,aAAa,SAAS,EAAE,MAAM,IAAI8sC,GAAG,aAAa,KAAK,IAAI,8DAA8D,EAAE,IAAI9sC,EAAE,CAAC,EAAE,QAAQV,KAAK,KAAK,aAAa,CAAC,IAAI,EAAE,KAAK,UAAUA,EAAE,YAAY,EAAEU,EAAE,QAAQ,CAAC,IAAI,IAAIA,EAAE,KAAK,CAAC,CAAC,CAAC,GAAGA,EAAE,SAAS,EAAE,CAAC,IAAIV,EAAE,KAAK,aAAa,CAAC,EAAE,aAAa,OAAO,MAAM,QAAQA,CAAC,GAAG,MAAM,QAAQA,EAAE,CAAC,CAAC,GAAGA,EAAE,SAAS,EAAEA,EAAE,CAAC,EAAEA,CAAC,KAAM,OAAM,IAAIwtC,GAAG,aAAa,KAAK,IAAI,4HAA4H,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,MAAM,MAAM,IAAIC,GAAG,sCAAsC,KAAK,IAAI,qFAAqF,EAAE,OAAO2G,GAAG,KAAK,OAAO,CAAC,CAAC,MAAM1zC,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,WAAWA,EAAE,GAAG,CAAC,OAAO6zC,GAAG7zC,EAAE,KAAK,iBAAiB,KAAK,OAAO,CAAC,CAAC,WAAWA,EAAE,CAACnD,EAAE,IAAI,CAAC,IAAIyC,EAAE,KAAK,QAAQ,GAAGA,EAAE,SAASU,EAAE,OAAO,MAAM,IAAIgtC,EAAE,4CAA4C,KAAK,IAAI,kCAAkChtC,EAAE,MAAM,iCAAiCV,EAAE,MAAM,+BAA+BU,CAAC,KAAK,EAAE,GAAGV,EAAE,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC,EAAEG,EAAEo0C,GAAGv0C,CAAC,EAAE,QAAQ2B,EAAE,EAAEA,EAAExB,EAAE,OAAO,EAAEwB,EAAE,CAAC,IAAIC,EAAEzB,EAAEwB,CAAC,EAAEE,EAAE7B,EAAE2B,CAAC,EAAEG,EAAEpB,EAAEiB,CAAC,EAAE,GAAG,CAACtD,EAAE,YAAYuD,EAAE,MAAME,EAAE,KAAK,EAAE,MAAM,IAAI4rC,EAAE,sBAAsB9rC,EAAE,KAAK,8CAA8CE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,CAACD,EAAEC,CAAC,CAAC,CAAC,CAAC0yC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU9zC,EAAEV,EAAE,EAAEG,EAAEwB,EAAEC,EAAEC,EAAEC,EAAE,CAAC,GAAG,KAAK,kBAAkB,QAAQpB,CAAC,IAAI,GAAG,MAAM,IAAIgtC,EAAE,yBAAyBhtC,CAAC,cAAc,KAAK,IAAI,EAAE,EAAE,KAAK,kBAAkB,KAAKA,CAAC,EAAE,GAAG,OAAO,EAAE,WAAW,KAAK,4BAA4BP,EAAE2B,GAAG,KAAKA,EAAE,EAAEiyC,GAAG,OAAO,GAAG,IAAI,EAAE5zC,EAAE,MAAMH,EAAE,CAAC,EAAEwC,EAAE,IAAItd,GAAG,EAAE,EAAEwb,EAAEkB,EAAEC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAEF,GAAG,MAAM,KAAK,QAAQ,IAAIA,EAAE,MAAMa,EAAE,KAAK,CAAC,CAAC,EAAEZ,GAAG,OAAOA,EAAE,IAAIA,EAAE,KAAK,kBAAkB,KAAKY,CAAC,EAAE,KAAK,qBAAqB,KAAKA,CAAC,EAAEA,CAAC,CAAC,6BAA6B9B,EAAE,CAAC,KAAK,0BAA0BA,CAAC,CAAC,QAAQA,EAAE,CAACA,GAAG,MAAM,MAAM,QAAQA,CAAC,GAAGA,EAAE,SAAS,IAAIA,EAAEwtC,GAAGxtC,CAAC,EAAE,KAAK,UAAU,QAAQ,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,GAAGA,CAAC,EAAE,CAAC,mBAAmBA,EAAE,CAAC,OAAOA,CAAC,CAAC,YAAYA,EAAEV,EAAE,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC,GAAGA,GAAG,KAAK,GAAG,MAAM,QAAQA,CAAC,EAAEA,EAAE,QAAQ,GAAG,CAAC,GAAG,GAAG,KAAK,MAAM,IAAI,UAAU,SAAS,KAAK,IAAI,yDAAyD,CAAC,CAAC,MAAO,OAAM,IAAI,UAAU,SAAS,KAAK,IAAI,yDAAyD,EAAE,OAAO,IAAI,CAAC,OAAOA,CAAC,CAAC,gBAAgBU,EAAEV,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,gBAAgB,OAAO,IAAIG,EAAE,KAAK,YAAYO,EAAE,CAAC,EAAEiB,EAAEusC,GAAGluC,CAAC,EAAE4B,EAAEssC,GAAG/tC,CAAC,EAAE,GAAGwB,EAAE,SAASC,EAAE,OAAO,MAAM,IAAI,MAAM,GAAG,KAAK,IAAI,YAAYD,EAAE,MAAM,gBAAgBA,EAAE,MAAM,0BAA0B,EAAE,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAOE,IAAIF,EAAEE,CAAC,EAAE,UAAUD,EAAEC,CAAC,CAAC,CAAC,eAAenB,EAAEV,EAAE,EAAEG,EAAEwB,EAAEC,EAAEC,EAAE,KAAK,CAAC,IAAIC,EAAEosC,GAAGxtC,CAAC,EAAEV,EAAEkuC,GAAGluC,CAAC,EAAE,EAAEkuC,GAAG,CAAC,EAAE/tC,EAAE+tC,GAAG/tC,CAAC,EAAEwB,EAAEsyC,GAAGtyC,CAAC,EAAEC,EAAEqyC,GAAGryC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAEY,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQE,KAAKZ,EAAE,EAAE,KAAKY,EAAE,WAAW,EAAEF,EAAE,KAAKE,EAAE,SAAS,EAAE,EAAE,KAAKA,EAAE,WAAW,EAAE,IAAIgyC,GAAG,CAAC,cAAc,KAAK,cAAc,EAAE,YAAYlyC,EAAE,cAAc,EAAE,aAAaV,EAAE,cAAc9B,EAAE,WAAW,EAAE,YAAYG,EAAE,YAAYwB,EAAE,aAAaC,CAAC,EAAEC,CAAC,EAAE,QAAQa,EAAE,EAAEA,EAAE1C,EAAE,OAAO0C,IAAI1C,EAAE0C,CAAC,EAAE,YAAY,KAAK1C,EAAE0C,CAAC,EAAE,UAAU,KAAK,aAAa,OAAO,EAAE1C,EAAE0C,CAAC,EAAE,YAAYA,CAAC,CAAC,WAAW,CAAC,IAAIhC,EAAE,CAAC,KAAK,KAAK,KAAK,UAAU,KAAK,SAAS,EAAE,OAAO,KAAK,iBAAiB,OAAOA,EAAE,gBAAgB,KAAK,iBAAiB,KAAK,OAAO,OAAOA,EAAE,MAAM,KAAK,OAAOA,CAAC,CAAC,gBAAgB,CAAC,OAAO,KAAK,QAAQ,QAAQA,GAAGA,EAAE,QAAQ,CAAC,EAAE,KAAK,QAAQ,MAAM,CAAC,mBAAmB,CAAC,GAAG,KAAK,YAAY,EAAE,MAAM,IAAI,MAAM,UAAU,KAAK,IAAI,wBAAwB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,MAAM,MAAM,IAAI,MAAM,wBAAwB,KAAK,IAAI,qCAAqC,EAAE,GAAG,KAAK,YAAY,KAAK,MAAM,IAAI,MAAM,wBAAwB,KAAK,IAAI,oCAAoC,EAAE,KAAK,kBAAkB,EAAE,IAAIA,EAAE,EAAE,MAAM,EAAE,KAAK,YAAY,IAAIA,EAAE,KAAK,eAAe,GAAG,CAAC,qBAAqB,KAAK,UAAU,qBAAqBA,CAAC,CAAC,CAAC,EAAE,SAASq0C,GAAGj1C,EAAE,CAACA,EAAEouC,GAAGpuC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQE,KAAKF,EAAE,EAAE,KAAKE,EAAE,KAAK,EAAE,OAAOiuC,GAAG,CAAC,CAAC,CAAC,SAAS+G,GAAGl1C,EAAE,CAAC,MAAM,SAAS,CAAC,SAASm1C,GAAGn1C,EAAE,EAAEE,EAAE,CAAC,IAAI,GAAG,MAAMA,GAAG,MAAMA,EAAE,KAAK,EAAEF,EAAE,YAAYE,EAAEF,EAAE,WAAW,EAAE,aAAa,SAAS,EAAE,MAAM,CAACA,CAAC,EAAE,CAAC,IAAII,EAAE,EAAE,aAAaF,CAAC,EAAE,GAAGE,EAAE,cAAc,SAAS,EAAE,OAAOA,EAAE,aAAa,CAAC,IAAIC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAED,EAAE,cAAc,OAAO,IAAI,CAAC,IAAI,EAAEA,EAAE,aAAa,CAAC,EAAE2B,EAAE3B,EAAE,cAAc,CAAC,EAAE4B,EAAE5B,EAAE,YAAY,CAAC,EAAE6B,EAAEkzC,GAAG,EAAEpzC,EAAEC,CAAC,EAAE,QAAQU,KAAKT,EAAE5B,EAAE,QAAQqC,CAAC,IAAI,IAAIrC,EAAE,KAAKqC,CAAC,CAAC,CAAC,OAAOrC,CAAC,CAAC,CAAC,CAAC,SAAS00C,GAAG/0C,EAAE,CAAC,IAAI,EAAE,GAAG,QAAQE,KAAKkuC,GAAGpuC,CAAC,EAAE,GAAG,EAAEE,aAAazU,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,SAASupD,GAAGh1C,EAAE,CAAC,IAAI,EAAE,GAAG,QAAQE,KAAKkuC,GAAGpuC,CAAC,EAAE,GAAGE,aAAazU,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI2pD,GAAG,cAAcN,EAAE,CAAC,YAAYl0C,EAAE,CAAC,GAAG,MAAM,CAAC,MAAMA,EAAE,MAAM,KAAKA,EAAE,MAAM,KAAKA,EAAE,KAAK4uC,GAAG,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE5uC,EAAE,WAAW,OAAOA,EAAE,UAAU,MAAMA,EAAE,QAAQ,OAAOA,EAAE,OAAO,IAAI,KAAK,UAAU,GAAG,KAAK,MAAM,GAAG,KAAK,OAAOA,EAAE,OAAOA,EAAE,YAAY,MAAMA,EAAE,iBAAiB,KAAK,MAAM,IAAIgtC,EAAE,mGAAmG,EAAE,IAAI1tC,EAAEU,EAAE,gBAAgB,GAAGV,GAAG,KAAK,CAAC,GAAGU,EAAE,YAAY,KAAK,MAAM,IAAIgtC,EAAE,+EAA+E,EAAE1tC,EAAE,CAACU,EAAE,SAAS,EAAE,OAAOA,EAAE,UAAU,CAAC,SAASA,EAAE,WAAW,KAAK,MAAM,IAAIgtC,EAAE,uFAAuF,EAAE,IAAI,EAAEhtC,EAAE,OAAO,UAAU,KAAK,gBAAgBV,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,CAAC,CAAC,MAAMA,CAAC,CAAC,EAAE,IAAIG,EAAE,IAAI5U,GAAG,KAAK,MAAM,KAAK,gBAAgB,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE4U,EAAE,UAAU,EAAEA,EAAE,YAAY,EAAE,IAAIu0C,GAAG,CAAC,cAAc,KAAK,cAAc,CAAC,EAAE,YAAY,CAAC,EAAE,cAAc,CAAC,EAAE,aAAa,CAACv0C,CAAC,EAAE,cAAc,CAACA,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAACH,CAAC,EAAE,aAAa,CAACA,CAAC,CAAC,CAAC,CAAC,CAAC,MAAMU,EAAEV,EAAE,CAAC,MAAM,IAAI0tC,EAAE,6EAA6E,KAAK,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,KAAK,UAAU,qBAAqB,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,KAAK,gBAAgB,MAAM,KAAK,MAAM,OAAO,KAAK,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,EAAEwH,GAAG,UAAU,aAAa76C,GAAE,cAAc66C,EAAE,EAAE,SAASC,GAAGr1C,EAAE,CAAC,GAAGA,EAAE,YAAY,MAAMA,EAAE,OAAO,KAAK,MAAM,IAAI,MAAM,8HAA8H,EAAE,GAAGA,EAAE,YAAY,MAAMA,EAAE,OAAO,KAAK,MAAM,IAAI4tC,EAAE,kFAAkF,EAAE,IAAI,EAAE5tC,EAAE,WAAWA,EAAE,OAAO,MAAM,GAAG,OAAO,EAAE,CAAC,IAAI,EAAE,OAAOA,EAAE,KAAK,GAAG,IAAIE,EAAEF,EAAE,MAAM,OAAOE,GAAG,OAAOA,EAAE,WAAW,IAAIk1C,GAAG,CAAC,gBAAgB,EAAE,KAAKp1C,EAAE,KAAK,MAAME,EAAE,OAAOF,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,SAASs1C,GAAGt1C,EAAE,EAAE,CAAC,GAAGA,EAAE,OAAO,MAAMA,EAAE,QAAQ,EAAE,MAAM,OAAO,EAAE,GAAG,CAAC,OAAOtR,GAAE,EAAEsR,EAAE,KAAK,CAAC,OAAOE,EAAE,CAAC,MAAM,IAAI0tC,EAAE,0BAA0B,EAAE,KAAK,8CAA8C5tC,EAAE,IAAI,MAAMA,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAIu1C,GAAG,MAAMv1C,EAAC,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,aAAaA,GAAE,QAAQE,KAAK,EAAE,SAAS,KAAK,SAASA,CAAC,EAAE,EAAE,SAASA,CAAC,EAAEA,KAAK,EAAE,UAAU,KAAK,QAAQA,CAAC,EAAE,EAAE,QAAQA,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,OAAO,QAAQA,KAAK,EAAE,KAAK,IAAIA,EAAE,IAAIA,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAEA,EAAEE,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE,EAAE,GAAG,KAAK,KAAK,SAAS,EAAE,EAAE,EAAEk1C,GAAG,EAAEp1C,CAAC,EAAE,KAAK,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAGE,GAAG,OAAO,KAAK,QAAQ,EAAE,EAAE,EAAEA,OAAQ,OAAM,IAAIwtC,EAAE,uBAAuB,EAAE,IAAI,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,KAAK,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,aAAaniD,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,EAAE,GAAG,KAAK,MAAM,IAAImiD,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,OAAO,KAAK,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI1tC,EAAE,KAAK,QAAQ,CAAC,EAAE,GAAGA,GAAG,KAAK,MAAM,IAAI0tC,EAAE,yCAAyC,CAAC,EAAE,EAAE,OAAO,KAAK,SAAS1tC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,aAAazU,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,EAAE,GAAG,KAAK,MAAM,IAAImiD,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,OAAO,KAAK,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI1tC,EAAE,KAAK,QAAQ,CAAC,EAAE,GAAGA,GAAG,KAAK,MAAM,IAAI0tC,EAAE,yCAAyC,CAAC,EAAE,EAAE,OAAO,KAAK,QAAQ1tC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,SAAS,MAAMvP,GAAG,KAAK,OAAO,CAAC,CAAC,EAAE6kD,GAAG,IAAIzH,GAAG0H,GAAG,IAAI1H,GAAG,SAAS2H,GAAG11C,EAAE,CAACw1C,IAAI,MAAMA,GAAG,cAAcx1C,CAAC,EAAEy1C,IAAI,MAAMA,GAAG,cAAcz1C,CAAC,CAAC,CAAC,SAAS21C,GAAG31C,EAAE,EAAEE,EAAEE,EAAE,CAAC,IAAIC,EAAEH,GAAG,KAAK,GAAGA,EAAE,SAAS,EAAE,MAAM,QAAQF,CAAC,EAAE,EAAE,EAAEA,EAAE,CAACA,CAAC,EAAE+B,EAAE,EAAE,IAAIe,GAAGA,EAAE,IAAI,EAAEd,EAAE,CAAC,EAAEC,EAAE,EAAE,MAAM,EAAE,QAAQa,KAAKf,EAAEE,EAAE,QAAQa,CAAC,IAAI,GAAGd,EAAE,KAAK,EAAE,SAASc,CAAC,CAAC,EAAEd,EAAE,KAAK,IAAI,EAAE5B,GAAG,OAAOA,EAAE,cAAc,KAAKA,EAAE,cAAc,KAAK,IAAIsC,EAAEX,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,EAAEY,EAAE6yC,GAAG,IAAI9yC,CAAC,EAAEE,EAAE,GAAGD,GAAG,KAAK,CAAC,IAAIG,EAAE8yC,GAAG,EAAE,CAAC,EAAEjzC,EAAEG,EAAE,OAAOF,EAAEE,EAAE,gBAAgB0yC,GAAG,IAAI9yC,EAAEC,CAAC,EAAE8yC,GAAG,IAAI/yC,EAAEE,CAAC,CAAC,CAACA,EAAE,CAAC,EAAEvC,GAAG,OAAO,OAAOuC,EAAE6yC,GAAG,IAAI/yC,CAAC,CAAC,EAAE,IAAIG,EAAE,IAAI0yC,GAAG,CAAC,EAAE,QAAQzyC,EAAE,EAAEA,EAAEH,EAAE,OAAO,EAAEG,EAAE,CAAC,GAAG1C,GAAG,KAAK,CAAC,IAAI,EAAErK,GAAG,EAAE,WAAW,EAAEqK,EAAE,gBAAgBA,EAAE,cAAc,GAAG,EAAEA,EAAE,gBAAgBA,EAAE,cAAc,EAAE,CAAC,IAAI4D,EAAErB,EAAEG,CAAC,EAAE,EAAEkB,EAAE,YAAY,GAAG,aAAaoxC,GAAG,SAAS,IAAI9tC,EAAE,CAAC,EAAExC,EAAE,CAAC,EAAEL,EAAE,CAAC,EAAEC,EAAE,GAAG,QAAQ,KAAKV,EAAE,OAAO,CAAC,IAAIgB,EAAEnC,EAAE,SAAS,CAAC,EAAEoC,EAAEpC,EAAE,QAAQ,CAAC,EAAEyE,EAAE,KAAKtC,CAAC,EAAEF,EAAE,KAAKG,CAAC,EAAEA,GAAG,OAAOP,EAAE,IAAIrE,IAAIuC,EAAE,EAAE,IAAI,IAAIA,EAAE,EAAE,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,CAAC,GAAGb,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI,CAACiD,EAAE,YAAY,EAAE,YAAY,WAAW,IAAIP,EAAE,KAAKO,CAAC,EAAE,CAACN,IAAIxE,EAAEA,GAAG,CAAC,EAAEA,EAAE,KAAK4E,EAAE,CAAC,GAAG,IAAIH,EAAEypC,GAAG,EAAE,MAAM9mC,EAAEpH,CAAC,CAAC,EAAE0E,EAAE,KAAK,EAAE,kBAAkBA,EAAE,EAAE,YAAY0C,EAAExC,CAAC,GAAG,IAAID,EAAEgxC,GAAG7xC,CAAC,EAAEuD,EAAE,MAAM,QAAQ1C,CAAC,EAAEA,EAAE,CAACA,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE0C,EAAE,OAAO,EAAE,EAAE,CAAC1E,EAAE,OAAO0E,EAAE,CAAC,CAAC,GAAG1E,EAAE,IAAI0E,EAAE,CAAC,EAAE5C,EAAE,CAAC,EAAE,MAAM,QAAQC,CAAC,EAAEA,EAAE,CAAC,EAAEA,CAAC,EAAE,IAAII,EAAEjD,EAAE,QAAQwF,EAAE,CAAC,EAAE,IAAI,EAAEvC,IAAI,KAAKhD,EAAEgD,CAAC,EAAEL,EAAE,CAAC,EAAE,CAACtE,GAAG1P,GAAG8T,CAAC,CAAC,CAAC,OAAO5B,EAAE,aAAa,EAAE,EAAEb,EAAEA,EAAE,CAAC,CAAC,CAAC,SAAS4zC,GAAG51C,EAAE,EAAE,CAACzB,EAAE,OAAOyB,GAAG,MAAMA,EAAE,OAAO,EAAE,IAAI,uCAAuC,EAAE,IAAIE,EAAE,CAAC,EAAEE,EAAE,CAAC,EAAE,GAAGJ,EAAE,SAAS,EAAE,CAAC,IAAIK,EAAEy1C,GAAG91C,EAAE,CAAC,EAAE,CAAC,EAAEE,EAAEG,EAAE,OAAOD,EAAEC,EAAE,YAAY,KAAK,CAAC,IAAIA,EAAE,IAAI,IAAI,QAAQ,KAAKL,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa+B,CAAC,EAAE+zC,GAAG,EAAE,CAAC,EAAE,QAAQ9zC,KAAK,EAAE3B,EAAE,IAAI2B,EAAE,IAAI,IAAI9B,EAAE,KAAK8B,CAAC,EAAE3B,EAAE,IAAI2B,EAAE,IAAI,GAAG,QAAQA,KAAKD,EAAE3B,EAAE4B,CAAC,GAAG,OAAO5B,EAAE4B,CAAC,EAAE,IAAI,KAAKD,EAAEC,CAAC,EAAE,QAAQC,GAAG7B,EAAE4B,CAAC,EAAE,IAAIC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO/B,EAAE,gBAAgB61C,GAAG31C,CAAC,CAAC,CAAC,CAAC,SAAS21C,GAAG/1C,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQE,KAAKF,EAAE,EAAEE,CAAC,EAAEF,EAAEE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,SAAS41C,GAAG91C,EAAE,EAAE,CAAC,IAAIE,EAAE,IAAI,IAAIE,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,QAAQ0B,KAAK,EAAE,MAAM,EAAE7B,EAAE,IAAI6B,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK/B,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,IAAI+B,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG7B,EAAE,IAAI6B,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAIC,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAGD,EAAE,OAAO,SAAS,GAAGC,EAAE,EAAE,IAAI,EAAE5B,EAAE,KAAK2B,CAAC,EAAE7B,EAAE,IAAI6B,EAAE,IAAI,EAAEC,GAAG,EAAE,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,QAAQC,KAAKF,EAAE,OAAO1B,EAAE4B,EAAE,IAAI,GAAG,OAAO5B,EAAE4B,EAAE,IAAI,EAAE,IAAI,KAAK5B,EAAE4B,EAAE,IAAI,EAAE,IAAIF,EAAE,IAAI,EAAE,CAAC7B,EAAE,IAAI+B,EAAE,IAAI,GAAG,EAAE,KAAKA,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO7B,EAAE,aAAaC,CAAC,CAAC,CAAC,SAASw1C,GAAG71C,EAAE,CAAC,IAAI,EAAE,GAAGA,EAAE,YAAY,aAAa,SAAS,EAAE,EAAEA,EAAE,YAAY,WAAW,CAAC,IAAIE,EAAE,KAAK,QAAQE,EAAE,EAAEA,EAAEJ,EAAE,YAAY,aAAa,OAAO,EAAEI,EAAE,QAAQC,KAAKL,EAAE,YAAY,aAAaI,CAAC,EAAE,cAAc,GAAGC,EAAE,KAAKL,EAAE,GAAG,CAACE,EAAEE,EAAE,KAAK,CAAC,EAAEJ,EAAE,YAAY,YAAYE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI81C,GAAGxkD,EAAE,EAAEwkD,GAAG,aAAa,qCAAqC,IAAI,IAAIN,EAAE,EAAE,IAAItmD,GAAG,CAAC,EAAE6Q,GAAG7Q,GAAG,CAAC,QAAQ,IAAI6mD,GAAG,WAAW,IAAIC,GAAG,OAAO,IAAIC,GAAG,SAAS,IAAIC,EAAE,CAAC,EAAE,SAASC,GAAGr2C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAIvB,GAAGS,GAAGjG,EAAEsJ,EAAEA,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAIs2C,GAAG,cAAc/7C,GAAE,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAEg8C,GAAG,cAAcD,EAAE,CAAC,YAAY11C,EAAE,CAAC,MAAM,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,SAASA,EAAE,UAAU,KAAKA,EAAE,SAAS,KAAK,gBAAgB,KAAK,KAAKA,EAAE,MAAM,KAAKA,EAAE,KAAK,KAAK,WAAW,CAAC,MAAMA,EAAE,CAAC,OAAOnD,EAAE,IAAI,CAAC,IAAIyC,EAAEm2C,GAAGz1C,EAAE,KAAK,IAAI,EAAE,EAAEhS,GAAGsR,EAAE,EAAE,KAAK,QAAQ,EAAE,OAAOxJ,EAAEkK,EAAE/P,GAAG,EAAE,EAAEogD,GAAG,EAAE/wC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,EAAEq2C,GAAG,UAAU,UAAUh8C,GAAE,cAAcg8C,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,YAAY11C,EAAE,CAAC,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,KAAKA,EAAE,MAAM,KAAKA,EAAE,KAAK,KAAK,WAAW,CAAC,MAAMA,EAAE,CAAC,OAAOnD,EAAE,IAAI5M,GAAG+P,EAAE,EAAEqwC,GAAG,EAAEoF,GAAGz1C,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,EAAE41C,GAAG,UAAU,WAAWj8C,GAAE,cAAci8C,EAAE,EAAE,IAAIC,GAAG,cAAcH,EAAE,CAAC,MAAM11C,EAAE,CAAC,OAAOxH,GAAGwH,CAAC,CAAC,CAAC,EAAE61C,GAAG,UAAU,SAASl8C,GAAE,cAAck8C,EAAE,EAAE,IAAIC,GAAG,cAAcJ,EAAE,CAAC,YAAY11C,EAAE,CAAC,MAAM,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,SAASA,EAAE,UAAU,KAAKA,EAAE,SAAS,KAAK,gBAAgB,KAAK,SAASA,EAAE,UAAU,KAAKA,EAAE,SAAS,KAAK,gBAAgB,KAAK,KAAKA,EAAE,MAAM,KAAKA,EAAE,KAAK,KAAK,YAAY,KAAK,KAAKA,EAAE,MAAM,KAAKA,EAAE,KAAK,KAAK,WAAW,CAAC,MAAMA,EAAE,CAAC,OAAOnD,EAAE,IAAI,CAAC,IAAIyC,EAAEm2C,GAAGz1C,EAAE,KAAK,IAAI,EAAE,EAAE,EAAElK,EAAE,KAAK,KAAK9H,GAAGsR,EAAE,KAAK,SAAS,KAAK,QAAQ,CAAC,EAAExJ,EAAE,EAAE,KAAK,KAAKwJ,CAAC,CAAC,EAAE,OAAOxJ,EAAEkK,EAAE/P,GAAG,EAAE,EAAEogD,GAAG,EAAE/wC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,SAAS,KAAK,SAAS,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,EAAEw2C,GAAG,UAAU,aAAan8C,GAAE,cAAcm8C,EAAE,EAAE,IAAIC,GAAG,CAAC,QAAQ,UAAU,WAAW,aAAa,OAAO,SAAS,SAAS,UAAU,EAAE,SAASC,GAAG52C,EAAE,CAAC,OAAOwuC,GAAGxuC,CAAC,CAAC,CAAC,SAAS62C,GAAG72C,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO0uC,GAAG1uC,EAAEzF,GAAE,iBAAiB,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,SAASu8C,GAAG92C,EAAE,CAAC,GAAGA,GAAG,KAAK,OAAO,KAAK,GAAG,OAAOA,GAAG,SAAS,CAAC,IAAIE,EAAE,CAAC,UAAUF,KAAK22C,GAAGA,GAAG32C,CAAC,EAAEA,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO62C,GAAG32C,CAAC,CAAC,KAAM,QAAOF,aAAas2C,GAAGt2C,EAAE62C,GAAG72C,CAAC,CAAC,CAAC,SAASi2C,GAAGj2C,EAAE,CAAC,OAAO,IAAIu2C,GAAGv2C,CAAC,CAAC,CAAC,SAASo2C,GAAGp2C,EAAE,CAAC,OAAO,IAAIw2C,GAAGx2C,CAAC,CAAC,CAAC,SAASm2C,IAAI,CAAC,OAAO,IAAIM,EAAE,CAAC,SAASP,GAAGl2C,EAAE,CAAC,OAAO,IAAI02C,GAAG12C,CAAC,CAAC,CAAC,IAAIvM,GAAG,CAAC,EAAEwM,GAAGxM,GAAG,CAAC,SAAS,IAAIsjD,GAAG,aAAa,IAAIC,GAAG,cAAc,IAAIC,GAAG,SAAS,IAAIC,GAAG,UAAU,IAAIC,GAAG,SAAS,IAAIC,GAAG,YAAY,IAAIC,GAAG,aAAa,IAAIC,GAAG,KAAK,IAAIC,GAAG,WAAW,IAAIC,GAAG,aAAa,IAAIC,GAAG,cAAc,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,MAAM,IAAIC,EAAE,CAAC,EAAE,SAASA,IAAI,CAAC,OAAO,IAAI/E,EAAE,CAAC,SAASyE,IAAI,CAAC,OAAO,IAAIxE,EAAE,CAAC,SAASgE,GAAG/2C,EAAE,CAAC,OAAO,IAAIgzC,GAAGhzC,CAAC,CAAC,CAAC,SAAS03C,GAAG13C,EAAE,CAAC,OAAO,IAAIizC,GAAGjzC,CAAC,CAAC,CAAC,SAASy3C,GAAGz3C,EAAE,CAAC,OAAO,IAAIkzC,GAAGlzC,CAAC,CAAC,CAAC,SAAS23C,GAAG33C,EAAE,CAAC,OAAO,IAAImzC,GAAGnzC,CAAC,CAAC,CAAC,SAASo3C,GAAGp3C,EAAE,CAAC,OAAO,IAAIozC,GAAGpzC,CAAC,CAAC,CAAC,SAAS43C,GAAG53C,EAAE,CAAC,OAAO,IAAIszC,GAAGtzC,CAAC,CAAC,CAAC,SAASi3C,GAAGj3C,EAAE,CAAC,OAAO,IAAIuzC,GAAGvzC,CAAC,CAAC,CAAC,SAASg3C,GAAGh3C,EAAE,CAAC,OAAO,IAAIwzC,GAAGxzC,CAAC,CAAC,CAAC,SAASk3C,GAAGl3C,EAAE,CAAC,OAAO,IAAIyzC,GAAGzzC,CAAC,CAAC,CAAC,SAASm3C,GAAGn3C,EAAE,CAAC,OAAO,IAAI0zC,GAAG1zC,CAAC,CAAC,CAAC,SAASq3C,GAAGr3C,EAAE,CAAC,OAAO,IAAI2zC,GAAG3zC,CAAC,CAAC,CAAC,SAASs3C,GAAGt3C,EAAE,CAAC,OAAO,IAAI4zC,GAAG5zC,CAAC,CAAC,CAAC,SAASw3C,GAAGx3C,EAAE,CAAC,OAAO,IAAI6zC,GAAG7zC,CAAC,CAAC,CAAC,IAAI9L,GAAG,CAAC,EAAE+L,GAAG/L,GAAG,CAAC,MAAM,IAAI4gD,GAAG,IAAI,IAAIzsD,GAAG,QAAQ,IAAIyvD,GAAG,WAAW,IAAIC,GAAG,IAAI,IAAIC,GAAG,aAAa,IAAIC,GAAG,QAAQ,IAAIC,GAAG,iBAAiB,IAAIC,GAAG,iBAAiB,IAAIC,GAAG,iBAAiB,IAAIC,GAAG,UAAU,IAAIC,GAAG,UAAU,IAAIC,GAAG,UAAU,IAAIC,GAAG,aAAa,IAAIC,GAAG,aAAa,IAAIC,GAAG,aAAa,IAAIC,GAAG,mBAAmB,IAAIC,GAAG,cAAc,IAAIC,GAAG,iBAAiB,IAAIC,GAAG,WAAW,IAAIC,GAAG,YAAY,IAAIC,GAAG,OAAO,IAAIC,GAAG,OAAO,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,OAAO,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,WAAW,IAAIC,GAAG,eAAe,IAAIC,GAAG,WAAW,IAAIC,GAAG,MAAM,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,IAAI,IAAIC,GAAG,QAAQ,IAAIC,GAAG,IAAI,IAAIC,GAAG,UAAU,IAAIC,GAAG,QAAQ,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,cAAc,IAAIC,GAAG,uBAAuB,IAAIC,GAAG,uBAAuB,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,mBAAmB,IAAIC,GAAG,mBAAmB,IAAIC,GAAG,IAAI,IAAIC,GAAG,QAAQ,IAAIC,GAAG,MAAM,IAAI/mD,GAAG,WAAW,IAAIgnD,GAAG,mBAAmB,IAAIC,GAAG,UAAU,IAAIC,GAAG,KAAK,IAAIC,GAAG,SAAS,IAAIC,GAAG,QAAQ,IAAIC,GAAG,UAAU,IAAIC,GAAG,UAAU,IAAIC,GAAG,aAAa,IAAIC,GAAG,aAAa,IAAIC,GAAG,aAAa,IAAIC,GAAG,QAAQ,IAAIC,GAAG,QAAQ,IAAIC,GAAG,SAAS,IAAIC,GAAG,QAAQ,IAAIC,GAAG,MAAM,IAAIC,GAAG,YAAY,IAAIC,GAAG,KAAK,IAAIC,GAAG,aAAa,IAAIC,GAAG,UAAU,IAAIC,GAAG,QAAQ,IAAIC,GAAG,SAAS,IAAIC,GAAG,IAAI,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,UAAU,IAAIC,GAAG,cAAc,IAAIC,GAAG,QAAQ,IAAIC,GAAG,iBAAiB,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,aAAa,IAAIC,GAAG,cAAc,IAAIC,EAAE,CAAC,EAAE,eAAeC,GAAG38C,EAAE,CAAC,GAAGA,GAAG,KAAK,OAAO,IAAI,EAAE,CAAC,EAAEE,EAAE,CAAC,EAAEE,EAAE,CAAC,EAAE,QAAQC,KAAKL,EAAE,CAAC,IAAI,EAAEA,EAAEK,CAAC,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,EAAEH,EAAE,KAAKG,CAAC,EAAED,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,IAAIC,EAAE,MAAM,QAAQ,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAEL,EAAEE,EAAE,CAAC,CAAC,EAAEG,EAAE,CAAC,EAAE,CAAC,EAAE1P,GAAGyP,CAAC,CAAC,CAAC,CAAC,SAASw8C,GAAG58C,EAAE,CAAC,GAAGA,GAAG,KAAK,QAAQ,KAAKA,EAAE,CAAC,IAAIE,EAAEF,EAAE,CAAC,EAAE,OAAOE,GAAG,UAAUA,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI28C,IAAI,SAAS78C,EAAE,CAACA,EAAEA,EAAE,OAAO,CAAC,EAAE,SAASA,EAAEA,EAAE,QAAQ,CAAC,EAAE,SAAS,GAAG68C,KAAKA,GAAG,CAAC,EAAE,EAAE,IAAIC,GAAG,IAAIC,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,eAAe,IAAI,CAAC,UAAUn8C,EAAE,CAAC,KAAK,OAAOA,CAAC,CAAC,MAAM,aAAaA,EAAEV,EAAE,CAAC,CAAC,MAAM,WAAWU,EAAEV,EAAE,CAAC,CAAC,MAAM,aAAaU,EAAEV,EAAE,CAAC,CAAC,MAAM,WAAWU,EAAEV,EAAE,CAAC,CAAC,MAAM,aAAaU,EAAE,CAAC,CAAC,MAAM,WAAWA,EAAE,CAAC,CAAC,SAASA,EAAE,CAAC,CAAC,EAAE3f,GAAG,KAAK,CAAC,YAAY2f,EAAEV,EAAE,GAAG,CAACU,GAAG,OAAOA,EAAE,CAAC,GAAG,KAAK,UAAUA,EAAE,KAAK,YAAYV,CAAC,CAAC,OAAOU,EAAE,CAAC,KAAK,UAAU,KAAKA,CAAC,CAAC,CAAC,UAAUA,EAAE,CAAC,QAAQV,KAAK,KAAK,UAAUA,EAAE,UAAUU,CAAC,CAAC,CAAC,SAASA,EAAE,CAAC,QAAQV,KAAK,KAAK,UAAUA,EAAE,SAASU,CAAC,CAAC,CAAC,MAAM,aAAaA,EAAEV,EAAE,CAACA,GAAG,OAAOA,EAAE,CAAC,GAAG,QAAQ,KAAK,KAAK,UAAU,MAAM,EAAE,aAAaU,EAAEV,CAAC,CAAC,CAAC,MAAM,WAAWU,EAAEV,EAAE,CAACA,GAAG,OAAOA,EAAE,CAAC,GAAG,QAAQ,KAAK,KAAK,UAAU,MAAM,EAAE,WAAWU,EAAEV,CAAC,CAAC,CAAC,MAAM,aAAaU,EAAEV,EAAE,CAACA,GAAG,OAAOA,EAAE,CAAC,GAAG,QAAQ,KAAK,KAAK,UAAU,MAAM,EAAE,aAAaU,EAAEV,CAAC,CAAC,CAAC,MAAM,WAAWU,EAAEV,EAAE,CAACA,GAAG,OAAOA,EAAE,CAAC,GAAG,QAAQ,KAAK,KAAK,UAAU,MAAM,EAAE,WAAWU,EAAEV,CAAC,CAAC,CAAC,MAAM,aAAaU,EAAE,CAACA,GAAG,OAAOA,EAAE,CAAC,GAAG,QAAQV,KAAK,KAAK,UAAU,MAAMA,EAAE,aAAaU,CAAC,CAAC,CAAC,MAAM,WAAWA,EAAE,CAACA,GAAG,OAAOA,EAAE,CAAC,GAAG,QAAQV,KAAK,KAAK,UAAU,MAAMA,EAAE,WAAWU,CAAC,CAAC,CAAC,EAAEo8C,GAAG,cAAcD,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,aAAan8C,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,WAAWA,EAAEV,EAAE,CAACA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAI,EAAEA,EAAE,MAAM,KAAK,EAAEA,EAAE,KAAK,KAAK,MAAM,EAAE,QAAQG,KAAKH,EAAE,CAAC,IAAI2B,EAAE3B,EAAEG,CAAC,EAAE,GAAG,OAAOwB,GAAG,SAAS,KAAK,OAAO,eAAexB,CAAC,IAAI,KAAK,OAAOA,CAAC,EAAE,GAAG,KAAK,OAAOA,CAAC,EAAE,KAAK,OAAOA,CAAC,EAAEwB,EAAE,MAAM,CAAC,IAAIC,EAAEzB,KAAK,KAAK,OAAOyB,EAAE,KAAK,OAAOzB,CAAC,EAAE,KAAK,OAAOA,CAAC,EAAE,EAAE,IAAI0B,EAAEtE,EAAE,IAAI,EAAE,KAAK,OAAO4C,CAAC,EAAE3J,EAAEmL,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAOxB,CAAC,EAAE0B,EAAED,GAAG,MAAMA,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,WAAWlB,EAAEV,EAAE,CAAC,GAAGA,GAAG,KAAK,QAAQ,KAAK,KAAK,OAAO,QAAQ,KAAK,OAAO,CAAC,GAAG,OAAO,OAAO,KAAK,OAAO,CAAC,GAAG,SAASA,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,KAAK,KAAKzC,EAAE,IAAI,CAAC,IAAI4C,EAAE3J,EAAE7F,GAAG,EAAE,KAAK,IAAI,EAAE,KAAK,OAAO,CAAC,CAAC,EAAEqP,EAAE,CAAC,EAAEG,EAAE,KAAK,OAAO,CAAC,EAAE,QAAQ,EAAErM,GAAGkM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEzb,GAAG,cAAcs4D,EAAE,CAAC,MAAM,aAAan8C,EAAE,CAAC,KAAK,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,WAAWA,EAAEV,EAAE,CAACA,GAAG,OAAOA,EAAE,CAAC,GAAG,KAAK,MAAM,KAAKU,CAAC,EAAE,QAAQ,KAAKV,EAAE,KAAK,QAAQ,CAAC,GAAG,OAAO,KAAK,QAAQ,CAAC,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,KAAKA,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,IAAIU,EAAE,CAAC,EAAEV,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ2B,KAAK,KAAK,QAAQ,CAAC,IAAIC,EAAE,KAAK,QAAQD,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAED,EAAE,OAAO,EAAEC,EAAE,GAAG,OAAOD,EAAEC,CAAC,GAAG,SAAS,CAAC,IAAIC,EAAEF,EAAEC,CAAC,EAAEnB,EAAE,KAAKoB,EAAE,KAAK,CAAC,EAAE9B,EAAE,KAAK2B,CAAC,EAAE,EAAE,KAAKE,CAAC,CAAC,CAAC,CAAC,IAAI1B,EAAE,MAAM,QAAQ,IAAIO,CAAC,EAAE,QAAQiB,EAAE,EAAEA,EAAExB,EAAE,OAAO,EAAEwB,EAAE,KAAK,QAAQ3B,EAAE2B,CAAC,CAAC,EAAE,EAAEA,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,QAAQ3B,EAAE2B,CAAC,CAAC,EAAE,EAAEA,CAAC,CAAC,EAAExB,EAAEwB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE1f,GAAG,cAAc46D,EAAE,CAAC,YAAYn8C,EAAEV,EAAE,CAAC,GAAG,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQU,EAAE,QAAQ,KAAK,cAAcA,EAAE,eAAe9J,GAAG,KAAK,WAAWoJ,GAAG,OAAO,KAAK,aAAa,SAAS,KAAK,WAAW48C,IAAI,KAAK,aAAa,SAASl8C,EAAE,SAAS,KAAK,MAAM,IAAI,MAAM,iHAAiH,EAAErC,EAAE,SAAS,KAAK,UAAU,IAAI,KAAK,UAAU4wC,GAAG,KAAK,UAAU,KAAK,IAAI,EAAE,KAAK,WAAW,KAAK,OAAO,GAAG,KAAK,WAAWvuC,EAAE,aAAa,KAAK,SAASA,EAAE,WAAW,KAAK,WAAWA,EAAE,aAAa,KAAK,SAASA,EAAE,WAAW,KAAK,WAAWA,EAAE,aAAa,KAAK,SAASA,EAAE,WAAW,KAAK,MAAMA,EAAE,OAAO,CAAC,MAAM,UAAUA,EAAEV,EAAE,EAAE,CAAC,IAAIG,EAAE,CAAC,EAAE,KAAK,OAAO,OAAO,MAAMs8C,GAAG,CAAC,EAAEt8C,EAAE,KAAK,KAAK,MAAMO,EAAEV,EAAE,CAAC,CAAC,GAAGG,EAAE,KAAK,KAAK,cAAc,CAAC,EAAE,MAAM,QAAQ,IAAIA,CAAC,CAAC,CAAC,MAAM,aAAaO,EAAEV,EAAE,CAAC,KAAK,aAAaU,EAAE,KAAK,YAAY,OAAO,MAAM+7C,GAAGz8C,CAAC,EAAE,MAAM,KAAK,WAAWU,EAAEV,CAAC,EAAE,CAAC,MAAM,WAAWU,EAAEV,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,UAAU,OAAO,MAAMy8C,GAAGz8C,CAAC,EAAE,EAAE,KAAK,KAAK,SAASU,EAAEV,CAAC,CAAC,GAAG,KAAK,aAAa,SAAS,EAAE,KAAK,KAAK,cAAc,CAAC,EAAE,MAAM,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,aAAaU,EAAEV,EAAE,CAAC,KAAK,YAAY,OAAO,MAAMy8C,GAAGz8C,CAAC,EAAE,MAAM,KAAK,WAAWU,EAAEV,CAAC,EAAE,CAAC,MAAM,WAAWU,EAAEV,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,UAAU,OAAO,MAAMy8C,GAAGz8C,CAAC,EAAE,EAAE,KAAK,KAAK,SAASU,EAAEV,CAAC,CAAC,GAAG,KAAK,aAAa,QAAQ,EAAE,KAAK,KAAK,cAAc,CAAC,EAAE3B,EAAE,SAAS,KAAK,UAAU,GAAG,EAAE,KAAK,KAAK,UAAU,KAAK,aAAaqC,EAAEV,CAAC,CAAC,EAAE,MAAM,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,aAAaU,EAAE,CAAC,KAAK,YAAY,OAAO,MAAM+7C,GAAG/7C,CAAC,EAAE,MAAM,KAAK,WAAWA,CAAC,EAAE,CAAC,MAAM,WAAWA,EAAE,CAAC,KAAK,UAAU,OAAO,MAAM+7C,GAAG/7C,CAAC,EAAE,MAAM,KAAK,SAASA,CAAC,EAAE,CAAC,EAAE,SAASq8C,GAAGj9C,EAAE,EAAE,CAAC,OAAOA,GAAG,OAAOA,EAAE,CAAC,GAAGA,aAAa+8C,GAAG,CAAC/8C,CAAC,EAAE,MAAM,QAAQA,CAAC,GAAGA,EAAE,CAAC,YAAY+8C,GAAG/8C,EAAEouC,GAAGpuC,CAAC,EAAE,IAAI,GAAG,IAAI7d,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI+6D,GAAG,MAAMl9C,EAAC,CAAC,aAAa,CAAC,CAAC,OAAO,4BAA4B,EAAEE,EAAE,CAAC3B,EAAE,OAAO,GAAG,GAAG,OAAO,UAAU,CAAC,EAAE,IAAI,8DAA8D,CAAC,EAAE,EAAEyB,GAAE,kBAAkBE,CAAC,EAAEF,GAAE,aAAa,CAAC,GAAG,OAAOA,GAAE,aAAa,CAAC,EAAE,CAAC,GAAGA,GAAE,aAAa,CAAC,EAAE,KAAKE,CAAC,CAAC,CAAC,OAAO,kBAAkB,EAAE,CAAC,QAAQA,KAAKF,GAAE,aAAaA,GAAE,aAAa,CAACE,CAAC,EAAE,QAAQG,GAAG,CAAC,GAAGA,IAAI,EAAE,MAAM,IAAIutC,EAAE,iCAAiC,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC5tC,GAAE,aAAa,CAAC,CAAC,CAAC,OAAO,gBAAgB,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQE,KAAKJ,GAAE,aAAa,CAAC,IAAIK,EAAE,CAACD,EAAE,GAAGC,GAAGH,EAAE,KAAK,GAAGF,GAAE,aAAaK,CAAC,CAAC,CAAC,CAAC,OAAOH,EAAE,IAAIE,GAAG,IAAIA,CAAC,CAAC,CAAC,EAAE88C,GAAG,aAAa,CAAC,EAAE,SAASC,GAAGn9C,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,EAAE0B,EAAEC,EAAE,CAAC,IAAIC,EAAE,IAAIxd,GAAGie,EAAE,CAAC,IAAIs6C,GAAG,GAAGE,GAAG,gBAAgB,CAAC,CAAC,EAAEl9C,GAAG,MAAM0C,EAAE,KAAK,GAAG1C,CAAC,EAAE0C,EAAE,KAAKT,CAAC,EAAE,IAAIU,EAAE,IAAI1hB,GAAGyhB,CAAC,EAAE,OAAOC,EAAE,UAAU,CAAC,OAAOzC,EAAE,aAAaE,EAAE,QAAQC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa0B,EAAE,QAAQC,CAAC,CAAC,EAAE,CAAC,aAAaW,EAAE,QAAQV,CAAC,CAAC,CAAC,SAASm7C,GAAGp9C,EAAE,EAAE,CAAC,EAAEE,EAAE,GAAG,CAAC,OAAOwuC,GAAG1uC,EAAEzF,GAAE,iBAAiB,OAAO,EAAE,aAAa,EAAE,QAAQ2F,CAAC,CAAC,CAAC,SAASm9C,GAAGr9C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAACuC,EAAE,QAAQ,YAAYA,EAAEtR,GAAEsR,EAAE,SAAS,GAAG,IAAIE,EAAEvD,GAAGu1C,GAAGlyC,CAAC,EAAE,EAAE,EAAE,EAAEI,EAAEnO,GAAGiO,EAAE,MAAM+wC,GAAG,CAAC,EAAE5wC,EAAEnE,GAAGrG,GAAGqK,EAAEE,CAAC,CAAC,EAAE,OAAOvP,GAAGmP,EAAEK,CAAC,CAAC,CAAC,CAAC,CAAC,SAASi9C,GAAGt9C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI3H,GAAGo8C,GAAGx1C,GAAG,EAAEsD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAASu9C,GAAGv9C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI3H,GAAGpJ,GAAGgQ,GAAG,EAAEsD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAASw9C,GAAGx9C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAExD,GAAGsD,EAAE,CAAC,EAAEI,EAAExR,GAAGlC,GAAGsT,CAAC,EAAEixC,GAAG,EAAE,OAAO,SAAS,EAAE5wC,EAAE3T,GAAGmE,GAAGqP,EAAEE,CAAC,CAAC,EAAE,OAAO1J,EAAE,IAAIZ,GAAGuK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAASo9C,GAAGz9C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAEtR,GAAG,EAAEqiD,GAAG,EAAE,OAAO,SAAS,EAAE7wC,EAAExL,GAAG,EAAE,EAAEsL,CAAC,CAAC,EAAEG,EAAEzR,GAAGoR,EAAEixC,GAAG,EAAE,OAAO,SAAS,EAAE,EAAEr8C,GAAG,EAAE,EAAEyL,CAAC,CAAC,EAAE,OAAOvK,GAAGo8C,GAAGx1C,GAAG0D,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAASs9C,GAAG19C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAErK,GAAG,EAAE6G,GAAG,EAAEhG,EAAEsJ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAOlK,GAAGo8C,GAAGhyC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAASy9C,GAAG39C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAErK,GAAG,EAAE6G,GAAG,EAAEhG,EAAEsJ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAOlK,GAAGoK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS09C,GAAG59C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAEvD,GAAGjG,EAAEsJ,EAAE,CAAC,EAAE,EAAE,EAAEI,EAAE3K,GAAGiB,EAAEgG,GAAG,EAAEsD,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,OAAOnK,GAAG,EAAE,EAAE,EAAE6G,GAAG0D,EAAEF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS29C,GAAG79C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAE,KAAK,IAAI,CAAC,EAAEE,EAAE1D,GAAG,EAAEsD,CAAC,EAAEK,EAAE3D,GAAG,EAAE0D,EAAExE,GAAGlF,EAAE,GAAG0J,CAAC,CAAC,CAAC,EAAEF,CAAC,EAAE,OAAOpK,GAAGuK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAASy9C,GAAG99C,EAAE,EAAEE,EAAE,GAAG,CAAC,OAAOzC,EAAE,IAAI,CAAC,GAAGyC,EAAE,EAAEvE,GAAG,CAAC,MAAM,CAAC,IAAIyE,EAAEzD,GAAG,EAAE,EAAE,MAAM,OAAO,EAAE,EAAE,EAAE,EAAE9L,GAAG,EAAEuP,CAAC,CAAC,CAAC,OAAO,EAAExR,GAAG,EAAEqiD,GAAG,EAAE,EAAEA,GAAG,CAAC,EAAEp6C,GAAG8F,GAAGjG,EAAEhI,GAAEsR,EAAE,SAAS,EAAEpL,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASmpD,GAAG/9C,EAAE,EAAEE,EAAE,GAAG,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI2C,EAAE1R,GAAE0D,GAAGm/C,GAAGvxC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAEpR,GAAG,EAAEqiD,GAAG,EAAE,EAAEA,GAAG,CAAC,EAAE,IAAI5wC,EAAE,EAAE,MAAM,EAAE9G,EAAEtC,GAAGmJ,EAAEC,EAAEA,EAAE,OAAO,CAAC,CAAC,EAAEA,CAAC,EAAE,OAAOy9C,GAAG,EAAE,EAAE59C,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS89C,GAAGh+C,EAAE,EAAE,CAAC,GAAG,CAACzB,EAAE,YAAYyB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI4tC,EAAE,8DAA8D,KAAK,UAAU5tC,EAAE,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAE9G,GAAG,CAAC,EAAEgH,EAAEvJ,GAAGnK,GAAG,CAAC,CAAC,EAAE,OAAO,EAAEgQ,GAAGwD,EAAExJ,EAAE,EAAEsJ,CAAC,CAAC,EAAEnL,GAAGjD,GAAGwO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS69C,GAAGj+C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAE,OAAOA,EAAEtR,GAAG,EAAEqiD,GAAG,EAAE,EAAEA,GAAG,CAAC,EAAE/wC,EAAEtL,GAAG/D,GAAGqP,EAAExD,GAAG,EAAEwD,CAAC,CAAC,CAAC,EAAEpK,GAAGkoD,GAAGh+C,EAAEE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAASg+C,GAAGl+C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAEtR,GAAGoR,EAAEixC,GAAG,EAAE,CAAC,EAAE7wC,EAAExR,GAAG,EAAEqiD,GAAG,EAAE,CAAC,EAAE,OAAOt0C,GAAGjG,EAAEsJ,EAAEpL,GAAG/D,GAAGqP,EAAEE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS+9C,GAAGn+C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAEtL,GAAG,EAAEq8C,GAAG,EAAE,CAAC,CAAC,EAAE,OAAOn7C,GAAG4G,GAAG,EAAEhG,EAAEsJ,EAAEE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAASk+C,GAAGp+C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAEm9C,GAAGr9C,EAAE,EAAE,EAAEI,EAAEi9C,GAAG,EAAE,EAAE,EAAEh9C,EAAE3J,EAAEwJ,EAAEE,CAAC,EAAE,OAAOvJ,GAAG8F,GAAG0D,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIg+C,GAAG,CAAC,iBAAiBf,GAAG,kBAAkBC,GAAG,4BAA4BC,GAAG,4BAA4BC,GAAG,aAAaC,GAAG,MAAMC,GAAG,iBAAiBC,GAAG,QAAQC,GAAG,wBAAwBC,GAAG,8BAA8BC,GAAG,mBAAmBE,GAAG,0BAA0BC,GAAG,QAAQC,GAAG,gBAAgBC,EAAE,EAAE,SAASE,GAAGt+C,EAAE,CAAC,GAAG,OAAOA,GAAG,SAAS,CAAC,GAAGA,KAAKq+C,GAAG,OAAOA,GAAGr+C,CAAC,EAAE,IAAI,EAAE,gBAAgBA,CAAC,GAAG,MAAMA,EAAE,YAAY,EAAE,SAAS,qBAAqB,IAAI,EAAE,gBAAgBA,CAAC,wFAAwF,IAAI4tC,EAAE,CAAC,CAAC,KAAM,QAAO5tC,CAAC,CAAC,SAASu+C,GAAGv+C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAExJ,EAAE,GAAGS,GAAG,CAAC,CAAC,EAAEiJ,EAAE+wC,GAAGh+C,GAAG,EAAE+M,CAAC,EAAEF,EAAE,KAAK,EAAE,OAAOlK,GAAGrE,GAAGuO,EAAEI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAASo+C,GAAGx+C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI0zC,GAAG1/C,GAAGzE,GAAGgT,EAAE,EAAE,EAAEhT,GAAG,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,SAASyxD,GAAGz+C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI/O,GAAEiO,GAAG1H,GAAGxD,GAAGuO,EAAE,CAAC,EAAEvO,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,SAASitD,GAAG1+C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI/O,GAAEiO,GAAG1H,GAAGxD,GAAGuO,EAAE,CAAC,EAAEvO,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,SAASktD,GAAG3+C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI/O,GAAEiO,GAAG1H,GAAGxD,GAAGuO,EAAE,CAAC,EAAEvO,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,SAASmtD,GAAG5+C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAEu+C,GAAGz+C,EAAE,CAAC,EAAEI,EAAEu+C,GAAG3+C,EAAE,CAAC,EAAEK,EAAE,EAAEH,EAAEE,CAAC,EAAE,OAAO1R,GAAE2Q,GAAGlM,GAAGkN,EAAE,CAAC,EAAExP,GAAGqP,EAAEG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAASw+C,GAAG7+C,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAI,CAAC,IAAIyC,EAAEu+C,GAAGz+C,EAAE,CAAC,EAAEI,EAAEs+C,GAAG1+C,EAAE,CAAC,EAAEK,EAAE,EAAEH,EAAEE,CAAC,EAAE,OAAO1R,GAAE2Q,GAAGlM,GAAGkN,EAAE,CAAC,EAAExP,GAAGqP,EAAEG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAASy+C,GAAG9+C,EAAE,EAAE,CAAC,OAAOi+C,GAAGj+C,EAAE,CAAC,CAAC,CAAC,SAAS++C,GAAG/+C,EAAE,EAAE,CAAC,OAAOA,EAAE,OAAO,EAAE,OAAOA,EAAE3D,GAAG2D,EAAE,CAACA,EAAE,KAAK,CAAC,CAAC,GAAG,EAAEhT,GAAG,EAAE,EAAE,EAAE,EAAE,QAAQgT,EAAE,QAAQ,EAAEtR,GAAE,EAAEsR,EAAE,KAAK,GAAGtR,GAAE+C,GAAGuO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,IAAIg/C,GAAG1B,GAAG2B,GAAG3B,GAAG4B,GAAG3B,GAAG4B,GAAG5B,GAAG6B,GAAG5B,GAAG6B,GAAG7B,GAAG8B,GAAGxB,GAAGyB,GAAGnB,GAAGoB,GAAGzB,GAAG0B,GAAG,CAAC,eAAelB,GAAG,oBAAoBC,GAAG,UAAUI,GAAG,wBAAwBU,GAAG,8BAA8BE,GAAG,IAAIR,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAIC,GAAG,KAAKC,GAAG,KAAKC,GAAG,OAAOE,EAAE,EAAE,SAASG,GAAG1/C,EAAE,CAAC,GAAG,OAAOA,GAAG,UAAUA,KAAKy/C,GAAG,OAAOA,GAAGz/C,CAAC,EAAE,GAAG,OAAOA,GAAG,UAAUA,GAAG,KAAK,OAAOA,EAAE,MAAM,IAAI4tC,EAAE,kBAAkB5tC,CAAC,EAAE,CAAC,CAAC,SAAS2/C,GAAG3/C,EAAE,CAAC,GAAGiuC,GAAGjuC,IAAI,KAAK,0BAA0BA,CAAC,EAAE,EAAE,OAAOA,GAAG,SAAS,OAAOA,EAAE,CAAC,IAAI,EAAE,QAAQE,KAAK,OAAO,KAAKm+C,EAAE,EAAE,GAAGA,GAAGn+C,CAAC,IAAIF,EAAE,CAAC,EAAEE,EAAE,KAAK,CAAC,GAAG,IAAI,OAAO,OAAO,EAAE,QAAQA,KAAK,OAAO,KAAKu/C,EAAE,EAAE,GAAGA,GAAGv/C,CAAC,IAAIF,EAAE,CAAC,EAAEE,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO,EAAEF,EAAE,IAAI,CAAC,CAAC,SAAS4/C,GAAG5/C,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,IAAInC,GAAG,QAAQ,GAAG,EAAE,SAAS,IAAIA,GAAG,SAAS,EAAE,IAAIozC,GAAG,CAAC,EAAE,KAAK,IAAIpzC,GAAG,KAAK,KAAK,GAAG,KAAKozC,GAAG,CAAC,EAAE,OAAO,IAAIpzC,GAAG,OAAO,KAAK,GAAG,KAAKozC,GAAG,EAAE,CAAC,EAAE,QAAQ,IAAIpzC,GAAG,QAAQ,KAAK,GAAG,EAAEozC,GAAG,CAAC,EAAE,IAAI,IAAIpzC,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAImC,KAAK,EAAE,OAAO,EAAEA,CAAC,EAAE,EAAE,MAAM,IAAI4tC,EAAE,qBAAqB5tC,CAAC,EAAE,CAAC,CAAC,SAAS6/C,GAAG7/C,EAAE,EAAEE,EAAE,GAAG,CAAC,GAAGF,GAAG,MAAM,OAAOA,GAAG,UAAU,OAAO,eAAeA,CAAC,IAAI,OAAO,WAAW,CAAC8/C,GAAG9/C,CAAC,EAAE,MAAM,IAAI,MAAM,oEAAoE,EAAE,GAAGE,EAAE,CAAC,IAAIE,EAAE,KAAK,UAAUJ,CAAC,EAAEI,EAAE,OAAO,SAAS,QAAQ,KAAK,mCAAmC,CAAC,kCAAkCA,EAAE,MAAM,sJAAsJ,CAAC,CAAC,CAAC,SAAS0/C,GAAG9/C,EAAE,CAAC,GAAGA,IAAI,KAAK,MAAM,GAAG,GAAG,OAAOA,GAAG,SAAS,GAAG,OAAO,eAAeA,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,KAAKA,CAAC,EAAE,QAAQE,KAAK,EAAE,GAAG,OAAOA,GAAG,UAAU,CAAC4/C,GAAG9/C,EAAEE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,MAAM,QAAQF,CAAC,EAAE,CAAC,QAAQ,KAAKA,EAAE,GAAG,CAAC8/C,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAM,OAAM,OAAO,CAAC,IAAI,EAAE,OAAO9/C,EAAE,OAAO,IAAI,UAAU,IAAI,UAAU,IAAI,SAAS,CAAC,CAAC,SAAS+/C,GAAG//C,EAAE,EAAEE,EAAEE,EAAE,QAAQ,IAAI,CAAC,IAAIC,EAAE2/C,GAAGhgD,CAAC,EAAE,EAAE,CAAC,eAAe,cAAc,eAAe,SAAS,EAAEK,GAAG,EAAE,GAAG,GAAGH,EAAEA,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,IAAIA,EAAEA,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,GAAGA,EAAEA,EAAE,OAAO,CAAC,GAAG,IAAIA,EAAEA,EAAE,IAAIwC,GAAG,KAAK,MAAM,EAAEA,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAACrC,EAAE,CAAC,EAAE,KAAK,iBAAiB,EAAE,EAAE,CAAC,EAAE,QAAQqC,KAAK1C,EAAE,aAAa,EAAE,KAAK,GAAGA,EAAE,aAAa0C,CAAC,CAAC,CAAC,CAACtC,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE6/C,GAAG,EAAE//C,EAAEE,CAAC,EAAEA,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI2B,EAAE/B,EAAE,OAAO,QAAQ0C,EAAE,EAAEA,EAAEX,EAAE,OAAO,EAAEW,EAAErC,EAAE6/C,GAAGn+C,EAAEW,CAAC,EAAExC,EAAEE,CAAC,EAAE+/C,GAAGp+C,EAAEW,CAAC,EAAExC,EAAE,EAAEE,CAAC,EAAEA,GAAGsC,IAAIX,EAAE,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,EAAE/B,EAAE,iCAAiC,EAAE,IAAIgC,EAAEo+C,GAAGpgD,CAAC,EAAEiC,EAAEqyC,GAAGt0C,EAAE,mBAAmB,EAAEI,EAAE,iBAAiB4B,EAAEC,CAAC,EAAE,EAAE7B,EAAE,qBAAqB4B,CAAC,EAAE,EAAE5B,EAAE,yBAAyB6B,CAAC,EAAE,EAAE7B,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAASggD,GAAGpgD,EAAE,CAAC,IAAI,EAAE,OAAOA,EAAE,2BAA2B,KAAK,EAAEs0C,GAAGt0C,EAAE,yBAAyB,EAAE,EAAEs0C,GAAGt0C,EAAE,gBAAgB,EAAE,CAAC,CAAC,SAASggD,GAAGhgD,EAAE,CAAC,IAAI,EAAE,GAAGE,EAAE,CAAC,EAAEE,EAAE,CAAC,EAAE,QAAQC,KAAKL,EAAE,aAAaE,EAAE,KAAKF,EAAE,aAAaK,CAAC,CAAC,EAAE,QAAQA,KAAKH,EAAE,CAAC,GAAGG,EAAE,OAAO,GAAGA,EAAE,SAAS,GAAGA,EAAE,CAAC,EAAE,cAAc,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,CAACD,EAAE,KAAK,GAAGC,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQA,KAAKL,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,KAAKK,EAAE,aAAa,GAAGD,EAAE,QAAQ,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS6/C,GAAGjgD,EAAE,EAAEE,EAAE,QAAQ,IAAI,CAAC,IAAIE,EAAE,GAAG,QAAQC,EAAE,EAAEA,EAAEL,EAAE,OAAO,EAAEK,EAAEA,EAAE,IAAID,EAAEA,EAAE,MAAM,EAAEA,EAAE,OAAO,CAAC,EAAE,KAAKA,GAAGJ,EAAEK,CAAC,EAAED,EAAEA,EAAE,MAAM,EAAE,EAAEC,CAAC,CAAC,EAAED,GAAG,IAAI,OAAO,EAAEC,CAAC,EAAED,EAAE,MAAM,EAAEF,EAAEE,CAAC,CAAC,CAAC,SAAS8/C,GAAGlgD,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEC,EAAE,GAAG,CAACA,EAAEL,EAAE,aAAa,IAAIgC,GAAG,KAAK,UAAUA,EAAE,WAAW,CAAC,EAAE,KAAK,GAAG,CAAC,OAAOA,EAAE,CAAC3B,EAAE,UAAU,CAAC,GAAG,CAACD,EAAE,KAAK,UAAUJ,EAAE,WAAW,CAAC,OAAOgC,EAAE,CAAC5B,EAAE,UAAU,CAAC,IAAI,EAAEJ,EAAE,KAAK,EAAEA,EAAE,aAAa,EAAE+B,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI1B,EAAED,EAAEJ,EAAE,YAAY,EAAE,SAAS,CAAC,EAAEigD,GAAGl+C,EAAE,EAAE7B,CAAC,CAAC,CAAC,SAASigD,GAAGngD,EAAE,EAAEE,EAAEE,EAAE,CAAC,IAAIC,EAAE,EAAE,GAAG,CAAC,EAAEL,EAAE,aAAa,IAAI2C,GAAG,KAAK,UAAUA,EAAE,WAAW,CAAC,EAAE,KAAK,GAAG,CAAC,OAAOA,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,CAACtC,EAAE,KAAK,UAAUL,EAAE,WAAW,CAAC,OAAO2C,EAAE,CAACtC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQsC,KAAK3C,EAAE,aAAa,GAAG,EAAEE,GAAG,MAAMA,EAAE,OAAO,GAAGA,EAAE,QAAQyC,CAAC,IAAI,IAAI,QAAQC,EAAE,EAAEA,EAAED,EAAE,cAAc,OAAO,EAAEC,EAAE,CAAC,IAAIC,EAAEF,EAAE,cAAcC,CAAC,EAAE,KAAKE,EAAEH,EAAE,YAAYC,CAAC,EAAEoB,EAAErB,EAAE,cAAcC,CAAC,EAAE,EAAE,KAAK,GAAGC,CAAC,IAAIC,CAAC,KAAKkB,CAAC,GAAG,CAAC,CAAC,IAAIjC,EAAE/B,EAAE,KAAKgC,EAAEhC,EAAE,aAAa,EAAEiC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAES,EAAE,CAAC,GAAGX,CAAC,KAAKC,CAAC,IAAI,EAAE3B,EAAEL,EAAE,YAAY,EAAE,SAAS,EAAEiC,CAAC,EAAEg+C,GAAGv9C,EAAE,EAAEtC,CAAC,EAAE,QAAQuC,EAAE,EAAEA,EAAE,EAAE,OAAO,EAAEA,EAAEs9C,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,EAAEt9C,CAAC,CAAC,EAAE,EAAEvC,CAAC,CAAC,CAAC,SAASigD,GAAGrgD,EAAE,EAAEE,EAAE,CAAC,OAAOF,IAAI,gBAAgBA,IAAI,gBAAgBA,IAAI,gBAAgB,IAAI,GAAG,OAAOE,GAAG,QAAQ,CAAC,SAASogD,GAAGtgD,EAAE,EAAE,CAAC,GAAGA,IAAI,KAAK,OAAO,KAAK,GAAG,OAAOA,GAAG,SAAS,OAAOsuC,GAAGtuC,CAAC,EAAE,GAAG,OAAOA,GAAG,UAAU,OAAOA,GAAG,UAAU,OAAOA,EAAE,GAAGA,aAAa,MAAM,CAAC,IAAIE,EAAE,CAAC,EAAEE,EAAEJ,EAAE,OAAO,QAAQK,EAAE,EAAEA,EAAED,EAAE,EAAEC,EAAE,CAAC,IAAI,EAAEL,EAAEK,CAAC,EAAEggD,GAAG,EAAEhgD,EAAE,CAAC,EAAEH,EAAE,KAAK,CAAC,EAAEA,EAAE,KAAKogD,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAOpgD,CAAC,KAAK,CAAC,IAAIA,EAAE,CAAC,EAAE,QAAQE,KAAK,OAAO,KAAKJ,CAAC,EAAE,CAAC,IAAIK,EAAEL,EAAEI,CAAC,EAAE,GAAGA,IAAI,QAAQ,OAAOC,GAAG,SAASH,EAAEE,CAAC,EAAEC,MAAM,CAAC,IAAI,EAAEiuC,GAAGluC,CAAC,EAAEF,EAAE,CAAC,EAAEogD,GAAGjgD,EAAE,CAAC,CAAC,CAAC,CAAC,OAAOH,CAAC,CAAC,CAAC,SAASqgD,GAAGvgD,EAAE,EAAE,CAAC,GAAGA,GAAG,KAAK,OAAO,KAAK,GAAG,OAAOA,GAAG,SAAS,OAAOquC,GAAGruC,CAAC,EAAE,GAAG,OAAOA,GAAG,UAAU,OAAOA,GAAG,UAAU,OAAOA,EAAE,GAAGA,aAAa,MAAM,CAAC,IAAIE,EAAE,CAAC,EAAEE,EAAEJ,EAAE,OAAO,QAAQK,EAAE,EAAEA,EAAED,EAAE,EAAEC,EAAE,CAAC,IAAI,EAAEL,EAAEK,CAAC,EAAEggD,GAAG,EAAEhgD,EAAE,CAAC,EAAEH,EAAE,KAAK,CAAC,EAAEA,EAAE,KAAKqgD,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAOrgD,CAAC,KAAK,CAAC,IAAIA,EAAE,CAAC,EAAE,QAAQE,KAAK,OAAO,KAAKJ,CAAC,EAAE,CAAC,IAAIK,EAAEL,EAAEI,CAAC,EAAE,EAAEiuC,GAAGjuC,CAAC,GAAGA,IAAI,QAAQA,IAAI,cAAc,OAAOC,GAAG,SAASH,EAAE,CAAC,EAAEG,EAAEH,EAAE,CAAC,EAAEqgD,GAAGlgD,EAAED,CAAC,CAAC,CAAC,OAAOF,CAAC,CAAC,CAAC,IAAIlB,GAAG,SAAawhD,GAAGxgD,GAAG,CAAC,IAAI,EAAE,OAAO,KAAKA,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,IAAIE,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,MAAM,CAAC,MAAM,SAASA,EAAEA,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAEugD,GAAG,MAAMzgD,WAAU80C,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,eAAe,IAAI,IAAI,KAAK,KAAK,EAAE,KAAK,KAAK,MAAM,KAAK,CAAC,IAAIhwC,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,KAAK,KAAK0qC,GAAG1qC,CAAC,CAAC,CAAC,GAAG,KAAK,gBAAgB,GAAG,KAAK,WAAW,GAAG,MAAM,QAAQ,EAAE,MAAM,EAAE,KAAK,OAAO,EAAE,OAAO,MAAM,EAAE,KAAK,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,QAAQ,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,QAAQ,MAAM,EAAE,KAAK,QAAQ,CAAC,EAAE,OAAO,EAAE+pC,GAAG,KAAK,MAAM,EAAE,SAAS,KAAK,OAAO,OAAO,MAAM,IAAIjB,EAAE,mGAAmG,KAAK,OAAO,IAAI9oC,GAAGA,EAAE,IAAI,CAAC,EAAE,EAAE+pC,GAAG,KAAK,OAAO,EAAE,SAAS,KAAK,QAAQ,QAAQ,QAAQ,KAAK,qGAAqG,KAAK,QAAQ,IAAI/pC,GAAGA,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,YAAY,CAAC,EAAE,KAAK,uBAAuB,CAAC,EAAE,KAAK,yBAAyB,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,KAAK,0BAA0B,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,KAAK,sBAAsB,CAAC,EAAE,QAAQA,KAAK,KAAK,QAAQ,CAAC,IAAIL,EAAEK,EAAE,YAAYJ,EAAEI,EAAE,UAAUH,EAAEG,EAAE,YAAY,KAAK,aAAa,KAAKL,CAAC,EAAE,KAAK,wBAAwB,KAAKC,CAAC,EAAE,KAAK,0BAA0B,KAAKC,CAAC,CAAC,CAAC,QAAQG,KAAK,KAAK,OAAO,CAAC,IAAIL,EAAEK,EAAE,YAAYJ,EAAEI,EAAE,UAAUH,EAAEG,EAAE,YAAYmpC,GAAGvpC,IAAI,EAAE,0BAA0B,EAAEupC,GAAGtpC,IAAI,EAAE,4BAA4B,EAAE,KAAK,YAAY,KAAKF,CAAC,EAAE,KAAK,uBAAuB,KAAKC,CAAC,EAAE,KAAK,yBAAyB,KAAKC,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,QAAQG,EAAE,EAAEA,EAAE,KAAK,YAAY,OAAOA,IAAI,CAAC,IAAIL,EAAE,KAAK,YAAYK,CAAC,EAAE,GAAG,EAAEL,aAAa2wC,IAAI,MAAM,IAAI,UAAU,8EAA8E,EAAE,MAAM,WAAWtwC,CAAC,yCAAyCL,EAAE,aAAa,CAAC,GAAG,EAAE,KAAK,WAAW,KAAKA,EAAE,IAAI,EAAE,KAAK,gBAAgB,KAAKA,EAAE,eAAe,EAAE,KAAK,eAAe,KAAKA,EAAE,IAAI,CAAC,CAAC,QAAQK,KAAK,KAAK,aAAa,KAAK,YAAY,KAAKA,EAAE,IAAI,EAAE,KAAK,oBAAoB,KAAK,OAAO,IAAIA,GAAGA,EAAE,KAAK,EAAE,KAAK,qBAAqB,KAAK,QAAQ,IAAIA,GAAGA,EAAE,KAAK,EAAE,IAAI5E,EAAE,CAAC,EAAEE,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE0B,EAAE,CAAC,EAAEC,EAAE,CAAC8C,EAAEL,EAAEC,EAAEC,EAAEC,EAAEC,IAAI,EAAEF,GAAG,MAAMC,GAAG,MAAMC,GAAG,QAAQF,EAAEG,EAAE,YAAYF,EAAEE,EAAE,UAAUD,EAAEC,EAAE,aAAa,IAAIyC,EAAE5C,EAAE,aAAaC,CAAC,EAAE,GAAGF,EAAE,QAAQ6C,CAAC,IAAI,GAAG,MAAM,IAAIomC,GAAG,cAAc7oC,EAAE,IAAI,cAAcH,EAAE,IAAI,uBAAuB,EAAE,GAAGF,EAAE,QAAQ8C,CAAC,IAAI,GAAG,OAAO,KAAK,eAAe,IAAIvH,GAAE,QAAQ2E,EAAEC,CAAC,CAAC,EAAED,EAAE,MAAM,IAAI,EAAEA,EAAE,EAAE,EAAE,OAAO,KAAK,CAAC,EAAE,QAAQD,EAAE,QAAQ6C,CAAC,IAAI,IAAI7C,EAAE,KAAK6C,CAAC,EAAE,IAAI,EAAEA,EAAE,cAAc,OAAO,QAAQvC,EAAE,EAAEA,EAAE,EAAEA,IAAI,CAAC,IAAIC,EAAEsC,EAAE,aAAavC,CAAC,EAAEE,EAAEqC,EAAE,cAAcvC,CAAC,EAAEG,EAAEoC,EAAE,YAAYvC,CAAC,EAAEI,EAAEmC,EAAE,cAAcvC,CAAC,EAAEhD,EAAEiD,EAAER,EAAEC,EAAEQ,EAAEC,EAAEC,CAAC,CAAC,CAAC,IAAIX,EAAE,KAAK8C,CAAC,EAAE7C,EAAE,QAAQ6C,CAAC,GAAG,GAAG7C,EAAE,OAAOA,EAAE,QAAQ6C,CAAC,EAAE,CAAC,EAAExF,EAAE,KAAKwF,CAAC,CAAC,EAAEtF,EAAE,CAAC,EAAES,EAAE,CAAC,EAAE,QAAQoC,KAAK,KAAK,QAAQ9C,EAAE8C,EAAE7C,EAAES,CAAC,EAAE,IAAIC,EAAEZ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ+C,KAAKnC,EAAE,CAACvC,EAAE0E,EAAE,EAAE,EAAEA,EAAEA,EAAE,MAAM5E,IAAIA,EAAE4E,EAAE,EAAE,EAAE,GAAG,IAAIL,EAAEvE,EAAE4E,EAAE,EAAE,EAAEJ,EAAErE,EAAEyE,EAAE,cAAc,EAAE,GAAG,KAAK,EAAEzE,EAAEyE,EAAE,cAAc,EAAE,EAAEL,EAAE,KAAK,IAAIA,EAAEC,CAAC,EAAErE,EAAEyE,EAAE,cAAc,EAAE,EAAEL,EAAE,EAAEK,EAAE,cAAc,EAAE,EAAEA,EAAE,cAAc5E,EAAE4E,EAAE,EAAE,EAAEL,EAAE,QAAQE,EAAE,EAAEA,EAAEG,EAAE,cAAc,OAAOH,IAAI,CAAC,IAAIC,EAAEE,EAAE,cAAcH,CAAC,EAAEE,EAAEC,EAAE,YAAYH,CAAC,EAAE4C,EAAE3C,EAAE,aAAaC,CAAC,EAAE,EAAE3E,EAAEqH,EAAE,EAAE,GAAG,KAAK,EAAErH,EAAEqH,EAAE,EAAE,EAAErH,EAAEqH,EAAE,EAAE,EAAE,KAAK,IAAI9C,EAAE,EAAE,CAAC,EAAErE,EAAEmH,EAAE,EAAE,EAAEA,CAAC,CAAC,CAAC,IAAI3E,EAAE,CAAC,EAAE,QAAQkC,KAAK5E,EAAE,CAAC,IAAIuE,EAAEvE,EAAE4E,CAAC,EAAEL,KAAK7B,IAAIA,EAAE6B,CAAC,EAAE,CAAC,GAAG7B,EAAE6B,CAAC,EAAE,KAAKrE,EAAE0E,CAAC,CAAC,CAAC,CAAC,IAAIjC,EAAE,CAAC,EAAE,QAAQiC,KAAKzE,EAAE,CAAC,IAAIoE,EAAEpE,EAAEyE,CAAC,EAAEL,KAAK5B,IAAIA,EAAE4B,CAAC,EAAE,CAAC,GAAG5B,EAAE4B,CAAC,EAAE,KAAK,EAAEK,CAAC,CAAC,CAAC,CAAC,IAAIhC,EAAE,OAAO,KAAKD,CAAC,EAAE,IAAIiC,GAAG,SAASA,EAAE,EAAE,CAAC,EAAE,KAAK8pC,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,QAAQ9pC,KAAKhC,EAAE,CAAC,IAAI2B,EAAE5B,EAAEiC,CAAC,EAAEL,EAAE,KAAK,CAACC,EAAEC,IAAI,CAAC,IAAIC,EAAE,EAAEF,EAAE,EAAE,EAAEG,EAAE,EAAEF,EAAE,EAAE,EAAE,OAAOC,EAAEC,EAAE,GAAGD,EAAEC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQH,KAAKD,EAAEC,aAAa1E,IAAG,KAAK,sBAAsB,KAAK0E,CAAC,EAAE,KAAK,OAAO,KAAKA,CAAC,CAAC,CAAC,KAAK,cAAc7B,EAAEC,EAAE,OAAO,KAAKF,CAAC,EAAE,IAAIkC,GAAG,SAASA,EAAE,EAAE,CAAC,EAAE,KAAK8pC,EAAE,EAAE,IAAI5qC,EAAE,KAAK,OAAO,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQc,KAAKhC,EAAE,QAAQ2B,KAAK7B,EAAEkC,CAAC,EAAE,CAAC,IAAIJ,EAAED,EAAE,cAAc,GAAGC,GAAG,KAAK,CAAC,QAAQC,KAAKF,EAAE,aAAa,GAAGT,EAAE,QAAQW,CAAC,IAAI,GAAG,MAAM,IAAIgpC,GAAG,sDAAsDhpC,CAAC,cAAcD,EAAE,IAAI,iEAAiE,CAAC,EAAE,EAAE,QAAQC,KAAKF,EAAE,cAAcT,EAAE,KAAKW,CAAC,EAAE,EAAE,KAAKD,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa9B,EAAE,IAAI0E,EAAE,KAAK,OAAO,IAAIxC,GAAGA,EAAE,IAAI,EAAE,QAAQA,KAAKwC,EAAE,CAAC,IAAI7C,EAAE6C,EAAE,OAAO5C,GAAGA,IAAII,CAAC,EAAE,OAAO,GAAGL,IAAI,EAAE,MAAM,IAAIkpC,GAAG,aAAa7oC,CAAC,aAAaL,CAAC,uEAAuE,KAAK,UAAU6C,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,IAAIstC,GAAG,CAAC,cAAc,KAAK,cAAc,CAAC,EAAE,YAAY,CAAC,EAAE,cAAc,CAAC,EAAE,aAAa,KAAK,OAAO,cAAc,KAAK,QAAQ,WAAW,KAAK,OAAO,IAAI9vC,GAAG,IAAI,EAAE,YAAY,KAAK,QAAQ,IAAIA,GAAG,IAAI,EAAE,YAAY,KAAK,OAAO,IAAIA,GAAGA,EAAE,KAAK,EAAE,aAAa,KAAK,QAAQ,IAAIA,GAAGA,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,GAAG,KAAK,UAAU,CAAC,CAAC,mBAAmB,CAAC,GAAG,KAAK,YAAY,EAAE,MAAM,IAAI,MAAM,cAAc,KAAK,IAAI,wBAAwB,CAAC,CAAC,SAAS,CAAC,KAAK,kBAAkB,EAAE,IAAI,EAAE,CAAC,qBAAqB,KAAK,qBAAqB,CAAC,EAAE,GAAG,EAAE,KAAK,YAAY,EAAE,CAAC,QAAQ5E,KAAK,KAAK,OAAO,EAAE,sBAAsBA,EAAE,QAAQ,EAAE,qBAAqB,QAAQA,KAAK,KAAK,sBAAsB,EAAE,sBAAsBA,EAAE,QAAQ,EAAE,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,KAAK,UAAU,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,KAAK,UAAU,CAAC,IAAI,UAAU,EAAE,CAAC,KAAK,OAAO,QAAQA,GAAG,CAACA,EAAE,kBAAkB,QAAQE,GAAGA,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,IAAI,kBAAkB,CAAC,GAAG,KAAK,kBAAkB,OAAO,EAAE,MAAM,IAAIwtC,EAAE,sNAAsN,EAAE,GAAG,CAAC,KAAK,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ1tC,KAAK,KAAK,OAAO,EAAE,EAAE,OAAOA,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,qBAAqB,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQA,KAAK,KAAK,OAAO,EAAE,KAAK,GAAGA,EAAE,mBAAmB,EAAE,GAAG,CAAC,KAAK,UAAU,CAAC,IAAIA,EAAE,CAAC,EAAE,QAAQE,KAAK,KAAK,OAAOF,EAAE,KAAK,GAAGE,EAAE,gBAAgB,EAAE,OAAOF,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,iBAAiB,OAAO,KAAK,mBAAmB,CAAC,CAAC,YAAY,EAAEA,EAAE,GAAG,CAAC,IAAIE,EAAE,CAAC,EAAEC,EAAE,EAAE,EAAEmgD,GAAG,CAAC,EAAE,GAAG,KAAK,aAAa,CAAC,EAAE,QAAQz+C,KAAK,KAAK,OAAO,OAAO,CAACC,EAAEC,CAAC,IAAIF,EAAE,QAAQ,QAAQ,EAAE,CAAC,IAAIW,EAAE,EAAE,GAAGT,EAAE,KAAK,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,GAAG,GAAGD,CAAC,GAAGC,EAAE,aAAa,GAAG7B,EAAEsC,CAAC,GAAG,KAAK,MAAM,IAAIkrC,EAAE,0BAA0BlrC,CAAC,EAAE,EAAEtC,EAAEsC,CAAC,EAAET,EAAE5B,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ0B,KAAK,EAAE,CAAC,IAAIC,EAAED,EAAE,GAAG3B,EAAE2B,CAAC,GAAG,KAAK,CAAC,IAAIE,EAAEF,EAAE,MAAM,GAAG,EAAEC,EAAEC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAACA,EAAEA,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG7B,EAAE4B,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC5B,EAAE4B,CAAC,EAAE,EAAED,CAAC,CAAC,CAAC,UAAU7B,EAAE,MAAM,IAAI0tC,EAAE,gDAAgD7rC,CAAC,EAAE,EAAE,OAAO3B,EAAE4B,CAAC,CAAC,CAAC,GAAG9B,EAAE,CAAC,IAAI6B,EAAE,CAAC,EAAE,QAAQC,KAAK5B,EAAE2B,EAAE,KAAKC,CAAC,EAAE,GAAGD,EAAE,OAAO,EAAE,MAAM,IAAI6rC,EAAE,GAAG7rC,EAAE,MAAM,OAAO1B,CAAC,yBAAyB0B,CAAC,EAAE,CAAC,CAAC2yC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQx0C,KAAK,OAAO,KAAK,CAAC,EAAE,CAAC,IAAIE,EAAEF,EAAE,MAAM,GAAG,EAAEG,EAAE,CAAC,OAAO,+BAA+B,EAAE,EAAED,EAAE,IAAI,GAAG,EAAE,WAAW,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,CAACC,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,IAAIH,IAAI,EAAE,CAAC,EAAE,EAAEA,CAAC,EAAE,OAAO,EAAEA,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,UAAU,EAAEA,EAAE,CAAC,EAAE,OAAOA,EAAE,UAAU,KAAK,aAAa,EAAEA,EAAE,OAAO,EAAEA,EAAE,aAAa,eAAelB,EAAE,GAAGkB,EAAE,QAAQ,gBAAgBA,CAAC,CAAC,OAAO,EAAEA,EAAE,GAAG,CAAC,IAAIE,EAAEmgD,GAAG,KAAK,cAAc,CAAC,EAAE,OAAOrgD,EAAE,KAAK,UAAUE,CAAC,EAAEA,CAAC,CAAC,KAAK,EAAEF,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,EAAE2wC,GAAG,CAAC,EAAE,IAAIhuC,EAAE,IAAIm1C,GAAG,QAAQl1C,EAAE,EAAEA,EAAE,KAAK,OAAO,OAAO,EAAEA,EAAED,EAAE,IAAI,KAAK,OAAOC,CAAC,EAAE,EAAEA,CAAC,CAAC,EAAE,OAAOs1C,GAAG,KAAK,QAAQv1C,EAAEF,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAEA,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,EAAE2wC,GAAG,CAAC,EAAE,IAAIhuC,EAAE,OAAOF,GAAG,KAAKE,EAAE4tC,GAAG,KAAK,EAAE,MAAM,EAAE5tC,EAAEguC,GAAGluC,CAAC,EAAE,KAAK,iBAAiB,EAAEE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,IAAIF,EAAEi0C,GAAG,CAAC,EAAE,GAAGj0C,EAAE,SAAS,KAAK,YAAY,OAAO,MAAM,IAAI0tC,EAAE,+BAA+B,CAAC,eAAe,KAAK,YAAY,MAAM,iBAAiB,EAAE,IAAIxtC,EAAE,CAAC,EAAE,QAAQ2B,EAAE,EAAEA,EAAE7B,EAAE,OAAO6B,IAAI,CAAC,IAAIC,EAAE,KAAK,YAAYD,CAAC,EAAEE,EAAE/B,EAAE6B,CAAC,EAAEW,EAAEV,EAAE,KAAK,OAAO5B,EAAEsC,CAAC,EAAET,CAAC,CAAC,IAAI5B,EAAE,OAAO,KAAK,KAAK,YAAY,EAAE,IAAI0B,GAAG,SAASA,EAAE,EAAE,CAAC,EAAE,KAAK6sC,EAAE,EAAE,GAAGvuC,EAAE,OAAO,EAAE,QAAQ0B,KAAK1B,EAAE,CAAC,IAAI2B,EAAE,KAAK,aAAaD,CAAC,EAAE,QAAQE,KAAKD,EAAE,CAAC,IAAIU,EAAET,EAAE,cAAc,GAAG,KAAK,YAAY,IAAI+B,GAAGA,EAAE,EAAE,EAAE,QAAQtB,EAAE,EAAE,IAAI,GAAG,SAAS,IAAIC,EAAE,CAAC,EAAE,QAAQqB,EAAE,EAAEA,EAAE/B,EAAE,cAAc,OAAO+B,IAAI,CAAC,IAAI,EAAE/B,EAAE,cAAc+B,CAAC,EAAEsD,EAAErF,EAAE,YAAY+B,CAAC,EAAEc,EAAE7C,EAAE,cAAc+B,CAAC,EAAES,EAAE,GAAG,EAAE,IAAI,IAAI6C,CAAC,IAAIxC,CAAC,GAAGJ,EAAEtE,EAAEqE,CAAC,EAAE9B,EAAE,KAAK+B,CAAC,CAAC,CAAC,IAAI9B,EAAEF,EAAE,mBAAmByrC,GAAGxrC,CAAC,CAAC,EAAEE,EAAEsxC,GAAGvxC,CAAC,EAAEE,EAAEJ,EAAE,aAAa,QAAQT,CAAC,EAAE,QAAQ+B,EAAE,EAAEA,EAAEnB,EAAE,OAAOmB,IAAI,CAAC,IAAI,EAAE,GAAGtB,EAAE,IAAI,IAAII,CAAC,IAAIkB,CAAC,GAAG5D,EAAE,CAAC,EAAEyC,EAAEmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQjC,EAAE,EAAEA,EAAE,KAAK,aAAa,OAAOA,IAAI,CAAC,IAAIC,EAAE,KAAK,aAAaD,CAAC,EAAEE,EAAE,KAAK,wBAAwBF,CAAC,EAAEW,EAAE,KAAK,0BAA0BX,CAAC,EAAEY,EAAE,GAAGX,EAAE,IAAI,IAAIC,CAAC,IAAIS,CAAC,GAAG,EAAE,KAAKC,CAAC,CAAC,CAAC,QAAQZ,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAI,CAAC,IAAIC,EAAE,EAAED,CAAC,EAAEksC,GAAGjsC,KAAK5B,CAAC,EAAE,EAAE,KAAKA,EAAE4B,CAAC,CAAC,CAAC,CAAC,OAAOmsC,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAEjuC,EAAE,CAACA,GAAG,OAAOA,EAAE8tC,GAAG,KAAK,EAAE,MAAM,GAAG,IAAI5tC,EAAE,CAAC,EAAE,QAAQ4B,EAAE,EAAEA,EAAE,KAAK,OAAO,OAAO,EAAEA,EAAE,CAAC,IAAIC,EAAE,KAAK,OAAOD,CAAC,EAAEU,EAAE,EAAEV,CAAC,EAAEW,EAAEzC,EAAE8B,CAAC,EAAE5B,EAAE6B,EAAE,EAAE,EAAE,CAACS,EAAEC,CAAC,CAAC,CAAC,IAAItC,EAAE,OAAO,KAAK,KAAK,YAAY,EAAE,IAAI2B,GAAG,SAASA,EAAE,EAAE,CAAC,EAAE,KAAK4sC,EAAE,EAAE,QAAQ5sC,KAAK3B,EAAE,CAAC,IAAI4B,EAAE,KAAK,aAAaD,CAAC,EAAE,QAAQU,KAAKT,EAAE,CAAC,IAAIU,EAAED,EAAE,cAAcE,EAAEF,EAAE,aAAaG,EAAEH,EAAE,cAAcI,EAAE,IAAI,MAAM,QAAQkB,KAAKpB,EAAEoB,EAAE,MAAM5D,GAAG0C,EAAE,KAAK1C,EAAE4D,EAAE,EAAE,CAAC,EAAE,GAAGlB,EAAE,SAASF,EAAE,OAAO,CAAC,IAAIoB,EAAE,CAAC,EAAE,EAAEsD,EAAExC,EAAEL,EAAE,GAAG/B,EAAE,UAAU,OAAOsB,EAAEtB,EAAE,UAAUI,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC4B,EAAEC,CAAC,EAAE7B,EAAE,CAAC,EAAEkB,EAAE,MAAM,OAAOA,EAAE,KAAKW,GAAGG,EAAEspC,GAAGzrC,EAAE,KAAK+B,EAAEV,CAAC,CAAC,EAAES,EAAE2pC,GAAGzrC,EAAE,YAAY+B,EAAEC,CAAC,CAAC,EAAE,EAAE,CAACD,CAAC,EAAE4C,EAAE,CAAC3C,CAAC,CAAC,MAAM,EAAE7B,EAAE,IAAI4B,GAAGA,EAAE,CAAC,CAAC,EAAE4C,EAAExE,EAAE,IAAI4B,GAAGA,EAAE,CAAC,CAAC,EAAEV,EAAE,MAAM,OAAOA,EAAE,KAAKsD,GAAGxC,EAAEspC,GAAGzrC,EAAE,KAAK,EAAEqB,CAAC,CAAC,EAAES,EAAE2pC,GAAGzrC,EAAE,YAAY,EAAE2E,CAAC,CAAC,EAAE,GAAG3E,EAAE,oBAAoB,MAAM,IAAIkrC,GAAG,uHAAuH,EAAE,QAAQnpC,EAAE,EAAEA,EAAE7B,EAAE,OAAO,EAAE6B,EAAE,CAAC,IAAIC,EAAE9B,EAAE6B,CAAC,EAAEE,EAAEE,EAAEJ,CAAC,EAAEG,EAAEJ,EAAEC,CAAC,EAAEtE,EAAEuE,EAAE,EAAE,EAAE,CAACC,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE9C,EAAE,CAAC,EAAE,QAAQC,KAAK,KAAK,QAAQ,CAACisC,GAAGjsC,EAAE,MAAM5B,EAAE,4BAA4B4B,EAAE,IAAI,MAAMA,EAAE,EAAE,EAAE,EAAE,GAAG,CAACC,EAAES,CAAC,EAAEtC,EAAE4B,EAAE,EAAE,EAAED,EAAE,KAAKE,EAAE,KAAK,EAAE,EAAE,KAAKA,CAAC,EAAE,EAAE,KAAKS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAEX,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,IAAI7B,EAAE,CAAC,EAAEE,EAAE,QAAQC,KAAK,KAAK,OAAO,CAACD,EAAEC,aAAaL,GAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAEK,EAAE,aAAa,OAAO,IAAI,CAAC,IAAI,EAAEL,GAAE,QAAQK,EAAE,CAAC,EAAE,KAAK,eAAe,IAAI,CAAC,IAAIH,EAAE,CAAC,EAAEE,EAAEA,GAAG,EAAE,CAAC,CAAC,OAAOF,CAAC,CAAC,SAAS,EAAEA,EAAE,CAAC,GAAGA,GAAG,KAAK,OAAO,KAAK,UAAUA,CAAC,EAAE,GAAG,GAAG,KAAK,MAAM,IAAI0tC,EAAE,4CAA4C,EAAE,GAAG,OAAO,GAAG,SAAS,OAAO,KAAK,UAAU,CAAC,EAAE,QAAQxtC,KAAK,KAAK,OAAO,GAAGA,EAAE,OAAO,EAAE,OAAOA,EAAE,MAAM,IAAIwtC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,OAAO,QAAQ,EAAE,MAAM,IAAIA,EAAE,wCAAwC,CAAC,wBAAwB,KAAK,OAAO,MAAM,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAOnwC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQyC,KAAK,KAAK,OAAO,QAAQE,EAAE,EAAEA,EAAEF,EAAE,aAAa,OAAO,EAAEE,EAAE,CAAC,IAAIC,EAAEL,GAAE,QAAQE,EAAEE,CAAC,EAAE,KAAK,eAAe,IAAIC,CAAC,GAAG,EAAE,KAAK,GAAGH,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,EAAEA,EAAE,KAAK,uBAAuB,KAAK,MAAM,EAAEE,EAAE,CAAC,EAAE,QAAQ,KAAK,KAAK,OAAO,CAAC,IAAI2B,EAAE,EAAE,aAAa,EAAEC,EAAE,EAAE,UAAU,EAAEC,EAAE,CAAC,EAAE,QAAQU,EAAE,EAAEA,EAAE,EAAE,aAAa,OAAOA,IAAI,CAAC,IAAIC,EAAE,EAAE,aAAaD,CAAC,EAAEE,EAAE7C,GAAE,QAAQ,EAAE2C,CAAC,EAAEG,EAAE,CAAC,EAAE,GAAG,KAAK,eAAe,IAAID,CAAC,EAAE,CAAC,GAAGD,EAAE,SAAS,GAAG,CAAC,KAAK,UAAUA,EAAE,QAAQ,EAAEE,EAAEF,EAAE,QAAQ,OAAOoB,EAAE,CAAC,QAAQ,KAAK,SAAS,EAAE,IAAI,mDAAmDpB,EAAE,QAAQ,yGAAyG,EAAEE,EAAE,CAAC,CAAC,CAAC,GAAGF,EAAE,cAAc,OAAO,EAAE,CAAC,IAAIoB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEpB,EAAE,cAAc,OAAO,IAAI,CAAC,IAAI0E,EAAE1E,EAAE,cAAc,CAAC,EAAEkC,EAAElC,EAAE,YAAY,CAAC,EAAE6B,EAAE7B,EAAE,cAAc,CAAC,EAAE8B,EAAE1E,GAAE,QAAQsH,EAAExC,CAAC,EAAEH,EAAEzE,EAAEwE,CAAC,EAAEC,GAAG,OAAOA,EAAE,GAAGX,EAAE,KAAK,CAACsD,EAAE,KAAK3C,EAAEF,EAAE3B,CAAC,CAAC,CAAC,CAACb,EAAE,KAAK+B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAItB,EAAE,CAAC,EAAEA,EAAE,KAAK,EAAE,KAAKA,EAAE,UAAUX,EAAEW,EAAE,OAAOV,EAAEU,EAAE,aAAaT,EAAE7B,EAAE,KAAKsC,CAAC,CAAC,CAAC,EAAE,OAAOtC,EAAE,IAAIC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,YAAY,OAAO,IAAI,CAAC,IAAI0B,EAAE,KAAK,YAAY,CAAC,EAAEC,EAAE,KAAK,uBAAuB,CAAC,EAAEC,EAAEjC,GAAE,QAAQ+B,EAAEC,CAAC,EAAE,GAAG,CAAC,KAAK,eAAe,IAAIC,CAAC,EAAE,SAAS,IAAIS,EAAExC,EAAE+B,CAAC,EAAES,GAAG,OAAOA,EAAE,GAAG,IAAIC,EAAE,KAAK,yBAAyB,CAAC,EAAEtC,EAAE,KAAK,CAAC0B,EAAE,KAAKW,EAAEC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAYtC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,aAAa,OAAO,IAAI,CAAC,IAAI0B,EAAE,KAAK,aAAa,CAAC,EAAEC,EAAE,KAAK,wBAAwB,CAAC,EAAEC,EAAEjC,GAAE,QAAQ+B,EAAEC,CAAC,EAAE,GAAG,CAAC,KAAK,eAAe,IAAIC,CAAC,EAAE,SAAS,IAAIS,EAAExC,EAAE+B,CAAC,EAAES,GAAG,OAAOA,EAAE,GAAG,IAAIC,EAAE,KAAK,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAACZ,EAAE,KAAKW,EAAEC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,OAAO,WAAW,EAAEzC,EAAEE,EAAE,CAAC,EAAEC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS0B,EAAE,EAAEuF,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAKA,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAACA,CAAC,CAAC,CAAC,SAAStF,EAAE,EAAEsF,EAAE,CAAC,IAAIxC,EAAE,CAAC,EAAEL,EAAE,QAAQC,KAAK4C,EAAE,CAAC,IAAI3C,EAAED,EAAE,CAAC,EAAEE,EAAEF,EAAE,CAAC,EAAEG,EAAEH,EAAE,CAAC,EAAE,GAAGD,EAAEC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAEA,EAAE,CAAC,EAAE,EAAEC,KAAK,GAAG,CAAC5C,EAAE,EAAEuF,CAAC,EAAE,MAAM,CAAC,IAAIC,EAAE,EAAE5C,CAAC,EAAE,GAAG4C,EAAE,aAAa,QAAQ3C,EAAE,CAAC7C,EAAE,EAAEuF,CAAC,EAAE,MAAM,CAAC,IAAI,EAAEC,EAAE,aAAa3C,CAAC,EAAEE,EAAE,KAAK,EAAE,cAAcD,CAAC,CAAC,CAAC,CAACC,EAAE,OAAO,GAAG,EAAE,MAAMqpC,GAAGrpC,CAAC,EAAEL,CAAC,CAAC,CAAC,SAASxC,EAAE,EAAE,CAAC,IAAIqF,EAAE,EAAE,KAAKxC,EAAEs4C,GAAG,EAAEl9C,EAAE,eAAe,KAAKA,EAAE,cAAc,CAAC,CAAC,EAAE4E,EAAE,6BAA6BzE,CAAC,EAAE,EAAEiH,CAAC,EAAExC,EAAE,EAAE,aAAa,QAAQJ,GAAG,CAAC,GAAG,EAAEA,aAAa,OAAO,MAAM,IAAIkpC,EAAE,yDAAyDlpC,CAAC,EAAE,EAAE3C,EAAE+C,EAAEJ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIhC,EAAExC,EAAE,KAAKyC,EAAEzC,EAAE,OAAO,QAAQ,KAAKyC,EAAEV,EAAE,CAAC,EAAE,KAAK,CAAC6sC,GAAG,CAAC,GAAG,QAAQ,KAAKnsC,EAAE,CAAC,IAAI2E,EAAE,EAAE,EAAE,IAAI,EAAE,GAAGA,EAAE,QAAQ,EAAE,CAAC,IAAIxC,EAAE,EAAEwC,EAAE,IAAI,EAAE,OAAO,EAAEA,EAAE,IAAI,EAAE,QAAQ7C,KAAKK,EAAE9C,EAAEsF,EAAE7C,CAAC,CAAC,CAAC,CAAC,IAAI7B,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAEC,EAAE5C,EAAE,YAAY,QAAQ,KAAK4C,EAAE,CAAC,IAAIwE,EAAE,EAAE,CAAC,EAAExC,EAAE,EAAE,CAAC,EAAEL,EAAE,EAAE,CAAC,EAAEwpC,GAAG3mC,KAAK,CAAC,EAAE,IAAI3C,EAAE,EAAE2C,CAAC,EAAE,aAAaxC,CAAC,EAAE,cAAclC,EAAE,KAAK+B,EAAEF,CAAC,CAAC,CAAC,CAAC,IAAIT,EAAE9D,EAAE,aAAa,QAAQ,KAAK8D,EAAE,CAAC,IAAIsD,EAAE,EAAE,CAAC,EAAExC,EAAE,EAAE,CAAC,EAAEL,EAAE,EAAE,CAAC,EAAEwpC,GAAG3mC,KAAK,CAAC,EAAE,IAAI3C,EAAE,EAAE2C,CAAC,EAAE,aAAaxC,CAAC,EAAE,cAAcjC,EAAE,KAAK8B,EAAEF,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO7B,EAAE,QAAQC,EAAE,KAAKH,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,KAAK,UAAU,MAAM,IAAIkrC,EAAE,sLAAsL,EAAE,QAAQ,KAAK,KAAK,OAAO,GAAG,EAAE,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAACnwC,EAAE,IAAI,CAAC,KAAK,OAAO,QAAQ,GAAG,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAASijD,GAAG1gD,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,EAAE,OAAO,GAAGJ,GAAG,MAAM,MAAM,QAAQA,CAAC,GAAGA,EAAE,SAAS,EAAE,OAAO,EAAE,IAAIK,GAAG,IAAI,EAAE,GAAGD,IAAI,EAAE,OAAO,MAAM,QAAQJ,CAAC,GAAGA,EAAE,SAAS,EAAEA,EAAE,OAAOA,GAAG,UAAU,EAAE,CAAC,IAAIA,EAAE,CAACA,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAACA,CAAC,EAAE,GAAG,MAAM,QAAQA,CAAC,EAAE,CAAC,GAAGA,EAAE,SAASI,EAAE,MAAM,IAAI,MAAM,YAAYF,CAAC,mBAAmBF,EAAE,MAAM,kCAAkCI,CAAC,yEAAyE,EAAE,OAAOJ,CAAC,SAAS,OAAOA,GAAG,UAAU,OAAO,KAAKA,CAAC,EAAE,OAAO,GAAG,OAAOA,EAAE,OAAO,KAAKA,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,IAAIK,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,CAAC,KAAKL,EAAEK,EAAE,KAAKL,EAAE,CAAC,CAAC,EAAEK,EAAE,KAAK,IAAI,CAAC,CAAC,EAAEA,CAAC,KAAM,OAAM,IAAI,MAAM,2BAA2BD,CAAC,iBAAiBF,CAAC,iCAAiCE,CAAC,+BAA+B,CAAC,mBAAmBF,CAAC,oBAAoB,KAAK,UAAUF,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS2gD,GAAG3gD,EAAE,EAAE,CAAC,OAAO0gD,GAAG1gD,EAAE,EAAE,aAAa,CAAC,CAAC,eAAe4gD,GAAG5gD,EAAE,EAAEE,EAAEE,EAAE,CAAC,GAAG,GAAG,MAAMA,GAAG,KAAK,MAAM,IAAI,MAAM,6CAA6C,EAAE,GAAGF,GAAG,KAAK,CAAC,IAAIG,EAAE5C,EAAE,IAAI,CAAC,GAAGuC,EAAE,MAAM,SAAS,EAAE,OAAOnR,GAAGmR,CAAC,EAAE,GAAGA,EAAE,MAAM,SAAS,EAAE,CAAC,GAAGA,EAAE,MAAM,CAAC,EAAE,EAAE,OAAOhT,GAAGgT,EAAE,CAAC,EAAE,GAAGA,EAAE,MAAM,CAAC,IAAI,EAAE,OAAOzG,EAAEyG,EAAE,CAACA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,+CAA+CA,EAAE,MAAM,CAAC,CAAC,sEAAsE,CAAC,KAAM,OAAM,IAAI,MAAM,yCAAyCA,EAAE,IAAI,wEAAwE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,MAAMK,EAAE,KAAK,CAAC,EAAE1P,GAAG0P,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ0B,GAAG,CAAC,GAAG7B,EAAE6B,CAAC,GAAG,KAAK,MAAM,IAAI,MAAM,wEAAwEA,CAAC,4CAA4C,EAAE,EAAE,KAAK7B,EAAE6B,CAAC,CAAC,CAAC,CAAC,EAAE/E,GAAG,EAAE,SAAS,CAAC,KAAM,QAAO,IAAI,CAAC,SAAS6jD,GAAG7gD,EAAE,EAAE,CAAC,OAAOtJ,EAAEsJ,EAAE,CAAC,CAAC,CAAC,IAAI8gD,GAAG,GAAG,SAASC,GAAG/gD,EAAE,EAAE,CAAC,IAAIE,EAAEE,EAAEC,EAAE,EAAEH,EAAEG,EAAE,GAAGD,EAAEC,EAAE,GAAG9B,EAAE,OAAO2B,GAAG,MAAME,GAAG,KAAK,IAAI,mPAAmP,CAAC,EAAE,EAAE,IAAI,EAAE4gD,GAAG,QAAQhhD,EAAE,WAAWE,CAAC,EAAE,EAAE8gD,GAAG,SAAShhD,EAAE,YAAYI,CAAC,EAAE2B,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,EAAExD,EAAE,OAAO,EAAE,SAASyB,EAAE,OAAO,OAAO,IAAI,mBAAmBA,EAAE,OAAO,MAAM,qCAAqC,EAAE,MAAM,mCAAmC,KAAK,UAAUA,EAAE,UAAU,CAAC,GAAG,EAAEzB,EAAE,OAAO,EAAE,SAASyB,EAAE,QAAQ,OAAO,IAAI,mBAAmBA,EAAE,QAAQ,MAAM,sCAAsC,EAAE,MAAM,qCAAqC,KAAK,UAAUA,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQgC,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAIzD,EAAE,OAAO,EAAEyD,CAAC,EAAE,MAAM,CAAC,IAAID,EAAE,IAAI,8BAA8B/B,EAAE,WAAWgC,CAAC,CAAC,QAAQ,EAAEA,CAAC,EAAE,MAAM,CAAC,CAAC,eAAeD,CAAC,mBAAmB/B,EAAE,WAAW,CAAC,CAAC,GAAG,EAAE,QAAQgC,EAAE,EAAEA,EAAE,EAAE,OAAOA,IAAIzD,EAAE,OAAO,EAAEyD,CAAC,EAAE,MAAM,CAAC,IAAID,EAAE,IAAI,+BAA+B/B,EAAE,YAAYgC,CAAC,CAAC,QAAQ,EAAEA,CAAC,EAAE,MAAM,CAAC,CAAC,eAAeD,CAAC,mBAAmB/B,EAAE,WAAW,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,SAASghD,GAAGhhD,EAAE,EAAEE,EAAE,CAAC,GAAGA,aAAatU,GAAG,MAAM,CAACsU,CAAC,EAAE,GAAG,MAAM,QAAQA,CAAC,EAAE,OAAO3B,EAAE,OAAO2B,EAAE,SAAS,EAAE,OAAO,IAAI,wBAAwBA,EAAE,MAAM,0BAA0B,EAAE,MAAM,iBAAiBF,CAAC,SAAS,CAAC,GAAG,EAAEE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQC,KAAK,EAAE,CAAC,GAAGH,EAAEG,CAAC,GAAG,KAAK,MAAM,IAAIutC,EAAE,gEAAgE5tC,CAAC,SAASK,CAAC,IAAI,EAAED,EAAE,KAAKF,EAAEG,CAAC,CAAC,CAAC,CAAC,OAAOD,CAAC,CAAC,CAAC,SAAS6gD,GAAGjhD,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAE,MAAM,IAAI6tC,GAAG,wDAAwD,EAAE,MAAM,CAAC,GAAG7tC,EAAE,CAAC,EAAE,GAAGA,EAAE,CAAC,CAAC,CAAC,CAAC,eAAekhD,GAAGlhD,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEF,EAAE,iBAAiB,KAAK,GAAG3B,EAAE,OAAOyB,EAAE,WAAW,KAAK,IAAI,gGAAgG,EAAEzB,EAAE,OAAO2B,GAAG,KAAK,IAAI,+FAA+F,EAAE3B,EAAE,OAAO2B,EAAE,QAAQ,MAAMA,EAAE,OAAO,GAAG,OAAO,UAAUA,EAAE,MAAM,EAAE,IAAI,iFAAiFA,EAAE,MAAM,EAAE,EAAE3B,EAAE,OAAO,CAAC6B,GAAGF,EAAE,gBAAgB,GAAG,OAAO,UAAUA,EAAE,eAAe,EAAE,IAAI,uGAAuGA,EAAE,eAAe,EAAE,EAAE3B,EAAE,OAAO2B,EAAE,iBAAiB,KAAK,IAAI,mFAAmF,EAAEF,EAAE,WAAW,MAAM,IAAI,MAAM,8DAA8D,EAAEA,EAAE,WAAW,GAAG,GAAG,CAAC,IAAIK,EAAEH,EAAE,gBAAgB,KAAK,EAAE,EAAE,GAAGG,EAAE,GAAG8gD,GAAGjhD,EAAE,cAAc,EAAE3B,EAAE,OAAO2B,EAAE,mBAAmB,MAAMA,EAAE,kBAAkB,GAAG,OAAO,UAAUA,EAAE,iBAAiB,EAAE,IAAI,iJAAiJA,EAAE,iBAAiB,EAAE,MAAM,CAAC,IAAI,EAAE+gD,GAAG/gD,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI6B,EAAE/B,EAAE,kBAAkB,EAAEgC,EAAEhC,EAAE,uBAAuB,EAAEiC,EAAE5B,EAAE4B,EAAED,EAAE,MAAM,EAAE,OAAOA,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,EAAEC,EAAED,EAAE,MAAM,EAAE,IAAIU,EAAEu6C,GAAG/8C,EAAE,UAAUA,EAAE,UAAU,EAAEyC,EAAEzC,EAAE,SAAS,KAAK,EAAEA,EAAE,QAAQ,CAAC,aAAa0C,EAAE,QAAQC,CAAC,EAAEs6C,GAAGz6C,EAAEC,EAAEzC,EAAE,OAAO,KAAK,KAAKkhD,GAAG,EAAElhD,CAAC,EAAE,KAAKG,EAAE4B,CAAC,EAAEW,EAAE,SAAS5C,CAAC,EAAEA,EAAE,QAAQ6C,EAAE,MAAMD,EAAE,aAAa,EAAE5C,EAAE,cAAc,GAAG,IAAI8C,EAAE5C,EAAE,cAAc,KAAK,EAAEA,EAAE,aAAa8D,EAAE,MAAM,EAAE,SAAS,EAAE,KAAKlB,EAAE5C,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM0C,EAAE,aAAaE,CAAC,EAAE,IAAIwE,EAAE,EAAExC,EAAE,EAAE,IAAI1E,IAAI4D,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC5D,GAAGkH,EAAEpH,EAAE,iBAAiB,CAAC,IAAIuE,EAAE,MAAMT,EAAE,KAAK,EAAE,GAAG5D,GAAGqE,EAAE,KAAK,CAAC,QAAQ,KAAK,uCAAuCvE,EAAE,eAAe,qDAAqDoH,CAAC,0IAA0IpH,EAAE,gBAAgBA,EAAE,MAAM,kFAAkF,EAAE,KAAK,CAAC,GAAGuE,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAGC,EAAE,GAAGC,CAAC,EAAEo8C,GAAG/gD,EAAEyE,EAAE,KAAK,EAAEG,EAAE,CAAC,EAAEA,EAAE,MAAME,EAAEF,EAAE,KAAKF,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM9B,EAAE,aAAakC,EAAEF,CAAC,EAAE,IAAIC,EAAE,CAAC,EAAE,GAAG3E,EAAE,aAAa,KAAK,CAAC,IAAI8E,EAAE27C,GAAGzgD,EAAE,YAAYF,EAAE,WAAW,EAAE,QAAQiF,EAAE,EAAEA,EAAED,EAAE,OAAO,EAAEC,EAAEJ,EAAE,KAAK,MAAM+7C,GAAGj8C,EAAEM,CAAC,EAAE,KAAKD,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIsC,EAAE7C,EAAE,OAAOC,CAAC,EAAE,OAAOE,CAAC,EAAE,EAAE9C,EAAEwF,CAAC,EAAE5W,GAAG4W,CAAC,EAAE,QAAQvC,EAAE,EAAEA,EAAEhD,EAAE,OAAO,EAAEgD,EAAE,CAAC,IAAIC,EAAEjD,EAAEgD,CAAC,EAAEE,EAAE,EAAEF,CAAC,EAAEJ,EAAEK,CAAC,EAAEC,EAAElR,GAAGkR,CAAC,CAAC,CAAC,MAAMtC,EAAE,WAAWkC,EAAEF,CAAC,EAAEg4C,GAAGh4C,CAAC,EAAEE,IAAIwC,GAAG,CAAC,GAAGlH,EAAEkH,GAAGpH,EAAE,gBAAgBuE,EAAE,KAAK,CAAC,GAAGpE,EAAE,CAAC,IAAIqE,EAAEy8C,GAAGjhD,EAAE,cAAc,EAAEwE,EAAE0pC,GAAG,MAAMpuC,EAAE,gBAAgBE,EAAE,eAAe,CAAC,QAAQA,EAAE,iBAAiB,CAAC,CAAC,EAAEwE,EAAE0pC,GAAGpuC,EAAE,SAAS,EAAE,EAAE,CAAC,UAAUE,EAAE,qBAAqB,KAAK4gD,GAAG5gD,EAAE,oBAAoB,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQyE,EAAE,EAAEA,EAAE3E,EAAE,aAAa,OAAO,EAAE2E,EAAE,EAAE,OAAO3E,EAAE,aAAa2E,CAAC,CAAC,EAAE,EAAED,EAAEC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG3E,EAAE,cAAc,KAAK,CAAC,GAAG,MAAM4C,EAAE,WAAWE,EAAE,CAAC,EAAEA,IAAI9C,EAAE,cAAc,KAAK,CAAC,OAAO,MAAM4C,EAAE,WAAW,EAAE,MAAM5C,EAAE,QAAQ,SAAS,EAAEA,EAAE,OAAO,QAAC,CAAQA,EAAE,WAAW,EAAE,CAAC,CAAC,SAASohD,GAAGphD,EAAE,EAAE,CAAC,IAAIE,EAAE,KAAK,OAAO,EAAE,iBAAiB,KAAKA,EAAE,EAAE,gBAAgB,OAAO,SAASF,EAAE,IAAI,IAAIE,EAAEF,EAAE,MAAME,CAAC,CAAC,SAASihD,GAAGnhD,EAAE,CAAC,OAAO,OAAOA,EAAE,UAAU,UAAU,CAAC,SAASqhD,GAAGrhD,EAAE,CAAC,OAAO,OAAOA,EAAE,MAAM,UAAU,CAAC,eAAeshD,GAAGthD,EAAE,EAAEE,EAAE,CAACA,EAAEA,GAAG,CAAC,EAAE,IAAIE,EAAEF,EAAE,SAAS,KAAKG,EAAEL,EAAE,aAAa,EAAE,CAAC,EAAE,GAAGE,EAAE,QAAQ,EAAE,MAAM,IAAI2tC,GAAG,sCAAsC,EAAEtvC,EAAE,OAAO,CAAC6B,GAAGF,EAAE,QAAQ,GAAG,OAAO,UAAUA,EAAE,OAAO,EAAE,IAAI,wEAAwE,KAAK,UAAUA,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAEmhD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAEt/C,EAAE,EAAEC,EAAE,EAAE,KAAK,CAAC5B,GAAG4B,EAAE9B,EAAE,SAAS,CAAC,IAAI+B,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAExE,EAAE,IAAI,CAAC,GAAGwE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAGS,EAAE,GAAGC,CAAC,EAAEo+C,GAAG/gD,EAAEiC,EAAE,KAAK,EAAEW,EAAEF,EAAE,OAAOC,CAAC,EAAEE,EAAEpF,EAAE,IAAI4C,EAAEuC,CAAC,CAAC,EAAE,GAAGjS,GAAGiS,CAAC,EAAEZ,IAAI,EAAE,QAAQgC,EAAE,EAAEA,EAAEnB,EAAE,OAAO,EAAEmB,EAAE,EAAE,KAAKhK,GAAG,CAAC,CAAC,EAAE,IAAI8I,EAAEF,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQoB,EAAE,EAAEA,EAAEnB,EAAE,OAAO,EAAEmB,EAAE,CAAC,IAAI,EAAEnB,EAAEmB,CAAC,EAAEsD,EAAE,EAAEtD,CAAC,EAAE,EAAEA,CAAC,EAAEvG,EAAE,IAAI,EAAE,EAAEuG,CAAC,EAAEtN,EAAEoM,EAAE,CAAC,CAAC,CAAC,EAAEd,EAAE,GAAGrR,GAAG2W,CAAC,CAAC,CAAC3W,GAAGkS,CAAC,EAAEd,GAAGe,EAAE,EAAEd,CAAC,CAAC,OAAO,CAAC,CAAC,EAAEC,EAAE,KAAK,CAAC7B,GAAG,QAAQ,KAAK,gLAAgLF,EAAE,OAAO,kFAAkF,EAAE,KAAK,CAAC,CAAC,QAAQ+B,EAAE,EAAEA,EAAE,EAAE,OAAO,EAAEA,EAAE,CAAC,IAAIS,EAAE,EAAET,CAAC,EAAE,EAAEA,CAAC,EAAEpR,GAAG,EAAEoR,CAAC,EAAEF,CAAC,EAAEpR,GAAG+R,CAAC,CAAC,CAAC,OAAOyrC,GAAG,CAAC,CAAC,CAAC,SAASoT,GAAGvhD,EAAE,CAACzB,EAAE,OAAOyB,EAAE,GAAG,OAAO,UAAUA,CAAC,EAAE,IAAI,2DAA2DA,CAAC,EAAE,CAAC,CAAC,SAASwhD,GAAGxhD,EAAE,EAAEE,EAAE,CAAC,OAAOF,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,QAAQA,CAAC,EAAEA,EAAE,IAAII,GAAGqxC,GAAGrxC,EAAE,EAAEF,EAAE,CAAC,CAAC,EAAEuxC,GAAGzxC,EAAE,EAAEE,EAAE,CAAC,CAAC,CAAC,SAASuhD,GAAGzhD,EAAE,EAAE,CAAC,OAAOvC,EAAE,IAAIuC,GAAG,KAAK,KAAK,MAAM,QAAQA,CAAC,EAAEA,EAAE,IAAIE,GAAGuhD,GAAGvhD,EAAE,CAAC,CAAC,EAAE+xC,GAAGjyC,EAAE,EAAE,QAAQ,QAAQ,EAAEtR,GAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAASgzD,GAAG1hD,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAEE,EAAE,EAAEC,EAAE,KAAK,KAAKD,EAAEJ,GAAGK,EAAED,EAAE,EAAEC,GAAGL,IAAIK,EAAEL,GAAGE,EAAE,KAAK,CAACE,EAAEC,CAAC,CAAC,EAAED,EAAEC,EAAE,OAAOH,CAAC,CAAC,SAASyhD,GAAG3hD,EAAE,CAAC,IAAI,EAAE,CAAC,EAAEA,aAAapU,KAAKoU,EAAE,CAACA,CAAC,GAAG,QAAQE,EAAE,EAAEA,EAAEF,EAAE,OAAO,EAAEE,EAAE,CAAC,IAAIE,EAAEJ,EAAEE,CAAC,EAAE,GAAGE,EAAE,OAAO,EAAE,EAAE,KAAKgxC,GAAGhxC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAGA,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,uEAAuE,EAAE,EAAE,KAAKA,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAASwhD,GAAG5hD,EAAE,EAAE,CAAC,GAAGA,GAAG,KAAK,OAAO,IAAIE,EAAE,CAAC,EAAE,GAAG,aAAatU,GAAGsU,EAAE,KAAK,EAAE,EAAE,UAAU,MAAM,QAAQ,CAAC,EAAE,EAAE,QAAQG,GAAGH,EAAE,KAAKG,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK,QAAQA,KAAK,EAAE,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAEH,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAIE,EAAE,CAAC,EAAE,GAAGJ,aAAapU,GAAGsU,EAAE,QAAQF,EAAE,EAAE,IAAI,IAAII,EAAE,KAAKJ,CAAC,UAAU,MAAM,QAAQA,CAAC,EAAEA,EAAE,QAAQK,GAAG,CAACH,EAAE,QAAQG,EAAE,EAAE,IAAI,IAAID,EAAE,KAAKC,CAAC,CAAC,CAAC,UAAUL,GAAG,KAAK,QAAQK,KAAKL,EAAE,CAAC,IAAI,EAAEA,EAAEK,CAAC,EAAEH,EAAE,QAAQ,EAAE,EAAE,IAAI,IAAIE,EAAE,KAAK,CAAC,CAAC,CAACA,EAAE,QAAQC,GAAG,CAACA,EAAE,YAAYA,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAASwhD,GAAG7hD,EAAE,CAAC,OAAOA,aAAapU,EAAE,CAAC,SAASk2D,GAAG9hD,EAAE,CAAC,OAAO,MAAM,QAAQA,CAAC,CAAC,CAAC,SAAS+hD,GAAG/hD,EAAE,CAAC,MAAM,CAAC6hD,GAAG7hD,CAAC,GAAG,CAAC8hD,GAAG9hD,CAAC,CAAC,CAAC,SAASgiD,GAAGhiD,EAAE,EAAEE,EAAEE,EAAE,GAAGC,EAAE,GAAG,CAAC,GAAG,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,GAAGL,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG8hD,GAAG9hD,CAAC,GAAGA,EAAE,OAAO,EAAE,EAAE,WAAW+hD,GAAG/hD,CAAC,GAAG,QAAQ+B,KAAK/B,EAAE,GAAGA,EAAE,eAAe+B,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,IAAI6rC,EAAE,6BAA6BvtC,CAAC,8BAA8BL,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAGA,GAAG,KAAK,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG+hD,GAAG/hD,CAAC,EAAE,CAACA,EAAEA,EAAE,EAAE,CAAC,EAAE,QAAQ,KAAK,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI4tC,EAAE,yBAAyB,CAAC,iCAAiC,CAAC,EAAE,EAAE,EAAE,KAAK5tC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS8hD,GAAG9hD,CAAC,EAAE,CAAC,GAAGA,EAAEA,EAAEA,EAAE,SAAS,EAAE,OAAO,MAAM,IAAI4tC,EAAE,6BAA6BvtC,CAAC,iHAAiH,EAAE,MAAM,gEAAgEL,CAAC,EAAE,EAAE,EAAEA,CAAC,KAAK,CAAC,GAAGA,EAAEA,EAAE,EAAE,OAAO,EAAE,MAAM,IAAI4tC,EAAE,aAAavtC,CAAC,YAAY,EAAE,MAAM,sEAAsEL,EAAE,KAAK,EAAE,EAAE,EAAE,CAACA,CAAC,CAAC,CAAC,GAAG,EAAE2hD,GAAG,CAAC,EAAEzhD,GAAG,KAAK,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI6B,EAAE,EAAE,CAAC,EAAE,GAAGA,EAAE,MAAM,SAAS7B,EAAE,CAAC,EAAE,OAAO,MAAM,IAAI0tC,EAAE,uBAAuBvtC,CAAC,cAAc,EAAE,CAAC,CAAC,YAAYH,EAAE,CAAC,EAAE,MAAM,2CAA2C6B,EAAE,KAAK,EAAE,EAAE,QAAQC,EAAE,EAAEA,EAAE9B,EAAE,CAAC,EAAE,OAAO,EAAE8B,EAAE,CAAC,GAAGA,IAAI,GAAG,CAAC5B,EAAE,SAAS,IAAI6B,EAAEF,EAAE,MAAMC,CAAC,EAAEU,EAAExC,EAAE,CAAC,EAAE8B,CAAC,EAAE,GAAGU,GAAG,MAAMA,GAAG,GAAGT,IAAIS,EAAE,MAAM,IAAIkrC,EAAE,GAAGvtC,CAAC,+DAA+DH,EAAE,CAAC,EAAE,MAAM,EAAEA,EAAE,CAAC,EAAE,MAAM,CAAC,2BAA2BA,EAAE,CAAC,EAAE,MAAM,EAAEA,EAAE,CAAC,EAAE,MAAM,CAAC,cAAcG,CAAC,2BAA2B0B,EAAE,MAAM,CAAC,CAAC,+BAA+BA,EAAE,MAAM,MAAM,EAAEA,EAAE,MAAM,MAAM,CAAC,oBAAoBA,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAASkgD,GAAGjiD,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEyuC,GAAG7uC,EAAE,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEI,EAAE,KAAK,EAAE,IAAIC,EAAEwuC,GAAG,EAAE,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAGxuC,EAAE,KAAK,EAAED,EAAE,OAAO,EAAE,MAAM,IAAIwtC,EAAE,mFAAmF,KAAK,UAAU5tC,EAAE,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,GAAGK,EAAE,OAAO,EAAE,MAAM,IAAIutC,EAAE,oFAAoF,KAAK,UAAU,EAAE,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,GAAGxtC,EAAE,OAAO,GAAGC,EAAE,OAAO,GAAG,CAAC9B,EAAE,YAAY6B,EAAEC,CAAC,EAAE,MAAM,IAAIutC,EAAE,iFAAiFxtC,EAAE,CAAC,CAAC,wBAAwBC,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,SAAS6hD,GAAGliD,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAE,CAACk9C,GAAGW,GAAGH,EAAE,EAAE,QAAQz9C,EAAE,EAAEA,EAAEL,EAAE,OAAO,EAAEK,EAAE,CAAC,IAAI,EAAEL,EAAEK,CAAC,EAAE,EAAE,EAAEA,CAAC,EAAE0B,EAAE7B,EAAEG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,GAAG,IAAIy9C,IAAI,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,EAAE,MAAM,IAAIlQ,EAAE,2CAA2C,EAAE,KAAK,0JAA0J,EAAE,GAAGxtC,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI4B,EAAE,EAAE,MAAM,MAAM,CAAC,EAAEC,EAAEF,EAAE,MAAM,CAAC,EAAE,QAAQW,EAAE,EAAEA,EAAEV,EAAE,OAAO,EAAEU,EAAE,CAAC,IAAIC,EAAEX,EAAEU,CAAC,EAAEE,EAAEX,EAAES,CAAC,EAAE,GAAGE,GAAG,MAAMD,IAAIC,EAAE,MAAM,IAAIgrC,EAAE,8BAA8B,EAAE,KAAK,sCAAsC7rC,CAAC,0FAA0F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASogD,GAAGniD,EAAE,EAAEE,EAAEE,EAAE,GAAGC,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,QAAQL,CAAC,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAE,OAAO,MAAM,IAAI4tC,EAAE,6BAA6BvtC,CAAC,qHAAqH,EAAE,MAAM,+BAA+BL,EAAE,MAAM,cAAc,EAAE,EAAEA,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI4tC,EAAE,qBAAqB,EAAE,MAAM,IAAIvtC,CAAC,mEAAmE,KAAK,UAAUL,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAACA,CAAC,CAAC,CAAC,GAAGE,GAAG,KAAK,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI6B,EAAE,EAAE,CAAC,EAAE,GAAGA,EAAE,MAAM,SAAS7B,EAAE,CAAC,EAAE,OAAO,MAAM,IAAI0tC,EAAE,uBAAuBvtC,CAAC,cAAc,EAAE,CAAC,CAAC,YAAYH,EAAE,CAAC,EAAE,MAAM,2CAA2C,KAAK,UAAU6B,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQC,EAAE,EAAEA,EAAE9B,EAAE,CAAC,EAAE,OAAO,EAAE8B,EAAE,CAAC,GAAGA,IAAI,GAAG,CAAC5B,EAAE,SAAS,IAAI6B,EAAEF,EAAE,MAAMC,CAAC,EAAEU,EAAExC,EAAE,CAAC,EAAE8B,CAAC,EAAE,GAAGU,GAAG,MAAMA,IAAIT,EAAE,MAAM,IAAI2rC,EAAE,uBAAuBvtC,CAAC,cAAc,EAAE,CAAC,CAAC,kBAAkB,KAAK,UAAUH,EAAE,CAAC,CAAC,CAAC,6BAA6B,KAAK,UAAU6B,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAASqgD,GAAGpiD,EAAE,EAAE,CAAC,GAAGA,GAAG,MAAM,MAAM,QAAQA,CAAC,GAAGA,EAAE,SAAS,EAAE,OAAO,EAAE,IAAII,GAAG,CAAC,CAAC,EAAE,IAAIF,EAAE,GAAG,OAAOF,GAAG,UAAU,OAAOA,GAAG,WAAWE,EAAE,CAACF,CAAC,UAAU,MAAM,QAAQA,CAAC,GAAG,OAAOA,GAAG,SAASE,EAAEF,MAAO,OAAM,IAAI,UAAU,kGAAkGA,CAAC,EAAE,EAAE,GAAG,MAAM,QAAQE,CAAC,EAAE,OAAO,EAAE,IAAIE,GAAGF,CAAC,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQC,KAAK,EAAE,CAAC,IAAI,EAAEH,EAAE,eAAeG,CAAC,EAAEH,EAAEG,CAAC,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAGD,EAAE,KAAK,CAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,CAAC,IAAIiiD,GAAG,eAAeh9D,GAAG,cAAco7D,EAAE,CAAC,YAAY7/C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC,QAAQA,EAAEV,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,MAAM,IAAI0tC,EAAE,8KAA8K,EAAEmS,GAAG,KAAKn/C,EAAEV,EAAE,CAAC,CAAC,CAAC,QAAQU,EAAE,CAAC,GAAGA,EAAE,MAAM,OAAOA,EAAE,KAAK,CAAC,GAAG,KAAK,KAAKA,EAAE,KAAK,OAAOA,EAAE,WAAW,SAAS,KAAK,WAAWg/C,GAAGh/C,EAAE,SAAS,EAAE,KAAK,iBAAiB,OAAO,CAAC,GAAG,EAAEA,EAAE,qBAAqBhZ,IAAI,MAAM,IAAIgmD,EAAE,6DAA6D,EAAE,KAAK,WAAWhtC,EAAE,UAAU,KAAK,iBAAiB,EAAE,CAAC,IAAIV,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,QAAQU,EAAE,IAAI,GAAG,OAAOA,EAAE,MAAM,UAAU,OAAOA,EAAE,MAAM,WAAW,CAACA,EAAE,KAAKA,EAAE,KAAK,QAAQkB,KAAKlB,EAAE,KAAK,GAAG,KAAK,YAAY,QAAQkB,CAAC,IAAI,GAAG,MAAM,IAAI8rC,EAAE,sCAAsC9rC,CAAC,wCAAwC,KAAK,WAAW,EAAE,EAAE,QAAQA,KAAK,KAAK,YAAYlB,EAAE,KAAKkB,CAAC,GAAG,MAAM,QAAQ,KAAK,WAAWA,CAAC,4HAA4HA,CAAC,kBAAkB,EAAE5B,EAAE,KAAKo+C,GAAG19C,EAAE,KAAKkB,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,QAAQlB,EAAE,IAAI,EAAE,CAAC,GAAGA,EAAE,KAAK,SAAS,KAAK,QAAQ,OAAO,MAAM,IAAIgtC,EAAE,2FAA2F,KAAK,QAAQ,MAAM,mCAAmChtC,EAAE,IAAI,GAAG,EAAEV,EAAEU,EAAE,KAAK,IAAImB,GAAGu8C,GAAGv8C,CAAC,CAAC,CAAC,KAAK,CAAC,IAAID,EAAEw8C,GAAG19C,EAAE,IAAI,EAAE,KAAK,QAAQ,QAAQmB,GAAG,CAAC7B,EAAE,KAAK4B,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc5B,EAAE,KAAK,gBAAgB,CAAC,EAAE,KAAK,iBAAiB,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,QAAQ4B,EAAE,EAAEA,EAAE,KAAK,QAAQ,OAAO,EAAEA,EAAE,CAAC,IAAIC,EAAE,KAAK,qBAAqBD,CAAC,EAAEE,EAAE,KAAK,YAAYF,CAAC,EAAE,KAAK,gBAAgB,KAAKE,CAAC,EAAE,KAAK,iBAAiB,KAAKD,CAAC,EAAE,KAAK,YAAY,KAAK,KAAK,cAAcD,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQlB,EAAE,QAAQ,KAAK,aAAa,CAAC,MAAM,EAAE,KAAK,eAAe,CAAC,EAAEyvC,GAAG,OAAO,IAAI,CAAC,QAAQvuC,EAAE,EAAEA,EAAE,KAAK,QAAQ,OAAO,EAAEA,EAAE,CAAC,GAAG,EAAE,QAAQA,CAAC,IAAI,GAAG,SAAS,IAAIC,EAAE,KAAK,cAAcD,CAAC,EAAE,KAAK,QAAQ,OAAO,IAAI,KAAK,eAAe,KAAK,CAACC,EAAED,CAAC,CAAC,EAAE,KAAK,aAAa,KAAK,KAAK,YAAYA,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,IAAIzB,EAAE+hD,GAAGxhD,EAAE,QAAQ,KAAK,WAAW,EAAEiB,EAAE,CAACC,EAAEC,EAAEC,IAAI,CAAC,KAAK,YAAY,OAAO,IAAID,EAAE,KAAK,YAAYD,CAAC,EAAE,IAAIC,GAAG,KAAK,aAAa,KAAKA,CAAC,EAAE,KAAK,eAAe,KAAK,CAACC,EAAEF,CAAC,CAAC,CAAC,EAAEuuC,GAAG,SAAS,IAAI,CAAC,QAAQvuC,EAAE,EAAEA,EAAE,KAAK,QAAQ,OAAO,EAAEA,EAAE,CAAC,GAAG,EAAE,QAAQA,CAAC,IAAI,GAAG,SAAS,IAAIC,EAAE1B,EAAEyB,CAAC,GAAGG,GAAG,CAAC,IAAIS,EAAE,GAAGC,EAAEC,EAAEC,EAAE,QAAQC,KAAKb,EAAE,CAAC,GAAG,OAAOa,GAAG,UAAU,CAAC,WAAW,MAAM,eAAe,IAAI,EAAE,QAAQA,CAAC,IAAI,GAAG,CAAC,IAAImB,EAAE,KAAK,qBAAqBnC,CAAC,EAAEmC,EAAEA,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK,cAAcnC,CAAC,IAAIm8C,GAAG,CAAC,WAAW,KAAK,EAAE,QAAQn7C,CAAC,IAAI,GAAGF,EAAE27C,GAAG,CAAC,eAAe,IAAI,EAAE,QAAQz7C,CAAC,IAAI,KAAKF,EAAEk8C,IAAI,KAAK,cAAch9C,CAAC,IAAIi8C,GAAG,CAAC,WAAW,KAAK,EAAE,QAAQj7C,CAAC,IAAI,GAAGF,EAAEm8C,GAAG,CAAC,eAAe,IAAI,EAAE,QAAQj8C,CAAC,IAAI,KAAKF,EAAE48C,IAAI,CAAC,WAAW,KAAK,EAAE,QAAQ18C,CAAC,IAAI,GAAGF,EAAE47C,GAAG,CAAC,eAAe,IAAI,EAAE,QAAQ17C,CAAC,IAAI,KAAKF,EAAE08C,IAAI,IAAIh4C,EAAE,CAAC,WAAW,KAAK,EAAE,QAAQxE,CAAC,IAAI,GAAGwE,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE,QAAQxE,CAAC,IAAI,KAAKwE,EAAE,MAAMzE,EAAED,EAAED,EAAED,EAAE4E,CAAC,MAAMzE,EAAE68C,GAAG58C,CAAC,EAAEH,EAAED,EAAEi9C,GAAG78C,CAAC,EAAE,IAAI,EAAEutC,GAAG1tC,EAAE,IAAI,CAAC,EAAEE,CAAC,CAAC,EAAEhB,EAAEC,EAAEa,EAAE,CAAC,CAAC,CAAC,GAAGZ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,0BAA0B,KAAK,gBAAgB,CAAC,kCAAkC,CAAC,KAAK,2BAA2B,MAAM,KAAK,iBAAiB,SAAS,KAAK,0BAA0B,QAAQ,QAAQ,KAAK,mJAAmJ,CAAC,CAAC,SAASnB,EAAEV,EAAE,EAAE,CAAC,EAAE,CAAC,IAAIG,EAAE,EAAE,WAAW,KAAK,GAAG,EAAE,UAAUkhD,GAAGlhD,CAAC,EAAE,IAAIyB,EAAE,KAAK,sBAAsBlB,EAAEV,EAAE,GAAGG,CAAC,EAAE,GAAG,CAAC,IAAI0B,EAAED,EAAE,CAAC,EAAE,OAAOA,EAAE,CAAC,CAAC,EAAE,KAAK,iBAAiB,EAAE,IAAIE,EAAE,KAAK,aAAaC,EAAE,KAAK,SAASD,EAAED,EAAE1B,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO8tC,GAAGlsC,CAAC,CAAC,QAAC,CAAQ2/C,GAAG9/C,EAAE,CAAC,EAAElB,CAAC,EAAEghD,GAAG9/C,EAAE,CAAC,EAAE5B,CAAC,CAAC,CAAC,CAAC,MAAM,gBAAgBU,EAAEV,EAAE,CAAC,OAAO,KAAK,iBAAiB,EAAEohD,GAAG,KAAK1gD,EAAEV,CAAC,CAAC,CAAC,gBAAgBU,EAAEV,EAAE,EAAEG,EAAE,QAAQ,CAAC,IAAIwB,EAAE,GAAG,GAAG,MAAM,GAAGA,EAAE,KAAK3B,GAAG,KAAK,MAAM,IAAI0tC,EAAE,MAAMvtC,CAAC,gEAAgEH,CAAC,EAAE,UAAUU,GAAG,KAAK,MAAM,QAAQA,CAAC,EAAEiB,EAAEjB,EAAE,CAAC,EAAE,MAAM,CAAC,EAAEiB,EAAEjB,EAAE,MAAM,CAAC,MAAO,OAAM,IAAIgtC,EAAE,yDAAyDvtC,CAAC,sBAAsB,EAAE,OAAOwB,CAAC,CAAC,QAAQjB,EAAEV,EAAE,CAAC,GAAG,MAAM,QAAQA,CAAC,GAAGA,EAAE,SAAS,EAAE,MAAM,IAAI0tC,EAAE,oDAAoD,EAAE,IAAI,EAAE,MAAM,QAAQ1tC,CAAC,EAAEG,EAAE,EAAEH,EAAE,CAACA,CAAC,EAAE2B,EAAE,KAAK,wBAAwBxB,CAAC,EAAEyB,EAAE,IAAIyzC,GAAG,GAAG30C,aAAahV,KAAKgV,EAAE,CAACA,CAAC,GAAG,MAAM,QAAQA,CAAC,EAAE,CAAC,GAAGA,EAAE,SAAS,KAAK,OAAO,OAAO,MAAM,IAAIgtC,EAAE,kCAAkChtC,EAAE,MAAM,wDAAwD,KAAK,OAAO,MAAM,IAAI,EAAE,QAAQoB,EAAE,EAAEA,EAAE,KAAK,OAAO,OAAO,EAAEA,EAAEF,EAAE,IAAI,KAAK,OAAOE,CAAC,EAAEpB,EAAEoB,CAAC,CAAC,CAAC,KAAM,SAAQA,KAAK,KAAK,OAAO,CAAC,IAAI,EAAEpB,EAAEoB,EAAE,IAAI,EAAE,GAAG,GAAG,KAAK,MAAM,IAAI4rC,EAAE,8CAA8C5rC,EAAE,IAAI,EAAE,EAAEF,EAAE,IAAIE,EAAE,CAAC,CAAC,CAAC,IAAID,EAAE4zC,GAAG9zC,EAAEC,CAAC,EAAE,OAAO,EAAEC,EAAEA,EAAE,CAAC,CAAC,CAAC,wBAAwBnB,EAAE,CAAC,IAAIV,EAAE8tC,GAAG,KAAKptC,EAAE,MAAM,EAAE,EAAEA,EAAE,OAAO,QAAQP,KAAK,KAAK,OAAO,CAAC,IAAIwB,EAAE,MAAM,QAAQxB,EAAE,MAAM,EAAEA,EAAE,OAAO,CAACA,EAAE,MAAM,EAAEyB,EAAED,EAAE,IAAIE,GAAGA,EAAE,IAAI,EAAE,QAAQA,EAAE,EAAEA,EAAEnB,EAAE,OAAO,EAAEmB,EAAE,CAAC,IAAIC,EAAEF,EAAE,QAAQlB,EAAEmB,CAAC,CAAC,EAAE,GAAGC,IAAI,KAAK9B,EAAE6B,CAAC,EAAEF,EAAEG,CAAC,EAAE,KAAK,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI3B,EAAE,CAAC,EAAE,MAAMH,EAAE,QAAQ,CAAC2B,EAAEC,IAAI,CAACD,GAAG,MAAMxB,EAAE,KAAKO,EAAEkB,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI8rC,EAAE,mDAAmD,KAAK,UAAUvtC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAOH,CAAC,CAAC,YAAYU,EAAEV,EAAE,GAAG,EAAE,GAAG,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI4C,EAAE,KAAK,gBAAgBO,CAAC,EAAE,GAAG,EAAE,MAAM,IAAIitC,GAAG,+CAA+C,EAAE,IAAIhsC,EAAE6/C,GAAGrhD,EAAEH,CAAC,EAAE4B,EAAE,KAAK,QAAQ,IAAIC,GAAG,CAAC,CAAC,EAAE,QAAQA,EAAE,EAAEA,EAAEF,EAAE,OAAO,EAAEE,EAAEtE,EAAE,IAAI,CAAC,IAAIwE,EAAEJ,EAAEE,CAAC,EAAE,CAAC,EAAEW,EAAEb,EAAEE,CAAC,EAAE,CAAC,EAAEY,EAAE6+C,GAAG5gD,EAAEqB,EAAES,CAAC,EAAEE,EAAE,CAAC,EAAE,GAAG,MAAM,QAAQD,CAAC,EAAE,QAAQG,EAAE,EAAEA,EAAEH,EAAE,OAAO,EAAEG,EAAEF,EAAE,KAAK,CAAC,IAAI,KAAK,OAAOE,CAAC,EAAE,MAAMH,EAAEG,CAAC,CAAC,CAAC,OAAOF,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,MAAMD,CAAC,CAAC,EAAE,IAAIE,EAAE,IAAI0yC,GAAG3yC,CAAC,EAAE,OAAO+yC,GAAG,KAAK,QAAQ9yC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAACZ,EAAES,IAAIZ,EAAEY,CAAC,EAAE,KAAKT,CAAC,CAAC,EAAE,OAAOksC,GAAGrsC,EAAE,IAAIC,GAAGhT,GAAGgT,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQnB,EAAEV,EAAE,CAAC,EAAE,CAAC,IAAI,EAAEyhD,GAAG/gD,CAAC,EAAEuhD,GAAG,EAAE,KAAK,WAAW,KAAK,gBAAgB,EAAE,EAAE,GAAG,CAAC,IAAI9hD,EAAEH,EAAE,WAAW,KAAK,GAAGA,EAAE,UAAU,OAAOqhD,GAAGlhD,CAAC,EAAE,KAAK,YAAY,EAAEA,CAAC,CAAC,QAAC,CAAQuhD,GAAG,EAAEhhD,CAAC,CAAC,CAAC,CAAC,eAAeA,EAAE,CAACuhD,GAAGvhD,EAAE,KAAK,WAAW,KAAK,gBAAgB,EAAE,EAAE,IAAIV,GAAG,MAAM,QAAQU,CAAC,EAAEA,EAAE,CAAC,EAAEA,GAAG,MAAM,CAAC,EAAE,OAAO,KAAK,YAAYA,EAAEV,CAAC,CAAC,CAAC,sBAAsBU,EAAEV,EAAE,EAAE,GAAGG,EAAE,CAAC,GAAG,KAAK,YAAY,KAAK,MAAM,IAAIstC,GAAG,8FAA8F,EAAE,IAAI9rC,EAAE,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAE,KAAK,iBAAiB,OAAO,EAAEA,EAAE,CAAC,IAAIC,EAAE,KAAK,iBAAiBD,CAAC,EAAE,KAAK,YAAYA,CAAC,IAAIi8C,GAAGl8C,EAAE,KAAKE,EAAE,MAAM,EAAEA,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAEF,EAAE,KAAKE,CAAC,CAAC,CAAC,GAAGnB,EAAEohD,GAAGphD,EAAE,KAAK,eAAe,KAAK,gBAAgB,GAAG,OAAO,EAAEV,EAAE8hD,GAAG9hD,EAAE,KAAK,gBAAgB2B,EAAE,GAAG,QAAQ,EAAEogD,GAAGrhD,EAAEV,EAAE,IAAI,EAAEgiD,GAAGhiD,EAAE,KAAK,YAAY,KAAK,gBAAgB,EAAE,KAAK,UAAUG,GAAG,MAAMA,EAAE,GAAGO,EAAE,CAAC,EAAE,MAAM,CAAC,EAAEP,IAAI,EAAE,MAAM,IAAIutC,EAAE,mHAAmHvtC,CAAC,YAAYO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,MAAM,CAACA,EAAEV,CAAC,CAAC,CAAC,MAAM,oBAAoBU,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,GAAGC,EAAE,CAAC,GAAG,CAACC,EAAEC,CAAC,EAAE,KAAK,sBAAsBpB,EAAEV,EAAE2B,EAAEC,CAAC,EAAE,GAAG,GAAG,KAAK,MAAM,IAAI,MAAM,qCAAqC,EAAE,IAAI,EAAE,KAAK,GAAGzB,GAAG,KAAK,CAAC,IAAIqC,EAAEi+C,GAAGtgD,EAAE,KAAK,WAAW,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEqC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,MAAMk+C,GAAG5+C,EAAE,CAAC,EAAE,KAAKU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAACX,EAAEC,EAAE,CAAC,CAAC,CAAC,SAASpB,EAAEV,EAAE,EAAEG,EAAE,EAAEwB,EAAE,CAAC,OAAOpE,EAAE,IAAI,CAAC,IAAIqE,EAAE,KAAK,gBAAgB5B,EAAE,EAAE2B,EAAE,OAAO,EAAEE,EAAE,CAAC,EAAE,GAAG1B,EAAE,EAAE,MAAM,IAAIwtC,GAAG,sCAAsC,EAAE,GAAGhsC,GAAG,KAAK,MAAM,IAAIgsC,GAAG,iDAAiD,EAAE,CAAC,IAAI7rC,EAAE0/C,GAAG5/C,EAAE,CAAC,EAAE,EAAE9E,GAAG+zC,GAAG,EAAEjvC,CAAC,CAAC,EAAE,QAAQY,EAAE,EAAEA,EAAEV,EAAE,OAAO,EAAEU,EAAE,CAAC,IAAI,EAAEV,EAAEU,CAAC,EAAE,CAAC,EAAEE,EAAEZ,EAAEU,CAAC,EAAE,CAAC,EAAEG,EAAE4uC,GAAG,EAAE,EAAE7uC,EAAE,CAAC,EAAEE,EAAE2+C,GAAGvhD,EAAE2C,CAAC,EAAEmB,EAAEpD,EAAEkC,CAAC,EAAE,GAAGJ,IAAI,EAAE,QAAQuB,EAAE,EAAEA,EAAED,EAAE,OAAO,EAAEC,EAAElC,EAAE,KAAK/H,GAAG,CAAC,CAAC,EAAE,QAAQiK,EAAE,EAAEA,EAAED,EAAE,OAAO,EAAEC,EAAE,CAAC,IAAIqD,EAAEtD,EAAEC,CAAC,EAAElC,EAAEkC,CAAC,EAAE,EAAElC,EAAEkC,CAAC,EAAEvN,EAAEkM,EAAE,EAAE0E,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ5E,EAAE,EAAEA,EAAEX,EAAE,OAAO,EAAEW,EAAEX,EAAEW,CAAC,EAAE7R,GAAGkR,EAAEW,CAAC,EAAEZ,CAAC,CAAC,CAAC,OAAOC,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAInB,EAAE,KAAK,aAAaV,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEU,EAAE,OAAO,EAAE,EAAE,CAAC,IAAIP,EAAEO,EAAE,CAAC,EAAEiB,EAAExB,EAAE,GAAG6tC,GAAGttC,EAAEP,CAAC,EAAE,EAAE,CAAC,IAAIyB,EAAEosC,GAAGttC,EAAE,MAAM,EAAE,CAAC,EAAEP,CAAC,EAAEwB,GAAG,IAAIC,CAAC,EAAE,CAAC5B,EAAE,KAAK2B,CAAC,CAAC,CAAC,OAAO3B,CAAC,CAAC,mBAAmB,CAAC,OAAOU,GAAG,CAAC,IAAIV,EAAE,CAAC,EAAE,EAAEU,EAAE,MAAM,EAAE,KAAK,OAAO,MAAM,EAAEP,EAAEO,EAAE,MAAM,KAAK,OAAO,OAAO,KAAK,OAAO,OAAO,KAAK,QAAQ,MAAM,EAAEiB,EAAEjB,EAAE,MAAM,KAAK,OAAO,OAAO,KAAK,QAAQ,OAAO,KAAK,OAAO,OAAO,KAAK,QAAQ,OAAO,CAAC,EAAEkB,EAAE,CAAC,EAAEC,EAAE,IAAI,CAAC,IAAIY,EAAE,CAAC,EAAE,QAAQqB,EAAE,EAAEA,EAAE,KAAK,OAAO,OAAO,EAAEA,EAAErB,EAAE,KAAK,CAAC,IAAI,KAAK,OAAOqB,CAAC,EAAE,MAAM,EAAEA,CAAC,CAAC,CAAC,EAAE,IAAIpB,EAAE,IAAI2yC,GAAG5yC,CAAC,EAAEE,EAAE8yC,GAAG,KAAK,QAAQ/yC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,QAAQoB,EAAE,EAAEA,EAAE,KAAK,cAAc,OAAO,EAAEA,EAAE,CAAC,IAAIC,EAAE,KAAK,cAAcD,CAAC,EAAEsD,EAAErD,EAAE5D,EAAE2D,CAAC,EAAEnB,EAAEmB,CAAC,CAAC,EAAEnC,EAAEmC,CAAC,GAAG,OAAOsD,EAAEu5C,GAAGv5C,EAAEzF,EAAEmC,CAAC,CAAC,GAAG,IAAIc,EAAEhP,GAAGwR,CAAC,EAAEpH,EAAE,KAAK4E,CAAC,EAAEd,IAAI,EAAE,EAAEsD,EAAE,EAAE,EAAE,EAAEA,CAAC,CAAC,CAAC,QAAQtD,EAAE,EAAEA,EAAE,KAAK,eAAe,OAAO,EAAEA,EAAE,CAAC,IAAIC,EAAE,GAAG,KAAK,QAAQ,OAAO,GAAGD,EAAE,KAAK,QAAQ,OAAOC,EAAE/D,EAAE8D,CAAC,MAAM,CAAC,IAAIsD,EAAE,KAAK,eAAetD,CAAC,EAAE,CAAC,EAAEc,EAAE,KAAK,eAAed,CAAC,EAAE,CAAC,EAAEC,EAAEnO,GAAGwR,EAAEjH,EAAEyE,CAAC,EAAEjC,EAAEiC,CAAC,CAAC,CAAC,CAAC,CAAC9Q,GAAGiQ,CAAC,EAAEnC,EAAE,KAAKmC,CAAC,CAAC,CAAC,OAAO,EAAEnO,GAAG,CAAC,EAAE,KAAK,gBAAgB,EAAE,QAAQkO,GAAG,CAAC,EAAE,EAAE,EAAEA,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEhC,EAAE,KAAK,0BAA0B,IAAIW,GAAGA,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,WAAW,SAASZ,EAAE,GAAGC,CAAC,CAAC,EAAE,OAAOF,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,aAAalB,GAAGnD,EAAE,IAAI,CAAC,IAAIyC,EAAE,CAAC,EAAE,EAAEG,EAAEO,EAAE,MAAM,EAAE,KAAK,OAAO,MAAM,EAAEiB,EAAEjB,EAAE,MAAM,KAAK,OAAO,OAAO,KAAK,OAAO,OAAO,KAAK,QAAQ,MAAM,EAAEkB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,OAAO,OAAO,EAAE,EAAEA,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,MAAMzB,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI0B,EAAE,IAAIwzC,GAAGzzC,CAAC,EAAEE,EAAE2zC,GAAG,KAAK,QAAQ5zC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,cAAc,OAAO,EAAE,EAAE,CAAC,IAAIW,EAAE,KAAK,cAAc,CAAC,EAAE,EAAE5M,GAAG4M,EAAEb,EAAE,CAAC,EAAEG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE9B,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,eAAe,OAAO,EAAE,EAAE,CAAC,IAAIwC,EAAE,KAAK,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,eAAe,CAAC,EAAE,CAAC,EAAEE,EAAE9M,GAAG4M,EAAEb,EAAE,CAAC,EAAEG,EAAE,CAAC,CAAC,CAAC,EAAE9B,EAAE,KAAK0C,CAAC,CAAC,CAAC,OAAO1C,CAAC,CAAC,CAAC,CAAC,MAAM,IAAIU,EAAEV,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,WAAW,MAAM,IAAI,MAAM,8DAA8D,EAAE,KAAK,WAAW,GAAG,IAAIG,EAAEwB,EAAEC,EAAEC,EAAEC,EAAE,EAAEU,EAAE,EAAEE,EAAE,GAAG,CAAC,IAAIC,EAAE,EAAE,WAAW,KAAK,GAAG,EAAE,UAAU0+C,GAAG1+C,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,oBAAoBjC,EAAEV,EAAE,EAAE,aAAa,EAAE,YAAY,GAAG2C,CAAC,EAAExC,EAAE,EAAE,CAAC,EAAEwB,EAAE,EAAE,CAAC,EAAEe,EAAE,EAAE,CAAC,EAAE,IAAIqB,EAAE,GAAGqD,EAAE,GAAG,EAAE,gBAAgB,MAAM,EAAE,eAAe,OAAO,EAAE,CAAC,GAAGrD,EAAE,GAAG,EAAE,eAAe,SAAS,EAAEjC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,MAAO,OAAM,EAAE,eAAe,SAAS,EAAE,IAAI6rC,GAAG,+DAA+D,EAAE,IAAID,EAAE,0GAA0G,EAAE,cAAc,cAAc,EAAE,IAAI5oC,EAAE,MAAM,KAAK,oBAAoBhD,EAAE,EAAE,KAAK,KAAK,GAAGa,CAAC,EAAEH,EAAEsC,EAAE,CAAC,EAAE,EAAEA,EAAE,CAAC,EAAEsC,EAAE5E,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,iBAAiB,MAAM,EAAE,gBAAgB,GAAG,EAAE,gBAAgB,EAAE,CAACuB,EAAE,GAAG,IAAIc,EAAE,KAAK,MAAM1E,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE2E,EAAE3E,EAAE,CAAC,EAAE,MAAM,CAAC,EAAEqC,EAAE8+C,GAAGnhD,EAAE0E,EAAEC,CAAC,EAAElD,EAAEzB,EAAEA,EAAEmhD,GAAGnhD,EAAE,EAAE0E,CAAC,EAAE,EAAEy8C,GAAG3/C,EAAEkD,EAAEC,CAAC,EAAEjD,EAAEF,EAAEA,EAAE2/C,GAAG3/C,EAAE,EAAEkD,CAAC,EAAEuC,EAAE5E,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,iBAAiB,OAAOuB,EAAE,IAAI,IAAIa,EAAEzE,EAAE,OAAOwB,CAAC,EAAE,OAAOe,CAAC,EAAE,KAAK,iCAAiC,EAAE,IAAI6B,EAAE,KAAK,kBAAkB,EAAEC,EAAE,KAAK,uBAAuB,EAAEC,EAAEC,EAAEX,GAAG,KAAK,iBAAiB,EAAEU,EAAE,KAAK,aAAaC,EAAEF,EAAE,MAAM,EAAE,OAAOA,EAAE,IAAIK,GAAG,OAAOA,CAAC,CAAC,IAAIJ,EAAE,KAAK2C,EAAE,CAAC,EAAE1C,EAAEF,EAAE,MAAM,GAAG,IAAIG,EAAEo4C,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,MAAM,KAAK,QAAQx4C,EAAEK,EAAEJ,EAAE7B,EAAE,EAAE,OAAO,EAAE,QAAQgC,EAAEF,EAAE2C,EAAE,EAAE,QAAQ1C,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC,QAAC,CAAQ,KAAK,WAAW,GAAGg9C,GAAGvhD,EAAEO,CAAC,EAAEghD,GAAG//C,EAAE3B,CAAC,EAAE0hD,GAAG9/C,EAAElB,CAAC,EAAEghD,GAAG7/C,EAAE7B,CAAC,EAAE0hD,GAAGl/C,EAAEV,CAAC,EAAE4/C,GAAG,EAAE,CAAC,EAAEh/C,GAAG,MAAMjS,GAAGiS,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQhC,EAAEV,EAAE,EAAEG,EAAEwB,EAAEC,EAAEC,EAAEC,EAAE,EAAEU,EAAE,EAAEE,EAAEC,EAAEC,EAAE,CAACzC,GAAG,OAAOA,EAAE,IAAIwB,GAAG,OAAOA,EAAE,GAAGa,GAAG,OAAOA,EAAE,IAAIE,GAAG,OAAOA,EAAE,GAAG,IAAIoB,EAAE,GAAG,GAAGhC,GAAG,MAAM,GAAG,OAAOgC,EAAE,IAAIlB,GAAG,OAAOkB,EAAE,GAAGnB,GAAG,MAAM,MAAM,IAAI+qC,EAAE,kGAAkG,EAAE,IAAI3pC,EAAE,KAAK,gBAAgB/D,EAAEG,EAAEwC,EAAE,iBAAiB,EAAEyE,EAAErD,GAAG,OAAOqD,EAAEypC,GAAG,EAAE9sC,CAAC,GAAGnC,GAAG,OAAOA,EAAE,GAAG,GAAG,CAAC,aAAa,EAAE,QAAQ2C,CAAC,EAAE04C,GAAGp7C,EAAED,EAAED,EAAEe,EAAEqB,EAAEpB,EAAExC,EAAE2D,EAAE,CAAC,EAAE,EAAE,SAAS,IAAI,EAAE,KAAK,QAAQS,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,cAAc,GAAG,QAAQC,EAAE9B,EAAE8B,EAAE7C,EAAE,EAAE6C,EAAE,CAAC,MAAM,EAAE,aAAaA,CAAC,EAAE,IAAIC,EAAE,CAAC,EAAE,GAAG9B,GAAG,KAAK,MAAM,IAAIgrC,GAAG,4CAA4C,EAAE,CAAC,GAAGnrC,IAAI,QAAQ,MAAM,IAAImrC,GAAG,wCAAwC,EAAEnrC,GAAGnE,EAAE,QAAQ+I,CAAC,EAAE,IAAI1C,EAAE5H,GAAGsK,CAAC,EAAEzC,EAAE68C,GAAGz9C,EAAE5D,CAAC,EAAE,QAAQkH,EAAE,EAAEA,EAAE1C,EAAE,OAAO,EAAE0C,EAAE,CAAC,IAAIxC,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,aAAawC,EAAExC,CAAC,EAAEtH,EAAE,IAAI,CAAC,IAAIuH,EAAEH,EAAE0C,CAAC,EAAE,CAAC,EAAEtC,EAAEJ,EAAE0C,CAAC,EAAE,CAAC,EAAErC,EAAEusC,GAAG7sC,EAAEI,EAAEC,EAAED,CAAC,EAAED,EAAE,MAAMwC,EAAExC,EAAE,KAAKE,EAAED,EAAE,IAAIG,EAAEs8C,GAAGvhD,EAAEgF,CAAC,EAAEE,EAAExE,EAAEuE,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAE,EAAE,OAAO,EAAEA,EAAE,CAAC,IAAI2C,EAAE,EAAE3C,CAAC,EAAEoC,EAAErC,EAAEC,CAAC,EAAEN,EAAEiD,CAAC,EAAEP,EAAEzT,GAAGyT,CAAC,CAAC,CAAC,GAAGF,IAAI1C,EAAE,OAAO,GAAGb,EAAE,CAAC,IAAIqB,EAAE,KAAK,SAASrD,EAAE,EAAE3B,CAAC,EAAE,QAAQ2H,EAAE,EAAEA,EAAE,EAAE,OAAO,EAAEA,EAAE,CAAC,IAAIP,EAAE,EAAEO,CAAC,EAAEC,EAAE5C,EAAE2C,CAAC,EAAEhU,GAAGiU,CAAC,EAAEtD,EAAE,OAAO8C,CAAC,EAAEQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAWV,EAAExC,CAAC,EAAE63C,GAAG73C,CAAC,EAAE,KAAK,cAAc,KAAK,CAACH,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE,WAAWF,EAAEC,CAAC,EAAE,KAAK,cAAc,KAAK,CAAC,OAAO,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,QAAQ,SAAS,EAAE,KAAK,OAAO,CAAC,MAAM,WAAW/D,EAAEV,EAAE,CAAC,OAAOghD,GAAG,KAAKtgD,EAAEV,CAAC,CAAC,CAAC,MAAM,aAAaU,EAAEV,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,oBAAoBU,EAAEV,CAAC,EAAEG,EAAE,EAAE,CAAC,EAAEwB,EAAE,EAAE,CAAC,EAAEE,EAAE,KAAK,kBAAkB,EAAE1B,EAAE,OAAOwB,CAAC,CAAC,EAAEG,EAAE,CAAC,EAAE,QAAQC,KAAKF,EAAE,CAAC,IAAIW,EAAE,MAAMT,EAAE,KAAK,EAAED,EAAE,KAAKU,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO/R,GAAGoR,CAAC,EAAE6/C,GAAG,EAAE,CAAC,EAAEhhD,CAAC,EAAEghD,GAAG,EAAE,CAAC,EAAE1hD,CAAC,EAAEiuC,GAAGnsC,CAAC,CAAC,CAAC,gBAAgBpB,EAAE,CAAC,IAAIV,EAAE,CAAC,EAAE,EAAEU,GAAG,MAAMA,EAAE,cAAcP,EAAE,EAAE,KAAK,iBAAiB,KAAK,QAAQwB,EAAE,KAAK,WAAW,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAEzB,EAAE,OAAO,EAAEyB,EAAE,GAAG,CAACzB,EAAEyB,CAAC,EAAE,WAAW5B,EAAE,KAAK,CAAC,KAAKG,EAAEyB,CAAC,EAAE,aAAa,OAAOD,EAAEC,CAAC,CAAC,CAAC,EAAE,OAAO5B,CAAC,CAAC,IAAI,aAAaU,EAAE,CAAC,KAAK,cAAcA,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,KAAK,aAAa,CAAC,IAAI,WAAW,CAAC,OAAO,KAAK,UAAU,CAAC,IAAI,UAAUA,EAAE,CAAC,KAAK,aAAaA,IAAI,KAAK,WAAWA,EAAE,KAAK,iBAAiB,GAAG,CAAC,SAAS,CAAC,IAAIA,EAAE,MAAM,QAAQ,EAAE,GAAGA,EAAE,uBAAuB,GAAG,KAAK,WAAW,MAAM,KAAK,iBAAiB,CAAC,IAAIV,EAAEnK,GAAG,EAAE,WAAW,KAAK,WAAW,QAAQ,EAAE6K,EAAE,sBAAsBV,EAAEnK,GAAG,EAAE,UAAU,CAAC,OAAO6K,CAAC,CAAC,oBAAoB,CAAC,IAAIA,EAAE,GAAG,OAAO,KAAK,MAAM,SAASA,EAAEytC,GAAG,KAAK,IAAI,UAAU,MAAM,QAAQ,KAAK,IAAI,EAAE,CAAC,QAAQnuC,KAAK,KAAK,KAAK,GAAG,OAAOA,GAAG,SAAS,MAAM,IAAI,MAAM,oDAAoD,EAAEU,EAAE,KAAK,KAAK,IAAIV,GAAGmuC,GAAGnuC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAIA,EAAE,OAAO,KAAK,KAAK,IAAI,EAAEU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,QAAQP,KAAKH,EAAE,GAAG,OAAO,EAAEG,CAAC,GAAG,SAASO,EAAEP,CAAC,EAAEguC,GAAG,EAAEhuC,CAAC,CAAC,MAAO,OAAM,IAAI,MAAM,oDAAoD,CAAC,CAAC,OAAOO,CAAC,CAAC,sBAAsB,CAAC,GAAG,OAAO,KAAK,SAAS,UAAU,OAAO,KAAK,SAAS,WAAW,MAAM,CAACytC,GAAGsR,GAAG,KAAK,OAAO,CAAC,CAAC,EAAE,GAAG,MAAM,QAAQ,KAAK,OAAO,EAAE,OAAO,KAAK,QAAQ,IAAI/+C,GAAGytC,GAAGsR,GAAG/+C,CAAC,CAAC,CAAC,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,QAAQV,KAAK,KAAK,QAAQU,EAAEV,CAAC,EAAEmuC,GAAGsR,GAAG,KAAK,QAAQz/C,CAAC,CAAC,CAAC,EAAE,OAAOU,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,KAAK,mBAAmB,EAAE,QAAQ,KAAK,qBAAqB,EAAE,iBAAiB,CAAC,WAAW,KAAK,UAAU,aAAa,EAAE,OAAO,KAAK,UAAU,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmBA,EAAE,CAAC,GAAGA,EAAE,kBAAkB,KAAK,MAAM,IAAI,MAAM,8CAA8C,EAAE,GAAGA,EAAE,cAAc,KAAK,MAAM,IAAI,MAAM,4CAA4C,EAAE,GAAGA,EAAE,oBAAoB,KAAK,MAAM,IAAI,MAAM,kDAAkD,EAAE,IAAIV,EAAEogD,GAAG1/C,EAAE,gBAAgB,EAAE,EAAEw8C,GAAGl9C,CAAC,EAAEG,EAAE,GAAG,OAAOO,EAAE,MAAM,SAASP,EAAEiuC,GAAG1tC,EAAE,IAAI,UAAU,MAAM,QAAQA,EAAE,IAAI,EAAEP,EAAEO,EAAE,KAAK,IAAIkB,GAAGwsC,GAAGxsC,CAAC,CAAC,UAAUlB,EAAE,MAAM,KAAK,CAACP,EAAE,CAAC,EAAE,QAAQyB,KAAKlB,EAAE,KAAKP,EAAEyB,CAAC,EAAEwsC,GAAG1tC,EAAE,KAAKkB,CAAC,CAAC,CAAC,CAAC,IAAID,EAAE,GAAG,MAAM,QAAQjB,EAAE,OAAO,EAAEiB,EAAEjB,EAAE,QAAQ,IAAIkB,GAAGwsC,GAAGxsC,CAAC,CAAC,UAAUlB,EAAE,SAAS,KAAK,CAACiB,EAAE,CAAC,EAAE,QAAQC,KAAKlB,EAAE,QAAQiB,EAAEC,CAAC,EAAEwsC,GAAG1tC,EAAE,QAAQkB,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,KAAKzB,EAAE,QAAQwB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,KAAKjB,EAAEV,EAAE,CAAC,GAAG,OAAOU,GAAG,SAAS,CAAC,IAAIqB,EAAEtO,GAAG,gBAAgBiN,CAAC,EAAE,GAAGqB,EAAE,SAAS,EAAE,MAAM,IAAI2rC,EAAE,0CAA0ChtC,CAAC,GAAG,EAAE,GAAGqB,EAAE,OAAO,EAAE,MAAM,IAAI2rC,EAAE,wBAAwB3rC,EAAE,MAAM,4BAA4BrB,CAAC,GAAG,EAAEA,EAAEqB,EAAE,CAAC,CAAC,CAAC,GAAGrB,EAAE,MAAM,KAAK,MAAM,IAAIgtC,EAAE,8GAA8G,EAAE,IAAI,EAAE,MAAMj6C,GAAG,cAAc,KAAK,gBAAgBuM,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,KAAK,OAAO,KAAK,EAAE,EAAE,OAAOmiD,GAAG,YAAY,8BAA8BrjD,EAAE,GAAG,YAAY,IAAI,EAAE,GAAIkB,GAAG,MAAQA,EAAE,kBAAmB,KAAK,WAAW,KAAK,CAAC,EAAE,eAAe,KAAK,kBAAkB,EAAE,IAAI+B,EAAE,YAAY,CAAC,KAAKS,EAAE,MAAMC,CAAC,EAAE,MAAMhP,GAAG,cAAc,MAAM,KAAK,UAAU,WAAW,EAAEsO,CAAC,EAAE,EAAE,MAAM,KAAK,GAAGU,CAAC,EAAE,EAAE,KAAKhP,GAAG,wBAAwB,CAAC,EAAE,KAAK+O,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,qBAAqB,OAAOm9C,GAAG,KAAK,oBAAoB,KAAK,KAAK,EAAE,EAAE,EAAE,oBAAoB,KAAK,qBAAqB,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,MAAMj/C,EAAE,KAAK,CAAC,CAAC,CAAC,uBAAuBA,EAAE,CAACi/C,GAAGj/C,EAAE,KAAK,IAAI,EAAE,KAAK,oBAAoBA,CAAC,CAAC,wBAAwB,CAAC,OAAO,KAAK,mBAAmB,CAAC,EAAEvb,GAAG,UAAU,QAAQkV,GAAE,cAAclV,EAAE,EAAE,IAAIi9D,GAAG,cAAcj9D,EAAE,CAAC,EAAEi9D,GAAG,UAAU,aAAa/nD,GAAE,cAAc+nD,EAAE,EAAE,eAAeC,GAAGviD,EAAE,EAAE,CAAC,kBAAkBA,IAAIA,EAAE,CAAC,cAAcA,CAAC,GAAGA,EAAEA,EAAE,IAAIE,EAAEF,EAAE,cAAcE,EAAE,cAAc,OAAOA,EAAEA,EAAE,cAAc,IAAIE,EAAEkgD,GAAGpgD,CAAC,EAAEG,EAAE+8C,GAAGh9C,EAAE,CAAC,EAAE,GAAGJ,EAAE,iBAAiB,KAAK,CAAC,IAAI,EAAE,MAAMrM,GAAG,YAAYqM,EAAE,gBAAgBA,EAAE,WAAWK,EAAE,QAAQ,IAAI0B,GAAGA,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQA,KAAK1B,EAAE,QAAQ,EAAE0B,EAAE,YAAY,EAAE,EAAEA,EAAE,YAAY,EAAE1B,EAAE,YAAY,CAAC,EAAE1P,GAAG,CAAC,CAAC,CAAC,OAAO0P,CAAC,CAAC,eAAe3L,GAAGsL,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC,GAAG,OAAOA,GAAG,SAAS,CAAC,IAAIE,EAAEvM,GAAG,gBAAgBqM,EAAE,CAAC,EAAE,GAAGE,EAAE,SAAS,EAAEA,EAAE,KAAKvM,GAAG,mBAAmBqM,EAAE,CAAC,CAAC,UAAUE,EAAE,OAAO,EAAE,MAAM,IAAI0tC,EAAE,wBAAwB1tC,EAAE,MAAM,4BAA4BF,CAAC,GAAG,EAAEA,EAAEE,EAAE,CAAC,CAAC,CAAC,OAAOsiD,GAAGxiD,EAAE,OAAO,CAAC,CAAC,CAAC,eAAewiD,GAAGxiD,EAAE,EAAEE,EAAE,CAAC,GAAGA,GAAG,OAAOA,EAAE,CAAC,GAAGF,EAAE,MAAM,KAAK,MAAM,IAAI4tC,EAAE,+GAA+G,EAAE,IAAIxtC,EAAE,MAAMJ,EAAE,KAAK,EAAEK,EAAED,EAAE,cAAcC,EAAE,cAAc,OAAOA,EAAEA,EAAE,cAAc,IAAI,EAAEH,EAAE,QAAQ,KAAK,GAAGA,EAAE,OAAO,EAAEE,EAAE,YAAY,MAAMA,EAAE,aAAa,MAAM,EAAE2B,EAAEq7C,GAAGkD,GAAGjgD,CAAC,EAAE,EAAE,CAAC,EAAE2B,EAAE5B,EAAE,eAAe,GAAG4B,GAAG,MAAMD,EAAE,mBAAmBC,CAAC,EAAE5B,EAAE,qBAAqB,MAAM2B,EAAE,uBAAuB3B,EAAE,mBAAmB,EAAEA,EAAE,YAAY,KAAK,CAAC,GAAGA,EAAE,aAAa,KAAK,MAAM,IAAIwtC,EAAE,gHAAgH,EAAE,GAAG,CAAC,aAAa3rC,EAAE,iBAAiBS,CAAC,EAAE+/C,GAAGriD,EAAE,WAAWA,EAAE,WAAW,EAAE2B,EAAE,YAAYE,EAAE,CAAC,EAAEF,EAAE,WAAW,MAAMW,EAAE,OAAO,GAAG,MAAMX,EAAE,UAAU,WAAWW,CAAC,EAAE/R,GAAGsR,CAAC,EAAEtR,GAAG+R,EAAE,IAAIC,GAAGA,EAAE,MAAM,CAAC,CAAC,CAAC,OAAOZ,CAAC,CAAC,SAAS0gD,GAAGziD,EAAE,EAAE,CAAC,IAAIE,EAAEvM,GAAG,cAAcqM,EAAE,CAAC,EAAEI,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,YAAYA,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,OAAOH,EAAE,EAAE,IAAI,CAAC,CAAC,EAAEE,EAAE,EAAE,IAAI,EAAEF,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,aAAaE,EAAE,iBAAiBC,CAAC,CAAC,CAAC,IAAItW,GAAG,MAAMiW,WAAU3a,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,UAAU,GAAG,KAAK,MAAM,GAAG,KAAK,KAAK,EAAE,MAAM,KAAK,EAAE,KAAKmqD,GAAG,aAAa,EAAE,EAAE,QAAQ,KAAK,QAAQtvC,KAAK,EAAE,OAAO,KAAK,IAAIA,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI0tC,EAAE,kDAAkD,EAAE,IAAI,sBAAsB,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI1tC,EAAE,aAAaF,IAAG,aAAa3a,GAAG+a,EAAE,GAAGF,EAAE,CAAC,GAAGE,EAAE,EAAEA,EAAE,QAAQ,SAAS,EAAE,MAAM,IAAIwtC,EAAE,uHAAuH,EAAE,GAAGxtC,EAAE,OAAO,SAAS,EAAE,MAAM,IAAIwtC,EAAE,qHAAqH,CAAC,CAAC,GAAG,KAAK,QAAQ,SAAS,EAAE,CAAC,GAAG,EAAE,aAAa,SAAS,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,IAAIA,EAAE,+FAA+F,EAAE,IAAIvtC,EAAEg1C,GAAG,CAAC,WAAW,EAAE,gBAAgB,MAAM,EAAE,MAAM,KAAK,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE,MAAMh1C,CAAC,CAAC,CAAC,GAAGH,EAAE,KAAK,QAAQE,EAAE,QAAQ,KAAK,OAAOA,EAAE,WAAW,CAAC,GAAG,EAAE,aAAa,SAAS,EAAE,MAAM,IAAIwtC,EAAE,gHAAgH,EAAE,IAAI,cAAc,EAAE,aAAa,MAAM,oCAAoC,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,cAAc,SAAS,EAAE,MAAM,IAAIA,EAAE,uHAAuH,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,aAAa,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,KAAK,OAAOuH,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,EAAE,IAAIP,GAAG,CAAC,cAAc,KAAK,cAAc,CAAC,EAAE,YAAY,CAAC,EAAE,cAAc,CAAC,EAAE,aAAa,KAAK,OAAO,cAAc,KAAK,QAAQ,WAAW5G,GAAG,KAAK,KAAK,OAAO,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,IAAI3tC,GAAGA,EAAE,KAAK,EAAE,aAAa,KAAK,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,IAAIA,EAAE,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,EAAE,GAAG,MAAM,QAAQA,CAAC,EAAE,MAAM,IAAI,UAAU,uHAAuH,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,QAAQ,CAACA,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,cAAc,KAAK,QAAQ,KAAK,aAAa,CAAC,EAAE,aAAa,CAAC,KAAK,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,OAAO,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,SAAS,EAAE,MAAM,IAAI,UAAU,mCAAmC,EAAE,GAAG,KAAK,OAAO,IAAI,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK,QAAQ,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,KAAK,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,OAAO,OAAO,EAAE,KAAK,OAAO,CAAC,EAAE,cAAc,CAAC,EAAE,KAAK,QAAQ,CAAC,KAAK,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,aAAa,CAAC,EAAE,cAAc,KAAK,QAAQ,KAAK,aAAa,CAAC,EAAE,aAAa,CAAC,KAAK,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,EAAEH,EAAE,CAAC,OAAO,KAAK,OAAO,MAAM,KAAK,MAAM,EAAE,KAAK,MAAM,KAAK,EAAEA,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAGm0C,GAAG,CAAC,EAAE,KAAK,OAAO,SAAS,GAAG,KAAK,QAAQ,SAAS,EAAE,MAAM,IAAI,UAAU,0EAA0E,EAAE,KAAK,MAAM,IAAIhvD,GAAG,CAAC,OAAO,KAAK,OAAO,QAAQ,KAAK,QAAQ,CAAC,EAAE,KAAK,KAAK,KAAK,QAAQ,CAAC,EAAE,KAAK,MAAM,UAAU,KAAK,UAAU,KAAK,gBAAgB,KAAK,MAAM,gBAAgB,KAAK,YAAY,KAAK,MAAM,YAAY,KAAK,uBAAuB,KAAK,MAAM,uBAAuB,KAAK,yBAAyB,KAAK,MAAM,yBAAyB,KAAK,aAAa,KAAK,MAAM,aAAa,KAAK,wBAAwB,KAAK,MAAM,wBAAwB,KAAK,0BAA0B,KAAK,MAAM,0BAA0B,KAAK,aAAa,KAAK,MAAM,aAAa,KAAK,eAAe,KAAK,MAAM,eAAe,KAAK,YAAY,KAAK,MAAM,YAAY,KAAK,WAAW,KAAK,MAAM,WAAW,KAAK,MAAM,EAAE,CAAC,aAAa,CAAC,OAAO,KAAK,OAAO,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC,CAAC,QAAQ,EAAE6a,EAAEE,EAAE,QAAQ,IAAI,CAAC,KAAK,OAAO,KAAK,MAAM,EAAE,MAAM,QAAQ,EAAEF,EAAEE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,OAAO,MAAM,KAAK,MAAM,EAAE,KAAK,MAAM,WAAW,CAAC,CAAC,CAAC,SAAS,EAAEF,EAAEE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,MAAM,MAAM,IAAIutC,GAAG,mDAAmD,EAAE,OAAO,KAAK,MAAM,SAAS,EAAEztC,EAAEE,CAAC,CAAC,CAAC,MAAM,gBAAgB,EAAEF,EAAE,CAAC,GAAG,CAAC,KAAK,MAAM,MAAM,IAAIytC,GAAG,mDAAmD,EAAE,OAAO,KAAK,MAAM,gBAAgB,EAAEztC,CAAC,CAAC,CAAC,QAAQ,EAAEA,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,OAAO,MAAM,KAAK,MAAM,EAAE,KAAK,MAAM,QAAQ,EAAEA,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,OAAO,KAAK,OAAO,MAAM,KAAK,MAAM,EAAE,KAAK,MAAM,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,MAAM,EAAE,KAAK,MAAM,QAAQ,CAAC,EAAE,KAAK,WAAW,KAAK,MAAM,UAAU,KAAK,iBAAiB,KAAK,MAAM,iBAAiB,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,QAAQ,KAAK,MAAM,QAAQ,KAAK,eAAe,KAAK,MAAM,eAAe,KAAK,aAAa,KAAK,MAAM,YAAY,CAAC,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,MAAM,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC,KAAK,MAAM,UAAU,CAAC,CAAC,MAAM,IAAI,EAAEA,EAAEE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,MAAM,MAAM,IAAIutC,GAAG,mDAAmD,EAAE,OAAO,KAAK,MAAM,IAAI,EAAEztC,EAAEE,CAAC,CAAC,CAAC,MAAM,WAAW,EAAEF,EAAE,CAAC,GAAG,CAAC,KAAK,MAAM,MAAM,IAAIytC,GAAG,mDAAmD,EAAE,OAAO,KAAK,MAAM,WAAW,EAAEztC,CAAC,CAAC,CAAC,MAAM,aAAa,EAAEA,EAAE,CAAC,OAAO,KAAK,MAAM,aAAa,EAAEA,CAAC,CAAC,CAAC,OAAO,WAAW,EAAEA,EAAEE,EAAE,CAAC,EAAEC,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAGH,aAAa,MAAM,CAAC,GAAGA,EAAE,CAAC,EAAE,WAAW,MAAMA,EAAE,CAAC,EAAE,YAAY,QAAQ,MAAM,IAAI0tC,EAAE,gDAAgD,EAAE,EAAE1tC,CAAC,MAAM3B,EAAE,OAAO2B,EAAE,QAAQ,KAAK,IAAI,qHAAqH,EAAE,EAAEA,EAAE,OAAO,OAAOA,EAAE,OAAO,EAAEA,EAAE,IAAI6B,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAEA,aAAa/B,IAAG,MAAM,IAAI6tC,GAAG,yDAAyD9rC,CAAC,EAAE,EAAE,QAAQC,KAAK,EAAE,CAAC,IAAIU,EAAE06C,GAAGp7C,EAAE,OAAO3B,CAAC,EAAEA,GAAGqC,EAAE,6BAA6B,EAAE,EAAEX,EAAE,IAAIW,CAAC,CAAC,CAAC,OAAOX,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC,GAAG,KAAK,OAAO,KAAK,MAAM,IAAI6rC,EAAE,mFAAmF,EAAE,KAAK,MAAM,aAAa,CAAC,CAAC,IAAI,cAAc,CAAC,GAAG,KAAK,OAAO,KAAK,MAAM,IAAIA,EAAE,mFAAmF,EAAE,OAAO,KAAK,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ1tC,KAAK,KAAK,OAAO,CAAC,IAAIE,EAAE,CAAC,EAAEA,EAAE,UAAUF,EAAE,aAAa,EAAEE,EAAE,OAAOF,EAAE,UAAU,EAAE,EAAE,KAAKE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAErW,GAAG,UAAU,aAAawQ,GAAE,cAAcxQ,EAAE,EAAE,SAASuM,GAAG0J,EAAE,CAAC,OAAO,IAAI3a,GAAG2a,CAAC,CAAC,CAAC,SAAS1F,GAAG0F,EAAE,CAAC,OAAO,IAAIjW,GAAGiW,CAAC,CAAC,CAAC,SAAStM,GAAGsM,EAAE,CAAC,OAAOq1C,GAAGr1C,CAAC,CAAC,CAAC,SAASjH,GAAGiH,EAAE,EAAE,CAACk9C,GAAG,4BAA4Bl9C,EAAE,CAAC,CAAC,CAAC,IAAI0iD,GAAG,cAAcnoD,GAAE,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAEooD,GAAG,cAAcD,EAAE,CAAC,MAAM9hD,EAAEV,EAAE,EAAE,CAAC,OAAOkyC,GAAGxxC,EAAEV,CAAC,CAAC,CAAC,EAAEyiD,GAAG,UAAU,MAAMpoD,GAAE,cAAcooD,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,MAAM9hD,EAAE,CAAC,OAAOxG,GAAGwG,CAAC,CAAC,CAAC,EAAEgiD,GAAG,UAAU,OAAOroD,GAAE,cAAcqoD,EAAE,EAAE,IAAIC,GAAG,cAAcH,EAAE,CAAC,MAAM9hD,EAAE,CAAC,OAAOxH,GAAGwH,CAAC,CAAC,CAAC,EAAEiiD,GAAG,UAAU,OAAOtoD,GAAE,cAAcsoD,EAAE,EAAE,IAAIC,GAAG,cAAcJ,EAAE,CAAC,MAAM9hD,EAAE,CAAC,OAAOnD,EAAE,IAAItH,GAAG,EAAEiD,GAAGwH,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEkiD,GAAG,UAAU,QAAQvoD,GAAE,cAAcuoD,EAAE,EAAE,IAAIC,GAAG,cAAcL,EAAE,CAAC,MAAM9hD,EAAE,CAAC,OAAOA,CAAC,CAAC,EAAEmiD,GAAG,UAAU,SAASxoD,GAAE,cAAcwoD,EAAE,EAAE,IAAIC,GAAG,cAAcN,EAAE,CAAC,MAAM9hD,EAAE,CAAC,OAAO5F,GAAG4F,CAAC,CAAC,CAAC,EAAEoiD,GAAG,UAAU,UAAUzoD,GAAE,cAAcyoD,EAAE,EAAE,IAAIC,GAAG,cAAcP,EAAE,CAAC,MAAM9hD,EAAE,CAAC,OAAO2xC,GAAG3xC,CAAC,CAAC,CAAC,EAAEqiD,GAAG,UAAU,cAAc1oD,GAAE,cAAc0oD,EAAE,EAAE,IAAIC,GAAG,cAAcR,EAAE,CAAC,MAAM9hD,EAAE,CAAC,OAAOhF,GAAGgF,CAAC,CAAC,CAAC,EAAEsiD,GAAG,UAAU,WAAW3oD,GAAE,cAAc2oD,EAAE,EAAE,IAAIC,GAAG,cAAcT,EAAE,CAAC,MAAM9hD,EAAE,CAAC,OAAOyxC,GAAGzxC,CAAC,CAAC,CAAC,EAAEuiD,GAAG,UAAU,WAAW5oD,GAAE,cAAc4oD,EAAE,EAAE,IAAIC,GAAG,cAAcV,EAAE,CAAC,MAAM9hD,EAAE,CAAC,OAAO9D,GAAG8D,CAAC,CAAC,CAAC,EAAEwiD,GAAG,UAAU,OAAO7oD,GAAE,cAAc6oD,EAAE,EAAE,IAAIC,GAAG,cAAcX,EAAE,CAAC,MAAM9hD,EAAEV,EAAE,GAAG,CAAC,OAAOvE,GAAGiF,EAAEV,CAAC,CAAC,CAAC,EAAEmjD,GAAG,UAAU,UAAU9oD,GAAE,cAAc8oD,EAAE,EAAE,IAAIC,GAAG,cAAcZ,EAAE,CAAC,MAAM9hD,EAAEV,EAAE,GAAG,CAAC,OAAOnL,GAAG6L,EAAEV,CAAC,CAAC,CAAC,EAAEojD,GAAG,UAAU,aAAa/oD,GAAE,cAAc+oD,EAAE,EAAE,IAAIC,GAAG,cAAcb,EAAE,CAAC,MAAM9hD,EAAEV,EAAE,EAAE,CAAC,OAAOzC,EAAE,IAAI/G,EAAEsE,GAAGtE,EAAEkK,EAAEV,CAAC,CAAC,EAAEU,CAAC,CAAC,CAAC,CAAC,EAAE2iD,GAAG,UAAU,QAAQhpD,GAAE,cAAcgpD,EAAE,EAAE,IAAIC,GAAG,cAAcd,EAAE,CAAC,MAAM9hD,EAAE,CAAC,OAAOnD,EAAE,IAAI/G,EAAEkK,EAAE9D,GAAGlB,GAAGgF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE4iD,GAAG,UAAU,OAAOjpD,GAAE,cAAcipD,EAAE,EAAE,SAASC,GAAGzjD,EAAE,CAAC,OAAOA,EAAE,aAAa,CAAC,CAAC,SAAS0jD,GAAG1jD,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO0uC,GAAG1uC,EAAEzF,GAAE,iBAAiB,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,SAASopD,GAAG3jD,EAAE,CAAC,GAAGA,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,SAAS,EAAE,OAAO,CAAC,EAAE0jD,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO1jD,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,UAAUA,EAAE,EAAE,OAAO,CAAC,EAAE0jD,GAAG,CAAC,CAAC,KAAM,QAAO1jD,aAAa0iD,GAAG1iD,EAAE0jD,GAAG1jD,CAAC,CAAC,CAAC,SAAS4jD,GAAG5jD,EAAE,CAAC,GAAGA,GAAG,MAAM,OAAOA,GAAG,SAAS,MAAM,IAAI,MAAM,yFAAyFA,CAAC,EAAE,CAAC,CAAC,IAAI6jD,GAAG,cAActpD,GAAE,YAAY,CAAC,EAAEupD,GAAG,cAAcD,EAAE,CAAC,YAAYjjD,EAAE,CAAC,MAAM,EAAEgjD,GAAGhjD,CAAC,EAAE,KAAK,GAAGA,GAAG,MAAMA,EAAE,IAAI,KAAK,IAAIA,EAAE,GAAG,KAAK,GAAGA,GAAG,MAAMA,EAAE,IAAI,KAAK,IAAIA,EAAE,GAAG,KAAK,MAAM,KAAK,KAAK,EAAE,KAAK,MAAM,KAAK,KAAK,CAAC,CAAC,MAAMA,EAAE,CAAC,OAAOnD,EAAE,IAAI,CAAC,IAAIyC,EAAEX,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,QAAQW,EAAE,EAAEA,EAAEvD,GAAGjG,EAAE,KAAK,GAAGhK,GAAGkU,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQV,EAAE,EAAEA,EAAEvD,GAAGjG,EAAE,KAAK,GAAGw7C,GAAGtxC,CAAC,CAAC,CAAC,CAAC,GAAGrH,EAAE2G,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,OAAO,WAAWU,EAAEV,EAAE,CAAC,OAAO,IAAIU,EAAE,CAAC,GAAGV,EAAE,GAAG,GAAGA,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE4jD,GAAG,UAAU,OAAOvpD,GAAE,cAAcupD,EAAE,EAAE,SAASC,GAAG/jD,EAAE,CAAC,OAAO4jD,GAAG5jD,CAAC,EAAE,IAAI8jD,GAAG,CAAC,GAAG9jD,GAAG,KAAKA,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAASgkD,GAAGhkD,EAAE,CAAC,OAAO4jD,GAAG5jD,CAAC,EAAE,IAAI8jD,GAAG,CAAC,GAAG9jD,GAAG,KAAKA,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAIikD,GAAG,CAAC,KAAK,MAAM,EAAE,SAASC,GAAGlkD,EAAE,CAAC,OAAOwuC,GAAGxuC,CAAC,CAAC,CAAC,SAASmkD,GAAGnkD,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO0uC,GAAG1uC,EAAEzF,GAAE,iBAAiB,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,SAAS6pD,GAAGpkD,EAAE,CAAC,GAAGA,GAAG,KAAK,OAAO,KAAK,GAAG,OAAOA,GAAG,SAAS,CAAC,IAAIE,EAAE,CAAC,UAAUF,KAAKikD,GAAGA,GAAGjkD,CAAC,EAAEA,EAAE,OAAO,CAAC,CAAC,EAAE,OAAOmkD,GAAGjkD,CAAC,CAAC,KAAM,QAAOF,aAAa6jD,GAAG7jD,EAAEmkD,GAAGnkD,CAAC,CAAC,CAAC,IAAIqkD,GAAG,cAAcvP,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,GAAG,KAAK,CAAC,EAAEA,CAAC,EAAE,KAAK,gBAAgB,GAAGA,GAAG,OAAO,KAAK,SAASA,EAAE,SAAS,CAAC,KAAKA,EAAEV,EAAE,CAACU,EAAEwzC,GAAGxzC,CAAC,EAAE,IAAI,EAAExH,GAAGwH,CAAC,EAAE,OAAO,KAAK,UAAU,OAAO,EAAEhS,GAAG,EAAE,EAAE,KAAK,QAAQ,GAAG,CAAC,CAAC,mBAAmBgS,EAAE,CAAC,OAAOA,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,SAAS,KAAK,QAAQ,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEyjD,GAAG,UAAU,OAAO9pD,GAAE,cAAc8pD,EAAE,EAAE,IAAIC,GAAG,cAAcxP,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,GAAG,KAAK,CAAC,EAAEA,CAAC,EAAE,KAAK,cAAc,GAAGA,GAAG,OAAOA,EAAE,CAAC,GAAG,KAAK,MAAMA,EAAE,OAAO,KAAK,KAAK,cAAcA,EAAE,KAAK,CAAC,KAAKA,EAAEV,EAAE,CAAC,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAE,OAAOzM,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC,mBAAmByM,EAAE,CAAC,OAAOA,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,MAAM,KAAK,KAAK,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAE0jD,GAAG,UAAU,YAAY/pD,GAAE,cAAc+pD,EAAE,EAAE,IAAIC,GAAG,cAAczP,EAAE,CAAC,YAAYl0C,EAAE,CAAC,GAAG,MAAMA,GAAG,KAAK,CAAC,EAAEA,CAAC,EAAE,KAAK,0BAA0B,QAAQA,GAAG,OAAOA,EAAE,CAAC,GAAG,KAAK,gBAAgB,GAAG,KAAK,iBAAiBqzC,GAAGrzC,EAAE,kBAAkB,KAAK,yBAAyB,EAAE,KAAK,iBAAiBwjD,GAAGxjD,EAAE,gBAAgB,EAAE,KAAK,gBAAgBk2C,GAAGl2C,EAAE,eAAe,EAAEA,EAAE,YAAY,KAAK,KAAK,WAAW,aAAa,MAAM,QAAQA,EAAE,UAAU,EAAE,KAAK,WAAWA,EAAE,mBAAmB,OAAOA,EAAE,YAAY,SAAS,KAAK,WAAW,CAACA,EAAE,UAAU,MAAO,OAAM,IAAIgtC,EAAE,sEAAsEhtC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAMA,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAEU,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,YAAY,KAAK,QAAQP,KAAK,KAAK,WAAWH,EAAEG,EAAE,CAAC,EAAE,EAAE,KAAK,MAAM,KAAK,UAAU,QAAQH,EAAE,UAAU,KAAK,iBAAiB,KAAK,iBAAiB,GAAG,KAAK,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,YAAY,KAAK,QAAQG,EAAE,EAAEA,EAAEO,EAAE,OAAO,EAAEP,EAAE,EAAEA,CAAC,EAAEO,EAAEP,CAAC,EAAE,KAAK,UAAU,CAAC,IAAIxb,GAAG,CAAC,KAAK+b,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOU,EAAEwzC,GAAGxzC,CAAC,EAAE/I,GAAG+I,EAAE,KAAK,MAAM,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,iBAAiBozC,GAAG,KAAK,gBAAgB,EAAE,iBAAiBkQ,GAAG,KAAK,gBAAgB,EAAE,gBAAgBtN,GAAG,KAAK,eAAe,EAAE,WAAW,KAAK,UAAU,EAAE12C,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAE2jD,GAAG,UAAU,QAAQhqD,GAAE,cAAcgqD,EAAE,EAAE,IAAIC,GAAG,cAAc1P,EAAE,CAAC,YAAYl0C,EAAE,CAAC,GAAG,MAAMA,GAAG,KAAK,CAAC,EAAEA,CAAC,EAAE,KAAK,cAAc,EAAEA,GAAG,OAAOA,EAAE,CAAC,GAAGA,EAAE,OAAO,MAAMA,EAAE,QAAQ,KAAK,cAAc,MAAM,IAAIitC,GAAG,4BAA4BjtC,EAAE,KAAK,0CAA0C,EAAE,KAAK,MAAMA,EAAE,OAAO,KAAK,KAAK,cAAcA,EAAE,KAAK,CAAC,KAAKA,EAAEV,EAAE,CAAC,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAE,OAAO1P,GAAG,CAAC,CAAC,CAAC,mBAAmB0P,EAAE,CAAC,OAAOA,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,MAAM,KAAK,KAAK,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAE4jD,GAAG,UAAU,MAAMjqD,GAAE,cAAciqD,EAAE,EAAE,IAAIC,GAAG,cAAc3P,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,GAAG,KAAK,CAAC,EAAEA,CAAC,EAAE,KAAK,cAAc,EAAEA,GAAG,OAAOA,EAAE,CAAC,GAAG,KAAK,MAAMA,EAAE,OAAO,KAAK,KAAK,cAAcA,EAAE,KAAK,CAAC,KAAKA,EAAEV,EAAE,CAAC,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAE,OAAOlK,EAAE,EAAEhI,GAAEyE,GAAG,EAAE,KAAK,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,mBAAmByN,EAAE,CAAC,OAAOA,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,MAAM,KAAK,KAAK,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAE6jD,GAAG,UAAU,kBAAkBlqD,GAAE,cAAckqD,EAAE,EAAE,IAAIC,GAAG,cAAc5P,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,GAAG,KAAK,CAAC,EAAEA,CAAC,EAAE,KAAK,aAAa,EAAEA,GAAG,OAAOA,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAIyiD,GAAG,EAAE,MAAM,KAAK,KAAKziD,EAAE,MAAM,KAAK,KAAK,aAAaA,EAAE,IAAI,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAE22C,GAAGxzC,CAAC,EAAEP,EAAEH,EAAE,KAAK,GAAGG,GAAG,KAAK,CAAC,IAAIwB,EAAEnL,EAAEgG,GAAGxF,GAAG,EAAE,KAAK,EAAExI,GAAE2R,EAAE,EAAE,KAAK,CAAC,EAAErG,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE6H,CAAC,CAAC,CAAC,OAAO,KAAK,gBAAgB,MAAM,KAAK,KAAK,OAAO,EAAEjQ,GAAG8K,GAAG,EAAE1H,GAAG,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB4L,EAAE,CAAC,OAAOA,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,KAAK,KAAK,IAAI,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAE8jD,GAAG,UAAU,UAAUnqD,GAAE,cAAcmqD,EAAE,EAAE,SAASC,GAAG3kD,EAAE,EAAEE,EAAE,CAAC,GAAG,OAAOF,GAAG,SAAS,OAAOguC,GAAGhuC,EAAE,CAAC,EAAE,GAAGA,EAAE,SAAS,EAAE,MAAM,IAAI4tC,EAAE,OAAO1tC,CAAC,4CAA4C,CAAC,wBAAwBF,EAAE,MAAM,YAAY,EAAE,QAAQI,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,CAAC,IAAIC,EAAEL,EAAEI,CAAC,EAAE,GAAG,CAACuwC,GAAGtwC,CAAC,EAAE,MAAM,IAAIutC,EAAE,OAAO1tC,CAAC,4CAA4C,CAAC,wBAAwB,KAAK,UAAUF,CAAC,CAAC,mCAAmCK,CAAC,EAAE,CAAC,CAAC,OAAOL,CAAC,CAAC,SAAS4kD,GAAG5kD,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,GAAGL,GAAG,KAAK,OAAOA,EAAE,IAAI,EAAE,GAAG,EAAE,IAAIK,EAAE,GAAG,EAAE,OAAOH,IAAI,OAAO,EAAEF,EAAE,EAAEA,EAAE,EAAE,EAAE,KAAK,OAAO,EAAEI,EAAE,GAAGA,CAAC,CAAC,CAAC,SAASykD,GAAG7kD,EAAE,EAAEE,EAAEE,EAAE,CAAC,GAAGJ,GAAG,KAAK,OAAO,KAAK,GAAGI,IAAI,QAAQJ,EAAEA,EAAE,EAAE8wC,GAAG,CAAC5wC,EAAE,EAAE,CAAC,CAAC,UAAUE,IAAI,OAAOJ,EAAEA,EAAE,MAAO,OAAM,IAAI4tC,EAAE,2BAA2BxtC,CAAC,GAAG,EAAE,OAAOJ,CAAC,CAAC,SAAS8kD,GAAG9kD,EAAE,EAAE,CAAC,OAAOvC,EAAE,KAAKsyC,GAAG,CAAC,EAAE,IAAI,gBAAgBjyC,GAAGkC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAC,SAAS+kD,GAAG/kD,EAAE,EAAE,CAAC,OAAOvC,EAAE,KAAKsyC,GAAG,CAAC,EAAE,IAAI,gBAAgBjyC,GAAGkC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAC,SAASglD,GAAGhlD,EAAE,EAAEE,EAAEE,EAAE,EAAEC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO5C,EAAE,IAAI,CAAC,GAAG,GAAG,OAAO,EAAEyzC,GAAG,GAAGnB,GAAG,CAAC,EAAE/vC,EAAE,MAAM,SAAS,EAAE,MAAM,IAAI4tC,EAAE,+DAA+D5tC,EAAE,MAAM,MAAM,WAAW,EAAE,GAAG,EAAE,MAAM,SAAS,EAAE,MAAM,IAAI4tC,EAAE,iEAAiE,EAAE,MAAM,MAAM,UAAU,EAAE,GAAG1tC,GAAG,MAAMA,EAAE,MAAM,SAAS,EAAE,MAAM,IAAI0tC,EAAE,+DAA+D,EAAE,MAAM,MAAM,UAAU,EAAE,GAAG,IAAI,kBAAkB5tC,EAAElC,GAAGkC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAGK,IAAI,SAAS,MAAM,IAAIwtC,GAAG,+EAA+E,EAAE,IAAI9rC,EAAE1S,GAAG2Q,EAAE,EAAEI,EAAEC,IAAI,OAAO,OAAO,QAAQ,MAAM,CAAC,EAAE,OAAOH,GAAG,OAAO6B,EAAEowC,GAAGpwC,EAAE7B,CAAC,GAAG6B,CAAC,CAAC,CAAC,CAAC,SAASkjD,GAAGjlD,EAAE,EAAEE,EAAEE,EAAE,CAAC,EAAE,CAAC,EAAEC,EAAE,QAAQ,EAAE,EAAE0B,EAAE,KAAK,CAAC,OAAOtE,EAAE,IAAI,CAAC,GAAG,GAAG,OAAO,EAAEyzC,GAAG,GAAGnB,GAAG,CAAC,EAAE/vC,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,MAAM,IAAI4tC,EAAE,6EAA6E5tC,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI4tC,EAAE,8EAA8E5tC,EAAE,IAAI,GAAG,EAAE,IAAIgC,EAAE8iD,GAAG9kD,EAAE,CAAC,EAAE,GAAGK,IAAI,SAAS,MAAM,IAAIwtC,GAAG,+EAA+E,EAAE,OAAO7rC,EAAEzP,GAAG,OAAO,CAAC,EAAEyP,EAAE,OAAO,EAAE,QAAQ5B,EAAE,IAAIC,IAAI,OAAO,OAAO,QAAQ,UAAU,EAAE,WAAW,OAAO,KAAKH,EAAE,WAAW6B,CAAC,CAAC,EAAE,IAAI,kBAAkBC,EAAElE,GAAGkE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,SAASkjD,GAAGllD,EAAE,EAAEE,EAAEE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAEC,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO5C,EAAE,IAAI,CAAC,GAAG,GAAG,OAAO,EAAEyzC,GAAG,GAAGnB,GAAG,CAAC,EAAE/vC,EAAE,OAAO,GAAGA,EAAE,OAAO,EAAE,MAAM,IAAI4tC,EAAE,mEAAmE5tC,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI4tC,EAAE,oEAAoE5tC,EAAE,IAAI,GAAG,EAAE,IAAI+B,EAAEgjD,GAAG/kD,EAAE,CAAC,EAAE,GAAGK,IAAI,SAAS,MAAM,IAAIwtC,GAAG,+EAA+E,EAAE,OAAO9rC,EAAEvS,GAAGuS,EAAE,EAAE3B,EAAEC,IAAI,OAAO,OAAO,QAAQ,QAAQ,CAAC,EAAEH,GAAG,OAAO6B,EAAEowC,GAAGpwC,EAAE7B,CAAC,GAAG,IAAI,kBAAkB6B,EAAEjE,GAAGiE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,IAAIojD,GAAG,MAAMnlD,WAAU80C,EAAE,CAAC,YAAY,EAAE50C,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,KAAK,KAAK,KAAK,2BAA2B,eAAe,KAAK,yBAAyB,QAAQF,GAAE,WAAWE,CAAC,EAAE,KAAK,KAAK,EAAE+uC,GAAG,KAAK,KAAK,MAAM,EAAE,KAAK,OAAO,GAAG,KAAK,OAAO,GAAG,KAAK,OAAO,EAAE,MAAM,IAAIpB,GAAG,qDAAqD,KAAK,IAAI,2BAA2B,EAAE,GAAG,KAAK,WAAW8W,GAAGzkD,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,QAAQykD,GAAGzkD,EAAE,SAAS,KAAK,EAAEA,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,QAAQA,EAAE,SAAS,KAAK,QAAQA,EAAE,QAAQ+vC,GAAG,KAAK,OAAO,EAAE,KAAK,WAAW/vC,EAAE,YAAY,KAAK,eAAeA,EAAE,WAAW6vC,GAAG,KAAK,UAAU,EAAE,KAAK,WAAW4T,GAAGzjD,EAAE,UAAU,EAAE,KAAK,QAAQA,EAAE,SAAS,KAAK,GAAGA,EAAE,QAAQ,KAAK,gBAAgB+zC,GAAG/zC,EAAE,iBAAiB,KAAK,wBAAwB,EAAE,KAAK,eAAe42C,GAAG52C,EAAE,cAAc,EAAE,KAAK,gBAAgBkkD,GAAGlkD,EAAE,eAAe,EAAE,KAAK,oBAAoBkkD,GAAGlkD,EAAE,mBAAmB,EAAE,KAAK,aAAaykD,GAAGzkD,EAAE,cAAc,KAAK,EAAEA,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,OAAO,GAAG,MAAM,QAAQ,KAAK,YAAY,GAAG,KAAK,aAAa,SAAS,EAAE,MAAM,IAAI0tC,EAAE,iGAAiG,KAAK,UAAU,KAAK,YAAY,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,GAAG,GAAG,OAAO,KAAK,cAAc,SAAS,KAAK,aAAa,CAAC,KAAK,aAAa,KAAK,YAAY,UAAU,KAAK,aAAa,SAAS,EAAE,MAAM,IAAIA,EAAE,0FAA0F,KAAK,UAAU,KAAK,YAAY,CAAC,EAAE,UAAU,KAAK,OAAO,GAAG,GAAG,OAAO,KAAK,cAAc,SAAS,KAAK,aAAa,CAAC,KAAK,aAAa,KAAK,aAAa,KAAK,YAAY,UAAU,KAAK,aAAa,SAAS,EAAE,MAAM,IAAIA,EAAE,4FAA4F,KAAK,UAAU,KAAK,YAAY,CAAC,EAAE,EAAE,CAAC,OAAO,WAAW,EAAE,CAAC,GAAGK,GAAG,eAAe,EAAE,yCAAyC,EAAE,OAAO,EAAE,YAAY,UAAU,CAACe,GAAG,EAAE,WAAW,SAAS,EAAE,CAAC,EAAE,MAAM,IAAIpB,EAAE,oGAAoG,KAAK,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,KAAK,WAAW,QAAQ,KAAK,QAAQ,QAAQ,KAAK,QAAQ,WAAW,KAAK,WAAW,aAAa,KAAK,aAAa,WAAW6V,GAAG,KAAK,UAAU,EAAE,QAAQ,KAAK,QAAQ,gBAAgBzP,GAAG,KAAK,eAAe,EAAE,gBAAgBkQ,GAAG,KAAK,eAAe,EAAE,oBAAoBA,GAAG,KAAK,mBAAmB,EAAE,eAAetN,GAAG,KAAK,cAAc,CAAC,EAAE12C,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAO,EAAEA,CAAC,EAAE,CAAC,CAAC,EAAEklD,GAAG,MAAMplD,WAAUmlD,EAAE,CAAC,YAAY,EAAEjlD,EAAE,CAAC,MAAM,EAAEA,CAAC,EAAE,KAAK,OAAO,KAAKF,GAAE,WAAWE,CAAC,EAAE,KAAK,QAAQA,EAAE,QAAQ+uC,GAAG,KAAK,QAAQ,SAAS,EAAE,KAAK,kBAAkBgF,GAAG/zC,EAAE,mBAAmB,KAAK,0BAA0B,EAAE,KAAK,iBAAiB42C,GAAG52C,EAAE,gBAAgB,EAAE,KAAK,kBAAkBkkD,GAAGlkD,EAAE,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,EAAEm0C,GAAG,CAAC,EAAE,IAAIn0C,EAAE,KAAK,aAAa,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAEA,CAAC,GAAG,KAAK,MAAM,IAAI0tC,EAAE,+DAA+D,EAAE1tC,CAAC,CAAC,EAAE,EAAE,IAAIE,EAAE,EAAEF,CAAC,EAAEG,EAAE,KAAK,WAAW,OAAO,CAACD,EAAE,KAAK,OAAO,CAAC,EAAE,KAAK,OAAO,KAAK,UAAU,SAASC,EAAE,KAAK,KAAK,kBAAkB,KAAK,kBAAkB,GAAG,KAAK,gBAAgB,EAAE,KAAK,UAAU,KAAK,KAAK,KAAK,UAAU,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,KAAK,gBAAgB,KAAK,gBAAgB,GAAG,KAAK,cAAc,GAAG,KAAK,UAAU,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE,KAAK,CAAC,CAACH,CAAC,EAAEE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,KAAK,EAAEF,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,EAAE22C,GAAG,CAAC,EAAE,IAAIh0C,EAAEC,EAAE,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE+uC,GAAG,KAAK,WAAW,aAAa,CAAC,EAAE,GAAG,GAAG,MAAM,KAAK,OAAO,EAAEhvC,EAAE6kD,GAAG,EAAE,KAAK,OAAO,KAAK,EAAE5kD,EAAE,KAAK,QAAQ,KAAK,QAAQ,KAAK,WAAW,KAAK,aAAa,CAAC,MAAM,CAAC,GAAG,KAAK,OAAO,EAAED,EAAE4kD,GAAG,EAAE,KAAK,OAAO,KAAK,EAAE3kD,EAAE,KAAK,QAAQ,CAAC,EAAE,KAAK,QAAQ,KAAK,WAAW,KAAK,aAAa,CAAC,CAAC,UAAU,KAAK,OAAO,EAAED,EAAE6kD,GAAG,EAAE,KAAK,OAAO,KAAK,EAAE5kD,EAAE,KAAK,QAAQ,KAAK,QAAQ,KAAK,WAAW,KAAK,YAAY,UAAU,KAAK,OAAO,EAAED,EAAE8kD,GAAG,EAAE,KAAK,OAAO,KAAK,EAAE7kD,EAAE,KAAK,QAAQ,KAAK,QAAQ,KAAK,WAAW,KAAK,YAAY,MAAO,OAAM,IAAIwtC,GAAG,uDAAuD,EAAE,KAAK,YAAY,OAAOztC,EAAE,KAAK,WAAW,MAAMA,CAAC,EAAE,CAAC,OAAOA,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,EAAEi0C,GAAG,CAAC,EAAE,IAAIn0C,EAAE,CAAC,EAAEE,EAAE,KAAK,aAAa,eAAe,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,EAAEwkD,GAAGxkD,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,EAAE,OAAO,KAAK,cAAc,SAAS,KAAK,aAAa,KAAK,aAAa,CAAC,CAAC,EAAEF,EAAE,KAAK,CAAC,CAAC,CAAC,IAAIG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,aAAa,gBAAgBA,EAAEA,EAAE,OAAOH,CAAC,EAAEG,EAAE,KAAK,KAAK,OAAO,IAAIA,EAAE,KAAK,KAAK,OAAO,EAAEA,EAAEA,EAAE,OAAOH,CAAC,GAAGG,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ,kBAAkB2zC,GAAG,KAAK,iBAAiB,EAAE,kBAAkBkQ,GAAG,KAAK,iBAAiB,EAAE,iBAAiBtN,GAAG,KAAK,gBAAgB,CAAC,EAAE12C,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAO,EAAEA,CAAC,EAAE,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,GAAG,EAAE,YAAY,IAAI,OAAO,EAAE,SAAS,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI0tC,EAAE,0EAA0E,KAAK,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAEyX,GAAG,MAAMrlD,WAAUolD,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,EAAEplD,GAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,GAAG,OAAO,EAAE,YAAY,UAAU,CAACgvC,GAAG,EAAE,WAAW,SAAS,EAAE,CAAC,EAAE,MAAM,IAAIpB,EAAE,8FAA8F,KAAK,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAEyX,GAAG,UAAU,SAAS9qD,GAAE,cAAc8qD,EAAE,EAAE,IAAIC,GAAG,MAAMtlD,WAAUolD,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,EAAEplD,GAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,GAAG,OAAO,EAAE,YAAY,UAAU,EAAE,MAAM,QAAQ,EAAE,UAAU,IAAI,EAAE,WAAW,SAAS,GAAG,EAAE,WAAW,SAAS,IAAI,MAAM,IAAI4tC,EAAE,2FAA2F,KAAK,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE0X,GAAG,UAAU,SAAS/qD,GAAE,cAAc+qD,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,YAAYzkD,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI/b,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,QAAQ,KAAK,UAAU,QAAQ,MAAM,IAAI+oD,EAAE,uGAAuG,KAAK,OAAO,EAAE,CAAC,CAAC,MAAMhtC,EAAE,CAAC,GAAGA,EAAEyzC,GAAGzzC,CAAC,EAAEA,EAAE,SAAS,EAAE,MAAM,IAAIgtC,EAAE,mDAAmD,KAAK,UAAUhtC,CAAC,CAAC,EAAE,IAAIV,EAAE,KAAK,aAAa,gBAAgB,EAAEU,EAAE,OAAO,EAAE,GAAGA,EAAEV,CAAC,GAAG,KAAK,MAAM,IAAI0tC,EAAE,sEAAsE,EAAE,IAAI,EAAEhtC,EAAEV,CAAC,EAAEG,EAAE,KAAK,WAAW,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,KAAK,OAAO,KAAK,UAAU,SAASA,EAAE,UAAU,KAAK,kBAAkB,KAAK,kBAAkB,GAAG,KAAK,gBAAgB,EAAE,KAAK,UAAU,KAAK,KAAK,KAAK,UAAU,OAAO,CAAC,KAAK,OAAO,EAAE,UAAU,KAAK,gBAAgB,KAAK,gBAAgB,GAAG,KAAK,cAAc,GAAG,KAAK,UAAU,CAAC,IAAIxb,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAACqb,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,KAAKU,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAE22C,GAAGxzC,CAAC,EAAE,GAAG,EAAE,MAAM,SAAS,EAAE,MAAM,IAAIgtC,EAAE,2FAA2F,EAAE,MAAM,MAAM,EAAE,EAAE,IAAIvtC,EAAE,EAAE,MAAMwB,EAAExB,EAAE,CAAC,EAAEyB,EAAEC,EAAE,KAAK,aAAa,iBAAiBD,EAAE,EAAEC,EAAE,IAAID,EAAE,EAAEC,EAAE,GAAG,IAAIC,EAAE3B,EAAEyB,CAAC,EAAE,EAAEzB,EAAE0B,CAAC,EAAEW,EAAE,KAAK,WAAW,CAAC,EAAE,EAAE,KAAK,WAAW,CAAC,EAAEE,EAAE,KAAK,QAAQ,CAAC,EAAEC,EAAE,KAAK,QAAQ,CAAC,EAAEC,EAAE+hD,GAAG7iD,EAAEY,EAAEF,EAAE,KAAK,OAAO,EAAEsB,EAAE6gD,GAAG,EAAEhiD,EAAE,EAAE,KAAK,OAAO,EAAEoB,EAAE,CAACpC,EAAEiB,EAAEkB,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,iBAAiB,EAAElG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,IAAIwJ,EAAE/X,GAAG,EAAE,KAAK,OAAO,KAAK,EAAE0U,EAAE,KAAK,QAAQ,KAAK,OAAO,EAAE,OAAO,KAAK,aAAa,iBAAiBqD,EAAExJ,GAAGwJ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,MAAM,OAAOA,EAAE6qC,GAAG7qC,EAAE,KAAK,KAAK,KAAK,EAAE,KAAK,UAAU,GAAG,KAAK,YAAY,OAAOA,EAAE,KAAK,WAAW,MAAMA,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,mBAAmB1G,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAEU,EAAE,MAAM,EAAE,EAAEP,EAAEwB,EAAE,KAAK,aAAa,iBAAiB,EAAE,EAAExB,EAAE,EAAEwB,EAAE,IAAI,EAAE,EAAExB,EAAE,EAAEwB,EAAE,GAAG,IAAIC,EAAE,KAAK,WAAW,CAAC,EAAEC,EAAE,KAAK,WAAW,CAAC,EAAEC,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE,KAAK,QAAQ,CAAC,EAAE,OAAO9B,EAAE,CAAC,EAAE,KAAK,QAAQA,EAAEG,CAAC,EAAEwkD,GAAG3kD,EAAEG,CAAC,EAAE2B,EAAEF,EAAE,KAAK,OAAO,EAAE5B,EAAE2B,CAAC,EAAEgjD,GAAG3kD,EAAE2B,CAAC,EAAE,EAAEE,EAAE,KAAK,OAAO,EAAE7B,CAAC,CAAC,WAAW,CAAC,IAAIU,EAAE,MAAM,UAAU,EAAE,OAAO,OAAOA,EAAE,aAAaA,CAAC,CAAC,EAAE2kD,GAAG,UAAU,kBAAkBhrD,GAAE,cAAcgrD,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,YAAY1kD,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI/b,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,QAAQ,KAAK,UAAU,QAAQ,MAAM,IAAI+oD,EAAE,uGAAuG,KAAK,OAAO,EAAE,CAAC,CAAC,MAAMhtC,EAAE,CAAC,GAAGA,EAAEyzC,GAAGzzC,CAAC,EAAEA,EAAE,SAAS,EAAE,MAAM,IAAIgtC,EAAE,mDAAmD,KAAK,UAAUhtC,CAAC,CAAC,EAAE,IAAIV,EAAE,KAAK,aAAa,gBAAgB,EAAEU,EAAE,OAAO,EAAE,GAAGA,EAAEV,CAAC,GAAG,KAAK,MAAM,IAAI0tC,EAAE,sEAAsE,EAAE,IAAI,EAAEhtC,EAAEV,CAAC,EAAEG,EAAE,KAAK,WAAW,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,KAAK,OAAO,KAAK,UAAU,SAASA,EAAE,UAAU,KAAK,kBAAkB,KAAK,kBAAkB,GAAG,KAAK,gBAAgB,EAAE,KAAK,UAAU,KAAK,KAAK,KAAK,UAAU,OAAO,CAAC,KAAK,OAAO,EAAE,UAAU,KAAK,gBAAgB,KAAK,gBAAgB,GAAG,KAAK,cAAc,GAAG,KAAK,UAAU,CAAC,IAAIxb,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAACqb,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,KAAKU,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAE22C,GAAGxzC,CAAC,EAAE,GAAG,EAAE,MAAM,SAAS,EAAE,MAAM,IAAIgtC,EAAE,2FAA2F,EAAE,MAAM,MAAM,EAAE,EAAE,IAAIvtC,EAAE,EAAE,MAAMwB,EAAExB,EAAE,CAAC,EAAEyB,EAAEC,EAAEC,EAAE,KAAK,aAAa,iBAAiBA,EAAE,EAAEF,EAAE,EAAEC,EAAE,IAAIC,EAAE,EAAEF,EAAE,EAAEC,EAAE,GAAG,IAAI,EAAE1B,EAAE2B,CAAC,EAAEU,EAAErC,EAAEyB,CAAC,EAAE,EAAEzB,EAAE0B,CAAC,EAAEa,EAAE,KAAK,WAAW,CAAC,EAAEC,EAAE,KAAK,WAAW,CAAC,EAAEC,EAAE,KAAK,WAAW,CAAC,EAAEkB,EAAE,KAAK,QAAQ,CAAC,EAAEC,EAAE,KAAK,QAAQ,CAAC,EAAEqD,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAEu9C,GAAG,EAAE7gD,EAAEpB,EAAE,KAAK,OAAO,EAAE6B,EAAEogD,GAAGniD,EAAEuB,EAAEpB,EAAE,KAAK,OAAO,EAAE6B,EAAEmgD,GAAG,EAAEv9C,EAAExE,EAAE,KAAK,OAAO,EAAE6B,EAAE,CAAC9C,EAAE,EAAE4C,EAAEC,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,iBAAiB,EAAE5G,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI8G,EAAEnV,GAAG,EAAE,KAAK,OAAO,KAAK,EAAEkV,EAAE,KAAK,QAAQ,KAAK,OAAO,EAAE,OAAO,KAAK,aAAa,iBAAiBC,EAAE9G,GAAG8G,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,OAAO,OAAOA,EAAEutC,GAAGvtC,EAAE,KAAK,KAAK,KAAK,EAAE,KAAK,UAAU,GAAG,KAAK,aAAa,OAAOA,EAAE,KAAK,WAAW,MAAMA,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,mBAAmBhE,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAEU,EAAE,MAAM,EAAE,EAAEP,EAAEwB,EAAEC,EAAE,KAAK,aAAa,iBAAiB,EAAE,EAAEzB,EAAE,EAAEwB,EAAE,EAAEC,EAAE,IAAI,EAAE,EAAEzB,EAAE,EAAEwB,EAAE,EAAEC,EAAE,GAAG,IAAIC,EAAE,KAAK,WAAW,CAAC,EAAEC,EAAE,KAAK,WAAW,CAAC,EAAE,EAAE,KAAK,WAAW,CAAC,EAAEU,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE,KAAK,QAAQ,CAAC,EAAEE,EAAE,KAAK,QAAQ,CAAC,EAAE,OAAO1C,EAAE,CAAC,EAAE,KAAK,QAAQA,EAAEG,CAAC,EAAEwkD,GAAG3kD,EAAEG,CAAC,EAAEqC,EAAEX,EAAE,KAAK,OAAO,EAAE7B,EAAE2B,CAAC,EAAEgjD,GAAG3kD,EAAE2B,CAAC,EAAE,EAAEG,EAAE,KAAK,OAAO,EAAE9B,EAAE4B,CAAC,EAAE+iD,GAAG3kD,EAAE4B,CAAC,EAAEc,EAAE,EAAE,KAAK,OAAO,EAAE1C,CAAC,CAAC,WAAW,CAAC,IAAIU,EAAE,MAAM,UAAU,EAAE,OAAO,OAAOA,EAAE,aAAaA,CAAC,CAAC,EAAE4kD,GAAG,UAAU,kBAAkBjrD,GAAE,cAAcirD,EAAE,EAAE,IAAIC,GAAG,cAAcL,EAAE,CAAC,YAAYxkD,EAAEV,EAAE,CAAC,GAAG,MAAMU,EAAEV,CAAC,EAAE,KAAK,8BAA8B,gBAAgB,KAAK,8BAA8B,gBAAgB,KAAK,gBAAgB,KAAK,KAAK,gBAAgB,KAAKA,EAAE,SAAS,KAAK,MAAM,IAAI0tC,EAAE,qFAAqF,EAAE,GAAG1tC,EAAE,mBAAmB,MAAMA,EAAE,mBAAmB,MAAMA,EAAE,kBAAkB,KAAK,MAAM,IAAI0tC,EAAE,oPAAoP,EAAE,GAAG1tC,EAAE,SAAS,MAAMA,EAAE,UAAU,QAAQA,EAAE,UAAU,QAAQ,MAAM,IAAI0tC,EAAE,gBAAgB,KAAK,IAAI,mEAAmE,KAAK,UAAU1tC,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,gBAAgBA,EAAE,iBAAiB,KAAK,EAAEA,EAAE,gBAAgB,KAAK,qBAAqB+zC,GAAG/zC,EAAE,sBAAsB,KAAK,6BAA6B,EAAE,KAAK,qBAAqBkkD,GAAGlkD,EAAE,oBAAoB,EAAE,KAAK,oBAAoB42C,GAAG52C,EAAE,mBAAmB,EAAE,KAAK,qBAAqB+zC,GAAG/zC,EAAE,sBAAsB,KAAK,6BAA6B,EAAE,KAAK,qBAAqBkkD,GAAGlkD,EAAE,oBAAoB,EAAE,KAAK,oBAAoB42C,GAAG52C,EAAE,mBAAmB,CAAC,CAAC,MAAMU,EAAE,CAAC,GAAGA,EAAEyzC,GAAGzzC,CAAC,EAAEA,EAAE,OAAO,KAAK,KAAK,EAAE,MAAM,IAAIgtC,EAAE,0BAA0B,KAAK,IAAI,sBAAsB,KAAK,KAAK,CAAC,+BAA+B,KAAK,UAAUhtC,CAAC,CAAC,EAAE,EAAE,IAAIV,EAAE,KAAK,aAAa,gBAAgB,EAAEU,EAAE,OAAO,EAAE,GAAGA,EAAEV,CAAC,GAAG,MAAMU,EAAEV,CAAC,EAAE,EAAE,MAAM,IAAI0tC,EAAE,oEAAoE,KAAK,UAAUhtC,EAAEV,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAEU,EAAEV,CAAC,EAAEG,EAAE,KAAK,WAAW,OAAO,CAAC,EAAE,KAAK,eAAe,CAAC,EAAEwB,EAAE,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAE,KAAK,KAAK,EAAEA,EAAEF,EAAE,KAAK,CAAC,EAAEA,EAAE,KAAK,EAAE,KAAK,gBAAgB,KAAK,OAAO,EAAE,IAAIC,EAAE,GAAG,KAAK,gBAAgB,KAAK,UAAU,mBAAmBzB,EAAE,UAAU,KAAK,qBAAqB,KAAK,qBAAqByB,EAAE,KAAK,mBAAmB,EAAE,KAAK,gBAAgB,KAAK,UAAU,mBAAmBD,EAAE,UAAU,KAAK,qBAAqB,KAAK,qBAAqBC,EAAE,KAAK,mBAAmB,EAAE,KAAK,QAAQ,KAAK,KAAK,KAAK,UAAU,OAAO,CAAC,KAAK,OAAO,EAAE,UAAU,KAAK,gBAAgB,KAAK,gBAAgBA,EAAE,KAAK,cAAc,EAAE,KAAK,KAAK,KAAK,KAAK,UAAU,CAAC,IAAIjd,GAAG,CAAC,KAAK,KAAK,KAAK,EAAE,KAAK,CAAC,CAACqb,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,KAAKU,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAACmD,EAAEwzC,GAAGxzC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,EAAE,MAAM,IAAIitC,GAAG,kDAAkD,EAAE,OAAO,KAAK,OAAO,IAAI,KAAK,aAAa,kBAAkBjtC,EAAE9C,GAAG8C,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAEvG,GAAGuG,EAAE,KAAK,gBAAgB,KAAK,EAAE,KAAK,gBAAgB,KAAK,EAAE,KAAK,QAAQ,KAAK,QAAQ,KAAK,aAAa,MAAM,GAAG,KAAK,UAAU,EAAEuxC,GAAG,EAAE,KAAK,KAAK,KAAK,EAAE,KAAK,UAAU,GAAG,KAAK,YAAY,OAAO,EAAE,KAAK,WAAW,MAAM,CAAC,GAAG,KAAK,aAAa,kBAAkB,EAAEr0C,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI8C,EAAE,MAAM,UAAU,EAAE,OAAO,OAAOA,EAAE,KAAK,OAAOA,EAAE,kBAAkB,OAAOA,EAAE,kBAAkB,OAAOA,EAAE,iBAAiBA,EAAE,qBAAqBozC,GAAG,KAAK,oBAAoB,EAAEpzC,EAAE,qBAAqBozC,GAAG,KAAK,oBAAoB,EAAEpzC,EAAE,qBAAqBsjD,GAAG,KAAK,oBAAoB,EAAEtjD,EAAE,qBAAqBsjD,GAAG,KAAK,oBAAoB,EAAEtjD,EAAE,oBAAoBg2C,GAAG,KAAK,mBAAmB,EAAEh2C,EAAE,oBAAoBg2C,GAAG,KAAK,mBAAmB,EAAEh2C,CAAC,CAAC,EAAE6kD,GAAG,UAAU,gBAAgB,IAAIC,GAAG,cAAcD,EAAE,CAAC,YAAY7kD,EAAE,CAAC,MAAM,EAAEA,CAAC,CAAC,CAAC,EAAE8kD,GAAG,UAAU,kBAAkBnrD,GAAE,cAAcmrD,EAAE,EAAE,IAAIC,GAAG,MAAM3lD,WAAUolD,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,EAAEplD,GAAE,WAAW,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,EAAE,KAAK,OAAO,EAAE,WAAW,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,GAAG,OAAO,EAAE,YAAY,UAAU,CAACgvC,GAAG,EAAE,WAAW,SAAS,EAAE,CAAC,EAAE,MAAM,IAAIpB,EAAE,yFAAyF,KAAK,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE+X,GAAG,UAAU,SAASprD,GAAE,cAAcorD,EAAE,EAAE,IAAIC,GAAG,cAAc9Q,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,OAAOA,EAAE,UAAU,SAAS,KAAK,SAAS,CAAC,CAACA,EAAE,SAASA,EAAE,QAAQ,EAAE,CAACA,EAAE,SAASA,EAAE,QAAQ,CAAC,EAAE,OAAOA,EAAE,SAAS,CAAC,GAAG,SAAS,KAAK,SAAS,CAAC,CAACA,EAAE,SAAS,CAAC,EAAEA,EAAE,SAAS,CAAC,CAAC,EAAE,CAACA,EAAE,SAAS,CAAC,EAAEA,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,SAASA,EAAE,SAAS,KAAK,WAAWA,EAAE,aAAa,OAAO,eAAeA,EAAE,WAAW,KAAK,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmBA,EAAE,CAAC,OAAO,KAAK,aAAa,gBAAgB,CAACA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAACA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,GAAGmD,EAAEwzC,GAAGxzC,CAAC,EAAE,KAAK,aAAa,eAAe,CAAC,IAAI,EAAE+wC,GAAG/wC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO+wC,GAAG,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE/wC,EAAE,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE+wC,GAAG/wC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO+wC,GAAG,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE/wC,EAAE,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,SAAS,KAAK,SAAS,WAAW,KAAK,UAAU,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEglD,GAAG,UAAU,aAAarrD,GAAE,cAAcqrD,EAAE,EAAE,IAAIC,GAAG,cAAc/Q,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,KAAKA,EAAE,MAAM,KAAK,KAAK,aAAaA,EAAE,KAAK,KAAK,WAAWA,EAAE,YAAY,KAAK,eAAeA,EAAE,WAAWmvC,GAAG,KAAK,UAAU,EAAE,KAAK,cAAcnvC,EAAE,eAAe,KAAK,UAAUA,EAAE,cAAcovC,GAAG,KAAK,aAAa,CAAC,CAAC,mBAAmBpvC,EAAE,CAAC,GAAG,KAAK,aAAa,gBAAgB,CAAC,IAAIV,EAAEU,EAAE,CAAC,GAAG,KAAK,KAAK,KAAK,KAAK,CAAC,EAAEA,EAAE,CAAC,EAAE,EAAEA,EAAE,CAAC,GAAG,KAAK,KAAK,KAAK,KAAK,CAAC,EAAEA,EAAE,CAAC,EAAE,MAAM,CAACA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEV,EAAE,CAAC,CAAC,KAAK,CAAC,IAAIA,EAAEU,EAAE,CAAC,GAAG,KAAK,KAAK,KAAK,KAAK,CAAC,EAAEA,EAAE,CAAC,EAAE,EAAEA,EAAE,CAAC,GAAG,KAAK,KAAK,KAAK,KAAK,CAAC,EAAEA,EAAE,CAAC,EAAE,MAAM,CAACA,EAAE,CAAC,EAAEV,EAAE,EAAEU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAE22C,GAAGxzC,CAAC,EAAEP,EAAE,EAAE,MAAM,GAAG,KAAK,aAAa,gBAAgB,CAAC,EAAEvC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI+D,EAAE,KAAK,KAAK,CAAC,EAAExB,EAAE,CAAC,EAAEyB,EAAE,KAAK,KAAK,CAAC,EAAEzB,EAAE,CAAC,EAAE0B,EAAE,KAAK,gBAAgB,UAAUxO,GAAG,sBAAsB,EAAE,CAACsO,EAAEC,CAAC,CAAC,EAAEvO,GAAG,eAAe,EAAE,CAACsO,EAAEC,CAAC,CAAC,EAAE,OAAOhE,GAAGiE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAIF,EAAE,KAAK,KAAK,CAAC,EAAExB,EAAE,CAAC,EAAEyB,EAAE,KAAK,KAAK,CAAC,EAAEzB,EAAE,CAAC,EAAE,OAAO,KAAK,gBAAgB,UAAU9M,GAAG,sBAAsB,EAAE,CAACsO,EAAEC,CAAC,CAAC,EAAEvO,GAAG,eAAe,EAAE,CAACsO,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIlB,EAAE,CAAC,KAAK,KAAK,KAAK,WAAW,KAAK,WAAW,cAAc,KAAK,aAAa,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEilD,GAAG,UAAU,eAAetrD,GAAE,cAAcsrD,EAAE,EAAE,SAASC,GAAG9lD,EAAE,EAAEE,EAAE,CAAC,EAAE,CAAC,EAAEE,EAAE,QAAQC,EAAE,EAAE,CAAC,OAAO5C,EAAE,IAAI,CAAC4C,GAAG,OAAOA,EAAE6wC,GAAG,GAAGnB,GAAG1vC,CAAC,EAAE,IAAI,EAAEykD,GAAG9kD,EAAEK,CAAC,EAAE,GAAGL,EAAE,OAAO,EAAE,MAAM,IAAI4tC,EAAE,mEAAmE5tC,EAAE,IAAI,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI4tC,EAAE,yDAAyD,EAAE,IAAI,IAAI,EAAE,OAAO,EAAEv9C,GAAG,EAAE,EAAE6P,EAAEE,IAAI,OAAO,OAAO,QAAQ,OAAO,CAAC,EAAEC,IAAI,kBAAkB,EAAEvC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAIioD,GAAG,cAAcZ,EAAE,CAAC,YAAYvkD,EAAE,CAAC,MAAM,EAAEA,CAAC,EAAE,KAAK,gBAAgB,KAAK,KAAK,gBAAgBA,EAAE,iBAAiB,KAAK,EAAEA,EAAE,gBAAgB,KAAK,qBAAqBqzC,GAAGrzC,EAAE,sBAAsB,KAAK,0BAA0B,EAAE,KAAK,oBAAoBk2C,GAAGl2C,EAAE,mBAAmB,EAAE,KAAK,qBAAqBwjD,GAAGxjD,EAAE,oBAAoB,CAAC,CAAC,MAAMA,EAAE,CAAC,GAAGA,EAAEyzC,GAAGzzC,CAAC,EAAEA,EAAE,OAAO,EAAE,MAAM,IAAIgtC,EAAE,uEAAuE,KAAK,UAAUhtC,CAAC,CAAC,GAAG,EAAE,IAAIV,EAAE,KAAK,aAAa,gBAAgB,EAAE,EAAE,GAAGU,EAAEV,CAAC,GAAG,MAAMU,EAAEV,CAAC,EAAE,EAAE,MAAM,IAAI0tC,EAAE,yFAAyFhtC,EAAEV,CAAC,CAAC,IAAI,EAAE,IAAI,EAAEU,EAAEV,CAAC,EAAEG,EAAE,CAAC,KAAK,WAAW,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,KAAK,UAAU,mBAAmBA,EAAE,KAAK,KAAK,qBAAqB,KAAK,qBAAqB,GAAG,KAAK,mBAAmB,EAAE,KAAK,QAAQ,KAAK,KAAK,KAAK,UAAU,OAAO,CAAC,EAAE,KAAK,eAAe,EAAE,KAAK,KAAK,gBAAgB,KAAK,gBAAgB,GAAG,KAAK,cAAc,EAAE,KAAK,KAAK,KAAK,KAAK,MAAM,EAAE,CAAC,KAAKO,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAACmD,EAAEwzC,GAAGxzC,CAAC,EAAE,IAAI,EAAEklD,GAAGllD,EAAE,KAAK,gBAAgB,KAAK,EAAE,KAAK,QAAQ,KAAK,QAAQ,KAAK,WAAW,IAAI,EAAE,OAAO,KAAK,UAAU,EAAEuxC,GAAG,EAAE,KAAK,KAAK,KAAK,EAAE,KAAK,UAAU,GAAG,KAAK,YAAY,OAAO,EAAE,KAAK,WAAW,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmBvxC,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAE,KAAK,aAAa,gBAAgBU,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,EAAE,KAAK,aAAa,gBAAgBA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEP,EAAE,KAAK,aAAa,gBAAgBO,EAAE,CAAC,EAAE,KAAK,gBAAgBA,EAAE,CAAC,EAAE,KAAK,gBAAgBiB,EAAE+iD,GAAG1kD,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,CAAC,EAAE4B,EAAE8iD,GAAG,EAAE,KAAK,WAAW,CAAC,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,CAAC,EAAE,OAAO,KAAK,aAAa,gBAAgB,CAAChkD,EAAE,CAAC,EAAEP,EAAEwB,EAAEC,CAAC,EAAE,CAAClB,EAAE,CAAC,EAAEiB,EAAEC,EAAEzB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIO,EAAE,MAAM,UAAU,EAAE,OAAOA,EAAE,gBAAgB,KAAK,gBAAgBA,EAAE,qBAAqBozC,GAAG,KAAK,oBAAoB,EAAEpzC,EAAE,qBAAqBsjD,GAAG,KAAK,oBAAoB,EAAEtjD,EAAE,oBAAoBg2C,GAAG,KAAK,oBAAoB,EAAEh2C,CAAC,CAAC,EAAEmlD,GAAG,UAAU,kBAAkBxrD,GAAE,cAAcwrD,EAAE,EAAE,SAASC,GAAGhmD,EAAE,EAAEE,EAAEE,EAAE,CAAC,GAAG,MAAM,QAAQJ,CAAC,EAAE,CAAC,GAAG,GAAG,MAAME,GAAG,KAAK,MAAM,IAAI0tC,EAAE,+EAA+E,EAAExtC,GAAG,OAAOF,EAAEF,EAAE,MAAMA,EAAE,OAAOI,EAAEJ,EAAE,MAAM,EAAEA,EAAEA,EAAE,MAAM,EAAEA,EAAE,OAAOI,CAAC,GAAGJ,EAAE,OAAO,IAAI,EAAEA,EAAE,MAAM,EAAEA,EAAE,MAAM,GAAGA,EAAEA,EAAE,CAAC,CAAC,CAAC,SAASK,EAAE,EAAE,CAAC,OAAO,GAAG,MAAM,MAAM,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAEA,EAAE,CAAC,EAAEH,EAAEG,EAAEH,CAAC,EAAE,CAAC,OAAOF,EAAE,aAAa,EAAE,UAAUE,CAAC,CAAC,CAAC,SAAS+lD,GAAGjmD,EAAE,EAAEE,EAAEE,EAAE,GAAGC,EAAE,EAAE,EAAE,GAAG0B,EAAE,GAAG,CAAC,OAAOtE,EAAE,IAAI,CAAC,IAAIuE,EAAE,EAAE,MAAM,OAAO,GAAGA,EAAE,EAAE,MAAM,IAAI4rC,EAAE,uCAAuC5rC,CAAC,IAAI,EAAE,IAAIC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO8uC,GAAG,EAAE/uC,CAAC,CAAC,EAAE,GAAG,EAAElE,GAAG,EAAEmE,CAAC,EAAE,GAAG,KAAK,MAAM,IAAI4rC,GAAG,gFAAgF,EAAE,GAAG,QAAQ,KAAK,mGAAmG,EAAExtC,GAAG,OAAOA,EAAE3R,GAAEA,GAAE2R,EAAE,MAAM,EAAE,SAAS,EAAEA,EAAE,OAAO2B,EAAE,IAAI3B,EAAExO,GAAGwO,EAAE,EAAE,GAAGA,EAAEvC,GAAGuC,EAAE4B,CAAC,GAAG7B,IAAI,EAAE5G,GAAG,EAAE,CAAC,EAAE6G,GAAG,OAAOA,EAAE7G,GAAG6G,EAAE,CAAC,IAAI,IAAIqC,EAAE,CAAC,EAAEC,EAAEC,EAAE1C,EAAE2C,EAAE,EAAE,MAAM,CAAC,EAAEC,EAAE1E,GAAG,CAAC,EAAE4F,EAAE3D,GAAG,OAAO2D,EAAE5F,GAAGiC,CAAC,GAAG,QAAQiH,EAAE,EAAEA,EAAEzE,EAAE,EAAEyE,EAAE,CAAC,IAAIxC,EAAEhC,EAAEwE,CAAC,EAAE7C,EAAEhH,EAAE,IAAIuC,EAAE8E,EAAElC,CAAC,CAAC,EAAE,GAAGvC,GAAG,KAAKsC,EAAE8B,EAAE,CAAC,EAAE7B,EAAE6B,EAAE,CAAC,MAAM,CAAC,IAAIC,EAAEjH,EAAE,IAAI,CAAC,IAAIkH,EAAEX,EAAEsD,CAAC,EAAE1C,EAAElI,GAAGvF,GAAGwN,CAAC,EAAEA,CAAC,EAAEE,EAAE,EAAEnO,EAAE+N,EAAE,CAAC,EAAEE,CAAC,EAAEjO,EAAEkM,EAAE,CAAC,EAAEgC,CAAC,CAAC,EAAE2C,EAAE3E,EAAE,IAAI,CAAC,EAAEoC,IAAI,EAAEtO,EAAE+N,EAAE,CAAC,EAAEO,CAAC,EAAEL,CAAC,EAAEjO,EAAE,EAAEkO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAOC,EAAE,UAAU0C,CAAC,CAAC,CAAC,EAAE5E,EAAE+B,EAAE,OAAO9B,EAAE8B,EAAE,SAAS,CAAC3C,GAAGW,EAAE,KAAKC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAOZ,IAAI,EAAEzF,GAAGoG,EAAE,CAAC,GAAG,CAACC,EAAE,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIva,GAAG,MAAM2X,WAAU80C,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI50C,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,IAAI0tC,EAAE,sDAAsD,EAAE,GAAG,MAAM,QAAQ,EAAE,IAAI,EAAE1tC,EAAE,IAAIgmD,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAEhmD,EAAE,EAAE,KAAKA,EAAE,WAAW,KAAK,MAAM,IAAI0tC,EAAE,mGAAmG,EAAE,KAAK,KAAK1tC,EAAE,KAAK,gBAAgB,EAAE,iBAAiB,KAAK,GAAG,EAAE,gBAAgB,KAAK,YAAY,EAAE,aAAa,KAAK,GAAG,EAAE,YAAY,KAAK,YAAY,EAAE,aAAa,KAAK,GAAG,EAAE,YAAY,KAAK,UAAU,EAAE,UAAU,KAAK,GAAG,EAAE,SAAS,KAAK,OAAO,EAAE,QAAQ,KAAK,GAAG,EAAE,OAAO,KAAK,gBAAgB,GAAG,KAAK,UAAU,CAAC,IAAIrb,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,KAAK,KAAK,QAAQ,KAAK,KAAK,aAAa,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS,KAAK,CAAC,IAAI,EAAE,MAAM,QAAQ,KAAK,KAAK,SAAS,EAAE,KAAK,KAAK,UAAU,OAAO,EAAE,OAAOksD,GAAG,EAAE,CAAC,EAAE,IAAI7wC,GAAG,IAAI,CAAC,KAAM,QAAO,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,mBAAmB,EAAE,CAACg0C,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAIh0C,EAAE,KAAK,KAAK,UAAU,MAAM,QAAQA,CAAC,IAAIA,EAAE,CAACA,CAAC,GAAG,IAAIE,EAAEF,EAAE,CAAC,EAAEG,EAAE,GAAG,KAAK,gBAAgBA,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAED,CAAC,EAAEC,EAAE,CAAC,EAAE,CAAC,EAAED,CAAC,EAAE,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,KAAKF,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAACG,CAAC,EAAE,OAAO,CAAC,CAAC,KAAM,QAAOA,CAAC,CAAC,YAAY,EAAEH,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,MAAM,QAAQyC,CAAC,IAAIA,EAAEA,EAAE,CAAC,GAAG,IAAIE,EAAE,KAAK,gBAAgBF,EAAE,KAAK,GAAG,KAAK,YAAY,CAAC,IAAIG,EAAE,KAAK,OAAO,IAAI,GAAG,IAAI,EAAE,MAAM,CAACD,CAAC,EAAE,OAAOC,CAAC,CAAC,KAAM,QAAOD,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,KAAK,CAAC,IAAI,EAAE,MAAM,QAAQ,KAAK,KAAK,SAAS,EAAE,KAAK,KAAK,UAAU,OAAO,EAAEF,EAAE,CAAC,EAAE,QAAQE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAEF,EAAE,KAAK,IAAI,EAAE,OAAOA,CAAC,KAAM,QAAO,KAAK,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,cAAc,KAAK,MAAM,IAAI2tC,GAAG,kDAAkD,EAAEqG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC,EAAE,KAAK7zC,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,IAAIxb,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,GAAGwb,CAAC,CAAC,CAAC,EAAE,IAAIwB,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,KAAK,MAAMA,CAAC,EAAE,IAAIC,EAAE,GAAG,MAAM,QAAQ,KAAK,KAAK,SAAS,EAAEA,EAAE,KAAK,KAAK,UAAUA,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,KAAK,WAAW,MAAM,GAAG,CAACvD,EAAE,YAAY,KAAK,UAAU,IAAIwD,GAAGA,EAAE,MAAMA,EAAE,MAAM,OAAO,CAAC,CAAC,EAAED,CAAC,EAAE,MAAM,IAAI8rC,EAAE,6FAA6F,KAAK,SAAS,+BAA+B,KAAK,KAAK,SAAS,EAAE,OAAO,KAAK,UAAU9rC,EAAE,IAAIC,GAAG,IAAIld,GAAG,CAAC,MAAM,CAAC,KAAKkd,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,KAAK,YAAY,CAAC,CAAC,YAAY,EAAE7B,EAAE,GAAG,CAACzC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,MAAM,IAAIiwC,GAAG,iEAAiE,EAAE,IAAIttC,EAAE,KAAK,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE,GAAGA,GAAG,KAAK,MAAM,IAAIwtC,EAAE,uUAAuU,EAAE,GAAG,KAAK,SAAS,KAAK,MAAM,QAAQ,KAAK,KAAK,SAAS,EAAE,KAAK,QAAQ,KAAK,KAAK,UAAU,IAAIvtC,GAAGd,GAAG,CAACa,EAAEC,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAACd,GAAG,CAACa,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,UAAU,GAAG,KAAKzP,GAAG,KAAK,OAAO,EAAE,KAAK,YAAY,OAAOA,GAAG,KAAK,UAAU,EAAE,KAAK,WAAW,CAAC,GAAG,MAAM,QAAQ,KAAK,KAAK,SAAS,EAAE,KAAK,QAAQ,KAAK,KAAK,UAAU,IAAI0P,GAAGd,GAAG,CAACa,EAAEC,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAEd,GAAG,CAACa,EAAE,KAAK,KAAK,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,QAAQ,OAAO,MAAM,IAAIwtC,EAAE,SAAS,KAAK,IAAI,YAAY,KAAK,QAAQ,MAAM,8BAA8B,EAAE,MAAM,oCAAoC,CAAC,EAAE,EAAE1tC,IAAI,GAAG,KAAK,WAAW,KAAK,KAAK,QAAQ,MAAM,CAAC,EAAEvP,GAAG,KAAK,OAAO,EAAE,QAAQ0P,EAAE,EAAEA,EAAE,KAAK,QAAQ,OAAO,EAAEA,EAAE,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE,EAAE,MAAM,QAAQ,KAAK,KAAK,SAAS,EAAE,KAAK,KAAK,UAAUA,CAAC,EAAE,KAAK,KAAK,UAAU0B,EAAE,CAAC3B,EAAE,CAAC,EAAE,GAAG,CAAC7B,EAAE,YAAY,EAAE,MAAMwD,CAAC,EAAE,MAAM,IAAI6rC,EAAE,SAASvtC,CAAC,+BAA+B,KAAK,IAAI,oBAAoB0B,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,KAAK,QAAQ1B,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,KAAK,QAAQ,IAAIA,GAAGrM,GAAGqM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAEH,EAAE,CAAC,IAAIE,EAAEF,GAAG,KAAK,KAAKA,EAAE,aAAaG,EAAEH,GAAG,KAAK,KAAKA,EAAE,UAAUA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAI,EAAE8lD,GAAG,EAAE5lD,EAAEC,EAAE,KAAK,YAAY,EAAE,EAAE,EAAE,OAAOD,EAAE,EAAE,aAAaC,EAAE,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE0B,EAAE,CAAC,EAAE,GAAG3B,GAAG,KAAK,CAACF,EAAE,aAAaE,EAAE,EAAE,EAAE,OAAOA,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,QAAQ,KAAKA,EAAE,KAAK,UAAU,KAAK,IAAIvb,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAEkd,EAAEA,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,GAAG1B,GAAG,OAAOH,EAAE,UAAUG,EAAE,EAAE,EAAE,OAAOA,CAAC,EAAE,KAAK,aAAaA,EAAE,QAAQ,EAAE,CAAC,YAAY5U,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAEiX,EAAE,KAAK,UAAU,OAAOX,CAAC,EAAE,EAAE,KAAK,UAAU,KAAK,UAAUW,EAAE,IAAIE,EAAE,MAAM,MAAM,EAAE1C,CAAC,EAAE,OAAO,KAAK,UAAU,EAAE0C,CAAC,KAAM,QAAO,MAAM,MAAM,EAAE1C,CAAC,CAAC,CAAC,KAAK,EAAEA,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI2C,EAAEF,GAAG,KAAK,KAAKA,EAAE,KAAKG,EAAEH,GAAG,KAAK,KAAKA,EAAE,SAAS,EAAEA,GAAG,KAAK,KAAKA,EAAE,aAAa,EAAEk0C,GAAG,CAAC,EAAE,GAAG,OAAO,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,gBAAgB,CAAC,GAAG,IAAI,EAAE,MAAM,QAAQ,KAAK,KAAK,SAAS,EAAE,KAAK,KAAK,UAAU,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,IAAIxG,EAAE,iBAAiB,CAAC,4BAA4B,EAAE,MAAM,oBAAoB,EAAE,KAAK,QAAQ,QAAQ,KAAK,kEAAkE,EAAE,IAAI7rC,EAAE,CAAC,SAAS1B,CAAC,EAAE,EAAE4lD,GAAG,CAACnjD,EAAEkB,IAAI,CAAC,IAAIC,EAAE,KAAK,KAAK,KAAK,CAACnB,CAAC,EAAE,OAAOkB,CAAC,EAAEjC,CAAC,EAAE,MAAM,CAACkC,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,YAAY7D,EAAE,KAAK,KAAK,OAAO,KAAK,eAAe,EAAEsC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAEE,EAAE,EAAE,CAAC,EAAE,KAAK,UAAU,KAAK,YAAYA,EAAEvC,CAAC,EAAE,IAAIwC,EAAE,KAAK,gBAAgB,EAAEH,EAAE,OAAO,KAAK,YAAY,CAACG,CAAC,EAAE,OAAOD,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,OAAOpF,EAAE,IAAI,CAAC,IAAIyC,EAAEX,GAAG,EAAE,KAAK,EAAE,OAAOW,EAAEvD,GAAGuD,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEA,EAAEkxC,GAAGlxC,CAAC,EAAE,MAAM,QAAQ,KAAK,KAAK,SAAS,EAAE,KAAK,KAAK,UAAU,IAAIE,GAAGA,EAAE,EAAEkxC,GAAGpxC,EAAE,CAAC,EAAEE,CAAC,CAAC,EAAEF,CAAC,EAAE,KAAK,KAAK,UAAU,EAAE,CAACoxC,GAAGpxC,EAAE,CAAC,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,EAAE,CAACA,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,OAAO,KAAK,UAAU,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC,OAAO,KAAK,UAAU,KAAK,KAAK,oBAAoB,KAAK,KAAK,OAAO,CAAC,6BAA6B,EAAE,CAAC,MAAM,6BAA6B,CAAC,EAAE,KAAK,MAAM,MAAM,KAAK,KAAK,6BAA6B,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,UAAU,EAAEA,EAAE,CAAC,gBAAgB,KAAK,gBAAgB,YAAY,KAAK,YAAY,YAAY,KAAK,YAAY,SAAS,KAAK,SAAS,OAAO,KAAK,MAAM,EAAE,KAAK,cAAc,OAAOA,EAAE,aAAa,KAAK,cAAc,IAAIE,EAAE,KAAK,KAAK,UAAU,EAAE,OAAO,KAAK,aAAa,IAAIJ,GAAE,YAAYE,EAAE,KAAK,CAAC,UAAU,KAAK,KAAK,aAAa,EAAE,OAAOE,CAAC,GAAG,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAC,EAAEA,CAAC,EAAE,CAAC,EAAEF,CAAC,CAAC,CAAC,OAAO,WAAW,EAAEA,EAAEE,EAAE,CAAC,EAAE,CAAC,IAAIC,EAAEH,EAAE,KAAK,EAAEk9C,GAAG/8C,EAAED,CAAC,EAAE,OAAO,IAAI,EAAE,OAAO,OAAOF,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE7X,GAAG,UAAU,MAAMkS,GAAE,cAAclS,EAAE,EAAE,IAAIyvD,GAAG,cAAchD,EAAE,CAAC,EAAEqR,GAAG,cAAcrO,EAAE,CAAC,YAAYl3C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,mBAAmB,OAAO,KAAK,2BAA2B,eAAe,KAAK,8BAA8B,aAAa,KAAK,yBAAyB,QAAQ,KAAK,MAAMA,EAAE,MAAMquC,GAAG,KAAK,MAAM,OAAO,EAAE,KAAK,WAAW0U,GAAG/iD,EAAE,YAAY,KAAK,KAAK,mBAAmBA,EAAE,UAAU,EAAE,KAAK,QAAQA,EAAE,SAAS,KAAK,GAAGA,EAAE,QAAQ,KAAK,kBAAkBqzC,GAAGrzC,EAAE,mBAAmB,KAAK,0BAA0B,EAAE,KAAK,qBAAqBqzC,GAAGrzC,EAAE,sBAAsB,KAAK,6BAA6B,EAAE,KAAK,gBAAgBqzC,GAAGrzC,EAAE,iBAAiB,KAAK,wBAAwB,EAAE,KAAK,kBAAkBwjD,GAAGxjD,EAAE,iBAAiB,EAAE,KAAK,qBAAqBwjD,GAAGxjD,EAAE,oBAAoB,EAAE,KAAK,gBAAgBwjD,GAAGxjD,EAAE,eAAe,EAAE,KAAK,iBAAiBk2C,GAAGl2C,EAAE,gBAAgB,EAAE,KAAK,oBAAoBk2C,GAAGl2C,EAAE,mBAAmB,EAAE,KAAK,eAAek2C,GAAGl2C,EAAE,cAAc,EAAE,KAAK,QAAQiwC,GAAG,CAAC,EAAEC,GAAG,CAAC,EAAElwC,EAAE,SAAS,KAAK,EAAEA,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiBiwC,GAAG,CAAC,EAAEC,GAAG,CAAC,EAAElwC,EAAE,kBAAkB,KAAK,EAAEA,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,YAAYA,EAAE,YAAY,KAAK,UAAU,KAAK,MAAM,KAAK,YAAY,KAAK,KAAK,qBAAqB,IAAI,CAAC,MAAMA,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,KAAK,OAAO,KAAK,UAAU,SAAS,CAACA,EAAEA,EAAE,OAAO,CAAC,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,kBAAkB,KAAK,kBAAkB,GAAG,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,KAAK,UAAU,mBAAmB,CAAC,KAAK,MAAM,KAAK,KAAK,EAAE,KAAK,KAAK,qBAAqB,KAAK,qBAAqB,GAAG,KAAK,mBAAmB,EAAE,KAAK,QAAQ,KAAK,KAAK,KAAK,UAAU,OAAO,CAAC,KAAK,KAAK,EAAE,KAAK,KAAK,gBAAgB,KAAK,gBAAgB,GAAG,KAAK,cAAc,EAAE,KAAK,KAAK,KAAK,KAAK,MAAM,EAAE,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,GAAGmD,EAAEA,EAAEA,EAAE,SAAS,EAAE,MAAM,IAAIgtC,EAAE,8CAA8ChtC,EAAE,MAAM,GAAG,EAAE,IAAI,EAAEA,EAAE,CAAC,EAAEA,EAAEA,EAAE,CAAC,EAAE,IAAIP,EAAEH,EAAE,UAAU,KAAK,GAAGA,EAAE,SAAS,EAAE,KAAK,SAAS,KAAK,QAAQ,GAAG,KAAK,aAAa,OAAO,KAAK,YAAYkmD,GAAG,CAAC,KAAK,IAAIjvD,GAAGyJ,CAAC,EAAE,KAAK,KAAK,QAAQ,SAASP,EAAE,YAAY,KAAK,WAAW,CAAC,GAAG,EAAE,KAAK,kBAAkB,KAAK,iBAAiB,GAAG,KAAK,sBAAsB,OAAO,KAAK,qBAAqB+lD,GAAG,CAAC,KAAK,IAAIjvD,GAAG,CAAC,EAAE,KAAK,KAAK,iBAAiB,SAASkJ,EAAE,YAAY,KAAK,WAAW,CAAC,GAAG,IAAIwB,EAAEC,EAAE,KAAK,YAAYC,EAAE,KAAK,qBAAqBD,GAAG,KAAKD,EAAEkwC,GAAGr7C,EAAEkK,EAAEkB,CAAC,EAAE,KAAK,OAAO,KAAK,CAAC,EAAED,EAAEkwC,GAAGnxC,EAAE,KAAK,OAAO,KAAK,CAAC,EAAE,KAAK,MAAM,OAAOiB,EAAEswC,GAAGtwC,EAAE,KAAK,KAAK,KAAK,CAAC,GAAGE,GAAG,OAAO,EAAErL,EAAE,EAAEqL,CAAC,GAAG,IAAIC,EAAE,EAAEH,EAAEkwC,GAAG,EAAE,KAAK,gBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,KAAK,YAAY,OAAO/vC,EAAE,KAAK,WAAW,MAAMA,CAAC,GAAG,CAACA,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIpB,EAAE,MAAM,UAAU,EAAEV,EAAE,CAAC,MAAM,KAAK,MAAM,WAAWujD,GAAG,KAAK,UAAU,EAAE,QAAQ,KAAK,QAAQ,kBAAkBzP,GAAG,KAAK,iBAAiB,EAAE,qBAAqBA,GAAG,KAAK,oBAAoB,EAAE,gBAAgBA,GAAG,KAAK,eAAe,EAAE,kBAAkBkQ,GAAG,KAAK,iBAAiB,EAAE,qBAAqBA,GAAG,KAAK,oBAAoB,EAAE,gBAAgBA,GAAG,KAAK,eAAe,EAAE,oBAAoBA,GAAG,KAAK,mBAAmB,EAAE,iBAAiBtN,GAAG,KAAK,gBAAgB,EAAE,oBAAoBA,GAAG,KAAK,mBAAmB,EAAE,eAAeA,GAAG,KAAK,cAAc,EAAE,QAAQ,KAAK,QAAQ,iBAAiB,KAAK,gBAAgB,EAAE,OAAO,OAAO,OAAO,OAAO,OAAO,CAAC,EAAEh2C,CAAC,EAAEV,CAAC,CAAC,CAAC,EAAEimD,GAAG,UAAU,gBAAgB5rD,GAAE,cAAc4rD,EAAE,EAAE,IAAIE,GAAG,cAAch+D,EAAE,CAAC,YAAYuY,EAAE,CAACA,EAAE,KAAK,IAAIulD,GAAGvlD,CAAC,EAAE,MAAMA,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,KAAK,aAAa,OAAO9M,GAAG,KAAK,KAAK,WAAW,EAAE,KAAK,KAAK,YAAY,MAAM,KAAK,KAAK,sBAAsB,OAAOA,GAAG,KAAK,KAAK,oBAAoB,EAAE,KAAK,KAAK,qBAAqB,MAAM,IAAI,EAAEuP,GAAG,KAAK,KAAKA,EAAE,KAAKG,EAAEH,GAAG,KAAK,KAAKA,EAAE,SAAS2B,EAAE3B,GAAG,KAAK,KAAKA,EAAE,aAAa,OAAO,MAAM,KAAKU,EAAE,CAAC,KAAK,EAAE,SAASP,EAAE,aAAawB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,WAAWjB,EAAEV,EAAE,CAAC,OAAO,IAAIU,EAAEV,CAAC,CAAC,CAAC,EAAEmmD,GAAG,UAAU,YAAY9rD,GAAE,cAAc8rD,EAAE,EAAE,IAAIC,GAAG,cAAcxO,EAAE,CAAC,YAAYl3C,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,mBAAmB,OAAO,KAAK,6BAA6B,cAAc,KAAK,2BAA2B,eAAe,KAAK,8BAA8B,aAAa,KAAK,yBAAyB,QAAQA,EAAE,WAAW,MAAM,IAAIgtC,EAAE,6DAA6D,EAAE,KAAK,MAAMhtC,EAAE,MAAMquC,GAAG,KAAK,MAAM,OAAO,EAAE,KAAK,WAAW0U,GAAG/iD,EAAE,aAAa,OAAO,KAAK,mBAAmBA,EAAE,UAAU,EAAE,KAAK,oBAAoB+iD,GAAG/iD,EAAE,sBAAsB,OAAO,KAAK,6BAA6BA,EAAE,mBAAmB,EAAE,KAAK,QAAQA,EAAE,SAAS,KAAK,GAAGA,EAAE,QAAQ,KAAK,kBAAkBqzC,GAAGrzC,EAAE,mBAAmB,KAAK,0BAA0B,EAAE,KAAK,qBAAqBqzC,GAAGrzC,EAAE,sBAAsB,KAAK,6BAA6B,EAAE,KAAK,gBAAgBqzC,GAAGrzC,EAAE,iBAAiB,KAAK,wBAAwB,EAAE,KAAK,kBAAkBwjD,GAAGxjD,EAAE,iBAAiB,EAAE,KAAK,qBAAqBwjD,GAAGxjD,EAAE,oBAAoB,EAAE,KAAK,gBAAgBwjD,GAAGxjD,EAAE,eAAe,EAAE,KAAK,iBAAiBk2C,GAAGl2C,EAAE,gBAAgB,EAAE,KAAK,oBAAoBk2C,GAAGl2C,EAAE,mBAAmB,EAAE,KAAK,eAAek2C,GAAGl2C,EAAE,cAAc,EAAE,KAAK,QAAQiwC,GAAG,CAAC,EAAEC,GAAG,CAAC,EAAElwC,EAAE,SAAS,KAAK,EAAEA,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiBiwC,GAAG,CAAC,EAAEC,GAAG,CAAC,EAAElwC,EAAE,kBAAkB,KAAK,EAAEA,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,YAAYA,EAAE,YAAY,KAAK,eAAeA,EAAE,eAAe,KAAK,UAAU,KAAK,MAAM,KAAK,YAAY,KAAK,KAAK,qBAAqB,IAAI,CAAC,MAAMA,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAEU,EAAEA,EAAE,OAAO,CAAC,EAAE,KAAK,OAAO,KAAK,UAAU,SAAS,CAACV,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,KAAK,kBAAkB,KAAK,kBAAkB,GAAG,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,KAAK,UAAU,mBAAmB,CAAC,KAAK,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK,KAAK,qBAAqB,KAAK,qBAAqB,GAAG,KAAK,mBAAmB,EAAE,KAAK,QAAQ,KAAK,KAAK,KAAK,UAAU,OAAO,CAAC,KAAK,MAAM,CAAC,EAAE,KAAK,KAAK,gBAAgB,KAAK,gBAAgB,GAAG,KAAK,cAAc,EAAE,KAAK,KAAK,KAAK,KAAK,MAAM,EAAE,CAAC,KAAKU,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,GAAGmD,EAAEA,EAAEA,EAAE,SAAS,EAAE,MAAM,IAAIgtC,EAAE,uDAAuDhtC,EAAE,MAAM,GAAG,EAAE,IAAI,EAAEV,EAAE,UAAU,KAAK,GAAGA,EAAE,SAASG,EAAEO,EAAE,CAAC,EAAEA,EAAEA,EAAE,CAAC,EAAE,EAAE,KAAK,SAAS,KAAK,QAAQ,GAAG,KAAK,aAAa,OAAO,KAAK,YAAYwlD,GAAG,CAAC,KAAK,IAAIjvD,GAAGyJ,CAAC,EAAE,KAAK,KAAK,QAAQ,SAAS,EAAE,MAAM,EAAE,YAAY,KAAK,WAAW,CAAC,GAAG,EAAE,KAAK,kBAAkB,KAAK,iBAAiB,GAAG,KAAK,sBAAsB,OAAO,KAAK,qBAAqBwlD,GAAG,CAAC,KAAK,IAAIjvD,GAAGkJ,CAAC,EAAE,KAAK,KAAK,iBAAiB,SAAS,EAAE,MAAM,EAAE,YAAY,KAAK,WAAW,CAAC,GAAG,IAAIwB,EAAE,KAAK,YAAYC,EAAE,KAAK,qBAAqBC,EAAEC,EAAE,EAAE,EAAE,KAAK,SAAS,KAAK,QAAQ,IAAIpB,EAAElK,EAAEkK,EAAEiB,EAAE,CAAC,CAAC,GAAG,IAAIa,EAAEqvC,GAAGnxC,EAAE,KAAK,OAAO,KAAK,CAAC,EAAE,KAAK,UAAU8B,EAAEyvC,GAAGzvC,EAAE,KAAK,KAAK,KAAK,CAAC,GAAG,EAAE,KAAK,kBAAkB,KAAK,iBAAiB,IAAIrC,EAAE3J,EAAE2J,EAAEyB,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,gBAAgB,KAAK,EAAE,CAACc,EAAEC,CAAC,EAAE5G,GAAG,EAAE,CAAC,EAAE,KAAK,MAAM,KAAK,KAAK,EAAE,EAAE,KAAK,CAAC,EAAE6G,EAAEivC,GAAG1xC,EAAEuC,CAAC,EAAE,CAACoB,EAAEC,EAAEqD,CAAC,EAAErL,GAAGyG,EAAE,EAAEA,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE+B,CAAC,EAAExI,GAAG6G,EAAE,EAAEA,EAAE,KAAK,CAAC,EAAEf,EAAE,KAAK,oBAAoB,MAAM,EAAEiC,EAAE,CAAC,CAAC,EAAEhC,EAAE,KAAK,oBAAoB,MAAM,EAAEiC,EAAEQ,CAAC,CAAC,EAAE,IAAIC,EAAEqtC,GAAGr7C,EAAEsL,EAAE3B,CAAC,EAAEwC,CAAC,EAAE,EAAE,KAAK,WAAW,MAAM,EAAEyE,EAAE5C,CAAC,CAAC,EAAE,IAAIC,EAAE,EAAEjO,EAAEqL,EAAE1B,CAAC,EAAE3J,EAAE,EAAE,EAAEG,GAAGkL,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC4C,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI/D,EAAE,MAAM,UAAU,EAAEV,EAAE,CAAC,MAAM,KAAK,MAAM,WAAWujD,GAAG,KAAK,UAAU,EAAE,oBAAoBA,GAAG,KAAK,mBAAmB,EAAE,QAAQ,KAAK,QAAQ,kBAAkBzP,GAAG,KAAK,iBAAiB,EAAE,qBAAqBA,GAAG,KAAK,oBAAoB,EAAE,gBAAgBA,GAAG,KAAK,eAAe,EAAE,kBAAkBkQ,GAAG,KAAK,iBAAiB,EAAE,qBAAqBA,GAAG,KAAK,oBAAoB,EAAE,gBAAgBA,GAAG,KAAK,eAAe,EAAE,oBAAoBA,GAAG,KAAK,mBAAmB,EAAE,iBAAiBtN,GAAG,KAAK,gBAAgB,EAAE,oBAAoBA,GAAG,KAAK,mBAAmB,EAAE,eAAeA,GAAG,KAAK,cAAc,EAAE,QAAQ,KAAK,QAAQ,iBAAiB,KAAK,iBAAiB,eAAe,KAAK,eAAe,WAAW,EAAE,EAAE,OAAO,OAAO,OAAO,OAAO,OAAO,CAAC,EAAEh2C,CAAC,EAAEV,CAAC,CAAC,CAAC,EAAEomD,GAAG,UAAU,UAAU/rD,GAAE,cAAc+rD,EAAE,EAAE,IAAIC,GAAG,cAAcl+D,EAAE,CAAC,YAAYuY,EAAE,CAACA,EAAE,iBAAiB,GAAG,QAAQ,KAAK,gHAAgH,EAAEA,EAAE,KAAK,IAAI0lD,GAAG1lD,CAAC,EAAE,MAAMA,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,KAAK,aAAa,OAAO9M,GAAG,KAAK,KAAK,WAAW,EAAE,KAAK,KAAK,YAAY,MAAM,KAAK,KAAK,sBAAsB,OAAOA,GAAG,KAAK,KAAK,oBAAoB,EAAE,KAAK,KAAK,qBAAqB,MAAM,IAAI,EAAEuP,GAAG,KAAK,KAAKA,EAAE,KAAKG,EAAEH,GAAG,KAAK,KAAKA,EAAE,SAAS2B,EAAE3B,GAAG,KAAK,KAAKA,EAAE,aAAa,OAAO,MAAM,KAAKU,EAAE,CAAC,KAAK,EAAE,SAASP,EAAE,aAAawB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,WAAWjB,EAAEV,EAAE,CAAC,OAAOA,EAAE,gBAAgB,IAAIA,EAAE,eAAe,GAAG,IAAIU,EAAEV,CAAC,CAAC,CAAC,EAAEqmD,GAAG,UAAU,MAAMhsD,GAAE,cAAcgsD,EAAE,EAAE,IAAIC,GAAG,cAAc1O,EAAE,CAAC,YAAYl3C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,mBAAmB,OAAO,KAAK,6BAA6B,cAAc,KAAK,2BAA2B,eAAe,KAAK,8BAA8B,aAAa,KAAK,yBAAyB,QAAQ,KAAK,MAAMA,EAAE,MAAMquC,GAAG,KAAK,MAAM,OAAO,EAAE,KAAK,WAAW0U,GAAG/iD,EAAE,aAAa,OAAO,KAAK,mBAAmBA,EAAE,UAAU,EAAE,KAAK,oBAAoB+iD,GAAG/iD,EAAE,sBAAsB,OAAO,KAAK,6BAA6BA,EAAE,mBAAmB,EAAE,KAAK,QAAQA,EAAE,SAAS,KAAK,GAAGA,EAAE,QAAQ,KAAK,kBAAkBqzC,GAAGrzC,EAAE,mBAAmB,KAAK,0BAA0B,EAAE,KAAK,qBAAqBqzC,GAAGrzC,EAAE,sBAAsB,KAAK,6BAA6B,EAAE,KAAK,gBAAgBqzC,GAAGrzC,EAAE,iBAAiB,KAAK,wBAAwB,EAAE,KAAK,eAAeA,EAAE,eAAe,KAAK,kBAAkBwjD,GAAGxjD,EAAE,iBAAiB,EAAE,KAAK,qBAAqBwjD,GAAGxjD,EAAE,oBAAoB,EAAE,KAAK,gBAAgBwjD,GAAGxjD,EAAE,eAAe,EAAE,KAAK,iBAAiBk2C,GAAGl2C,EAAE,gBAAgB,EAAE,KAAK,oBAAoBk2C,GAAGl2C,EAAE,mBAAmB,EAAE,KAAK,eAAek2C,GAAGl2C,EAAE,cAAc,EAAE,KAAK,QAAQiwC,GAAG,CAAC,EAAEC,GAAG,CAAC,EAAElwC,EAAE,SAAS,KAAK,EAAEA,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiBiwC,GAAG,CAAC,EAAEC,GAAG,CAAC,EAAElwC,EAAE,kBAAkB,KAAK,EAAEA,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,YAAYA,EAAE,YAAY,KAAK,eAAeA,EAAE,eAAe,KAAK,UAAU,CAAC,KAAK,MAAM,KAAK,KAAK,EAAE,KAAK,YAAY,KAAK,KAAK,qBAAqB,IAAI,CAAC,MAAMA,EAAE,CAAC,IAAIV,EAAEU,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAI,EAAEA,EAAEA,EAAE,OAAO,CAAC,EAAE,KAAK,OAAO,KAAK,UAAU,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,KAAK,kBAAkB,KAAK,kBAAkB,GAAG,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,KAAK,UAAU,mBAAmB,CAAC,KAAK,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK,KAAK,qBAAqB,KAAK,qBAAqB,GAAG,KAAK,mBAAmB,EAAE,IAAIP,EAAE,GAAG,KAAK,QAAQ,CAAC,GAAG,KAAK,eAAe,CAAC,IAAIwB,EAAE,KAAK,gBAAgBC,EAAE,KAAK,MAAMzB,EAAE,IAAIH,EAAE,cAAc2yC,EAAE,CAAC,MAAM7wC,EAAEC,EAAE,CAAC,IAAIS,EAAEb,EAAE,MAAM,CAACC,CAAC,CAAC,EAAEa,EAAE,IAAIowC,GAAG,EAAE,MAAM,CAACjxC,CAAC,CAAC,EAAEc,EAAEf,EAAE,MAAM,CAACC,EAAE,CAAC,CAAC,EAAE,OAAO+vC,GAAGA,GAAGnvC,EAAEC,CAAC,EAAEC,CAAC,CAAC,CAAC,EAAE1C,EAAE,UAAU,aAAaA,EAAE,MAAMG,EAAE,KAAK,gBAAgB,KAAK,KAAK,KAAK,UAAU,OAAO,CAAC,KAAK,MAAM,CAAC,EAAE,KAAKA,EAAE,KAAK,gBAAgB,GAAG,KAAK,cAAc,CAAC,MAAM,KAAK,KAAK,KAAK,KAAK,MAAM,EAAE,CAAC,KAAKO,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAEyC,EAAE,UAAU,KAAK,GAAGA,EAAE,SAAS,GAAGU,EAAEA,EAAEA,EAAE,SAAS,EAAE,MAAM,IAAIgtC,EAAE,wDAAwDhtC,EAAE,MAAM,GAAG,EAAE,IAAIP,EAAEO,EAAE,CAAC,EAAEiB,EAAEjB,EAAE,CAAC,EAAEA,EAAEA,EAAE,CAAC,EAAE,EAAE,KAAK,SAAS,KAAK,QAAQ,GAAG,KAAK,aAAa,OAAO,KAAK,YAAYwlD,GAAG,CAAC,KAAK,IAAIjvD,GAAGyJ,CAAC,EAAE,KAAK,KAAK,QAAQ,SAAS,EAAE,MAAM,EAAE,YAAY,KAAK,WAAW,CAAC,GAAG,EAAE,KAAK,kBAAkB,KAAK,iBAAiB,GAAG,KAAK,sBAAsB,OAAO,KAAK,qBAAqBwlD,GAAG,CAAC,KAAK,IAAIjvD,GAAGkJ,CAAC,EAAE,KAAK,KAAK,iBAAiB,SAAS,EAAE,MAAM,EAAE,YAAY,KAAK,WAAW,CAAC,GAAG,IAAIyB,EAAE,KAAK,YAAYC,EAAE,KAAK,qBAAqBC,EAAE,EAAEU,EAAE,EAAE,EAAE,KAAK,SAAS,KAAK,QAAQ,IAAI9B,EAAElK,EAAEkK,EAAEkB,EAAE,CAAC,CAAC,GAAG,IAAIc,EAAEmvC,GAAGnxC,EAAE,KAAK,OAAO,KAAK,CAAC,EAAE,EAAE,KAAK,kBAAkB,KAAK,iBAAiB,IAAIP,EAAE3J,EAAE2J,EAAE0B,EAAE,CAAC,CAAC,GAAGa,EAAE,EAAEA,EAAEmvC,GAAG1xC,EAAE,KAAK,gBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,UAAUuC,EAAEuvC,GAAGvvC,EAAE,KAAK,KAAK,KAAK,CAAC,GAAG,GAAG,CAACC,EAAEC,EAAEkB,EAAEC,CAAC,EAAEhI,GAAG2G,EAAE,EAAEA,EAAE,KAAK,CAAC,EAAEZ,EAAE,KAAK,oBAAoB,MAAMa,CAAC,EAAE,EAAE,KAAK,oBAAoB,MAAMC,CAAC,EAAEJ,EAAE,EAAEhM,EAAE,EAAEmL,CAAC,EAAEnL,EAAEsL,EAAE,KAAK,WAAW,MAAMgC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,oBAAoB,MAAMC,CAAC,EAAE,IAAIqD,EAAE5Q,EAAE,EAAE,KAAK,WAAW,MAAMgM,CAAC,CAAC,EAAE,MAAM,CAAC4E,EAAEA,EAAE5E,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI9B,EAAE,MAAM,UAAU,EAAEV,EAAE,CAAC,MAAM,KAAK,MAAM,WAAWujD,GAAG,KAAK,UAAU,EAAE,oBAAoBA,GAAG,KAAK,mBAAmB,EAAE,QAAQ,KAAK,QAAQ,kBAAkBzP,GAAG,KAAK,iBAAiB,EAAE,qBAAqBA,GAAG,KAAK,oBAAoB,EAAE,gBAAgBA,GAAG,KAAK,eAAe,EAAE,eAAe,KAAK,eAAe,kBAAkBkQ,GAAG,KAAK,iBAAiB,EAAE,qBAAqBA,GAAG,KAAK,oBAAoB,EAAE,gBAAgBA,GAAG,KAAK,eAAe,EAAE,oBAAoBA,GAAG,KAAK,mBAAmB,EAAE,iBAAiBtN,GAAG,KAAK,gBAAgB,EAAE,oBAAoBA,GAAG,KAAK,mBAAmB,EAAE,eAAeA,GAAG,KAAK,cAAc,EAAE,QAAQ,KAAK,QAAQ,iBAAiB,KAAK,iBAAiB,eAAe,KAAK,cAAc,EAAE,OAAO,OAAO,OAAO,OAAO,OAAO,CAAC,EAAEh2C,CAAC,EAAEV,CAAC,CAAC,CAAC,EAAEsmD,GAAG,UAAU,WAAWjsD,GAAE,cAAcisD,EAAE,EAAE,IAAIC,GAAG,cAAcp+D,EAAE,CAAC,YAAYuY,EAAE,CAACA,EAAE,iBAAiB,GAAG,QAAQ,KAAK,gHAAgH,EAAEA,EAAE,KAAK,IAAI4lD,GAAG5lD,CAAC,EAAE,MAAMA,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,KAAK,aAAa,OAAO9M,GAAG,KAAK,KAAK,WAAW,EAAE,KAAK,KAAK,YAAY,MAAM,KAAK,KAAK,sBAAsB,OAAOA,GAAG,KAAK,KAAK,oBAAoB,EAAE,KAAK,KAAK,qBAAqB,MAAM,IAAI,EAAEuP,GAAG,KAAK,KAAKA,EAAE,KAAKG,EAAEH,GAAG,KAAK,KAAKA,EAAE,SAAS2B,EAAE3B,GAAG,KAAK,KAAKA,EAAE,aAAa,OAAO,MAAM,KAAKU,EAAE,CAAC,KAAK,EAAE,SAASP,EAAE,aAAawB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,WAAWjB,EAAEV,EAAE,CAAC,OAAOA,EAAE,gBAAgB,IAAIA,EAAE,eAAe,GAAG,IAAIU,EAAEV,CAAC,CAAC,CAAC,EAAEumD,GAAG,UAAU,OAAOlsD,GAAE,cAAcksD,EAAE,EAAE,IAAIP,GAAG,cAAcpO,EAAE,CAAC,YAAYl3C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,MAAMA,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,IAAIA,EAAE,CAAC,EAAE,QAAQV,KAAK,KAAK,MAAM,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQA,EAAE,SAAS,EAAEU,EAAE,KAAK,GAAGV,EAAE,SAAS,EAAEU,EAAE,KAAKV,EAAE,SAAS,EAAE,OAAOU,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAACmD,EAAEA,EAAE,IAAI,EAAEA,EAAE,MAAM,CAAC,EAAEP,EAAE,CAAC,EAAE,QAAQ0B,KAAK,KAAK,MAAM,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQA,EAAE,SAAS,EAAE1B,EAAE,KAAK,EAAE,OAAO,EAAE0B,EAAE,UAAU,MAAM,CAAC,EAAE1B,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAEA,EAAE,QAAQ,EAAE,IAAIwB,EAAE,CAAC,EAAEC,EAAE,QAAQC,EAAE,EAAEA,EAAE,KAAK,MAAM,OAAO,EAAEA,EAAE,CAAC,IAAIC,EAAE,KAAK,MAAMD,CAAC,EAAE,EAAE1B,EAAE0B,CAAC,EAAEA,IAAI,EAAED,EAAE,CAAClB,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAEkB,EAAE,CAACA,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAEA,EAAEE,EAAE,KAAKF,EAAE5B,CAAC,EAAE2B,EAAE,KAAKC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQC,KAAKF,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,GAAGE,CAAC,EAAE,MAAM,CAACD,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAMlB,EAAE,CAACszC,GAAGtzC,CAAC,IAAIA,EAAEA,EAAE,CAAC,GAAGA,EAAEA,EAAE,IAAIV,EAAE,KAAK,MAAM,QAAQ,CAAC,EAAEG,IAAI,CAACgwC,GAAG,WAAWhwC,CAAC,GAAG,IAAI,CAAC,EAAE,MAAMO,CAAC,EAAE,MAAM,QAAQ,EAAE,SAAS,EAAEV,EAAE,EAAE,UAAU,CAAC,EAAEA,EAAE,EAAE,UAAUU,EAAE,CAACA,EAAE,CAAC,EAAEV,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,WAAW,CAAC,IAAIU,EAAE,MAAM,UAAU,EAAEV,EAAE2B,IAAI,CAAC,UAAUA,EAAE,aAAa,EAAE,OAAOA,EAAE,UAAU,CAAC,GAAGxB,EAAE,CAAC,MAAM,KAAK,MAAM,IAAIH,CAAC,CAAC,EAAE,OAAO,OAAO,OAAO,OAAO,OAAO,CAAC,EAAEU,CAAC,EAAEP,CAAC,CAAC,CAAC,OAAO,WAAWO,EAAEV,EAAE,EAAE,CAAC,EAAE,CAAC,IAAIG,EAAE,CAAC,EAAE,QAAQwB,KAAK3B,EAAE,MAAMG,EAAE,KAAK+8C,GAAGv7C,EAAE,CAAC,CAAC,EAAE,OAAO,IAAIjB,EAAE,CAAC,MAAMP,CAAC,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,UAAU,MAAM,CAAC,EAAE,IAAIO,EAAE,CAAC,EAAE,QAAQV,KAAK,KAAK,MAAMU,EAAE,KAAK,GAAGV,EAAE,gBAAgB,EAAE,OAAOU,CAAC,CAAC,IAAI,qBAAqB,CAAC,IAAIA,EAAE,CAAC,EAAE,QAAQV,KAAK,KAAK,MAAMU,EAAE,KAAK,GAAGV,EAAE,mBAAmB,EAAE,GAAG,CAAC,KAAK,UAAU,CAAC,IAAIA,EAAE,CAAC,EAAE,QAAQ,KAAK,KAAK,MAAMA,EAAE,KAAK,GAAG,EAAE,gBAAgB,EAAE,OAAOA,EAAE,OAAOU,CAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,YAAY,CAAC,IAAIA,EAAE,CAAC,EAAE,QAAQV,KAAK,KAAK,MAAMU,EAAE,KAAK,GAAGV,EAAE,OAAO,EAAE,OAAOu0C,GAAG7zC,CAAC,CAAC,CAAC,WAAWA,EAAE,CAAC,IAAIV,EAAE,CAAC,EAAE,QAAQ,KAAK,KAAK,MAAM,CAAC,IAAIG,EAAE,EAAE,QAAQ,OAAOwB,EAAEjB,EAAE,OAAOP,CAAC,EAAE,QAAQyB,EAAE,EAAEA,EAAE,EAAE,QAAQ,OAAO,EAAEA,EAAE5B,EAAE,KAAK,CAAC,EAAE,QAAQ4B,CAAC,EAAED,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC4yC,GAAGx0C,CAAC,CAAC,CAAC,EAAEgmD,GAAG,UAAU,kBAAkB3rD,GAAE,cAAc2rD,EAAE,EAAE,SAASE,GAAGpmD,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAKE,EAAE,SAASE,EAAE,GAAG,MAAMC,EAAE,EAAE,YAAY,CAAC,EAAEL,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,EAAEE,CAAC,EAAEoyC,GAAG,EAAE,EAAEpyC,CAAC,EAAE6B,EAAE,IAAIywC,GAAG,EAAE,EAAEpyC,CAAC,EAAE,MAAM,CAACC,GAAGA,GAAG,EAAErM,GAAG+N,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM1B,CAAC,EAAE,KAAK,MAAM,EAAE,IAAI0B,CAAC,EAAE,IAAI,GAAG/N,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI0yD,GAAG,SAAS1mD,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,EAAE,QAAQE,KAAKJ,EAAE,OAAO,UAAU,eAAe,KAAKA,EAAEI,CAAC,GAAG,EAAE,QAAQA,CAAC,EAAE,IAAIF,EAAEE,CAAC,EAAEJ,EAAEI,CAAC,GAAG,GAAGJ,GAAG,MAAM,OAAO,OAAO,uBAAuB,WAAW,QAAQK,EAAE,EAAED,EAAE,OAAO,sBAAsBJ,CAAC,EAAEK,EAAED,EAAE,OAAOC,IAAI,EAAE,QAAQD,EAAEC,CAAC,CAAC,EAAE,GAAG,OAAO,UAAU,qBAAqB,KAAKL,EAAEI,EAAEC,CAAC,CAAC,IAAIH,EAAEE,EAAEC,CAAC,CAAC,EAAEL,EAAEI,EAAEC,CAAC,CAAC,GAAG,OAAOH,CAAC,EAAMymD,GAAG,cAAct+D,EAAE,CAAC,YAAYuY,EAAE,CAAC,GAAGA,EAAE,OAAO,MAAM,IAAIitC,GAAG,oDAAoD,EAAE,GAAG,MAAM,QAAQjtC,EAAE,IAAI,EAAE,MAAM,IAAIitC,GAAG,gEAAgE,EAAE,MAAMjtC,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI/b,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK+b,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,GAAG,KAAK,KAAK,aAAa,OAAO9M,GAAG,KAAK,KAAK,WAAW,EAAE,KAAK,KAAK,YAAY,MAAM,KAAK,KAAK,sBAAsB,OAAOA,GAAG,KAAK,KAAK,oBAAoB,EAAE,KAAK,KAAK,qBAAqB,MAAMuP,GAAGA,EAAE,UAAU,MAAM,IAAI0tC,EAAE,2CAA2C,EAAE,IAAI,EAAE1tC,GAAG,KAAK,KAAKA,EAAE,KAAKG,EAAEH,GAAG,KAAK,KAAKA,EAAE,SAAS2B,EAAE3B,GAAG,KAAK,KAAKA,EAAE,aAAa,OAAO,MAAM,KAAKU,EAAE,CAAC,KAAK,EAAE,SAASP,EAAE,aAAawB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmBjB,EAAE,CAAC,IAAIV,EAAE,KAAK,yBAAyBU,CAAC,EAAE,OAAO,KAAK,kBAAkBV,EAAE,CAACA,EAAE,CAAC,EAAE,GAAGA,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,cAAcA,EAAE,CAACA,EAAE,GAAG,MAAM,CAAC,EAAE,KAAK,CAACU,EAAE,CAAC,EAAE,GAAGV,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,gBAAgBU,EAAE,CAAC,OAAOnD,EAAE,IAAI,CAAC,GAAG,CAAC,UAAUyC,CAAC,EAAE,KAAK,KAAK,EAAEU,EAAE,MAAMP,EAAE,KAAK,yBAAyB,CAAC,EAAEwB,EAAE,CAACxB,EAAE,CAAC,EAAE,GAAGA,EAAE,MAAM,CAAC,CAAC,EAAEyB,EAAEvC,GAAGsC,CAAC,EAAE,OAAO,MAAM,QAAQ3B,CAAC,EAAE,MAAMA,EAAE,MAAM,EAAE,KAAK4B,CAAC,EAAE,CAACA,CAAC,CAAC,CAAC,CAAC,CAAC,YAAYlB,EAAEV,EAAE,GAAG,CAACzC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,MAAM,IAAIiwC,GAAG,iEAAiE,EAAE,IAAI,EAAE,KAAK,UAAU,CAAC,EAAE,MAAMrtC,EAAE,KAAK,yBAAyB,CAAC,EAAEwB,EAAE,CAACxB,EAAE,CAAC,EAAE,GAAGA,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,MAAM,IAAIutC,EAAE,uUAAuU,EAAE,GAAG,KAAK,UAAU,GAAG,KAAK,MAAM,QAAQ,KAAK,KAAK,SAAS,EAAE,KAAK,QAAQ,KAAK,KAAK,UAAU,IAAI,IAAIruC,GAAGsC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAACtC,GAAGsC,CAAC,CAAC,UAAUjB,GAAG,KAAKjQ,GAAG,KAAK,OAAO,EAAE,KAAK,YAAY,OAAOA,GAAG,KAAK,UAAU,EAAE,KAAK,WAAW,CAAC,GAAG,MAAM,QAAQ,KAAK,KAAK,SAAS,EAAE,KAAK,QAAQ,KAAK,KAAK,UAAU,IAAI,IAAI4O,GAAGsC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAEtC,GAAGsC,CAAC,MAAM,CAAC,GAAG,MAAM,QAAQjB,CAAC,IAAIA,EAAE,CAACA,CAAC,GAAGA,EAAE,SAAS,KAAK,QAAQ,OAAO,MAAM,IAAIgtC,EAAE,SAAS,KAAK,IAAI,YAAY,KAAK,QAAQ,MAAM,8BAA8BhtC,EAAE,MAAM,oCAAoCA,CAAC,EAAE,EAAEV,EAAE,KAAK,WAAW,KAAK,KAAK,QAAQ,MAAM,CAAC,EAAEvP,GAAG,KAAK,OAAO,EAAE,QAAQoR,EAAE,EAAEA,EAAE,KAAK,QAAQ,OAAO,EAAEA,EAAE,CAAC,IAAIC,EAAEpB,EAAEmB,CAAC,EAAEE,EAAEJ,EAAE,GAAG,CAACtD,EAAE,YAAYyD,EAAE,MAAMC,CAAC,EAAE,MAAM,IAAI2rC,EAAE,SAAS7rC,CAAC,+BAA+B,KAAK,IAAI,oBAAoBE,CAAC,oBAAoBD,EAAE,KAAK,EAAE,EAAE,KAAK,QAAQD,CAAC,EAAEC,CAAC,CAAC,CAAC,KAAK,QAAQ,KAAK,QAAQ,IAAID,GAAG/N,GAAG+N,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyBnB,EAAE,CAAC,GAAG,CAAC,WAAWV,EAAE,QAAQ,EAAE,WAAWG,EAAE,QAAQwB,EAAE,QAAQC,EAAE,aAAaC,CAAC,EAAE,KAAK,KAAKC,EAAE9B,IAAI,gBAAgB,EAAEU,EAAEoB,EAAE,EAAE,CAAC,EAAEU,EAAE9B,EAAEoB,EAAE,EAAE,CAAC,EAAE,EAAE4iD,GAAG,EAAEvkD,EAAE,CAAC,EAAEwB,EAAEC,EAAE,CAAC,EAAEC,EAAE,CAAC,CAAC,EAAEa,EAAEgiD,GAAGliD,EAAErC,EAAE,CAAC,EAAEwB,EAAEC,EAAE,CAAC,EAAEC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,GAAGnB,EAAE,MAAM,EAAE,CAAC,EAAE,GAAGoB,EAAE,CAAC,EAAE,EAAEY,CAAC,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE+jD,GAAG,UAAU,YAAY,IAAIC,GAAG,cAAcJ,EAAE,CAAC,YAAY5lD,EAAE,CAAC,GAAG,CAAC,QAAQV,EAAE,WAAW,EAAE,QAAQG,EAAE,QAAQwB,EAAE,WAAWC,EAAE,aAAaC,CAAC,EAAEnB,EAAE,MAAM,OAAO,OAAO,OAAO,OAAO,CAAC,EAAEA,CAAC,EAAE,CAAC,MAAMV,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQA,EAAE+uC,GAAG,KAAK,QAAQ,SAAS,EAAE,KAAK,WAAW0V,GAAG,EAAE,EAAE,YAAY,EAAE,KAAK,WAAW,QAAQ3iD,GAAGitC,GAAGjtC,EAAE,YAAY,CAAC,EAAE,KAAK,QAAQ2iD,GAAGtkD,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,QAAQ,QAAQ2B,GAAGitC,GAAGjtC,EAAE,SAAS,CAAC,EAAE,KAAK,QAAQH,GAAG,QAAQouC,GAAG,KAAK,OAAO,EAAE,KAAK,WAAWnuC,GAAG,eAAeiuC,GAAG,KAAK,UAAU,EAAE,KAAK,aAAa4U,GAAG5iD,GAAG,EAAE,EAAE,cAAc,EAAE,KAAK,aAAa,QAAQC,GAAGitC,GAAGjtC,EAAE,cAAc,CAAC,CAAC,CAAC,MAAMpB,EAAE,CAAC,IAAIV,EAAEU,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAI,EAAE,KAAK,aAAa,gBAAgB,EAAEA,EAAE,OAAO,EAAE,GAAGA,EAAE,CAAC,GAAG,KAAK,MAAM,IAAIgtC,EAAE,+DAA+DhtC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAIP,EAAEO,EAAE,CAAC,EAAEiB,EAAE,EAAEC,EAAE,KAAK,WAAW,OAAO,CAACzB,EAAE,KAAK,QAAQwB,CAAC,CAAC,EAAE,KAAK,OAAO,KAAK,UAAU,SAASC,EAAE,KAAK,KAAK,kBAAkB,KAAK,kBAAkB,GAAG,KAAK,gBAAgB,EAAE,IAAIC,EAAE,KAAK,WAAW,OAAO,CAAC,KAAK,QAAQ,KAAK,QAAQF,CAAC,CAAC,EAAE,GAAG,KAAK,gBAAgB,KAAK,UAAU,mBAAmBE,EAAE,KAAK,KAAK,qBAAqB,KAAK,qBAAqB,GAAG,KAAK,mBAAmB,EAAE,KAAK,QAAQ,CAAC,IAAIC,EAAE,GAAG,KAAK,eAAe,CAAC,IAAI,EAAE,KAAK,gBAAgBU,EAAE,KAAK,QAAQV,EAAE,IAAI9B,EAAE,cAAc2yC,EAAE,CAAC,MAAMjwC,EAAEC,EAAE,CAAC,IAAIC,EAAE,EAAE,MAAM,CAACJ,CAAC,CAAC,EAAE,EAAExL,GAAG,CAACwL,CAAC,CAAC,EAAEuB,EAAE,EAAE,MAAM,CAACvB,EAAE,CAAC,CAAC,EAAE,OAAOkvC,GAAG,CAAC9uC,EAAE,EAAEmB,CAAC,CAAC,CAAC,CAAC,EAAE/D,EAAE,UAAU,aAAaA,EAAE,MAAM8B,EAAE,KAAK,gBAAgB,KAAK,KAAK,KAAK,UAAU,OAAO,CAAC,KAAK,QAAQH,CAAC,EAAE,KAAKG,EAAE,KAAK,gBAAgB,GAAG,KAAK,cAAc,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,KAAKpB,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,GAAGmD,EAAE,SAAS,EAAE,MAAM,IAAIgtC,EAAE,8DAA8DhtC,EAAE,MAAM,GAAG,EAAE,IAAI,EAAEV,EAAE,UAAU,GAAGG,EAAEO,EAAE,CAAC,EAAEiB,EAAEjB,EAAE,CAAC,EAAEkB,EAAElB,EAAE,CAAC,EAAEmB,EAAE,EAAE,EAAE,KAAK,SAAS,KAAK,QAAQ,GAAG,KAAK,aAAa,OAAO,KAAK,YAAYqkD,GAAG,CAAC,KAAK,IAAIjvD,GAAGkJ,CAAC,EAAE,KAAK,KAAK,QAAQ,SAAS,EAAE,MAAM0B,EAAE,YAAY,KAAK,WAAW,CAAC,GAAG,IAAIC,EAAE,KAAK,YAAY,EAAE,CAACmG,EAAGC,EAAGC,KAAK,CAACD,GAAI,CAACA,EAAGC,EAAE,EAAEF,EAAGzR,EAAE0R,EAAGC,EAAE,EAAEF,CAAE,EAAEzF,EAAE,EAAErC,EAAE2B,EAAE,CAAC,EAAE,EAAE,EAAE3B,EAAE2B,EAAE,CAAC,EAAEY,EAAE,EAAEvC,EAAE2B,EAAE,CAAC,EAAEa,EAAE,EAAExC,EAAE2B,EAAE,CAAC,EAAE,EAAE,KAAK,kBAAkB,KAAK,iBAAiB,GAAG,KAAK,sBAAsB,OAAO,KAAK,qBAAqBokD,GAAG,CAAC,KAAK,IAAIjvD,GAAG0K,CAAC,EAAE,KAAK,KAAK,iBAAiB,SAAS,EAAE,MAAME,EAAE,YAAY,KAAK,WAAW,CAAC,GAAG,IAAIe,EAAE,KAAK,qBAAqBkB,EAAE,EAAEnC,EAAEiB,EAAE,CAAC,EAAEmB,EAAE,EAAEpC,EAAEiB,EAAE,CAAC,EAAEwE,EAAE,EAAEzF,EAAEiB,EAAE,CAAC,EAAE,EAAE,EAAEjB,EAAEiB,EAAE,CAAC,EAAE2B,EAAE,EAAE,CAACC,EAAEC,EAAEC,EAAEC,CAAC,EAAE5I,GAAG,KAAK,OAAO,KAAK,EAAE8F,EAAE0C,CAAC,EAAE,CAAC8C,EAAExC,EAAEC,EAAEC,CAAC,EAAE,KAAK,QAAQhJ,GAAG,KAAK,KAAK,KAAK,EAAE8F,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,EAAEW,EAAE,KAAK,UAAUA,EAAEgC,EAAE6C,EAAE,KAAK,OAAO,EAAE,EAAE,KAAK,UAAU,EAAE5C,EAAEI,EAAE,KAAK,OAAO,EAAEnC,EAAE,KAAK,UAAUA,EAAEgC,EAAEI,EAAE,KAAK,OAAO,EAAEnC,EAAE,KAAK,UAAUA,EAAEgC,EAAEI,EAAE,KAAK,OAAO,EAAE,GAAG,CAACC,EAAEC,EAAEC,EAAEC,CAAC,EAAEpJ,GAAG,KAAK,gBAAgB,KAAK,EAAE8F,EAAE0C,CAAC,EAAET,EAAE,KAAK,cAAcA,EAAEkB,CAAC,EAAEjB,EAAE,KAAK,cAAcA,EAAEkB,CAAC,EAAEmC,EAAE,KAAK,cAAcA,EAAElC,CAAC,EAAE,EAAE,KAAK,cAAc,EAAEC,CAAC,EAAE,IAAI2C,EAAE,KAAK,oBAAoB,MAAM,EAAEtF,EAAEsB,CAAC,CAAC,EAAEyD,EAAE,KAAK,oBAAoB,MAAM,EAAE,EAAExD,CAAC,CAAC,EAAEgE,EAAE,EAAEvR,EAAE+Q,EAAE3F,CAAC,EAAEpL,EAAEsR,EAAE,KAAK,WAAW,MAAM,EAAEpF,EAAE0E,CAAC,CAAC,CAAC,CAAC,EAAEY,EAAGxR,EAAE,KAAK,oBAAoB,MAAM,EAAEmM,EAAE,CAAC,CAAC,EAAE,KAAK,WAAW,MAAMoF,CAAC,CAAC,EAAE,MAAM,CAACC,EAAGA,EAAGD,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIrH,EAAE,MAAM,UAAU,EAAE,CAAC,MAAMV,CAAC,EAAEU,EAAE,EAAE8lD,GAAG9lD,EAAE,CAAC,OAAO,CAAC,EAAEP,EAAE,CAAC,QAAQ,KAAK,QAAQ,WAAW,KAAK,WAAW,QAAQ,KAAK,QAAQ,WAAW,KAAK,WAAW,aAAa,KAAK,aAAa,QAAQ,KAAK,OAAO,EAAE,OAAO,OAAO,OAAO,OAAO,OAAO,CAAC,EAAE,CAAC,EAAEA,CAAC,CAAC,CAAC,UAAUO,EAAEV,EAAE,EAAEG,EAAE,CAAC,IAAIwB,EAAEvS,GAAGsR,EAAEV,EAAE,KAAK,QAAQG,GAAG,QAAQ,KAAK,aAAa,gBAAgB,OAAO,OAAO,KAAK,YAAY,EAAE,OAAO,EAAE8xC,GAAGtwC,EAAE,EAAE,KAAK,UAAU,EAAEA,CAAC,CAAC,cAAcjB,EAAEV,EAAE,CAAC,OAAO5Q,GAAGsR,EAAEV,EAAE,EAAE,OAAO,KAAK,aAAa,gBAAgB,OAAO,MAAM,CAAC,CAAC,EAAE0mD,GAAG,UAAU,iBAAiBrsD,GAAE,cAAcqsD,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,YAAY/lD,EAAE,CAAC,IAAIV,EAAE,IAAI0mD,GAAGhmD,CAAC,EAAE,MAAM,OAAO,OAAO,OAAO,OAAO,CAAC,EAAEA,CAAC,EAAE,CAAC,KAAKV,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,WAAWU,EAAEV,EAAE,CAAC,OAAO,IAAIU,EAAEV,CAAC,CAAC,CAAC,EAAE2mD,GAAG,UAAU,aAAatsD,GAAE,cAAcssD,EAAE,EAAE,IAAIC,GAAG,cAAchS,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,KAAK,KAAK,IAAI,KAAK,IAAIA,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,WAAWA,EAAE,WAAW,KAAK,KAAKA,EAAE,KAAK,KAAK,gBAAgB,EAAE,CAAC,cAAcA,EAAE,CAAC,GAAG,KAAK,YAAY,KAAK,OAAO,KAAK,WAAW,IAAIV,EAAEU,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQP,EAAE,EAAEA,EAAE,KAAK,WAAW,OAAO,EAAEA,EAAE,EAAE,KAAK,KAAK,WAAWA,CAAC,GAAG,KAAKH,EAAEG,CAAC,EAAE,KAAK,WAAWA,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAKO,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,eAAemD,EAAEV,CAAC,EAAE,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAE,GAAG,EAAE,KAAK,MAAM,KAAK,KAAK,EAAE,CAAC,IAAIP,EAAEH,EAAE,UAAU,KAAK,GAAGA,EAAE,SAAS2B,EAAE,KAAK,cAAc,CAAC,EAAE,OAAO2wC,GAAG,IAAIF,GAAG,EAAE,KAAK,KAAKzwC,EAAE,KAAK,IAAI,EAAE,IAAI,EAAExB,CAAC,CAAC,CAAC,OAAOO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,KAAK,KAAK,KAAK,WAAW,KAAK,WAAW,KAAK,KAAK,IAAI,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,SAAS,CAAC,OAAO,MAAM,QAAQ,CAAC,CAAC,EAAEkmD,GAAG,UAAU,UAAUvsD,GAAE,cAAcusD,EAAE,EAAE,IAAIC,GAAG,cAAcD,EAAE,CAAC,YAAYlmD,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAcA,EAAE,CAAC,IAAIV,EAAEU,EAAE,MAAM,MAAM,CAACV,EAAE,CAAC,EAAE,EAAEA,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE6mD,GAAG,UAAU,mBAAmBxsD,GAAE,cAAcwsD,EAAE,EAAE,IAAIC,GAAG,cAAclS,EAAE,CAAC,YAAYl0C,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,WAAW,KAAK,KAAK,QAAQ,GAAG,KAAK,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,2BAA2B,eAAe,KAAK,yBAAyB,QAAQA,EAAE,iBAAiB,MAAMA,EAAE,YAAY,MAAMA,EAAE,UAAU,KAAK,CAAC,IAAIV,EAAE,KAAKU,EAAE,WAAW,OAAOV,EAAEU,EAAE,WAAW,KAAK,gBAAgB,CAACV,EAAEU,EAAE,QAAQ,CAAC,CAAC,KAAK,MAAMA,EAAE,MAAMquC,GAAG,KAAK,MAAM,OAAO,EAAE,KAAK,WAAW0U,GAAG/iD,EAAE,UAAU,EAAEA,EAAE,SAAS,OAAO,KAAK,QAAQA,EAAE,SAAS,KAAK,kBAAkBqzC,GAAGrzC,EAAE,mBAAmB,KAAK,0BAA0B,EAAE,KAAK,gBAAgBqzC,GAAGrzC,EAAE,iBAAiB,KAAK,wBAAwB,EAAE,KAAK,iBAAiBk2C,GAAGl2C,EAAE,gBAAgB,EAAE,KAAK,eAAek2C,GAAGl2C,EAAE,cAAc,EAAE,KAAK,kBAAkBwjD,GAAGxjD,EAAE,iBAAiB,EAAE,KAAK,gBAAgBwjD,GAAGxjD,EAAE,eAAe,EAAE,KAAK,oBAAoBwjD,GAAGxjD,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,GAAG,KAAK,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAMA,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAEU,EAAEA,EAAE,OAAO,CAAC,EAAE,KAAK,QAAQ,OAAO,KAAK,OAAO,KAAK,UAAU,SAAS,CAACV,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,kBAAkB,KAAK,kBAAkB,GAAG,KAAK,gBAAgB,EAAE,KAAK,UAAU,KAAK,KAAK,KAAK,UAAU,OAAO,CAAC,KAAK,KAAK,EAAE,KAAK,KAAK,gBAAgB,KAAK,gBAAgB,GAAG,KAAK,cAAc,IAAI,KAAK,UAAU,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,EAAEA,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,mBAAmBU,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAEU,EAAE,MAAM,EAAE,OAAOV,EAAEA,EAAE,OAAO,CAAC,EAAE,KAAK,MAAMA,CAAC,CAAC,KAAKU,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,eAAemD,EAAEV,CAAC,EAAE,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAEP,EAAE+uC,GAAG,KAAK,WAAW,aAAa,CAAC,EAAEvtC,EAAE,OAAOxB,GAAG,KAAKwB,EAAEkwC,GAAG,EAAE,KAAK,OAAO,KAAK,EAAE1xC,EAAE,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,GAAGwB,EAAEkwC,GAAG,EAAE,KAAK,OAAO,KAAK,CAAC,EAAE,KAAK,MAAM,OAAOlwC,EAAEswC,GAAGtwC,EAAE,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,YAAY,OAAOA,EAAE,KAAK,WAAW,MAAMA,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIjB,EAAE,CAAC,MAAM,KAAK,MAAM,WAAW6iD,GAAG,KAAK,UAAU,EAAE,QAAQ,KAAK,QAAQ,kBAAkBzP,GAAG,KAAK,iBAAiB,EAAE,gBAAgBA,GAAG,KAAK,eAAe,EAAE,kBAAkBkQ,GAAG,KAAK,iBAAiB,EAAE,gBAAgBA,GAAG,KAAK,eAAe,EAAE,oBAAoBA,GAAG,KAAK,mBAAmB,EAAE,iBAAiBtN,GAAG,KAAK,gBAAgB,EAAE,eAAeA,GAAG,KAAK,cAAc,CAAC,EAAE12C,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEomD,GAAG,UAAU,QAAQzsD,GAAE,cAAcysD,EAAE,EAAE,IAAIC,GAAG,cAAcnS,EAAE,CAAC,YAAYl0C,EAAE,CAACA,EAAEA,GAAG,CAAC,EAAE,MAAMA,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,WAAWA,EAAE,UAAU,CAAC,mBAAmBA,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,QAAQV,KAAKU,EAAE,MAAM,CAAC,EAAE,GAAGV,GAAG,KAAK,MAAM,IAAI0tC,EAAE,iEAAiEhtC,EAAE,MAAM,CAAC,CAAC,iHAAiH,EAAE,MAAM,CAACA,EAAE,CAAC,EAAEgwC,GAAGhwC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,eAAemD,EAAEV,CAAC,EAAE,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAE,GAAG,KAAK,aAAa,iBAAiB,EAAE,KAAK,EAAE,CAAC,IAAIP,EAAE,CAAC,CAAC,EAAE,QAAQwB,EAAE,EAAEA,EAAE,EAAE,KAAK,EAAEA,EAAExB,EAAE,KAAKwB,CAAC,EAAExB,EAAE,KAAK,CAAC,EAAE,EAAEvC,GAAG,EAAEuC,CAAC,CAAC,CAAC,OAAOmxC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI5wC,EAAE,CAAC,EAAE,KAAK,YAAY,OAAOA,EAAE,WAAW,KAAK,YAAY,IAAIV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEqmD,GAAG,UAAU,UAAU1sD,GAAE,cAAc0sD,EAAE,EAAE,IAAIC,GAAG,cAAcpS,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,gBAAgB,GAAG,KAAK,WAAW+iD,GAAG/iD,EAAE,UAAU,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,eAAemD,EAAEV,CAAC,EAAE,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAE,OAAO,KAAK,WAAW,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,WAAW6iD,GAAG,KAAK,UAAU,CAAC,EAAEvjD,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEsmD,GAAG,UAAU,aAAa3sD,GAAE,cAAc2sD,EAAE,EAAE,IAAIC,GAAG,cAAcrS,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,EAAEA,EAAE,EAAE,KAAK,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmBA,EAAE,CAAC,MAAM,CAACA,EAAE,CAAC,EAAE,KAAK,EAAEA,EAAE,CAAC,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,KAAKmD,EAAEwzC,GAAGxzC,CAAC,EAAEywC,GAAGzwC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,EAAE,KAAK,CAAC,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEumD,GAAG,UAAU,eAAe5sD,GAAE,cAAc4sD,EAAE,EAAE,IAAIC,GAAG,cAActS,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,YAAYA,EAAE,YAAY,QAAQV,EAAE,EAAEA,EAAE,KAAK,YAAY,OAAO,EAAEA,EAAE,KAAK,UAAU,KAAK,YAAYA,CAAC,CAAC,IAAI,KAAK,YAAYA,CAAC,EAAE,KAAK,CAAC,UAAUU,EAAE,CAAC,OAAOA,EAAE,GAAGA,GAAG,IAAI,CAAC,oBAAoBA,EAAEV,EAAE,CAAC,IAAI,EAAE,6CAA6CG,EAAEH,EAAE,MAAM,EAAE2B,EAAE,EAAEC,EAAE,KAAK,QAAQE,EAAE,EAAEA,EAAE3B,EAAE,OAAO,EAAE2B,EAAE,CAAC,IAAI,EAAE3B,EAAE2B,CAAC,EAAE,GAAG,KAAK,UAAU,CAAC,EAAE,GAAGF,IAAI,KAAKA,EAAEE,MAAO,OAAM,IAAI4rC,EAAE,0CAA0C,OAAO/rC,GAAG,CAAC,CAAC,IAAIE,EAAE6uC,GAAGhwC,CAAC,EAAE,GAAGkB,IAAI,KAAK,CAAC,GAAGD,IAAI,GAAGE,EAAEF,IAAI,EAAE,MAAM,IAAI+rC,EAAE,CAAC,EAAEvtC,EAAEyB,CAAC,EAAEC,EAAEF,CAAC,SAASE,IAAIF,EAAE,MAAM,IAAI+rC,EAAE,CAAC,EAAE,OAAOvtC,CAAC,CAAC,mBAAmBO,EAAE,CAAC,IAAIV,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAEU,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,UAAUA,EAAE,CAAC,CAAC,EAAE,CAACV,EAAE,GAAG,KAAK,CAAC,OAAOA,EAAEU,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,KAAK,WAAW,EAAEA,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,KAAK,oBAAoBA,EAAE,MAAM,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,eAAemD,EAAEV,CAAC,EAAE,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAEP,EAAE,EAAE,MAAMwB,EAAExB,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,KAAK,oBAAoBA,EAAE,MAAM,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,OAAO9G,EAAE,EAAEsI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIjB,EAAE,CAAC,YAAY,KAAK,WAAW,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEwmD,GAAG,UAAU,UAAU7sD,GAAE,cAAc6sD,EAAE,EAAE,IAAIC,GAAG,cAAcvS,EAAE,CAAC,YAAYl0C,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAEA,EAAE,MAAM,KAAK,MAAM,IAAI,MAAM,iFAAiF,EAAE,GAAG,CAAC,MAAM,QAAQA,EAAE,IAAI,EAAE,MAAM,IAAI,MAAM,sEAAsEA,EAAE,IAAI,WAAW,EAAE,IAAIV,EAAE6wC,GAAG,EAAEnwC,EAAE,KAAK,OAAO,CAAC,EAAE,GAAG,CAACrC,EAAE,YAAYqC,EAAE,KAAK,MAAM,EAAE,KAAK,EAAEV,CAAC,EAAE,MAAM,IAAI,MAAM,+BAA+B,KAAK,UAAUU,EAAE,IAAI,EAAE,4DAA4D,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAK,mBAAmB,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,EAAE,KAAK,UAAU,CAAC,IAAI/b,GAAG,CAAC,KAAK,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB+b,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAEU,EAAE,MAAM,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAEP,IAAI,CAACH,EAAEG,EAAE,CAAC,EAAEO,EAAE,CAAC,CAAC,CAAC,EAAEV,CAAC,CAAC,KAAKU,EAAEV,EAAE,CAAC,OAAOpC,GAAGs2C,GAAGxzC,CAAC,EAAE,KAAK,kBAAkB,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,KAAK,KAAK,IAAI,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEymD,GAAG,UAAU,UAAU9sD,GAAE,cAAc8sD,EAAE,EAAE,IAAIC,GAAG,cAAcxS,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,GAAG,KAAK,CAAC,EAAEA,CAAC,EAAE,KAAK,gBAAgB,GAAGA,GAAG,KAAK,KAAK,UAAUA,EAAE,WAAW,KAAK,EAAEA,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,mBAAmBA,EAAE,CAAC,OAAOA,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,MAAM,UAAU,EAAEV,EAAE,CAAC,UAAU,KAAK,SAAS,EAAE,OAAO,OAAO,OAAOA,EAAEU,CAAC,EAAEV,CAAC,CAAC,YAAYU,EAAEV,EAAE,CAAC,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAE,OAAO7T,GAAGiK,GAAG,EAAE,KAAK,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK4J,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,eAAemD,EAAEV,CAAC,EAAE,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAEkB,EAAE/U,GAAGiK,GAAG,EAAE,KAAK,SAAS,EAAE,GAAG,EAAE,EAAE,OAAON,EAAE,EAAEhI,GAAEoT,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEwlD,GAAG,UAAU,UAAU/sD,GAAE,cAAc+sD,EAAE,EAAE,IAAIC,GAAG,cAAczS,EAAE,CAAC,YAAYl0C,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,WAAW,KAAK,KAAK,+BAA+B,gBAAgBA,EAAE,iBAAiB,MAAMA,EAAE,YAAY,KAAK,CAAC,IAAIV,EAAE,KAAKU,EAAE,WAAW,OAAOV,EAAEU,EAAE,WAAWA,EAAE,aAAa,KAAK,KAAK,gBAAgB,CAACV,EAAE,IAAI,EAAE,KAAK,gBAAgB,CAACA,CAAC,EAAE,OAAOkuC,GAAGxtC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,SAASA,EAAE,SAASquC,GAAG,KAAK,SAAS,UAAU,EAAE,KAAK,UAAUruC,EAAE,UAAUquC,GAAG,KAAK,UAAU,WAAW,EAAE,KAAK,sBAAsBgF,GAAGrzC,EAAE,uBAAuB,KAAK,8BAA8B,EAAE,KAAK,sBAAsBwjD,GAAGxjD,EAAE,qBAAqB,EAAE,KAAK,oBAAoBwjD,GAAGxjD,EAAE,mBAAmB,EAAE,KAAK,qBAAqBk2C,GAAGl2C,EAAE,oBAAoB,EAAE,KAAK,SAASA,EAAE,SAAS,KAAK,gBAAgBA,EAAE,SAAS,KAAK,YAAYA,EAAE,WAAW,CAAC,MAAMA,EAAE,CAAC,KAAK,WAAW,KAAK,UAAU,aAAa,CAAC,KAAK,SAAS,KAAK,SAAS,EAAE,KAAK,MAAM,KAAK,sBAAsB,KAAK,sBAAsB,GAAG,KAAK,oBAAoB,EAAE,KAAK,MAAM,EAAE,CAAC,6BAA6BA,EAAE,CAAC,CAAC,YAAYA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,KAAK,UAAUmD,EAAEwzC,GAAGxzC,CAAC,EAAE5J,GAAG4J,EAAEpB,GAAGoB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,mBAAmBA,EAAE,CAAC,GAAGA,EAAEyzC,GAAGzzC,CAAC,EAAE,KAAK,aAAa,KAAK,MAAM,CAAC,GAAGA,EAAE,KAAK,SAAS,EAAE,IAAIV,EAAEkuC,GAAG,KAAK,WAAW,EAAE,GAAGluC,EAAE,SAASU,EAAE,OAAO,EAAE,MAAM,IAAIgtC,EAAE,oBAAoB,KAAK,WAAW,wCAAwChtC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQP,EAAE,EAAEA,EAAEH,EAAE,OAAO,EAAEG,EAAE,CAAC,IAAIwB,EAAE3B,EAAEG,CAAC,EAAEyB,EAAElB,EAAEP,EAAE,CAAC,EAAE,GAAGwB,GAAG,MAAMC,GAAG,MAAMD,IAAIC,EAAE,MAAM,IAAI8rC,EAAE,oBAAoB,KAAK,WAAW,wCAAwChtC,CAAC,EAAE,EAAEiB,GAAG,OAAO3B,EAAE,CAAC,EAAE4B,GAAG,GAAG,CAAC,CAAC,MAAM,CAAClB,EAAE,CAAC,EAAE,GAAGV,EAAE,KAAK,SAAS,CAAC,CAAC,KAAKU,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,eAAemD,EAAEV,CAAC,EAAE,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAE,EAAE,QAAQ,UAAU,EAAEuwC,GAAG,EAAE,OAAO,GAAG,IAAI9wC,EAAE4xC,GAAG,KAAK,WAAW,KAAK,EAAE14C,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAOA,EAAE8G,EAAEg0C,GAAG,KAAK,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIzzC,EAAE,CAAC,SAAS,KAAK,SAAS,UAAU,KAAK,UAAU,sBAAsBozC,GAAG,KAAK,qBAAqB,EAAE,sBAAsBkQ,GAAG,KAAK,qBAAqB,EAAE,oBAAoBA,GAAG,KAAK,mBAAmB,EAAE,qBAAqBtN,GAAG,KAAK,oBAAoB,EAAE,SAAS,KAAK,SAAS,YAAY,KAAK,WAAW,EAAE12C,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAE2mD,GAAG,UAAU,YAAYhtD,GAAE,cAAcgtD,EAAE,EAAE,IAAIC,GAAG,cAAc1S,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,GAAG,CAAC,CAAC,EAAE,KAAK,gBAAgB,EAAE,CAAC,cAAcA,EAAE,CAAC,MAAM,IAAIitC,EAAE,CAAC,gCAAgCjtC,EAAEV,EAAE,CAAC,GAAGU,GAAG,MAAMV,GAAG,KAAK,OAAO,KAAK,GAAGU,EAAE,OAAOV,EAAE,OAAO,OAAO,KAAK,gCAAgCA,EAAEU,CAAC,EAAE,GAAGV,EAAE,SAAS,EAAE,OAAOU,EAAE,IAAI,EAAEA,EAAE,MAAM,EAAEA,EAAE,OAAOV,EAAE,MAAM,EAAE,QAAQG,EAAE,EAAEA,EAAEH,EAAE,OAAO,EAAEG,EAAE,CAAC,IAAIwB,EAAEjB,EAAEA,EAAE,OAAOV,EAAE,OAAOG,CAAC,EAAEyB,EAAE5B,EAAEG,CAAC,EAAE,GAAGwB,GAAG,MAAMC,GAAG,MAAMD,EAAE,GAAGC,EAAE,EAAE,EAAE,KAAK,IAAI,UAAUD,IAAI,EAAE,EAAE,KAAKC,CAAC,UAAUA,IAAI,EAAE,EAAE,KAAKD,CAAC,MAAM,CAAC,GAAGA,IAAIC,EAAE,MAAM,IAAI8rC,EAAE,wDAAwD,KAAK,UAAUhtC,CAAC,EAAE,IAAI,KAAK,UAAUV,CAAC,CAAC,EAAE,EAAE,KAAK2B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAMjB,EAAE,CAAC,GAAG,MAAM,QAAQA,CAAC,GAAG,CAAC,MAAM,QAAQA,EAAE,CAAC,CAAC,IAAIA,EAAE,CAACyzC,GAAGzzC,CAAC,CAAC,GAAGA,EAAEA,EAAEA,EAAE,OAAO,EAAE,MAAM,IAAIgtC,EAAE,wEAAwEhtC,EAAE,MAAM,YAAY,EAAE,IAAIV,EAAE,CAAC,EAAE,QAAQ2B,KAAKjB,EAAEiB,GAAG,MAAMA,EAAE,CAAC,IAAI,MAAM3B,EAAE,KAAK2B,EAAE,CAAC,CAAC,EAAE,GAAG3B,EAAE2uC,GAAG3uC,CAAC,EAAEA,EAAE,OAAO,EAAE,MAAM,IAAI0tC,EAAE,8EAA8E,KAAK,UAAUhtC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAEA,EAAE,CAAC,GAAG,KAAK,KAAKA,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQiB,EAAE,EAAEA,EAAEjB,EAAE,OAAO,EAAEiB,EAAE,CAAC,IAAIC,EAAElB,EAAEiB,CAAC,GAAG,KAAK,KAAKjB,EAAEiB,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,gCAAgC,EAAEC,CAAC,CAAC,CAAC,IAAIzB,EAAEO,EAAE,IAAIiB,GAAGA,EAAE,MAAM,EAAEjB,EAAE,QAAQ,IAAI,IAAI,IAAIiuC,GAAGxuC,CAAC,EAAE,SAAS,EAAE,KAAK,gBAAgB,GAAG,KAAK,gBAAgB,EAAE,CAAC,KAAKO,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,GAAGmD,EAAEA,EAAE,KAAK,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAEP,EAAEO,EAAE,IAAIiB,GAAGA,EAAE,IAAI,EAAE,GAAGxB,EAAE,QAAQ,IAAI,IAAI,GAAG,CAAC,IAAIwB,EAAEivC,GAAGzwC,CAAC,EAAE,QAAQyB,KAAKlB,EAAE,CAAC,IAAImB,EAAED,EAAE,KAAK,QAAQE,EAAE,EAAEA,EAAEH,EAAEE,EAAE,EAAEC,EAAEF,EAAEsvC,GAAGtvC,EAAE,CAAC,EAAE,EAAE,KAAKA,CAAC,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC,KAAK,CAAC,IAAID,EAAE,GAAG,QAAQG,KAAKpB,EAAE,CAAC,IAAI,EAAEoB,EAAE,KAAK,GAAG,GAAG,KAAK,CAAC,IAAIU,EAAEV,EAAE,MAAM,EAAEU,EAAE,CAAC,EAAEE,EAAEF,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAEG,EAAEtJ,EAAEyI,EAAE,CAAC,CAAC,EAAE,OAAO4uC,GAAGluC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAEG,EAAE/E,GAAG+E,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEA,EAAEtJ,EAAEsJ,EAAED,CAAC,EAAE,EAAE,KAAKC,CAAC,EAAEhB,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,IAAIa,EAAEquC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,KAAKjzC,GAAGkE,EAAEU,CAAC,CAAC,EAAEb,EAAE,EAAE,MAAM,EAAE,KAAKG,CAAC,CAAC,CAAC,IAAIF,EAAE,KAAK,cAAc,CAAC,EAAEC,EAAED,EAAE,KAAK,GAAGD,GAAG,GAAGE,GAAG,KAAK,CAAC,IAAIC,EAAEF,EAAE,MAAM,EAAEE,EAAE,OAAOU,EAAEV,EAAE,EAAE,CAAC,EAAE,EAAE,CAACU,CAAC,EAAE,OAAOV,EAAE,MAAM,EAAEA,EAAE,OAAO,CAAC,CAAC,EAAEF,EAAEvI,EAAEuE,GAAGvE,EAAEuI,EAAE,CAAC,GAAGY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,SAASX,EAAE,EAAE,CAAC,IAAIC,EAAE,CAACD,EAAE,CAAC,EAAE,OAAOgvC,GAAG,EAAEhvC,EAAE,CAAC,CAAC,EAAED,EAAEhE,GAAGgE,EAAEE,CAAC,CAAC,EAAE,OAAOF,CAAC,CAAC,KAAM,QAAO,KAAK,cAAclB,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmBA,EAAE,CAACA,EAAEA,EAAE,IAAIV,EAAEU,EAAE,CAAC,GAAG,KAAKV,EAAE,KAAKA,EAAEU,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQP,EAAE,EAAEA,EAAEO,EAAE,OAAO,EAAEP,EAAE,CAAC,IAAIwB,EAAEjB,EAAEP,CAAC,GAAG,KAAK,KAAKO,EAAEP,CAAC,EAAE,MAAM,CAAC,EAAEH,EAAE,KAAK,gCAAgCA,EAAE2B,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQxB,KAAKO,EAAEP,GAAG,MAAMA,EAAE,CAAC,IAAI,MAAM,EAAE,KAAKA,EAAE,CAAC,CAAC,EAAE,OAAO,EAAEwuC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE3uC,EAAE,EAAE,OAAOA,CAAC,EAAEA,EAAE,CAAC,IAAI,EAAE,OAAOA,CAAC,EAAEA,CAAC,CAAC,YAAYU,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,GAAGyC,GAAG,KAAK,OAAO,KAAK,GAAG,CAAC,MAAM,QAAQA,CAAC,EAAE,MAAM,IAAI0tC,EAAE,2BAA2B,EAAE,GAAG,CAAC,MAAM,QAAQhtC,CAAC,EAAE,MAAM,IAAIgtC,EAAE,6BAA6B,EAAE,GAAG1tC,EAAE,SAASU,EAAE,OAAO,MAAM,IAAIgtC,EAAE,mGAAmGhtC,EAAE,MAAM,OAAOV,EAAE,MAAM,GAAG,EAAE,GAAGA,EAAE,MAAMG,GAAGA,GAAG,IAAI,EAAE,OAAO,KAAKH,EAAEA,EAAE,IAAIG,GAAGA,GAAG,KAAKA,EAAExO,GAAGwO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAEH,EAAE,CAAC,EAAE,QAAQG,EAAE,EAAEA,EAAEH,EAAE,OAAO,EAAE,EAAEG,EAAE,EAAEpL,GAAG,EAAEiL,EAAEG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAEonD,GAAG,cAAcD,EAAE,CAAC,YAAY5mD,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,cAAcA,EAAE,CAAC,OAAOnD,EAAE,IAAI,CAAC,IAAIyC,EAAEU,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAEV,EAAE,EAAEA,EAAEU,EAAE,CAAC,CAAC,EAAE,OAAOV,CAAC,CAAC,CAAC,CAAC,EAAEunD,GAAG,UAAU,MAAMltD,GAAE,cAAcktD,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,YAAY5mD,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,cAAcA,EAAE,CAAC,OAAOnD,EAAE,IAAI,CAAC,IAAIyC,EAAEU,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAEV,EAAExJ,EAAEwJ,EAAEU,EAAE,CAAC,CAAC,EAAE,OAAOV,CAAC,CAAC,CAAC,CAAC,EAAEwnD,GAAG,UAAU,WAAWntD,GAAE,cAAcmtD,EAAE,EAAE,IAAIC,GAAG,cAAcH,EAAE,CAAC,YAAY5mD,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,cAAcA,EAAE,CAAC,OAAOnD,EAAE,IAAI,CAAC,IAAIyC,EAAEU,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAEV,EAAE,EAAEA,EAAEU,EAAE,CAAC,CAAC,EAAE,OAAOlK,EAAE,EAAEkK,EAAE,OAAOV,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEynD,GAAG,UAAU,UAAUptD,GAAE,cAAcotD,EAAE,EAAE,IAAIC,GAAG,cAAcJ,EAAE,CAAC,YAAY5mD,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,cAAcA,EAAE,CAAC,OAAOnD,EAAE,IAAI,CAAC,IAAIyC,EAAEU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAEV,EAAErK,GAAGqK,EAAEU,EAAE,CAAC,CAAC,EAAE,OAAOV,CAAC,CAAC,CAAC,CAAC,EAAE0nD,GAAG,UAAU,UAAUrtD,GAAE,cAAcqtD,EAAE,EAAE,IAAIC,GAAG,cAAcL,EAAE,CAAC,YAAY5mD,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,cAAcA,EAAE,CAAC,OAAOnD,EAAE,IAAI,CAAC,IAAIyC,EAAEU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,EAAE,EAAEV,EAAE/J,GAAG+J,EAAEU,EAAE,CAAC,CAAC,EAAE,OAAOV,CAAC,CAAC,CAAC,CAAC,EAAE2nD,GAAG,UAAU,UAAUttD,GAAE,cAAcstD,EAAE,EAAE,IAAIC,GAAG,cAAcN,EAAE,CAAC,YAAY5mD,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,aAAa,GAAGA,GAAG,OAAOA,EAAE,CAAC,GAAG,KAAK,KAAKA,EAAE,MAAM,KAAK,KAAK,aAAaA,EAAE,KAAK,KAAK,gBAAgB,GAAG,KAAK,gBAAgB,EAAE,CAAC,MAAMA,EAAE,CAAC,GAAG,EAAE,MAAM,QAAQA,CAAC,GAAG,MAAM,QAAQA,EAAE,CAAC,CAAC,IAAIA,EAAE,SAAS,EAAE,MAAM,IAAIgtC,EAAE,uEAAuE,EAAEhtC,EAAEA,EAAE,IAAIV,EAAE,GAAG,QAAQG,KAAKO,EAAE,GAAGP,GAAG,KAAK,CAACH,EAAE,GAAG,KAAK,CAAC,GAAGA,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,QAAQG,EAAE,EAAEA,EAAEO,EAAE,OAAO,EAAEP,EAAE,CAAC,IAAIwB,EAAEjB,EAAEP,CAAC,EAAE,MAAM,EAAEwB,EAAE,OAAO,KAAK,KAAK,CAAC,EAAE,IAAIC,EAAE,GAAG,QAAQC,KAAK,EAAE,GAAGxD,EAAE,YAAYwD,EAAEF,CAAC,EAAE,CAACC,EAAE,GAAG,KAAK,CAACA,GAAG,EAAE,KAAKD,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI+rC,EAAE,4GAA4G,KAAK,UAAUhtC,CAAC,CAAC,CAAC,CAAC,cAAcA,EAAE,CAAC,OAAOnD,EAAE,IAAIm0C,GAAGhxC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,mBAAmBA,EAAE,CAAC,GAAG,EAAE,MAAM,QAAQA,CAAC,GAAG,MAAM,QAAQA,EAAE,CAAC,CAAC,GAAG,MAAM,IAAIgtC,EAAE,6DAA6D,EAAE,IAAI1tC,EAAEU,EAAE,EAAEV,EAAE,CAAC,EAAE,MAAM,EAAEG,EAAE,KAAK,KAAK,EAAE,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,QAAQwB,KAAK3B,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAEG,CAAC,GAAG,MAAMwB,EAAExB,CAAC,GAAG,KAAK,CAAC,EAAEA,CAAC,EAAE,KAAK,KAAK,CAAC,EAAEA,CAAC,GAAGwB,EAAExB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,YAAYO,EAAEV,EAAE,CAAC,GAAGA,GAAG,KAAK,OAAO,KAAK,GAAG,CAAC,MAAM,QAAQA,CAAC,EAAE,MAAM,IAAI0tC,EAAE,2CAA2C,EAAE,GAAG,CAAC,MAAM,QAAQhtC,CAAC,EAAE,MAAM,IAAIgtC,EAAE,6CAA6C,EAAE,GAAG1tC,EAAE,SAASU,EAAE,OAAO,MAAM,IAAIgtC,EAAE,mCAAmC1tC,EAAE,MAAM,+BAA+BU,EAAE,MAAM,GAAG,EAAE,OAAOnD,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,GAAGyC,EAAE,QAAQ4B,GAAG,CAAC,GAAGA,GAAG,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,KAAK,IAAIzB,EAAE,CAAC,EAAE,QAAQyB,EAAE,EAAEA,EAAElB,EAAE,OAAO,EAAEkB,EAAE5B,EAAE4B,CAAC,GAAG,KAAKzB,EAAE,KAAK3R,GAAEyI,GAAGyJ,EAAEkB,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE5B,EAAE4B,CAAC,EAAE,KAAKlB,EAAEkB,CAAC,EAAE,KAAKzB,EAAE,KAAKxO,GAAGqO,EAAE4B,CAAC,EAAE,EAAE,CAAC,EAAEzB,EAAE,KAAKH,EAAE4B,CAAC,CAAC,EAAE,IAAID,EAAE9S,GAAGsR,EAAE,KAAK,IAAI,EAAE,OAAOvT,GAAG+U,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIjB,EAAE,CAAC,KAAK,KAAK,IAAI,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEknD,GAAG,UAAU,cAAcvtD,GAAE,cAAcutD,EAAE,EAAE,SAASC,GAAG/nD,EAAE,EAAE,CAAC,KAAKA,EAAE,GAAGA,GAAG,EAAE,OAAOA,CAAC,CAAC,SAASgoD,GAAGhoD,EAAE,EAAEE,EAAE,CAAC,GAAGF,EAAE,MAAM,OAAO,GAAG,EAAE,MAAM,OAAO,EAAE,MAAM,IAAI6tC,GAAG,kEAAkE,EAAE,GAAGtvC,EAAE,OAAOyB,EAAE,MAAM,QAAQ,EAAE,IAAI,uDAAuDA,EAAE,MAAM,MAAM,EAAE,EAAEzB,EAAE,OAAOyB,EAAE,MAAM,QAAQ,EAAE,IAAI,uDAAuD,EAAE,MAAM,MAAM,EAAE,EAAE,OAAOE,GAAG,WAAWA,EAAE,CAACA,EAAEA,CAAC,GAAGF,EAAE,QAAQ,aAAa,EAAE,QAAQ,YAAY,MAAM,IAAI6tC,GAAG,6DAA6D,EAAE,IAAIztC,EAAEJ,EAAE,MAAM,OAAOK,EAAE,EAAE,MAAM,OAAOH,GAAG,OAAOA,EAAE,CAACE,EAAE,EAAEC,EAAE,CAAC,GAAG,IAAI,EAAEH,EAAE,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG2C,EAAEC,EAAE,CAAC,EAAED,EAAEC,EAAE,IAAI2B,EAAE,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAED,EAAE,KAAK,CAAC,EAAE,EAAEzI,EAAE,EAAE,EAAE,MAAM,OAAOyI,CAAC,CAAC,CAAC,SAAS3B,EAAED,EAAE,CAAC,EAAEC,EAAED,EAAE,IAAI4B,EAAE,CAAC,EAAE,QAAQC,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAED,EAAE,KAAK,CAAC,EAAEhC,EAAEzG,EAAEyG,EAAEA,EAAE,MAAM,OAAOgC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,IAAID,EAAE,GAAG/B,EAAE,MAAM,SAAS,GAAG,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE+B,EAAEpF,GAAGjG,EAAEsJ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE+B,EAAEpF,GAAGjG,EAAEoH,GAAGkC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAIgC,EAAE,EAAE,CAAC,IAAIhC,EAAE,MAAM,OAAO,EAAEiC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,OAAO,EAAEF,EAAExM,GAAGyK,EAAE,EAAEgC,EAAEC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAID,EAAE5B,EAAEC,EAAE2B,EAAE5B,EAAEC,EAAE,EAAE2B,EAAE5B,EAAE,EAAE,IAAI6B,EAAE,CAAC,EAAE,QAAQS,EAAEV,EAAEU,EAAEV,EAAE,EAAE,EAAEU,EAAET,EAAE,KAAKS,CAAC,EAAEX,EAAE1F,GAAG0F,EAAEE,CAAC,CAAC,CAAC,OAAOF,EAAE,MAAM,SAAS,IAAIA,EAAElQ,GAAGkQ,EAAE,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,IAAIkmD,GAAG,cAAcT,EAAE,CAAC,YAAY5mD,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,KAAKA,EAAE,KAAK,KAAK,UAAUA,EAAE,WAAW,KAAK,GAAGA,EAAE,UAAU,KAAK,gBAAgB,GAAG,KAAK,gBAAgB,EAAE,CAAC,MAAMA,EAAE,CAACrC,EAAE,OAAO,MAAM,QAAQqC,CAAC,GAAGA,EAAE,SAAS,GAAG,MAAM,QAAQA,EAAE,CAAC,CAAC,GAAG,MAAM,QAAQA,EAAE,CAAC,CAAC,EAAE,IAAI,+DAA+D,EAAE,IAAIV,EAAEU,EAAE,CAAC,EAAE,EAAEA,EAAE,CAAC,EAAE,GAAGV,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI2tC,GAAG,8DAA8D,EAAE,IAAIxtC,EAAE,KAAK,cAAcH,EAAE,CAAC,EAAE,GAAGA,EAAEG,EAAE,CAAC,CAAC,IAAI,EAAEA,EAAE,CAAC,CAAC,EAAE,MAAM,IAAIutC,EAAE,8BAA8B1tC,EAAEG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAEA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAcO,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAE,MAAM,IAAIgtC,EAAE,oEAAoEhtC,EAAE,MAAM,YAAY,EAAE,IAAIV,EAAEU,EAAE,CAAC,EAAE,EAAEA,EAAE,CAAC,EAAEP,EAAE,OAAO,MAAM,QAAQ,KAAK,IAAI,EAAEA,EAAE,KAAK,KAAK,IAAI,CAACwB,EAAEC,IAAIimD,GAAGlmD,EAAEjB,EAAEkB,CAAC,EAAE,MAAM,MAAM,CAAC,EAAEzB,EAAE,CAAC0nD,GAAG,KAAK,KAAK7nD,EAAE,MAAM,MAAM,EAAE6nD,GAAG,KAAK,KAAK,EAAE,MAAM,MAAM,CAAC,EAAE,KAAK,YAAY7nD,EAAEm9C,GAAGn9C,EAAEG,EAAE,CAAC,CAAC,EAAE,EAAEg9C,GAAG,EAAEh9C,EAAE,CAAC,CAAC,GAAG2nD,GAAG9nD,EAAE,EAAEG,CAAC,CAAC,CAAC,cAAcO,EAAEV,EAAE,CAAC,IAAI,EAAE,OAAO,MAAM,QAAQ,KAAK,IAAI,EAAE,EAAE,KAAK,KAAK,EAAE,CAAC6nD,GAAG,KAAK,KAAKnnD,EAAE,MAAM,EAAEmnD,GAAG,KAAK,KAAK7nD,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,mBAAmBU,EAAE,CAACrC,EAAE,OAAO,MAAM,QAAQqC,CAAC,GAAGA,EAAE,SAAS,GAAG,MAAM,QAAQA,EAAE,CAAC,CAAC,GAAG,MAAM,QAAQA,EAAE,CAAC,CAAC,EAAE,IAAI,+DAA+D,EAAE,IAAIV,EAAEU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAEA,EAAE,CAAC,EAAE,MAAM,EAAE,GAAGV,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI2tC,GAAG,8DAA8D,EAAE,IAAIxtC,EAAE,KAAK,cAAcH,EAAE,CAAC,EAAEA,EAAE,OAAOG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAOA,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAIwB,EAAE3B,EAAE,OAAO,CAAC,EAAE,OAAO2B,EAAE,SAAS,GAAGA,EAAE,KAAK,CAAC,EAAEA,CAAC,CAAC,YAAYjB,EAAEV,EAAE,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAIU,EAAE,CAAC,KAAK,KAAK,KAAK,UAAU,KAAK,SAAS,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEqnD,GAAG,UAAU,MAAM1tD,GAAE,cAAc0tD,EAAE,EAAE,IAAIC,GAAG,cAAcpT,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,gBAAgB,GAAG,KAAK,OAAOA,EAAE,MAAM,CAAC,mBAAmBA,EAAE,CAAC,OAAOA,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,MAAM,UAAU,EAAEV,EAAE,CAAC,OAAO,KAAK,MAAM,EAAE,OAAO,OAAO,OAAOA,EAAEU,CAAC,EAAEV,CAAC,CAAC,KAAKU,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,eAAemD,EAAEV,CAAC,EAAE,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAE,OAAO4xC,GAAG,IAAI,EAAEV,GAAG,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE5xC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEgoD,GAAG,UAAU,gBAAgB3tD,GAAE,cAAc2tD,EAAE,EAAE,IAAIC,GAAG,cAAcrT,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,gBAAgB,GAAG,KAAK,KAAKA,EAAE,IAAI,CAAC,mBAAmBA,EAAE,CAAC,OAAOA,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,MAAM,UAAU,EAAEV,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,OAAO,OAAO,OAAOA,EAAEU,CAAC,EAAEV,CAAC,CAAC,KAAKU,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,eAAemD,EAAEV,CAAC,EAAE,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAE,OAAO,KAAK,KAAK,GAAG,KAAK,KAAK,EAAE4xC,GAAG,IAAI,CAAC,IAAI3wC,EAAE,KAAK,KAAK,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,OAAOnL,EAAE,EAAEo7C,GAAG,EAAE,MAAM,EAAEjwC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE3B,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEioD,GAAG,UAAU,kBAAkB5tD,GAAE,cAAc4tD,EAAE,EAAE,IAAIC,GAAG,cAActT,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,gBAAgB,GAAG,KAAK,KAAKA,EAAE,KAAK,KAAK,WAAWA,EAAE,UAAU,CAAC,eAAeA,EAAE,CAAC,OAAO,KAAK,YAAYwzC,GAAGxzC,CAAC,EAAE,KAAK,CAAC,mBAAmBA,EAAE,CAAC,OAAOA,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,MAAM,UAAU,EAAEV,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,OAAO,OAAO,OAAOA,EAAEU,CAAC,EAAEV,CAAC,CAAC,KAAKU,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,eAAemD,CAAC,EAAE,OAAO4xC,GAAG,IAAI,CAAC,IAAI3wC,EAAEuyC,GAAGxzC,CAAC,EAAEoB,EAAE,oBAAoB,mBAAmBC,EAAE7O,GAAGoF,GAAG,CAAC,EAAE,KAAK,IAAI,EAAEyJ,EAAEkvC,GAAGlvC,EAAE,SAAS,EAAE,IAAIS,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,KAAKV,GAAG,KAAK,IAAIW,EAAE,CAACD,EAAEV,EAAE,KAAK,KAAKY,EAAE,EAAElM,EAAEmL,EAAEI,CAAC,EAAEvL,EAAE,EAAEuL,EAAE,EAAE,EAAED,CAAC,CAAC,EAAE,OAAO,EAAEtL,EAAEkM,EAAEF,CAAC,EAAEC,CAAC,CAAC,EAAE,IAAIyxC,GAAGxzC,CAAC,EAAEV,EAAE,UAAU,EAAE,CAAC,CAAC,OAAOU,CAAC,CAAC,CAAC,CAAC,EAAEwnD,GAAG,UAAU,eAAe7tD,GAAE,cAAc6tD,EAAE,EAAE,SAASC,GAAGroD,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,GAAGL,EAAE,OAAO,EAAE,EAAEnS,GAAGmS,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,UAAUL,EAAE,OAAO,EAAE,EAAElS,GAAGkS,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,UAAUL,EAAE,OAAO,EAAE,EAAEjS,GAAGiS,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,MAAO,OAAM,IAAIwtC,GAAG,2DAA2D7tC,EAAE,IAAI,MAAM,EAAE,OAAO,CAAC,CAAC,SAASsoD,GAAGtoD,EAAE,EAAEE,EAAEE,EAAEC,EAAE,KAAK,CAAC,OAAO5C,EAAE,IAAI,CAAC,IAAI,EAAEjH,GAAGwJ,EAAEI,CAAC,EAAE,EAAE,EAAE,KAAK2B,EAAE,EAAE,SAAS,MAAM,CAACsmD,GAAGroD,EAAE,EAAE+B,EAAE7B,EAAE,EAAEG,CAAC,EAAE,EAAE0B,CAAC,CAAC,CAAC,CAAC,CAAC,SAASwmD,GAAGvoD,EAAE,EAAEE,EAAEE,EAAEC,EAAE,KAAK,CAAC,OAAO5C,EAAE,IAAI,CAAC,IAAI,EAAEjH,GAAGwJ,EAAEI,CAAC,EAAE,EAAE,EAAE,KAAK2B,EAAE,EAAE,SAASC,EAAE,CAAC,EAAE,QAAQc,KAAKiuC,GAAG,EAAE/wC,EAAE,IAAI,EAAEI,EAAE,QAAQ0C,CAAC,IAAI,GAAGd,EAAE,KAAK,CAAC,EAAEA,EAAE,KAAKhC,EAAE,MAAM8C,CAAC,CAAC,EAAE,IAAIb,EAAE1I,EAAE,EAAEyI,CAAC,EAAEU,EAAEnJ,EAAEwI,EAAEC,CAAC,EAAEW,EAAE,GAAG,KAAK,KAAKpJ,EAAE,EAAEyI,CAAC,EAAEY,EAAE1C,GAAG,KAAK,KAAK3G,EAAE2G,EAAE8B,CAAC,EAAE,MAAM,CAACqmD,GAAGroD,EAAEiC,EAAES,EAAEE,EAAED,EAAEtC,CAAC,EAAE,EAAE0B,CAAC,CAAC,CAAC,CAAC,CAAC,SAASymD,GAAGxoD,EAAE,EAAEE,EAAEE,EAAEC,EAAE,KAAK,CAAC,OAAO9B,EAAE,YAAY6B,EAAE,MAAM,EAAE,KAAK,EAAE2wC,GAAG,EAAE/wC,EAAE,KAAK,CAAC,CAAC,EAAEsoD,GAAGtoD,EAAE,EAAEE,EAAEE,EAAEC,CAAC,EAAEkoD,GAAGvoD,EAAE,EAAEE,EAAEE,EAAEC,CAAC,CAAC,CAAC,IAAIooD,GAAG,cAAc3T,EAAE,CAAC,YAAYl0C,EAAE,CAACA,GAAG,OAAOA,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,gBAAgB,GAAG,KAAK,KAAKA,EAAE,MAAM,KAAK,GAAGA,EAAE,KAAK,KAAK,SAASA,EAAE,UAAU,KAAK,IAAIA,EAAE,SAAS,KAAK,QAAQA,EAAE,SAAS,KAAK,KAAKA,EAAE,QAAQ,KAAK,OAAOA,EAAE,QAAQ,KAAK,GAAGA,EAAE,OAAO,KAAK,MAAMA,EAAE,OAAO,KAAK,GAAGA,EAAE,MAAM,KAAK,gBAAgBqzC,GAAGrzC,EAAE,iBAAiB,OAAO,EAAE,KAAK,iBAAiBqzC,GAAGrzC,EAAE,kBAAkB,MAAM,EAAE,KAAK,sBAAsBqzC,GAAGrzC,EAAE,uBAAuB,OAAO,EAAE,KAAK,0BAA0BqzC,GAAGrzC,EAAE,2BAA2B,MAAM,EAAE,KAAK,eAAek2C,GAAGl2C,EAAE,cAAc,EAAE,KAAK,gBAAgBk2C,GAAGl2C,EAAE,eAAe,EAAE,KAAK,gBAAgBwjD,GAAGxjD,EAAE,eAAe,EAAE,KAAK,iBAAiBwjD,GAAGxjD,EAAE,gBAAgB,CAAC,CAAC,MAAMA,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,KAAK,KAAKU,EAAE,OAAO,EAAEA,EAAEV,CAAC,EAAE,GAAG,GAAG,KAAK,MAAM,IAAI0tC,EAAE,QAAQ1tC,CAAC,+FAA+F,KAAK,UAAUU,CAAC,CAAC,GAAG,EAAE,KAAK,UAAU,CAAC,IAAI/b,GAAG,CAAC,KAAK+b,EAAE,OAAO,KAAK,CAAC,CAACV,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAIG,EAAE,CAAC,CAAC,EAAE,KAAK,QAAQ,KAAK,MAAM,KAAK,UAAU,QAAQA,EAAE,KAAK,KAAK,iBAAiB,KAAK,iBAAiB,GAAG,KAAK,eAAe,GAAG,KAAK,SAAS,KAAK,KAAK,KAAK,UAAU,OAAOA,EAAE,KAAK,KAAK,gBAAgB,KAAK,gBAAgB,GAAG,KAAK,cAAc,GAAG,KAAK,WAAW,KAAK,UAAU,cAAcA,EAAE,KAAK,KAAK,sBAAsB,KAAK,EAAE,EAAE,KAAK,eAAe,KAAK,UAAU,kBAAkBA,EAAE,KAAK,KAAK,0BAA0B,KAAK,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC,KAAKO,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAEyC,EAAE,UAAU,KAAK,GAAGA,EAAE,SAASG,EAAE+zC,GAAGxzC,CAAC,EAAEiB,EAAExB,EAAE,MAAMyB,EAAED,EAAE,OAAOE,EAAEgvC,GAAG,EAAEjvC,CAAC,EAAEE,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,KAAK,KAAKF,EAAEC,EAAE,OAAOC,EAAE,CAAC,EAAE,IAAI,EAAEgsC,GAAG,EAAElsC,CAAC,EAAE,EAAEE,CAAC,EAAEH,EAAEG,CAAC,EAAE,IAAIU,EAAEX,EAAE,MAAM,EAAEW,EAAE,KAAK,EAAE,IAAI,EAAE,CAACnE,EAAE,YAAYmE,EAAEquC,GAAG,EAAEjvC,CAAC,EAAE,MAAM,EAAEA,EAAE,CAAC,CAAC,EAAEc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAIkC,EAAEvL,EAAE,KAAK,WAAW,KAAK,EAAE,CAAC,EAAEkL,EAAElL,EAAE,KAAK,eAAe,KAAK,EAAE,CAAC,EAAEmL,EAAE,KAAK,OAAOnL,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,EAAE,KAAKoL,EAAE,KAAK,MAAMpL,EAAE,KAAK,MAAM,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO8uD,GAAGhoD,EAAEyE,EAAEL,EAAEC,EAAEC,EAAE,KAAK,OAAO,CAAC,KAAM,QAAO0jD,GAAGhoD,EAAE,KAAK,WAAW,KAAK,EAAE,KAAK,eAAe,KAAK,EAAE,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,OAAO,KAAK,KAAK,KAAK,MAAM,KAAK,EAAE,KAAK,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,OAAOuC,EAAE,EAAE,GAAG,CAACC,EAAEC,EAAEkB,CAAC,EAAEwkD,GAAGnoD,EAAE,KAAK,MAAM,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE0B,EAAE,KAAK,OAAO,EAAEkC,EAAE,CAACa,EAAEL,EAAEC,IAAI,CAACjH,EAAE,IAAI,CAAC,IAAIkH,EAAE,EAAED,EAAEE,EAAEE,EAAE,KAAK,EAAED,EAAEnO,EAAEgG,GAAGkI,EAAEH,CAAC,EAAEE,CAAC,EAAEG,EAAE,MAAMpI,GAAGkI,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAYZ,EAAE,KAAK,WAAWnB,EAAE,KAAK,QAAQ,EAAEmB,EAAE,KAAK,eAAeD,EAAE,KAAK,QAAQ,EAAMnB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIjC,EAAE,CAAC,KAAK,KAAK,KAAK,SAAS,KAAK,SAAS,QAAQ,KAAK,QAAQ,OAAO,KAAK,OAAO,MAAM,KAAK,MAAM,gBAAgBozC,GAAG,KAAK,eAAe,EAAE,iBAAiBA,GAAG,KAAK,gBAAgB,EAAE,sBAAsBA,GAAG,KAAK,qBAAqB,EAAE,0BAA0BA,GAAG,KAAK,yBAAyB,EAAE,gBAAgBkQ,GAAG,KAAK,eAAe,EAAE,iBAAiBA,GAAG,KAAK,gBAAgB,EAAE,eAAetN,GAAG,KAAK,cAAc,EAAE,gBAAgBA,GAAG,KAAK,eAAe,CAAC,EAAE12C,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAE6nD,GAAG,UAAU,qBAAqBluD,GAAE,cAAckuD,EAAE,EAAE,IAAIC,GAAG,cAAc5T,EAAE,CAAC,YAAYl0C,EAAE,CAAC,GAAGA,GAAG,OAAOA,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,KAAKA,EAAE,MAAM,KAAK,GAAGA,EAAE,KAAK,OAAO,KAAK,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,KAAK,IAAI,EAAE,MAAM,IAAI,MAAM,gDAAgD,KAAK,IAAI,EAAE,UAAU,MAAM,QAAQ,KAAK,IAAI,GAAG,QAAQV,KAAK,KAAK,KAAK,GAAG,CAAC,OAAO,UAAUA,CAAC,EAAE,MAAM,IAAI,MAAM,0DAA0D,KAAK,UAAU,KAAK,IAAI,CAAC,EAAE,MAAO,OAAM,IAAI,MAAM,wEAAwE,KAAK,UAAU,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,QAAQU,EAAE,SAAS,KAAK,KAAKA,EAAE,QAAQ,KAAK,OAAOA,EAAE,QAAQ,KAAK,GAAGA,EAAE,OAAO,KAAK,MAAMA,EAAE,OAAO,KAAK,GAAGA,EAAE,MAAM,KAAK,gBAAgBqzC,GAAGrzC,EAAE,iBAAiB,OAAO,EAAE,KAAK,iBAAiBqzC,GAAGrzC,EAAE,kBAAkB,MAAM,EAAE,KAAK,gBAAgBwjD,GAAGxjD,EAAE,eAAe,EAAE,KAAK,iBAAiBwjD,GAAGxjD,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,CAAC,MAAMA,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAEU,EAAE,OAAO,OAAO,KAAK,MAAM,WAAW,KAAK,KAAK,CAAC,KAAK,IAAI,GAAG,QAAQiB,EAAE,EAAEA,EAAE,KAAK,KAAK,OAAO,EAAEA,EAAE,KAAK,KAAKA,CAAC,EAAE,IAAI,KAAK,KAAKA,CAAC,GAAG3B,GAAG,QAAQ2B,KAAK,KAAK,KAAK,GAAGA,EAAE,GAAGA,GAAG3B,EAAE,MAAM,IAAI,MAAM,iBAAiB2B,CAAC,EAAE,EAAE,GAAG,KAAK,KAAK,SAASgtC,GAAG,KAAK,IAAI,EAAE,OAAO,MAAM,IAAI,MAAM,4BAA4B,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,KAAK,IAAIhtC,GAAGjB,EAAEiB,CAAC,CAAC,EAAExB,EAAE,GAAG,KAAK,MAAM,KAAK,MAAM,KAAK,UAAU,QAAQ,EAAE,UAAU,KAAK,iBAAiB,KAAK,iBAAiBA,CAAC,EAAE,KAAK,MAAM,KAAK,KAAK,OAAO,KAAK,KAAK,KAAK,UAAU,OAAO,EAAE,UAAU,KAAK,gBAAgB,KAAK,gBAAgBA,CAAC,EAAE,KAAK,KAAK,KAAK,KAAK,MAAM,EAAE,CAAC,KAAKO,EAAEV,EAAE,CAAC,IAAI,EAAEk0C,GAAGxzC,CAAC,EAAEP,EAAE,EAAE,MAAMwB,EAAExB,EAAE,OAAO,OAAO5C,EAAE,IAAI,CAAC,GAAG,CAAC,KAAKsE,EAAE,SAASC,CAAC,EAAExL,GAAG,EAAE,KAAK,KAAK,EAAE,EAAEyL,EAAE+rC,GAAG,EAAEnsC,CAAC,EAAE,QAAQ,KAAK,KAAK,KAAKI,EAAE,CAAC,EAAE5B,EAAE,CAAC,EAAE,IAAIqC,EAAE,GAAG,GAAG,MAAM,EAAE,MAAM,SAASb,EAAEtI,EAAE,EAAE0I,CAAC,EAAE,EAAEU,EAAE,KAAK,MAAMD,EAAE,KAAK,MAAM,KAAK,CAAC,EAAE,KAAKE,EAAE,KAAK,OAAOF,EAAE,KAAK,KAAK,KAAK,CAAC,EAAE,KAAKG,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEjB,EAAE,EAAE,EAAE,KAAK,KAAK,QAAQ,CAAC,IAAI,IAAIgB,EAAE,KAAKxC,EAAE,CAAC,CAAC,EAAEyC,EAAE,KAAK,CAAC,IAAID,EAAE,KAAK,CAAC,EAAEC,EAAE,KAAKzC,EAAE,CAAC,CAAC,GAAG,OAAO0B,EAAErE,GAAGqE,EAAEc,CAAC,EAAEb,EAAEtE,GAAGsE,EAAEa,CAAC,EAAEF,GAAG,OAAOA,EAAEjF,GAAGiF,EAAEG,CAAC,GAAGF,GAAG,OAAOA,EAAElF,GAAGkF,EAAEE,CAAC,GAAGulD,GAAG,EAAEtmD,EAAEC,EAAEY,EAAED,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI/B,EAAE,CAAC,KAAK,KAAK,KAAK,QAAQ,KAAK,QAAQ,OAAO,KAAK,OAAO,MAAM,KAAK,MAAM,gBAAgBozC,GAAG,KAAK,eAAe,EAAE,iBAAiBA,GAAG,KAAK,gBAAgB,EAAE,gBAAgBkQ,GAAG,KAAK,eAAe,EAAE,iBAAiBA,GAAG,KAAK,gBAAgB,CAAC,EAAEhkD,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAE8nD,GAAG,UAAU,qBAAqBnuD,GAAE,cAAcmuD,EAAE,EAAE,SAASC,GAAG3oD,EAAE,EAAEE,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,GAAGuC,EAAE,OAAO,EAAE,MAAM,IAAI4tC,EAAE,kEAAkE5tC,EAAE,IAAI,YAAY,EAAE,GAAG,GAAG,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,IAAI4tC,EAAE,6GAA6G,EAAE,GAAG1tC,GAAG,OAAOA,EAAEgxC,GAAG,GAAGhxC,IAAI,gBAAgBA,IAAI,gBAAgB,MAAM,IAAI0tC,EAAE,wBAAwB1tC,CAAC,iEAAiE,EAAE,IAAIE,EAAE,OAAOF,IAAI,gBAAgBE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE9I,GAAG0I,EAAEI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIwoD,GAAG,cAAc9T,EAAE,CAAC,YAAYl0C,EAAE,CAAC,GAAGA,GAAG,OAAOA,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,WAAWA,EAAE,YAAY,KAAKswC,GAAG,EAAEtwC,EAAE,WAAWA,EAAE,SAAS,KAAK,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,OAAOA,EAAE,SAAS,SAAS,KAAK,QAAQ,CAAC,CAACA,EAAE,QAAQA,EAAE,OAAO,EAAE,CAACA,EAAE,QAAQA,EAAE,OAAO,CAAC,MAAM,CAAC,GAAGA,EAAE,QAAQA,EAAE,QAAQA,EAAE,QAAQ,SAAS,EAAE,MAAM,IAAIgtC,EAAE,+EAA+EhtC,EAAE,QAAQ,MAAM,SAAS,EAAE,IAAIV,EAAE,EAAE,GAAG,OAAOU,EAAE,QAAQ,CAAC,GAAG,SAASV,EAAE,CAACU,EAAE,QAAQ,CAAC,EAAEA,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAACA,EAAE,QAAQ,CAAC,EAAEA,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAGA,EAAE,QAAQA,EAAE,QAAQA,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,IAAIgtC,EAAE,sFAAsFhtC,EAAE,QAAQ,CAAC,EAAE,MAAM,SAAS,EAAE,GAAGV,EAAEU,EAAE,QAAQ,CAAC,EAAEA,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,IAAIgtC,EAAE,qFAAqFhtC,EAAE,QAAQ,CAAC,EAAE,MAAM,SAAS,EAAE,EAAEA,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAACV,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAIrb,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB+b,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAE,EAAE,OAAO,KAAK,aAAa,iBAAiBU,EAAE,CAAC,GAAG,MAAMA,EAAE,CAAC,GAAG,EAAEV,EAAEU,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAEV,EAAE,KAAKU,EAAE,CAAC,GAAG,MAAMA,EAAE,CAAC,GAAG,EAAE,EAAEA,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAACA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEV,EAAE,CAAC,IAAIU,EAAE,CAAC,GAAG,MAAMA,EAAE,CAAC,GAAG,EAAEV,EAAEU,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAEV,EAAE,KAAKU,EAAE,CAAC,GAAG,MAAMA,EAAE,CAAC,GAAG,EAAE,EAAEA,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAACA,EAAE,CAAC,EAAEV,EAAE,EAAEU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAIkrD,GAAGvU,GAAGxzC,CAAC,EAAE,KAAK,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,QAAQ,KAAK,QAAQ,WAAW,KAAK,UAAU,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEgoD,GAAG,UAAU,gBAAgBruD,GAAE,cAAcquD,EAAE,EAAE,SAASC,GAAG7oD,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,OAAO5C,EAAE,IAAI,CAACsyC,GAAG1vC,CAAC,EAAE6vC,GAAG,CAAC,EAAED,GAAG7vC,CAAC,EAAEF,GAAG,OAAOA,EAAE,CAAC,EAAE,CAAC,GAAGE,GAAG,OAAOA,EAAE,SAASC,GAAG,OAAOA,EAAE6wC,GAAG,GAAG,GAAG,OAAO,EAAE,OAAOlxC,EAAE8kD,GAAG9kD,EAAEK,CAAC,EAAE,IAAI,EAAE0B,EAAE3B,IAAI,OAAO,OAAO,QAAQ,OAAO,IAAI,MAAM,EAAE1K,GAAGsK,EAAE,EAAEE,EAAE6B,CAAC,EAAE,EAAExU,GAAGyS,EAAE,EAAEE,EAAE6B,CAAC,EAAE1B,IAAI,kBAAkB,EAAEvC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAASgrD,GAAG9oD,EAAE,EAAEE,EAAEE,EAAEC,EAAE,EAAE,CAAC,OAAO5C,EAAE,IAAI,CAACsyC,GAAG1vC,CAAC,EAAE6vC,GAAG,CAAC,EAAED,GAAG7vC,CAAC,EAAEF,GAAG,OAAOA,EAAE,CAAC,EAAE,EAAE,CAAC,GAAGE,GAAG,OAAOA,EAAE,SAASC,GAAG,OAAOA,EAAE6wC,GAAG,GAAG,GAAG,OAAO,EAAE,OAAOlxC,EAAE+kD,GAAG/kD,EAAEK,CAAC,EAAE,IAAI,EAAE0B,EAAE3B,IAAI,OAAO,OAAO,QAAQ,OAAO,IAAI,MAAM,EAAEzK,GAAGqK,EAAE,EAAEE,EAAE6B,CAAC,EAAE,EAAEvU,GAAGwS,EAAE,EAAEE,EAAE6B,CAAC,EAAE1B,IAAI,kBAAkB,EAAEvC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAIirD,GAAG,cAAcjU,EAAE,CAAC,YAAYl0C,EAAE,CAAC,GAAGA,EAAE,UAAU,OAAOA,EAAE,SAAS,GAAG,MAAMA,CAAC,EAAE,OAAOA,EAAE,UAAU,SAAS,KAAK,SAAS,CAACA,EAAE,QAAQ,UAAU,MAAM,QAAQA,EAAE,QAAQ,GAAGA,EAAE,SAAS,SAAS,GAAG,OAAOA,EAAE,SAAS,CAAC,GAAG,SAAS,KAAK,SAASA,EAAE,aAAc,OAAM,IAAIgtC,EAAE,qGAAqG,KAAK,UAAUhtC,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAGquC,GAAG,KAAK,SAAS,UAAU,EAAEruC,EAAE,SAAS,KAAK,KAAK,QAAQ,KAAK,iBAAiB,OAAOA,EAAE,SAAS,SAAS,KAAK,QAAQ,CAACA,EAAE,OAAO,UAAU,MAAM,QAAQA,EAAE,OAAO,GAAGA,EAAE,QAAQ,SAAS,GAAG,OAAOA,EAAE,QAAQ,CAAC,GAAG,SAAS,KAAK,QAAQA,EAAE,YAAa,OAAM,IAAIgtC,EAAE,oGAAoG,KAAK,UAAUhtC,EAAE,OAAO,CAAC,EAAE,EAAEquC,GAAG,KAAK,QAAQ,SAAS,EAAE,KAAK,QAAQruC,EAAE,SAAS,KAAK,QAAQA,EAAE,QAAQqvC,GAAG,KAAK,OAAO,EAAE,KAAK,UAAU,CAAC,IAAIprD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB+b,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAE0kD,GAAGhkD,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,CAAC,EAAE,MAAM,CAACA,EAAE,CAAC,EAAEV,EAAEU,EAAE,CAAC,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,KAAK,eAAemD,EAAEV,CAAC,EAAEU,EAAEwwC,GAAGgD,GAAGxzC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,gBAAgBwzC,GAAGxzC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,cAAc,EAAE,OAAOvE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIuE,EAAE,CAAC,SAAS,KAAK,SAAS,QAAQ,KAAK,QAAQ,QAAQ,KAAK,OAAO,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEooD,GAAG,cAAcD,EAAE,CAAC,YAAYnoD,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,gBAAgBA,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,CAAC,OAAOkuC,GAAGluC,CAAC,EAAEouC,GAAG5vC,CAAC,EAAEwoD,GAAGjoD,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,KAAK,CAAC,CAAC,EAAEmnD,GAAG,UAAU,eAAezuD,GAAE,cAAcyuD,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,YAAYnoD,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,gBAAgBA,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,CAAC,OAAOkuC,GAAGluC,CAAC,EAAEouC,GAAG5vC,CAAC,EAAEwoD,GAAGjoD,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,KAAK,CAAC,CAAC,EAAEonD,GAAG,UAAU,mBAAmB1uD,GAAE,cAAc0uD,EAAE,EAAE,IAAIC,GAAG,cAAcpU,EAAE,CAAC,YAAYl0C,EAAE,CAAC,GAAGA,EAAE,UAAU,OAAOA,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,SAAS,MAAM,QAAQA,EAAE,QAAQ,EAAEA,EAAE,SAAS,CAACA,EAAE,SAASA,EAAE,QAAQ,EAAEA,EAAE,SAAS,KAAK,KAAK,QAAQ,KAAK,iBAAiB,MAAM,QAAQA,EAAE,OAAO,EAAE,CAAC,GAAGA,EAAE,QAAQ,SAAS,EAAE,MAAM,IAAIgtC,EAAE,wHAAwHhtC,EAAE,QAAQ,MAAM,GAAG,EAAE,KAAK,QAAQA,EAAE,OAAO,MAAM,KAAK,QAAQ,CAACA,EAAE,QAAQA,EAAE,OAAO,EAAEquC,GAAG,KAAK,SAAS,UAAU,EAAEA,GAAG,KAAK,QAAQ,SAAS,EAAE,KAAK,QAAQruC,EAAE,SAAS,KAAK,QAAQA,EAAE,QAAQ,KAAK,WAAWA,EAAE,YAAY,KAAK,eAAeA,EAAE,WAAWmvC,GAAG,KAAK,UAAU,EAAEE,GAAG,KAAK,OAAO,EAAE,KAAK,UAAU,CAAC,IAAIprD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB+b,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAE,KAAK,aAAa,gBAAgBU,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,EAAE,KAAK,aAAa,gBAAgBA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,OAAOV,EAAE0kD,GAAG1kD,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,CAAC,EAAE,EAAE0kD,GAAG,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,CAAC,EAAE,KAAK,aAAa,gBAAgB,CAAChkD,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEV,EAAE,CAAC,EAAE,CAACU,EAAE,CAAC,EAAEV,EAAE,EAAEU,EAAE,CAAC,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,KAAK,KAAK,eAAemD,EAAEV,CAAC,EAAE,KAAK,gBAAgBk0C,GAAGxzC,CAAC,EAAE,KAAK,SAAS,KAAK,QAAQ,KAAK,QAAQ,KAAK,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,SAAS,KAAK,SAAS,QAAQ,KAAK,QAAQ,QAAQ,KAAK,QAAQ,WAAW,KAAK,UAAU,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEuoD,GAAG,cAAcD,EAAE,CAAC,YAAYtoD,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,gBAAgBA,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,CAAC,OAAOkuC,GAAGluC,CAAC,EAAEouC,GAAG5vC,CAAC,EAAEwoD,GAAGjoD,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,KAAK,CAAC,CAAC,EAAEsnD,GAAG,UAAU,eAAe5uD,GAAE,cAAc4uD,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,YAAYtoD,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,gBAAgBA,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,CAAC,OAAOkuC,GAAGluC,CAAC,EAAEouC,GAAG5vC,CAAC,EAAEwoD,GAAGjoD,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,KAAK,CAAC,CAAC,EAAEunD,GAAG,UAAU,mBAAmB7uD,GAAE,cAAc6uD,EAAE,EAAE,IAAIC,GAAG,cAAcvU,EAAE,CAAC,YAAYl0C,EAAE,CAAC,GAAGA,EAAE,UAAU,OAAOA,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,SAAS,MAAM,QAAQA,EAAE,QAAQ,EAAEA,EAAE,SAAS,CAACA,EAAE,SAASA,EAAE,SAASA,EAAE,QAAQ,EAAEA,EAAE,SAAS,KAAK,KAAK,QAAQ,KAAK,iBAAiB,MAAM,QAAQA,EAAE,OAAO,EAAE,CAAC,GAAGA,EAAE,QAAQ,SAAS,EAAE,MAAM,IAAIgtC,EAAE,wHAAwHhtC,EAAE,QAAQ,MAAM,GAAG,EAAE,KAAK,QAAQA,EAAE,OAAO,MAAM,KAAK,QAAQ,CAACA,EAAE,QAAQA,EAAE,QAAQA,EAAE,OAAO,EAAEquC,GAAG,KAAK,SAAS,UAAU,EAAEA,GAAG,KAAK,QAAQ,SAAS,EAAE,KAAK,QAAQruC,EAAE,SAAS,KAAK,QAAQA,EAAE,QAAQ,KAAK,WAAWA,EAAE,YAAY,KAAK,eAAeA,EAAE,WAAWmvC,GAAG,KAAK,UAAU,EAAEE,GAAG,KAAK,OAAO,EAAE,KAAK,UAAU,CAAC,IAAIprD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB+b,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAE,KAAK,aAAa,gBAAgBU,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,EAAE,KAAK,aAAa,gBAAgBA,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEP,EAAE,KAAK,aAAa,gBAAgBO,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,OAAOV,EAAE0kD,GAAG1kD,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,CAAC,EAAE,EAAE0kD,GAAG,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,CAAC,EAAEvkD,EAAEukD,GAAGvkD,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,CAAC,EAAE,KAAK,aAAa,gBAAgB,CAACO,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEV,EAAE,EAAEG,CAAC,EAAE,CAACO,EAAE,CAAC,EAAEV,EAAE,EAAEG,EAAEO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,KAAK,KAAK,eAAemD,EAAEV,CAAC,EAAE,KAAK,gBAAgBk0C,GAAGxzC,CAAC,EAAE,KAAK,SAAS,KAAK,QAAQ,KAAK,QAAQ,KAAK,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,SAAS,KAAK,SAAS,QAAQ,KAAK,QAAQ,QAAQ,KAAK,QAAQ,WAAW,KAAK,UAAU,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAE0oD,GAAG,cAAcD,EAAE,CAAC,YAAYzoD,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,gBAAgBA,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,CAAC,OAAOkuC,GAAGluC,CAAC,EAAEouC,GAAG5vC,CAAC,EAAEyoD,GAAGloD,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,KAAK,CAAC,CAAC,EAAEynD,GAAG,UAAU,eAAe/uD,GAAE,cAAc+uD,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,YAAYzoD,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,gBAAgBA,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,CAAC,OAAOkuC,GAAGluC,CAAC,EAAEouC,GAAG5vC,CAAC,EAAEyoD,GAAGloD,EAAEV,EAAE,EAAEG,EAAEwB,EAAE,KAAK,CAAC,CAAC,EAAE0nD,GAAG,UAAU,mBAAmBhvD,GAAE,cAAcgvD,EAAE,EAAE,IAAIC,GAAG,cAAc1U,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI/b,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB+b,EAAE,CAAC,MAAM,CAACA,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,MAAM,IAAI2tC,EAAE,CAAC,EAAE4b,GAAG,cAAcD,EAAE,CAAC,YAAY5oD,EAAE,CAAC,MAAMA,GAAG,CAAC,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAE22C,GAAGxzC,CAAC,EAAE,OAAO9K,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE2zD,GAAG,UAAU,yBAAyBlvD,GAAE,cAAckvD,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,YAAY5oD,EAAE,CAAC,MAAMA,GAAG,CAAC,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAE22C,GAAGxzC,CAAC,EAAE,OAAOnL,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEi0D,GAAG,UAAU,qBAAqBnvD,GAAE,cAAcmvD,EAAE,EAAE,IAAIC,GAAG,cAAc7U,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,WAAWA,EAAE,YAAY,KAAK,eAAeA,EAAE,WAAWmvC,GAAG,KAAK,UAAU,EAAE,KAAK,UAAU,CAAC,IAAIlrD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB+b,EAAE,CAAC,OAAOA,EAAEA,EAAE,KAAK,aAAa,eAAe,CAACA,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,CAACA,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,MAAM,IAAI2tC,EAAE,CAAC,WAAW,CAAC,IAAIjtC,EAAE,CAAC,WAAW,KAAK,UAAU,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEgpD,GAAG,cAAcD,EAAE,CAAC,KAAK/oD,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAE22C,GAAGxzC,CAAC,EAAE,OAAO,KAAK,aAAa,eAAe9K,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEA,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE8zD,GAAG,UAAU,yBAAyBrvD,GAAE,cAAcqvD,EAAE,EAAE,IAAIC,GAAG,cAAcF,EAAE,CAAC,KAAK/oD,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAE22C,GAAGxzC,CAAC,EAAE,OAAO,KAAK,aAAa,eAAenL,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEA,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEo0D,GAAG,UAAU,qBAAqBtvD,GAAE,cAAcsvD,EAAE,EAAE,IAAIC,GAAG,cAAchV,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,MAAMA,EAAE,KAAK,CAAC,MAAMA,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,KAAK,KAAK,MAAM,UAAU,EAAE,CAAC,IAAI,UAAUA,EAAE,CAAC,KAAK,OAAO,OAAO,KAAK,MAAM,UAAUA,EAAE,CAAC,IAAI,kBAAkB,CAAC,OAAO,KAAK,MAAM,gBAAgB,CAAC,IAAI,qBAAqB,CAAC,OAAO,KAAK,MAAM,mBAAmB,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,KAAK,MAAM,WAAW,CAAC,CAAC,WAAWA,EAAE,CAAC,KAAK,MAAM,WAAWA,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,MAAM,aAAa,EAAE,OAAO,KAAK,MAAM,UAAU,CAAC,CAAC,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,6BAA6BA,EAAE,CAAC,MAAM,6BAA6BA,CAAC,EAAE,KAAK,OAAO,MAAM,KAAK,MAAM,6BAA6BA,CAAC,CAAC,CAAC,OAAO,WAAWA,EAAEV,EAAE,EAAE,CAAC,EAAE,CAAC,IAAIG,EAAEH,EAAE,MAAM2B,EAAEu7C,GAAG/8C,EAAE,CAAC,EAAE,OAAOH,EAAE,MAAM,IAAI4B,EAAE,CAAC,MAAMD,CAAC,EAAE,OAAO,OAAO,OAAOC,EAAE5B,CAAC,EAAE,IAAIU,EAAEkB,CAAC,CAAC,CAAC,EAAEioD,GAAG,cAAcD,EAAE,CAAC,YAAYlpD,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,gBAAgB,EAAE,CAAC,MAAMA,EAAE,CAAC,GAAGA,EAAEyzC,GAAGzzC,CAAC,EAAEA,EAAE,OAAO,EAAE,MAAM,IAAIgtC,EAAE,gFAAgF,KAAK,UAAUhtC,CAAC,CAAC,EAAE,EAAE,KAAK,UAAU,CAAC,CAAC,MAAMA,CAAC,CAAC,EAAE,IAAIV,EAAE,CAACU,EAAE,CAAC,CAAC,EAAE,OAAOA,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,MAAM,QAAQ,KAAK,MAAM,MAAMV,CAAC,EAAE,KAAK,MAAM,MAAM,IAAI,MAAM,MAAMU,CAAC,CAAC,CAAC,mBAAmBA,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAE,CAACU,EAAE,CAAC,CAAC,EAAE,OAAOA,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,MAAM,mBAAmBV,CAAC,EAAEG,EAAEO,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAEP,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAKO,EAAEV,EAAE,CAAC,OAAOzC,EAAE,KAAKmD,EAAEwzC,GAAGxzC,CAAC,EAAEqlD,GAAG,CAACnkD,EAAE,IAAI,CAACsyC,GAAG,KAAK,MAAM,KAAKtyC,EAAE5B,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEU,EAAE,CAAC,EAAE,GAAG,KAAK,KAAK,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEmpD,GAAG,UAAU,kBAAkBxvD,GAAE,cAAcwvD,EAAE,EAAE,SAASC,GAAGhqD,EAAE,CAAC+uC,GAAGc,GAAG,yBAAyB7vC,CAAC,CAAC,CAAC,IAAIiqD,GAAG,SAASC,GAAG,cAAcJ,EAAE,CAAC,YAAYlpD,EAAE,CAAC,MAAMA,CAAC,EAAE,IAAIV,EAAEU,EAAE,MAAM,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,UAAUA,EAAE,MAAM,aAAa,EAAE,EAAE,OAAOV,EAAE,KAAK,aAAak9C,GAAG,CAAC,EAAEl9C,EAAE,YAAYA,EAAE,cAAc,GAAG,IAAIG,EAAE,CAAC,EAAE,GAAGA,EAAE,UAAUO,EAAE,MAAM,aAAa,EAAEP,EAAE,OAAOH,EAAE,KAAK,cAAck9C,GAAG/8C,CAAC,EAAE,KAAK,aAAa,KAAK,WAAW,KAAK,aAAa,KAAK,KAAK,cAAc,KAAK,YAAY,KAAK,cAAc,KAAK,KAAK,UAAUO,EAAE,YAAY,OAAOqpD,GAAGrpD,EAAE,UAAUopD,GAAG,KAAK,SAAS,EAAEppD,EAAE,QAAQ,MAAM,IAAIitC,GAAG,iEAAiE,EAAE,KAAK,UAAUjtC,EAAE,MAAM,SAAS,KAAK,gBAAgBA,EAAE,MAAM,gBAAgB,KAAK,YAAYA,EAAE,MAAM,YAAY,KAAK,gBAAgB,GAAG,KAAK,WAAW,GAAG,KAAK,UAAUA,EAAE,MAAM,UAAU,KAAK,aAAa,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,KAAK,UAAU,CAAC,IAAI,UAAUA,EAAE,CAAC,KAAK,WAAWA,EAAE,KAAK,cAAc,OAAO,KAAK,aAAa,UAAUA,GAAG,KAAK,eAAe,OAAO,KAAK,cAAc,UAAUA,EAAE,CAAC,YAAY,CAAC,OAAO,KAAK,aAAa,WAAW,EAAE,OAAO,KAAK,cAAc,WAAW,CAAC,CAAC,CAAC,WAAWA,EAAE,CAAC,IAAIV,EAAEU,EAAE,OAAO,EAAE,KAAK,MAAMV,EAAE,CAAC,EAAE,KAAK,aAAa,WAAWU,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,cAAc,WAAWA,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmBA,EAAE,CAAC,IAAIV,EAAE,KAAK,aAAa,mBAAmBU,CAAC,EAAE,MAAM,QAAQV,CAAC,GAAG,MAAM,QAAQA,EAAE,CAAC,CAAC,IAAIA,EAAE,CAACA,CAAC,GAAGA,EAAEA,EAAE,IAAI,EAAEG,EAAEwB,EAAE,OAAO,KAAK,cAAcA,EAAE3B,EAAE,MAAM,CAAC,GAAG,EAAEA,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,YAAY,UAAU,EAAE,EAAE,OAAO,CAAC,GAAG,EAAEG,EAAE,CAAC,CAAC,GAAG,KAAK,WAAW,KAAKA,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,EAAEA,EAAE,CAAC,CAAC,EAAE,KAAK,YAAY,KAAK,WAAW,KAAKA,EAAE,OAAOwB,CAAC,EAAE,OAAOA,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,OAAOA,CAAC,EAAE,OAAOA,EAAE,MAAM,CAAC,EAAEssC,GAAG9tC,CAAC,CAAC,CAAC,MAAMO,EAAEV,EAAE,CAAC,IAAI,EAAEA,GAAG,KAAK,KAAKA,EAAE,aAAaG,EAAEH,GAAG,KAAK,KAAKA,EAAE,UAAUA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAI2B,EAAEmkD,GAAGplD,EAAE,EAAEP,EAAE,KAAK,YAAY,EAAE,GAAGO,EAAEiB,EAAE,OAAO,EAAEA,EAAE,aAAaxB,EAAEwB,EAAE,UAAU,MAAM,QAAQjB,CAAC,IAAI,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAEA,EAAE,CAAC,IAAI,GAAG,MAAM,EAAE,SAAS,IAAIP,GAAG,KAAK,OAAO,MAAM,MAAMO,EAAEV,CAAC,EAAE,IAAI4B,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,MAAM,IAAI6rC,EAAE,+HAA+H,EAAE1tC,EAAE,aAAa,EAAE4B,EAAE,KAAK,GAAG,CAAC,EAAE,IAAIY,EAAE,EAAE,IAAI,GAAG,IAAI7d,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,aAAa,UAAU6d,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,cAAc,UAAUA,EAAE,MAAM,EAAE,CAAC,EAAEX,EAAE,KAAK,GAAGW,CAAC,CAAC,CAAC,GAAGrC,GAAG,KAAK,MAAM,IAAIwtC,GAAG,uEAAuE,EAAE,IAAI7rC,EAAEF,EAAE,CAAC,YAAYrW,GAAG,QAAQ,KAAKqW,EAAE,GAAG,aAAarW,KAAKuW,EAAE,MAAM,IAAI4rC,EAAE,8GAA8G,EAAE,GAAG5rC,EAAE,CAAC,IAAI,EAAE,CAACpB,CAAC,EAAE,OAAOkB,CAAC,EAAEY,EAAE,KAAK,UAAU,OAAOX,CAAC,EAAE,EAAE,KAAK,UAAU,KAAK,UAAUW,EAAE,IAAIE,EAAE,MAAM,MAAM,EAAE1C,CAAC,EAAE,OAAO,KAAK,UAAU,EAAE0C,CAAC,KAAM,QAAO,MAAM,MAAMhC,EAAEV,CAAC,CAAC,CAAC,KAAKU,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAEyC,EAAE,aAAaG,EAAEwB,EAAE,GAAG,GAAG,KAAKxB,EAAE,KAAK,aAAa,KAAKO,EAAEV,CAAC,EAAE2B,EAAE,KAAK,cAAc,KAAKjB,EAAEV,CAAC,MAAM,CAAC,IAAI8B,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE3B,EAAE,KAAK,aAAa,KAAKO,EAAE,OAAO,OAAOV,EAAE,CAAC,aAAa8B,CAAC,CAAC,CAAC,EAAEH,EAAE,KAAK,cAAc,KAAKjB,EAAE,OAAO,OAAOV,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI4B,EAAE,KAAK,cAAc,MAAM,QAAQzB,CAAC,IAAIyB,EAAEzB,EAAE,MAAM,CAAC,EAAE,OAAOwB,EAAE,MAAM,CAAC,CAAC,GAAGxB,EAAEA,EAAE,CAAC,EAAEwB,EAAEA,EAAE,CAAC,GAAG,KAAK,kBAAkBA,EAAErI,GAAGqI,EAAE,CAAC,GAAG,IAAIE,EAAE,OAAO,KAAK,YAAY,SAASA,EAAE6vC,GAAG,CAACvxC,EAAEwB,CAAC,CAAC,EAAE,KAAK,YAAY,MAAME,EAAE,EAAE1B,EAAEwB,CAAC,EAAE,KAAK,YAAY,MAAME,EAAErL,EAAE,GAAG,EAAE2J,EAAEwB,CAAC,CAAC,EAAE,KAAK,YAAY,MAAME,EAAErL,EAAE2J,EAAEwB,CAAC,EAAE,KAAK,WAAW,OAAOE,EAAE,CAAC1B,EAAEwB,CAAC,GAAG,KAAK,YAAY,KAAK,WAAW,KAAKE,EAAE,OAAOD,CAAC,EAAE,CAACC,CAAC,EAAE,OAAOD,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC,YAAYnB,EAAE,CAAC,KAAK,aAAa,YAAY,EAAE,KAAK,cAAc,YAAY,CAAC,CAAC,MAAMA,EAAE,CAACyvC,GAAG,KAAK,aAAa,KAAK,IAAI,CAAC,KAAK,aAAa,MAAMzvC,CAAC,CAAC,CAAC,EAAEyvC,GAAG,KAAK,cAAc,KAAK,IAAI,CAAC,KAAK,cAAc,MAAMzvC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,YAAYA,EAAEV,EAAE,CAAC,MAAM,QAAQA,CAAC,IAAIA,EAAEA,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,gBAAgB,KAAK,WAAW,KAAK,EAAE,CAACA,EAAEA,CAAC,EAAE,EAAEA,EAAE,KAAK,WAAW,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,KAAK,YAAY,CAAC,IAAI2B,EAAE,KAAK,aAAa,OAAO,IAAIC,GAAG,IAAI,EAAE,OAAO,MAAM,QAAQ,CAAC,EAAE,EAAE,OAAOD,CAAC,EAAE,OAAOA,CAAC,EAAE,CAAC,CAAC,EAAE,OAAOA,CAAC,EAAE,OAAOA,CAAC,CAAC,KAAM,QAAO,CAAC,CAAC,IAAI,kBAAkB,CAAC,OAAO,KAAK,aAAa,iBAAiB,OAAO,KAAK,cAAc,gBAAgB,CAAC,CAAC,IAAI,qBAAqB,CAAC,OAAO,KAAK,aAAa,oBAAoB,OAAO,KAAK,cAAc,mBAAmB,CAAC,CAAC,6BAA6BjB,EAAE,CAAC,MAAM,6BAA6BA,CAAC,EAAE,KAAK,cAAc,MAAM,KAAK,aAAa,6BAA6BA,CAAC,EAAE,KAAK,eAAe,MAAM,KAAK,cAAc,6BAA6BA,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,UAAU,KAAK,SAAS,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,OAAO,WAAWA,EAAEV,EAAE,CAAC,IAAI,EAAEk9C,GAAGl9C,EAAE,KAAK,EAAE,GAAG,OAAOA,EAAE,MAAMA,EAAE,cAAc,KAAK,MAAM,IAAI2tC,GAAG,0FAA0F,EAAE,IAAIxtC,EAAEH,EAAE,OAAOG,EAAE,MAAM,EAAE,IAAIO,EAAEP,CAAC,CAAC,CAAC,EAAE6pD,GAAG,UAAU,gBAAgB3vD,GAAE,cAAc2vD,EAAE,EAAE,IAAIC,GAAG,cAAcrV,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,MAAMA,EAAE,MAAMA,EAAE,OAAO,KAAK,OAAOA,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,MAAM,KAAK,MAAM,OAAO,KAAK,MAAM,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,KAAKmD,EAAEwzC,GAAGxzC,CAAC,EAAEA,EAAE,QAAQ,YAAYA,EAAEuwC,GAAGvwC,EAAE,SAAS,GAAG,EAAElK,EAAEkK,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC,EAAEupD,GAAG,UAAU,YAAY5vD,GAAE,cAAc4vD,EAAE,EAAE,GAAG,CAAC,eAAeC,GAAG,cAAcC,EAAE,EAAE92D,GAAG+2D,GAAG,cAAcxV,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,OAAOA,EAAE,OAAO,KAAK,MAAMA,EAAE,KAAK,CAAC,WAAWA,EAAEV,EAAE,EAAEG,EAAEwB,EAAEC,EAAEC,EAAEC,EAAE,CAAC,OAAOvE,EAAE,IAAI,CAAC,IAAI,EAAEiF,EAAE,GAAG,EAAExC,EAAE4B,EAAEc,EAAE,EAAEb,EAAEc,GAAGxC,EAAEH,GAAG4B,EAAEgB,GAAGjB,EAAE,GAAGE,EAAEiC,EAAE,CAAC,EAAEpB,EAAEC,EAAEC,CAAC,EAAEmB,EAAE,CAAC,EAAErD,EAAE,OAAO,GAAG8B,EAAE,GAAG,EAAEpG,GAAG,CAACsE,CAAC,CAAC,GAAG,EAAEA,EAAE,QAAQ+D,EAAE,EAAEA,EAAE,EAAE,MAAM,CAAC,EAAEA,IAAIV,EAAE,KAAKD,CAAC,EAAE,IAAIsD,EAAEvK,GAAGkH,EAAE,CAACA,EAAE,OAAO,CAAC,CAAC,EAAE,EAAEvL,GAAG,EAAEuL,EAAE,OAAO,EAAE,OAAO,EAAES,EAAE2lD,GAAG,EAAE/iD,EAAE,EAAE,CAACjH,EAAEwB,CAAC,EAAE,SAAS,EAAE,OAASsvC,GAAFzuC,EAAK0xC,GAAGh2C,GAAGsG,CAAC,CAAC,EAAQA,EAAN1C,CAAC,CAAS,CAAC,CAAC,CAAC,OAAOpB,EAAEV,EAAE,EAAEG,EAAE,CAAC,OAAO5C,EAAE,IAAI,CAAC,IAAIoE,EAAEuoD,GAAGxpD,EAAE,CAACV,EAAE,CAAC,CAAC,EAAE,OAAOixC,GAAGtvC,EAAExB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKO,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAE22C,GAAGxzC,CAAC,EAAEP,EAAE,EAAE,MAAMwB,EAAE,EAAE,MAAMC,EAAED,EAAEA,EAAE,OAAO,CAAC,EAAEE,EAAEF,EAAEA,EAAE,OAAO,CAAC,EAAEG,EAAE,EAAEF,IAAI,KAAK,SAASE,EAAE,KAAK,OAAOF,EAAE,KAAK,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE,OAAOC,IAAI,KAAK,QAAQ,EAAE,KAAK,OAAOA,EAAE,KAAK,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,IAAIC,GAAG,GAAG,GAAG,EAAE,KAAK,WAAW,EAAEA,EAAE,EAAE,KAAK,OAAO,KAAK,MAAMF,EAAEC,EAAE1B,CAAC,EAAE,KAAK,OAAOO,EAAE,KAAK,OAAO,KAAK,MAAMP,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIO,EAAE,CAAC,OAAO,KAAK,OAAO,MAAM,KAAK,KAAK,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,mBAAmBA,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAEU,EAAE,OAAO,EAAE,EAAEA,EAAE,OAAO,EAAE,OAAOA,EAAEV,CAAC,EAAE,KAAK,OAAOU,EAAE,CAAC,EAAE,KAAK,MAAMA,CAAC,CAAC,EAAE0pD,GAAG,UAAU,aAAa/vD,GAAE,cAAc+vD,EAAE,EAAE,SAASC,GAAGvqD,EAAE,EAAEE,EAAEE,EAAE,CAAC,IAAIC,EAAE+zC,GAAGp0C,CAAC,EAAE,GAAGK,EAAE,QAAQ,UAAUA,EAAE8wC,GAAG9wC,EAAE,OAAO,GAAG,IAAI,MAAM,OAAOA,EAAE,IAAI,EAAEA,EAAE,MAAM,GAAGA,EAAE,OAAO,IAAIA,EAAExO,GAAGwO,EAAE,EAAE,GAAG,IAAI,UAAUA,EAAE,MAAMA,EAAE,MAAM,OAAO,CAAC,IAAI,IAAIA,EAAExO,GAAGwO,EAAE,EAAE,GAAGA,EAAE,KAAK,EAAE,MAAM,IAAIutC,EAAE,4EAA4E,CAAC,oBAAoB,CAAC,sCAAsCvtC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,WAAW,QAAQ,EAAE,SAAS,CAAC,EAAE0B,EAAE1B,EAAE2B,EAAE,GAAG,OAAO5B,GAAG,aAAa,IAAI,QAAQ4B,EAAE9R,GAAG6R,EAAE3B,EAAEF,EAAE,CAAC,EAAE8B,EAAE9R,GAAG6R,EAAE,CAAC,EAAE7B,EAAE,CAAC,EAAE,IAAI,QAAQ,OAAO8B,EAAE,GAAG5B,EAAE,OAAO1J,EAAEsL,EAAE5B,CAAC,EAAE,MAAM,IAAIwtC,EAAE,uDAAuD,CAAC,CAAC,IAAI4c,GAAG,cAAc1V,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,UAAUA,EAAE,UAAUA,EAAE,WAAW,KAAK,WAAWA,EAAE,WAAW,KAAK,WAAW,UAAU,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,UAAU,KAAK,UAAU,WAAW,KAAK,UAAU,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,mBAAmBA,EAAE,CAAC,OAAOA,EAAEyzC,GAAGzzC,CAAC,EAAEA,GAAG,KAAK,CAAC,KAAK,SAAS,EAAE,KAAK,aAAa,UAAUA,EAAEA,EAAE,OAAO,CAAC,IAAI,GAAGA,EAAE,KAAK,KAAK,SAAS,EAAEA,IAAIA,EAAEA,EAAE,OAAO,CAAC,EAAE,KAAK,UAAUA,EAAE,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAACmD,EAAEwzC,GAAGxzC,CAAC,EAAEA,EAAE,QAAQ,UAAUA,EAAEuwC,GAAGvwC,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,OAAOV,EAAE,cAAc,YAAY,CAAC,GAAG,KAAK,aAAa,QAAQ,MAAM,IAAI0tC,EAAE;AAAA,sCAC1tmM1tC,EAAE,YAAY,EAAE,EAAE,EAAEk0C,GAAGl0C,EAAE,YAAY,CAAC,CAAC,IAAIG,EAAE5K,GAAGmL,CAAC,EAAEiB,EAAE3L,GAAG0K,CAAC,EAAEkB,EAAE3O,GAAG,KAAK,UAAUkN,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE0B,EAAE3O,GAAGyO,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,GAAG,EAAEC,GAAGC,GAAG,MAAM,IAAI6rC,EAAE,uEAAuE,KAAK,SAAS,EAAE,EAAE,OAAO2c,GAAG3pD,EAAE,KAAK,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE4pD,GAAG,UAAU,mBAAmBjwD,GAAE,cAAciwD,EAAE,EAAE,IAAIC,GAAG,CAAC,WAAW,SAAS,EAAEC,GAAG,IAAI,IAAID,EAAE,EAAEE,GAAG,cAAc7V,EAAE,CAAC,YAAYl0C,EAAE,CAAC,GAAG,MAAMA,CAAC,EAAE,KAAK,OAAOA,EAAE,OAAO,KAAK,MAAMA,EAAE,MAAMA,EAAE,cAAc,GAAG8pD,GAAG,IAAI9pD,EAAE,aAAa,EAAE,KAAK,cAAcA,EAAE,kBAAmB,OAAM,IAAIgtC,EAAE,oCAAoChtC,EAAE,aAAa,qBAAqB,OAAO,KAAK,cAAc,WAAW,KAAK,kBAAkB,CAAC,CAACA,EAAE,iBAAiB,CAAC,mBAAmBA,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAEU,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,OAAO,KAAK,MAAMV,CAAC,CAAC,CAAC,WAAW,CAAC,IAAIU,EAAE,CAAC,OAAO,KAAK,OAAO,MAAM,KAAK,MAAM,cAAc,KAAK,cAAc,kBAAkB,KAAK,iBAAiB,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,KAAKA,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,KAAK,KAAK,EAAE,GAAG,KAAK,gBAAgB,WAAW,OAAOlK,GAAG,eAAeqN,EAAE,EAAE,CAAC,KAAK,iBAAiB,EAAE,GAAG,KAAK,gBAAgB,UAAU,OAAOrN,GAAG,sBAAsBqN,EAAE,EAAE,CAAC,KAAK,iBAAiB,EAAE,MAAM,IAAI,MAAM,oBAAoB,KAAK,aAAa,aAAa,CAAC,GAAG8pD,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAEC,GAAG,UAAU,WAAWpwD,GAAE,cAAcowD,EAAE,EAAE,IAAIC,GAAG,KAAK,CAAC,YAAYhqD,EAAE,CAAC,KAAK,KAAKA,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,OAAO,OAAO,OAAO,KAAK,MAAM,CAAC,EAAEgqD,GAAG,UAAU,aAAa,IAAIC,GAAG,cAAc/V,EAAE,CAAC,YAAYl0C,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,gBAAgB,IAAIgqD,GAAGhqD,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,IAAIA,EAAE,CAAC,KAAK,KAAK,gBAAgB,IAAI,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,EAAEiqD,GAAG,UAAU,kBAAkB,IAAIC,GAAG,CAAC,WAAW,SAAS,EAAEC,GAAG,IAAI,IAAID,EAAE,EAAEE,GAAG,cAAcH,EAAE,CAAC,YAAYjqD,EAAE,CAAC,MAAMA,CAAC,EAAE,GAAG,CAAC,OAAOV,EAAE,cAAc,EAAE,UAAU,EAAEU,EAAE,GAAG,KAAK,OAAOV,EAAE,MAAM,QAAQ,KAAK,MAAM,GAAG,KAAK,OAAO,SAAS,EAAE,KAAK,WAAW,KAAK,OAAO,CAAC,EAAE,KAAK,WAAW,KAAK,OAAO,CAAC,UAAU,CAAC,MAAM,QAAQ,KAAK,MAAM,GAAG,KAAK,OAAO,EAAE,KAAK,WAAW,CAAC,KAAK,OAAO,KAAK,WAAW,KAAK,WAAY,OAAM,IAAI0tC,EAAE,mBAAmB,KAAK,MAAM,iDAAiD,EAAE,GAAG,KAAK,WAAW,IAAI,KAAK,WAAW,GAAG,MAAM,IAAIA,EAAE,gDAAgD,KAAK,MAAM,EAAE,EAAE,GAAG,KAAK,WAAW,KAAK,WAAW,MAAM,IAAIA,EAAE;AAAA,2BAC7xE,KAAK,UAAU;AAAA,2BACf,KAAK,UAAU;AAAA,OACnC,EAAE,GAAG,EAAE,GAAGmd,GAAG,IAAI,CAAC,EAAE,KAAK,cAAc,MAAO,OAAM,IAAInd,EAAE,oCAAoC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,IAAIhtC,EAAE,CAAC,OAAO,KAAK,OAAO,cAAc,KAAK,aAAa,EAAEV,EAAE,MAAM,UAAU,EAAE,OAAO,OAAO,OAAOU,EAAEV,CAAC,EAAEU,CAAC,CAAC,mBAAmBA,EAAE,CAACA,EAAEyzC,GAAGzzC,CAAC,EAAE,IAAIV,EAAEU,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,UAAU,GAAGV,CAAC,CAAC,CAAC,KAAKU,EAAEV,EAAE,CAAC,OAAOzC,EAAE,IAAI,CAAC,IAAI,EAAE22C,GAAGxzC,CAAC,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,EAAE,IAAIP,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,EAAE,KAAK,YAAY7H,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,UAAU,KAAK,gBAAgB,KAAK,CAAC,EAAE,IAAIqJ,EAAE,KAAK,YAAY,SAAS,EAAE,CAAC,EAAExB,EAAEwB,EAAE,KAAK,MAAMA,CAAC,EAAE,IAAIC,EAAE,CAAC,KAAK,UAAUD,CAAC,EAAE,OAAO,KAAK,cAAc,CAAC,IAAI,WAAW,OAAOtO,GAAG,eAAeqN,EAAEkB,CAAC,EAAE,IAAI,UAAU,OAAOvO,GAAG,sBAAsBqN,EAAEkB,CAAC,EAAE,QAAQ,MAAM,IAAI,MAAM,oBAAoB,KAAK,aAAa;AAAA,qBAC9vB,CAAC,GAAGipD,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEC,GAAG,UAAU,cAAczwD,GAAE,cAAcywD,EAAE,EAAE,SAAStQ,GAAG16C,EAAE,CAAC,OAAO,IAAIo1C,GAAGp1C,CAAC,CAAC,CAAC,SAAS65C,GAAG75C,EAAE,CAAC,OAAO,IAAIwkD,GAAGxkD,CAAC,CAAC,CAAC,SAAS27C,GAAG37C,EAAE,CAAC,OAAO,IAAIqkD,GAAGrkD,CAAC,CAAC,CAAC,SAAS46C,GAAG56C,EAAE,CAAC,OAAO,IAAIskD,GAAGtkD,CAAC,CAAC,CAAC,SAASy7C,GAAGz7C,EAAE,CAAC,OAAO,IAAIukD,GAAGvkD,CAAC,CAAC,CAAC,SAASo8C,GAAGp8C,EAAE,CAAC,OAAO,IAAI0kD,GAAG1kD,CAAC,CAAC,CAAC,SAASu8C,GAAGv8C,EAAE,CAAC,OAAO,IAAIykD,GAAGzkD,CAAC,CAAC,CAAC,SAASi5C,GAAGj5C,EAAE,CAAC,OAAO,IAAI2lD,GAAG3lD,CAAC,CAAC,CAAC,SAASk5C,GAAGl5C,EAAE,CAAC,OAAO,IAAIqlD,GAAGrlD,CAAC,CAAC,CAAC,SAASm5C,GAAGn5C,EAAE,CAAC,OAAO,IAAIulD,GAAGvlD,CAAC,CAAC,CAAC,SAASo5C,GAAGp5C,EAAE,CAAC,OAAO,IAAIslD,GAAGtlD,CAAC,CAAC,CAAC,SAASq5C,GAAGr5C,EAAE,CAAC,OAAO,IAAIwlD,GAAGxlD,CAAC,CAAC,CAAC,SAASi8C,GAAGj8C,EAAE,CAAC,OAAO,IAAI0lD,GAAG1lD,CAAC,CAAC,CAAC,SAASw5C,GAAGx5C,EAAE,CAAC,OAAO,IAAI4lD,GAAG5lD,CAAC,CAAC,CAAC,SAASy8C,GAAGz8C,EAAE,CAAC,OAAO,IAAI6lD,GAAG7lD,CAAC,CAAC,CAAC,SAAS05C,GAAG15C,EAAE,CAAC,OAAO,IAAI+lD,GAAG/lD,CAAC,CAAC,CAAC,SAAS+3C,GAAG/3C,EAAE,CAAC,OAAO,IAAIknD,GAAGlnD,CAAC,CAAC,CAAC,SAASy5C,GAAGz5C,EAAE,CAAC,OAAO,IAAIgnD,GAAGhnD,CAAC,CAAC,CAAC,SAAS45C,GAAG55C,EAAE,CAAC,OAAO,IAAI8mD,GAAG9mD,CAAC,CAAC,CAAC,SAASq8C,GAAGr8C,EAAE,CAAC,OAAO,IAAI+mD,GAAG/mD,CAAC,CAAC,CAAC,SAAS+5C,GAAG/5C,EAAE,CAAC,OAAO,IAAIinD,GAAGjnD,CAAC,CAAC,CAAC,SAAS47C,GAAG57C,EAAE,CAAC,OAAO,IAAImnD,GAAGnnD,CAAC,CAAC,CAAC,SAAS87C,GAAG97C,EAAE,CAAC,OAAO,IAAIonD,GAAGpnD,CAAC,CAAC,CAAC,SAASw7C,GAAGx7C,EAAE,CAAC,OAAO,IAAIqnD,GAAGrnD,CAAC,CAAC,CAAC,SAAS85C,GAAG95C,EAAE,CAAC,OAAO,IAAIunD,GAAGvnD,CAAC,CAAC,CAAC,SAASg4C,GAAGh4C,EAAE,CAAC,OAAO,IAAIynD,GAAGznD,CAAC,CAAC,CAAC,SAASk4C,GAAGl4C,EAAE,CAAC,OAAO,IAAI2nD,GAAG3nD,CAAC,CAAC,CAAC,SAASg5C,GAAGh5C,EAAE,CAAC,OAAO,IAAI8nD,GAAG9nD,CAAC,CAAC,CAAC,SAASq7C,GAAGr7C,EAAE,CAAC,OAAO,IAAI4nD,GAAG5nD,CAAC,CAAC,CAAC,SAASs7C,GAAGt7C,EAAE,CAAC,OAAO,IAAI6nD,GAAG7nD,CAAC,CAAC,CAAC,SAASu7C,GAAGv7C,EAAE,CAAC,OAAO,IAAI0nD,GAAG1nD,CAAC,CAAC,CAAC,SAAS25C,GAAG35C,EAAE,CAAC,OAAO,IAAIioD,GAAGjoD,CAAC,CAAC,CAAC,SAAS44C,GAAG54C,EAAE,CAAC,OAAO,IAAIyoD,GAAGzoD,CAAC,CAAC,CAAC,SAAS26C,GAAG36C,EAAE,CAAC,OAAO,IAAI0oD,GAAG1oD,CAAC,CAAC,CAAC,SAAS08C,GAAG18C,EAAE,CAAC,OAAO,IAAI4oD,GAAG5oD,CAAC,CAAC,CAAC,SAASm4C,GAAGn4C,EAAE,CAAC,OAAO,IAAIipD,GAAGjpD,CAAC,CAAC,CAAC,SAASs4C,GAAGt4C,EAAE,CAAC,OAAOm4C,GAAGn4C,CAAC,CAAC,CAAC,SAASy4C,GAAGz4C,EAAE,CAAC,OAAOm4C,GAAGn4C,CAAC,CAAC,CAAC,SAASo4C,GAAGp4C,EAAE,CAAC,OAAO,IAAIopD,GAAGppD,CAAC,CAAC,CAAC,SAASu4C,GAAGv4C,EAAE,CAAC,OAAOo4C,GAAGp4C,CAAC,CAAC,CAAC,SAAS04C,GAAG14C,EAAE,CAAC,OAAOo4C,GAAGp4C,CAAC,CAAC,CAAC,SAASq4C,GAAGr4C,EAAE,CAAC,OAAO,IAAIupD,GAAGvpD,CAAC,CAAC,CAAC,SAASw4C,GAAGx4C,EAAE,CAAC,OAAOq4C,GAAGr4C,CAAC,CAAC,CAAC,SAAS24C,GAAG34C,EAAE,CAAC,OAAOq4C,GAAGr4C,CAAC,CAAC,CAAC,SAASk6C,GAAGl6C,EAAE,CAAC,OAAO,IAAIypD,GAAGzpD,CAAC,CAAC,CAAC,SAASm6C,GAAGn6C,EAAE,CAAC,OAAO,IAAI4pD,GAAG5pD,CAAC,CAAC,CAAC,SAASs6C,GAAGt6C,EAAE,CAAC,OAAO,IAAI0pD,GAAG1pD,CAAC,CAAC,CAAC,SAASu6C,GAAGv6C,EAAE,CAAC,OAAO,IAAI6pD,GAAG7pD,CAAC,CAAC,CAAC,SAASk7C,GAAGl7C,EAAE,CAAC,OAAO,IAAIgpD,GAAGhpD,CAAC,CAAC,CAAC,SAASm7C,GAAGn7C,EAAE,CAAC,OAAO,IAAImpD,GAAGnpD,CAAC,CAAC,CAAC,SAASo7C,GAAGp7C,EAAE,CAAC,OAAO,IAAIspD,GAAGtpD,CAAC,CAAC,CAAC,SAASw6C,GAAGx6C,EAAE,CAAC,OAAO,IAAIumD,GAAGvmD,CAAC,CAAC,CAAC,SAASy6C,GAAGz6C,EAAE,CAAC,OAAO,IAAIsmD,GAAGtmD,CAAC,CAAC,CAAC,SAAS66C,GAAG76C,EAAE,CAAC,OAAO,IAAIymD,GAAGzmD,CAAC,CAAC,CAAC,SAAS86C,GAAG96C,EAAE,CAAC,OAAO,IAAIwmD,GAAGxmD,CAAC,CAAC,CAAC,SAASk8C,GAAGl8C,EAAE,CAAC,OAAO,IAAIqmD,GAAGrmD,CAAC,CAAC,CAAC,SAASm8C,GAAGn8C,EAAE,CAAC,OAAO,IAAImmD,GAAGnmD,CAAC,CAAC,CAAC,SAASs5C,GAAGt5C,EAAE,CAAC,OAAO,IAAI6mD,GAAG7mD,CAAC,CAAC,CAAC,SAASu5C,GAAGv5C,EAAE,CAAC,OAAO,IAAI4mD,GAAG5mD,CAAC,CAAC,CAAC,SAASg8C,GAAGh8C,EAAE,CAAC,OAAO,IAAI3X,GAAG2X,CAAC,CAAC,CAAC,SAASs8C,GAAGt8C,EAAE,CAAC,OAAO,IAAIkmD,GAAGlmD,CAAC,CAAC,CAAC,SAAS64C,GAAG74C,EAAE,CAAC,OAAO,IAAIkqD,GAAGlqD,CAAC,CAAC,CAAC,SAASw8C,GAAGx8C,EAAE,CAAC,OAAO,IAAI+pD,GAAG/pD,CAAC,CAAC,CAAC,IAAIo6C,GAAGE,GAAGD,GAAGE,GAAGS,GAAGE,GAAGD,GAAGE,GAAG,SAASlB,GAAGj6C,EAAE,CAAC,OAAO,IAAIkoD,GAAGloD,CAAC,CAAC,CAAC,SAASg6C,GAAGh6C,EAAE,CAAC,OAAO,IAAImoD,GAAGnoD,CAAC,CAAC,CAAC,SAASi4C,GAAGj4C,EAAE,CAAC,OAAO,IAAIooD,GAAGpoD,CAAC,CAAC,CAAC,SAAS+6C,GAAG/6C,EAAE,CAAC,OAAO,IAAIsnD,GAAGtnD,CAAC,CAAC,CAAC,SAAS67C,GAAG77C,EAAE,CAAC,OAAO,IAAImqD,GAAGnqD,CAAC,CAAC,CAAC,SAAS+4C,GAAG/4C,EAAE,CAAC,OAAO,IAAIsqD,GAAGtqD,CAAC,CAAC,CAAC,SAAS+7C,GAAG/7C,EAAE,CAAC,OAAO,IAAI2qD,GAAG3qD,CAAC,CAAC,CAAC,SAAS84C,GAAG94C,EAAE,CAAC,OAAO,IAAIwqD,GAAGxqD,CAAC,CAAC,CAAC,SAAS07C,GAAG17C,EAAE,CAAC,OAAO,IAAIgrD,GAAGhrD,CAAC,CAAC,CAAC,IAAI/J,GAAG,CAAC,EAAEgK,GAAGhK,GAAG,CAAC,KAAK,IAAIg1D,GAAG,IAAI,IAAIC,GAAG,eAAe,IAAIC,GAAG,mBAAmB,IAAIC,GAAG,oBAAoB,IAAIC,GAAG,wBAAwB,IAAIC,GAAG,gBAAgB,IAAIC,GAAG,KAAK,IAAIC,GAAG,kBAAkB,IAAIC,GAAG,4BAA4B,IAAIC,GAAG,iBAAiB,IAAIC,GAAG,IAAI,IAAIC,GAAG,UAAU,IAAIC,GAAG,OAAO,IAAIC,GAAG,0BAA0B,IAAIC,EAAE,CAAC,EAAE,SAASZ,GAAGnrD,EAAE,EAAE,CAAC,OAAOu+C,GAAGv+C,EAAE,CAAC,CAAC,CAAC,SAASorD,GAAGprD,EAAE,EAAE,CAAC,OAAO8+C,GAAG9+C,EAAE,CAAC,CAAC,CAAC,SAAS+rD,GAAG/rD,EAAE,EAAE,CAAC,OAAO++C,GAAG/+C,EAAE,CAAC,CAAC,CAAC,SAASqrD,GAAGrrD,EAAE,EAAE,CAAC,OAAOw+C,GAAGx+C,EAAE,CAAC,CAAC,CAAC,SAASsrD,GAAGtrD,EAAE,EAAE,CAAC,OAAOs/C,GAAGt/C,EAAE,CAAC,CAAC,CAAC,SAAS6rD,GAAG7rD,EAAE,EAAE,CAAC,OAAO4+C,GAAG5+C,EAAE,CAAC,CAAC,CAAC,SAAS8rD,GAAG9rD,EAAE,EAAE,CAAC,OAAO6+C,GAAG7+C,EAAE,CAAC,CAAC,CAAC,SAASurD,GAAGvrD,EAAE,EAAE,CAAC,OAAOo+C,GAAGp+C,EAAE,CAAC,CAAC,CAAC,SAASyrD,GAAGzrD,EAAE,EAAE,CAAC,OAAOu9C,GAAGv9C,EAAE,CAAC,CAAC,CAAC,SAAS0rD,GAAG1rD,EAAE,EAAE,CAAC,OAAOw9C,GAAGx9C,EAAE,CAAC,CAAC,CAAC,SAASirD,GAAGjrD,EAAE,EAAE,CAAC,OAAOw9C,GAAGx9C,EAAE,CAAC,CAAC,CAAC,SAASwrD,GAAGxrD,EAAE,EAAE,CAAC,OAAOw9C,GAAGx9C,EAAE,CAAC,CAAC,CAAC,SAAS2rD,GAAG3rD,EAAE,EAAE,CAAC,OAAOs9C,GAAGt9C,EAAE,CAAC,CAAC,CAAC,SAASkrD,GAAGlrD,EAAE,EAAE,CAAC,OAAOs9C,GAAGt9C,EAAE,CAAC,CAAC,CAAC,SAAS4rD,GAAG5rD,EAAE,EAAE,CAAC,OAAOs9C,GAAGt9C,EAAE,CAAC,CAAC,CAAC,IAAIzJ,GAAG,CAAC,EAAE0J,GAAG1J,GAAG,CAAC,cAAc,IAAIgsD,EAAE,CAAC,EAAE,IAAIppD,GAAG,CAAC,EAAE8G,GAAG9G,GAAG,CAAC,GAAG,IAAI6yD,GAAG,KAAK,IAAIC,GAAG,GAAG,IAAIC,EAAE,CAAC,EAAE,SAASD,GAAGjsD,EAAE,CAAC,OAAO,IAAI8jD,GAAG9jD,CAAC,CAAC,CAAC,SAASgsD,GAAGhsD,EAAE,CAAC,OAAO+jD,GAAG/jD,CAAC,CAAC,CAAC,SAASksD,GAAGlsD,EAAE,CAAC,OAAOgkD,GAAGhkD,CAAC,CAAC,CAAC,IAAIhf,GAAG,cAAc+7D,EAAE,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,MAAM,IAAI,CAAC,SAASn8C,EAAE,CAAC,GAAG,EAAEA,aAAavb,IAAI,MAAM,IAAI,MAAM,uDAAuD,EAAE,KAAK,MAAMub,CAAC,CAAC,EAAE,SAASurD,GAAGnsD,EAAE,EAAE,CAAC,OAAOA,EAAE,CAAC,CAAC,SAASosD,GAAGpsD,EAAE,EAAE,CAAC,OAAOA,EAAE,CAAC,CAAC,IAAIhd,GAAG,cAAchC,EAAE,CAAC,YAAY4f,EAAE,CAAC,GAAG,MAAM,EAAEA,GAAG,OAAOA,EAAE,CAAC,GAAGA,EAAE,mBAAmB,MAAM,IAAIitC,GAAG,oEAAoE,EAAE,KAAK,QAAQjtC,EAAE,SAAS,WAAW,KAAK,SAAS,KAAK,IAAIA,EAAE,UAAU,CAAC,EAAE,KAAK,SAASA,EAAE,UAAU,EAAE,KAAK,QAAQA,EAAE,SAAS,EAAE,KAAK,KAAKA,EAAE,MAAM,OAAO,KAAK,SAASA,EAAE,SAAS,CAAC,OAAO,MAAM,KAAK,EAAE,QAAQ,KAAK,IAAI,IAAI,KAAK,QAAQ,KAAK,uBAAuB,KAAK,IAAI,4CAA4C,EAAE,KAAK,KAAK,QAAQ,KAAK,OAAO,MAAM,KAAK,YAAYurD,GAAG,KAAK,OAAO,MAAM,KAAK,YAAYC,GAAG,KAAK,QAAQ,QAAQ,KAAK,IAAI,GAAG,KAAK,YAAYA,GAAG,KAAK,YAAYD,GAAG,KAAK,cAAcA,KAAK,KAAK,UAAU,GAAG,CAAC,MAAM,aAAavrD,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,KAAK,KAAK,KAAK,KAAK,SAAS,KAAK,KAAK,KAAK,cAAcurD,GAAG,IAAI,IAAI,CAAC,MAAM,WAAWvrD,EAAEV,EAAE,CAAC,MAAMy8C,GAAGz8C,CAAC,EAAE,IAAI,EAAE,KAAK,gBAAgBA,CAAC,EAAE,GAAG,OAAO,KAAK,YAAY,EAAE,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,IAAI,KAAK,OAAO,KAAK,MAAM,KAAK,WAAW,KAAK,aAAaU,EAAE,KAAK,MAAM,aAAa,KAAK,CAAC,MAAM,WAAWA,EAAE,CAAC,KAAK,aAAa,GAAG,KAAK,SAAS,QAAQ,IAAI,SAAS,KAAK,YAAY,mBAAmB,CAAC,CAAC,gBAAgBA,EAAE,CAACA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAIV,EAAEU,EAAE,KAAK,OAAO,EAAE,OAAOV,GAAG,MAAM,QAAQ,KAAK,4BAA4B,KAAK,OAAO,6CAA6C,OAAO,KAAKU,CAAC,CAAC,EAAE,EAAEV,CAAC,CAAC,EAAE,SAASmsD,GAAGrsD,EAAE,CAAC,OAAO,IAAIhd,GAAGgd,CAAC,CAAC,CAAC,IAAIvR,GAAG,CAAC,cAAc49D,EAAE,EAAMC,GAAG96D,EAAE,EAAE86D,GAAG,aAAa,4BAA4B,IAAI,GAAGtsD,GAAG,CAACA,GAAG,QAAQ,KAAK,+OAA+O,CAAC,CAAC,EAAE,IAAIusD,IAAI,SAASvsD,EAAE,CAACA,EAAEA,EAAE,WAAW,CAAC,EAAE,aAAaA,EAAEA,EAAE,SAAS,CAAC,EAAE,WAAWA,EAAEA,EAAE,UAAU,CAAC,EAAE,YAAYA,EAAEA,EAAE,SAAS,CAAC,EAAE,WAAWA,EAAEA,EAAE,SAAS,CAAC,EAAE,WAAWA,EAAEA,EAAE,SAAS,CAAC,EAAE,WAAWA,EAAEA,EAAE,QAAQ,CAAC,EAAE,UAAUA,EAAEA,EAAE,UAAU,CAAC,EAAE,YAAYA,EAAEA,EAAE,aAAa,CAAC,EAAE,eAAeA,EAAEA,EAAE,SAAS,CAAC,EAAE,WAAWA,EAAEA,EAAE,QAAQ,EAAE,EAAE,UAAUA,EAAEA,EAAE,SAAS,EAAE,EAAE,WAAWA,EAAEA,EAAE,UAAU,EAAE,EAAE,YAAYA,EAAEA,EAAE,UAAU,EAAE,EAAE,YAAYA,EAAEA,EAAE,YAAY,EAAE,EAAE,cAAcA,EAAEA,EAAE,UAAU,EAAE,EAAE,YAAYA,EAAEA,EAAE,WAAW,EAAE,EAAE,aAAaA,EAAEA,EAAE,UAAU,EAAE,EAAE,YAAYA,EAAEA,EAAE,cAAc,EAAE,EAAE,gBAAgBA,EAAEA,EAAE,QAAQ,EAAE,EAAE,UAAUA,EAAEA,EAAE,YAAY,EAAE,EAAE,cAAcA,EAAEA,EAAE,WAAW,EAAE,EAAE,aAAaA,EAAEA,EAAE,UAAU,EAAE,EAAE,YAAYA,EAAEA,EAAE,UAAU,EAAE,EAAE,YAAYA,EAAEA,EAAE,aAAa,GAAG,EAAE,eAAeA,EAAEA,EAAE,cAAc,GAAG,EAAE,gBAAgBA,EAAEA,EAAE,aAAa,GAAG,EAAE,eAAeA,EAAEA,EAAE,aAAa,GAAG,EAAE,eAAeA,EAAEA,EAAE,aAAa,GAAG,EAAE,eAAeA,EAAEA,EAAE,YAAY,GAAG,EAAE,cAAcA,EAAEA,EAAE,cAAc,GAAG,EAAE,gBAAgBA,EAAEA,EAAE,iBAAiB,GAAG,EAAE,mBAAmBA,EAAEA,EAAE,aAAa,GAAG,EAAE,eAAeA,EAAEA,EAAE,YAAY,GAAG,EAAE,cAAcA,EAAEA,EAAE,aAAa,GAAG,EAAE,eAAeA,EAAEA,EAAE,cAAc,GAAG,EAAE,gBAAgBA,EAAEA,EAAE,cAAc,GAAG,EAAE,gBAAgBA,EAAEA,EAAE,gBAAgB,GAAG,EAAE,kBAAkBA,EAAEA,EAAE,cAAc,GAAG,EAAE,gBAAgBA,EAAEA,EAAE,eAAe,GAAG,EAAE,iBAAiBA,EAAEA,EAAE,cAAc,GAAG,EAAE,gBAAgBA,EAAEA,EAAE,kBAAkB,GAAG,EAAE,oBAAoBA,EAAEA,EAAE,YAAY,GAAG,EAAE,cAAcA,EAAEA,EAAE,gBAAgB,GAAG,EAAE,kBAAkBA,EAAEA,EAAE,eAAe,GAAG,EAAE,iBAAiBA,EAAEA,EAAE,cAAc,GAAG,EAAE,gBAAgBA,EAAEA,EAAE,cAAc,GAAG,EAAE,eAAe,GAAGusD,KAAKA,GAAG,CAAC,EAAE,EAAE,IAAIC,IAAI,SAASxsD,EAAE,CAAC,IAAI,GAAG,SAASE,EAAE,CAACA,EAAEA,EAAE,OAAO,CAAC,EAAE,SAASA,EAAEA,EAAE,GAAG,CAAC,EAAE,KAAKA,EAAEA,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,EAAEF,EAAE,0BAA0BA,EAAE,wBAAwB,CAAC,EAAE,CAAC,GAAGwsD,KAAKA,GAAG,CAAC,EAAE,EAAE,IAAIC,GAAG,CAAC,EAAE,SAASvzD,GAAG8G,EAAE,EAAE,CAAC,IAAIE,EAAE,CAAC,SAASF,EAAE,SAAS,SAAS,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,EAAEysD,GAAGzsD,CAAC,EAAEE,CAAC,CAAC,SAASwsD,GAAG1sD,EAAE,CAAC,OAAOysD,GAAGzsD,CAAC,CAAC,CAAC,SAAS1P,GAAG0P,EAAE,CAAC,OAAOysD,GAAGzsD,CAAC,CAAC,CAAC,SAAS2sD,EAAE3sD,EAAE,EAAEE,EAAEE,EAAEC,EAAE,CAAC,IAAI,EAAE,EAAE,YAAYL,CAAC,EAAE,GAAG,GAAG,EAAE,kBAAkB,OAAO,CAAC,IAAI+B,EAAE,EAAE,gBAAgBC,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,OAAOD,EAAE,EAAE,EAAE,cAAcE,EAAEF,EAAE,EAAE,EAAE,WAAW,OAAOA,EAAEA,EAAE,GAAG,EAAE,OAAO,SAAS,OAAO6qD,GAAG,EAAE,WAAW3qD,CAAC,EAAE/B,EAAEE,EAAEC,CAAC,EAAE,GAAG,EAAE,OAAO,UAAU,CAAC,IAAIuC,EAAE,EAAE,OAAO,MAAMb,EAAEC,CAAC,EAAE,OAAO,EAAE,WAAW,MAAMD,EAAEC,CAAC,EAAE,OAAO,CAACc,EAAEkB,IAAI,CAAC,IAAIC,EAAE,QAAQA,EAAErB,EAAEoB,CAAC,KAAK,MAAMC,IAAI,OAAO,OAAOA,EAAE,MAAM,MAAM,CAAC,EAAE,IAAInB,GAAG8pD,GAAG9pD,EAAE5C,EAAEE,EAAEC,CAAC,CAAC,CAAC,CAAC,IAAIqC,EAAEkqD,GAAG,EAAE,WAAW3qD,CAAC,EAAE/B,EAAEE,EAAEC,CAAC,EAAEsC,EAAED,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,SAASC,EAAE,CAAC,EAAEpE,EAAE,cAAcmE,EAAE,MAAMC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW3C,CAAC,EAAE,OAAO,GAAG,EAAE,KAAK,CAAC,SAAS4sD,GAAG5sD,EAAE,EAAEE,EAAEE,EAAE,CAAC,GAAG,CAACC,EAAE,CAAC,EAAEwsD,GAAG7sD,EAAEE,CAAC,EAAE,GAAGE,GAAG,KAAK,CAAC,IAAI2B,EAAE3B,EAAE,yBAAyBC,CAAC,EAAE,GAAG0B,GAAG,KAAK,OAAOA,CAAC,CAAC,IAAI,EAAE7B,EAAE,kBAAkB,KAAK6B,GAAG,CAAC,CAAC,EAAE+qD,GAAGzsD,EAAE0B,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,OAAO,EAAE+qD,GAAGzsD,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,SAAS0sD,GAAG/sD,EAAE,EAAEE,EAAE,CAAC,OAAO,EAAE4sD,GAAG9sD,EAAEE,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS8sD,GAAGhtD,EAAE,EAAE,CAAC,GAAG,CAACE,EAAEE,EAAEC,CAAC,EAAEwsD,GAAG7sD,EAAE,CAAC,EAAE,MAAM,CAAC8sD,GAAG5sD,EAAE,GAAG,EAAE,gBAAgB,EAAEE,EAAEC,CAAC,CAAC,CAAC,SAASysD,GAAG9sD,EAAE,EAAE,CAAC,OAAO,EAAE,GAAGA,CAAC,IAAI,CAAC,GAAGA,CAAC,CAAC,SAAS6sD,GAAG7sD,EAAE,EAAE,CAAC,GAAGA,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAIE,EAAE,GAAG,MAAM,EAAE,oBAAoB,KAAK,GAAGA,EAAE,CAAC,IAAI,EAAE,EAAE,mBAAmB,IAAIF,CAAC,EAAE,GAAG,GAAG,KAAK,OAAO,CAAC,CAAC,IAAII,EAAEJ,EAAE,MAAM,GAAG,EAAEK,EAAE,GAAGD,EAAE,SAAS,EAAEC,EAAE,CAACL,EAAE,EAAE,MAAM,MAAM,CAAC,IAAI,EAAEI,EAAE,CAAC,EAAE,EAAEA,EAAE,SAAS,EAAEA,EAAE,CAAC,EAAE,OAAO2B,EAAE,OAAO3B,EAAEA,EAAE,OAAO,CAAC,CAAC,EAAEC,EAAE,CAAC,EAAE0B,EAAE,CAAC,CAAC,CAAC,OAAO7B,GAAG,EAAE,mBAAmB,IAAIF,EAAEK,CAAC,EAAEA,CAAC,CAAC,SAAS4sD,GAAGjtD,EAAE,EAAEE,EAAE,CAAC,IAAIE,EAAEusD,EAAE,MAAM3sD,EAAE,EAAEE,CAAC,EAAE,GAAGE,IAAI,WAAW,CAACA,EAAEusD,EAAE,mBAAmB3sD,EAAE,EAAEE,CAAC,EAAE,IAAIG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAIA,EAAE,CAAC,EAAE,CAAC,EAAED,EAAE,EAAE,CAAC,EAAEC,EAAE,CAAC,EAAE,CAAC,EAAED,EAAE,EAAE,EAAE,CAAC,EAAE,OAAOC,CAAC,CAAC,OAAOD,CAAC,CAAC,SAAS8sD,GAAGltD,EAAE,CAAC,OAAOA,EAAE,KAAKA,EAAEnR,GAAGmR,CAAC,CAAC,CAAC,IAAImtD,GAAG,CAAC,EAAEltD,GAAGktD,GAAG,CAAC,KAAK,IAAIC,EAAE,CAAC,EAAE,IAAIA,GAAG,CAAC,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,UAAU,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,EAAE,CAAC,OAAO,cAAc,KAAK,aAAa,KAAK,SAAS,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,oBAAoB,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,CAAC,EAAMC,GAAG,CAAC,EAAEptD,GAAGotD,GAAG,CAAC,KAAK,IAAIC,EAAE,CAAC,EAAE,IAAIA,GAAG,CAAC,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,cAAc,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,eAAe,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,eAAe,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,OAAO,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,OAAO,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,aAAa,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,aAAa,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,aAAa,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,K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", - "names": ["tfjs_esm_exports", "__export", "Ei", "Go", "Wo", "vc", "Sc", "Nc", "kc", "no", "Uo", "Ea", "Aa", "Ai", "Di", "Ho", "qo", "Ko", "Xo", "jo", "Yo", "$i", "Hl", "Ul", "bg", "Zo", "Ri", "Da", "$a", "ql", "k_", "Pb", "Xy", "fo", "Jo", "ho", "Ap", "Kl", "Fi", "Qo", "Dp", "ts", "es", "Ra", "Fa", "rs", "ns", "Ma", "Oa", "os", "Zy", "Ta", "jl", "Pa", "ss", "$p", "Rp", "Xl", "is", "Zl", "Yl", "Jd", "y0", "Lb", "Fp", "ls", "La", "Yd", "za", "us", "cs", "Oi", "ps", "Op", "Jl", "Ba", "ms", "fs", "Qd", "ds", "Xi", "Yi", "pp", "Va", "Mi", "Hh", "Ga", "hs", "Yy", "Mp", "go", "Pp", "Ie", "gs", "xs", "ys", "Bo", "Cs", "Xa", "kh", "Un", "bs", "Wa", "Ua", "Ha", "ws", "Is", "__", "qa", "Ka", "ja", "T_", "Qmt", "cd", "Ad", "tft", "vs", "Ns", "Pi", "tu", "Ql", "eu", "Ss", "ks", "Ts", "_s", "Es", "As", "Tc", "Ya", "Ds", "Li", "Ja", "Qa", "tl", "Za", "z0", "$s", "zi", "qr", "wh", "Bi", "Rs", "eft", "Fs", "Os", "Ms", "_c", "po", "Lp", "zp", "Bp", "ru", "E0", "Vp", "as", "Ps", "Je", "Ls", "Vs", "Vi", "Bs", "rl", "zs", "el", "Gs", "pl", "Ws", "Us", "Il", "nl", "sl", "Gi", "Hs", "Wc", "Xs", "js", "qs", "Ks", "Wi", "Qs", "Ys", "Ui", "nu", "il", "ou", "su", "al", "Hi", "Zs", "iu", "ti", "ec", "xo", "ll", "au", "lu", "uu", "ei", "Js", "en", "ri", "ni", "Lt", "le", "ol", "oo", "ul", "cl", "so", "cu", "qi", "pu", "rft", "ml", "Ki", "ji", "_e", "mx", "fx", "TE", "tm", "cc", "ea", "dx", "hx", "gx", "xx", "yx", "bx", "xu", "wx", "ox", "S", "AE", "oa", "Ix", "Cx", "vx", "yu", "Sx", "$E", "W5", "RE", "sa", "Ur", "_y", "wt", "fQ", "J", "Nx", "vr", "ln", "Sn", "ie", "kx", "Tx", "_x", "Ex", "wR", "rm", "Nn", "om", "Ax", "$x", "uft", "bu", "sm", "gh", "mc", "im", "pn", "oO", "ph", "B0", "Rx", "ia", "xQ", "du", "FE", "Fx", "wdt", "Tt", "Idt", "ct", "Ox", "Mx", "mN", "wu", "aa", "bdt", "ydt", "fN", "Bn", "ME", "L", "$r", "Px", "Lx", "Ke", "je", "zx", "fc", "Au", "Co", "kdt", "Tdt", "la", "Qp", "Yz", "Ru", "ua", "Q5", "Ey", "rE", "I0", "Wp", "Xg", "Bmt", "S1", "q6", "K6", "Re", "cn", "wl", "Iu", "fn", "r8", "IR", "YN", "Mr", "ym", "Bx", "Vx", "Gx", "De", "Kr", "eF", "Cu", "yl", "Vn", "hN", "zE", "ftt", "dtt", "VR", "Wx", "Nr", "vu", "qx", "am", "Su", "Fr", "Nu", "lm", "Kx", "oY", "BE", "Bt", "R2", "Sr", "ku", "Xx", "VE", "kn", "Ne", "ah", "GE", "rF", "gl", "lo", "Yx", "Zx", "fJ", "nF", "dc", "q5", "$", "WE", "UE", "Ut", "Ih", "xl", "ui", "ca", "ar", "wr", "k", "HE", "mn", "qE", "KE", "jE", "XE", "Jx", "un", "_u", "px", "Qx", "Cdt", "YE", "ZE", "JE", "QE", "wA", "xc", "IA", "Gn", "CA", "pa", "Sdt", "bl", "sy", "Xp", "hJ", "A_", "rc", "gQ", "oF", "Or", "um", "Ndt", "R", "dr", "vA", "SA", "NA", "kA", "Du", "cm", "pm", "pt", "j5", "$u", "fh", "mm", "fm", "dJ", "Q", "$K", "_dt", "zmt", "Pmt", "Lmt", "LT", "TA", "Tw", "Qr", "iy", "nY", "dm", "hm", "Ot", "gm", "hh", "xm", "yc", "Be", "Eu", "li", "Tu", "sY", "Z5", "rY", "hr", "Se", "Wt", "bm", "Wn", "Fe", "So", "ay", "iY", "at", "mt", "lc", "ly", "na", "ir", "Oe", "ci", "uy", "_A", "EA", "AA", "$A", "Io", "bA", "B", "Rr", "vdt", "cy", "Ac", "Vt", "Im", "py", "lft", "aft", "Cm", "gr", "ur", "RA", "y", "j6", "X6", "my", "Ux", "Kmt", "LF", "K2", "UO", "Km", "Vmt", "Xz", "N$e", "Id", "we", "dy", "ke", "vt", "Mq", "p0", "Pq", "Lq", "zq", "Bq", "br", "r", "Kt", "e", "Vq", "n", "o", "Gl", "V_", "mft", "B_", "He", "yo", "t", "zn", "D_", "$_", "oc", "qe", "bo", "nc", "wo", "M_", "z_", "F_", "Ln", "L_", "Hp", "Zg", "S0", "s", "i", "a", "u", "l", "oi", "R_", "cK", "O_", "Up", "P_", "v0", "xt", "c", "p", "m", "f", "d", "NE", "kE", "eA", "tA", "nN", "nA", "rA", "oN", "sA", "oA", "sN", "aA", "iA", "iN", "uA", "lA", "aN", "h", "g", "pA", "cA", "lN", "mA", "dA", "fA", "ty", "w", "I", "N", "E", "A", "b", "F", "M", "V", "G", "W", "q", "H", "dh", "i_t", "hA", "PX", "LX", "zX", "BX", "VX", "GX", "hc", "Ak", "fw", "Q1", "UH", "HH", "qH", "KH", "DC", "e_", "t_", "it", "re", "Xe", "ye", "de", "Ee", "On", "lr", "Zn", "zr", "P", "U", "x", "D", "Yu", "Y", "dt", "wp", "Pt", "Jt", "Zt", "zo", "K", "Z", "et", "nt", "st", "lt", "ot", "Xu", "ft", "gt", "Ct", "Rt", "Dt", "Ht", "bt", "$t", "or", "eo", "qt", "pe", "xe", "Ae", "Br", "Vr", "Jn", "Qn", "Zr", "Ca", "ki", "Bd", "Wd", "Er", "va", "l_", "Vd", "zl", "bp", "Sa", "FC", "wg", "OC", "Ig", "Jr", "Cg", "MC", "PC", "Og", "qC", "Yt", "ka", "u_", "c_", "vg", "LC", "l0", "zC", "Gd", "BC", "Sg", "Ng", "Bl", "VC", "Tg", "kg", "GC", "Vg", "Ud", "WC", "g_", "Gg", "Ip", "UC", "HC", "h_", "KC", "m_", "jC", "_g", "Eg", "XC", "YC", "ZC", "d_", "JC", "QC", "tv", "Zu", "ev", "rv", "Ag", "nv", "Hd", "ov", "sv", "iv", "u0", "Wg", "f_", "qd", "av", "gv", "lv", "uv", "cv", "Dg", "$g", "pv", "mv", "Rg", "Fg", "fv", "dv", "Mn", "Np", "b_", "y_", "c0", "Oq", "hv", "p_", "xv", "yv", "bv", "wv", "Iv", "Cv", "vv", "Sv", "Nv", "kv", "Tv", "_v", "Ev", "Av", "Dv", "$v", "Rv", "Fv", "Ov", "Mv", "Pv", "Lv", "zv", "Bv", "Vv", "Gv", "Wv", "Uv", "Hv", "qv", "Kv", "jv", "Xv", "Yv", "Zv", "Jv", "Qv", "tS", "eS", "rS", "nS", "oS", "sS", "iS", "aS", "lS", "uS", "cS", "pS", "mS", "fS", "dS", "hS", "gS", "xS", "yS", "bS", "wS", "IS", "CS", "vS", "SS", "NS", "kS", "TS", "_S", "ES", "AS", "DS", "$S", "RS", "FS", "OS", "MS", "PS", "LS", "zS", "BS", "VS", "GS", "WS", "US", "HS", "qS", "KS", "jS", "XS", "YS", "ZS", "JS", "QS", "t0", "e0", "r0", "n0", "Mg", "Pg", "Kd", "o0", "s0", "Cp", "Lg", "vp", "Sp", "i0", "j", "ut", "Ft", "me", "Ye", "Ze", "se", "ne", "yr", "to", "Na", "zg", "jd", "a0", "nn", "Vl", "Bg", "nq", "oq", "sq", "iq", "aq", "lq", "uq", "cq", "pq", "mq", "fq", "dq", "hq", "gq", "xq", "yq", "bq", "wq", "Iq", "Cq", "vq", "Sq", "Nq", "kq", "Tq", "_q", "Eq", "Aq", "Dq", "$q", "Rq", "Ug", "x_", "Hg", "qg", "Fq", "XH", "pnr", "jH", "YH", "$C", "n_", "r_", "Pn", "w_", "Kg", "Gq", "kp", "Wq", "Uq", "Hq", "qq", "_", "$e", "on", "ro", "jt", "Kq", "m0", "_a", "jq", "Xq", "Yq", "Qu", "Zq", "Jq", "fr", "f0", "d0", "jg", "h0", "g0", "Qq", "Tp", "x0", "Vo", "I_", "C_", "Wl", "Ti", "_p", "_i", "v_", "Ju", "tK", "Xd", "Ep", "eK", "Le", "rK", "nK", "tc", "S_", "sK", "aK", "iK", "N_", "b0", "w0", "lK", "Zd", "Zi", "uK", "Gp", "th", "C0", "gK", "Kp", "fu", "yK", "hK", "si", "eh", "sr", "ac", "qp", "Yg", "k0", "ic", "W_", "sc", "sn", "N0", "U_", "ze", "G_", "Ar", "mu", "pK", "Jg", "mK", "fK", "dK", "xK", "Qg", "T0", "bK", "H_", "q_", "K_", "rh", "_0", "j_", "wK", "tx", "oh", "nh", "X_", "ii", "jp", "IK", "Y_", "Z_", "J_", "O", "F0", "sh", "vK", "Xt", "A0", "D0", "$0", "R0", "CK", "ex", "rx", "Q_", "SK", "O0", "nx", "ih", "T", "NK", "kK", "M0", "L0", "EK", "_K", "TK", "P0", "vn", "Gr", "eE", "tE", "C", "fl", "AK", "an", "dl", "Wr", "DK", "hu", "sE", "OK", "sx", "RK", "iE", "FK", "zK", "nE", "ix", "V0", "oE", "aE", "lE", "uE", "G0", "ax", "W0", "Yp", "Ji", "lh", "MK", "PK", "LK", "Cr", "cE", "pE", "mE", "fE", "U0", "H0", "uc", "gu", "dE", "q0", "Qi", "hE", "BK", "VK", "lx", "hl", "Zp", "gE", "GK", "WK", "UK", "HK", "xE", "yE", "qK", "KK", "ta", "bE", "jK", "ux", "Jp", "ai", "cx", "wE", "IE", "CE", "vE", "SE", "K0", "XK", "j0", "X0", "YK", "ZK", "JK", "QK", "tj", "ej", "rj", "nj", "oj", "sj", "ij", "aj", "lj", "uj", "cj", "pj", "mj", "fj", "dj", "hj", "gj", "EE", "pc", "Z0", "uh", "xj", "Y0", "_E", "em", "wj", "Ij", "yj", "J0", "ch", "bj", "io", "Dr", "ra", "ve", "Cj", "vj", "Sj", "Nj", "kj", "Tj", "_j", "Ej", "Aj", "Dj", "DE", "$j", "Rj", "Fj", "Oj", "Mj", "Pj", "Lj", "zj", "Bj", "Vj", "Gj", "Wj", "Uj", "Hj", "qj", "Kj", "jj", "nm", "Xj", "Yj", "Zj", "Dx", "Jj", "Qj", "t6", "e6", "r6", "n6", "o6", "s6", "i6", "a6", "Mt", "OE", "be", "l6", "u6", "c6", "p6", "m6", "f6", "d6", "h6", "g6", "Q0", "PE", "tN", "vo", "x6", "eN", "mh", "y6", "b6", "w6", "I6", "C6", "v6", "S6", "N6", "LE", "k6", "T6", "_6", "E6", "A6", "D6", "$6", "R6", "F6", "O6", "M6", "P6", "L6", "z6", "B6", "V6", "G6", "W6", "U6", "H6", "Hx", "Y6", "Z6", "J6", "Q6", "tX", "eX", "rX", "nX", "oX", "sX", "jx", "iX", "aX", "lX", "uX", "cX", "pX", "mX", "fX", "dX", "hX", "gX", "xX", "yX", "bX", "wX", "IX", "CX", "vX", "SX", "NX", "kX", "TX", "_X", "AX", "EX", "DX", "$X", "RX", "FX", "OX", "MX", "oy", "gA", "XX", "yA", "jX", "UX", "qX", "xA", "HX", "KX", "YX", "ey", "WX", "uN", "cN", "gc", "ry", "ny", "ZX", "JX", "QX", "t5", "e5", "r5", "n5", "o5", "s5", "i5", "a5", "l5", "u5", "c5", "p5", "m5", "f5", "d5", "h5", "g5", "x5", "y5", "b5", "w5", "I5", "C5", "v5", "S5", "N5", "k5", "T5", "_5", "E5", "A5", "D5", "$5", "R5", "F5", "DA", "wm", "pN", "O5", "M5", "P5", "L5", "z5", "B5", "fy", "V5", "G5", "U5", "H5", "K5", "FA", "Y5", "J5", "OA", "t8", "e8", "MA", "PA", "LA", "n8", "vm", "bc", "wc", "Ic", "Cc", "o8", "s8", "hy", "i8", "gy", "a8", "l8", "u8", "zA", "c8", "xy", "p8", "yy", "m8", "BA", "f8", "VA", "d8", "GA", "h8", "WA", "g8", "UA", "x8", "HA", "No", "y8", "qA", "KA", "b8", "I8", "w8", "by", "dN", "wy", "Iy", "jA", "C8", "v8", "S8", "XA", "N8", "YA", "k8", "ZA", "T8", "JA", "_8", "QA", "E8", "Cy", "A8", "vy", "D8", "$8", "t2", "R8", "e2", "F8", "r2", "O8", "n2", "M8", "o2", "s2", "P8", "Hr", "L8", "i2", "z8", "a2", "B8", "l2", "V8", "u2", "G8", "c2", "W8", "p2", "U8", "H8", "m2", "q8", "K8", "f2", "j8", "d2", "X8", "h2", "Y8", "g2", "Z8", "x2", "J8", "y2", "Q8", "b2", "tY", "w2", "eY", "I2", "xh", "Sy", "lY", "xN", "aY", "gN", "uY", "C2", "S2", "_2", "E2", "vN", "ky", "Ny", "k2", "IN", "A2", "D2", "cY", "pY", "mY", "v2", "Sm", "yN", "fY", "dY", "bN", "wN", "N2", "hY", "gY", "yh", "xY", "T2", "bh", "Ty", "CN", "$2", "yY", "kY", "TY", "vY", "NY", "Ec", "F2", "O2", "bY", "wY", "IY", "CY", "M2", "SY", "P2", "EY", "FY", "DY", "$Y", "RY", "AY", "NN", "OY", "H2", "G2", "q2", "W2", "U2", "z2", "SN", "_Y", "B2", "V2", "MY", "L2", "PY", "JY", "QY", "tZ", "eZ", "rZ", "ZY", "Ay", "ma", "TN", "kN", "LY", "lZ", "dZ", "BY", "sZ", "iZ", "UY", "zY", "mZ", "cZ", "uZ", "OZ", "FZ", "aZ", "hZ", "fZ", "HY", "KY", "GY", "qY", "jY", "VY", "XY", "YY", "bZ", "wZ", "IZ", "SZ", "kZ", "NZ", "CZ", "vZ", "AZ", "TZ", "_Z", "EZ", "gZ", "nZ", "yZ", "EN", "oZ", "WY", "_N", "pZ", "j2", "X2", "xZ", "RZ", "$Z", "DZ", "Dy", "Y2", "Z2", "J2", "Q2", "tD", "eD", "rD", "nD", "oD", "sD", "iD", "MZ", "aD", "lD", "PZ", "uD", "cD", "pD", "mD", "fD", "dD", "hD", "gD", "xD", "yD", "bD", "wD", "LZ", "ID", "CD", "vD", "SD", "ND", "kD", "TD", "_D", "ED", "AD", "DD", "$D", "RD", "FD", "OD", "LD", "MD", "PD", "zD", "BD", "VD", "GD", "WD", "UD", "HD", "qD", "KD", "zZ", "jD", "XD", "$y", "AN", "YD", "BZ", "ZD", "JD", "VZ", "QD", "t$", "e$", "r$", "n$", "o$", "s$", "i$", "a$", "l$", "u$", "c$", "DN", "p$", "m$", "GZ", "WZ", "f$", "d$", "h$", "g$", "x$", "y$", "b$", "w$", "I$", "C$", "v$", "S$", "N$", "k$", "T$", "_$", "E$", "A$", "D$", "$$", "$N", "RN", "R$", "F$", "O$", "M$", "P$", "L$", "z$", "B$", "V$", "G$", "W$", "U$", "UZ", "H$", "HZ", "uo", "dn", "z", "_t", "Ry", "Ch", "To", "co", "ON", "kr", "ue", "_o", "Cl", "ko", "Nm", "FN", "fa", "qZ", "vh", "Eo", "q$", "da", "Fy", "tr", "K$", "j$", "Oy", "KZ", "Py", "My", "Fu", "X$", "Y$", "Z$", "J$", "Q$", "km", "Me", "eR", "hn", "MN", "Sh", "tR", "mi", "jZ", "Ly", "rR", "zy", "XZ", "nR", "Ao", "Dc", "fi", "gn", "PN", "cr", "xn", "tn", "Sl", "oR", "Vy", "sR", "iR", "vl", "LN", "Nh", "Tm", "BN", "_m", "Do", "zN", "Gy", "$c", "yn", "aR", "lR", "Wy", "uR", "Ou", "cR", "pR", "YZ", "ZZ", "bn", "Em", "Mu", "Am", "Dm", "$m", "Rm", "Fm", "JZ", "jr", "Rc", "Fc", "Oc", "Mc", "Pc", "Lc", "Om", "mR", "fR", "Te", "ge", "Uy", "Mm", "St", "Gt", "Pm", "hR", "t7", "Th", "Lm", "e7", "Nl", "r7", "Et", "s7", "i7", "n7", "o7", "VN", "di", "Hy", "a7", "ha", "qy", "Ky", "xR", "zc", "l7", "c7", "gR", "u7", "p7", "m7", "h7", "d7", "f7", "GN", "Bc", "zm", "Bm", "Vm", "Gm", "yR", "Ve", "bR", "Ge", "y7", "N7", "S7", "k7", "T7", "C7", "_7", "E7", "x7", "A7", "w7", "b7", "I7", "v7", "g7", "Tl", "XJ", "o9", "V9", "s9", "rk", "nk", "ok", "d9", "g9", "y9", "h9", "x9", "b9", "p9", "R9", "q9", "U9", "i9", "BJ", "VJ", "GJ", "WJ", "UJ", "E9", "A9", "qJ", "YJ", "jJ", "c9", "ZJ", "FJ", "n9", "QJ", "B9", "z9", "w9", "I9", "O9", "M9", "ZR", "JR", "v9", "S9", "RJ", "m9", "MJ", "N9", "k9", "G9", "P9", "L9", "QR", "tF", "C9", "a9", "l9", "u9", "r9", "PJ", "K9", "OJ", "t9", "W9", "e9", "H9", "D9", "HJ", "T9", "_9", "LJ", "JJ", "$9", "zJ", "F9", "KJ", "f9", "ga", "jy", "CR", "D7", "kl", "WN", "Jy", "Wm", "Qy", "wn", "_h", "xa", "Um", "Pu", "$7", "R7", "F7", "O7", "M7", "Vc", "Hm", "P7", "qm", "L7", "z7", "Ah", "Eh", "tb", "Dh", "$h", "SR", "B7", "V7", "UN", "NR", "rb", "nb", "G7", "W7", "U7", "H7", "q7", "K7", "Rh", "j7", "HN", "eb", "kR", "Fh", "_R", "KN", "qN", "ER", "Z7", "ob", "J7", "Q7", "Y7", "AR", "Gc", "sb", "tJ", "ib", "eJ", "ab", "lb", "DR", "rJ", "FR", "$R", "nJ", "OR", "RR", "oJ", "sJ", "MR", "ub", "jm", "cb", "pb", "jN", "$o", "iJ", "XN", "PR", "LR", "aJ", "lJ", "zR", "uJ", "cJ", "mb", "BR", "pJ", "mJ", "rn", "fb", "db", "hb", "gb", "xb", "yb", "bb", "wb", "Ib", "Cb", "Xm", "vb", "Sb", "Nb", "hi", "ZN", "gi", "JN", "kb", "Lu", "UR", "HR", "GR", "fe", "WR", "Ce", "Ym", "Zm", "Jm", "Qm", "tf", "ef", "zu", "Tn", "xi", "Mh", "QN", "xJ", "qR", "yJ", "Oh", "rf", "Uc", "Hc", "nf", "of", "Tb", "sf", "af", "lf", "uf", "bJ", "cf", "tk", "ek", "jc", "qc", "El", "pf", "Kc", "mf", "_l", "ff", "wJ", "_b", "Xc", "df", "Yc", "hf", "gf", "xf", "yf", "bf", "wf", "If", "Cf", "vf", "Al", "Sf", "Nf", "kf", "Tf", "_f", "Ef", "Ph", "IJ", "Af", "Df", "$f", "Rf", "Lh", "CJ", "vJ", "SJ", "Ff", "Of", "NJ", "Mf", "Fb", "KR", "Eb", "Pf", "Lf", "Ab", "zf", "Bf", "Db", "Vf", "Gf", "$b", "Wf", "Uf", "Rb", "Hf", "qf", "Ob", "Kf", "kJ", "TJ", "jf", "Xf", "_J", "EJ", "Yf", "jR", "Zf", "DJ", "XR", "Jf", "zh", "Bh", "$J", "YR", "Qf", "oQ", "aQ", "j9", "X9", "Z9", "J9", "eQ", "sQ", "rQ", "nQ", "iQ", "lQ", "Q9", "tQ", "Y9", "cQ", "uQ", "pQ", "Mb", "sF", "mQ", "dQ", "_n", "iF", "sk", "zb", "v", "pr", "In", "Bb", "ik", "yi", "Vh", "bi", "ak", "yQ", "lk", "bQ", "uk", "wQ", "ck", "IQ", "pk", "CQ", "mk", "vQ", "fk", "SQ", "dk", "NQ", "hk", "kQ", "gk", "TQ", "xk", "_Q", "yk", "EQ", "bk", "AQ", "wk", "DQ", "Ik", "$Q", "Ck", "RQ", "vk", "FQ", "Sk", "OQ", "Nk", "MQ", "Gh", "Vb", "jb", "Wb", "Kb", "Gb", "Yb", "qb", "Xb", "Ub", "Hb", "aF", "kk", "PQ", "lF", "uF", "Zb", "ae", "cF", "pF", "Hn", "mF", "td", "Jb", "Qb", "ed", "fF", "dF", "hF", "gF", "xF", "yF", "bF", "wF", "Tk", "IF", "CF", "vF", "tw", "SF", "NF", "kF", "TF", "_F", "EF", "AF", "DF", "$F", "RF", "FF", "OF", "_k", "Wh", "Ek", "Bu", "utt", "ctt", "MF", "ott", "stt", "rd", "PF", "itt", "att", "ltt", "Uh", "ew", "ptt", "mtt", "htt", "sd", "wi", "ld", "od", "ud", "jF", "QF", "tO", "eO", "nO", "Yk", "rO", "XF", "KF", "UF", "zF", "rw", "Vu", "BF", "Dk", "VF", "nw", "GF", "gtt", "WF", "xtt", "nd", "qh", "Uk", "$k", "Kh", "Rk", "HF", "sw", "qF", "Dl", "Gk", "er", "Bk", "Lk", "zk", "ow", "Vk", "Pk", "Mk", "Ok", "iw", "Wk", "Fk", "Zc", "En", "ytt", "btt", "aw", "jh", "YF", "lw", "Hk", "ZF", "uw", "cw", "id", "Xh", "qk", "Kk", "pw", "jk", "Xk", "ad", "JF", "wtt", "mw", "tt", "Itt", "Qk", "fd", "dw", "tT", "Jk", "eT", "Jc", "rT", "oT", "iT", "lT", "aT", "hw", "gw", "cT", "uT", "mT", "pT", "xw", "fT", "yw", "dT", "hT", "Yh", "gT", "xT", "yT", "bw", "ww", "Iw", "tp", "wT", "Ii", "OO", "Zk", "ep", "Cw", "vw", "hd", "LO", "CT", "vT", "Sw", "rp", "np", "op", "NT", "Nw", "kw", "dd", "sp", "Ctt", "sO", "Qt", "Ir", "iO", "pd", "Xr", "aO", "Ro", "lO", "Fo", "uO", "oe", "md", "vtt", "ya", "cO", "Stt", "pO", "_r", "At", "An", "Ntt", "mO", "nT", "fO", "sT", "dO", "ktt", "hO", "Ttt", "gO", "_tt", "xO", "Ett", "yO", "Att", "bO", "Dtt", "wO", "$tt", "IO", "Rtt", "CO", "Ftt", "vO", "Ott", "SO", "Mtt", "Qc", "NO", "Ptt", "kO", "Ltt", "TO", "We", "_O", "ztt", "EO", "Btt", "Vtt", "Gtt", "Wtt", "AO", "Utt", "Htt", "DO", "Oo", "bT", "RO", "$O", "qtt", "FO", "IT", "MO", "Mo", "PO", "Ktt", "zO", "jtt", "BO", "Xtt", "VO", "ST", "Ytt", "Ztt", "Zh", "GO", "Jh", "WO", "kT", "HO", "TT", "qO", "Jtt", "_T", "KO", "ET", "jO", "AT", "XO", "ip", "te", "YO", "DT", "ZO", "Qtt", "JO", "tet", "QO", "eet", "tM", "ret", "eM", "net", "rM", "oet", "nM", "set", "oM", "iet", "sM", "aet", "iM", "uet", "aM", "cet", "lM", "pet", "met", "uM", "fet", "cM", "gd", "_w", "Ew", "pM", "det", "mM", "het", "fM", "get", "dM", "xet", "hM", "yet", "gM", "bet", "xM", "wet", "yM", "Iet", "bM", "Cet", "wM", "vet", "IM", "ba", "CM", "Gu", "vM", "$T", "SM", "Net", "NM", "ket", "kM", "Tet", "TM", "_et", "_M", "Eet", "EM", "Aet", "AM", "Det", "DM", "$et", "$M", "Ret", "RM", "Fet", "FM", "Oet", "OM", "Met", "MM", "RT", "PM", "Pet", "LM", "Let", "zM", "zet", "BM", "VM", "GM", "WM", "Bet", "UM", "$l", "HM", "Vet", "qM", "Get", "KM", "Wet", "Uet", "Het", "qet", "Ket", "jet", "Xet", "jM", "xd", "XM", "Yet", "Qh", "tg", "Aw", "Zet", "Jet", "FT", "Qet", "trt", "YM", "eg", "ert", "ZM", "JM", "rrt", "QM", "nrt", "tP", "ort", "eP", "srt", "rP", "irt", "nP", "art", "oP", "lrt", "sP", "urt", "iP", "crt", "aP", "prt", "lP", "mrt", "frt", "uP", "drt", "cP", "hrt", "grt", "pP", "xrt", "mP", "yrt", "fP", "OT", "dP", "brt", "hP", "wrt", "gP", "Irt", "xP", "Crt", "yP", "bP", "wP", "vrt", "IP", "Srt", "CP", "Nrt", "vP", "krt", "Trt", "SP", "kP", "MT", "NP", "_rt", "TP", "Ert", "Art", "_P", "Drt", "$rt", "EP", "Rrt", "Frt", "AP", "Ort", "DP", "rg", "$P", "RP", "FP", "PT", "OP", "Mrt", "Dw", "Prt", "Lrt", "MP", "zrt", "PP", "Brt", "LP", "Vrt", "zP", "Grt", "BP", "Wrt", "VP", "Urt", "GP", "Hrt", "WP", "qrt", "UP", "Krt", "HP", "jrt", "qP", "KP", "Xrt", "jP", "Yrt", "XP", "Zrt", "Jrt", "YP", "Qrt", "ZP", "tnt", "JP", "ent", "rnt", "nnt", "QP", "ont", "tL", "snt", "eL", "int", "rL", "ant", "nL", "lnt", "oL", "unt", "sL", "cnt", "iL", "pnt", "aL", "mnt", "lL", "fnt", "uL", "dnt", "cL", "hnt", "pL", "mL", "gnt", "fL", "xnt", "dL", "ynt", "hL", "bnt", "gL", "wnt", "xL", "Int", "yL", "Cnt", "bL", "vnt", "wL", "Snt", "IL", "Nnt", "CL", "knt", "vL", "Dnt", "$nt", "SL", "Tnt", "_nt", "Ant", "Ent", "ng", "Rnt", "NL", "Fnt", "kL", "Ont", "TL", "Mnt", "Ci", "Hnt", "ag", "QT", "DL", "Pw", "ht", "VT", "WT", "YT", "UT", "KT", "qT", "jT", "GT", "Fl", "yd", "$L", "r1", "Wnt", "JT", "ZT", "Ol", "wd", "t1", "n1", "AL", "e1", "Kn", "o1", "s1", "Uu", "i1", "zw", "HT", "Mw", "qnt", "Knt", "Lw", "Unt", "bd", "ig", "XT", "ap", "$w", "qn", "Lnt", "Pnt", "Wu", "Yr", "Pr", "lp", "_L", "og", "wa", "EL", "sg", "znt", "Bnt", "Vnt", "Rl", "Gnt", "RL", "Rw", "Fw", "Ow", "BT", "jnt", "kt", "Ue", "vi", "up", "Xnt", "FL", "Cd", "vd", "Bw", "OL", "ML", "Vw", "Ynt", "Qnt", "rot", "Znt", "eot", "Jnt", "tot", "iot", "Nd", "yot", "wot", "Cot", "Sot", "kot", "Tot", "_ot", "PL", "xot", "bot", "Iot", "vot", "Not", "Eot", "Aot", "LL", "aot", "hot", "uot", "pot", "lot", "got", "cot", "mot", "fot", "dot", "not", "oot", "sot", "cp", "kd", "Td", "_d", "zt", "BL", "a1", "zL", "VL", "GL", "he", "Gw", "Ww", "Uw", "Hw", "Rot", "lg", "qw", "g1", "b1", "m1", "h1", "p1", "c1", "d1", "f1", "u1", "l1", "I1", "w1", "v1", "C1", "jw", "Zw", "Kw", "Yw", "Xw", "x1", "y1", "ug", "Fot", "WL", "Jw", "UL", "HL", "qL", "KL", "jL", "XL", "YL", "ZL", "JL", "QL", "tz", "ez", "rz", "nz", "oz", "sz", "iz", "az", "lz", "uz", "cz", "pz", "mz", "fz", "dz", "hz", "gz", "xz", "yz", "bz", "wz", "Qw", "Iz", "Cz", "vz", "tI", "Sz", "Nz", "kz", "Tz", "_z", "Ez", "Az", "Dz", "$z", "mp", "Rz", "N1", "rr", "Fz", "eI", "Ed", "Oot", "rI", "Mz", "Pz", "Oz", "Mot", "Pot", "Lot", "Lr", "xr", "Lz", "k1", "zz", "Bz", "Vz", "Ia", "Gz", "Uz", "Hz", "qz", "Kz", "jz", "Dn", "nI", "Bot", "Vot", "Got", "oI", "Wot", "Uot", "Hot", "qot", "Kot", "Dd", "$n", "Xn", "jn", "nr", "Zz", "Rn", "Jz", "T1", "_1", "jot", "Qz", "E1", "A1", "Xot", "t3", "Po", "It", "ce", "Ml", "$d", "D1", "cg", "e3", "pg", "r3", "n3", "rt", "o3", "mg", "sI", "Zot", "Yn", "iI", "Jot", "aI", "Hu", "s3", "fp", "i3", "Pe", "a3", "$1", "dp", "Qot", "l3", "u3", "tst", "c3", "est", "rst", "p3", "nst", "ost", "m3", "f3", "sst", "d3", "lI", "uI", "cI", "h3", "ist", "g3", "ast", "x3", "pI", "mI", "y3", "b3", "fI", "lst", "w3", "ust", "I3", "cst", "pst", "C3", "mst", "fst", "v3", "dst", "hst", "S3", "gst", "xst", "yst", "N3", "bst", "wst", "k3", "Si", "qu", "Ist", "T3", "Cst", "_3", "dI", "hI", "vst", "E3", "Sst", "A3", "Nst", "D3", "gI", "xI", "kst", "$3", "yI", "Tst", "R1", "bI", "_st", "Ni", "R3", "Est", "F3", "Ast", "O3", "Dst", "$st", "Rst", "M3", "Fst", "P3", "Ost", "F1", "L3", "Pl", "z3", "Mst", "B3", "O1", "V3", "G3", "Pst", "W3", "wI", "II", "Lst", "U3", "CI", "H3", "zst", "q3", "vI", "NI", "SI", "hp", "K3", "Rd", "Bst", "M1", "j3", "Fd", "kI", "Od", "TI", "_I", "EI", "AI", "Vst", "X3", "DI", "$I", "RI", "FI", "Gst", "Y3", "OI", "Wst", "Z3", "Ust", "J3", "Hst", "Q3", "qst", "tB", "Kst", "jst", "Xst", "eB", "Yst", "Zst", "rB", "MI", "Jst", "nB", "gp", "fg", "oB", "sB", "PI", "Qst", "iB", "tit", "aB", "eit", "lB", "LI", "rit", "uB", "Md", "Pd", "nit", "cB", "zI", "BI", "oit", "pB", "sit", "mB", "VI", "iit", "fB", "GI", "ait", "dB", "lit", "hB", "uit", "cit", "pit", "gB", "mit", "fit", "dit", "xB", "hit", "git", "xit", "yB", "yit", "bit", "bB", "wit", "Iit", "P1", "wB", "WI", "IB", "CB", "Cit", "vB", "dg", "UI", "vit", "SB", "HI", "Ll", "NB", "qI", "kB", "TB", "Sit", "_B", "Nit", "kit", "Tit", "EB", "KI", "jI", "AB", "_it", "Ld", "L1", "Eit", "DB", "Ait", "$B", "XI", "Dit", "RB", "YI", "$it", "z1", "FB", "Rit", "Fit", "Oit", "OB", "Mit", "Pit", "Lit", "MB", "zit", "PB", "Bit", "Vit", "LB", "Git", "Wit", "zB", "Uit", "Hit", "BB", "qit", "Kit", "jit", "VB", "Xit", "Yit", "Zit", "GB", "Jit", "WB", "Qit", "tat", "eat", "UB", "rat", "nat", "HB", "oat", "sat", "iat", "qB", "aat", "lat", "KB", "uat", "cat", "pat", "jB", "ZI", "JI", "mat", "XB", "QI", "fat", "YB", "ZB", "B1", "JB", "dat", "hat", "gat", "QB", "xat", "tV", "yat", "eV", "tC", "eC", "bat", "rV", "wat", "nV", "oV", "sV", "iV", "aV", "Iat", "lV", "Cat", "vat", "Sat", "uV", "rC", "nC", "Nat", "cV", "kat", "Tat", "_at", "pV", "oC", "Eat", "Aat", "V1", "mV", "fV", "G1", "dV", "W1", "hV", "Dat", "gV", "$at", "Rat", "Fat", "xV", "Oat", "Mat", "yV", "Pat", "Lat", "bV", "zat", "Bat", "wV", "sC", "Vat", "IV", "hg", "CV", "vV", "SV", "Gat", "NV", "iC", "aC", "U1", "kV", "Wat", "Uat", "Hat", "TV", "qat", "_V", "Kat", "EV", "jat", "AV", "Xat", "DV", "H1", "$V", "Yat", "Zat", "RV", "Jat", "Qat", "tlt", "FV", "elt", "rlt", "nlt", "OV", "lC", "uC", "olt", "MV", "cC", "slt", "PV", "pC", "mC", "ilt", "LV", "fC", "alt", "zV", "dC", "hC", "llt", "BV", "gC", "VV", "ult", "clt", "GV", "plt", "mlt", "WV", "Ku", "xC", "flt", "UV", "yC", "dlt", "HV", "bC", "hlt", "qV", "glt", "xlt", "KV", "ylt", "blt", "wlt", "jV", "Ilt", "Clt", "XV", "vlt", "Slt", "Nlt", "YV", "klt", "Tlt", "ZV", "_lt", "Elt", "JV", "Alt", "QV", "Dlt", "tG", "$lt", "eG", "Rlt", "rG", "Flt", "nG", "Olt", "oG", "Mlt", "sG", "iG", "Plt", "aG", "Llt", "zlt", "lG", "uG", "Blt", "cG", "Vlt", "pG", "Glt", "mG", "wC", "Wlt", "fG", "Ult", "dG", "Hlt", "hG", "qlt", "gG", "Klt", "jlt", "xG", "Xlt", "Ylt", "yG", "Zlt", "bG", "IC", "Jlt", "q1", "wG", "CC", "vC", "xp", "IG", "Qlt", "CG", "SC", "tut", "vG", "eut", "SG", "rut", "NG", "NC", "nut", "kG", "out", "Nt", "ju", "TG", "sut", "iut", "_G", "yt", "EG", "AG", "DG", "ee", "aut", "$G", "RG", "lut", "uut", "FG", "yp", "OG", "MG", "cut", "mo", "mut", "put", "PG", "Cn", "LG", "fut", "dut", "zG", "BG", "hut", "gut", "VG", "kC", "GG", "WG", "UG", "HG", "qG", "KG", "jG", "XG", "xut", "yut", "YG", "ZG", "but", "wut", "JG", "QG", "Iut", "Cut", "tW", "eW", "vut", "Sut", "rW", "mr", "nW", "oW", "Nut", "kut", "sW", "Lo", "Tut", "_ut", "Eut", "iW", "Aut", "aW", "lW", "Dut", "$ut", "uW", "Rut", "cW", "Fut", "pW", "Fn", "mW", "fW", "dW", "Out", "Mut", "hW", "K1", "gW", "xW", "Put", "Lut", "yW", "bW", "zut", "But", "wW", "IW", "Vut", "Gut", "CW", "vW", "Wut", "Uut", "SW", "NW", "Hut", "qut", "kW", "TW", "_W", "j1", "EW", "Kut", "jut", "AW", "DW", "Xut", "Yut", "$W", "RW", "Zut", "Jut", "FW", "OW", "Qut", "tct", "MW", "PW", "ect", "rct", "LW", "zW", "nct", "oct", "BW", "VW", "sct", "ict", "GW", "WW", "act", "lct", "UW", "HW", "uct", "cct", "qW", "KW", "pct", "mct", "jW", "XW", "YW", "fct", "dct", "ZW", "hct", "JW", "QW", "tU", "TC", "eU", "rU", "X1", "nU", "oU", "gct", "xct", "sU", "iU", "yct", "aU", "lU", "bct", "wct", "uU", "cU", "Ict", "Cct", "pU", "mU", "vct", "Sct", "fU", "dU", "Nct", "kct", "hU", "gU", "Tct", "_ct", "xU", "Ect", "yU", "Act", "bU", "wU", "IU", "CU", "vU", "Dct", "$ct", "SU", "Rct", "NU", "Fct", "kU", "TU", "Oct", "Mct", "_U", "EU", "AU", "Pct", "DU", "$U", "Lct", "RU", "zct", "FU", "OU", "Bct", "Vct", "MU", "PU", "Gct", "Wct", "LU", "zU", "Uct", "Hct", "BU", "qct", "VU", "GU", "Kct", "jct", "WU", "UU", "Xct", "Yct", "HU", "qU", "Zct", "Jct", "KU", "jU", "Qct", "tpt", "XU", "YU", "ept", "rpt", "ZU", "JU", "npt", "opt", "QU", "t4", "spt", "ipt", "e4", "apt", "r4", "Y1", "n4", "lpt", "upt", "o4", "s4", "cpt", "Z1", "i4", "a4", "ppt", "mpt", "l4", "u4", "fpt", "c4", "p4", "zd", "m4", "dpt", "hpt", "f4", "d4", "gpt", "xpt", "h4", "g4", "ypt", "bpt", "x4", "wpt", "y4", "b4", "Ipt", "Cpt", "w4", "vpt", "I4", "Spt", "C4", "v4", "Npt", "kpt", "_C", "Tpt", "S4", "N4", "_pt", "Ept", "k4", "T4", "Apt", "Dpt", "_4", "$pt", "E4", "Rpt", "A4", "D4", "$4", "R4", "F4", "Fpt", "Opt", "O4", "M4", "Mpt", "Ppt", "P4", "L4", "Lpt", "zpt", "z4", "B4", "Bpt", "Vpt", "V4", "G4", "Gpt", "Wpt", "W4", "U4", "Upt", "Hpt", "H4", "q4", "K4", "j4", "qpt", "Kpt", "X4", "Y4", "jpt", "Xpt", "Z4", "J4", "Ypt", "Zpt", "Q4", "tH", "eH", "Jpt", "Qpt", "rH", "nH", "oH", "sH", "iH", "tmt", "aH", "lH", "emt", "rmt", "uH", "cH", "nmt", "omt", "pH", "mH", "EC", "AC", "smt", "fH", "imt", "dH", "hH", "amt", "lmt", "gH", "umt", "xH", "yH", "bH", "cmt", "wH", "IH", "pmt", "mmt", "CH", "vH", "fmt", "dmt", "SH", "hmt", "NH", "gmt", "kH", "xmt", "TH", "ymt", "_H", "EH", "bmt", "wmt", "AH", "DH", "$H", "RH", "Imt", "Cmt", "FH", "OH", "vmt", "Smt", "MH", "PH", "Nmt", "kmt", "LH", "zH", "Tmt", "_mt", "BH", "Emt", "VH", "Amt", "GH", "Dmt", "WH", "$mt", "J1", "s_", "QH", "i_", "ZH", "Rmt", "eq", "o_", "Omt", "Fmt", "JH", "RC", "xg", "tq", "gg", "a_", "yg", "Mmt", "Gmt", "rq", "Wmt", "Umt", "Hmt", "qmt", "draw_exports", "__export", "AnchorPosition", "DrawBox", "DrawBoxOptions", "DrawFaceLandmarks", "DrawFaceLandmarksOptions", "DrawTextField", "DrawTextFieldOptions", "drawContour", "drawDetections", "drawFaceExpressions", "drawFaceLandmarks", "drawContour", "ctx", "points", "isClosed", "x", "y", "prevIdx", "from", "to", "utils_exports", "__export", "computeReshapedDimensions", "getCenterPoint", "isDimensions", "isEven", "isFloat", "isTensor", "isTensor1D", "isTensor2D", "isTensor3D", "isTensor4D", "isValidNumber", "isValidProbablitiy", "range", "round", "Dimensions", "_Dimensions", "width", "height", "isValidNumber", "isTensor", "tensor", "dim", "Lt", "isTensor1D", "isTensor2D", "isTensor3D", "isTensor4D", "isFloat", "num", "isEven", "round", "prec", "f", "isDimensions", "obj", "computeReshapedDimensions", "width", "height", "inputSize", "scale", "Dimensions", "getCenterPoint", "pts", "sum", "pt", "Point", "range", "start", "step", "_", "i", "isValidNumber", "isValidProbablitiy", "Point", "_Point", "x", "y", "pt", "Box", "_Box", "rect", "isValidNumber", "box", "callee", "allowNegativeDimensions", "_box", "isBbox", "isRect", "x", "y", "width", "height", "Point", "val", "diff", "s", "scaleX", "isDimensions", "scaleY", "padX", "padY", "imgWidth", "imgHeight", "right", "bottom", "clippedX", "clippedY", "newWidth", "newHeight", "clippedWidth", "clippedHeight", "sx", "sy", "imageHeight", "imageWidth", "w", "h", "dx", "dy", "edx", "edy", "ex", "ey", "region", "BoundingBox", "Box", "left", "top", "right", "bottom", "allowNegativeDimensions", "ObjectDetection", "_ObjectDetection", "score", "classScore", "className", "relativeBox", "imageDims", "Dimensions", "Box", "width", "height", "FaceDetection", "_FaceDetection", "ObjectDetection", "score", "relativeBox", "imageDims", "width", "height", "iou", "box1", "box2", "isIOU", "width", "height", "interSection", "minBbox", "pts", "xs", "pt", "ys", "minX", "min", "x", "minY", "y", "maxX", "max", "maxY", "BoundingBox", "nonMaxSuppression", "boxes", "scores", "iouThreshold", "isIOU", "indicesSortedByScore", "score", "boxIndex", "c1", "c2", "c", "pick", "curr", "indices", "outputs", "i", "idx", "currBox", "idxBox", "iou", "_", "j", "normalize", "x", "meanRgb", "B", "r", "g", "b", "avg_r", "Co", "avg_g", "avg_b", "avg_rgb", "ie", "at", "padToSquare", "imgTensor", "isCenterImage", "B", "height", "width", "dimDiff", "paddingAmount", "paddingAxis", "createPaddingTensor", "paddingAmountLocal", "paddingTensorShape", "Co", "paddingTensorAppend", "remainingPaddingAmount", "tensorsToStack", "t", "J", "ie", "shuffleArray", "inputArray", "array", "i", "j", "x", "sigmoid", "x", "inverseSigmoid", "Rect", "Box", "x", "y", "width", "height", "allowNegativeDimensions", "relX", "relY", "relScale", "FaceLandmarks", "relativeFaceLandmarkPositions", "imgDims", "shift", "Point", "width", "height", "Dimensions", "pt", "x", "y", "detection", "options", "box", "FaceDetection", "Box", "useDlibAlignment", "minBoxPadding", "centers", "leftEyeCenter", "rightEyeCenter", "mouthCenter", "distToMouth", "eyeToMouthDist", "size", "refPoint", "getCenterPoint", "Rect", "padding", "minBbox", "FaceLandmarks5", "FaceLandmarks", "pts", "getCenterPoint", "FaceLandmarks68", "FaceLandmarks", "getCenterPoint", "FaceMatch", "label", "distance", "withDistance", "round", "LabeledBox", "Box", "box", "callee", "isValidNumber", "label", "LabeledFaceDescriptors", "_LabeledFaceDescriptors", "label", "descriptors", "desc", "d", "json", "PredictedBox", "LabeledBox", "box", "callee", "isValidProbablitiy", "label", "score", "classScore", "isWithFaceDetection", "obj", "FaceDetection", "extendWithFaceDetection", "sourceObj", "detection", "createBrowserEnv", "fetch", "isNodejs", "createFileSystem", "fs", "requireFsError", "isNodejs", "err", "filePath", "resolve", "reject", "buffer", "createNodejsEnv", "Canvas", "Image", "Video", "createCanvasElement", "createImageElement", "createVideoElement", "fetch", "fileSystem", "createFileSystem", "isBrowser", "environment", "getEnv", "setEnv", "env", "initialize", "isBrowser", "createBrowserEnv", "isNodejs", "createNodejsEnv", "monkeyPatch", "Canvas", "Image", "createFileSystem", "resolveInput", "arg", "env", "getContext2dOrThrow", "canvasArg", "Canvas", "CanvasRenderingContext2D", "env", "canvas", "resolveInput", "ctx", "AnchorPosition", "DrawTextFieldOptions", "options", "anchorPosition", "backgroundColor", "fontColor", "fontSize", "fontStyle", "padding", "DrawTextField", "_DrawTextField", "text", "anchor", "ctx", "l", "w0", "w1", "canvasDims", "isShiftLeft", "isShiftTop", "textFieldWidth", "textFieldHeight", "x", "y", "width", "height", "newX", "newY", "canvasArg", "canvas", "resolveInput", "getContext2dOrThrow", "maxTextWidth", "textHeight", "upperLeft", "textLine", "i", "DrawBoxOptions", "options", "boxColor", "lineWidth", "label", "drawLabelOptions", "defaultDrawLabelOptions", "DrawTextFieldOptions", "DrawBox", "box", "Box", "canvasArg", "ctx", "getContext2dOrThrow", "x", "y", "width", "height", "DrawTextField", "drawDetections", "canvasArg", "detections", "det", "score", "FaceDetection", "isWithFaceDetection", "box", "Box", "label", "round", "DrawBox", "isMediaLoaded", "media", "Image", "Video", "env", "awaitMediaLoaded", "media", "resolve", "reject", "env", "isMediaLoaded", "onError", "e", "onLoad", "bufferToImage", "buf", "resolve", "reject", "reader", "img", "env", "getMediaDimensions", "input", "Image", "Video", "env", "Dimensions", "createCanvas", "width", "height", "createCanvasElement", "env", "canvas", "createCanvasFromMedia", "media", "dims", "ImageData", "isMediaLoaded", "getMediaDimensions", "getContext2dOrThrow", "imageTensorToCanvas", "imgTensor", "canvas", "targetCanvas", "env", "height", "width", "numChannels", "isTensor4D", "imgTensor3D", "B", "_y", "isMediaElement", "input", "Image", "Canvas", "Video", "env", "imageToSquare", "input", "inputSize", "centerImage", "Image", "Canvas", "env", "createCanvas", "dims", "getMediaDimensions", "scale", "width", "height", "targetCanvas", "inputCanvas", "createCanvasFromMedia", "offset", "dx", "dy", "getContext2dOrThrow", "NetInput", "inputs", "treatAsBatchInput", "input", "idx", "isTensor3D", "isTensor4D", "batchSize", "canvas", "env", "createCanvasFromMedia", "range", "_", "batchIdx", "width", "height", "computeReshapedDimensions", "inputSize", "isCenterInputs", "B", "inputTensors", "Lt", "imgTensor", "je", "padToSquare", "fn", "_y", "imageToSquare", "Fe", "t", "J", "toNetInput", "inputs", "NetInput", "inputArgArray", "getIdxHint", "idx", "inputArray", "resolveInput", "input", "i", "isMediaElement", "isTensor3D", "isTensor4D", "batchSize", "awaitMediaLoaded", "extractFaces", "input", "detections", "Canvas", "env", "canvas", "netInput", "toNetInput", "tensorOrCanvas", "imageTensorToCanvas", "ctx", "getContext2dOrThrow", "det", "FaceDetection", "box", "x", "y", "width", "height", "faceImg", "createCanvas", "extractFaceTensors", "imageTensor", "detections", "isTensor3D", "isTensor4D", "B", "imgHeight", "imgWidth", "numChannels", "det", "FaceDetection", "box", "x", "y", "width", "height", "xm", "fetchOrThrow", "url", "init", "fetch", "env", "res", "fetchImage", "uri", "res", "fetchOrThrow", "blob", "bufferToImage", "fetchJson", "uri", "fetchOrThrow", "fetchNetWeights", "uri", "fetchOrThrow", "bufferToVideo", "buf", "resolve", "reject", "video", "env", "fetchVideo", "uri", "res", "fetchOrThrow", "blob", "bufferToVideo", "getModelUris", "uri", "defaultModelName", "defaultManifestFilename", "protocol", "parts", "s", "manifestFile", "modelBaseUri", "loadWeightMap", "uri", "defaultModelName", "manifestUri", "modelBaseUri", "getModelUris", "manifest", "fetchJson", "Mr", "matchDimensions", "input", "reference", "useMediaDimensions", "width", "height", "getMediaDimensions", "NeuralNetwork", "name", "paramPath", "obj", "objProp", "tensor", "param", "ml", "path", "variable", "ir", "throwOnRedispose", "flat", "arr", "weightsOrUrl", "uri", "weightMap", "loadWeightMap", "filePath", "readFile", "env", "manifestUri", "modelBaseUri", "getModelUris", "fetchWeightsFromDisk", "filePaths", "fp", "buf", "loadWeights", "Mr", "manifest", "paramMappings", "params", "weights", "result", "res", "Lt", "depthwiseSeparableConv", "x", "params", "stride", "B", "out", "fm", "denseBlock3", "x", "denseBlockParams", "isFirstLayer", "B", "out1", "Or", "Nn", "depthwiseSeparableConv", "out2", "in3", "out3", "denseBlock4", "isScaleDown", "in4", "out4", "convLayer", "x", "params", "padding", "withRelu", "B", "out", "Nn", "Or", "disposeUnusedWeightTensors", "weightMap", "paramMappings", "path", "pm", "extractConvParamsFactory", "extractWeights", "paramMappings", "channelsIn", "channelsOut", "filterSize", "mappedPrefix", "filters", "_A", "bias", "Oe", "extractFCParamsFactory", "extractWeights", "paramMappings", "channelsIn", "channelsOut", "mappedPrefix", "fc_weights", "ci", "fc_bias", "Oe", "SeparableConvParams", "depthwise_filter", "pointwise_filter", "bias", "extractSeparableConvParamsFactory", "extractWeights", "paramMappings", "channelsIn", "channelsOut", "mappedPrefix", "depthwise_filter", "_A", "pointwise_filter", "bias", "Oe", "SeparableConvParams", "loadSeparableConvParamsFactory", "extractWeightEntry", "prefix", "extractWeightEntryFactory", "weightMap", "paramMappings", "originalPath", "paramRank", "mappedPath", "tensor", "isTensor", "extractWeightsFactory", "weights", "remainingWeights", "extractWeights", "numWeights", "ret", "getRemainingWeights", "extractorsFactory", "extractWeights", "paramMappings", "extractConvParams", "extractConvParamsFactory", "extractSeparableConvParams", "extractSeparableConvParamsFactory", "extractDenseBlock3Params", "channelsIn", "channelsOut", "mappedPrefix", "isFirstLayer", "conv0", "conv1", "conv2", "extractDenseBlock4Params", "conv3", "extractParams", "weights", "paramMappings", "extractWeights", "getRemainingWeights", "extractWeightsFactory", "extractDenseBlock4Params", "extractorsFactory", "dense0", "dense1", "dense2", "dense3", "loadConvParamsFactory", "extractWeightEntry", "prefix", "filters", "bias", "loadParamsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractConvParams", "loadConvParamsFactory", "extractSeparableConvParams", "loadSeparableConvParamsFactory", "extractDenseBlock3Params", "prefix", "isFirstLayer", "conv0", "conv1", "conv2", "extractDenseBlock4Params", "conv3", "extractParamsFromWeightMap", "weightMap", "paramMappings", "extractDenseBlock4Params", "loadParamsFactory", "params", "disposeUnusedWeightTensors", "FaceFeatureExtractor", "NeuralNetwork", "input", "params", "B", "batchTensor", "J", "normalized", "normalize", "out", "denseBlock4", "xu", "toNetInput", "weightMap", "extractParamsFromWeightMap", "weights", "extractParams", "fullyConnectedLayer", "x", "params", "B", "Bt", "extractParams", "weights", "channelsIn", "channelsOut", "paramMappings", "extractWeights", "getRemainingWeights", "extractWeightsFactory", "fc", "extractFCParamsFactory", "extractParamsFromWeightMap", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractFcParams", "prefix", "weights", "bias", "params", "disposeUnusedWeightTensors", "seperateWeightMaps", "weightMap", "featureExtractorMap", "classifierMap", "key", "map", "FaceProcessor", "NeuralNetwork", "_name", "faceFeatureExtractor", "input", "params", "B", "bottleneckFeatures", "NetInput", "fullyConnectedLayer", "throwOnRedispose", "weights", "paramMappings", "extractParams", "weightMap", "featureExtractorMap", "classifierMap", "seperateWeightMaps", "extractParamsFromWeightMap", "cIn", "cOut", "classifierWeightSize", "featureExtractorWeights", "classifierWeights", "FACE_EXPRESSION_LABELS", "FaceExpressions", "probabilities", "expression", "idx", "e0", "e1", "FaceExpressionNet", "FaceProcessor", "faceFeatureExtractor", "FaceFeatureExtractor", "input", "B", "Eu", "toNetInput", "netInput", "out", "probabilitesByBatch", "gr", "t", "data", "predictionsByBatch", "probabilites", "FaceExpressions", "isWithFaceExpressions", "obj", "FaceExpressions", "extendWithFaceExpressions", "sourceObj", "expressions", "drawFaceExpressions", "canvasArg", "faceExpressions", "minConfidence", "textFieldAnchor", "e", "expr", "FaceExpressions", "isWithFaceExpressions", "resultsToDisplay", "exprLocal", "anchor", "isWithFaceDetection", "Point", "DrawTextField", "round", "isWithFaceLandmarks", "obj", "isWithFaceDetection", "FaceLandmarks", "FaceDetection", "calculateFaceAngle", "mesh", "degrees", "radians", "calcLengthBetweenTwoPoints", "a", "b", "angle", "calcYaw", "leftPoint", "midPoint", "rightPoint", "leftToMidpoint", "rightToMidpoint", "calcRoll", "lever", "pivot", "hypotenuse", "opposite", "angleInRadians", "angleInDegrees", "normalizeAngle", "tiltDirection", "calcPitch", "base", "baseCoords", "Point", "midToBaseLength", "direction", "pt", "extendWithFaceLandmarks", "sourceObj", "unshiftedLandmarks", "shift", "landmarks", "rect", "imageDims", "alignedRect", "DrawFaceLandmarksOptions", "options", "drawLines", "drawPoints", "lineWidth", "lineColor", "pointSize", "pointColor", "DrawFaceLandmarks", "faceLandmarks", "canvasArg", "ctx", "getContext2dOrThrow", "FaceLandmarks68", "drawContour", "drawPoint", "pt", "drawFaceLandmarks", "f", "landmarks", "FaceLandmarks", "isWithFaceLandmarks", "version", "extractorsFactory", "extractWeights", "paramMappings", "extractConvParams", "extractConvParamsFactory", "extractSeparableConvParams", "extractSeparableConvParamsFactory", "extractReductionBlockParams", "channelsIn", "channelsOut", "mappedPrefix", "separable_conv0", "separable_conv1", "expansion_conv", "extractMainBlockParams", "channels", "separable_conv2", "extractParams", "weights", "numMainBlocks", "getRemainingWeights", "extractWeightsFactory", "entry_flow_conv_in", "entry_flow_reduction_block_0", "entry_flow_reduction_block_1", "entry_flow", "middle_flow", "range", "idx", "exit_flow_reduction_block", "exit_flow_separable_conv", "exit_flow", "loadParamsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractConvParams", "loadConvParamsFactory", "extractSeparableConvParams", "loadSeparableConvParamsFactory", "extractReductionBlockParams", "mappedPrefix", "separable_conv0", "separable_conv1", "expansion_conv", "extractMainBlockParams", "separable_conv2", "extractParamsFromWeightMap", "numMainBlocks", "entry_flow_conv_in", "entry_flow_reduction_block_0", "entry_flow_reduction_block_1", "entry_flow", "middle_flow", "range", "idx", "exit_flow_reduction_block", "exit_flow_separable_conv", "exit_flow", "disposeUnusedWeightTensors", "conv", "x", "params", "stride", "Nn", "reductionBlock", "isActivateInput", "out", "Or", "depthwiseSeparableConv", "ku", "mainBlock", "TinyXception", "NeuralNetwork", "numMainBlocks", "input", "B", "batchTensor", "J", "normalized", "normalize", "range", "idx", "toNetInput", "weightMap", "extractParamsFromWeightMap", "weights", "extractParams", "extractParams", "weights", "paramMappings", "extractWeights", "getRemainingWeights", "extractWeightsFactory", "extractFCParams", "extractFCParamsFactory", "age", "gender", "extractParamsFromWeightMap", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractFcParams", "prefix", "weights", "bias", "params", "disposeUnusedWeightTensors", "Gender", "AgeGenderNet", "NeuralNetwork", "faceFeatureExtractor", "TinyXception", "input", "params", "B", "bottleneckFeatures", "NetInput", "pooled", "xu", "age", "fullyConnectedLayer", "gender", "Eu", "toNetInput", "netInput", "out", "ages", "gr", "genders", "ageAndGenderTensors", "ageTensor", "i", "predictionsByBatch", "genderTensor", "probMale", "isMale", "genderProbability", "throwOnRedispose", "weights", "paramMappings", "extractParams", "weightMap", "featureExtractorMap", "classifierMap", "seperateWeightMaps", "extractParamsFromWeightMap", "featureExtractorWeights", "classifierWeights", "FaceLandmark68NetBase", "FaceProcessor", "output", "inputSize", "originalDimensions", "inputDimensions", "width", "height", "scale", "batchSize", "B", "createInterleavedTensor", "fillX", "fillY", "Fe", "Co", "getPadding", "batchIdx", "cond", "getPaddingX", "w", "getPaddingY", "_", "input", "out", "toNetInput", "netInput", "landmarkTensors", "gr", "landmarksForBatch", "landmarkTensor", "landmarksArray", "xCoords", "i", "isEven", "yCoords", "FaceLandmarks68", "Point", "t", "FaceLandmark68Net", "FaceLandmark68NetBase", "faceFeatureExtractor", "FaceFeatureExtractor", "extractParamsFromWeightMapTiny", "weightMap", "paramMappings", "extractDenseBlock3Params", "loadParamsFactory", "params", "disposeUnusedWeightTensors", "extractParamsTiny", "weights", "paramMappings", "extractWeights", "getRemainingWeights", "extractWeightsFactory", "extractDenseBlock3Params", "extractorsFactory", "dense0", "dense1", "dense2", "TinyFaceFeatureExtractor", "NeuralNetwork", "input", "params", "B", "batchTensor", "J", "normalized", "normalize", "out", "denseBlock3", "xu", "toNetInput", "weightMap", "extractParamsFromWeightMapTiny", "weights", "extractParamsTiny", "FaceLandmark68TinyNet", "FaceLandmark68NetBase", "faceFeatureExtractor", "TinyFaceFeatureExtractor", "FaceLandmarkNet", "FaceLandmark68Net", "scale", "x", "params", "$", "convLayer", "x", "params", "strides", "withRelu", "padding", "filters", "bias", "out", "Nn", "scale", "Or", "conv", "convNoRelu", "convDown", "extractorsFactory", "extractWeights", "paramMappings", "extractFilterValues", "numFilterValues", "numFilters", "filterSize", "weights", "depth", "isFloat", "B", "Vt", "_A", "extractConvParams", "mappedPrefix", "filters", "bias", "Oe", "extractScaleLayerParams", "numWeights", "biases", "extractConvLayerParams", "conv", "scale", "extractResidualLayerParams", "isDown", "conv1", "conv2", "extractParams", "getRemainingWeights", "extractWeightsFactory", "conv32_down", "conv32_1", "conv32_2", "conv32_3", "conv64_down", "conv64_1", "conv64_2", "conv64_3", "conv128_down", "conv128_1", "conv128_2", "conv256_down", "conv256_1", "conv256_2", "conv256_down_out", "fc", "ci", "extractorsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractScaleLayerParams", "prefix", "weights", "biases", "extractConvLayerParams", "filters", "bias", "scale", "extractResidualLayerParams", "extractParamsFromWeightMap", "conv32_down", "conv32_1", "conv32_2", "conv32_3", "conv64_down", "conv64_1", "conv64_2", "conv64_3", "conv128_down", "conv128_1", "conv128_2", "conv256_down", "conv256_1", "conv256_2", "conv256_down_out", "fc", "isTensor2D", "params", "disposeUnusedWeightTensors", "residual", "x", "params", "out", "conv", "convNoRelu", "Or", "residualDown", "convDown", "pooled", "xu", "zeros", "ke", "isPad", "padShapeX", "zerosW", "ie", "padShapeY", "zerosH", "FaceRecognitionNet", "NeuralNetwork", "input", "params", "B", "batchTensor", "J", "normalized", "normalize", "out", "convDown", "ku", "residual", "residualDown", "globalAvg", "Bt", "toNetInput", "_a", "dim", "netInput", "faceDescriptorTensors", "gr", "faceDescriptorsForBatch", "t", "weightMap", "extractParamsFromWeightMap", "weights", "extractParams", "createFaceRecognitionNet", "weights", "net", "FaceRecognitionNet", "extendWithFaceDescriptor", "sourceObj", "descriptor", "isWithAge", "obj", "extendWithAge", "sourceObj", "age", "isWithGender", "obj", "isValidProbablitiy", "extendWithGender", "sourceObj", "gender", "genderProbability", "extractorsFactory", "extractWeights", "paramMappings", "extractDepthwiseConvParams", "numChannels", "mappedPrefix", "filters", "_A", "batch_norm_scale", "Oe", "batch_norm_offset", "batch_norm_mean", "batch_norm_variance", "extractConvParams", "channelsIn", "channelsOut", "filterSize", "isPointwiseConv", "bias", "extractPointwiseConvParams", "extractConvPairParams", "depthwise_conv", "pointwise_conv", "extractMobilenetV1Params", "conv_0", "conv_1", "conv_2", "conv_3", "conv_4", "conv_5", "conv_6", "conv_7", "conv_8", "conv_9", "conv_10", "conv_11", "conv_12", "conv_13", "extractPredictionLayerParams", "box_encoding_0_predictor", "class_predictor_0", "box_encoding_1_predictor", "class_predictor_1", "box_encoding_2_predictor", "class_predictor_2", "box_encoding_3_predictor", "class_predictor_3", "box_encoding_4_predictor", "class_predictor_4", "box_encoding_5_predictor", "class_predictor_5", "extractParams", "weights", "getRemainingWeights", "extractWeightsFactory", "mobilenetv1", "prediction_layer", "output_layer", "uy", "extractorsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractPointwiseConvParams", "prefix", "idx", "mappedPrefix", "filters", "batch_norm_offset", "extractConvPairParams", "prefixDepthwiseConv", "mappedPrefixDepthwiseConv", "mappedPrefixPointwiseConv", "batch_norm_scale", "batch_norm_mean", "batch_norm_variance", "extractMobilenetV1Params", "extractConvParams", "bias", "extractBoxPredictorParams", "box_encoding_predictor", "class_predictor", "extractPredictionLayerParams", "extractParamsFromWeightMap", "extra_dim", "isTensor3D", "params", "disposeUnusedWeightTensors", "pointwiseConvLayer", "x", "params", "strides", "B", "out", "Nn", "vr", "epsilon", "depthwiseConvLayer", "x", "params", "strides", "B", "out", "ia", "oa", "vr", "getStridesForLayerIdx", "layerIdx", "idx", "mobileNetV1", "conv11", "pointwiseConvLayer", "param", "depthwiseConvStrides", "IOU", "boxes", "i", "j", "boxesData", "yminI", "xminI", "ymaxI", "xmaxI", "yminJ", "xminJ", "ymaxJ", "xmaxJ", "areaI", "areaJ", "intersectionYmin", "intersectionXmin", "intersectionYmax", "intersectionXmax", "intersectionArea", "nonMaxSuppression", "scores", "maxOutputSize", "iouThreshold", "scoreThreshold", "numBoxes", "outputSize", "candidates", "score", "boxIndex", "c", "c1", "c2", "suppressFunc", "x", "selected", "originalScore", "iou", "getCenterCoordinatesAndSizesLayer", "x", "vec", "gr", "Vt", "sizes", "at", "centers", "ct", "decodeBoxesLayer", "x0", "x1", "div0_out", "$", "Ke", "add0_out", "div1_out", "add1_out", "Fe", "outputLayer", "boxPredictions", "classPredictions", "params", "B", "batchSize", "boxes", "R", "Rr", "scoresAndClasses", "Qr", "Ot", "scores", "boxesByBatch", "scoresByBatch", "boxPredictionLayer", "x", "params", "B", "batchSize", "boxPredictionEncoding", "R", "convLayer", "classPrediction", "predictionLayer", "x", "conv11", "params", "B", "conv0", "pointwiseConvLayer", "conv1", "conv2", "conv3", "conv4", "conv5", "conv6", "conv7", "boxPrediction0", "boxPredictionLayer", "boxPrediction1", "boxPrediction2", "boxPrediction3", "boxPrediction4", "boxPrediction5", "boxPredictions", "ie", "classPredictions", "SsdMobilenetv1Options", "minConfidence", "maxResults", "SsdMobilenetv1", "NeuralNetwork", "input", "params", "B", "batchTensor", "J", "x", "at", "ct", "features", "mobileNetV1", "boxPredictions", "classPredictions", "predictionLayer", "outputLayer", "toNetInput", "options", "maxResults", "minConfidence", "SsdMobilenetv1Options", "netInput", "_boxes", "_scores", "boxes", "scores", "i", "scoresData", "indices", "nonMaxSuppression", "reshapedDims", "inputSize", "padX", "padY", "boxesData", "results", "idx", "top", "bottom", "val", "left", "right", "FaceDetection", "Rect", "weightMap", "extractParamsFromWeightMap", "weights", "extractParams", "createSsdMobilenetv1", "weights", "net", "SsdMobilenetv1", "createFaceDetectionNet", "FaceDetectionNet", "IOU_THRESHOLD", "BOX_ANCHORS", "Point", "BOX_ANCHORS_SEPARABLE", "MEAN_RGB_SEPARABLE", "DEFAULT_MODEL_NAME", "DEFAULT_MODEL_NAME_SEPARABLE_CONV", "isNumber", "arg", "validateConfig", "config", "c", "a", "leaky", "x", "B", "min", "$", "pt", "Or", "at", "convWithBatchNorm", "x", "params", "B", "out", "mn", "Nn", "at", "$", "leaky", "depthwiseSeparableConv", "x", "params", "B", "out", "mn", "fm", "leaky", "extractorsFactory", "extractWeights", "paramMappings", "extractConvParams", "extractConvParamsFactory", "extractBatchNormParams", "size", "mappedPrefix", "sub", "Oe", "truediv", "extractConvWithBatchNormParams", "channelsIn", "channelsOut", "conv", "bn", "extractSeparableConvParams", "extractSeparableConvParamsFactory", "extractParams", "weights", "config", "boxEncodingSize", "filterSizes", "getRemainingWeights", "extractWeightsFactory", "params", "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", "s8", "conv0", "conv1", "conv2", "conv3", "conv4", "conv5", "conv6", "conv7", "conv8", "extractorsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractBatchNormParams", "prefix", "sub", "truediv", "extractConvParams", "filters", "bias", "extractConvWithBatchNormParams", "conv", "bn", "extractSeparableConvParams", "loadSeparableConvParamsFactory", "extractParamsFromWeightMap", "config", "params", "numFilters", "disposeUnusedWeightTensors", "TinyYolov2Options", "inputSize", "scoreThreshold", "_TinyYolov2Base", "NeuralNetwork", "config", "validateConfig", "x", "params", "out", "convWithBatchNorm", "ku", "convLayer", "leaky", "depthwiseSeparableConv", "input", "inputSize", "B", "batchTensor", "J", "normalize", "toNetInput", "forwardParams", "scoreThreshold", "TinyYolov2Options", "netInput", "out0", "gr", "inputDimensions", "results", "boxes", "res", "scores", "classScores", "classNames", "nonMaxSuppression", "box", "idx", "ObjectDetection", "weightMap", "extractParamsFromWeightMap", "weights", "filterSizes", "numFilters", "extractParams", "outputTensor", "inputBlobDimensions", "width", "height", "correctionFactorX", "correctionFactorY", "numCells", "numBoxes", "boxesTensor", "scoresTensor", "classScoresTensor", "reshaped", "Eu", "pt", "scoresData", "boxesData", "row", "col", "anchor", "score", "sigmoid", "ctX", "ctY", "widthLocal", "heightLocal", "y", "pos", "classScore", "label", "BoundingBox", "classesTensor", "classesData", "_", "i", "max", "curr", "TinyYolov2Base", "TinyYolov2", "TinyYolov2Base", "withSeparableConvs", "config", "IOU_THRESHOLD", "BOX_ANCHORS_SEPARABLE", "MEAN_RGB_SEPARABLE", "BOX_ANCHORS", "input", "forwardParams", "det", "FaceDetection", "DEFAULT_MODEL_NAME_SEPARABLE_CONV", "DEFAULT_MODEL_NAME", "weightMap", "createTinyYolov2", "weights", "withSeparableConvs", "net", "TinyYolov2", "TinyFaceDetectorOptions", "TinyYolov2Options", "ComposableTask", "onfulfilled", "extractAllFacesAndComputeResults", "parentResults", "input", "computeResults", "extractedFaces", "getRectForAlignment", "alignedRect", "faceBoxes", "parentResult", "isWithFaceLandmarks", "faces", "Lt", "extractFaceTensors", "extractFaces", "results", "f", "extractSingleFaceAndComputeResult", "computeResult", "IOU_THRESHOLD", "BOX_ANCHORS", "Point", "MEAN_RGB", "TinyFaceDetector", "TinyYolov2Base", "config", "IOU_THRESHOLD", "BOX_ANCHORS", "MEAN_RGB", "input", "forwardParams", "det", "FaceDetection", "weightMap", "nets", "SsdMobilenetv1", "TinyFaceDetector", "TinyYolov2", "FaceLandmark68Net", "FaceLandmark68TinyNet", "FaceRecognitionNet", "FaceExpressionNet", "AgeGenderNet", "ssdMobilenetv1", "input", "options", "tinyFaceDetector", "tinyYolov2", "detectFaceLandmarks", "detectFaceLandmarksTiny", "computeFaceDescriptor", "recognizeFaceExpressions", "predictAgeAndGender", "loadSsdMobilenetv1Model", "url", "loadTinyFaceDetectorModel", "loadTinyYolov2Model", "loadFaceLandmarkModel", "loadFaceLandmarkTinyModel", "loadFaceRecognitionModel", "loadFaceExpressionModel", "loadAgeGenderModel", "loadFaceDetectionModel", "locateFaces", "detectLandmarks", "PredictFaceExpressionsTaskBase", "ComposableTask", "parentTask", "input", "extractedFaces", "PredictAllFaceExpressionsTask", "parentResults", "faceExpressionsByFace", "extractAllFacesAndComputeResults", "faces", "face", "nets", "parentResult", "i", "extendWithFaceExpressions", "PredictAllAgeAndGenderTask", "PredictSingleFaceExpressionsTask", "faceExpressions", "extractSingleFaceAndComputeResult", "PredictSingleAgeAndGenderTask", "PredictAllFaceExpressionsWithFaceAlignmentTask", "PredictAllAgeAndGenderWithFaceAlignmentTask", "ComputeAllFaceDescriptorsTask", "PredictSingleFaceExpressionsWithFaceAlignmentTask", "PredictSingleAgeAndGenderWithFaceAlignmentTask", "ComputeSingleFaceDescriptorTask", "PredictAgeAndGenderTaskBase", "ComposableTask", "parentTask", "input", "extractedFaces", "PredictAllAgeAndGenderTask", "parentResults", "ageAndGenderByFace", "extractAllFacesAndComputeResults", "faces", "face", "nets", "parentResult", "i", "age", "gender", "genderProbability", "extendWithAge", "extendWithGender", "PredictAllFaceExpressionsTask", "PredictSingleAgeAndGenderTask", "extractSingleFaceAndComputeResult", "PredictSingleFaceExpressionsTask", "PredictAllAgeAndGenderWithFaceAlignmentTask", "PredictAllFaceExpressionsWithFaceAlignmentTask", "ComputeAllFaceDescriptorsTask", "PredictSingleAgeAndGenderWithFaceAlignmentTask", "PredictSingleFaceExpressionsWithFaceAlignmentTask", "ComputeSingleFaceDescriptorTask", "ComputeFaceDescriptorsTaskBase", "ComposableTask", "parentTask", "input", "ComputeAllFaceDescriptorsTask", "parentResults", "extractAllFacesAndComputeResults", "faces", "face", "nets", "parentResult", "descriptor", "i", "extendWithFaceDescriptor", "PredictAllFaceExpressionsWithFaceAlignmentTask", "PredictAllAgeAndGenderWithFaceAlignmentTask", "ComputeSingleFaceDescriptorTask", "extractSingleFaceAndComputeResult", "PredictSingleFaceExpressionsWithFaceAlignmentTask", "PredictSingleAgeAndGenderWithFaceAlignmentTask", "DetectFaceLandmarksTaskBase", "ComposableTask", "parentTask", "input", "useTinyLandmarkNet", "nets", "DetectAllFaceLandmarksTask", "parentResults", "detections", "res", "faces", "Lt", "extractFaceTensors", "extractFaces", "faceLandmarksByFace", "face", "f", "_parentResult", "i", "parentResult", "extendWithFaceLandmarks", "PredictAllFaceExpressionsWithFaceAlignmentTask", "PredictAllAgeAndGenderWithFaceAlignmentTask", "ComputeAllFaceDescriptorsTask", "DetectSingleFaceLandmarksTask", "detection", "landmarks", "PredictSingleFaceExpressionsWithFaceAlignmentTask", "PredictSingleAgeAndGenderWithFaceAlignmentTask", "ComputeSingleFaceDescriptorTask", "DetectFacesTaskBase", "ComposableTask", "input", "options", "SsdMobilenetv1Options", "DetectAllFacesTask", "result", "TinyFaceDetectorOptions", "nets", "TinyYolov2Options", "resolve", "reject", "detections", "detection", "extendWithFaceDetection", "err", "useTinyLandmarkNet", "DetectAllFaceLandmarksTask", "PredictAllFaceExpressionsTask", "PredictAllAgeAndGenderTask", "DetectSingleFaceTask", "faceDetections", "faceDetectionWithHighestScore", "faceDetection", "DetectSingleFaceLandmarksTask", "PredictSingleFaceExpressionsTask", "PredictSingleAgeAndGenderTask", "detectSingleFace", "input", "options", "SsdMobilenetv1Options", "DetectSingleFaceTask", "detectAllFaces", "DetectAllFacesTask", "allFacesSsdMobilenetv1", "input", "minConfidence", "detectAllFaces", "SsdMobilenetv1Options", "allFacesTinyYolov2", "forwardParams", "TinyYolov2Options", "allFaces", "euclideanDistance", "arr1", "arr2", "desc1", "desc2", "val", "i", "res", "diff", "FaceMatcher", "_FaceMatcher", "inputs", "distanceThreshold", "inputArray", "count", "createUniqueLabel", "desc", "LabeledFaceDescriptors", "queryDescriptor", "descriptors", "d", "euclideanDistance", "d1", "d2", "label", "FaceMatch", "best", "curr", "bestMatch", "ld", "json", "labeledDescriptors", "createTinyFaceDetector", "weights", "net", "TinyFaceDetector", "resizeResults", "results", "dimensions", "width", "height", "Dimensions", "obj", "isWithFaceLandmarks", "resizedDetection", "resizedLandmarks", "extendWithFaceLandmarks", "extendWithFaceDetection", "isWithFaceDetection", "FaceLandmarks", "FaceDetection", "version"] + "sourcesContent": ["/*\n Face-API\n homepage: \n author: '\n*/\n\nvar Mq=Object.create;var p0=Object.defineProperty;var Pq=Object.getOwnPropertyDescriptor;var Lq=Object.getOwnPropertyNames;var zq=Object.getPrototypeOf,Bq=Object.prototype.hasOwnProperty;var br=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),Kt=(r,t)=>{for(var e in t)p0(r,e,{get:t[e],enumerable:!0})},Vq=(r,t,e,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of Lq(t))!Bq.call(r,o)&&o!==e&&p0(r,o,{get:()=>t[o],enumerable:!(n=Pq(t,o))||n.enumerable});return r};var Gl=(r,t,e)=>(e=r!=null?Mq(zq(r)):{},Vq(t||!r||!r.__esModule?p0(e,\"default\",{value:r,enumerable:!0}):e,r));var V_=br((mft,B_)=>{B_.exports=He;var yo=null;try{yo=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(r){}function He(r,t,e){this.low=r|0,this.high=t|0,this.unsigned=!!e}He.prototype.__isLong__;Object.defineProperty(He.prototype,\"__isLong__\",{value:!0});function zn(r){return(r&&r.__isLong__)===!0}He.isLong=zn;var D_={},$_={};function oc(r,t){var e,n,o;return t?(r>>>=0,(o=0<=r&&r<256)&&(n=$_[r],n)?n:(e=qe(r,(r|0)<0?-1:0,!0),o&&($_[r]=e),e)):(r|=0,(o=-128<=r&&r<128)&&(n=D_[r],n)?n:(e=qe(r,r<0?-1:0,!1),o&&(D_[r]=e),e))}He.fromInt=oc;function bo(r,t){if(isNaN(r))return t?nc:wo;if(t){if(r<0)return nc;if(r>=M_)return z_}else{if(r<=-F_)return Ln;if(r+1>=F_)return L_}return r<0?bo(-r,t).neg():qe(r%Hp|0,r/Hp|0,t)}He.fromNumber=bo;function qe(r,t,e){return new He(r,t,e)}He.fromBits=qe;var Zg=Math.pow;function S0(r,t,e){if(r.length===0)throw Error(\"empty string\");if(r===\"NaN\"||r===\"Infinity\"||r===\"+Infinity\"||r===\"-Infinity\")return wo;if(typeof t==\"number\"?(e=t,t=!1):t=!!t,e=e||10,e<2||360)throw Error(\"interior hyphen\");if(n===0)return S0(r.substring(1),t,e).neg();for(var o=bo(Zg(e,8)),s=wo,i=0;i>>0:this.low};xt.toNumber=function(){return this.unsigned?(this.high>>>0)*Hp+(this.low>>>0):this.high*Hp+(this.low>>>0)};xt.toString=function(t){if(t=t||10,t<2||36>>0,c=l.toString(t);if(i=u,i.isZero())return c+a;for(;c.length<6;)c=\"0\"+c;a=\"\"+c+a}};xt.getHighBits=function(){return this.high};xt.getHighBitsUnsigned=function(){return this.high>>>0};xt.getLowBits=function(){return this.low};xt.getLowBitsUnsigned=function(){return this.low>>>0};xt.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Ln)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,e=31;e>0&&!(t&1<=0};xt.isOdd=function(){return(this.low&1)===1};xt.isEven=function(){return(this.low&1)===0};xt.equals=function(t){return zn(t)||(t=oi(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};xt.eq=xt.equals;xt.notEquals=function(t){return!this.eq(t)};xt.neq=xt.notEquals;xt.ne=xt.notEquals;xt.lessThan=function(t){return this.comp(t)<0};xt.lt=xt.lessThan;xt.lessThanOrEqual=function(t){return this.comp(t)<=0};xt.lte=xt.lessThanOrEqual;xt.le=xt.lessThanOrEqual;xt.greaterThan=function(t){return this.comp(t)>0};xt.gt=xt.greaterThan;xt.greaterThanOrEqual=function(t){return this.comp(t)>=0};xt.gte=xt.greaterThanOrEqual;xt.ge=xt.greaterThanOrEqual;xt.compare=function(t){if(zn(t)||(t=oi(t)),this.eq(t))return 0;var e=this.isNegative(),n=t.isNegative();return e&&!n?-1:!e&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};xt.comp=xt.compare;xt.negate=function(){return!this.unsigned&&this.eq(Ln)?Ln:this.not().add(Up)};xt.neg=xt.negate;xt.add=function(t){zn(t)||(t=oi(t));var e=this.high>>>16,n=this.high&65535,o=this.low>>>16,s=this.low&65535,i=t.high>>>16,a=t.high&65535,u=t.low>>>16,l=t.low&65535,c=0,p=0,m=0,f=0;return f+=s+l,m+=f>>>16,f&=65535,m+=o+u,p+=m>>>16,m&=65535,p+=n+a,c+=p>>>16,p&=65535,c+=e+i,c&=65535,qe(m<<16|f,c<<16|p,this.unsigned)};xt.subtract=function(t){return zn(t)||(t=oi(t)),this.add(t.neg())};xt.sub=xt.subtract;xt.multiply=function(t){if(this.isZero())return wo;if(zn(t)||(t=oi(t)),yo){var e=yo.mul(this.low,this.high,t.low,t.high);return qe(e,yo.get_high(),this.unsigned)}if(t.isZero())return wo;if(this.eq(Ln))return t.isOdd()?Ln:wo;if(t.eq(Ln))return this.isOdd()?Ln:wo;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(O_)&&t.lt(O_))return bo(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,o=this.high&65535,s=this.low>>>16,i=this.low&65535,a=t.high>>>16,u=t.high&65535,l=t.low>>>16,c=t.low&65535,p=0,m=0,f=0,d=0;return d+=i*c,f+=d>>>16,d&=65535,f+=s*c,m+=f>>>16,f&=65535,f+=i*l,m+=f>>>16,f&=65535,m+=o*c,p+=m>>>16,m&=65535,m+=s*l,p+=m>>>16,m&=65535,m+=i*u,p+=m>>>16,m&=65535,p+=n*c+o*l+s*u+i*a,p&=65535,qe(f<<16|d,p<<16|m,this.unsigned)};xt.mul=xt.multiply;xt.divide=function(t){if(zn(t)||(t=oi(t)),t.isZero())throw Error(\"division by zero\");if(yo){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var e=(this.unsigned?yo.div_u:yo.div_s)(this.low,this.high,t.low,t.high);return qe(e,yo.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?nc:wo;var n,o,s;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return nc;if(t.gt(this.shru(1)))return P_;s=nc}else{if(this.eq(Ln)){if(t.eq(Up)||t.eq(v0))return Ln;if(t.eq(Ln))return Up;var i=this.shr(1);return n=i.div(t).shl(1),n.eq(wo)?t.isNegative()?Up:v0:(o=this.sub(t.mul(n)),s=n.add(o.div(t)),s)}else if(t.eq(Ln))return this.unsigned?nc:wo;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();s=wo}for(o=this;o.gte(t);){n=Math.max(1,Math.floor(o.toNumber()/t.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),u=a<=48?1:Zg(2,a-48),l=bo(n),c=l.mul(t);c.isNegative()||c.gt(o);)n-=u,l=bo(n,this.unsigned),c=l.mul(t);l.isZero()&&(l=Up),s=s.add(l),o=o.sub(c)}return s};xt.div=xt.divide;xt.modulo=function(t){if(zn(t)||(t=oi(t)),yo){var e=(this.unsigned?yo.rem_u:yo.rem_s)(this.low,this.high,t.low,t.high);return qe(e,yo.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};xt.mod=xt.modulo;xt.rem=xt.modulo;xt.not=function(){return qe(~this.low,~this.high,this.unsigned)};xt.and=function(t){return zn(t)||(t=oi(t)),qe(this.low&t.low,this.high&t.high,this.unsigned)};xt.or=function(t){return zn(t)||(t=oi(t)),qe(this.low|t.low,this.high|t.high,this.unsigned)};xt.xor=function(t){return zn(t)||(t=oi(t)),qe(this.low^t.low,this.high^t.high,this.unsigned)};xt.shiftLeft=function(t){return zn(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?qe(this.low<>>32-t,this.unsigned):qe(0,this.low<>>t|this.high<<32-t,this.high>>t,this.unsigned):qe(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};xt.shr=xt.shiftRight;xt.shiftRightUnsigned=function(t){if(zn(t)&&(t=t.toInt()),t&=63,t===0)return this;var e=this.high;if(t<32){var n=this.low;return qe(n>>>t|e<<32-t,e>>>t,this.unsigned)}else return t===32?qe(e,0,this.unsigned):qe(e>>>t-32,0,this.unsigned)};xt.shru=xt.shiftRightUnsigned;xt.shr_u=xt.shiftRightUnsigned;xt.toSigned=function(){return this.unsigned?qe(this.low,this.high,!1):this};xt.toUnsigned=function(){return this.unsigned?this:qe(this.low,this.high,!0)};xt.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};xt.toBytesLE=function(){var t=this.high,e=this.low;return[e&255,e>>>8&255,e>>>16&255,e>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};xt.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,e>>>24,e>>>16&255,e>>>8&255,e&255]};He.fromBytes=function(t,e,n){return n?He.fromBytesLE(t,e):He.fromBytesBE(t,e)};He.fromBytesLE=function(t,e){return new He(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,e)};He.fromBytesBE=function(t,e){return new He(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],e)}});var NE=br(()=>{});var kE=br(()=>{});var eA=br((tA,nN)=>{(function(r,t,e){function n(a){var u=this,l=i();u.next=function(){var c=2091639*u.s0+u.c*23283064365386963e-26;return u.s0=u.s1,u.s1=u.s2,u.s2=c-(u.c=c|0)},u.c=1,u.s0=l(\" \"),u.s1=l(\" \"),u.s2=l(\" \"),u.s0-=l(a),u.s0<0&&(u.s0+=1),u.s1-=l(a),u.s1<0&&(u.s1+=1),u.s2-=l(a),u.s2<0&&(u.s2+=1),l=null}function o(a,u){return u.c=a.c,u.s0=a.s0,u.s1=a.s1,u.s2=a.s2,u}function s(a,u){var l=new n(a),c=u&&u.state,p=l.next;return p.int32=function(){return l.next()*4294967296|0},p.double=function(){return p()+(p()*2097152|0)*11102230246251565e-32},p.quick=p,c&&(typeof c==\"object\"&&o(c,l),p.state=function(){return o(l,{})}),p}function i(){var a=4022871197,u=function(l){l=String(l);for(var c=0;c>>0,p-=a,p*=a,a=p>>>0,p-=a,a+=p*4294967296}return(a>>>0)*23283064365386963e-26};return u}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.alea=s})(tA,typeof nN==\"object\"&&nN,typeof define==\"function\"&&define)});var nA=br((rA,oN)=>{(function(r,t,e){function n(i){var a=this,u=\"\";a.x=0,a.y=0,a.z=0,a.w=0,a.next=function(){var c=a.x^a.x<<11;return a.x=a.y,a.y=a.z,a.z=a.w,a.w^=a.w>>>19^c^c>>>8},i===(i|0)?a.x=i:u+=i;for(var l=0;l>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(typeof l==\"object\"&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xor128=s})(rA,typeof oN==\"object\"&&oN,typeof define==\"function\"&&define)});var sA=br((oA,sN)=>{(function(r,t,e){function n(i){var a=this,u=\"\";a.next=function(){var c=a.x^a.x>>>2;return a.x=a.y,a.y=a.z,a.z=a.w,a.w=a.v,(a.d=a.d+362437|0)+(a.v=a.v^a.v<<4^(c^c<<1))|0},a.x=0,a.y=0,a.z=0,a.w=0,a.v=0,i===(i|0)?a.x=i:u+=i;for(var l=0;l>>4),a.next()}function o(i,a){return a.x=i.x,a.y=i.y,a.z=i.z,a.w=i.w,a.v=i.v,a.d=i.d,a}function s(i,a){var u=new n(i),l=a&&a.state,c=function(){return(u.next()>>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(typeof l==\"object\"&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xorwow=s})(oA,typeof sN==\"object\"&&sN,typeof define==\"function\"&&define)});var aA=br((iA,iN)=>{(function(r,t,e){function n(i){var a=this;a.next=function(){var l=a.x,c=a.i,p,m,f;return p=l[c],p^=p>>>7,m=p^p<<24,p=l[c+1&7],m^=p^p>>>10,p=l[c+3&7],m^=p^p>>>3,p=l[c+4&7],m^=p^p<<7,p=l[c+7&7],p=p^p<<13,m^=p^p<<9,l[c]=m,a.i=c+1&7,m};function u(l,c){var p,m,f=[];if(c===(c|0))m=f[0]=c;else for(c=\"\"+c,p=0;p0;--p)l.next()}u(a,i)}function o(i,a){return a.x=i.x.slice(),a.i=i.i,a}function s(i,a){i==null&&(i=+new Date);var u=new n(i),l=a&&a.state,c=function(){return(u.next()>>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(l.x&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xorshift7=s})(iA,typeof iN==\"object\"&&iN,typeof define==\"function\"&&define)});var uA=br((lA,aN)=>{(function(r,t,e){function n(i){var a=this;a.next=function(){var l=a.w,c=a.X,p=a.i,m,f;return a.w=l=l+1640531527|0,f=c[p+34&127],m=c[p=p+1&127],f^=f<<13,m^=m<<17,f^=f>>>15,m^=m>>>12,f=c[p]=f^m,a.i=p,f+(l^l>>>16)|0};function u(l,c){var p,m,f,d,h,g=[],x=128;for(c===(c|0)?(m=c,c=null):(c=c+\"\\0\",m=0,x=Math.max(x,c.length)),f=0,d=-32;d>>15,m^=m<<4,m^=m>>>13,d>=0&&(h=h+1640531527|0,p=g[d&127]^=m+h,f=p==0?f+1:0);for(f>=128&&(g[(c&&c.length||0)&127]=-1),f=127,d=4*128;d>0;--d)m=g[f+34&127],p=g[f=f+1&127],m^=m<<13,p^=p<<17,m^=m>>>15,p^=p>>>12,g[f]=m^p;l.w=h,l.X=g,l.i=f}u(a,i)}function o(i,a){return a.i=i.i,a.w=i.w,a.X=i.X.slice(),a}function s(i,a){i==null&&(i=+new Date);var u=new n(i),l=a&&a.state,c=function(){return(u.next()>>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(l.X&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xor4096=s})(lA,typeof aN==\"object\"&&aN,typeof define==\"function\"&&define)});var pA=br((cA,lN)=>{(function(r,t,e){function n(i){var a=this,u=\"\";a.next=function(){var c=a.b,p=a.c,m=a.d,f=a.a;return c=c<<25^c>>>7^p,p=p-m|0,m=m<<24^m>>>8^f,f=f-c|0,a.b=c=c<<20^c>>>12^p,a.c=p=p-m|0,a.d=m<<16^p>>>16^f,a.a=f-c|0},a.a=0,a.b=0,a.c=-1640531527,a.d=1367130551,i===Math.floor(i)?(a.a=i/4294967296|0,a.b=i|0):u+=i;for(var l=0;l>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(typeof l==\"object\"&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.tychei=s})(cA,typeof lN==\"object\"&&lN,typeof define==\"function\"&&define)});var mA=br(()=>{});var dA=br((fA,ty)=>{(function(r,t,e){var n=256,o=6,s=52,i=\"random\",a=e.pow(n,o),u=e.pow(2,s),l=u*2,c=n-1,p;function m(w,I,N){var E=[];I=I==!0?{entropy:!0}:I||{};var A=g(h(I.entropy?[w,b(t)]:w==null?x():w,3),E),D=new f(E),F=function(){for(var M=D.g(o),V=a,G=0;M=l;)M/=2,V/=2,G>>>=1;return(M+G)/V};return F.int32=function(){return D.g(4)|0},F.quick=function(){return D.g(4)/4294967296},F.double=F,g(b(D.S),t),(I.pass||N||function(M,V,G,W){return W&&(W.S&&d(W,D),M.state=function(){return d(D,{})}),G?(e[i]=M,V):M})(F,A,\"global\"in I?I.global:this==e,I.state)}function f(w){var I,N=w.length,E=this,A=0,D=E.i=E.j=0,F=E.S=[];for(N||(w=[N++]);A{var PX=eA(),LX=nA(),zX=sA(),BX=aA(),VX=uA(),GX=pA(),hc=dA();hc.alea=PX;hc.xor128=LX;hc.xorwow=zX;hc.xorshift7=BX;hc.xor4096=VX;hc.tychei=GX;hA.exports=hc});var Ak=br(()=>{});var fw=br(()=>{});var Q1=br(()=>{});var UH=br(()=>{});var HH=br(()=>{});var qH=br(()=>{});var KH=br((DC,e_)=>{var t_=(()=>{var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(t){t=t||{};function e(){return it.buffer!=re&&Xe(it.buffer),ye}function n(){return it.buffer!=re&&Xe(it.buffer),de}function o(){return it.buffer!=re&&Xe(it.buffer),Ee}function s(){return it.buffer!=re&&Xe(it.buffer),On}function i(){return it.buffer!=re&&Xe(it.buffer),lr}function a(){return it.buffer!=re&&Xe(it.buffer),Zn}function u(){return it.buffer!=re&&Xe(it.buffer),zr}var l=typeof t!=\"undefined\"?t:{},c,p;l.ready=new Promise(function(P,U){c=P,p=U});var m;typeof process!=\"undefined\"&&process.listeners&&(m={uncaughtException:process.listeners(\"uncaughtException\"),unhandledRejection:process.listeners(\"unhandledRejection\")});var f=Object.assign({},l),d=[],h=\"./this.program\",g=(P,U)=>{throw U},x=typeof window==\"object\",b=typeof importScripts==\"function\",w=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",I=l.ENVIRONMENT_IS_PTHREAD||!1,N=\"\";function E(P){return l.locateFile?l.locateFile(P,N):N+P}var A,D,F,M;function V(P){if(P instanceof Yu)return;Y(\"exiting due to exception: \"+P)}if(w){var G=fw(),W=Q1();b?N=W.dirname(N)+\"/\":N=__dirname+\"/\",A=(U,dt)=>(U=wp(U)?new URL(U):W.normalize(U),G.readFileSync(U,dt?void 0:\"utf8\")),F=U=>{var dt=A(U,!0);return dt.buffer||(dt=new Uint8Array(dt)),dt},D=(U,dt,Pt)=>{U=wp(U)?new URL(U):W.normalize(U),G.readFile(U,function(Jt,Zt){Jt?Pt(Jt):dt(Zt.buffer)})},process.argv.length>1&&(h=process.argv[1].replace(/\\\\/g,\"/\")),d=process.argv.slice(2),process.on(\"uncaughtException\",function(U){if(!(U instanceof Yu))throw U}),process.on(\"unhandledRejection\",function(U){throw U}),g=(U,dt)=>{if(zo())throw process.exitCode=U,dt;V(dt),process.exit(U)},l.inspect=function(){return\"[Emscripten Module object]\"};let P;try{P=UH()}catch(U){throw console.error('The \"worker_threads\" module is not supported in this node.js build - perhaps a newer version is needed?'),U}global.Worker=P.Worker}else(x||b)&&(b?N=self.location.href:typeof document!=\"undefined\"&&document.currentScript&&(N=document.currentScript.src),typeof r!=\"undefined\"&&r&&(N=r),N.indexOf(\"blob:\")!==0?N=N.substr(0,N.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):N=\"\",w||(A=P=>{var U=new XMLHttpRequest;return U.open(\"GET\",P,!1),U.send(null),U.responseText},b&&(F=P=>{var U=new XMLHttpRequest;return U.open(\"GET\",P,!1),U.responseType=\"arraybuffer\",U.send(null),new Uint8Array(U.response)}),D=(P,U,dt)=>{var Pt=new XMLHttpRequest;Pt.open(\"GET\",P,!0),Pt.responseType=\"arraybuffer\",Pt.onload=()=>{if(Pt.status==200||Pt.status==0&&Pt.response){U(Pt.response);return}dt()},Pt.onerror=dt,Pt.send(null)}),M=P=>document.title=P);w&&typeof performance==\"undefined\"&&(global.performance=HH().performance);var q=console.log.bind(console),H=console.warn.bind(console);w&&(q=P=>G.writeSync(1,P+`\n`),H=P=>G.writeSync(2,P+`\n`));var K=l.print||q,Y=l.printErr||H;Object.assign(l,f),f=null,l.arguments&&(d=l.arguments),l.thisProgram&&(h=l.thisProgram),l.quit&&(g=l.quit);var Z=4,et=Atomics.load,nt=Atomics.store,st=Atomics.compareExchange,lt;l.wasmBinary&&(lt=l.wasmBinary);var ot=l.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&Xu(\"no native wasm support detected\");var it,ft,gt=!1,Ct;function Rt(P,U){P||Xu(U)}var Dt=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):void 0;function Ht(P,U,dt){U>>>=0;for(var Pt=U+dt,Jt=U;P[Jt]&&!(Jt>=Pt);)++Jt;if(Jt-U>16&&P.buffer&&Dt)return Dt.decode(P.buffer instanceof SharedArrayBuffer?P.slice(U,Jt):P.subarray(U,Jt));for(var Zt=\"\";U>10,56320|eo&1023)}}return Zt}function qt(P,U){return P>>>=0,P?Ht(n(),P,U):\"\"}function pe(P,U,dt,Pt){if(dt>>>=0,!(Pt>0))return 0;for(var Jt=dt,Zt=dt+Pt-1,bt=0;bt=55296&&$t<=57343){var or=P.charCodeAt(++bt);$t=65536+(($t&1023)<<10)|or&1023}if($t<=127){if(dt>=Zt)break;U[dt++>>>0]=$t}else if($t<=2047){if(dt+1>=Zt)break;U[dt++>>>0]=192|$t>>6,U[dt++>>>0]=128|$t&63}else if($t<=65535){if(dt+2>=Zt)break;U[dt++>>>0]=224|$t>>12,U[dt++>>>0]=128|$t>>6&63,U[dt++>>>0]=128|$t&63}else{if(dt+3>=Zt)break;U[dt++>>>0]=240|$t>>18,U[dt++>>>0]=128|$t>>12&63,U[dt++>>>0]=128|$t>>6&63,U[dt++>>>0]=128|$t&63}}return U[dt>>>0]=0,dt-Jt}function xe(P,U,dt){return pe(P,n(),U,dt)}var re,ye,de,Ee,Ae,On,lr,Zn,zr;I&&(re=l.buffer);function Xe(P){re=P,l.HEAP8=ye=new Int8Array(P),l.HEAP16=Ee=new Int16Array(P),l.HEAP32=On=new Int32Array(P),l.HEAPU8=de=new Uint8Array(P),l.HEAPU16=Ae=new Uint16Array(P),l.HEAPU32=lr=new Uint32Array(P),l.HEAPF32=Zn=new Float32Array(P),l.HEAPF64=zr=new Float64Array(P)}var Br=l.INITIAL_MEMORY||16777216;if(I)it=l.wasmMemory,re=l.buffer;else if(l.wasmMemory)it=l.wasmMemory;else if(it=new WebAssembly.Memory({initial:Br/65536,maximum:65536,shared:!0}),!(it.buffer instanceof SharedArrayBuffer))throw Y(\"requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag\"),w&&Y(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)\"),Error(\"bad memory\");it&&(re=it.buffer),Br=re.byteLength,Xe(re);var Vr,Jn=[],Qn=[],Zr=[],Ca=!1;function zo(){return ot}function ki(){if(l.preRun)for(typeof l.preRun==\"function\"&&(l.preRun=[l.preRun]);l.preRun.length;)Bd(l.preRun.shift());Wd(Jn)}function Er(){Ca=!0,!I&&Wd(Qn)}function va(){if(!I){if(l.postRun)for(typeof l.postRun==\"function\"&&(l.postRun=[l.postRun]);l.postRun.length;)l_(l.postRun.shift());Wd(Zr)}}function Bd(P){Jn.unshift(P)}function Vd(P){Qn.unshift(P)}function l_(P){Zr.unshift(P)}var zl=0,bp=null,Sa=null;function FC(P){zl++,l.monitorRunDependencies&&l.monitorRunDependencies(zl)}function wg(P){if(zl--,l.monitorRunDependencies&&l.monitorRunDependencies(zl),zl==0&&(bp!==null&&(clearInterval(bp),bp=null),Sa)){var U=Sa;Sa=null,U()}}function Xu(P){l.onAbort&&l.onAbort(P),P=\"Aborted(\"+P+\")\",Y(P),gt=!0,Ct=1,P+=\". Build with -sASSERTIONS for more info.\";var U=new WebAssembly.RuntimeError(P);throw p(U),U}var OC=\"data:application/octet-stream;base64,\";function Ig(P){return P.startsWith(OC)}function wp(P){return P.startsWith(\"file://\")}var Jr;Jr=\"tfjs-backend-wasm-threaded-simd.wasm\",Ig(Jr)||(Jr=E(Jr));function Cg(P){try{if(P==Jr&<)return new Uint8Array(lt);if(F)return F(P);throw\"both async and sync fetching of the wasm failed\"}catch(U){Xu(U)}}function MC(){if(!lt&&(x||b)){if(typeof fetch==\"function\"&&!wp(Jr))return fetch(Jr,{credentials:\"same-origin\"}).then(function(P){if(!P.ok)throw\"failed to load wasm binary file at '\"+Jr+\"'\";return P.arrayBuffer()}).catch(function(){return Cg(Jr)});if(D)return new Promise(function(P,U){D(Jr,function(dt){P(new Uint8Array(dt))},U)})}return Promise.resolve().then(function(){return Cg(Jr)})}function PC(){var P={env:Og,wasi_snapshot_preview1:Og};function U(bt,$t){var or=bt.exports;if(l.asm=or,qC(l.asm._emscripten_tls_init),Vr=l.asm.__indirect_function_table,Vd(l.asm.__wasm_call_ctors),ft=$t,!I){var eo=Yt.unusedWorkers.length;Yt.unusedWorkers.forEach(function(ka){Yt.loadWasmModuleToWorker(ka,function(){--eo||wg(\"wasm-instantiate\")})})}}I||FC(\"wasm-instantiate\");function dt(bt){U(bt.instance,bt.module)}function Pt(bt){return MC().then(function($t){return WebAssembly.instantiate($t,P)}).then(function($t){return $t}).then(bt,function($t){Y(\"failed to asynchronously prepare wasm: \"+$t),Xu($t)})}function Jt(){return!lt&&typeof WebAssembly.instantiateStreaming==\"function\"&&!Ig(Jr)&&!wp(Jr)&&!w&&typeof fetch==\"function\"?fetch(Jr,{credentials:\"same-origin\"}).then(function(bt){var $t=WebAssembly.instantiateStreaming(bt,P);return $t.then(dt,function(or){return Y(\"wasm streaming compile failed: \"+or),Y(\"falling back to ArrayBuffer instantiation\"),Pt(dt)})}):Pt(dt)}if(l.instantiateWasm)try{var Zt=l.instantiateWasm(P,U);return Zt}catch(bt){Y(\"Module.instantiateWasm callback failed with error: \"+bt),p(bt)}return Jt().catch(p),{}}var u_,c_,vg={};function Yu(P){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+P+\")\",this.status=P}function LC(P){var U=Yt.pthreads[P];delete Yt.pthreads[P],U.terminate(),l0(P),Yt.runningWorkers.splice(Yt.runningWorkers.indexOf(U),1),U.pthread_ptr=0}function zC(P){var U=Yt.pthreads[P];U.postMessage({cmd:\"cancel\"})}function Gd(P){var U=Yt.pthreads[P];Rt(U),Yt.returnWorkerToPool(U)}function BC(P){var U=Yt.getNewWorker();if(!U)return 6;Yt.runningWorkers.push(U),Yt.pthreads[P.pthread_ptr]=U,U.pthread_ptr=P.pthread_ptr;var dt={cmd:\"run\",start_routine:P.startRoutine,arg:P.arg,pthread_ptr:P.pthread_ptr};return U.runPthread=()=>{w&&U.ref(),U.postMessage(dt,P.transferList),delete U.runPthread},U.loaded&&U.runPthread(),0}var Sg={varargs:void 0,get:function(){Sg.varargs+=4;var P=s()[Sg.varargs-4>>>2];return P},getStr:function(P){var U=qt(P);return U}};function Ng(P){if(I)return Bl(1,1,P);Ct=P,zo()||(Yt.terminateAllThreads(),l.onExit&&l.onExit(P),gt=!0),g(P,new Yu(P))}function VC(P,U){if(Ct=P,!U&&I)throw Tg(P),\"unwind\";Ng(P)}var kg=VC;function GC(P){if(P instanceof Yu||P==\"unwind\")return Ct;g(1,P)}var Yt={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){I?Yt.initWorker():Yt.initMainThread()},initMainThread:function(){for(var P=8;P--;)Yt.allocateUnusedWorker()},initWorker:function(){ot=!1},setExitStatus:function(P){Ct=P},terminateAllThreads:function(){for(var P of Object.values(Yt.pthreads))Yt.returnWorkerToPool(P);for(var P of Yt.unusedWorkers)P.terminate();Yt.unusedWorkers=[]},returnWorkerToPool:function(P){var U=P.pthread_ptr;delete Yt.pthreads[U],Yt.unusedWorkers.push(P),Yt.runningWorkers.splice(Yt.runningWorkers.indexOf(P),1),P.pthread_ptr=0,w&&P.unref(),l0(U)},receiveObjectTransfer:function(P){},threadInitTLS:function(){Yt.tlsInitFunctions.forEach(P=>P())},loadWasmModuleToWorker:function(P,U){P.onmessage=Zt=>{var bt=Zt.data,$t=bt.cmd;if(P.pthread_ptr&&(Yt.currentProxiedOperationCallerThread=P.pthread_ptr),bt.targetThread&&bt.targetThread!=Vg()){var or=Yt.pthreads[bt.targetThread];or?or.postMessage(bt,bt.transferList):Y('Internal error! Worker sent a message \"'+$t+'\" to target pthread '+bt.targetThread+\", but that thread no longer exists!\"),Yt.currentProxiedOperationCallerThread=void 0;return}$t===\"processProxyingQueue\"?Ud(bt.queue):$t===\"spawnThread\"?BC(bt):$t===\"cleanupThread\"?Gd(bt.thread):$t===\"killThread\"?LC(bt.thread):$t===\"cancelThread\"?zC(bt.thread):$t===\"loaded\"?(P.loaded=!0,w&&P.unref(),U&&U(P),P.runPthread&&P.runPthread()):$t===\"print\"?K(\"Thread \"+bt.threadId+\": \"+bt.text):$t===\"printErr\"?Y(\"Thread \"+bt.threadId+\": \"+bt.text):$t===\"alert\"?alert(\"Thread \"+bt.threadId+\": \"+bt.text):bt.target===\"setimmediate\"?P.postMessage(bt):$t===\"callHandler\"?l[bt.handler](...bt.args):$t&&Y(\"worker sent an unknown command \"+$t),Yt.currentProxiedOperationCallerThread=void 0},P.onerror=Zt=>{var bt=\"worker sent an error!\";throw Y(bt+\" \"+Zt.filename+\":\"+Zt.lineno+\": \"+Zt.message),Zt},w&&(P.on(\"message\",function(Zt){P.onmessage({data:Zt})}),P.on(\"error\",function(Zt){P.onerror(Zt)}),P.on(\"detachedExit\",function(){}));var dt=[],Pt=[\"onExit\",\"onAbort\",\"print\",\"printErr\"];for(var Jt of Pt)l.hasOwnProperty(Jt)&&dt.push(Jt);P.postMessage({cmd:\"load\",handlers:dt,urlOrBlob:l.mainScriptUrlOrBlob||r,wasmMemory:it,wasmModule:ft})},allocateUnusedWorker:function(){var P,U=E(\"tfjs-backend-wasm-threaded-simd.worker.js\");P=new Worker(U),Yt.unusedWorkers.push(P)},getNewWorker:function(){return Yt.unusedWorkers.length==0&&(Yt.allocateUnusedWorker(),Yt.loadWasmModuleToWorker(Yt.unusedWorkers[0])),Yt.unusedWorkers.pop()}};l.PThread=Yt;function Wd(P){for(;P.length>0;)P.shift()(l)}function WC(){var P=Vg(),U=s()[P+52>>>2],dt=s()[P+56>>>2],Pt=U-dt;g_(U,Pt),Gg(U)}l.establishStackSpace=WC;function Tg(P){if(I)return Bl(2,0,P);try{kg(P)}catch(U){GC(U)}}var Ip=[];function UC(P){var U=Ip[P];return U||(P>=Ip.length&&(Ip.length=P+1),Ip[P]=U=Vr.get(P)),U}function HC(P,U){var dt=UC(P)(U);zo()?Yt.setExitStatus(dt):h_(dt)}l.invokeEntryPoint=HC;function qC(P){Yt.tlsInitFunctions.push(P)}function KC(P){m_(P,!b,1,!x),Yt.threadInitTLS()}function jC(P){I?postMessage({cmd:\"cleanupThread\",thread:P}):Gd(P)}function _g(P,U,dt,Pt){return I?Bl(3,1,P,U,dt,Pt):Eg(P,U,dt,Pt)}function Eg(P,U,dt,Pt){if(typeof SharedArrayBuffer==\"undefined\")return Y(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\"),6;var Jt=[],Zt=0;if(I&&(Jt.length===0||Zt))return _g(P,U,dt,Pt);if(Zt)return Zt;var bt={startRoutine:dt,pthread_ptr:P,arg:Pt,transferList:Jt};return I?(bt.cmd=\"spawnThread\",postMessage(bt,Jt),0):BC(bt)}function XC(){return 65536}var YC=!0;function ZC(){return YC}function Ud(P){Atomics.store(s(),P>>2,1),Vg()&&d_(P),Atomics.compareExchange(s(),P>>2,1,0)}l.executeNotifiedProxyingQueue=Ud;function JC(P,U,dt,Pt){if(P==U)setTimeout(()=>Ud(Pt));else if(I)postMessage({targetThread:P,cmd:\"processProxyingQueue\",queue:Pt});else{var Jt=Yt.pthreads[P];if(!Jt)return;Jt.postMessage({cmd:\"processProxyingQueue\",queue:Pt})}return 1}function QC(P,U,dt){return-1}function tv(){Xu(\"\")}function Zu(P){Zu.shown||(Zu.shown={}),Zu.shown[P]||(Zu.shown[P]=1,w&&(P=\"warning: \"+P),Y(P))}function ev(){w||b||Zu(\"Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread\")}function rv(){return Date.now()}function Ag(){return 4294901760}function nv(){return Ag()}var Hd;w?Hd=()=>{var P=process.hrtime();return P[0]*1e3+P[1]/1e6}:Hd=()=>performance.timeOrigin+performance.now();function ov(P,U,dt){n().copyWithin(P>>>0,U>>>0,U+dt>>>0)}function sv(){return w?qH().cpus().length:navigator.hardwareConcurrency}function iv(P){var U=u0(),dt=P();return Gg(U),dt}function Bl(P,U){var dt=arguments.length-2,Pt=arguments;return iv(()=>{for(var Jt=dt,Zt=Wg(Jt*8),bt=Zt>>3,$t=0;$t>>0]=or}return f_(P,Jt,Zt,U)})}var qd=[];function av(P,U,dt){qd.length=U;for(var Pt=dt>>3,Jt=0;Jt>>0];var Zt=P<0,bt=Zt?vg[-P-1]:gv[P];return bt.apply(null,qd)}function lv(P){try{return it.grow(P-re.byteLength+65535>>>16),Xe(it.buffer),1}catch(U){}}function uv(P){var U=n().length;if(P=P>>>0,P<=U)return!1;var dt=Ag();if(P>dt)return!1;let Pt=(or,eo)=>or+(eo-or%eo)%eo;for(var Jt=1;Jt<=4;Jt*=2){var Zt=U*(1+.2/Jt);Zt=Math.min(Zt,P+100663296);var bt=Math.min(dt,Pt(Math.max(P,Zt),65536)),$t=lv(bt);if($t)return!0}return!1}function cv(){throw\"unwind\"}function Dg(P){return I?Bl(4,1,P):52}function $g(P,U,dt,Pt,Jt){return I?Bl(5,1,P,U,dt,Pt,Jt):70}var pv=[null,[],[]];function mv(P,U){var dt=pv[P];U===0||U===10?((P===1?K:Y)(Ht(dt,0)),dt.length=0):dt.push(U)}function Rg(P,U,dt,Pt){if(I)return Bl(6,1,P,U,dt,Pt);for(var Jt=0,Zt=0;Zt>>2],$t=i()[U+4>>>2];U+=8;for(var or=0;or<$t;or++)mv(P,n()[bt+or>>>0]);Jt+=$t}return i()[Pt>>>2]=Jt,0}function Fg(P){var U=l[\"_\"+P];return U}function fv(P,U){e().set(P,U>>>0)}function dv(P,U,dt,Pt,Jt){var Zt={string:Mn=>{var Np=0;if(Mn!=null&&Mn!==0){var b_=(Mn.length<<2)+1;Np=Wg(b_),xe(Mn,Np,b_)}return Np},array:Mn=>{var Np=Wg(Mn.length);return fv(Mn,Np),Np}};function bt(Mn){return U===\"string\"?qt(Mn):U===\"boolean\"?!!Mn:Mn}var $t=Fg(P),or=[],eo=0;if(Pt)for(var ka=0;kabt===\"number\"||bt===\"boolean\"),Zt=U!==\"string\";return Zt&&Jt&&!Pt?Fg(P):function(){return dv(P,U,dt,arguments,Pt)}}Yt.init();var gv=[null,Ng,Tg,_g,Dg,$g,Rg],Og={__emscripten_init_main_thread_js:KC,__emscripten_thread_cleanup:jC,__pthread_create_js:Eg,_emscripten_default_pthread_stack_size:XC,_emscripten_get_now_is_monotonic:ZC,_emscripten_notify_task_queue:JC,_emscripten_set_offscreencanvas_size:QC,abort:tv,emscripten_check_blocking_allowed:ev,emscripten_date_now:rv,emscripten_get_heap_max:nv,emscripten_get_now:Hd,emscripten_memcpy_big:ov,emscripten_num_logical_cores:sv,emscripten_receive_on_main_thread_js:av,emscripten_resize_heap:uv,emscripten_unwind_to_js_event_loop:cv,exit:kg,fd_close:Dg,fd_seek:$g,fd_write:Rg,memory:it||l.wasmMemory},p_=PC(),xv=l.___wasm_call_ctors=function(){return(xv=l.___wasm_call_ctors=l.asm.__wasm_call_ctors).apply(null,arguments)},yv=l._init=function(){return(yv=l._init=l.asm.init).apply(null,arguments)},bv=l._init_with_threads_count=function(){return(bv=l._init_with_threads_count=l.asm.init_with_threads_count).apply(null,arguments)},wv=l._get_threads_count=function(){return(wv=l._get_threads_count=l.asm.get_threads_count).apply(null,arguments)},Iv=l._register_tensor=function(){return(Iv=l._register_tensor=l.asm.register_tensor).apply(null,arguments)},Cv=l._dispose_data=function(){return(Cv=l._dispose_data=l.asm.dispose_data).apply(null,arguments)},vv=l._dispose=function(){return(vv=l._dispose=l.asm.dispose).apply(null,arguments)},Sv=l._Abs=function(){return(Sv=l._Abs=l.asm.Abs).apply(null,arguments)},Nv=l._Acos=function(){return(Nv=l._Acos=l.asm.Acos).apply(null,arguments)},kv=l._Acosh=function(){return(kv=l._Acosh=l.asm.Acosh).apply(null,arguments)},Tv=l._Add=function(){return(Tv=l._Add=l.asm.Add).apply(null,arguments)},_v=l._AddN=function(){return(_v=l._AddN=l.asm.AddN).apply(null,arguments)},Ev=l._All=function(){return(Ev=l._All=l.asm.All).apply(null,arguments)},Av=l._Any=function(){return(Av=l._Any=l.asm.Any).apply(null,arguments)},Dv=l._ArgMax=function(){return(Dv=l._ArgMax=l.asm.ArgMax).apply(null,arguments)},$v=l._ArgMin=function(){return($v=l._ArgMin=l.asm.ArgMin).apply(null,arguments)},Rv=l._Asin=function(){return(Rv=l._Asin=l.asm.Asin).apply(null,arguments)},Fv=l._Asinh=function(){return(Fv=l._Asinh=l.asm.Asinh).apply(null,arguments)},Ov=l._Atan=function(){return(Ov=l._Atan=l.asm.Atan).apply(null,arguments)},Mv=l._Atan2=function(){return(Mv=l._Atan2=l.asm.Atan2).apply(null,arguments)},Pv=l._Atanh=function(){return(Pv=l._Atanh=l.asm.Atanh).apply(null,arguments)},Lv=l._AvgPool=function(){return(Lv=l._AvgPool=l.asm.AvgPool).apply(null,arguments)},zv=l._AvgPool3D=function(){return(zv=l._AvgPool3D=l.asm.AvgPool3D).apply(null,arguments)},Bv=l._AvgPool3DGrad=function(){return(Bv=l._AvgPool3DGrad=l.asm.AvgPool3DGrad).apply(null,arguments)},Vv=l._AvgPoolGrad=function(){return(Vv=l._AvgPoolGrad=l.asm.AvgPoolGrad).apply(null,arguments)},Gv=l._BatchMatMul=function(){return(Gv=l._BatchMatMul=l.asm.BatchMatMul).apply(null,arguments)},Wv=l._Bincount=function(){return(Wv=l._Bincount=l.asm.Bincount).apply(null,arguments)},Uv=l._BitwiseAnd=function(){return(Uv=l._BitwiseAnd=l.asm.BitwiseAnd).apply(null,arguments)},Hv=l._Ceil=function(){return(Hv=l._Ceil=l.asm.Ceil).apply(null,arguments)},qv=l._ClipByValue=function(){return(qv=l._ClipByValue=l.asm.ClipByValue).apply(null,arguments)},Kv=l._Conv2D=function(){return(Kv=l._Conv2D=l.asm.Conv2D).apply(null,arguments)},jv=l._Conv2DBackpropInput=function(){return(jv=l._Conv2DBackpropInput=l.asm.Conv2DBackpropInput).apply(null,arguments)},Xv=l._Conv3D=function(){return(Xv=l._Conv3D=l.asm.Conv3D).apply(null,arguments)},Yv=l._Conv3DBackpropFilterV2=function(){return(Yv=l._Conv3DBackpropFilterV2=l.asm.Conv3DBackpropFilterV2).apply(null,arguments)},Zv=l._Conv3DBackpropInputV2=function(){return(Zv=l._Conv3DBackpropInputV2=l.asm.Conv3DBackpropInputV2).apply(null,arguments)},Jv=l._Cos=function(){return(Jv=l._Cos=l.asm.Cos).apply(null,arguments)},Qv=l._Cosh=function(){return(Qv=l._Cosh=l.asm.Cosh).apply(null,arguments)},tS=l._CropAndResize=function(){return(tS=l._CropAndResize=l.asm.CropAndResize).apply(null,arguments)},eS=l._Cumprod=function(){return(eS=l._Cumprod=l.asm.Cumprod).apply(null,arguments)},rS=l._Cumsum=function(){return(rS=l._Cumsum=l.asm.Cumsum).apply(null,arguments)},nS=l._DenseBincount=function(){return(nS=l._DenseBincount=l.asm.DenseBincount).apply(null,arguments)},oS=l._DepthToSpace=function(){return(oS=l._DepthToSpace=l.asm.DepthToSpace).apply(null,arguments)},sS=l._DepthwiseConv2dNative=function(){return(sS=l._DepthwiseConv2dNative=l.asm.DepthwiseConv2dNative).apply(null,arguments)},iS=l._Diag=function(){return(iS=l._Diag=l.asm.Diag).apply(null,arguments)},aS=l._Dilation2D=function(){return(aS=l._Dilation2D=l.asm.Dilation2D).apply(null,arguments)},lS=l._Dilation2DBackpropFilter=function(){return(lS=l._Dilation2DBackpropFilter=l.asm.Dilation2DBackpropFilter).apply(null,arguments)},uS=l._Dilation2DBackpropInput=function(){return(uS=l._Dilation2DBackpropInput=l.asm.Dilation2DBackpropInput).apply(null,arguments)},cS=l._Elu=function(){return(cS=l._Elu=l.asm.Elu).apply(null,arguments)},pS=l._EluGrad=function(){return(pS=l._EluGrad=l.asm.EluGrad).apply(null,arguments)},mS=l._Equal=function(){return(mS=l._Equal=l.asm.Equal).apply(null,arguments)},fS=l._Erf=function(){return(fS=l._Erf=l.asm.Erf).apply(null,arguments)},dS=l._Exp=function(){return(dS=l._Exp=l.asm.Exp).apply(null,arguments)},hS=l._Expm1=function(){return(hS=l._Expm1=l.asm.Expm1).apply(null,arguments)},gS=l._FlipLeftRight=function(){return(gS=l._FlipLeftRight=l.asm.FlipLeftRight).apply(null,arguments)},xS=l._Floor=function(){return(xS=l._Floor=l.asm.Floor).apply(null,arguments)},yS=l._FloorDiv=function(){return(yS=l._FloorDiv=l.asm.FloorDiv).apply(null,arguments)},bS=l._FusedBatchNorm=function(){return(bS=l._FusedBatchNorm=l.asm.FusedBatchNorm).apply(null,arguments)},wS=l._FusedConv2D=function(){return(wS=l._FusedConv2D=l.asm.FusedConv2D).apply(null,arguments)},IS=l._FusedDepthwiseConv2D=function(){return(IS=l._FusedDepthwiseConv2D=l.asm.FusedDepthwiseConv2D).apply(null,arguments)},CS=l._Gather=function(){return(CS=l._Gather=l.asm.Gather).apply(null,arguments)},vS=l._GatherNd=function(){return(vS=l._GatherNd=l.asm.GatherNd).apply(null,arguments)},SS=l._Greater=function(){return(SS=l._Greater=l.asm.Greater).apply(null,arguments)},NS=l._GreaterEqual=function(){return(NS=l._GreaterEqual=l.asm.GreaterEqual).apply(null,arguments)},kS=l._IsFinite=function(){return(kS=l._IsFinite=l.asm.IsFinite).apply(null,arguments)},TS=l._IsInf=function(){return(TS=l._IsInf=l.asm.IsInf).apply(null,arguments)},_S=l._IsNan=function(){return(_S=l._IsNan=l.asm.IsNan).apply(null,arguments)},ES=l._LRN=function(){return(ES=l._LRN=l.asm.LRN).apply(null,arguments)},AS=l._LRNGrad=function(){return(AS=l._LRNGrad=l.asm.LRNGrad).apply(null,arguments)},DS=l._LeakyRelu=function(){return(DS=l._LeakyRelu=l.asm.LeakyRelu).apply(null,arguments)},$S=l._Less=function(){return($S=l._Less=l.asm.Less).apply(null,arguments)},RS=l._LessEqual=function(){return(RS=l._LessEqual=l.asm.LessEqual).apply(null,arguments)},FS=l._LinSpace=function(){return(FS=l._LinSpace=l.asm.LinSpace).apply(null,arguments)},OS=l._Log=function(){return(OS=l._Log=l.asm.Log).apply(null,arguments)},MS=l._Log1p=function(){return(MS=l._Log1p=l.asm.Log1p).apply(null,arguments)},PS=l._LogicalAnd=function(){return(PS=l._LogicalAnd=l.asm.LogicalAnd).apply(null,arguments)},LS=l._LogicalNot=function(){return(LS=l._LogicalNot=l.asm.LogicalNot).apply(null,arguments)},zS=l._LogicalOr=function(){return(zS=l._LogicalOr=l.asm.LogicalOr).apply(null,arguments)},BS=l._LogicalXor=function(){return(BS=l._LogicalXor=l.asm.LogicalXor).apply(null,arguments)},VS=l._Max=function(){return(VS=l._Max=l.asm.Max).apply(null,arguments)},GS=l._MaxPool=function(){return(GS=l._MaxPool=l.asm.MaxPool).apply(null,arguments)},WS=l._MaxPool3D=function(){return(WS=l._MaxPool3D=l.asm.MaxPool3D).apply(null,arguments)},US=l._MaxPool3DGrad=function(){return(US=l._MaxPool3DGrad=l.asm.MaxPool3DGrad).apply(null,arguments)},HS=l._MaxPoolGrad=function(){return(HS=l._MaxPoolGrad=l.asm.MaxPoolGrad).apply(null,arguments)},qS=l._MaxPoolWithArgmax=function(){return(qS=l._MaxPoolWithArgmax=l.asm.MaxPoolWithArgmax).apply(null,arguments)},KS=l._Maximum=function(){return(KS=l._Maximum=l.asm.Maximum).apply(null,arguments)},jS=l._Mean=function(){return(jS=l._Mean=l.asm.Mean).apply(null,arguments)},XS=l._Min=function(){return(XS=l._Min=l.asm.Min).apply(null,arguments)},YS=l._Minimum=function(){return(YS=l._Minimum=l.asm.Minimum).apply(null,arguments)},ZS=l._MirrorPad=function(){return(ZS=l._MirrorPad=l.asm.MirrorPad).apply(null,arguments)},JS=l._Mod=function(){return(JS=l._Mod=l.asm.Mod).apply(null,arguments)},QS=l._Multinomial=function(){return(QS=l._Multinomial=l.asm.Multinomial).apply(null,arguments)},t0=l._Multiply=function(){return(t0=l._Multiply=l.asm.Multiply).apply(null,arguments)},e0=l._Neg=function(){return(e0=l._Neg=l.asm.Neg).apply(null,arguments)},r0=l._NonMaxSuppressionV3=function(){return(r0=l._NonMaxSuppressionV3=l.asm.NonMaxSuppressionV3).apply(null,arguments)},n0=l._NonMaxSuppressionV4=function(){return(n0=l._NonMaxSuppressionV4=l.asm.NonMaxSuppressionV4).apply(null,arguments)},Mg=l._NonMaxSuppressionV5=function(){return(Mg=l._NonMaxSuppressionV5=l.asm.NonMaxSuppressionV5).apply(null,arguments)},Pg=l._NotEqual=function(){return(Pg=l._NotEqual=l.asm.NotEqual).apply(null,arguments)},Kd=l._OneHot=function(){return(Kd=l._OneHot=l.asm.OneHot).apply(null,arguments)},o0=l._PadV2=function(){return(o0=l._PadV2=l.asm.PadV2).apply(null,arguments)},s0=l._Pow=function(){return(s0=l._Pow=l.asm.Pow).apply(null,arguments)},Cp=l._Prelu=function(){return(Cp=l._Prelu=l.asm.Prelu).apply(null,arguments)},Lg=l._Prod=function(){return(Lg=l._Prod=l.asm.Prod).apply(null,arguments)},vp=l._RealDiv=function(){return(vp=l._RealDiv=l.asm.RealDiv).apply(null,arguments)},Sp=l._Reciprocal=function(){return(Sp=l._Reciprocal=l.asm.Reciprocal).apply(null,arguments)},i0=l._Relu=function(){return(i0=l._Relu=l.asm.Relu).apply(null,arguments)},j=l._Relu6=function(){return(j=l._Relu6=l.asm.Relu6).apply(null,arguments)},ut=l._ResizeBilinear=function(){return(ut=l._ResizeBilinear=l.asm.ResizeBilinear).apply(null,arguments)},Ft=l._ResizeBilinearGrad=function(){return(Ft=l._ResizeBilinearGrad=l.asm.ResizeBilinearGrad).apply(null,arguments)},me=l._ResizeNearestNeighbor=function(){return(me=l._ResizeNearestNeighbor=l.asm.ResizeNearestNeighbor).apply(null,arguments)},Ye=l._ResizeNearestNeighborGrad=function(){return(Ye=l._ResizeNearestNeighborGrad=l.asm.ResizeNearestNeighborGrad).apply(null,arguments)},Ze=l._Reverse=function(){return(Ze=l._Reverse=l.asm.Reverse).apply(null,arguments)},se=l._RotateWithOffset=function(){return(se=l._RotateWithOffset=l.asm.RotateWithOffset).apply(null,arguments)},ne=l._Round=function(){return(ne=l._Round=l.asm.Round).apply(null,arguments)},yr=l._Rsqrt=function(){return(yr=l._Rsqrt=l.asm.Rsqrt).apply(null,arguments)},to=l._ScatterNd=function(){return(to=l._ScatterNd=l.asm.ScatterNd).apply(null,arguments)},Na=l._SearchSorted=function(){return(Na=l._SearchSorted=l.asm.SearchSorted).apply(null,arguments)},zg=l._SelectV2=function(){return(zg=l._SelectV2=l.asm.SelectV2).apply(null,arguments)},jd=l._Selu=function(){return(jd=l._Selu=l.asm.Selu).apply(null,arguments)},a0=l._Sigmoid=function(){return(a0=l._Sigmoid=l.asm.Sigmoid).apply(null,arguments)},nn=l._Sign=function(){return(nn=l._Sign=l.asm.Sign).apply(null,arguments)},Vl=l._Sin=function(){return(Vl=l._Sin=l.asm.Sin).apply(null,arguments)},Bg=l._Sinh=function(){return(Bg=l._Sinh=l.asm.Sinh).apply(null,arguments)},nq=l._Softmax=function(){return(nq=l._Softmax=l.asm.Softmax).apply(null,arguments)},oq=l._Softplus=function(){return(oq=l._Softplus=l.asm.Softplus).apply(null,arguments)},sq=l._SparseFillEmptyRows=function(){return(sq=l._SparseFillEmptyRows=l.asm.SparseFillEmptyRows).apply(null,arguments)},iq=l._SparseReshape=function(){return(iq=l._SparseReshape=l.asm.SparseReshape).apply(null,arguments)},aq=l._SparseSegmentReduction=function(){return(aq=l._SparseSegmentReduction=l.asm.SparseSegmentReduction).apply(null,arguments)},lq=l._SparseToDense=function(){return(lq=l._SparseToDense=l.asm.SparseToDense).apply(null,arguments)},uq=l._Sqrt=function(){return(uq=l._Sqrt=l.asm.Sqrt).apply(null,arguments)},cq=l._Square=function(){return(cq=l._Square=l.asm.Square).apply(null,arguments)},pq=l._SquaredDifference=function(){return(pq=l._SquaredDifference=l.asm.SquaredDifference).apply(null,arguments)},mq=l._Step=function(){return(mq=l._Step=l.asm.Step).apply(null,arguments)},fq=l._StridedSlice=function(){return(fq=l._StridedSlice=l.asm.StridedSlice).apply(null,arguments)},dq=l._Sub=function(){return(dq=l._Sub=l.asm.Sub).apply(null,arguments)},hq=l._Sum=function(){return(hq=l._Sum=l.asm.Sum).apply(null,arguments)},gq=l._Tan=function(){return(gq=l._Tan=l.asm.Tan).apply(null,arguments)},xq=l._Tanh=function(){return(xq=l._Tanh=l.asm.Tanh).apply(null,arguments)},yq=l._TensorScatterUpdate=function(){return(yq=l._TensorScatterUpdate=l.asm.TensorScatterUpdate).apply(null,arguments)},bq=l._Tile=function(){return(bq=l._Tile=l.asm.Tile).apply(null,arguments)},wq=l._TopK=function(){return(wq=l._TopK=l.asm.TopK).apply(null,arguments)},Iq=l._Transform=function(){return(Iq=l._Transform=l.asm.Transform).apply(null,arguments)},Cq=l._Transpose=function(){return(Cq=l._Transpose=l.asm.Transpose).apply(null,arguments)},vq=l.__FusedMatMul=function(){return(vq=l.__FusedMatMul=l.asm._FusedMatMul).apply(null,arguments)},Sq=l._malloc=function(){return(Sq=l._malloc=l.asm.malloc).apply(null,arguments)},Nq=l._free=function(){return(Nq=l._free=l.asm.free).apply(null,arguments)},kq=l.__emscripten_tls_init=function(){return(kq=l.__emscripten_tls_init=l.asm._emscripten_tls_init).apply(null,arguments)},Vg=l._pthread_self=function(){return(Vg=l._pthread_self=l.asm.pthread_self).apply(null,arguments)},Tq=l.___errno_location=function(){return(Tq=l.___errno_location=l.asm.__errno_location).apply(null,arguments)},m_=l.__emscripten_thread_init=function(){return(m_=l.__emscripten_thread_init=l.asm._emscripten_thread_init).apply(null,arguments)},_q=l.__emscripten_thread_crashed=function(){return(_q=l.__emscripten_thread_crashed=l.asm._emscripten_thread_crashed).apply(null,arguments)},Eq=l._emscripten_main_thread_process_queued_calls=function(){return(Eq=l._emscripten_main_thread_process_queued_calls=l.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},Aq=l._emscripten_main_browser_thread_id=function(){return(Aq=l._emscripten_main_browser_thread_id=l.asm.emscripten_main_browser_thread_id).apply(null,arguments)},f_=l._emscripten_run_in_main_runtime_thread_js=function(){return(f_=l._emscripten_run_in_main_runtime_thread_js=l.asm.emscripten_run_in_main_runtime_thread_js).apply(null,arguments)},Dq=l._emscripten_dispatch_to_thread_=function(){return(Dq=l._emscripten_dispatch_to_thread_=l.asm.emscripten_dispatch_to_thread_).apply(null,arguments)},d_=l.__emscripten_proxy_execute_task_queue=function(){return(d_=l.__emscripten_proxy_execute_task_queue=l.asm._emscripten_proxy_execute_task_queue).apply(null,arguments)},l0=l.__emscripten_thread_free_data=function(){return(l0=l.__emscripten_thread_free_data=l.asm._emscripten_thread_free_data).apply(null,arguments)},h_=l.__emscripten_thread_exit=function(){return(h_=l.__emscripten_thread_exit=l.asm._emscripten_thread_exit).apply(null,arguments)},g_=l._emscripten_stack_set_limits=function(){return(g_=l._emscripten_stack_set_limits=l.asm.emscripten_stack_set_limits).apply(null,arguments)},u0=l.stackSave=function(){return(u0=l.stackSave=l.asm.stackSave).apply(null,arguments)},Gg=l.stackRestore=function(){return(Gg=l.stackRestore=l.asm.stackRestore).apply(null,arguments)},Wg=l.stackAlloc=function(){return(Wg=l.stackAlloc=l.asm.stackAlloc).apply(null,arguments)},$q=l.dynCall_iijjiiii=function(){return($q=l.dynCall_iijjiiii=l.asm.dynCall_iijjiiii).apply(null,arguments)},Rq=l.dynCall_jiji=function(){return(Rq=l.dynCall_jiji=l.asm.dynCall_jiji).apply(null,arguments)};l.keepRuntimeAlive=zo,l.wasmMemory=it,l.cwrap=hv,l.ExitStatus=Yu,l.PThread=Yt;var Ug;Sa=function P(){Ug||x_(),Ug||(Sa=P)};function x_(P){if(P=P||d,zl>0)return;if(I){c(l),Er(),startWorker(l);return}if(ki(),zl>0)return;function U(){Ug||(Ug=!0,l.calledRun=!0,!gt&&(Er(),c(l),l.onRuntimeInitialized&&l.onRuntimeInitialized(),va()))}l.setStatus?(l.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){l.setStatus(\"\")},1),U()},1)):U()}if(l.preInit)for(typeof l.preInit==\"function\"&&(l.preInit=[l.preInit]);l.preInit.length>0;)l.preInit.pop()();x_();var Hg;m&&(Hg={uncaughtException:process.listeners(\"uncaughtException\").filter(function(P){return!m.uncaughtException.indexOf(P)>-1}),unhandledRejection:process.listeners(\"unhandledRejection\").filter(function(P){return!m.unhandledRejection.indexOf(P)>-1})});var qg;if(typeof WasmBackendModule!=\"undefined\")qg=WasmBackendModule;else if(typeof t!=\"undefined\")qg=t;else throw new Error(\"Could not find wasm module in post.js\");if(Hg){var Fq=qg._dispose;qg._dispose=function(){Fq(),Hg.uncaughtException.forEach(function(P){process.removeListener(\"uncaughtException\",P)}),Hg.unhandledRejection.forEach(function(P){process.removeListener(\"unhandledRejection\",P)})}}return t.ready}})();typeof DC==\"object\"&&typeof e_==\"object\"?e_.exports=t_:typeof define==\"function\"&&define.amd?define([],function(){return t_}):typeof DC==\"object\"&&(DC.WasmBackendModuleThreadedSimd=t_)});var XH=br((pnr,jH)=>{jH.exports.wasmWorkerContents=`\"use strict\";var Module={};var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require(\"worker_threads\");var parentPort=nodeWorkerThreads.parentPort;parentPort.on(\"message\",data=>onmessage({data:data}));var fs=require(\"fs\");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,\"utf8\")+\"//# sourceURL=\"+f)},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;var pendingNotifiedProxyingQueues=[];function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(\" \");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+\"\n\");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(\" \");postMessage({cmd:\"alert\",text:text,threadId:Module[\"_pthread_self\"]()})}var err=threadPrintErr;self.alert=threadAlert;Module[\"instantiateWasm\"]=(info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module[\"wasmModule\"],info);receiveInstance(instance);Module[\"wasmModule\"]=null;return instance.exports};self.onunhandledrejection=e=>{throw e.reason??e};self.startWorker=instance=>{Module=instance;postMessage({\"cmd\":\"loaded\"})};self.onmessage=e=>{try{if(e.data.cmd===\"load\"){Module[\"wasmModule\"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=function(){postMessage({cmd:\"callHandler\",handler:handler,args:[...arguments]})}}Module[\"wasmMemory\"]=e.data.wasmMemory;Module[\"buffer\"]=Module[\"wasmMemory\"].buffer;Module[\"ENVIRONMENT_IS_PTHREAD\"]=true;if(typeof e.data.urlOrBlob==\"string\"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}WasmBackendModuleThreadedSimd(Module)}else if(e.data.cmd===\"run\"){Module[\"__emscripten_thread_init\"](e.data.pthread_ptr,0,0,1);Module[\"establishStackSpace\"]();Module[\"PThread\"].receiveObjectTransfer(e.data);Module[\"PThread\"].threadInitTLS();if(!initializedJS){pendingNotifiedProxyingQueues.forEach(queue=>{Module[\"executeNotifiedProxyingQueue\"](queue)});pendingNotifiedProxyingQueues=[];initializedJS=true}try{Module[\"invokeEntryPoint\"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!=\"unwind\"){if(ex instanceof Module[\"ExitStatus\"]){if(Module[\"keepRuntimeAlive\"]()){}else{Module[\"__emscripten_thread_exit\"](ex.status)}}else{throw ex}}}}else if(e.data.cmd===\"cancel\"){if(Module[\"_pthread_self\"]()){Module[\"__emscripten_thread_exit\"](-1)}}else if(e.data.target===\"setimmediate\"){}else if(e.data.cmd===\"processProxyingQueue\"){if(initializedJS){Module[\"executeNotifiedProxyingQueue\"](e.data.queue)}else{pendingNotifiedProxyingQueues.push(e.data.queue)}}else if(e.data.cmd){err(\"worker.js received unknown command \"+e.data.cmd);err(e.data)}}catch(ex){if(Module[\"__emscripten_thread_crashed\"]){Module[\"__emscripten_thread_crashed\"]()}throw ex}};`});var YH=br(($C,n_)=>{var r_=(()=>{var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(t){t=t||{};var e=typeof t!=\"undefined\"?t:{},n,o;e.ready=new Promise(function(j,ut){n=j,o=ut});var s;typeof process!=\"undefined\"&&process.listeners&&(s={uncaughtException:process.listeners(\"uncaughtException\"),unhandledRejection:process.listeners(\"unhandledRejection\")});var i=Object.assign({},e),a=[],u=\"./this.program\",l=(j,ut)=>{throw ut},c=typeof window==\"object\",p=typeof importScripts==\"function\",m=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",f=\"\";function d(j){return e.locateFile?e.locateFile(j,f):f+j}var h,g,x,b;function w(j){if(j instanceof bp)return;A(\"exiting due to exception: \"+j)}if(m){var I=fw(),N=Q1();p?f=N.dirname(f)+\"/\":f=__dirname+\"/\",h=(j,ut)=>(j=ki(j)?new URL(j):N.normalize(j),I.readFileSync(j,ut?void 0:\"utf8\")),x=j=>{var ut=h(j,!0);return ut.buffer||(ut=new Uint8Array(ut)),ut},g=(j,ut,Ft)=>{j=ki(j)?new URL(j):N.normalize(j),I.readFile(j,function(me,Ye){me?Ft(me):ut(Ye.buffer)})},process.argv.length>1&&(u=process.argv[1].replace(/\\\\/g,\"/\")),a=process.argv.slice(2),process.on(\"uncaughtException\",function(j){if(!(j instanceof bp))throw j}),process.on(\"unhandledRejection\",function(j){throw j}),l=(j,ut)=>{if(de())throw process.exitCode=j,ut;w(ut),process.exit(j)},e.inspect=function(){return\"[Emscripten Module object]\"}}else(c||p)&&(p?f=self.location.href:typeof document!=\"undefined\"&&document.currentScript&&(f=document.currentScript.src),r&&(f=r),f.indexOf(\"blob:\")!==0?f=f.substr(0,f.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):f=\"\",h=j=>{var ut=new XMLHttpRequest;return ut.open(\"GET\",j,!1),ut.send(null),ut.responseText},p&&(x=j=>{var ut=new XMLHttpRequest;return ut.open(\"GET\",j,!1),ut.responseType=\"arraybuffer\",ut.send(null),new Uint8Array(ut.response)}),g=(j,ut,Ft)=>{var me=new XMLHttpRequest;me.open(\"GET\",j,!0),me.responseType=\"arraybuffer\",me.onload=()=>{if(me.status==200||me.status==0&&me.response){ut(me.response);return}Ft()},me.onerror=Ft,me.send(null)},b=j=>document.title=j);var E=e.print||console.log.bind(console),A=e.printErr||console.warn.bind(console);Object.assign(e,i),i=null,e.arguments&&(a=e.arguments),e.thisProgram&&(u=e.thisProgram),e.quit&&(l=e.quit);var D=4,F;e.wasmBinary&&(F=e.wasmBinary);var M=e.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&Zr(\"no native wasm support detected\");var V,G=!1,W;function q(j,ut){j||Zr(ut)}var H=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):void 0;function K(j,ut,Ft){ut>>>=0;for(var me=ut+Ft,Ye=ut;j[Ye]&&!(Ye>=me);)++Ye;if(Ye-ut>16&&j.buffer&&H)return H.decode(j.subarray(ut,Ye));for(var Ze=\"\";ut>10,56320|to&1023)}}return Ze}function Y(j,ut){return j>>>=0,j?K(lt,j,ut):\"\"}function Z(j,ut,Ft,me){if(Ft>>>=0,!(me>0))return 0;for(var Ye=Ft,Ze=Ft+me-1,se=0;se=55296&&ne<=57343){var yr=j.charCodeAt(++se);ne=65536+((ne&1023)<<10)|yr&1023}if(ne<=127){if(Ft>=Ze)break;ut[Ft++>>>0]=ne}else if(ne<=2047){if(Ft+1>=Ze)break;ut[Ft++>>>0]=192|ne>>6,ut[Ft++>>>0]=128|ne&63}else if(ne<=65535){if(Ft+2>=Ze)break;ut[Ft++>>>0]=224|ne>>12,ut[Ft++>>>0]=128|ne>>6&63,ut[Ft++>>>0]=128|ne&63}else{if(Ft+3>=Ze)break;ut[Ft++>>>0]=240|ne>>18,ut[Ft++>>>0]=128|ne>>12&63,ut[Ft++>>>0]=128|ne>>6&63,ut[Ft++>>>0]=128|ne&63}}return ut[Ft>>>0]=0,Ft-Ye}function et(j,ut,Ft){return Z(j,lt,ut,Ft)}var nt,st,lt,ot,it,ft,gt,Ct,Rt;function Dt(j){nt=j,e.HEAP8=st=new Int8Array(j),e.HEAP16=ot=new Int16Array(j),e.HEAP32=ft=new Int32Array(j),e.HEAPU8=lt=new Uint8Array(j),e.HEAPU16=it=new Uint16Array(j),e.HEAPU32=gt=new Uint32Array(j),e.HEAPF32=Ct=new Float32Array(j),e.HEAPF64=Rt=new Float64Array(j)}var Ht=e.INITIAL_MEMORY||16777216,qt,pe=[],xe=[],re=[],ye=!1;function de(){return M}function Ee(){if(e.preRun)for(typeof e.preRun==\"function\"&&(e.preRun=[e.preRun]);e.preRun.length;)lr(e.preRun.shift());Sa(pe)}function Ae(){ye=!0,Sa(xe)}function On(){if(e.postRun)for(typeof e.postRun==\"function\"&&(e.postRun=[e.postRun]);e.postRun.length;)zr(e.postRun.shift());Sa(re)}function lr(j){pe.unshift(j)}function Zn(j){xe.unshift(j)}function zr(j){re.unshift(j)}var Xe=0,Br=null,Vr=null;function Jn(j){Xe++,e.monitorRunDependencies&&e.monitorRunDependencies(Xe)}function Qn(j){if(Xe--,e.monitorRunDependencies&&e.monitorRunDependencies(Xe),Xe==0&&(Br!==null&&(clearInterval(Br),Br=null),Vr)){var ut=Vr;Vr=null,ut()}}function Zr(j){e.onAbort&&e.onAbort(j),j=\"Aborted(\"+j+\")\",A(j),G=!0,W=1,j+=\". Build with -sASSERTIONS for more info.\";var ut=new WebAssembly.RuntimeError(j);throw o(ut),ut}var Ca=\"data:application/octet-stream;base64,\";function zo(j){return j.startsWith(Ca)}function ki(j){return j.startsWith(\"file://\")}var Er;Er=\"tfjs-backend-wasm.wasm\",zo(Er)||(Er=d(Er));function va(j){try{if(j==Er&&F)return new Uint8Array(F);if(x)return x(j);throw\"both async and sync fetching of the wasm failed\"}catch(ut){Zr(ut)}}function Bd(){if(!F&&(c||p)){if(typeof fetch==\"function\"&&!ki(Er))return fetch(Er,{credentials:\"same-origin\"}).then(function(j){if(!j.ok)throw\"failed to load wasm binary file at '\"+Er+\"'\";return j.arrayBuffer()}).catch(function(){return va(Er)});if(g)return new Promise(function(j,ut){g(Er,function(Ft){j(new Uint8Array(Ft))},ut)})}return Promise.resolve().then(function(){return va(Er)})}function Vd(){var j={env:Gd,wasi_snapshot_preview1:Gd};function ut(se,ne){var yr=se.exports;e.asm=yr,V=e.asm.memory,Dt(V.buffer),qt=e.asm.__indirect_function_table,Zn(e.asm.__wasm_call_ctors),Qn(\"wasm-instantiate\")}Jn(\"wasm-instantiate\");function Ft(se){ut(se.instance)}function me(se){return Bd().then(function(ne){return WebAssembly.instantiate(ne,j)}).then(function(ne){return ne}).then(se,function(ne){A(\"failed to asynchronously prepare wasm: \"+ne),Zr(ne)})}function Ye(){return!F&&typeof WebAssembly.instantiateStreaming==\"function\"&&!zo(Er)&&!ki(Er)&&!m&&typeof fetch==\"function\"?fetch(Er,{credentials:\"same-origin\"}).then(function(se){var ne=WebAssembly.instantiateStreaming(se,j);return ne.then(Ft,function(yr){return A(\"wasm streaming compile failed: \"+yr),A(\"falling back to ArrayBuffer instantiation\"),me(Ft)})}):me(Ft)}if(e.instantiateWasm)try{var Ze=e.instantiateWasm(j,ut);return Ze}catch(se){A(\"Module.instantiateWasm callback failed with error: \"+se),o(se)}return Ye().catch(o),{}}var l_,zl;function bp(j){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+j+\")\",this.status=j}function Sa(j){for(;j.length>0;)j.shift()(e)}function FC(){Zr(\"\")}function wg(){return 4294901760}function Xu(){return wg()}function OC(j,ut,Ft){lt.copyWithin(j>>>0,ut>>>0,ut+Ft>>>0)}function Ig(j){try{return V.grow(j-nt.byteLength+65535>>>16),Dt(V.buffer),1}catch(ut){}}function wp(j){var ut=lt.length;j=j>>>0;var Ft=wg();if(j>Ft)return!1;let me=(yr,to)=>yr+(to-yr%to)%to;for(var Ye=1;Ye<=4;Ye*=2){var Ze=ut*(1+.2/Ye);Ze=Math.min(Ze,j+100663296);var se=Math.min(Ft,me(Math.max(j,Ze),65536)),ne=Ig(se);if(ne)return!0}return!1}var Jr={varargs:void 0,get:function(){Jr.varargs+=4;var j=ft[Jr.varargs-4>>>2];return j},getStr:function(j){var ut=Y(j);return ut}};function Cg(j){return 52}function MC(j,ut,Ft,me,Ye){return 70}var PC=[null,[],[]];function u_(j,ut){var Ft=PC[j];ut===0||ut===10?((j===1?E:A)(K(Ft,0)),Ft.length=0):Ft.push(ut)}function c_(j,ut,Ft,me){for(var Ye=0,Ze=0;Ze>>2],ne=gt[ut+4>>>2];ut+=8;for(var yr=0;yr>>0]);Ye+=ne}return gt[me>>>2]=Ye,0}function vg(j){var ut=e[\"_\"+j];return ut}function Yu(j,ut){st.set(j,ut>>>0)}function LC(j,ut,Ft,me,Ye){var Ze={string:nn=>{var Vl=0;if(nn!=null&&nn!==0){var Bg=(nn.length<<2)+1;Vl=Kd(Bg),et(nn,Vl,Bg)}return Vl},array:nn=>{var Vl=Kd(nn.length);return Yu(nn,Vl),Vl}};function se(nn){return ut===\"string\"?Y(nn):ut===\"boolean\"?!!nn:nn}var ne=vg(j),yr=[],to=0;if(me)for(var Na=0;Nase===\"number\"||se===\"boolean\"),Ze=ut!==\"string\";return Ze&&Ye&&!me?vg(j):function(){return LC(j,ut,Ft,arguments,me)}}var Gd={abort:FC,emscripten_get_heap_max:Xu,emscripten_memcpy_big:OC,emscripten_resize_heap:wp,fd_close:Cg,fd_seek:MC,fd_write:c_},BC=Vd(),Sg=e.___wasm_call_ctors=function(){return(Sg=e.___wasm_call_ctors=e.asm.__wasm_call_ctors).apply(null,arguments)},Ng=e._init=function(){return(Ng=e._init=e.asm.init).apply(null,arguments)},VC=e._init_with_threads_count=function(){return(VC=e._init_with_threads_count=e.asm.init_with_threads_count).apply(null,arguments)},kg=e._get_threads_count=function(){return(kg=e._get_threads_count=e.asm.get_threads_count).apply(null,arguments)},GC=e._register_tensor=function(){return(GC=e._register_tensor=e.asm.register_tensor).apply(null,arguments)},Yt=e._dispose_data=function(){return(Yt=e._dispose_data=e.asm.dispose_data).apply(null,arguments)},Wd=e._dispose=function(){return(Wd=e._dispose=e.asm.dispose).apply(null,arguments)},WC=e._Abs=function(){return(WC=e._Abs=e.asm.Abs).apply(null,arguments)},Tg=e._Acos=function(){return(Tg=e._Acos=e.asm.Acos).apply(null,arguments)},Ip=e._Acosh=function(){return(Ip=e._Acosh=e.asm.Acosh).apply(null,arguments)},UC=e._Add=function(){return(UC=e._Add=e.asm.Add).apply(null,arguments)},HC=e._AddN=function(){return(HC=e._AddN=e.asm.AddN).apply(null,arguments)},qC=e._All=function(){return(qC=e._All=e.asm.All).apply(null,arguments)},KC=e._Any=function(){return(KC=e._Any=e.asm.Any).apply(null,arguments)},jC=e._ArgMax=function(){return(jC=e._ArgMax=e.asm.ArgMax).apply(null,arguments)},_g=e._ArgMin=function(){return(_g=e._ArgMin=e.asm.ArgMin).apply(null,arguments)},Eg=e._Asin=function(){return(Eg=e._Asin=e.asm.Asin).apply(null,arguments)},XC=e._Asinh=function(){return(XC=e._Asinh=e.asm.Asinh).apply(null,arguments)},YC=e._Atan=function(){return(YC=e._Atan=e.asm.Atan).apply(null,arguments)},ZC=e._Atan2=function(){return(ZC=e._Atan2=e.asm.Atan2).apply(null,arguments)},Ud=e._Atanh=function(){return(Ud=e._Atanh=e.asm.Atanh).apply(null,arguments)},JC=e._AvgPool=function(){return(JC=e._AvgPool=e.asm.AvgPool).apply(null,arguments)},QC=e._AvgPool3D=function(){return(QC=e._AvgPool3D=e.asm.AvgPool3D).apply(null,arguments)},tv=e._AvgPool3DGrad=function(){return(tv=e._AvgPool3DGrad=e.asm.AvgPool3DGrad).apply(null,arguments)},Zu=e._AvgPoolGrad=function(){return(Zu=e._AvgPoolGrad=e.asm.AvgPoolGrad).apply(null,arguments)},ev=e._BatchMatMul=function(){return(ev=e._BatchMatMul=e.asm.BatchMatMul).apply(null,arguments)},rv=e._Bincount=function(){return(rv=e._Bincount=e.asm.Bincount).apply(null,arguments)},Ag=e._BitwiseAnd=function(){return(Ag=e._BitwiseAnd=e.asm.BitwiseAnd).apply(null,arguments)},nv=e._Ceil=function(){return(nv=e._Ceil=e.asm.Ceil).apply(null,arguments)},Hd=e._ClipByValue=function(){return(Hd=e._ClipByValue=e.asm.ClipByValue).apply(null,arguments)},ov=e._Conv2D=function(){return(ov=e._Conv2D=e.asm.Conv2D).apply(null,arguments)},sv=e._Conv2DBackpropInput=function(){return(sv=e._Conv2DBackpropInput=e.asm.Conv2DBackpropInput).apply(null,arguments)},iv=e._Conv3D=function(){return(iv=e._Conv3D=e.asm.Conv3D).apply(null,arguments)},Bl=e._Conv3DBackpropFilterV2=function(){return(Bl=e._Conv3DBackpropFilterV2=e.asm.Conv3DBackpropFilterV2).apply(null,arguments)},qd=e._Conv3DBackpropInputV2=function(){return(qd=e._Conv3DBackpropInputV2=e.asm.Conv3DBackpropInputV2).apply(null,arguments)},av=e._Cos=function(){return(av=e._Cos=e.asm.Cos).apply(null,arguments)},lv=e._Cosh=function(){return(lv=e._Cosh=e.asm.Cosh).apply(null,arguments)},uv=e._CropAndResize=function(){return(uv=e._CropAndResize=e.asm.CropAndResize).apply(null,arguments)},cv=e._Cumprod=function(){return(cv=e._Cumprod=e.asm.Cumprod).apply(null,arguments)},Dg=e._Cumsum=function(){return(Dg=e._Cumsum=e.asm.Cumsum).apply(null,arguments)},$g=e._DenseBincount=function(){return($g=e._DenseBincount=e.asm.DenseBincount).apply(null,arguments)},pv=e._DepthToSpace=function(){return(pv=e._DepthToSpace=e.asm.DepthToSpace).apply(null,arguments)},mv=e._DepthwiseConv2dNative=function(){return(mv=e._DepthwiseConv2dNative=e.asm.DepthwiseConv2dNative).apply(null,arguments)},Rg=e._Diag=function(){return(Rg=e._Diag=e.asm.Diag).apply(null,arguments)},Fg=e._Dilation2D=function(){return(Fg=e._Dilation2D=e.asm.Dilation2D).apply(null,arguments)},fv=e._Dilation2DBackpropFilter=function(){return(fv=e._Dilation2DBackpropFilter=e.asm.Dilation2DBackpropFilter).apply(null,arguments)},dv=e._Dilation2DBackpropInput=function(){return(dv=e._Dilation2DBackpropInput=e.asm.Dilation2DBackpropInput).apply(null,arguments)},hv=e._Elu=function(){return(hv=e._Elu=e.asm.Elu).apply(null,arguments)},gv=e._EluGrad=function(){return(gv=e._EluGrad=e.asm.EluGrad).apply(null,arguments)},Og=e._Equal=function(){return(Og=e._Equal=e.asm.Equal).apply(null,arguments)},p_=e._Erf=function(){return(p_=e._Erf=e.asm.Erf).apply(null,arguments)},xv=e._Exp=function(){return(xv=e._Exp=e.asm.Exp).apply(null,arguments)},yv=e._Expm1=function(){return(yv=e._Expm1=e.asm.Expm1).apply(null,arguments)},bv=e._FlipLeftRight=function(){return(bv=e._FlipLeftRight=e.asm.FlipLeftRight).apply(null,arguments)},wv=e._Floor=function(){return(wv=e._Floor=e.asm.Floor).apply(null,arguments)},Iv=e._FloorDiv=function(){return(Iv=e._FloorDiv=e.asm.FloorDiv).apply(null,arguments)},Cv=e._FusedBatchNorm=function(){return(Cv=e._FusedBatchNorm=e.asm.FusedBatchNorm).apply(null,arguments)},vv=e._FusedConv2D=function(){return(vv=e._FusedConv2D=e.asm.FusedConv2D).apply(null,arguments)},Sv=e._FusedDepthwiseConv2D=function(){return(Sv=e._FusedDepthwiseConv2D=e.asm.FusedDepthwiseConv2D).apply(null,arguments)},Nv=e._Gather=function(){return(Nv=e._Gather=e.asm.Gather).apply(null,arguments)},kv=e._GatherNd=function(){return(kv=e._GatherNd=e.asm.GatherNd).apply(null,arguments)},Tv=e._Greater=function(){return(Tv=e._Greater=e.asm.Greater).apply(null,arguments)},_v=e._GreaterEqual=function(){return(_v=e._GreaterEqual=e.asm.GreaterEqual).apply(null,arguments)},Ev=e._IsFinite=function(){return(Ev=e._IsFinite=e.asm.IsFinite).apply(null,arguments)},Av=e._IsInf=function(){return(Av=e._IsInf=e.asm.IsInf).apply(null,arguments)},Dv=e._IsNan=function(){return(Dv=e._IsNan=e.asm.IsNan).apply(null,arguments)},$v=e._LRN=function(){return($v=e._LRN=e.asm.LRN).apply(null,arguments)},Rv=e._LRNGrad=function(){return(Rv=e._LRNGrad=e.asm.LRNGrad).apply(null,arguments)},Fv=e._LeakyRelu=function(){return(Fv=e._LeakyRelu=e.asm.LeakyRelu).apply(null,arguments)},Ov=e._Less=function(){return(Ov=e._Less=e.asm.Less).apply(null,arguments)},Mv=e._LessEqual=function(){return(Mv=e._LessEqual=e.asm.LessEqual).apply(null,arguments)},Pv=e._LinSpace=function(){return(Pv=e._LinSpace=e.asm.LinSpace).apply(null,arguments)},Lv=e._Log=function(){return(Lv=e._Log=e.asm.Log).apply(null,arguments)},zv=e._Log1p=function(){return(zv=e._Log1p=e.asm.Log1p).apply(null,arguments)},Bv=e._LogicalAnd=function(){return(Bv=e._LogicalAnd=e.asm.LogicalAnd).apply(null,arguments)},Vv=e._LogicalNot=function(){return(Vv=e._LogicalNot=e.asm.LogicalNot).apply(null,arguments)},Gv=e._LogicalOr=function(){return(Gv=e._LogicalOr=e.asm.LogicalOr).apply(null,arguments)},Wv=e._LogicalXor=function(){return(Wv=e._LogicalXor=e.asm.LogicalXor).apply(null,arguments)},Uv=e._Max=function(){return(Uv=e._Max=e.asm.Max).apply(null,arguments)},Hv=e._MaxPool=function(){return(Hv=e._MaxPool=e.asm.MaxPool).apply(null,arguments)},qv=e._MaxPool3D=function(){return(qv=e._MaxPool3D=e.asm.MaxPool3D).apply(null,arguments)},Kv=e._MaxPool3DGrad=function(){return(Kv=e._MaxPool3DGrad=e.asm.MaxPool3DGrad).apply(null,arguments)},jv=e._MaxPoolGrad=function(){return(jv=e._MaxPoolGrad=e.asm.MaxPoolGrad).apply(null,arguments)},Xv=e._MaxPoolWithArgmax=function(){return(Xv=e._MaxPoolWithArgmax=e.asm.MaxPoolWithArgmax).apply(null,arguments)},Yv=e._Maximum=function(){return(Yv=e._Maximum=e.asm.Maximum).apply(null,arguments)},Zv=e._Mean=function(){return(Zv=e._Mean=e.asm.Mean).apply(null,arguments)},Jv=e._Min=function(){return(Jv=e._Min=e.asm.Min).apply(null,arguments)},Qv=e._Minimum=function(){return(Qv=e._Minimum=e.asm.Minimum).apply(null,arguments)},tS=e._MirrorPad=function(){return(tS=e._MirrorPad=e.asm.MirrorPad).apply(null,arguments)},eS=e._Mod=function(){return(eS=e._Mod=e.asm.Mod).apply(null,arguments)},rS=e._Multinomial=function(){return(rS=e._Multinomial=e.asm.Multinomial).apply(null,arguments)},nS=e._Multiply=function(){return(nS=e._Multiply=e.asm.Multiply).apply(null,arguments)},oS=e._Neg=function(){return(oS=e._Neg=e.asm.Neg).apply(null,arguments)},sS=e._NonMaxSuppressionV3=function(){return(sS=e._NonMaxSuppressionV3=e.asm.NonMaxSuppressionV3).apply(null,arguments)},iS=e._NonMaxSuppressionV4=function(){return(iS=e._NonMaxSuppressionV4=e.asm.NonMaxSuppressionV4).apply(null,arguments)},aS=e._NonMaxSuppressionV5=function(){return(aS=e._NonMaxSuppressionV5=e.asm.NonMaxSuppressionV5).apply(null,arguments)},lS=e._NotEqual=function(){return(lS=e._NotEqual=e.asm.NotEqual).apply(null,arguments)},uS=e._OneHot=function(){return(uS=e._OneHot=e.asm.OneHot).apply(null,arguments)},cS=e._PadV2=function(){return(cS=e._PadV2=e.asm.PadV2).apply(null,arguments)},pS=e._Pow=function(){return(pS=e._Pow=e.asm.Pow).apply(null,arguments)},mS=e._Prelu=function(){return(mS=e._Prelu=e.asm.Prelu).apply(null,arguments)},fS=e._Prod=function(){return(fS=e._Prod=e.asm.Prod).apply(null,arguments)},dS=e._RealDiv=function(){return(dS=e._RealDiv=e.asm.RealDiv).apply(null,arguments)},hS=e._Reciprocal=function(){return(hS=e._Reciprocal=e.asm.Reciprocal).apply(null,arguments)},gS=e._Relu=function(){return(gS=e._Relu=e.asm.Relu).apply(null,arguments)},xS=e._Relu6=function(){return(xS=e._Relu6=e.asm.Relu6).apply(null,arguments)},yS=e._ResizeBilinear=function(){return(yS=e._ResizeBilinear=e.asm.ResizeBilinear).apply(null,arguments)},bS=e._ResizeBilinearGrad=function(){return(bS=e._ResizeBilinearGrad=e.asm.ResizeBilinearGrad).apply(null,arguments)},wS=e._ResizeNearestNeighbor=function(){return(wS=e._ResizeNearestNeighbor=e.asm.ResizeNearestNeighbor).apply(null,arguments)},IS=e._ResizeNearestNeighborGrad=function(){return(IS=e._ResizeNearestNeighborGrad=e.asm.ResizeNearestNeighborGrad).apply(null,arguments)},CS=e._Reverse=function(){return(CS=e._Reverse=e.asm.Reverse).apply(null,arguments)},vS=e._RotateWithOffset=function(){return(vS=e._RotateWithOffset=e.asm.RotateWithOffset).apply(null,arguments)},SS=e._Round=function(){return(SS=e._Round=e.asm.Round).apply(null,arguments)},NS=e._Rsqrt=function(){return(NS=e._Rsqrt=e.asm.Rsqrt).apply(null,arguments)},kS=e._ScatterNd=function(){return(kS=e._ScatterNd=e.asm.ScatterNd).apply(null,arguments)},TS=e._SearchSorted=function(){return(TS=e._SearchSorted=e.asm.SearchSorted).apply(null,arguments)},_S=e._SelectV2=function(){return(_S=e._SelectV2=e.asm.SelectV2).apply(null,arguments)},ES=e._Selu=function(){return(ES=e._Selu=e.asm.Selu).apply(null,arguments)},AS=e._Sigmoid=function(){return(AS=e._Sigmoid=e.asm.Sigmoid).apply(null,arguments)},DS=e._Sign=function(){return(DS=e._Sign=e.asm.Sign).apply(null,arguments)},$S=e._Sin=function(){return($S=e._Sin=e.asm.Sin).apply(null,arguments)},RS=e._Sinh=function(){return(RS=e._Sinh=e.asm.Sinh).apply(null,arguments)},FS=e._Softmax=function(){return(FS=e._Softmax=e.asm.Softmax).apply(null,arguments)},OS=e._Softplus=function(){return(OS=e._Softplus=e.asm.Softplus).apply(null,arguments)},MS=e._SparseFillEmptyRows=function(){return(MS=e._SparseFillEmptyRows=e.asm.SparseFillEmptyRows).apply(null,arguments)},PS=e._SparseReshape=function(){return(PS=e._SparseReshape=e.asm.SparseReshape).apply(null,arguments)},LS=e._SparseSegmentReduction=function(){return(LS=e._SparseSegmentReduction=e.asm.SparseSegmentReduction).apply(null,arguments)},zS=e._SparseToDense=function(){return(zS=e._SparseToDense=e.asm.SparseToDense).apply(null,arguments)},BS=e._Sqrt=function(){return(BS=e._Sqrt=e.asm.Sqrt).apply(null,arguments)},VS=e._Square=function(){return(VS=e._Square=e.asm.Square).apply(null,arguments)},GS=e._SquaredDifference=function(){return(GS=e._SquaredDifference=e.asm.SquaredDifference).apply(null,arguments)},WS=e._Step=function(){return(WS=e._Step=e.asm.Step).apply(null,arguments)},US=e._StridedSlice=function(){return(US=e._StridedSlice=e.asm.StridedSlice).apply(null,arguments)},HS=e._Sub=function(){return(HS=e._Sub=e.asm.Sub).apply(null,arguments)},qS=e._Sum=function(){return(qS=e._Sum=e.asm.Sum).apply(null,arguments)},KS=e._Tan=function(){return(KS=e._Tan=e.asm.Tan).apply(null,arguments)},jS=e._Tanh=function(){return(jS=e._Tanh=e.asm.Tanh).apply(null,arguments)},XS=e._TensorScatterUpdate=function(){return(XS=e._TensorScatterUpdate=e.asm.TensorScatterUpdate).apply(null,arguments)},YS=e._Tile=function(){return(YS=e._Tile=e.asm.Tile).apply(null,arguments)},ZS=e._TopK=function(){return(ZS=e._TopK=e.asm.TopK).apply(null,arguments)},JS=e._Transform=function(){return(JS=e._Transform=e.asm.Transform).apply(null,arguments)},QS=e._Transpose=function(){return(QS=e._Transpose=e.asm.Transpose).apply(null,arguments)},t0=e.__FusedMatMul=function(){return(t0=e.__FusedMatMul=e.asm._FusedMatMul).apply(null,arguments)},e0=e._malloc=function(){return(e0=e._malloc=e.asm.malloc).apply(null,arguments)},r0=e._free=function(){return(r0=e._free=e.asm.free).apply(null,arguments)},n0=e.___errno_location=function(){return(n0=e.___errno_location=e.asm.__errno_location).apply(null,arguments)},Mg=e.stackSave=function(){return(Mg=e.stackSave=e.asm.stackSave).apply(null,arguments)},Pg=e.stackRestore=function(){return(Pg=e.stackRestore=e.asm.stackRestore).apply(null,arguments)},Kd=e.stackAlloc=function(){return(Kd=e.stackAlloc=e.asm.stackAlloc).apply(null,arguments)},o0=e.dynCall_iijjiiii=function(){return(o0=e.dynCall_iijjiiii=e.asm.dynCall_iijjiiii).apply(null,arguments)},s0=e.dynCall_jiji=function(){return(s0=e.dynCall_jiji=e.asm.dynCall_jiji).apply(null,arguments)};e.cwrap=zC;var Cp;Vr=function j(){Cp||Lg(),Cp||(Vr=j)};function Lg(j){if(j=j||a,Xe>0||(Ee(),Xe>0))return;function ut(){Cp||(Cp=!0,e.calledRun=!0,!G&&(Ae(),n(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),On()))}e.setStatus?(e.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){e.setStatus(\"\")},1),ut()},1)):ut()}if(e.preInit)for(typeof e.preInit==\"function\"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();Lg();var vp;s&&(vp={uncaughtException:process.listeners(\"uncaughtException\").filter(function(j){return!s.uncaughtException.indexOf(j)>-1}),unhandledRejection:process.listeners(\"unhandledRejection\").filter(function(j){return!s.unhandledRejection.indexOf(j)>-1})});var Sp;if(typeof t!=\"undefined\")Sp=t;else if(typeof WasmBackendModuleThreadedSimd!=\"undefined\")Sp=WasmBackendModuleThreadedSimd;else throw new Error(\"Could not find wasm module in post.js\");if(vp){var i0=Sp._dispose;Sp._dispose=function(){i0(),vp.uncaughtException.forEach(function(j){process.removeListener(\"uncaughtException\",j)}),vp.unhandledRejection.forEach(function(j){process.removeListener(\"unhandledRejection\",j)})}}return t.ready}})();typeof $C==\"object\"&&typeof n_==\"object\"?n_.exports=r_:typeof define==\"function\"&&define.amd?define([],function(){return r_}):typeof $C==\"object\"&&($C.WasmBackendModule=r_)});var Ta=class{constructor(t,e){this.backend=t,this.dataMover=e,this.data=new WeakMap,this.dataIdsCount=0}get(t){return this.data.has(t)||this.dataMover.moveData(this.backend,t),this.data.get(t)}set(t,e){this.dataIdsCount++,this.data.set(t,e)}has(t){return this.data.has(t)}delete(t){return this.dataIdsCount--,this.data.delete(t)}numDataIds(){return this.dataIdsCount}},Bo=class{refCount(t){return Pn(\"refCount\")}incRef(t){return Pn(\"incRef\")}timerAvailable(){return!0}time(t){return Pn(\"time\")}read(t){return Pn(\"read\")}readSync(t){return Pn(\"readSync\")}readToGPU(t,e){return Pn(\"readToGPU\")}numDataIds(){return Pn(\"numDataIds\")}disposeData(t,e){return Pn(\"disposeData\")}write(t,e,n){return Pn(\"write\")}move(t,e,n,o,s){return Pn(\"move\")}createTensorFromGPUData(t,e,n){return Pn(\"createTensorFromGPUData\")}memory(){return Pn(\"memory\")}floatPrecision(){return Pn(\"floatPrecision\")}epsilon(){return this.floatPrecision()===32?1e-7:1e-4}dispose(){return Pn(\"dispose\")}};function Pn(r){throw new Error(`'${r}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function w_(r){let t=r.length,e=0;for(;t>0;)e=Math.random()*t|0,t--,Kg(r,t,e)}function Gq(r,t){if(r.length!==t.length)throw new Error(`Array sizes must match to be shuffled together First array length was ${r.length}Second array length was ${t.length}`);let e=r.length,n=0;for(;e>0;)n=Math.random()*e|0,e--,Kg(r,e,n),Kg(t,e,n)}function kp(r,t,e){return Math.max(r,Math.min(t,e))}function Wq(r){return r%2===0?r:r+1}function Kg(r,t,e){let n=r[t];r[t]=r[e],r[e]=n}function Uq(r){let t=0;for(let e=0;ee+` Shapes ${r} and ${t} must match`)}function ro(r){_(r!=null,()=>\"The input to the tensor constructor must be a non-null value.\")}function jt(r){if(r.length===0)return 1;let t=r[0];for(let e=1;e0,e,n){return new Promise((o,s)=>{let i=0,a=()=>{if(r()){o();return}i++;let u=t(i);if(e!=null&&i>=e){s();return}n!=null?n(a,u):setTimeout(a,u)};a()})}function Jq(r,t){let e=1,n=-1;for(let s=0;s=0)e*=r[s];else if(r[s]===-1){if(n!==-1)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${n} and dim ${s}`);n=s}else if(r[s]<0)throw Error(`Shapes can not be < 0. Found ${r[s]} at dim ${s}`);if(n===-1){if(t>0&&t!==e)throw Error(`Size(${t}) must match the product of shape ${r}`);return r}if(e===0)throw Error(`Cannot infer the missing size in [${r}] when there are 0 elements`);if(t%e!==0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${e}`);let o=r.slice();return o[n]=t/e,o}function fr(r,t){let e=t.length;return r=r==null?t.map((n,o)=>o):[].concat(r),_(r.every(n=>n>=-e&&n`All values in axis param must be in range [-${e}, ${e}) but got axis ${r}`),_(r.every(n=>_a(n)),()=>`All values in axis param must be integers but got axis ${r}`),r.map(n=>n<0?e+n:n)}function f0(r,t){let e=[],n=[],o=t!=null&&Array.isArray(t)&&t.length===0,s=t==null||o?null:fr(t,r).sort(),i=0;for(let a=0;aa)&&r[a]===1&&(e.push(r[a]),n.push(a)),s[i]<=a&&i++}r[a]!==1&&(e.push(r[a]),n.push(a))}return{newShape:e,keptDims:n}}function d0(r,t){return jg(r,t)}function jg(r,t){let e=null;if(r==null||r===\"float32\")e=new Float32Array(t);else if(r===\"int32\")e=new Int32Array(t);else if(r===\"bool\")e=new Uint8Array(t);else if(r===\"string\")e=new Array(t);else throw new Error(`Unknown data type ${r}`);return e}function h0(r,t){for(let e=0;et+=e.length),t}function Vo(r){return typeof r==\"string\"||r instanceof String}function I_(r){return typeof r==\"boolean\"}function C_(r){return typeof r==\"number\"}function Wl(r){return Array.isArray(r)?Wl(r[0]):r instanceof Float32Array?\"float32\":r instanceof Int32Array||r instanceof Uint8Array||r instanceof Uint8ClampedArray?\"int32\":C_(r)?\"float32\":Vo(r)?\"string\":I_(r)?\"bool\":\"float32\"}function Ti(r){return!!(r&&r.constructor&&r.call&&r.apply)}function _p(r,t){for(let e=t;e=0;--n)e[n]=e[n+1]*r[n+1];return e}function v_(r,t,e,n=!1){let o=new Array;if(t.length===1){let s=t[0]*(n?2:1);for(let i=0;iu*l)*(n?2:1);for(let u=0;uo*s)*(e?2:1);if(n===0)return[];if(n!==t.length)throw new Error(`[${r}] does not match the input size ${t.length}${e?\" for a complex tensor\":\"\"}.`);return v_(0,r,t,e)}function tK(r,t){if(Array.isArray(r))return r;if(t===\"float32\")return r instanceof Float32Array?r:new Float32Array(r);if(t===\"int32\")return r instanceof Int32Array?r:new Int32Array(r);if(t===\"bool\"||t===\"string\")return Uint8Array.from(new Int32Array(r));throw new Error(`Unknown dtype ${t}`)}function Xd(r,t){let e=Ep(r,t);for(let n=0;nn*o,1);if(t==null||t===\"float32\")return Ju(r,new Float32Array(e));if(t===\"int32\")return Ju(r,new Int32Array(e));if(t===\"bool\")return Ju(r,new Uint8Array(e));throw new Error(`Unknown data type ${t}`)}function Le(r){r.forEach(t=>{_(Number.isInteger(t)&&t>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${r}].`)})}function rK(r,t,e){if(t===0)return 0;if(t===1)return r[0];let n=r[r.length-1];for(let o=0;o{let[o,s]=n.split(\":\");this.urlFlags[o]=aK(o,s)})}};function sK(r){let t={};return r.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(e,...n)=>(iK(t,n[0],n[1]),n.join(\"=\"))),t}function iK(r,t,e){r[decodeURIComponent(t)]=decodeURIComponent(e||\"\")}function aK(r,t){let e=t.toLowerCase();return e===\"true\"||e===\"false\"?e===\"true\":`${+e}`===e?+e:t}function L(){return y0}var y0=null;function N_(r){y0=r}var b0;function w0(){if(b0==null){let r;if(typeof window!=\"undefined\")r=window;else if(typeof global!=\"undefined\")r=global;else if(typeof process!=\"undefined\")r=process;else if(typeof self!=\"undefined\")r=self;else throw new Error(\"Could not find a global object\");b0=r}return b0}function lK(){let r=w0();return r._tfGlobals==null&&(r._tfGlobals=new Map),r._tfGlobals}function Zd(r,t){let e=lK();if(e.has(r))return e.get(r);{let n=t();return e.set(r,n),e.get(r)}}var Ei=\"Abs\",Go=\"Acos\",Wo=\"Acosh\",no=\"Add\",Uo=\"AddN\",Ea=\"All\",Aa=\"Any\",Ai=\"ArgMax\",Di=\"ArgMin\",Ho=\"Asin\",qo=\"Asinh\",Ko=\"Atan\",jo=\"Atanh\",Xo=\"Atan2\",Yo=\"AvgPool\",Ul=\"AvgPoolGrad\",$i=\"AvgPool3D\",Hl=\"AvgPool3DGrad\",Zo=\"BatchMatMul\",Ri=\"BatchToSpaceND\",Da=\"Bincount\",$a=\"BitwiseAnd\",k_=\"BroadcastTo\",ql=\"BroadcastArgs\",fo=\"Cast\",Jo=\"Ceil\",ho=\"ClipByValue\",Ap=\"Complex\",Kl=\"ComplexAbs\",Fi=\"Concat\",Qo=\"Conv2D\",Dp=\"Conv2DBackpropFilter\",ts=\"Conv2DBackpropInput\",es=\"Conv3D\",Ra=\"Conv3DBackpropFilterV2\",Fa=\"Conv3DBackpropInputV2\",rs=\"Cos\",ns=\"Cosh\",Oa=\"Cumprod\",os=\"Cumsum\",Ma=\"CropAndResize\",jl=\"DenseBincount\",Pa=\"DepthToSpace\",ss=\"DepthwiseConv2dNative\",$p=\"DepthwiseConv2dNativeBackpropFilter\",Rp=\"DepthwiseConv2dNativeBackpropInput\",Xl=\"Diag\",is=\"Dilation2D\",Yl=\"Dilation2DBackpropInput\",Zl=\"Dilation2DBackpropFilter\",Jd=\"Draw\",as=\"RealDiv\",Fp=\"Einsum\",ls=\"Elu\",La=\"EluGrad\",us=\"Erf\",za=\"Equal\",cs=\"Exp\",Oi=\"ExpandDims\",ps=\"Expm1\",Op=\"FFT\",Jl=\"Fill\",Ba=\"FlipLeftRight\",ms=\"Floor\",fs=\"FloorDiv\",ds=\"FusedBatchNorm\",Mi=\"GatherV2\",Va=\"GatherNd\",Ga=\"Greater\",hs=\"GreaterEqual\",go=\"Identity\",Mp=\"IFFT\",Pp=\"Imag\",gs=\"IsFinite\",xs=\"IsInf\",ys=\"IsNan\",bs=\"LeakyRelu\",Wa=\"Less\",Ua=\"LessEqual\",Ha=\"LinSpace\",ws=\"Log\",Is=\"Log1p\",qa=\"LogicalAnd\",Ka=\"LogicalNot\",ja=\"LogicalOr\",T_=\"LogicalXor\",__=\"LogSoftmax\",Qmt=\"LowerBound\",Cs=\"LRN\",Xa=\"LRNGrad\",tft=\"MatrixBandPart\",vs=\"Max\",Ss=\"Maximum\",Ns=\"MaxPool\",Ql=\"MaxPoolGrad\",Pi=\"MaxPool3D\",tu=\"MaxPool3DGrad\",eu=\"MaxPoolWithArgmax\",ks=\"Mean\",Ts=\"Min\",_s=\"Minimum\",Es=\"MirrorPad\",As=\"Mod\",Ya=\"Multinomial\",Ds=\"Multiply\",Li=\"Neg\",Za=\"NotEqual\",Ja=\"NonMaxSuppressionV3\",Qa=\"NonMaxSuppressionV4\",tl=\"NonMaxSuppressionV5\",zi=\"OnesLike\",$s=\"OneHot\",Bi=\"Pack\",Rs=\"PadV2\",eft=\"Pool\",Fs=\"Pow\",Os=\"Prelu\",Ms=\"Prod\",Lp=\"RaggedGather\",zp=\"RaggedRange\",Bp=\"RaggedTensorToTensor\",ru=\"Range\",Vp=\"Real\",Ps=\"Reciprocal\",Ls=\"Relu\",Vi=\"Reshape\",zs=\"ResizeNearestNeighbor\",el=\"ResizeNearestNeighborGrad\",Bs=\"ResizeBilinear\",rl=\"ResizeBilinearGrad\",Vs=\"Relu6\",Gs=\"Reverse\",Ws=\"Round\",Us=\"Rsqrt\",nl=\"ScatterNd\",ol=\"TensorScatterUpdate\",sl=\"SearchSorted\",Gi=\"Select\",Hs=\"Selu\",Wi=\"Slice\",qs=\"Sin\",Ks=\"Sinh\",js=\"Sign\",Xs=\"Sigmoid\",Ys=\"Softplus\",Zs=\"Sqrt\",Js=\"Sum\",Ui=\"SpaceToBatchND\",Hi=\"SplitV\",Qs=\"Softmax\",nu=\"SparseFillEmptyRows\",il=\"SparseReshape\",ou=\"SparseSegmentMean\",su=\"SparseSegmentSum\",al=\"SparseToDense\",ti=\"SquaredDifference\",iu=\"Square\",ec=\"StaticRegexReplace\",ll=\"StridedSlice\",au=\"StringNGrams\",lu=\"StringSplit\",uu=\"StringToHashBucketFast\",ei=\"Sub\",ri=\"Tan\",ni=\"Tanh\",oo=\"Tile\",ul=\"TopK\",cl=\"Transform\",so=\"Transpose\",cu=\"Unique\",qi=\"Unpack\",pu=\"UnsortedSegmentSum\",rft=\"UpperBound\",Ki=\"ZerosLike\",xo=\"Step\",Qd=\"FromPixels\",pl=\"RotateWithOffset\",ji=\"_FusedMatMul\",Xi=\"FusedConv2D\",Yi=\"FusedDepthwiseConv2D\";function Zi(...r){L().getBool(\"IS_TEST\")||L().getBool(\"PROD\")||console.warn(...r)}function uK(...r){L().getBool(\"IS_TEST\")||L().getBool(\"PROD\")||console.log(...r)}var Gp=Zd(\"kernelRegistry\",()=>new Map),th=Zd(\"gradRegistry\",()=>new Map);function Wp(r,t){let e=C0(r,t);return Gp.get(e)}function I0(r){return th.get(r)}function Xg(r){let t=Gp.entries(),e=[];for(;;){let{done:n,value:o}=t.next();if(n)break;let[s,i]=o,[a]=s.split(\"_\");a===r&&e.push(i)}return e}function rc(r){let{kernelName:t,backendName:e}=r,n=C0(t,e);Gp.has(n)&&Zi(`The kernel '${t}' for backend '${e}' is already registered`),Gp.set(n,r)}function A_(r){let{kernelName:t}=r;th.has(t)&&L().getBool(\"DEBUG\")&&Zi(`Overriding the gradient for '${t}'`),th.set(t,r)}function aft(r,t){let e=C0(r,t);if(!Gp.has(e))throw new Error(`The kernel '${r}' for backend '${t}' is not registered`);Gp.delete(e)}function lft(r){if(!th.has(r))throw new Error(`The gradient '${r}' for backend is not registered`);th.delete(r)}function uft(r,t){Xg(r).forEach(n=>{let o=Object.assign({},n,{backendName:t});rc(o)})}function C0(r,t){return`${t}_${r}`}var y={};Kt(y,{arraysEqual:()=>on,arraysEqualWithNull:()=>m0,assert:()=>_,assertNonNegativeIntegerDimensions:()=>Le,assertNonNull:()=>ro,assertShapesMatch:()=>$e,bytesFromStringArray:()=>x0,bytesPerElement:()=>Tp,checkConversionForErrors:()=>h0,clamp:()=>kp,computeStrides:()=>_i,convertBackendValuesAndArrayBuffer:()=>tK,createScalarValue:()=>gK,createShuffledIndices:()=>Yq,decodeString:()=>Kp,distSquared:()=>qq,encodeString:()=>fu,fetch:()=>yK,fingerPrint64:()=>hK,flatten:()=>si,getArrayFromDType:()=>jg,getTypedArrayFromDType:()=>d0,hasEncodingLoss:()=>Qq,hexToLong:()=>eh,indexToLoc:()=>nK,inferDtype:()=>Wl,inferFromImplicitShape:()=>Jq,isBoolean:()=>I_,isFunction:()=>Ti,isInt:()=>_a,isNumber:()=>C_,isPromise:()=>tc,isScalarShape:()=>Kq,isString:()=>Vo,isTypedArray:()=>sr,isValidDtype:()=>g0,locToIndex:()=>rK,makeOnesTypedArray:()=>Xd,makeZerosNestedTypedArray:()=>eK,makeZerosTypedArray:()=>Ep,nearestDivisor:()=>_p,nearestLargerEven:()=>Wq,now:()=>ac,parseAxisParam:()=>fr,randUniform:()=>Hq,repeatedTry:()=>Zq,rightPad:()=>Qu,shuffle:()=>w_,shuffleCombo:()=>Gq,sizeFromShape:()=>jt,sizeToSquarishShape:()=>Xq,squeezeShape:()=>f0,sum:()=>Uq,swap:()=>Kg,tanh:()=>jq,toNestedArray:()=>Ju,toTypedArray:()=>qp});function Yg(r){return r instanceof Float32Array||r instanceof Int32Array||r instanceof Uint8Array||r instanceof Uint8ClampedArray}var k0=Gl(V_());var ic=k0.default||k0;function eh(r){return ic.fromString(r,!0,16)}var W_=eh(\"c3a5c85c97cb3127\"),sc=eh(\"b492b66fbe98f273\"),sn=eh(\"9ae16a3b2f90404f\");function N0(r){return r.xor(r.shru(47))}function U_(r,t,e){let n=r.slice(t,t+e);return ic.fromBytes(Array.from(n),!0,!0)}function ze(r,t){return U_(r,t,8)}function G_(r,t){return U_(r,t,4)}function Ar(r,t){return t===0?r:r.shru(t).or(r.shl(64-t))}function mu(r,t,e=eh(\"9ddfea08eb382d69\")){let n=r.xor(t).mul(e);n=n.xor(n.shru(47));let o=t.xor(n).mul(e);return o=o.xor(o.shru(47)),o=o.mul(e),o}function pK(r,t,e,n,o,s){o=o.add(r),s=Ar(s.add(o).add(n),21);let i=o;return o=o.add(t),o=o.add(e),s=s.add(Ar(o,44)),[o.add(n),s.add(i)]}function Jg(r,t,e,n){return pK(ze(r,t),ze(r,t+8),ze(r,t+16),ze(r,t+24),e,n)}function mK(r,t=r.length){if(t>=8){let e=sn.add(t*2),n=ze(r,0).add(sn),o=ze(r,t-8),s=Ar(o,37).mul(e).add(n),i=Ar(n,25).add(o).mul(e);return mu(s,i,e)}if(t>=4){let e=sn.add(t*2),n=G_(r,0);return mu(n.shl(3).add(t),G_(r,t-4),e)}if(t>0){let e=r[0],n=r[t>>1],o=r[t-1],s=e+(n<<8),i=t+(o<<2);return N0(sn.mul(s).xor(W_.mul(i))).mul(sn)}return sn}function fK(r,t=r.length){let e=sn.add(t*2),n=ze(r,0).mul(sc),o=ze(r,8),s=ze(r,t-8).mul(e),i=ze(r,t-16).mul(sn);return mu(Ar(n.add(o),43).add(Ar(s,30)).add(i),n.add(Ar(o.add(sn),18)).add(s),e)}function dK(r,t=r.length){let e=sn.add(t*2),n=ze(r,0).mul(sn),o=ze(r,8),s=ze(r,t-8).mul(e),i=ze(r,t-16).mul(sn),a=Ar(n.add(o),43).add(Ar(s,30)).add(i),u=mu(a,n.add(Ar(o.add(sn),18)).add(s),e),l=ze(r,16).mul(e),c=ze(r,24),p=a.add(ze(r,t-32)).mul(e),m=u.add(ze(r,t-24)).mul(e);return mu(Ar(l.add(c),43).add(Ar(p,30)).add(m),l.add(Ar(c.add(n),18)).add(p),e)}function hK(r,t=r.length){let e=ic.fromNumber(81,!0);if(t<=32)return t<=16?mK(r,t):fK(r,t);if(t<=64)return dK(r,t);let n=e,o=e.mul(sc).add(113),s=N0(o.mul(sn).add(113)).mul(sn),i=[ic.UZERO,ic.UZERO],a=[ic.UZERO,ic.UZERO];n=n.mul(sn).add(ze(r,0));let u=0,l=(t-1>>6)*64,c=l+(t-1&63)-63;do n=Ar(n.add(o).add(i[0]).add(ze(r,u+8)),37).mul(sc),o=Ar(o.add(i[1]).add(ze(r,u+48)),42).mul(sc),n=n.xor(a[1]),o=o.add(i[0]).add(ze(r,u+40)),s=Ar(s.add(a[0]),33).mul(sc),i=Jg(r,u,i[1].mul(sc),n.add(a[0])),a=Jg(r,u+32,s.add(a[1]),o.add(ze(r,u+16))),[s,n]=[n,s],u+=64;while(u!==l);let p=sc.add(s.and(255).shl(1));return u=c,a[0]=a[0].add(t-1&63),i[0]=i[0].add(a[0]),a[0]=a[0].add(i[0]),n=Ar(n.add(o).add(i[0]).add(ze(r,u+8)),37).mul(p),o=Ar(o.add(i[1]).add(ze(r,u+48)),42).mul(p),n=n.xor(a[1].mul(9)),o=o.add(i[0].mul(9).add(ze(r,u+40))),s=Ar(s.add(a[0]),33).mul(p),i=Jg(r,u,i[1].mul(p),n.add(a[0])),a=Jg(r,u+32,s.add(a[1]),o.add(ze(r,u+16))),[s,n]=[n,s],mu(mu(i[0],a[0],p).add(N0(o).mul(W_)).add(s),mu(i[1],a[1],p).add(n),p)}function gK(r,t){return t===\"string\"?fu(r):qp([r],t)}function xK(r,t){return r instanceof Float32Array&&t===\"float32\"||r instanceof Int32Array&&t===\"int32\"||r instanceof Uint8Array&&t===\"bool\"}function qp(r,t){if(t===\"string\")throw new Error(\"Cannot convert a string[] to a TypedArray\");if(Array.isArray(r)&&(r=si(r)),L().getBool(\"DEBUG\")&&h0(r,t),xK(r,t))return r;if(t==null||t===\"float32\"||t===\"complex64\")return new Float32Array(r);if(t===\"int32\")return new Int32Array(r);if(t===\"bool\"){let e=new Uint8Array(r.length);for(let n=0;n{o=n()},i,a=ac();if(this.backendTimer.timerAvailable())i=this.backendTimer.time(s);else{s();for(let l of o)l.dataSync();i=Promise.resolve({kernelMs:ac()-a})}if(L().getBool(\"CHECK_COMPUTATION_FOR_ERRORS\"))for(let l=0;l{bK(p,c.dtype,t)})}return{kernelName:t,outputs:o,inputs:e,timeMs:i.then(l=>l.kernelMs),extraInfo:i.then(l=>l.getExtraProfileInfo!=null?l.getExtraProfileInfo():\"\")}}logKernelProfile(t){let{kernelName:e,outputs:n,timeMs:o,inputs:s,extraInfo:i}=t;n.forEach(a=>{Promise.all([a.data(),o,i]).then(u=>{this.logger.logKernelProfile(e,a,u[0],u[1],s,u[2])})})}};function bK(r,t,e){if(t!==\"float32\")return!1;for(let n=0;n0?h:\"\"} `}}console.log(`%c${u}\t%c${a}\t%c${l}D ${p}\t%c${c}\t%c${m}\t%c${i}`,\"font-weight:bold\",\"color:red\",\"color:blue\",\"color: orange\",\"color: green\",\"color: steelblue\")}};function H_(r,t,e){let n={},o={};for(let u=0;un[h.id]=!0),f=!0,o[l.id]=!0;break}if(f)break}}let s={};s[e.id]=!0;let i={};for(let u=r.length-1;u>=0;u--){let l=r[u],c=l.inputs;for(let p=0;p=0;o--){let s=t[o],i=[];if(s.outputs.forEach(u=>{let l=r[u.id];l!=null?i.push(l):i.push(null)}),s.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${s.kernelName}.`);let a=s.gradient(i);for(let u in s.inputs){if(!(u in a))throw new Error(`Cannot backprop through input ${u}. Available gradients found: ${Object.keys(a)}.`);let l=e(()=>a[u]());if(l.dtype!==\"float32\")throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input ${u} must have 'float32' dtype, but has '${l.dtype}'`);let c=s.inputs[u];if(!on(l.shape,c.shape))throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input '${u}' has shape '${l.shape}', which does not match the shape of the input '${c.shape}'`);if(r[c.id]==null)r[c.id]=l;else{let p=r[c.id];r[c.id]=n(p,l),p.dispose()}}}}var K_=20,rh=3,_0=7;function j_(r,t,e,n){let o=_i(t),s=wK(r,t,e,o),i=t.length,a=tx(r,t,e,o,s),u=[\"Tensor\"];return n&&(u.push(` dtype: ${e}`),u.push(` rank: ${i}`),u.push(` shape: [${t}]`),u.push(\" values:\")),u.push(a.map(l=>\" \"+l).join(`\n`)),u.join(`\n`)}function wK(r,t,e,n){let o=jt(t),s=n[n.length-1],i=new Array(s).fill(0),a=t.length,u=e===\"complex64\"?oh(r):r;if(a>1)for(let l=0;lK_){let g=rh*i,x=Array.from(r.slice(0,g)),b=Array.from(r.slice((a-rh)*i,a*i));return e===\"complex64\"&&(x=oh(x),b=oh(b)),[\"[\"+x.map((w,I)=>nh(w,o[I],e)).join(\", \")+\", ..., \"+b.map((w,I)=>nh(w,o[a-rh+I],e)).join(\", \")+\"]\"]}return[\"[\"+(e===\"complex64\"?oh(r):Array.from(r)).map((g,x)=>nh(g,o[x],e)).join(\", \")+\"]\"]}let l=t.slice(1),c=n.slice(1),p=n[0]*i,m=[];if(a>K_){for(let h=0;h0?m[0]+f:\"\");for(let h=1;h`Length of values '${o}' does not match the size inferred by the shape '${this.size}'.`)}if(e===\"complex64\")throw new Error(\"complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).\");this.values=n||jg(e,this.size),this.strides=_i(t)}set(t,...e){e.length===0&&(e=[0]),_(e.length===this.rank,()=>`The number of provided coordinates (${e.length}) must match the rank (${this.rank})`);let n=this.locToIndex(e);this.values[n]=t}get(...t){t.length===0&&(t=[0]);let e=0;for(let o of t){if(o<0||o>=this.shape[e]){let s=`Requested out of range element at ${t}. Buffer shape=${this.shape}`;throw new Error(s)}e++}let n=t[t.length-1];for(let o=0;oKp(n))}catch(n){throw new Error(\"Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().\")}}return t}dataToGPU(t){return this.throwIfDisposed(),ii().readToGPU(this.dataId,t)}dataSync(){this.throwIfDisposed();let t=ii().readSync(this.dataId);if(this.dtype===\"string\")try{return t.map(e=>Kp(e))}catch(e){throw new Error(\"Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().\")}return t}async bytes(){this.throwIfDisposed();let t=await ii().read(this.dataId);return this.dtype===\"string\"?t:new Uint8Array(t.buffer)}dispose(){this.isDisposed||(this.kerasMask&&this.kerasMask.dispose(),ii().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error(\"Tensor is disposed.\")}print(t=!1){return jp.print(this,t)}clone(){return this.throwIfDisposed(),jp.clone(this)}toString(t=!1){let e=this.dataSync();return j_(e,this.shape,this.dtype,t)}cast(t){return this.throwIfDisposed(),jp.cast(this,t)}variable(t=!0,e,n){return this.throwIfDisposed(),ii().makeVariable(this,t,e,n)}};Object.defineProperty(Lt,Symbol.hasInstance,{value:r=>!!r&&r.data!=null&&r.dataSync!=null&&r.throwIfDisposed!=null});function O(){return Zd(\"Tensor\",()=>Lt)}O();var ml=class extends Lt{constructor(t,e,n,o){super(t.shape,t.dtype,t.dataId,o),this.trainable=e,this.name=n}assign(t){if(t.dtype!==this.dtype)throw new Error(`dtype of the new value (${t.dtype}) and previous value (${this.dtype}) must match`);if(!on(t.shape,this.shape))throw new Error(`shape of the new value (${t.shape}) and previous value (${this.shape}) must match`);ii().disposeTensor(this),this.dataId=t.dataId,ii().incRef(this,null)}dispose(){ii().disposeVariable(this),this.isDisposedInternal=!0}};Object.defineProperty(ml,Symbol.hasInstance,{value:r=>r instanceof Lt&&r.assign!=null&&r.assign instanceof Function});var Io={};Kt(Io,{assertTypesMatch:()=>F0,getTensorsInContainer:()=>sh,isTensorInList:()=>vK,makeTypesMatch:()=>Xt});var E0;(function(r){r.R0=\"R0\",r.R1=\"R1\",r.R2=\"R2\",r.R3=\"R3\",r.R4=\"R4\",r.R5=\"R5\",r.R6=\"R6\"})(E0||(E0={}));var A0;(function(r){r.float32=\"float32\",r.int32=\"int32\",r.bool=\"int32\",r.complex64=\"complex64\"})(A0||(A0={}));var D0;(function(r){r.float32=\"float32\",r.int32=\"int32\",r.bool=\"bool\",r.complex64=\"complex64\"})(D0||(D0={}));var $0;(function(r){r.float32=\"float32\",r.int32=\"float32\",r.bool=\"float32\",r.complex64=\"complex64\"})($0||($0={}));var R0;(function(r){r.float32=\"complex64\",r.int32=\"complex64\",r.bool=\"complex64\",r.complex64=\"complex64\"})(R0||(R0={}));var CK={float32:$0,int32:A0,bool:D0,complex64:R0};function ur(r,t){if(r===\"string\"||t===\"string\"){if(r===\"string\"&&t===\"string\")return\"string\";throw new Error(`Can not upcast ${r} with ${t}`)}return CK[r][t]}function lc(r){return ur(r,\"int32\")}function ex(r){return r!=null&&typeof r==\"object\"&&\"texture\"in r&&r.texture instanceof WebGLTexture}function rx(r){return typeof GPUBuffer!=\"undefined\"&&r!=null&&typeof r==\"object\"&&\"buffer\"in r&&r.buffer instanceof GPUBuffer}function Xt(r,t){if(r.dtype===t.dtype)return[r,t];let e=ur(r.dtype,t.dtype);return[r.cast(e),t.cast(e)]}function F0(r,t){_(r.dtype===t.dtype,()=>`The dtypes of the first(${r.dtype}) and second(${t.dtype}) input must match`)}function vK(r,t){return t.some(e=>e.id===r.id)}function sh(r){let t=[];return Q_(r,t,new Set),t}function Q_(r,t,e){if(r==null)return;if(r instanceof Lt){t.push(r);return}if(!SK(r))return;let n=r;for(let o in n){let s=n[o];e.has(s)||(e.add(s),Q_(s,t,e))}}function SK(r){return Array.isArray(r)||typeof r==\"object\"}function O0(r){return r.kernelName!=null}var nx=class{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map(t=>t.name)))}}}dispose(){for(let t in this.registeredVariables)this.registeredVariables[t].dispose()}},ih=class r{constructor(t){this.ENV=t,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new nx}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;let t=this.getSortedBackends();for(let e=0;e{e.setupFunc!=null&&e.setupFunc(this.backendInstance)})}disposeRegisteredKernels(t){Xg(t).forEach(n=>{n.disposeFunc!=null&&n.disposeFunc(this.registry[t])})}initializeBackend(t){let e=this.registryFactory[t];if(e==null)throw new Error(`Cannot initialize backend ${t}, no registration found.`);try{let n=e.factory();if(n&&!(n instanceof Bo)&&typeof n.then==\"function\"){let o=++this.pendingBackendInitId,s=n.then(i=>o(othis.registryFactory[e].priority-this.registryFactory[t].priority)}initializeBackendsAndReturnBest(){let t=this.getSortedBackends();for(let e=0;ethis.startScope(n),()=>this.endScope(o),()=>(o=e(),o instanceof Promise&&console.error(\"Cannot return a Promise inside of tidy.\"),o))}scopedRun(t,e,n){t();try{let o=n();return e(),o}catch(o){throw e(),o}}nextTensorId(){return r.nextTensorId++}nextVariableId(){return r.nextVariableId++}clone(t){let e=T.runKernel(go,{x:t}),n={x:t},o=i=>({x:()=>{let a=\"float32\",u={x:i},l={dtype:a};return T.runKernel(fo,u,l)}}),s=[];return this.addTapeNode(this.state.activeScope.name,n,[e],o,s,{}),e}runKernel(t,e,n){if(this.backendName==null&&this.backend,!(Wp(t,this.backendName)!=null))throw new Error(`Kernel '${t}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:t,inputs:e,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool(\"IS_TEST\")}checkKernelForMemLeak(t,e,n){let o=this.backend.numDataIds(),s=0;n.forEach(u=>{s+=u.dtype===\"complex64\"?3:1});let i=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],a=o-e-s-i;if(a>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${a} data ids) after running '${t}'`)}runKernelFunc(t){let e,n=[],o=this.isTapeOn(),s=this.state.numBytes,i=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let a;this.backendName==null&&this.backend;let u,l=O0(t)?t.kernelName:this.state.activeScope!=null?this.state.activeScope.name:\"\";if(O0(t)){let{kernelName:d,inputs:h,attrs:g}=t;this.backendName==null&&this.backend;let x=Wp(d,this.backendName);_(x!=null,()=>`Cannot find registered kernel '${d}' for backend '${this.backendName}'`),a=()=>{let b=this.backend.numDataIds();u=x.kernelFunc({inputs:h,attrs:g,backend:this.backend});let w=Array.isArray(u)?u:[u];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(d,b,w);let I=w.map(N=>N.rank!=null?N:this.makeTensorFromTensorInfo(N));if(o){let N=this.getTensorsForGradient(d,h,I);n=this.saveTensorsForBackwardMode(N)}return I}}else{let{forwardFunc:d}=t,h=g=>{o&&(n=g.map(x=>this.keep(this.clone(x))))};a=()=>{let g=this.backend.numDataIds();u=this.tidy(()=>d(this.backend,h));let x=Array.isArray(u)?u:[u];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,g,x),x}}let{inputs:c,attrs:p}=t,m=O0(t)?null:t.backwardsFunc,f;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool(\"DEBUG\")&&!this.state.profiling?e=a():(f=this.profiler.profileKernel(l,c,()=>a()),this.ENV.getBool(\"DEBUG\")&&this.profiler.logKernelProfile(f),e=f.outputs)}),o&&this.addTapeNode(l,c,e,m,n,p),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-i,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(c).map(d=>c[d]!=null?c[d].shape:null),outputShapes:e.map(d=>d.shape),kernelTimeMs:f.timeMs,extraInfo:f.extraInfo}),Array.isArray(u)?e:e[0]}saveTensorsForBackwardMode(t){return t.map(n=>this.keep(this.clone(n)))}getTensorsForGradient(t,e,n){let o=I0(t);if(o!=null){let s=o.inputsToSave||[],i=o.outputsToSave||[],a;o.saveAllInputs?(_(Array.isArray(e),()=>\"saveAllInputs is true, expected inputs to be an array.\"),a=Object.keys(e).map(l=>e[l])):a=s.map(l=>e[l]);let u=n.filter((l,c)=>i[c]);return a.concat(u)}return[]}makeTensor(t,e,n,o){if(t==null)throw new Error(\"Values passed to engine.makeTensor() are null\");n=n||\"float32\",o=o||this.backend;let s=t;n===\"string\"&&Vo(t[0])&&(s=t.map(u=>fu(u)));let i=o.write(s,e,n),a=new Lt(e,n,i,this.nextTensorId());if(this.trackTensor(a,o),n===\"string\"){let u=this.state.tensorInfo.get(i),l=x0(s);this.state.numBytes+=l-u.bytes,u.bytes=l}return a}makeTensorFromDataId(t,e,n,o){n=n||\"float32\";let s={dataId:t,shape:e,dtype:n};return this.makeTensorFromTensorInfo(s,o)}makeTensorFromTensorInfo(t,e){let{dataId:n,shape:o,dtype:s}=t,i=new Lt(o,s,n,this.nextTensorId());return this.trackTensor(i,e),i}makeVariable(t,e=!0,n,o){n=n||this.nextVariableId().toString(),o!=null&&o!==t.dtype&&(t=t.cast(o));let s=new ml(t,e,n,this.nextTensorId());if(this.state.registeredVariables[s.name]!=null)throw new Error(`Variable with name ${s.name} was already registered`);return this.state.registeredVariables[s.name]=s,this.incRef(s,this.backend),s}trackTensor(t,e){this.state.numTensors++,t.dtype===\"string\"&&this.state.numStringTensors++;let n=0;t.dtype!==\"complex64\"&&t.dtype!==\"string\"&&(n=t.size*Tp(t.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(t.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(t.dataId,{backend:e||this.backend,dtype:t.dtype,shape:t.shape,bytes:n})),t instanceof ml||this.track(t)}incRef(t,e){this.trackTensor(t,e),this.backend.incRef(t.dataId)}removeDataId(t,e){this.state.tensorInfo.has(t)&&this.state.tensorInfo.get(t).backend===e&&(this.state.tensorInfo.delete(t),this.state.numDataBuffers--)}disposeTensor(t){if(!this.state.tensorInfo.has(t.dataId))return;let e=this.state.tensorInfo.get(t.dataId);if(this.state.numTensors--,t.dtype===\"string\"&&(this.state.numStringTensors--,this.state.numBytes-=e.bytes),t.dtype!==\"complex64\"&&t.dtype!==\"string\"){let n=t.size*Tp(t.dtype);this.state.numBytes-=n}e.backend.disposeData(t.dataId)&&this.removeDataId(t.dataId,e.backend)}disposeVariables(){for(let t in this.state.registeredVariables){let e=this.state.registeredVariables[t];this.disposeVariable(e)}}disposeVariable(t){this.disposeTensor(t),this.state.registeredVariables[t.name]!=null&&delete this.state.registeredVariables[t.name]}memory(){let t=this.backend.memory();return t.numTensors=this.state.numTensors,t.numDataBuffers=this.state.numDataBuffers,t.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(t.unreliable=!0,t.reasons==null&&(t.reasons=[]),t.reasons.push(\"Memory usage by string tensors is approximate (2 bytes per character)\")),t}async profile(t){this.state.profiling=!0;let e=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await t(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map(o=>o.totalBytesSnapshot)),this.state.activeProfile.newBytes=this.state.numBytes-e,this.state.activeProfile.newTensors=this.state.numTensors-n;for(let o of this.state.activeProfile.kernels)o.kernelTimeMs=await o.kernelTimeMs,o.extraInfo=await o.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&this.state.kernelDepth===0}addTapeNode(t,e,n,o,s,i){let a={id:this.state.nextTapeNodeId++,kernelName:t,inputs:e,outputs:n,saved:s},u=I0(t);u!=null&&(o=u.gradFunc),o!=null&&(a.gradient=l=>(l=l.map((c,p)=>{if(c==null){let m=n[p],f=Ep(m.size,m.dtype);return this.makeTensor(f,m.shape,m.dtype)}return c}),o(l.length>1?l:l[0],s,i))),this.state.activeTape.push(a)}keep(t){return t.kept=!0,t}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(t){let e={track:[],name:\"unnamed scope\",id:this.state.nextScopeId++};t&&(e.name=t),this.state.scopeStack.push(e),this.state.activeScope=e}endScope(t){let e=sh(t),n=new Set(e.map(s=>s.id));for(let s=0;s{!s.kept&&s.scopeId===o.id&&this.track(s)})}gradients(t,e,n,o=!1){if(_(e.length>0,()=>\"gradients() received an empty list of xs.\"),n!=null&&n.dtype!==\"float32\")throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);let s=this.scopedRun(()=>this.startTape(),()=>this.endTape(),()=>this.tidy(\"forward\",t));_(s instanceof Lt,()=>\"The result y returned by f() must be a tensor.\");let i=H_(this.state.activeTape,e,s);if(!o&&i.length===0&&e.length>0)throw new Error(\"Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.\");return this.tidy(\"backward\",()=>{let a={};a[s.id]=n==null?NK(s.shape):n,q_(a,i,l=>this.tidy(l),kK);let u=e.map(l=>a[l.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(l=>{for(let c of l.saved)c.dispose()}),this.state.activeTape=null),{value:s,grads:u}})}customGrad(t){return _(Ti(t),()=>\"The f passed in customGrad(f) must be a function.\"),(...e)=>{_(e.every(a=>a instanceof Lt),()=>\"The args passed in customGrad(f)(x1, x2,...) must all be tensors\");let n,o={};e.forEach((a,u)=>{o[u]=a});let s=(a,u)=>(n=t(...e,u),_(n.value instanceof Lt,()=>\"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor\"),_(Ti(n.gradFunc),()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.\"),n.value),i=(a,u)=>{let l=n.gradFunc(a,u),c=Array.isArray(l)?l:[l];_(c.length===e.length,()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...).\"),_(c.every(m=>m instanceof Lt),()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors.\");let p={};return c.forEach((m,f)=>{p[f]=()=>m}),p};return this.runKernelFunc({forwardFunc:s,backwardsFunc:i,inputs:o})}}readSync(t){return this.state.tensorInfo.get(t).backend.readSync(t)}read(t){return this.state.tensorInfo.get(t).backend.read(t)}readToGPU(t,e){return this.state.tensorInfo.get(t).backend.readToGPU(t,e)}async time(t){let e=ac(),n=await this.backend.time(t);return n.wallMs=ac()-e,n}track(t){return this.state.activeScope!=null&&(t.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(t)),t}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new nx;for(let t in this.registry)this.disposeRegisteredKernels(t),this.registry[t].dispose(),delete this.registry[t];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}};ih.nextTensorId=0;ih.nextVariableId=0;function NK(r){let t=Xd(jt(r),\"float32\");return T.makeTensor(t,r,\"float32\")}function M0(){let r=w0();if(r._tfengine==null){let t=new Yd(r);r._tfengine=new ih(t)}return N_(r._tfengine.ENV),Y_(()=>r._tfengine),r._tfengine}var T=M0();function kK(r,t){let e={a:r,b:t};return T.runKernel(no,e)}var du={};Kt(du,{isBrowser:()=>L0,isMobile:()=>EK,mockIsMobile:()=>_K});function TK(){return typeof navigator!=\"undefined\"&&navigator!=null}var P0;function _K(r){P0=r}function EK(r){if(P0!==void 0)return P0;if(r||TK()){if(r||(r=navigator),r.product===\"ReactNative\")return!0;let t=r.userAgent||r.vendor||(typeof window!=\"undefined\"?window.opera:\"\");if(!t){let e=r;return e.userAgentData&&e.userAgentData.mobile}return/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(t.substr(0,4))}return!1}function L0(){return typeof window!=\"undefined\"&&window.document!=null||typeof WorkerGlobalScope!=\"undefined\"}var vn=L();vn.registerFlag(\"DEBUG\",()=>!1,r=>{r&&console.warn(\"Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.\")});vn.registerFlag(\"IS_BROWSER\",()=>L0());vn.registerFlag(\"IS_NODE\",()=>typeof process!=\"undefined\"&&typeof process.versions!=\"undefined\"&&typeof process.versions.node!=\"undefined\");vn.registerFlag(\"IS_CHROME\",()=>typeof navigator!=\"undefined\"&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor));vn.registerFlag(\"IS_SAFARI\",()=>typeof navigator!=\"undefined\"&&navigator!=null&&navigator.userAgent!=null&&/Safari/.test(navigator.userAgent)&&/Apple/.test(navigator.vendor));vn.registerFlag(\"PROD\",()=>!1);vn.registerFlag(\"TENSORLIKE_CHECK_SHAPE_CONSISTENCY\",()=>vn.getBool(\"DEBUG\"));vn.registerFlag(\"DEPRECATION_WARNINGS_ENABLED\",()=>!0);vn.registerFlag(\"IS_TEST\",()=>!1);vn.registerFlag(\"CHECK_COMPUTATION_FOR_ERRORS\",()=>vn.getBool(\"DEBUG\"));vn.registerFlag(\"WRAP_TO_IMAGEBITMAP\",()=>!1);vn.registerFlag(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\",()=>!1);vn.registerFlag(\"USE_SETTIMEOUTCUSTOM\",()=>!1);function Gr(r,t){let e=r;if(sr(r))return t===\"string\"?[]:[r.length];if(ex(r)){let o=r.channels||\"RGBA\";return[r.height,r.width*o.length]}else if(rx(r))return[r.buffer.size/(t==null?4:Tp(t))];if(!Array.isArray(r))return[];let n=[];for(;Array.isArray(e)||sr(e)&&t!==\"string\";)n.push(e.length),e=e[0];return Array.isArray(r)&&L().getBool(\"TENSORLIKE_CHECK_SHAPE_CONSISTENCY\")&&eE(r,n,[]),n}function eE(r,t,e){if(e=e||[],!Array.isArray(r)&&!sr(r)){_(t.length===0,()=>`Element arr[${e.join(\"][\")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`);return}_(t.length>0,()=>`Element arr[${e.join(\"][\")}] should be a primitive, but is an array of ${r.length} elements`),_(r.length===t[0],()=>`Element arr[${e.join(\"][\")}] should have ${t[0]} elements, but has ${r.length} elements`);let n=t.slice(1);for(let o=0;o=0&&(o=n),tE(n,o,t,e),r==null||!sr(r)&&!Array.isArray(r)&&typeof r!=\"number\"&&typeof r!=\"boolean\"&&typeof r!=\"string\"){let u=r==null?\"null\":r.constructor.name;throw new Error(`Argument '${t}' passed to '${e}' must be a Tensor or TensorLike, but got '${u}'`)}let s=Gr(r,o);!sr(r)&&!Array.isArray(r)&&(r=[r]);let a=o!==\"string\"?qp(r,o):si(r,[],!0);return T.makeTensor(a,s,o)}function fl(r,t,e,n=\"numeric\"){if(!Array.isArray(r))throw new Error(`Argument ${t} passed to ${e} must be a \\`Tensor[]\\` or \\`TensorLike[]\\``);return r.map((s,i)=>C(s,`${t}[${i}]`,e,n))}var z0=\"__op\";function k(r){let t=Object.keys(r);if(t.length!==1)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let e=t[0],n=r[e];e.endsWith(\"_\")&&(e=e.substring(0,e.length-1)),e=e+z0;let o=(...s)=>{T.startScope(e);try{let i=n(...s);return tc(i)&&console.error(\"Cannot return a Promise inside of tidy.\"),T.endScope(i),i}catch(i){throw T.endScope(null),i}};return Object.defineProperty(o,\"name\",{value:e,configurable:!0}),o}function AK(r,t){let e=C(r,\"real\",\"complex\"),n=C(t,\"imag\",\"complex\");$e(e.shape,n.shape,`real and imag shapes, ${e.shape} and ${n.shape}, must match in call to tf.complex().`);let o={real:e,imag:n};return T.runKernel(Ap,o)}var Sn=k({complex_:AK});function an(r,t,e,n){if(n==null)n=Wl(r);else if(n===\"complex64\")throw new Error(\"Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).\");if(rx(r)||ex(r)){if(n!==\"float32\"&&n!==\"int32\")throw new Error(`Creating tensor from GPU data only supports 'float32'|'int32' dtype, while the dtype is ${n}.`);return T.backend.createTensorFromGPUData(r,t||e,n)}if(!sr(r)&&!Array.isArray(r)&&typeof r!=\"number\"&&typeof r!=\"boolean\"&&typeof r!=\"string\")throw new Error(\"values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray\");if(t!=null){Le(t);let o=jt(t),s=jt(e);_(o===s,()=>`Based on the provided shape, [${t}], the tensor should have ${o} values but has ${s}`);for(let i=0;i`Error creating a new Tensor. Inferred shape (${e}) does not match the provided shape (${t}). `)}}return!sr(r)&&!Array.isArray(r)&&(r=[r]),t=t||e,r=n!==\"string\"?qp(r,n):si(r,[],!0),T.makeTensor(r,t,n)}function ir(r,t,e){let n=Gr(r,e);return an(r,t,n,e)}var dl={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};var Wr=class r{static join(t){return new r(t).slice()}constructor(t){if(this.shards=[],this.previousShardIndex=0,t==null||(t instanceof Array||(t=[t]),t=t.map(n=>sr(n)?n.buffer:n),t.length===0))return;this.bufferUniformSize=t[0].byteLength;let e=0;for(let n=0;n=this.byteLength)return-1;if(this.bufferUniformSize!=null)return this.previousShardIndex=Math.floor(t/this.bufferUniformSize),this.previousShardIndex;function e(o){return t=o.end?1:0}if(e(this.shards[this.previousShardIndex])===0)return this.previousShardIndex;let n=DK(this.shards,e);return n===-1?-1:(this.previousShardIndex=n,this.previousShardIndex)}};function DK(r,t){let e=0,n=r.length;for(;e<=n;){let o=Math.floor((n-e)/2)+e,s=t(r[o]);if(s===0)return o;s<0?n=o:e=o+1}return-1}function ydt(){L().set(\"PROD\",!0)}function bdt(){L().set(\"DEBUG\",!0)}function wdt(){L().set(\"DEPRECATION_WARNINGS_ENABLED\",!1),console.warn(\"TensorFlow.js deprecation warnings have been disabled.\")}function B0(r){L().getBool(\"DEPRECATION_WARNINGS_ENABLED\")&&console.warn(r+\" You can disable deprecation warnings with tf.disableDeprecationWarnings().\")}J_(B0);function Idt(){T.disposeVariables()}function Bn(){return T}function ah(){return T.memory()}function Cdt(r){return T.profile(r)}function B(r,t){return T.tidy(r,t)}function Tt(r){sh(r).forEach(e=>e.dispose())}function De(r){return T.keep(r)}function vdt(r){return T.time(r)}function $K(r){return T.setBackend(r)}function Sdt(){return T.ready()}function rE(){return T.backendName}function Ndt(r){T.removeBackend(r)}function kdt(r){return T.findBackend(r)}function Tdt(r){return T.findBackendFactory(r)}function Xp(r,t,e=1){return T.registerBackend(r,t,e)}function ox(){return T.backend}function _dt(r,t){L().setPlatform(r,t)}var hu=4;async function sE(r,t){let e=[],n=[],o=Array.isArray(r)?r.map(i=>i.name):Object.keys(r);for(let i=0;i{let m=await u.bytes(),f=m.reduce((g,x)=>g+x.length,0)+hu*m.length,d=new Uint8Array(f),h=0;for(let g=0;ge.slice(o+a,o+u));n[s.name]=iE(s,e.slice(o,o+i)),o+=i}return n}function RK(r,t){let e=jt(r.shape),n;if(\"quantization\"in r){let o=r.quantization;n=dl[o.dtype]}else if(r.dtype===\"string\"){let o=0;for(let s=0;s(o=await nE(n,o,c),o.slice(l,c)));o=await nE(n,o,i);let a=o.slice(0,i);o=o.slice(i);let u=iE(s,a);if(e[s.name]=u,rE()===\"webgpu\"){let l=ox();\"uploadToGPU\"in l&&jt(u.shape)>=L().get(\"WEBGPU_CPU_HANDOFF_SIZE_THRESHOLD\")&&l.uploadToGPU(u.dataId)}}return e}function OK(r){if(r===null)throw new Error(`Invalid input value: ${JSON.stringify(r)}`);let t=0,e=[];r.forEach(s=>{if(t+=s.byteLength,e.push(s.byteLength===s.buffer.byteLength?s:new s.constructor(s)),!(s instanceof Float32Array||s instanceof Int32Array||s instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${s.constructor.name}`)});let n=new Uint8Array(t),o=0;return e.forEach(s=>{n.set(new Uint8Array(s.buffer),o),o+=s.byteLength}),n.buffer}var V0=typeof Buffer!=\"undefined\"&&(typeof Blob==\"undefined\"||typeof atob==\"undefined\"||typeof btoa==\"undefined\");function oE(r){return V0?Buffer.byteLength(r,\"utf8\"):new Blob([r]).size}function aE(r){if(V0)return Buffer.from(r).toString(\"base64\");let t=new Uint8Array(r),e=\"\";for(let n=0,o=t.length;n{let n=e<<13,o=0;for(;!(n&8388608);)o-=8388608,n<<=1;return n&=-8388609,o+=947912704,n|o},t=new Uint32Array(2048);t[0]=0;for(let e=1;e<1024;e++)t[e]=r(e);for(let e=1024;e<2048;e++)t[e]=939524096+(e-1024<<13);return t}function PK(){let r=new Uint32Array(64);r[0]=0,r[31]=1199570944,r[32]=2147483648,r[63]=3347054592;for(let t=1;t<31;t++)r[t]=t<<23;for(let t=33;t<63;t++)r[t]=2147483648+(t-32<<23);return r}function LK(){let r=new Uint32Array(64);for(let t=0;t<64;t++)r[t]=1024;return r[0]=r[32]=0,r}function zK(){let r=MK(),t=PK(),e=LK();return n=>{let o=new ArrayBuffer(4*n.length),s=new Uint32Array(o);for(let i=0;i>10]+(a&1023)]+t[a>>10];s[i]=u}return new Float32Array(o)}}var Cr=class r{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return r.instance==null&&(r.instance=new r),r.instance}static registerSaveRouter(t){r.getInstance().saveRouters.push(t)}static registerLoadRouter(t){r.getInstance().loadRouters.push(t)}static getSaveHandlers(t){return r.getHandlers(t,\"save\")}static getLoadHandlers(t,e){return r.getHandlers(t,\"load\",e)}static getHandlers(t,e,n){let o=[];return(e===\"load\"?r.getInstance().loadRouters:r.getInstance().saveRouters).forEach(i=>{let a=i(t,n);a!==null&&o.push(a)}),o}},cE=r=>Cr.registerSaveRouter(r),pE=r=>Cr.registerLoadRouter(r),mE=r=>Cr.getSaveHandlers(r),fE=(r,t)=>Cr.getLoadHandlers(r,t);var U0=\"tensorflowjs\",H0=1,uc=\"models_store\",gu=\"model_info_store\";function dE(){if(!L().getBool(\"IS_BROWSER\"))throw new Error(\"Failed to obtain IndexedDB factory because the current environmentis not a web browser.\");let r=typeof window==\"undefined\"?self:window,t=r.indexedDB||r.mozIndexedDB||r.webkitIndexedDB||r.msIndexedDB||r.shimIndexedDB;if(t==null)throw new Error(\"The current browser does not appear to support IndexedDB.\");return t}function q0(r){let t=r.result;t.createObjectStore(uc,{keyPath:\"modelPath\"}),t.createObjectStore(gu,{keyPath:\"modelPath\"})}var Qi=class{constructor(t){if(this.indexedDB=dE(),t==null||!t)throw new Error(\"For IndexedDB, modelPath must not be null, undefined or empty.\");this.modelPath=t}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");return this.databaseAction(this.modelPath,t)}async load(){return this.databaseAction(this.modelPath)}databaseAction(t,e){return new Promise((n,o)=>{let s=this.indexedDB.open(U0,H0);s.onupgradeneeded=()=>q0(s),s.onsuccess=()=>{let i=s.result;if(e==null){let a=i.transaction(uc,\"readonly\"),l=a.objectStore(uc).get(this.modelPath);l.onsuccess=()=>{if(l.result==null)return i.close(),o(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));n(l.result.modelArtifacts)},l.onerror=c=>(i.close(),o(l.error)),a.oncomplete=()=>i.close()}else{e.weightData=Wr.join(e.weightData);let a=Ji(e),u=i.transaction(gu,\"readwrite\"),l=u.objectStore(gu),c;try{c=l.put({modelPath:this.modelPath,modelArtifactsInfo:a})}catch(m){return o(m)}let p;c.onsuccess=()=>{p=i.transaction(uc,\"readwrite\");let m=p.objectStore(uc),f;try{f=m.put({modelPath:this.modelPath,modelArtifacts:e,modelArtifactsInfo:a})}catch(d){return o(d)}f.onsuccess=()=>n({modelArtifactsInfo:a}),f.onerror=d=>{l=u.objectStore(gu);let h=l.delete(this.modelPath);h.onsuccess=()=>(i.close(),o(f.error)),h.onerror=g=>(i.close(),o(f.error))}},c.onerror=m=>(i.close(),o(c.error)),u.oncomplete=()=>{p==null?i.close():p.oncomplete=()=>i.close()}}},s.onerror=i=>o(s.error)})}};Qi.URL_SCHEME=\"indexeddb://\";var hE=r=>L().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(Qi.URL_SCHEME)?BK(r.slice(Qi.URL_SCHEME.length)):null;Cr.registerSaveRouter(hE);Cr.registerLoadRouter(hE);function BK(r){return new Qi(r)}function VK(r){return r.startsWith(Qi.URL_SCHEME)?r.slice(Qi.URL_SCHEME.length):r}var lx=class{constructor(){this.indexedDB=dE()}async listModels(){return new Promise((t,e)=>{let n=this.indexedDB.open(U0,H0);n.onupgradeneeded=()=>q0(n),n.onsuccess=()=>{let o=n.result,s=o.transaction(gu,\"readonly\"),a=s.objectStore(gu).getAll();a.onsuccess=()=>{let u={};for(let l of a.result)u[l.modelPath]=l.modelArtifactsInfo;t(u)},a.onerror=u=>(o.close(),e(a.error)),s.oncomplete=()=>o.close()},n.onerror=o=>e(n.error)})}async removeModel(t){return t=VK(t),new Promise((e,n)=>{let o=this.indexedDB.open(U0,H0);o.onupgradeneeded=()=>q0(o),o.onsuccess=()=>{let s=o.result,i=s.transaction(gu,\"readwrite\"),a=i.objectStore(gu),u=a.get(t),l;u.onsuccess=()=>{if(u.result==null)return s.close(),n(new Error(`Cannot find model with path '${t}' in IndexedDB.`));{let c=a.delete(t),p=()=>{l=s.transaction(uc,\"readwrite\");let f=l.objectStore(uc).delete(t);f.onsuccess=()=>e(u.result.modelArtifactsInfo),f.onerror=d=>n(u.error)};c.onsuccess=p,c.onerror=m=>(p(),s.close(),n(u.error))}},u.onerror=c=>(s.close(),n(u.error)),i.oncomplete=()=>{l==null?s.close():l.oncomplete=()=>s.close()}},o.onerror=s=>n(o.error)})}};var hl=\"/\",Zp=\"tensorflowjs_models\",gE=\"info\",GK=\"model_topology\",WK=\"weight_specs\",UK=\"weight_data\",HK=\"model_metadata\";function xE(r){return{info:[Zp,r,gE].join(hl),topology:[Zp,r,GK].join(hl),weightSpecs:[Zp,r,WK].join(hl),weightData:[Zp,r,UK].join(hl),modelMetadata:[Zp,r,HK].join(hl)}}function yE(r){for(let t of Object.values(r))window.localStorage.removeItem(t)}function qK(r){let t=r.split(hl);if(t.length<3)throw new Error(`Invalid key format: ${r}`);return t.slice(1,t.length-1).join(hl)}function KK(r){return r.startsWith(ta.URL_SCHEME)?r.slice(ta.URL_SCHEME.length):r}var ta=class{constructor(t){if(!L().getBool(\"IS_BROWSER\")||typeof window==\"undefined\"||typeof window.localStorage==\"undefined\")throw new Error(\"The current environment does not support local storage.\");if(this.LS=window.localStorage,t==null||!t)throw new Error(\"For local storage, modelPath must not be null, undefined or empty.\");this.modelPath=t,this.keys=xE(this.modelPath)}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");{let e=JSON.stringify(t.modelTopology),n=JSON.stringify(t.weightSpecs),o=Ji(t),s=Wr.join(t.weightData);try{this.LS.setItem(this.keys.info,JSON.stringify(o)),this.LS.setItem(this.keys.topology,e),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,aE(s));let i={format:t.format,generatedBy:t.generatedBy,convertedBy:t.convertedBy,signature:t.signature!=null?t.signature:void 0,userDefinedMetadata:t.userDefinedMetadata!=null?t.userDefinedMetadata:void 0,modelInitializer:t.modelInitializer!=null?t.modelInitializer:void 0,initializerSignature:t.initializerSignature!=null?t.initializerSignature:void 0,trainingConfig:t.trainingConfig!=null?t.trainingConfig:void 0};return this.LS.setItem(this.keys.modelMetadata,JSON.stringify(i)),{modelArtifactsInfo:o}}catch(i){throw yE(this.keys),new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${o.modelTopologyBytes}, weightSpecsBytes=${o.weightSpecsBytes}, weightDataBytes=${o.weightDataBytes}.`)}}}async load(){let t=JSON.parse(this.LS.getItem(this.keys.info));if(t==null)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if(t.modelTopologyType!==\"JSON\")throw new Error(\"BrowserLocalStorage does not support loading non-JSON model topology yet.\");let e={},n=JSON.parse(this.LS.getItem(this.keys.topology));if(n==null)throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);e.modelTopology=n;let o=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(o==null)throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);e.weightSpecs=o;let s=this.LS.getItem(this.keys.modelMetadata);if(s!=null){let a=JSON.parse(s);e.format=a.format,e.generatedBy=a.generatedBy,e.convertedBy=a.convertedBy,a.signature!=null&&(e.signature=a.signature),a.userDefinedMetadata!=null&&(e.userDefinedMetadata=a.userDefinedMetadata),a.modelInitializer!=null&&(e.modelInitializer=a.modelInitializer),a.initializerSignature!=null&&(e.initializerSignature=a.initializerSignature),a.trainingConfig!=null&&(e.trainingConfig=a.trainingConfig)}let i=this.LS.getItem(this.keys.weightData);if(i==null)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return e.weightData=lE(i),e}};ta.URL_SCHEME=\"localstorage://\";var bE=r=>L().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(ta.URL_SCHEME)?jK(r.slice(ta.URL_SCHEME.length)):null;Cr.registerSaveRouter(bE);Cr.registerLoadRouter(bE);function jK(r){return new ta(r)}var ux=class{constructor(){_(L().getBool(\"IS_BROWSER\"),()=>\"Current environment is not a web browser\"),_(typeof window==\"undefined\"||typeof window.localStorage!=\"undefined\",()=>\"Current browser does not appear to support localStorage\"),this.LS=window.localStorage}async listModels(){let t={},e=Zp+hl,n=hl+gE;for(let o=0;o\"scheme must not be undefined or null.\"),t.endsWith(Jp)&&(t=t.slice(0,t.indexOf(Jp))),_(t.length>0,()=>\"scheme must not be an empty string.\");let n=r.getInstance();_(n.managers[t]==null,()=>`A model store manager is already registered for scheme '${t}'.`),n.managers[t]=e}static getManager(t){let e=r.getInstance().managers[t];if(e==null)throw new Error(`Cannot find model manager for scheme '${t}'`);return e}static getSchemes(){return Object.keys(r.getInstance().managers)}};function cx(r){if(r.indexOf(Jp)===-1)throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${ai.getSchemes().join(\",\")}`);return{scheme:r.split(Jp)[0],path:r.split(Jp)[1]}}async function wE(r,t,e=!1){_(r!==t,()=>`Old path and new path are the same: '${r}'`);let n=Cr.getLoadHandlers(r);_(n.length>0,()=>`Copying failed because no load handler is found for source URL ${r}.`),_(n.length<2,()=>`Copying failed because more than one (${n.length}) load handlers for source URL ${r}.`);let o=n[0],s=Cr.getSaveHandlers(t);_(s.length>0,()=>`Copying failed because no save handler is found for destination URL ${t}.`),_(s.length<2,()=>`Copying failed because more than one (${n.length}) save handlers for destination URL ${t}.`);let i=s[0],a=cx(r).scheme,u=cx(r).path,l=a===cx(r).scheme,c=await o.load();e&&l&&await ai.getManager(a).removeModel(u);let p=await i.save(c);return e&&!l&&await ai.getManager(a).removeModel(u),p.modelArtifactsInfo}async function IE(){let r=ai.getSchemes(),t={};for(let e of r){let n=await ai.getManager(e).listModels();for(let o in n){let s=e+Jp+o;t[s]=n[o]}}return t}async function CE(r){let t=cx(r);return ai.getManager(t.scheme).removeModel(t.path)}async function vE(r,t){return wE(r,t,!1)}async function SE(r,t){return wE(r,t,!0)}var K0=class{constructor(){this.messageName=\"setTimeoutCustom\",this.functionRefs=[],this.handledMessageCount=0,this.hasEventListener=!1}fetch(t,e){return fetch(t,e)}now(){return performance.now()}encode(t,e){if(e!==\"utf-8\"&&e!==\"utf8\")throw new Error(`Browser's encoder only supports utf-8, but got ${e}`);return this.textEncoder==null&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(t)}decode(t,e){return new TextDecoder(e).decode(t)}setTimeoutCustom(t,e){if(typeof window==\"undefined\"||!L().getBool(\"USE_SETTIMEOUTCUSTOM\")){setTimeout(t,e);return}this.functionRefs.push(t),setTimeout(()=>{window.postMessage({name:this.messageName,index:this.functionRefs.length-1},\"*\")},e),this.hasEventListener||(this.hasEventListener=!0,window.addEventListener(\"message\",n=>{if(n.source===window&&n.data.name===this.messageName){n.stopPropagation();let o=this.functionRefs[n.data.index];o(),this.handledMessageCount++,this.handledMessageCount===this.functionRefs.length&&(this.functionRefs=[],this.handledMessageCount=0)}},!0))}isTypedArray(t){return Yg(t)}};if(L().get(\"IS_BROWSER\")){L().setPlatform(\"browser\",new K0);try{ai.registerManager(ta.URL_SCHEME,new ux)}catch(r){}try{ai.registerManager(Qi.URL_SCHEME,new lx)}catch(r){}}var XK={importFetch:()=>NE()},j0;var X0=class{constructor(){this.util=kE(),this.textEncoder=new this.util.TextEncoder}fetch(t,e){return L().global.fetch!=null?L().global.fetch(t,e):(j0==null&&(j0=XK.importFetch()),j0(t,e))}now(){let t=process.hrtime();return t[0]*1e3+t[1]/1e6}encode(t,e){if(e!==\"utf-8\"&&e!==\"utf8\")throw new Error(`Node built-in encoder only supports utf-8, but got ${e}`);return this.textEncoder.encode(t)}decode(t,e){return t.length===0?\"\":new this.util.TextDecoder(e).decode(t)}isTypedArray(t){return this.util.types.isFloat32Array(t)||this.util.types.isInt32Array(t)||this.util.types.isUint8Array(t)||this.util.types.isUint8ClampedArray(t)}};L().get(\"IS_NODE\")&&!L().get(\"IS_BROWSER\")&&L().setPlatform(\"node\",new X0);function wt(r,t=\"float32\",e){return t=t||\"float32\",Le(r),new le(r,t,e)}function YK(r,t){let e=C(r,\"x\",\"cast\");if(!g0(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if(t===\"string\"&&e.dtype!==\"string\"||t!==\"string\"&&e.dtype===\"string\")throw new Error(\"Only strings can be casted to strings\");let n={x:e},o={dtype:t};return T.runKernel(fo,n,o)}var J=k({cast_:YK});function ZK(r){let e={x:C(r,\"x\",\"clone\",\"string_or_numeric\")};return T.runKernel(go,e)}var ln=k({clone_:ZK});function px(r,t=!1){console.log(r.toString(t))}M0();var JK={buffer:wt,cast:J,clone:ln,print:px};Z_(JK);function QK(r,t){let e=C(r,\"a\",\"add\"),n=C(t,\"b\",\"add\");[e,n]=Xt(e,n);let o={a:e,b:n};return T.runKernel(no,o)}var X=k({add_:QK});function tj(r,t){let e=C(r,\"a\",\"floorDiv\"),n=C(t,\"b\",\"floorDiv\");[e,n]=Xt(e,n);let o={a:e,b:n};return T.runKernel(fs,o)}var Qp=k({floorDiv_:tj});function ej(r,t){let e=C(r,\"a\",\"div\"),n=C(t,\"b\",\"div\");if([e,n]=Xt(e,n),e.dtype===\"int32\"&&n.dtype===\"int32\")return Qp(e,n);let o={a:e,b:n},s={};return T.runKernel(as,o,s)}var ct=k({div_:ej});function rj(r,t){let e=C(r,\"a\",\"mul\"),n=C(t,\"b\",\"mul\");[e,n]=Xt(e,n);let o={a:e,b:n};return T.runKernel(Ds,o)}var $=k({mul_:rj});function nj(r){let t=C(r,\"x\",\"abs\");if(t.dtype===\"complex64\"){let e={x:t};return T.runKernel(Kl,e)}else{let e={x:t};return T.runKernel(Ei,e)}}var _e=k({abs_:nj});function oj(r){let e={x:C(r,\"x\",\"acos\")};return T.runKernel(Go,e)}var mx=k({acos_:oj});function sj(r){let e={x:C(r,\"x\",\"acosh\")};return T.runKernel(Wo,e)}var fx=k({acosh_:sj});function ij(r){_(Array.isArray(r),()=>\"The argument passed to tf.addN() must be a list of tensors\"),_(r.length>=1,()=>`Must pass at least one tensor to tf.addN(), but got ${r.length}`);let t=r.map((o,s)=>C(o,`tensors${s}`,\"addN\")),e=t[0];t.forEach(o=>{if(o.dtype!==e.dtype)throw new Error(\"All tensors passed to tf.addN() must have the same dtype\")}),t.forEach(o=>{if(!on(o.shape,e.shape))throw new Error(\"All tensors passed to tf.addN() must have the same shape\")});let n=t;return T.runKernel(Uo,n)}var TE=k({addN_:ij});function aj(r,t=null,e=!1){let o={x:C(r,\"x\",\"all\",\"bool\")},s={axis:t,keepDims:e};return T.runKernel(Ea,o,s)}var tm=k({all_:aj});function lj(r,t=null,e=!1){let o={x:C(r,\"x\",\"any\",\"bool\")},s={axis:t,keepDims:e};return T.runKernel(Aa,o,s)}var cc=k({any_:lj});function uj(r,t=0){let n={x:C(r,\"x\",\"argMax\")},o={axis:t};return T.runKernel(Ai,n,o)}var ea=k({argMax_:uj});function cj(r,t=0){let n={x:C(r,\"x\",\"argMin\")},o={axis:t};return T.runKernel(Di,n,o)}var dx=k({argMin_:cj});function pj(r){let e={x:C(r,\"x\",\"asin\")};return T.runKernel(Ho,e)}var hx=k({asin_:pj});function mj(r){let e={x:C(r,\"x\",\"asinh\")};return T.runKernel(qo,e)}var gx=k({asinh_:mj});function fj(r){let e={x:C(r,\"x\",\"atan\")};return T.runKernel(Ko,e)}var xx=k({atan_:fj});function dj(r,t){let e=C(r,\"a\",\"atan2\"),n=C(t,\"b\",\"atan2\");[e,n]=Xt(e,n);let o={a:e,b:n};return T.runKernel(Xo,o)}var yx=k({atan2_:dj});function hj(r){let e={x:C(r,\"x\",\"atanh\")};return T.runKernel(jo,e)}var bx=k({atanh_:hj});function gj(r,t,e,n,o=\"NHWC\",s){let i=r[3],a=[...t,i],u=EE(o);return pc(r,a,e,s,n,null,null,u)}function Z0(r,t,e,n,o,s,i=\"channelsLast\"){let[a,u]=uh(t),l;if(i===\"channelsLast\")l=[a,u,r[3],r[3]];else if(i===\"channelsFirst\")l=[a,u,r[1],r[1]];else throw new Error(`Unknown dataFormat ${i}`);return pc(r,l,e,n,o,s,!1,i)}function xj(r,t,e,n,o,s,i=\"NDHWC\"){let[a,u,l]=Y0(t),c,p;if(i===\"NDHWC\")p=\"channelsLast\",c=[a,u,l,r[4],r[4]];else if(i===\"NCDHW\")p=\"channelsFirst\",c=[a,u,l,r[1],r[1]];else throw new Error(`Unknown dataFormat ${i}`);return _E(r,c,e,n,o,!1,p,s)}function pc(r,t,e,n,o,s,i=!1,a=\"channelsLast\"){let[u,l,c,p]=[-1,-1,-1,-1];if(a===\"channelsLast\")[u,l,c,p]=r;else if(a===\"channelsFirst\")[u,p,l,c]=r;else throw new Error(`Unknown dataFormat ${a}`);let[m,f,,d]=t,[h,g]=uh(e),[x,b]=uh(n),w=em(m,x),I=em(f,b),{padInfo:N,outHeight:E,outWidth:A}=wj(o,l,c,h,g,w,I,s,a),D=i?d*p:d,F;return a===\"channelsFirst\"?F=[u,D,E,A]:a===\"channelsLast\"&&(F=[u,E,A,D]),{batchSize:u,dataFormat:a,inHeight:l,inWidth:c,inChannels:p,outHeight:E,outWidth:A,outChannels:D,padInfo:N,strideHeight:h,strideWidth:g,filterHeight:m,filterWidth:f,effectiveFilterHeight:w,effectiveFilterWidth:I,dilationHeight:x,dilationWidth:b,inShape:r,outShape:F,filterShape:t}}function _E(r,t,e,n,o,s=!1,i=\"channelsLast\",a){let[u,l,c,p,m]=[-1,-1,-1,-1,-1];if(i===\"channelsLast\")[u,l,c,p,m]=r;else if(i===\"channelsFirst\")[u,m,l,c,p]=r;else throw new Error(`Unknown dataFormat ${i}`);let[f,d,h,,g]=t,[x,b,w]=Y0(e),[I,N,E]=Y0(n),A=em(f,I),D=em(d,N),F=em(h,E),{padInfo:M,outDepth:V,outHeight:G,outWidth:W}=Ij(o,l,c,p,x,b,w,A,D,F,a),q=s?g*m:g,H;return i===\"channelsFirst\"?H=[u,q,V,G,W]:i===\"channelsLast\"&&(H=[u,V,G,W,q]),{batchSize:u,dataFormat:i,inDepth:l,inHeight:c,inWidth:p,inChannels:m,outDepth:V,outHeight:G,outWidth:W,outChannels:q,padInfo:M,strideDepth:x,strideHeight:b,strideWidth:w,filterDepth:f,filterHeight:d,filterWidth:h,effectiveFilterDepth:A,effectiveFilterHeight:D,effectiveFilterWidth:F,dilationDepth:I,dilationHeight:N,dilationWidth:E,inShape:r,outShape:H,filterShape:t}}function yj(r,t,e,n,o){n==null&&(n=J0(r,t,e));let s=r[0],i=r[1],a=ch((s-t+2*n)/e+1,o),u=ch((i-t+2*n)/e+1,o);return[a,u]}function bj(r,t,e,n,o,s){o==null&&(o=J0(r,t[0],n[0]));let i=[0,0,0,e];for(let a=0;a<3;a++)r[a]+2*o>=t[a]&&(i[a]=ch((r[a]-t[a]+2*o)/n[a]+1,s));return i}function J0(r,t,e,n=1){let o=em(t,n);return Math.floor((r[0]*(e-1)-e+o)/2)}function uh(r){return typeof r==\"number\"?[r,r,r]:r.length===2?[r[0],r[1],1]:r}function Y0(r){return typeof r==\"number\"?[r,r,r]:r}function em(r,t){return t<=1?r:r+(r-1)*(t-1)}function wj(r,t,e,n,o,s,i,a,u){let l,c,p;if(typeof r==\"number\"){l={top:r,bottom:r,left:r,right:r,type:r===0?\"VALID\":\"NUMBER\"};let f=yj([t,e],s,n,r,a);c=f[0],p=f[1]}else if(r===\"same\"){c=Math.ceil(t/n),p=Math.ceil(e/o);let m=Math.max(0,(c-1)*n+s-t),f=Math.max(0,(p-1)*o+i-e),d=Math.floor(m/2),h=m-d,g=Math.floor(f/2),x=f-g;l={top:d,bottom:h,left:g,right:x,type:\"SAME\"}}else if(r===\"valid\")l={top:0,bottom:0,left:0,right:0,type:\"VALID\"},c=Math.ceil((t-s+1)/n),p=Math.ceil((e-i+1)/o);else if(typeof r==\"object\"){let m=u===\"channelsLast\"?r[1][0]:r[2][0],f=u===\"channelsLast\"?r[1][1]:r[2][1],d=u===\"channelsLast\"?r[2][0]:r[3][0],h=u===\"channelsLast\"?r[2][1]:r[3][1];l={top:m,bottom:f,left:d,right:h,type:m===0&&f===0&&d===0&&h===0?\"VALID\":\"EXPLICIT\"},c=ch((t-s+m+f)/n+1,a),p=ch((e-i+d+h)/o+1,a)}else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:l,outHeight:c,outWidth:p}}function Ij(r,t,e,n,o,s,i,a,u,l,c){let p,m,f,d;if(r===\"valid\"&&(r=0),typeof r==\"number\"){p={top:r,bottom:r,left:r,right:r,front:r,back:r,type:r===0?\"VALID\":\"NUMBER\"};let g=bj([t,e,n,1],[a,u,l],1,[o,s,i],r,c);m=g[0],f=g[1],d=g[2]}else if(r===\"same\"){m=Math.ceil(t/o),f=Math.ceil(e/s),d=Math.ceil(n/i);let h=(m-1)*o+a-t,g=(f-1)*s+u-e,x=(d-1)*i+l-n,b=Math.floor(h/2),w=h-b,I=Math.floor(g/2),N=g-I,E=Math.floor(x/2),A=x-E;p={top:I,bottom:N,left:E,right:A,front:b,back:w,type:\"SAME\"}}else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:p,outDepth:m,outHeight:f,outWidth:d}}function ch(r,t){if(!t)return Math.trunc(r);switch(t){case\"round\":return Math.round(r);case\"ceil\":return Math.ceil(r);case\"floor\":return Math.floor(r);default:throw new Error(`Unknown roundingMode ${t}`)}}function io(r){let[t,e,n]=uh(r);return t===1&&e===1&&n===1}function Dr(r,t){return io(r)||io(t)}function ra(r){return uh(r).every(t=>t>0)}function EE(r){if(r===\"NHWC\")return\"channelsLast\";if(r===\"NCHW\")return\"channelsFirst\";throw new Error(`Unknown dataFormat ${r}`)}function ve(r,t,e){if(e!=null){if(typeof t==\"string\")throw Error(`Error in ${r}: pad must be an integer when using dimRoundingMode ${e} but got pad ${t}.`);if(typeof t==\"number\")_(_a(t),()=>`Error in ${r}: pad must be an integer when using dimRoundingMode ${e} but got pad ${t}.`);else if(typeof t==\"object\")t.forEach(n=>{n.forEach(o=>{_(_a(o),()=>`Error in ${r}: pad must be an integer when using dimRoundingMode ${e} but got pad ${o}.`)})});else throw Error(`Error in ${r}: Unknown padding parameter: ${t}`)}}function Cj(r,t){let n={x:C(r,\"x\",\"reshape\",\"string_or_numeric\")},o={shape:t};return T.runKernel(Vi,n,o)}var R=k({reshape_:Cj});function vj(r,t,e,n,o){let s=C(r,\"x\",\"avgPool\",\"float32\"),i=1;_(Dr(e,i),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${e} and dilations '${i}'`);let a=s,u=!1;s.rank===3&&(u=!0,a=R(s,[1,s.shape[0],s.shape[1],s.shape[2]])),_(a.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${a.rank}.`),ve(\"avgPool\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o},p=T.runKernel(Yo,l,c);return p=J(p,s.dtype),u?R(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var xu=k({avgPool_:vj});function Sj(r,t,e,n,o,s=\"NDHWC\"){let i=C(r,\"x\",\"avgPool3d\",\"float32\"),a=i,u=!1;i.rank===4&&(u=!0,a=R(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),_(a.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${a.rank}.`),_(s===\"NDHWC\",()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),_(typeof e==\"number\"&&e>0||Array.isArray(e)&&e[0]>0&&e[1]>0&&e[2]>0,()=>`Error in avgPool3d: Stride must be > 0, but got '${e}'`),ve(\"avgPool3d\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o,dataFormat:s},p=T.runKernel($i,l,c);return p=J(p,a.dtype),u?R(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}var wx=k({avgPool3d_:Sj});function Nj(r,t=0){_(r.length>=1,()=>\"Pass at least one tensor to concat\");let e=fl(r,\"tensors\",\"concat\",\"string_or_numeric\");if(e[0].dtype===\"complex64\"&&e.forEach(s=>{if(s.dtype!==\"complex64\")throw new Error(`Cannot concatenate complex64 tensors with a tensor\n with dtype ${s.dtype}. `)}),e.length===1)return ln(e[0]);let n=e,o={axis:t};return T.runKernel(Fi,n,o)}var ie=k({concat_:Nj});function kj(r,t,e=!1,n=!1){let o=C(r,\"a\",\"matMul\"),s=C(t,\"b\",\"matMul\");[o,s]=Xt(o,s);let i={a:o,b:s},a={transposeA:e,transposeB:n};return T.runKernel(Zo,i,a)}var Bt=k({matMul_:kj});function Tj(r){let e={x:C(r,\"x\",\"sigmoid\",\"float32\")};return T.runKernel(Xs,e)}var Qr=k({sigmoid_:Tj});function _j(r,t,e){let n=C(r,\"x\",\"slice\",\"string_or_numeric\");if(n.rank===0)throw new Error(\"Slicing scalar is not possible\");let o={x:n},s={begin:t,size:e};return T.runKernel(Wi,o,s)}var Ot=k({slice_:_j});function Ej(r){let e={x:C(r,\"x\",\"tanh\",\"float32\")};return T.runKernel(ni,e)}var na=k({tanh_:Ej});function Aj(r,t,e,n,o,s){let i=C(r,\"forgetBias\",\"basicLSTMCell\"),a=C(t,\"lstmKernel\",\"basicLSTMCell\"),u=C(e,\"lstmBias\",\"basicLSTMCell\"),l=C(n,\"data\",\"basicLSTMCell\"),c=C(o,\"c\",\"basicLSTMCell\"),p=C(s,\"h\",\"basicLSTMCell\"),m=ie([l,p],1),f=Bt(m,a),d=X(f,u),h=d.shape[0],g=d.shape[1]/4,x=[h,g],b=Ot(d,[0,0],x),w=Ot(d,[0,g],x),I=Ot(d,[0,g*2],x),N=Ot(d,[0,g*3],x),E=X($(Qr(b),na(w)),$(c,Qr(X(i,I)))),A=$(na(E),Qr(N));return[E,A]}var AE=k({basicLSTMCell_:Aj});function Dj(r,t,e){let n=C(r,\"x\",\"batchToSpaceND\"),o=t.reduce((a,u)=>a*u);_(n.rank>=1+t.length,()=>`input rank is ${n.rank} but should be > than blockShape.length ${t.length}`),_(e.length===t.length,()=>`crops.length is ${e.length} but should be equal to blockShape.length ${t.length}`),_(n.shape[0]%o===0,()=>`input tensor batch is ${n.shape[0]} but is not divisible by the product of the elements of blockShape ${t.join(\" * \")} === ${o}`);let s={x:n},i={blockShape:t,crops:e};return T.runKernel(Ri,s,i)}var yu=k({batchToSpaceND_:Dj});function DE(r){let t;return r.rank===0||r.rank===1?t=R(r,[1,1,1,r.size]):r.rank===2?t=R(r,[1,1,r.shape[0],r.shape[1]]):r.rank===3?t=R(r,[1,r.shape[0],r.shape[1],r.shape[2]]):t=r,t}function $j(r,t,e,n,o,s){s==null&&(s=.001);let i=C(r,\"x\",\"batchNorm\"),a=C(t,\"mean\",\"batchNorm\"),u=C(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=C(o,\"scale\",\"batchNorm\"));let c;n!=null&&(c=C(n,\"offset\",\"batchNorm\")),_(a.rank===u.rank,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),_(c==null||a.rank===c.rank,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),_(l==null||a.rank===l.rank,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\");let m={x:DE(i),scale:l,offset:c,mean:a,variance:u},f={varianceEpsilon:s},d=T.runKernel(ds,m,f);return R(d,i.shape)}var oa=k({batchNorm_:$j});function Rj(r,t,e,n,o,s){let i=C(r,\"x\",\"batchNorm\"),a=C(t,\"mean\",\"batchNorm\"),u=C(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=C(o,\"scale\",\"batchNorm\"));let c;return n!=null&&(c=C(n,\"offset\",\"batchNorm\")),_(i.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${i.rank}.`),_(a.rank===2||a.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${a.rank}.`),_(u.rank===2||u.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${u.rank}.`),l!=null&&_(l.rank===2||l.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${l.rank}.`),c!=null&&_(c.rank===2||c.rank===1,()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${c.rank}.`),oa(i,a,u,c,l,s)}var Ix=k({batchNorm2d_:Rj});function Fj(r,t,e,n,o,s){let i=C(r,\"x\",\"batchNorm\"),a=C(t,\"mean\",\"batchNorm\"),u=C(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=C(o,\"scale\",\"batchNorm\"));let c;return n!=null&&(c=C(n,\"offset\",\"batchNorm\")),_(i.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${i.rank}.`),_(a.rank===3||a.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${a.rank}.`),_(u.rank===3||u.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${u.rank}.`),l!=null&&_(l.rank===3||l.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${l.rank}.`),c!=null&&_(c.rank===3||c.rank===1,()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${c.rank}.`),oa(i,a,u,c,l,s)}var Cx=k({batchNorm3d_:Fj});function Oj(r,t,e,n,o,s){let i=C(r,\"x\",\"batchNorm\"),a=C(t,\"mean\",\"batchNorm\"),u=C(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=C(o,\"scale\",\"batchNorm\"));let c;return n!=null&&(c=C(n,\"offset\",\"batchNorm\")),_(i.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${i.rank}.`),_(a.rank===4||a.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${a.rank}.`),_(u.rank===4||u.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${u.rank}.`),l!=null&&_(l.rank===4||l.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${l.rank}.`),c!=null&&_(c.rank===4||c.rank===1,()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${c.rank}.`),oa(i,a,u,c,l,s)}var vx=k({batchNorm4d_:Oj});function Mj(r,t,e){let n=C(r,\"x\",\"bincount\"),o=C(t,\"weights\",\"bincount\");_(n.dtype===\"int32\",()=>`Error in bincount: input dtype must be int32, but got ${n.dtype}`),_(e>=0,()=>`size must be non-negative, but got ${e}.`),_(o.size===n.size||o.size===0,()=>`Error in bincount: weights must have the same size as input or0-length, but got input shape: ${n.shape}, weights shape: ${o.shape}.`);let s={x:n,weights:o},i={size:e};return T.runKernel(Da,s,i)}var Sx=k({bincount_:Mj});function Pj(r,t){let e=C(r,\"x\",\"bitwiseAnd\"),n=C(t,\"y\",\"bitwiseAnd\");if(!on(e.shape,n.shape))throw new Error(`BitwiseAnd: Tensors must have the same shape. x: ${e.shape}, y: ${n.shape}`);if(e.dtype!==\"int32\"||n.dtype!==\"int32\")throw new Error(`BitwiseAnd: Only supports 'int32' values in tensor, found type of x: ${e.dtype} and type of y: ${n.dtype}`);let o={a:e,b:n};return T.runKernel($a,o)}var $E=k({bitwiseAnd_:Pj});function Lj(r,t){let e=C(r,\"s0\",\"broadcastArgs\",\"int32\"),n=C(t,\"s1\",\"broadcastArgs\",\"int32\");if(e.rank!==1)throw new Error(`broadcastArgs(): first input must be a vector (rank=1). Has rank ${e.rank}`);if(n.rank!==1)throw new Error(`broadcastArgs(): second input must be a vector (rank=1). Has rank ${n.rank}`);let o={s0:e,s1:n};return T.runKernel(ql,o)}var RE=k({broadcastArgs_:Lj});function zj(r,t){let e=C(r,\"broadcastTo\",\"x\"),n=e.shape;if(Le(t),t.lengthe.rank){let l=e.shape.slice();for(;l.length=0;l--)if(o[l]===t[l])s[l]=1;else if(e.shape[l]!==1)throw new Error(`broadcastTo(): [${n}] cannot be broadcast to [${t}].`);if(s.map((l,c)=>l>1?c:-1).filter(l=>l>=0).length===0)return ln(e);let a={x:e},u={reps:s};return T.runKernel(oo,a,u)}var sa=k({broadcastTo_:zj});function Bj(r){let e={x:C(r,\"x\",\"ceil\",\"float32\")};return T.runKernel(Jo,e)}var Nx=k({ceil_:Bj});function Co(r,t,e){Le(r),e=e||Wl(t);let n={shape:r,value:t,dtype:e};return T.runKernel(Jl,{},n)}function Vj(r,t,e){let n=C(r,\"x\",\"clipByValue\");if(_(t<=e,()=>`Error in clip: min (${t}) must be less than or equal to max (${e}).`),t===e)return Co(n.shape,t,n.dtype);let o={x:n},s={clipValueMin:t,clipValueMax:e};return T.runKernel(ho,o,s)}var vr=k({clipByValue_:Vj});function Gj(r){return ie(r,0)}var kx=k({concat1d_:Gj});function Wj(r,t){return ie(r,t)}var Tx=k({concat2d_:Wj});function Uj(r,t){return ie(r,t)}var _x=k({concat3d_:Uj});function Hj(r,t){return ie(r,t)}var Ex=k({concat4d_:Hj});function qj(r,t,e,n,o=\"NHWC\",s=[1,1],i){let a=C(r,\"x\",\"conv2d\",\"float32\"),u=C(t,\"filter\",\"conv2d\",\"float32\"),l=a,c=!1;a.rank===3&&(c=!0,l=R(a,[1,a.shape[0],a.shape[1],a.shape[2]])),_(l.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${l.rank}.`),_(u.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${u.rank}.`),ve(\"conv2d\",n,i);let p=o===\"NHWC\"?l.shape[3]:l.shape[1];_(p===u.shape[2],()=>`Error in conv2d: depth of input (${p}) must match input depth for filter ${u.shape[2]}.`),_(Dr(e,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`),_(ra(s),()=>\"Error in conv2D: Dilated rates should be larger than 0.\"),_(ra(e),()=>\"Error in conv2D: Strides should be larger than 0.\");let m={x:l,filter:u},f={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i},d=T.runKernel(Qo,m,f);return c?R(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var Nn=k({conv2d_:qj});function Kj(r,t,e,n,o=\"NWC\",s=1,i){let a=C(r,\"x\",\"conv1d\"),u=C(t,\"filter\",\"conv1d\"),l=a,c=!1;a.rank===2&&(c=!0,l=R(a,[1,a.shape[0],a.shape[1]])),_(l.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${l.rank}.`),_(u.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${u.rank}.`),ve(\"conv1d\",n,i),_(l.shape[2]===u.shape[1],()=>`Error in conv1d: depth of input (${l.shape[2]}) must match input depth for filter ${u.shape[1]}.`),_(Dr(e,s),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${e} and dilation '${s}'`),_(ra(s),()=>\"Error in conv1D: Dilated rates should be larger than 0.\"),_(ra(e),()=>\"Error in conv1D: Stride should be larger than 0.\"),_(o===\"NWC\",()=>`Error in conv1d: got dataFormat of ${o} but only NWC is currently supported.`);let p=R(u,[1,u.shape[0],u.shape[1],u.shape[2]]),m=R(l,[l.shape[0],1,l.shape[1],l.shape[2]]),g=Nn(m,p,[1,e],n,\"NHWC\",[1,s],i);return c?R(g,[g.shape[2],g.shape[3]]):R(g,[g.shape[0],g.shape[2],g.shape[3]])}var rm=k({conv1d_:Kj});function jj(r,t,e,n,o,s=\"NHWC\",i){_(r.length===t.rank,()=>`Length of inShape (${r.length}) and rank of dy (${t.rank}) must match`);let a=r,u=t,l=!1;t.rank===3&&(l=!0,u=R(t,[1,t.shape[0],t.shape[1],t.shape[2]]),a=[1,r[0],r[1],r[2]]),_(a.length===4,()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${a.length}.`),_(u.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${u.rank}`),_(e.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${e.rank}`);let c=s===\"NHWC\"?a[3]:a[1],p=s===\"NHWC\"?u.shape[3]:u.shape[1];_(c===e.shape[2],()=>`Error in conv2dDerInput: depth of input (${c}) must match input depth for filter ${e.shape[2]}.`),_(p===e.shape[3],()=>`Error in conv2dDerInput: depth of output (${p}) must match output depth for filter ${e.shape[3]}.`),ve(\"conv2dDerInput\",o,i);let m={dy:u,filter:e},f={strides:n,pad:o,dataFormat:s,dimRoundingMode:i,inputShape:a},d=T.runKernel(ts,m,f);return l?R(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var nm=k({conv2DBackpropInput_:jj});function Xj(r,t,e,n,o,s){let i=C(r,\"x\",\"conv2dTranspose\"),a=C(t,\"filter\",\"conv2dTranspose\");return nm(e,i,a,n,o,\"NHWC\",s)}var om=k({conv2dTranspose_:Xj});function Yj(r,t,e,n,o=\"NDHWC\",s=[1,1,1]){let i=C(r,\"x\",\"conv3d\"),a=C(t,\"filter\",\"conv3d\"),u=i,l=!1;i.rank===4&&(l=!0,u=R(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),_(u.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${u.rank}.`),_(a.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${a.rank}.`),_(u.shape[4]===a.shape[3],()=>`Error in conv3d: depth of input (${u.shape[4]}) must match input depth for filter ${a.shape[3]}.`),_(Dr(e,s),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`),_(o===\"NDHWC\",()=>`Error in conv3d: got dataFormat of ${o} but only NDHWC is currently supported.`),_(ra(s),()=>\"Error in conv3D: Dilated rates should be larger than 0.\"),_(ra(e),()=>\"Error in conv3D: Strides should be larger than 0.\");let c={x:u,filter:a},p={strides:e,pad:n,dataFormat:o,dilations:s},m=T.runKernel(es,c,p);return l?R(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var Ax=k({conv3d_:Yj});function Zj(r,t,e,n,o){_(r.length===t.rank,()=>`Length of inShape (${r.length}) and rank of dy (${t.rank}) must match`);let s=r,i=t,a=!1;t.rank===4&&(a=!0,i=R(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]),s=[1,r[0],r[1],r[2],r[3]]);let u=s[4],l=i.shape[4];_(s.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${s.length}.`),_(i.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${i.rank}`),_(e.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${e.rank}`),_(u===e.shape[3],()=>`Error in conv3dDerInput: depth of input (${u}) must match input depth for filter ${e.shape[3]}.`),_(l===e.shape[4],()=>`Error in conv3dDerInput: depth of output (${l}) must match output depth for filter ${e.shape[4]}.`);let c={dy:i,filter:e},p={pad:o,strides:n,inputShape:s},m=T.runKernel(Fa,c,p);return a?R(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var Dx=k({conv3DBackpropInput_:Zj});function Jj(r,t,e,n,o){let s=C(r,\"x\",\"conv3dTranspose\"),i=C(t,\"filter\",\"conv3dTranspose\");return Dx(e,s,i,n,o)}var $x=k({conv3dTranspose_:Jj});function Qj(r){let e={x:C(r,\"x\",\"cos\",\"float32\")};return T.runKernel(rs,e)}var bu=k({cos_:Qj});function t6(r){let e={x:C(r,\"x\",\"cosh\",\"float32\")};return T.runKernel(ns,e)}var sm=k({cosh_:t6});function e6(r,t=0,e=!1,n=!1){let s={x:C(r,\"x\",\"cumprod\")},i={axis:t,exclusive:e,reverse:n};return T.runKernel(Oa,s,i)}var mc=k({cumprod_:e6});function r6(r,t=0,e=!1,n=!1){let s={x:C(r,\"x\",\"cumsum\")},i={axis:t,exclusive:e,reverse:n};return T.runKernel(os,s,i)}var im=k({cumsum_:r6});function n6(r,t,e,n=!1){let o=C(r,\"x\",\"denseBincount\"),s=C(t,\"weights\",\"denseBincount\");_(o.dtype===\"int32\",()=>`Error in denseBincount: input dtype must be int32, but got ${o.dtype}`),_(o.rank<=2,()=>`Error in denseBincount: input must be at most rank 2, but got rank ${o.rank}.`),_(e>=0,()=>`size must be non-negative, but got ${e}.`),_(s.size===o.size||s.size===0,()=>`Error in denseBincount: weights must have the same shape as x or 0-length, but got x shape: ${o.shape}, weights shape: ${s.shape}.`);let i={x:o,weights:s},a={size:e,binaryOutput:n};return T.runKernel(jl,i,a)}var ph=k({denseBincount_:n6});function o6(r,t,e=\"NHWC\"){let n=C(r,\"x\",\"depthToSpace\",\"float32\"),o=e===\"NHWC\"?n.shape[1]:n.shape[2],s=e===\"NHWC\"?n.shape[2]:n.shape[3],i=e===\"NHWC\"?n.shape[3]:n.shape[1];_(t>1,()=>`blockSize should be > 1 for depthToSpace, but was: ${t}`),_(o*t>=0,()=>`Negative dimension size caused by overflow when multiplying\n ${o} and ${t} for depthToSpace with input shape\n ${n.shape}`),_(s*t>=0,()=>`Negative dimension size caused by overflow when multiplying\n ${s} and ${t} for depthToSpace with input shape\n ${n.shape}`),_(i%(t*t)===0,()=>`Dimension size must be evenly divisible by ${t*t} but is ${i} for depthToSpace with input shape ${n.shape}`);let a={x:n},u={blockSize:t,dataFormat:e};return T.runKernel(Pa,a,u)}var Rx=k({depthToSpace_:o6});function s6(r,t,e,n,o=\"NHWC\",s=[1,1],i){let a=C(r,\"x\",\"depthwiseConv2d\",\"float32\"),u=C(t,\"filter\",\"depthwiseConv2d\",\"float32\"),l=a,c=!1;a.rank===3&&(c=!0,l=R(a,[1,a.shape[0],a.shape[1],a.shape[2]])),_(l.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${l.rank}.`),_(u.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${u.rank}.`);let p=o===\"NHWC\"?l.shape[3]:l.shape[1];_(p===u.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${p}) must match the inChannels dimension in filter ${u.shape[2]}.`),ve(\"depthwiseConv2d\",n,i);let m={x:l,filter:u},f={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i},d=T.runKernel(ss,m,f);return c?R(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var ia=k({depthwiseConv2d_:s6});function i6(r){let e={x:C(r,\"x\",\"diag\")};return T.runKernel(Xl,e)}var FE=k({diag_:i6});function a6(r,t,e,n,o=[1,1],s=\"NHWC\"){let i=C(r,\"x\",\"dilation2d\"),a=C(t,\"filter\",\"dilation2d\");_(i.rank===3||i.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${i.rank}.`),_(a.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${a.rank}.`),_(s===\"NHWC\",()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${s}`);let u=i,l=!1;i.rank===3&&(u=R(i,[1,i.shape[0],i.shape[1],i.shape[2]]),l=!0),_(u.shape[3]===a.shape[2],()=>`Error in dilation2d: input and filter must have the same depth: ${u.shape[3]} vs ${a.shape[2]}`);let c={x:u,filter:a},p={strides:e,pad:n,dilations:o},m=T.runKernel(is,c,p);return l?R(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var Fx=k({dilation2d_:a6});var Ur={};Kt(Ur,{assertAndGetBroadcastShape:()=>Mt,getBroadcastDims:()=>OE,getReductionAxes:()=>be});function OE(r,t){let e=r.length,n=[];for(let o=0;o1&&i===1&&n.unshift(s)}return n}function be(r,t){let e=[];for(let n=0;n1)&&e.unshift(s)}return e}function Mt(r,t){let e=Math.max(r.length,t.length),n=new Array(e);for(let o=0;o`Error in dot: inputs must all be rank 1 or 2, but got ranks ${e.rank} and ${n.rank}.`);let o=e.rank===1?e.size:e.shape[1],s=n.rank===1?n.size:n.shape[0];if(_(o===s,()=>`Error in dot: inner dimensions of inputs must match, but got ${o} and ${s}.`),e.rank===1&&n.rank===1){let i=R(e,[1,-1]),a=R(n,[-1,1]),u=Bt(i,a);return R(u,[])}else if(e.rank===1&&n.rank===2){let i=R(e,[1,-1]),a=R(n,[n.shape[0],n.shape[1]]),u=Bt(i,a);return R(u,[u.size])}else if(e.rank===2&&n.rank===1){let i=R(n,[-1,1]),a=Bt(e,i);return R(a,[a.size])}else{let i=R(n,[n.shape[0],n.shape[1]]);return Bt(e,i)}}var Mx=k({dot_:m6});function f6(r,...t){let e=t.map((o,s)=>C(o,`tensors${s}`,\"einsum\")),n={equation:r};return T.runKernel(Fp,e,n)}var wu=k({einsum_:f6});function d6(r){let e={x:C(r,\"x\",\"elu\",\"float32\")};return T.runKernel(ls,e)}var aa=k({elu_:d6});function h6(r,t){let e=C(r,\"x\",\"ensureShape\",\"string_or_numeric\");if(!m0(e.shape,t))throw new Error(`EnsureShape: Shape of tensor ${e.shape} is not compatible with expected shape ${t}`);return r}var ME=k({ensureShape_:h6});function g6(r){let t=C(r,\"x\",\"erf\");_(t.dtype===\"int32\"||t.dtype===\"float32\",()=>\"Input dtype must be `int32` or `float32`.\"),t.dtype===\"int32\"&&(t=J(t,\"float32\"));let e={x:t};return T.runKernel(us,e)}var Px=k({erf_:g6});function Q0(r,t){for(let e=0;er[s]);return[e,o]}function vo(r,t){let e=t.map(n=>1);return PE(r,e,t)}function x6(r,t,e){_(Q0(t,e),()=>`${r} supports only inner-most axes for now. Got axes ${t} and rank-${e} input.`)}function eN(r,t){if(Q0(r,t))return null;let e=[];for(let n=0;ne.push(n)),e}function mh(r){return r.map((t,e)=>[e,t]).sort((t,e)=>t[1]-e[1]).map(t=>t[0])}function y6(r,t){let e=[];for(let n=t-r;n\"Axis must be <= rank of the tensor\");let n={input:e},o={dim:t};return T.runKernel(Oi,n,o)}var je=k({expandDims_:_6});function E6(r){let e={x:C(r,\"x\",\"expm1\")};return T.runKernel(ps,e)}var zx=k({expm1_:E6});function A6(r,t){let e=C(r,\"x\",\"tile\",\"string_or_numeric\");_(e.rank===t.length,()=>`Error in transpose: rank of input ${e.rank} must match length of reps ${t}.`);let n={x:e},o={reps:t};return T.runKernel(oo,n,o)}var Rr=k({tile_:A6});function D6(r,t,e,n=\"float32\"){t==null&&(t=r);let o=wt([r,t],n),s=r<=t?r:t;for(let a=0;a`Error in localResponseNormalization: x must be rank 3 or 4 but got\n rank ${s.rank}.`),_(_a(t),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${t}.`);let i=s,a=!1;s.rank===3&&(a=!0,i=R(s,[1,s.shape[0],s.shape[1],s.shape[2]]));let u={x:i},l={depthRadius:t,bias:e,alpha:n,beta:o},c=T.runKernel(Cs,u,l);return a?R(c,[c.shape[1],c.shape[2],c.shape[3]]):c}var Wx=k({localResponseNormalization_:W6});function U6(r){let e={x:C(r,\"x\",\"log\",\"float32\")};return T.runKernel(ws,e)}var Nr=k({log_:U6});function H6(r){let e={x:C(r,\"x\",\"log1p\")};return T.runKernel(Is,e)}var vu=k({log1p_:H6});function q6(r){return _(Ti(r),()=>\"The f passed in grad(f) must be a function\"),(t,e)=>{let n=C(t,\"x\",\"tf.grad\",\"string_or_numeric\"),o=e!=null?C(e,\"dy\",\"tf.grad\"):null;return T.tidy(()=>{let{value:s,grads:i}=T.gradients(()=>r(n),[n],o);return o!=null&&$e(s.shape,o.shape,\"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)\"),Hx(i),i[0]})}}function K6(r){return _(Ti(r),()=>\"The f passed in grads(f) must be a function\"),(t,e)=>{_(Array.isArray(t),()=>\"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s\");let n=fl(t,\"args\",\"tf.grads\",\"string_or_numeric\"),o=e!=null?C(e,\"dy\",\"tf.grads\"):null;return T.tidy(()=>{let{value:s,grads:i}=T.gradients(()=>r(...n),n,o);return o!=null&&$e(s.shape,o.shape,\"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),Hx(i),i})}}function j6(r){return _(Ti(r),()=>\"The f passed in valueAndGrad(f) must be a function\"),(t,e)=>{_(t instanceof Lt,()=>\"The x passed in valueAndGrad(f)(x) must be a tensor\"),_(e==null||e instanceof Lt,()=>\"The dy passed in valueAndGrad(f)(x, dy) must be a tensor\");let{grads:n,value:o}=T.gradients(()=>r(t),[t],e);return Hx(n),{grad:n[0],value:o}}}function X6(r){return _(Ti(r),()=>\"The f passed in valueAndGrads(f) must be a function\"),(t,e)=>{_(Array.isArray(t)&&t.every(o=>o instanceof Lt),()=>\"The args passed in valueAndGrads(f)(args) must be array of tensors\"),_(e==null||e instanceof Lt,()=>\"The dy passed in valueAndGrads(f)(args, dy) must be a tensor\");let n=T.gradients(()=>r(...t),t,e);return e!=null&&$e(n.value.shape,e.shape,\"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),Hx(n.grads),n}}function Ux(r,t){_(Ti(r),()=>\"The f passed in variableGrads(f) must be a function\"),_(t==null||Array.isArray(t)&&t.every(l=>l instanceof ml),()=>\"The varList passed in variableGrads(f, varList) must be an array of variables\");let e=t!=null;if(!e){t=[];for(let l in T.registeredVariables)t.push(T.registeredVariables[l])}let n=e?t.filter(l=>!l.trainable):null,o=t.length;t=t.filter(l=>l.trainable),_(t.length>0,()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${o} variables is trainable.`);let s=!0,{value:i,grads:a}=T.gradients(r,t,null,s);_(a.some(l=>l!=null),()=>\"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().\"),_(i.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`);let u={};return t.forEach((l,c)=>{a[c]!=null&&(u[l.name]=a[c])}),n!=null&&n.forEach(l=>u[l.name]=null),{value:i,grads:u}}function pn(r){return T.customGrad(r)}function Hx(r){if(r.filter(e=>e==null).length>0)throw new Error(`Cannot compute gradient of y=f(x) with respect to x. Make sure that\n the f you passed encloses all operations that lead from x to y.`)}function Y6(r){let e={x:C(r,\"x\",\"neg\")};return T.runKernel(Li,e)}var Ut=k({neg_:Y6});function Z6(r){let e={x:C(r,\"x\",\"softplus\")};return T.runKernel(Ys,e)}var li=k({softplus_:Z6});function J6(r){let t=C(r,\"x\",\"logSigmoid\");return pn(n=>({value:Ut(li(Ut(n))),gradFunc:i=>$(i,Qr(Ut(n)))}))(t)}var qx=k({logSigmoid_:J6});function Q6(r,t){let e=C(r,\"a\",\"sub\"),n=C(t,\"b\",\"sub\");[e,n]=Xt(e,n);let o={a:e,b:n};return T.runKernel(ei,o)}var at=k({sub_:Q6});function tX(r,t=-1){let e=C(r,\"logits\",\"logSoftmax\");if(t===-1&&(t=e.rank-1),t!==e.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${e.rank} and axis was ${t}`);return pn((o,s)=>{let a=Sr(o,t,!0),u=at(o,a),l=at(J(u,\"float32\"),Nr(mt(Ke(u),t,!0)));return s([l]),{value:l,gradFunc:(p,m)=>{let[f]=m,d=!0,h=Ke(f);return at(p,$(mt(p,t,d),h))}}})(e)}var am=k({logSoftmax_:tX});function eX(r,t=null,e=!1){let n=C(r,\"x\",\"logSumExp\"),o=fr(t,n.shape),s=Sr(n,o,!0),i=at(n,s),a=Ke(i),u=mt(a,o),l=Nr(u),c=X(R(s,l.shape),l);if(e){let p=vo(c.shape,o);return R(c,p)}return c}var Su=k({logSumExp_:eX});function rX(r,t){let e=C(r,\"a\",\"logicalAnd\",\"bool\"),n=C(t,\"b\",\"logicalAnd\",\"bool\");Mt(e.shape,n.shape);let o={a:e,b:n};return T.runKernel(qa,o)}var Fr=k({logicalAnd_:rX});function nX(r){let e={x:C(r,\"x\",\"logicalNot\",\"bool\")};return T.runKernel(Ka,e)}var Nu=k({logicalNot_:nX});function oX(r,t){let e=C(r,\"a\",\"logicalOr\",\"bool\"),n=C(t,\"b\",\"logicalOr\",\"bool\");Mt(e.shape,n.shape);let o={a:e,b:n};return T.runKernel(ja,o)}var lm=k({logicalOr_:oX});function sX(r,t){let e=C(r,\"a\",\"logicalXor\",\"bool\"),n=C(t,\"b\",\"logicalXor\",\"bool\");return Mt(e.shape,n.shape),Fr(lm(r,t),Nu(Fr(r,t)))}var Kx=k({logicalXor_:sX});var jx=2147483648;function iX(r,t,e=\"left\"){let n=C(r,\"sortedSequence\",\"searchSorted\"),o=C(t,\"values\",\"searchSorted\"),s=n.shape[n.shape.length-1],i=o.shape[o.shape.length-1],a=R(n,[-1,s]),u=R(o,[-1,i]);if(a.rank<2)throw new Error(\"Sorted input argument must be at least 2-dimensional\");if(a.shape[0]!==u.shape[0])throw new Error(\"Leading dimension of 'sortedSequence' and 'values' must match.\");if(jt(u.shape)>=jx)throw new Error(`values tensor size must less than ${jx}`);if(a.shape[1]>=jx)throw new Error(`trailing dim_size must less than ${jx} for int32 output type, was ${a.shape[1]}`);let l={sortedSequence:a,values:u},c={side:e};return T.runKernel(sl,l,c)}var fh=k({searchSorted_:iX});function BE(r,t){return fh(r,t,\"left\")}function aX(r,t,e,n,o){let s=C(r,\"x\",\"maxPool\"),i=1,a=s,u=!1;s.rank===3&&(u=!0,a=R(s,[1,s.shape[0],s.shape[1],s.shape[2]])),_(a.rank===4,()=>`Error in maxPool: input must be rank 4 but got rank ${a.rank}.`),_(Dr(e,i),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${e} and dilations '${i}'`),ve(\"maxPool\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o},p=T.runKernel(Ns,l,c);return u?R(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var ku=k({maxPool_:aX});function lX(r,t=[1,1,1],e,n,o,s=\"NDHWC\"){let i=C(r,\"x\",\"maxPool3d\"),a=i,u=!1;i.rank===4&&(u=!0,a=R(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),_(a.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${a.rank}.`),_(s===\"NDHWC\",()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),ve(\"maxPool3d\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o,dataFormat:s},p=T.runKernel(Pi,l,c);return u?R(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}var Xx=k({maxPool3d_:lX});function uX(r,t,e,n,o=!1){let i={x:C(r,\"x\",\"maxPoolWithArgmax\")},a={filterSize:t,strides:e,pad:n,includeBatchInIndex:o},u=T.runKernel(eu,i,a);return{result:u[0],indexes:u[1]}}var VE=k({maxPoolWithArgmax_:uX});function cX(r,t){let e=C(r,\"a\",\"maximum\"),n=C(t,\"b\",\"maximum\");[e,n]=Xt(e,n),e.dtype===\"bool\"&&(e=J(e,\"int32\"),n=J(n,\"int32\")),Mt(e.shape,n.shape);let o={a:e,b:n};return T.runKernel(Ss,o)}var kn=k({maximum_:cX});function pX(r,t=null,e=!1){let o={x:C(r,\"x\",\"mean\")},s={axis:t,keepDims:e};return T.runKernel(ks,o,s)}var Ne=k({mean_:pX});function ke(r,t=\"float32\"){if(Le(r),t===\"complex64\"){let n=ke(r,\"float32\"),o=ke(r,\"float32\");return Sn(n,o)}let e=Ep(jt(r),t);return T.makeTensor(e,r,t)}function ar(r,t=\"float32\"){if(Le(r),t===\"complex64\"){let n=ar(r,\"float32\"),o=ke(r,\"float32\");return Sn(n,o)}let e=Xd(jt(r),t);return T.makeTensor(e,r,t)}function GE(r,t,{indexing:e=\"xy\"}={}){if(e!==\"xy\"&&e!==\"ij\")throw new TypeError(`${e} is not a valid third argument to meshgrid`);if(r===void 0)return[];let n=C(r,\"x\",\"meshgrid\",r instanceof Lt?r.dtype:\"float32\");if(t===void 0)return[n];let o=C(t,\"y\",\"meshgrid\",t instanceof Lt?t.dtype:\"float32\"),s=jt(n.shape),i=jt(o.shape);return e===\"xy\"?(n=R(n,[1,-1]),o=R(o,[-1,1]),[Bt(ar([i,1],n.dtype),n),Bt(o,ar([1,s],o.dtype))]):(n=R(n,[-1,1]),o=R(o,[1,-1]),[Bt(n,ar([1,i],n.dtype)),Bt(ar([s,1],o.dtype),o)])}function mX(r,t){let e=C(r,\"a\",\"minimum\"),n=C(t,\"b\",\"minimum\");[e,n]=Xt(e,n),e.dtype===\"bool\"&&(e=J(e,\"int32\"),n=J(n,\"int32\")),Mt(e.shape,n.shape);let o={a:e,b:n};return T.runKernel(_s,o)}var lo=k({minimum_:mX});function fX(r,t,e){_(e===\"reflect\"||e===\"symmetric\",()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${e}.`);let n=C(r,\"x\",\"mirrorPad\");if(n.rank===0)throw new Error(\"mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad\");_(t.length===n.rank,()=>`Padding doesn't match input. Must be ${n.rank}. Got ${t.length}.`);let o=e===\"reflect\"?1:0;for(let a=0;a\"Invalid number of paddings. Must be length of 2 each.\"),_(t[a][0]>=0&&t[a][0]<=n.shape[a]-o&&t[a][1]>=0&&t[a][1]<=n.shape[a]-o,()=>`Padding in dimension ${a} cannot be greater than or equal to ${n.shape[a]-o} or less than 0 for input of shape ${n.shape}`);let s={paddings:t,mode:e},i={x:n};return T.runKernel(Es,i,s)}var Yx=k({mirrorPad_:fX});function dX(r,t){let e=C(r,\"a\",\"mod\"),n=C(t,\"b\",\"mod\");[e,n]=Xt(e,n);let o={a:e,b:n};return T.runKernel(As,o)}var Zx=k({mod_:dX});function hX(r,t=null,e=!1){r=C(r,\"x\",\"moments\");let n=fr(t,r.shape),o=Ne(r,n,e),s=o.shape;e||(s=vo(o.shape,n));let i=Wt(at(J(r,\"float32\"),R(o,s))),a=Ne(i,n,e);return{mean:o,variance:a}}var dc=k({moments_:hX});function gX(r,t,e,n){let o=C(t,\"data\",\"multiRNNCell\"),s=fl(e,\"c\",\"multiRNNCell\"),i=fl(n,\"h\",\"multiRNNCell\"),a=o,u=[];for(let p=0;p2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${i}`);e=e||Math.random();let u={logits:i===1?R(o,[1,-1]):o},l={numSamples:t,seed:e,normalized:n},c=T.runKernel(Ya,u,l);return i===1?R(c,[c.size]):c}var UE=k({multinomial_:xX});function yX(r,t){let e=C(r,\"a\",\"notEqual\",\"string_or_numeric\"),n=C(t,\"b\",\"notEqual\",\"string_or_numeric\");[e,n]=Xt(e,n),Mt(e.shape,n.shape);let o={a:e,b:n};return T.runKernel(Za,o)}var ui=k({notEqual_:yX});function bX(r,t,e=1,n=0,o=\"int32\"){if(t<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${t}`);let i={indices:C(r,\"indices\",\"oneHot\",\"int32\")},a={dtype:o,depth:t,onValue:e,offValue:n};return T.runKernel($s,i,a)}var ca=k({oneHot_:bX});function wX(r){let e={x:C(r,\"x\",\"onesLike\")};return T.runKernel(zi,e)}var wr=k({onesLike_:wX});function IX(r,t){let e=C(r,\"v1\",\"outerProduct\"),n=C(t,\"v2\",\"outerProduct\");_(e.rank===1&&n.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${e.rank} and ${n.rank}.`);let o=R(e,[-1,1]),s=R(n,[1,-1]);return Bt(o,s)}var HE=k({outerProduct_:IX});function CX(r,t,e=0){let n=C(r,\"x\",\"pad\");if(n.rank===0)throw new Error(\"pad(scalar) is not defined. Pass non-scalar to pad\");let o={paddings:t,constantValue:e},s={x:n};return T.runKernel(Rs,s,o)}var mn=k({pad_:CX});function vX(r,t,e=0){return _(t.length===2,()=>\"Invalid number of paddings. Must be length of 2.\"),mn(r,[t],e)}var qE=k({pad1d_:vX});function SX(r,t,e=0){return _(t.length===2&&t[0].length===2&&t[1].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),mn(r,t,e)}var KE=k({pad2d_:SX});function NX(r,t,e=0){return _(t.length===3&&t[0].length===2&&t[1].length===2&&t[2].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),mn(r,t,e)}var jE=k({pad3d_:NX});function kX(r,t,e=0){return _(t.length===4&&t[0].length===2&&t[1].length===2&&t[2].length===2&&t[3].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),mn(r,t,e)}var XE=k({pad4d_:kX});function TX(r,t,e){let n=C(r,\"x\",\"spaceToBatchND\");_(n.rank>=1+t.length,()=>`input rank ${n.rank} should be > than [blockShape] ${t.length}`),_(e.length===t.length,()=>`paddings.shape[0] ${e.length} must be equal to [blockShape] ${t.length}`),_(n.shape.reduce((i,a,u)=>u>0&&u<=t.length?i&&(a+e[u-1][0]+e[u-1][1])%t[u-1]===0:i,!0),()=>`input spatial dimensions ${n.shape.slice(1)} with paddings ${e.toString()} must be divisible by blockShapes ${t.toString()}`);let o={x:n},s={blockShape:t,paddings:e};return T.runKernel(Ui,o,s)}var Tu=k({spaceToBatchND_:TX});function _X(r,t,e,n,o,s,i){o==null&&(o=[1,1]),s==null&&(s=1),n===0&&(n=\"valid\");let a=C(r,\"x\",\"maxPool\"),u=a,l=!1;a.rank===3&&(l=!0,u=R(a,[1,a.shape[0],a.shape[1],a.shape[2]])),_(Dr(s,o),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${s} and dilations '${o}'`);let c=Z0(u.shape,t,s,o,n),p=[c.dilationHeight,c.dilationWidth],m;n===\"same\"?m=AX([c.filterHeight,c.filterWidth],p):m=[[0,0],[0,0]];let f=p[0]===1&&p[1]===1,[d,h]=EX([c.inHeight,c.inWidth],p,m),g=f?n:\"valid\",x=f?u:Tu(u,p,d),w=(e===\"avg\"?()=>xu(x,t,s,g,i):()=>ku(x,t,s,g,i))(),I=f?w:yu(w,p,h);return l?R(I,[I.shape[1],I.shape[2],I.shape[3]]):I}function EX(r,t,e){let n=e.map(c=>c[0]),o=e.map(c=>c[1]),s=r.concat(n,o),i=t.map((c,p)=>(c-s[p]%c)%c),a=o.map((c,p)=>c+i[p]),u=t.map((c,p)=>[n[p],a[p]]),l=t.map((c,p)=>[0,i[p]]);return[u,l]}function AX(r,t){let n=r.map((i,a)=>i+(i-1)*(t[a]-1)).map(i=>i-1),o=n.map(i=>Math.floor(i/2)),s=n.map((i,a)=>i-o[a]);return n.map((i,a)=>[o[a],s[a]])}var Jx=k({pool_:_X});function DX(r,t){let e=C(r,\"x\",\"prelu\"),n=C(t,\"alpha\",\"prelu\"),o={x:e,alpha:n};return T.runKernel(Os,o)}var _u=k({prelu_:DX});function $X(r,t=null,e=!1){let n=C(r,\"x\",\"prod\");n.dtype===\"bool\"&&(n=J(n,\"int32\"));let o={x:n},s={axis:t,keepDims:e};return T.runKernel(Ms,o,s)}var Qx=k({prod_:$X});function RX(r,t,e,n){let o=r.map((c,p)=>C(c,`tensors${p}`,\"raggedGather\",\"int32\")),s=C(t,\"paramsDenseValues\",\"raggedGather\"),i=C(e,\"indices\",\"raggedGather\",\"int32\"),a={paramsNestedSplits:o,paramsDenseValues:s,indices:i},u={outputRaggedRank:n},l=T.runKernel(Lp,a,u);return{outputNestedSplits:l.slice(0,l.length-1),outputDenseValues:l[l.length-1]}}var YE=k({raggedGather_:RX});function FX(r,t,e){let n=C(r,\"starts\",\"raggedRange\"),o=C(t,\"limits\",\"raggedRange\",n.dtype),s=C(e,\"deltas\",\"raggedRange\",n.dtype),i={starts:n,limits:o,deltas:s},a=T.runKernel(zp,i);return{rtNestedSplits:a[0],rtDenseValues:a[1]}}var ZE=k({raggedRange_:FX});function OX(r,t,e,n,o){let s=C(r,\"shape\",\"raggedTensorToTensor\",\"int32\"),i=C(t,\"values\",\"raggedTensorToTensor\"),a=C(e,\"defaultValue\",\"raggedTensorToTensor\",i.dtype),u=n.map((p,m)=>C(p,`tensors${m}`,\"raggedTensorToTensor\",\"int32\")),l={shape:s,values:i,defaultValue:a,rowPartitionTensors:u},c={rowPartitionTypes:o};return T.runKernel(Bp,l,c)}var JE=k({raggedTensorToTensor_:OX});function MX(r,t,e){Le(r);let n=jt(r),o=null;if(e==null||e===\"float32\")o=new Float32Array(n);else if(e===\"int32\")o=new Int32Array(n);else if(e===\"bool\")o=new Uint8Array(n);else throw new Error(`Unknown data type ${e}`);for(let s=0;sgA,createVideoElement:()=>XX,encodeStrings:()=>yA,expectArrayBuffersEqual:()=>jX,expectArraysClose:()=>UX,expectArraysEqual:()=>qX,expectNumbersClose:()=>xA,expectPromiseToFail:()=>HX,expectValuesInRange:()=>KX,play:()=>YX,testEpsilon:()=>ey});var WX=.001,gA=.1;function UX(r,t,e){return e==null&&(e=ey()),uN(r,t,(n,o)=>cN(n,o,e))}function ey(){return T.backend.floatPrecision()===32?WX:gA}function uN(r,t,e){let n=!0;if((sr(r)||sr(t))&&(n=!1),sr(r)&&sr(t)&&(n=!0),n){let i=r.constructor.name,a=t.constructor.name;if(i!==a)throw new Error(`Arrays are of different type. Actual: ${i}. Expected: ${a}`)}if(Array.isArray(r)&&Array.isArray(t)){let i=Gr(r),a=Gr(t);if(!on(i,a))throw new Error(`Arrays have different shapes. Actual: [${i}]. Expected: [${a}]`)}let o=sr(r)?r:si(r),s=sr(t)?t:si(t);if(o.length!==s.length)throw new Error(`Arrays have different lengths actual: ${o.length} vs expected: ${s.length}.\nActual: ${o}.\nExpected: ${s}.`);for(let i=0;it.fail(),()=>t()),typeof expect!=\"undefined\"&&expect().nothing()}function qX(r,t){let e=typeof t==\"string\"||typeof t==\"number\"||typeof t==\"boolean\"?[t]:t;return Vo(r)||Vo(r[0])||Vo(t)||Vo(t[0])?uN(r,e,(n,o)=>n==o):uN(r,t,(n,o)=>cN(n,o,0))}function xA(r,t,e){if(e==null&&(e=ey()),!cN(r,t,e))throw new Error(`Numbers differ: actual === ${r}, expected === ${t}`);typeof expect!=\"undefined\"&&expect().nothing()}function cN(r,t,e){return!isFinite(r)&&!isFinite(t)?!0:!(isNaN(r)||isNaN(t)||Math.abs(r-t)>e)}function KX(r,t,e){for(let n=0;ne)throw new Error(`Value out of range:${r[n]} low: ${t}, high: ${e}`)}function jX(r,t){let e=new Float32Array(r),n=new Float32Array(t);if(e.length!==n.length)throw new Error(`Expected ArrayBuffer to be of length ${n.length}, but it was ${e.length}`);for(let o=0;o{t.addEventListener(\"loadeddata\",n=>e(t)),t.load()})}async function YX(r){await r.play(),\"requestVideoFrameCallback\"in r&&await new Promise(t=>{r.requestVideoFrameCallback(t)})}var gc=class{constructor(t,e,n,o,s){this.mean=t,this.stdDev=e,this.dtype=n,this.nextVal=NaN,this.truncated=o,this.truncated&&(this.upper=this.mean+this.stdDev*2,this.lower=this.mean-this.stdDev*2);let i=s||Math.random();this.random=oy.alea(i.toString())}nextValue(){if(!isNaN(this.nextVal)){let o=this.nextVal;return this.nextVal=NaN,o}let t,e,n=!1;for(;!n;){let o,s,i;do o=2*this.random()-1,s=2*this.random()-1,i=o*o+s*s;while(i>=1||i===0);let a=Math.sqrt(-2*Math.log(i)/i);t=this.mean+this.stdDev*o*a,e=this.mean+this.stdDev*s*a,(!this.truncated||this.isValidTruncated(t))&&(n=!0)}return(!this.truncated||this.isValidTruncated(e))&&(this.nextVal=this.convertValue(e)),this.convertValue(t)}convertValue(t){return this.dtype==null||this.dtype===\"float32\"?t:Math.round(t)}isValidTruncated(t){return t<=this.upper&&t>=this.lower}},ry=class{constructor(t,e,n,o){this.alpha=t,this.beta=1/e,this.dtype=n;let s=o||Math.random();this.randu=oy.alea(s.toString()),this.randn=new gc(0,1,n,!1,this.randu()),t<1?this.d=t+2/3:this.d=t-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let t,e,n,o,s,i;for(;;){do o=this.randn.nextValue(),i=1+this.c*o;while(i<=0);if(i*=i*i,t=o*o,e=1-.331*t*t,n=.5*t+this.d*(1-i+Math.log(i)),s=this.randu(),sthis.dtype==null||this.dtype===\"float32\",this.min=t,this.range=e-t,this.dtype=n,o==null&&(o=Math.random()),typeof o==\"number\"&&(o=o.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${t} - ${e} <= 1 and dtype is not float`);this.random=oy.alea(o)}convertValue(t){return this.canReturnFloat()?t:Math.round(t)}nextValue(){return this.convertValue(this.min+this.range*this.random())}};function ZX(r,t,e=1,n=\"float32\",o){if(Le(r),e==null&&(e=1),n==null&&(n=\"float32\"),n!==\"float32\"&&n!==\"int32\")throw new Error(`Unsupported data type ${n}`);let s=new ry(t,e,n,o),i=wt(r,n);for(let a=0;a`Error in reverse1D: x must be rank 1 but got rank ${t.rank}.`),dr(t,0)}var vA=k({reverse1d_:a5});function l5(r,t){let e=C(r,\"x\",\"reverse\");return _(e.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${e.rank}.`),dr(e,t)}var SA=k({reverse2d_:l5});function u5(r,t){let e=C(r,\"x\",\"reverse\");return _(e.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${e.rank}.`),dr(e,t)}var NA=k({reverse3d_:u5});function c5(r,t){let e=C(r,\"x\",\"reverse\");return _(e.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${e.rank}.`),dr(e,t)}var kA=k({reverse4d_:c5});function p5(r){let e={x:C(r,\"x\",\"round\")};return T.runKernel(Ws,e)}var cm=k({round_:p5});function m5(r){let e={x:C(r,\"x\",\"rsqrt\",\"float32\")};return T.runKernel(Us,e)}var pm=k({rsqrt_:m5});function f5(r){let e={x:C(r,\"x\",\"selu\")};return T.runKernel(Hs,e)}var mm=k({selu_:f5});function d5(r,t,e,n,o,s=[1,1],i=\"NHWC\"){let a=C(r,\"x\",\"separableConv2d\"),u=C(t,\"depthwiseFilter\",\"separableConv2d\"),l=C(e,\"pointwiseFilter\",\"separableConv2d\"),c=a,p=!1;if(a.rank===3&&(p=!0,c=R(a,[1,a.shape[0],a.shape[1],a.shape[2]])),i===\"NCHW\")throw new Error(\"separableConv2d currently does not support dataFormat NCHW; only NHWC is supported\");_(c.rank===4,()=>`Error in separableConv2d: input must be rank 4, but got rank ${c.rank}.`),_(u.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${u.rank}.`),_(l.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${u.rank}.`),_(l.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${l.shape[0]}.`),_(l.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${l.shape[1]}.`);let m=u.shape[2],f=u.shape[3];_(l.shape[2]===m*f,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${m*f}, but got ${l.shape[2]}.`);let d=ia(c,u,n,o,i,s),g=Nn(d,l,1,\"valid\",i);return p?R(g,[g.shape[1],g.shape[2],g.shape[3]]):g}var fm=k({separableConv2d_:d5});async function h5(r,t){let e=C(r,\"x\",\"setdiff1d\"),n=C(t,\"y\",\"setdiff1d\");_(e.dtype===n.dtype,()=>`x and y should have the same dtype, but got x (${e.dtype}) and y (${n.dtype}).`),_(e.rank===1,()=>`x should be 1D tensor, but got x (${e.shape}).`),_(n.rank===1,()=>`y should be 1D tensor, but got y (${n.shape}).`);let o=await e.data(),s=await n.data(),i=new Set(s),a=0;for(let c=0;c`slice1d expects a rank-1 tensor, but got a rank-${n.rank} tensor`),Ot(n,[t],[e])}var gm=k({slice1d_:b5});function w5(r,t,e){let n=C(r,\"x\",\"slice2d\");return _(n.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${n.rank} tensor`),Ot(n,t,e)}var hh=k({slice2d_:w5});function I5(r,t,e){let n=C(r,\"x\",\"slice3d\");return _(n.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${n.rank} tensor`),Ot(n,t,e)}var xm=k({slice3d_:I5});function C5(r,t,e){let n=C(r,\"x\",\"slice4d\");return _(n.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${n.rank} tensor`),Ot(n,t,e)}var yc=k({slice4d_:C5});function v5(r,t=-1){let e=C(r,\"logits\",\"softmax\",\"float32\");if(t===-1&&(t=e.rank-1),t!==e.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${e.rank} and dim was ${t}`);let n={logits:e},o={dim:t};return T.runKernel(Qs,n,o)}var Eu=k({softmax_:v5});function S5(r){_(r.dtype===\"complex64\",()=>`The dtype for tf.spectral.fft() must be complex64 but got ${r.dtype}.`);let t={input:r};return T.runKernel(Op,t)}var Au=k({fft_:S5});function N5(r){_(r.dtype===\"complex64\",()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${r.dtype}.`);let t={input:r};return T.runKernel(Mp,t)}var wl=k({ifft_:N5});function k5(r){let t=r.shape[r.shape.length-1],e=r.size/t,n;if(t<=2){let o=R(r,[e,t]);n=wl(o)}else{let o=[e,2*(t-1)],s=R(bl(r),[e,t]),i=R(Iu(r),[e,t]),a=dr(Ot(s,[0,1],[e,t-2]),1),u=$(dr(Ot(i,[0,1],[e,t-2]),1),pt(-1)),l=ie([s,a],1),c=ie([i,u],1),p=R(Sn(l,c),[o[0],o[1]]);n=wl(p)}if(n=bl(n),r.rank===3&&r.shape[0]!==0){let o=n,s=r.shape[0];n=R(n,[s,n.shape[0]/s,n.shape[1]]),o.dispose()}return n}var ym=k({irfft_:k5});function T5(r,t,e=0){let o={x:C(r,\"x\",\"split\")},s={numOrSizeSplits:t,axis:e};return T.runKernel(Hi,o,s)}var hr=k({split_:T5});function _5(r,t){_(r.dtype===\"float32\",()=>`The dtype for rfft() must be real value but got ${r.dtype}`);let e=r.shape[r.shape.length-1],n=r.size/e,o;if(t!=null&&t0),h=r.shape.map(g=>g);h[r.shape.length-1]=t,o=Ot(r,d,h),e=t}else if(t!=null&&t>e){let d=r.shape.map(h=>h);d[r.shape.length-1]=t-e,o=ie([r,ke(d)],r.shape.length-1),e=t}else o=r;let s=vt(o),i=R(Sn(o,s),[n,e]),a=Au(i),u=Math.floor(e/2)+1,l=bl(a),c=Iu(a),p=hr(l,[u,e-u],l.shape.length-1),m=hr(c,[u,e-u],c.shape.length-1),f=o.shape.slice();return f[o.shape.length-1]=u,R(Sn(p[0],m[0]),f)}var Du=k({rfft_:_5});function E5(r,t){let e=C(r,\"a\",\"squaredDifference\"),n=C(t,\"b\",\"squaredDifference\");[e,n]=Xt(e,n),Mt(e.shape,n.shape);let o={a:e,b:n},s={};return T.runKernel(ti,o,s)}var bm=k({squaredDifference_:E5});function A5(r,t){let e=C(r,\"x\",\"squeeze\",\"string_or_numeric\");return R(e,f0(e.shape,t).newShape)}var Wn=k({squeeze_:A5});function D5(r,t=0){let e=fl(r,\"tensors\",\"stack\",\"string_or_numeric\");_(e.length>=1,()=>\"Pass at least one tensor to tf.stack\"),e.length>0&&_(t<=e[0].rank,()=>\"Axis must be <= rank of the tensor\");let n=e,o={axis:t};return T.runKernel(Bi,n,o)}var Fe=k({stack_:D5});function $5(r,t=0){let n={x:C(r,\"x\",\"step\")},o={alpha:t};return T.runKernel(xo,n,o)}var So=k({step_:$5});function R5(r,t,e,n,o=0,s=0,i=0,a=0,u=0){let c={x:C(r,\"x\",\"stridedSlice\",\"string_or_numeric\")},p={begin:t,end:e,strides:n,beginMask:o,endMask:s,ellipsisMask:i,newAxisMask:a,shrinkAxisMask:u};return T.runKernel(ll,c,p)}var ay=k({stridedSlice_:R5});function F5(r){let e={x:C(r,\"x\",\"tan\",\"float32\")};return T.runKernel(ri,e)}var ly=k({tan_:F5});function Oe(r,t){ro(r);let e=Gr(r,t);if(e.length!==1)throw new Error(\"tensor1d() requires values to be a flat/TypedArray\");return an(r,null,e,t)}function ci(r,t,e){if(ro(r),t!=null&&t.length!==2)throw new Error(\"tensor2d() requires shape to have two numbers\");let n=Gr(r,e);if(n.length!==2&&n.length!==1)throw new Error(\"tensor2d() requires values to be number[][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor2d() requires shape to be provided when `values` are a flat/TypedArray\");return an(r,t,n,e)}function uy(r,t,e){if(ro(r),t!=null&&t.length!==3)throw new Error(\"tensor3d() requires shape to have three numbers\");let n=Gr(r,e);if(n.length!==3&&n.length!==1)throw new Error(\"tensor3d() requires values to be number[][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor3d() requires shape to be provided when `values` are a flat array\");return an(r,t,n,e)}function _A(r,t,e){if(ro(r),t!=null&&t.length!==4)throw new Error(\"tensor4d() requires shape to have four numbers\");let n=Gr(r,e);if(n.length!==4&&n.length!==1)throw new Error(\"tensor4d() requires values to be number[][][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor4d() requires shape to be provided when `values` are a flat array\");return an(r,t,n,e)}function EA(r,t,e){if(ro(r),t!=null&&t.length!==5)throw new Error(\"tensor5d() requires shape to have five numbers\");let n=Gr(r,e);if(n.length!==5&&n.length!==1)throw new Error(\"tensor5d() requires values to be number[][][][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor5d() requires shape to be provided when `values` are a flat array\");return an(r,t,n,e)}function AA(r,t,e){if(ro(r),t!=null&&t.length!==6)throw new Error(\"tensor6d() requires shape to have six numbers\");let n=Gr(r,e);if(n.length!==6&&n.length!==1)throw new Error(\"tensor6d() requires values to be number[][][][][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor6d() requires shape to be provided when `values` are a flat array\");return t=t||n,an(r,t,n,e)}var $u={};Kt($u,{calculateShapes:()=>DA,validateInput:()=>wm,validateUpdateShape:()=>pN});function pN(r,t,e){let n=t.rank>1?t.shape[t.rank-1]:1,o=t.rank>1?t.rank-1:1,s=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${e.shape}, indices.shape: ${t.shape}, shape: ${r}, sliceDim: ${n}, and batchDim: ${o}.`;if(e.rank1?t.shape[n-1]:1,s=e.length,i=1;for(let p=o;p= 0 but got ${t}`);if(t>o)throw new Error(`'k' passed to topk() must be <= the last dimension (${o}) but got ${t}`);let s={x:n},i={k:t,sorted:e},[a,u]=T.runKernel(ul,s,i);return{values:a,indices:u}}var cy=k({topk_:M5});function P5(r,t=0,e=1,n,o){if(Le(r),n!=null&&n===\"bool\")throw new Error(\"Unsupported data type $ { dtype }\");let s=new gc(t,e,n,!0,o),i=wt(r,n);for(let a=0;a0,()=>\"The input tensor must be at least 1D\");let n={x:e},o={axis:t},[s,i]=T.runKernel(cu,n,o);return{values:s,indices:i}}var py=k({unique_:L5});function z5(r,t,e){let n=C(r,\"x\",\"unsortedSegmentSum\"),o=C(t,\"segmentIds\",\"unsortedSegmentSum\",\"int32\");_(_a(e),()=>\"numSegments must be of dtype int\");let s={x:n,segmentIds:o},i={numSegments:e};return T.runKernel(pu,s,i)}var Cm=k({unsortedSegmentSum_:z5});function B5(r,t=0){let e=C(r,\"x\",\"unstack\",\"string_or_numeric\");_(t>=-e.shape.length&&t`Axis = ${t} is not in [-${e.shape.length}, ${e.shape.length})`);let n={value:e},o={axis:t};return T.runKernel(qi,n,o)}var gr=k({unstack_:B5});function RA(r,t){return fh(r,t,\"right\")}function my(r,t=!0,e,n){return T.makeVariable(r,t,e,n)}function fy(r,t){let e=[];for(let s=0;s0,()=>\"mask cannot be scalar\"),$e(a.slice(s,s+i),o.shape,\"mask's shape must match the first K dimensions of tensor's shape,\");let u=1;for(let h=s;ha).reverse()),_(n.rank===t.length,()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${t}.`),t.forEach(i=>{_(i>=0&&i`All entries in 'perm' must be between 0 and ${n.rank-1} but got ${t}`)}),n.rank<=1)return n.clone();let o={x:n},s={perm:t};return n.dtype===\"complex64\"?B(()=>{let i=bl(n),a=Iu(n);return i=T.runKernel(so,{x:i},s),a=T.runKernel(so,{x:a},s),e&&(a=Ut(a)),Sn(i,a)}):T.runKernel(so,o,s)}var Vt=k({transpose_:U5});function H5(r,t,e,n,o=!0){let s=C(r,\"v\",\"movingAverage\"),i=C(t,\"x\",\"movingAverage\"),a=C(e,\"decay\",\"movingAverage\");F0(s,i),_(on(s.shape,i.shape),()=>\"Shape mismatch in v and x\");let u=pt(1),l=at(u,a),c=$(at(i,s),l);if(o){_(n!=null,()=>\"When using zeroDebias: true, step is required.\");let p=C(n,\"step\",\"movingAverage\");c=ct(c,at(u,un(a,p)))}return X(s,c)}var q5=k({movingAverage_:H5});function K5(r,t,e){Le(e);let n=C(r,\"indices\",\"scatterND\",\"int32\"),o=C(t,\"updates\",\"scatterND\");wm(o,n,e);let s={indices:n,updates:o},i={shape:e};return T.runKernel(nl,s,i)}var j5=k({scatterND_:K5});function FA(r,t,e,n){if(r.dtype!==\"int32\")throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${r.dtype}.`);if(r.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${r.shape}.`);let o=r.rank>0?r.shape[0]:1,s=r.rank>1?r.shape[1]:1;if(e.length!==s)throw new Error(`outputShape has incorrect number of elements:, ${e.length}, should be: ${s}.`);let i=t.size;if(!(t.rank===0||t.rank===1&&i===o))throw new Error(`sparseValues has incorrect shape ${t.shape}, should be [] or [${o}]`);if(t.dtype!==n.dtype)throw new Error(\"sparseValues.dtype must match defaultValues.dtype\")}function Y5(r,t,e,n=0){Le(e);let o=C(r,\"sparseIndices\",\"sparseToDense\",\"int32\"),s=C(t,\"sparseValues\",\"sparseToDense\",\"string_or_numeric\"),i=C(n,\"defaultValue\",\"sparseToDense\",s.dtype);FA(o,s,e,i);let a={sparseIndices:o,sparseValues:s,defaultValue:i},u={outputShape:e};return T.runKernel(al,a,u)}var Z5=k({sparseToDense_:Y5});function J5(r,t){let e=C(t,\"indices\",\"gatherND\",\"int32\"),o={params:C(r,\"x\",\"gatherND\",\"string_or_numeric\"),indices:e};return T.runKernel(Va,o)}var Q5=k({gatherND_:J5});function OA(r,t){if(t==null)return r.shape.slice();if(on(r.shape,t))return t;if(r.shape.length===t.length){let e=[];for(let n=0;n`x has to be a floating point tensor since it's going to be scaled, but got a ${o.dtype} tensor instead.`),_(t>=0&&t<1,()=>`rate must be a float in the range [0, 1), but got ${t}.`),t===0)return r instanceof Lt?o.clone():o;let s=OA(o,e),i=1-t,a=ct(la(X(Gn(s,0,1,\"float32\",n),i)),i);return $(o,a)}var mN=k({dropout_:t8});function fN(r){return Math.floor(Math.pow(2,Math.ceil(Math.log(r)/Math.log(2))))}function gh(r,t,e){let n=1-r%2,o=new Float32Array(r);for(let s=0;s1,()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${n.rank}`),_(n.rank-1===o.rank,()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${n.rank} and targets rank ${o.rank}`),$e(n.shape.slice(0,n.shape.length-1),o.shape,\"predictions's shape should be align with the targets' shape, except the last dimension.\");let s=n.shape[n.shape.length-1];_(e>0&&e<=s,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${s}), but got ${e}`);let i=await n.data(),a=await o.data(),[u,l]=[i.length/s,s],c=d0(\"bool\",u);for(let p=0;pg.value-h.value),c[p]=0;for(let h=0;hMA,depthwiseConv2d:()=>PA,matMul:()=>LA});function n8(r,t,e,n,o,s=\"NHWC\",i){let a=r;r.rank===3&&(a=R(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let u=t;u.rank===3&&(u=R(t,[1,t.shape[0],t.shape[1],t.shape[2]])),_(a.rank===4,()=>`Error in conv2dDerFilter: input must be rank 4, but got shape ${a.shape}.`),_(u.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${u.shape}.`),_(e.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${e}.`);let l=s===\"NHWC\"?a.shape[3]:a.shape[1],c=s===\"NHWC\"?u.shape[3]:u.shape[1];_(l===e[2],()=>`Error in conv2dDerFilter: depth of input ${l}) must match input depth in filter (${e[2]}.`),_(c===e[3],()=>`Error in conv2dDerFilter: depth of dy (${c}) must match output depth for filter (${e[3]}).`),ve(\"conv2dDerFilter\",o,i);let p={x:a,dy:u},m={strides:n,pad:o,dataFormat:s,dimRoundingMode:i,filterShape:e};return T.runKernel(Dp,p,m)}var vm=k({conv2DBackpropFilter_:n8});function bc(r,t,e){if(e==null||e===\"linear\")return r;if(e===\"relu\")return $(r,So(t));throw new Error(`Cannot compute gradient for fused activation ${e}.`)}function wc(r,t){let e=t,n=be(r.shape,t.shape);return n.length>0&&(e=mt(e,n)),R(e,r.shape)}function Ic(r,t,e,n){if(t===\"linear\")return r;if(t===\"relu\")return Or(r);if(t===\"elu\")return aa(r);if(t===\"relu6\")return um(r);if(t===\"prelu\")return _u(r,e);if(t===\"leakyrelu\")return Cu(r,n);if(t===\"sigmoid\")return Qr(r);throw new Error(`Unknown fused activation ${t}.`)}var Cc=(r,t)=>!(r>0)||t===\"linear\";function o8({x:r,filter:t,strides:e,pad:n,dataFormat:o=\"NHWC\",dilations:s=[1,1],dimRoundingMode:i,bias:a,activation:u=\"linear\",preluActivationWeights:l,leakyreluAlpha:c}){if(u=u||\"linear\",Cc(T.state.gradientDepth,u)===!1){_(o===\"NHWC\",()=>`Error in fused conv2d: got dataFormat of ${o} but only NHWC is currently supported for the case of gradient depth is 0 and the activation is not linear.`);let E=Nn(r,t,e,n,o,s,i);return a!=null&&(E=X(E,a)),Ic(E,u,l,c)}let p=C(r,\"x\",\"conv2d\",\"float32\"),m=C(t,\"filter\",\"conv2d\",\"float32\"),f=p,d=!1;p.rank===3&&(d=!0,f=R(p,[1,p.shape[0],p.shape[1],p.shape[2]])),_(f.rank===4,()=>`Error in fused conv2d: input must be rank 4, but got rank ${f.rank}.`),_(m.rank===4,()=>`Error in fused conv2d: filter must be rank 4, but got rank ${m.rank}.`),ve(\"fused conv2d\",n,i);let h=o===\"NHWC\"?f.shape[3]:f.shape[1];_(m.shape[2]===h,()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${m.shape[2]}.`),_(Dr(e,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`);let g=pc(f.shape,m.shape,e,s,n,i),x;a!=null&&(x=C(a,\"bias\",\"fused conv2d\"),[x]=Xt(x,p),o===\"NHWC\"?Mt(g.outShape,x.shape):(_(x.shape.length<=1,()=>`Error in fused conv2d: only supports scalar or 1-D Tensor bias for NCHW format but got the bias of rank-${x.shape.length}.`),_(x.shape.length===0||x.shape[0]===g.outChannels||x.shape[0]===1,()=>`Error in fused conv2d: bias shape (${x.shape}) is not compatible with the number of output channels (${g.outChannels})`)));let b;if(l!=null){let E=l.shape;if(_(E.length<=1||E.length===3,()=>`Error in fused conv2d: only supports scalar, 1-D Tensor or 3-D Tensor PReLU activation weights but got a tensor of rank-${E.length}.`),E.length===1)_(E[0]===1||E[0]===g.outChannels,()=>`Error in fused conv2d: PReLU activation weights (${E}) is not compatible with the number of output channels (${g.outChannels}).`);else if(E.length===3)try{Mt(E,g.outShape)}catch(A){let D=`Error in fused conv2d: PReLU activation weights (${E}) is not compatible with the output shape of the conv2d (${g.outShape}).`;throw Error(D)}b=C(l,\"prelu weights\",\"fused conv2d\")}let w=(E,A)=>{_(o===\"NHWC\",()=>`Error in gradient of fused conv2D: got dataFormat of ${o} but only NHWC is currently supported.`);let[D,F,M,V]=A,G=bc(E,M,u);_(io(s),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`);let W=nm(F.shape,G,D,e,n),q=vm(F,G,D.shape,e,n),H=[W,q];if(V!=null){let K=wc(V,G);H.push(K)}return H},I={x:f,filter:m,bias:x,preluActivationWeights:b},N={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i,activation:u,leakyreluAlpha:c};return a==null?pn((A,D,F)=>{let M=T.runKernel(Xi,I,N);return F([D,A,M]),d&&(M=R(M,[M.shape[1],M.shape[2],M.shape[3]])),{value:M,gradFunc:w}})(f,m):pn((A,D,F,M)=>{let V=T.runKernel(Xi,I,N);return M([D,A,V,F]),d&&(V=R(V,[V.shape[1],V.shape[2],V.shape[3]])),{value:V,gradFunc:w}})(f,m,x)}var MA=k({fusedConv2d_:o8});function s8(r,t,e,n,o,s=[1,1],i){let a=r;r.rank===3&&(a=R(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let u=t;u.rank===3&&(u=R(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l={x:a,dy:u},c={strides:n,pad:o,dimRoundingMode:i,dilations:s,filterShape:e};return T.runKernel($p,l,c)}var hy=k({depthwiseConv2dNativeBackpropFilter_:s8});function i8(r,t,e,n,o,s=[1,1],i){let a=t,u=!1;t.rank===3&&(u=!0,a=R(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l={dy:a,filter:e},c={strides:n,pad:o,dimRoundingMode:i,dilations:s,inputShape:r},p=T.runKernel(Rp,l,c);return u?R(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var gy=k({depthwiseConv2dNativeBackpropInput_:i8});function a8({x:r,filter:t,strides:e,pad:n,dataFormat:o=\"NHWC\",dilations:s=[1,1],dimRoundingMode:i,bias:a,activation:u=\"linear\",preluActivationWeights:l,leakyreluAlpha:c}){if(Cc(T.state.gradientDepth,u)===!1){let N=ia(r,t,e,n,o,s,i);return a!=null&&(N=X(N,a)),Ic(N,u,l,c)}let p=C(r,\"x\",\"depthwiseConv2d\",\"float32\"),m=C(t,\"filter\",\"depthwiseConv2d\",\"float32\"),f=p,d=!1;p.rank===3&&(d=!0,f=R(p,[1,p.shape[0],p.shape[1],p.shape[2]])),_(f.rank===4,()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${f.rank}.`),_(m.rank===4,()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${m.rank}.`),_(f.shape[3]===m.shape[2],()=>`Error in fused depthwiseConv2d: number of input channels (${f.shape[3]}) must match the inChannels dimension in filter ${m.shape[2]}.`),s==null&&(s=[1,1]),_(Dr(e,s),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`),ve(\"fused depthwiseConv2d\",n,i);let h=pc(f.shape,m.shape,e,s,n,i,!0),g;a!=null&&(g=C(a,\"bias\",\"fused conv2d\"),[g]=Xt(g,p),Mt(h.outShape,g.shape));let x;l!=null&&(x=C(l,\"prelu weights\",\"fused depthwiseConv2d\"));let b=(N,E)=>{_(io(s),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${s}'`);let[A,D,F,M]=E,V=bc(N,F,u),G=gy(D.shape,V,A,e,n,s,i),W=hy(D,V,A.shape,e,n,s,i);if(M!=null){let q=wc(g,V);return[G,W,q]}return[G,W]},w={x:f,filter:m,bias:g,preluActivationWeights:x},I={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i,activation:u,leakyreluAlpha:c};return a==null?pn((E,A,D)=>{let F=T.runKernel(Yi,w,I);return D([A,E,F]),d&&(F=R(F,[F.shape[1],F.shape[2],F.shape[3]])),{value:F,gradFunc:b}})(f,m):pn((E,A,D,F)=>{let M=T.runKernel(Yi,w,I);return F([A,E,M,D]),d&&(M=R(M,[M.shape[1],M.shape[2],M.shape[3]])),{value:M,gradFunc:b}})(f,m,g)}var PA=k({fusedDepthwiseConv2d_:a8});function l8({a:r,b:t,transposeA:e=!1,transposeB:n=!1,bias:o,activation:s=\"linear\",preluActivationWeights:i,leakyreluAlpha:a=.2}){if(Cc(T.state.gradientDepth,s)===!1){let V=Bt(r,t,e,n);return o!=null&&(V=X(V,o)),Ic(V,s,i,a)}let u=C(r,\"a\",\"fused matMul\"),l=C(t,\"b\",\"fused matMul\");[u,l]=Xt(u,l);let c=e?u.shape[u.rank-2]:u.shape[u.rank-1],p=n?l.shape[l.rank-1]:l.shape[l.rank-2],m=e?u.shape[u.rank-1]:u.shape[u.rank-2],f=n?l.shape[l.rank-2]:l.shape[l.rank-1],d=u.shape.slice(0,-2),h=l.shape.slice(0,-2),g=jt(d),x=jt(h);_(c===p,()=>`Error in fused matMul: inner shapes (${c}) and (${p}) of Tensors with shapes ${u.shape} and ${l.shape} and transposeA=${e} and transposeB=${n} must match.`);let w=Mt(u.shape.slice(0,-2),l.shape.slice(0,-2)).concat([m,f]),I=e?R(u,[g,c,m]):R(u,[g,m,c]),N=n?R(l,[x,f,p]):R(l,[x,p,f]),E;o!=null&&(E=C(o,\"bias\",\"fused matMul\"),[E]=Xt(E,u),Mt(w,E.shape));let A;i!=null&&(A=C(i,\"prelu weights\",\"fused matMul\"));let D=(V,G)=>{let[W,q,H,K]=G,Y=bc(R(V,H.shape),H,s),Z,et;if(!e&&!n?(Z=Bt(Y,q,!1,!0),et=Bt(W,Y,!0,!1)):!e&&n?(Z=Bt(Y,q,!1,!1),et=Bt(Y,W,!0,!1)):e&&!n?(Z=Bt(q,Y,!1,!0),et=Bt(W,Y,!1,!1)):(Z=Bt(q,Y,!0,!0),et=Bt(Y,W,!0,!0)),o!=null){let nt=wc(K,Y);return[Z,et,nt]}else return[Z,et]},F={a:I,b:N,bias:E,preluActivationWeights:A},M={transposeA:e,transposeB:n,activation:s,leakyreluAlpha:a};return o==null?pn((G,W,q)=>{let H=T.runKernel(ji,F,M);return q([G,W,H]),{value:R(H,w),gradFunc:D}})(I,N):pn((G,W,q,H)=>{let K=T.runKernel(ji,F,M);return H([G,W,K,q]),{value:R(K,w),gradFunc:D}})(I,N,E)}var LA=k({fusedMatMul_:l8});function u8(r){return gh(r,.54,.46)}var zA=k({hammingWindow_:u8});function c8(r){return gh(r,.5,.5)}var xy=k({hannWindow_:c8});function p8(r,t,e,n=!1,o=0){let s=0,i=[];for(;s+t<=r.size;)i.push(Ot(r,s,t)),s+=e;if(n)for(;s`Error in cropAndResize: image must be rank 4,but got rank ${i.rank}.`),_(a.rank===2&&a.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${l},4] but had shape ${a.shape}.`),_(u.rank===1&&u.shape[0]===l,()=>`Error in cropAndResize: boxInd must be have size [${l}] but had shape ${a.shape}.`),_(n.length===2,()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${n.length}.`),_(n[0]>=1&&n[1]>=1,()=>`cropSize must be atleast [1,1], but was ${n}`),_(o===\"bilinear\"||o===\"nearest\",()=>`method must be bilinear or nearest, but was ${o}`);let c={image:i,boxes:a,boxInd:u},p={method:o,extrapolationValue:s,cropSize:n};return T.runKernel(Ma,c,p)}var VA=k({cropAndResize_:f8});function d8(r){let t=C(r,\"image\",\"flipLeftRight\",\"float32\");_(t.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${t.rank}.`);let e={image:t};return T.runKernel(Ba,e,{})}var GA=k({flipLeftRight_:d8});function h8(r){let t=C(r,\"image\",\"grayscaleToRGB\"),e=t.rank-1,n=t.shape[e];_(t.rank>=2,()=>`Error in grayscaleToRGB: images must be at least rank 2, but got rank ${t.rank}.`),_(n===1,()=>`Error in grayscaleToRGB: last dimension of a grayscale image should be size 1, but got size ${n}.`);let o=new Array(t.rank);return o.fill(1,0,e),o[e]=3,Rr(t,o)}var WA=k({grayscaleToRGB_:h8});function g8(r){let t=C(r,\"image\",\"RGBToGrayscale\"),e=t.rank-1,n=t.shape[e];_(t.rank>=2,()=>`Error in RGBToGrayscale: images must be at least rank 2, but got rank ${t.rank}.`),_(n===3,()=>`Error in RGBToGrayscale: last dimension of an RGB image should be size 3, but got size ${n}.`);let o=t.dtype,s=J(t,\"float32\"),i=Oe([.2989,.587,.114]),a;switch(t.rank){case 2:a=wu(\"ij,j->i\",s,i);break;case 3:a=wu(\"ijk,k->ij\",s,i);break;case 4:a=wu(\"ijkl,l->ijk\",s,i);break;case 5:a=wu(\"ijklm,m->ijkl\",s,i);break;case 6:a=wu(\"ijklmn,n->ijklm\",s,i);break;default:throw new Error(\"Not a valid tensor rank.\")}return a=je(a,-1),J(a,o)}var UA=k({rgbToGrayscale_:g8});function x8(r,t,e=0,n=.5){let o=C(r,\"image\",\"rotateWithOffset\",\"float32\");_(o.rank===4,()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${o.rank}.`);let s={image:o},i={radians:t,fillValue:e,center:n};return T.runKernel(pl,s,i)}var HA=k({rotateWithOffset_:x8});function No(r,t,e,n,o,s){n==null&&(n=.5),o==null&&(o=Number.NEGATIVE_INFINITY),s==null&&(s=0);let i=r.shape[0];return e=Math.min(e,i),_(0<=n&&n<=1,()=>`iouThreshold must be in [0, 1], but was '${n}'`),_(r.rank===2,()=>`boxes must be a 2D tensor, but was of rank '${r.rank}'`),_(r.shape[1]===4,()=>`boxes must have 4 columns, but 2nd dimension was ${r.shape[1]}`),_(t.rank===1,()=>\"scores must be a 1D tensor\"),_(t.shape[0]===i,()=>`scores has incompatible shape with boxes. Expected ${i}, but was ${t.shape[0]}`),_(0<=s&&s<=1,()=>`softNmsSigma must be in [0, 1], but was '${s}'`),{maxOutputSize:e,iouThreshold:n,scoreThreshold:o,softNmsSigma:s}}function y8(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY){let s=C(r,\"boxes\",\"nonMaxSuppression\",\"float32\"),i=C(t,\"scores\",\"nonMaxSuppression\",\"float32\"),a=No(s,i,e,n,o);e=a.maxOutputSize,n=a.iouThreshold,o=a.scoreThreshold;let u={maxOutputSize:e,iouThreshold:n,scoreThreshold:o};return T.runKernel(Ja,{boxes:s,scores:i},u)}var qA=k({nonMaxSuppression_:y8});function KA(r,t,e){let n=b8(r,t,e),o=n<0?-(n+1):n;r.splice(o,0,t)}function b8(r,t,e){return I8(r,t,e||w8)}function w8(r,t){return r>t?1:r>>1);let a=e(t,r[s]);a>0?n=s+1:(o=s,i=!a)}return i?n:-n-1}function by(r,t,e,n,o){return dN(r,t,e,n,o,0)}function wy(r,t,e,n,o,s){return dN(r,t,e,n,o,0,!1,s,!0)}function Iy(r,t,e,n,o,s){return dN(r,t,e,n,o,s,!0)}function dN(r,t,e,n,o,s,i=!1,a=!1,u=!1){let l=[];for(let g=0;go&&l.push({score:t[g],boxIndex:g,suppressBeginIndex:0});l.sort(jA);let c=s>0?-.5/s:0,p=[],m=[];for(;p.length0;){let g=l.pop(),{score:x,boxIndex:b,suppressBeginIndex:w}=g;if(x=w;--N){let E=C8(r,b,p[N]);if(E>=n){I=!0;break}if(g.score=g.score*v8(n,c,E),g.score<=o)break}g.suppressBeginIndex=p.length,I||(g.score===x?(p.push(b),m.push(g.score)):g.score>o&&KA(l,g,jA))}let f=p.length,d=e-f;a&&d>0&&(p.push(...new Array(d).fill(0)),m.push(...new Array(d).fill(0)));let h={selectedIndices:p};return i&&(h.selectedScores=m),u&&(h.validOutputs=f),h}function C8(r,t,e){let n=r.subarray(t*4,t*4+4),o=r.subarray(e*4,e*4+4),s=Math.min(n[0],n[2]),i=Math.min(n[1],n[3]),a=Math.max(n[0],n[2]),u=Math.max(n[1],n[3]),l=Math.min(o[0],o[2]),c=Math.min(o[1],o[3]),p=Math.max(o[0],o[2]),m=Math.max(o[1],o[3]),f=(a-s)*(u-i),d=(p-l)*(m-c);if(f<=0||d<=0)return 0;let h=Math.max(s,l),g=Math.max(i,c),x=Math.min(a,p),b=Math.min(u,m),w=Math.max(x-h,0)*Math.max(b-g,0);return w/(f+d-w)}function v8(r,t,e){let n=Math.exp(t*e*e);return e<=r?n:0}function jA(r,t){return r.score-t.score||r.score===t.score&&t.boxIndex-r.boxIndex}async function S8(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY){let s=C(r,\"boxes\",\"nonMaxSuppressionAsync\"),i=C(t,\"scores\",\"nonMaxSuppressionAsync\"),a=No(s,i,e,n,o);e=a.maxOutputSize,n=a.iouThreshold,o=a.scoreThreshold;let u=await Promise.all([s.data(),i.data()]),l=u[0],c=u[1],{selectedIndices:p}=by(l,c,e,n,o);return s!==r&&s.dispose(),i!==t&&i.dispose(),Oe(p,\"int32\")}var XA=S8;function N8(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=0){let i=C(r,\"boxes\",\"nonMaxSuppression\"),a=C(t,\"scores\",\"nonMaxSuppression\"),u=No(i,a,e,n,o,s);e=u.maxOutputSize,n=u.iouThreshold,o=u.scoreThreshold,s=u.softNmsSigma;let l={boxes:i,scores:a},c={maxOutputSize:e,iouThreshold:n,scoreThreshold:o,softNmsSigma:s},p=T.runKernel(tl,l,c);return{selectedIndices:p[0],selectedScores:p[1]}}var YA=k({nonMaxSuppressionWithScore_:N8});async function k8(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=0){let i=C(r,\"boxes\",\"nonMaxSuppressionAsync\"),a=C(t,\"scores\",\"nonMaxSuppressionAsync\"),u=No(i,a,e,n,o,s);e=u.maxOutputSize,n=u.iouThreshold,o=u.scoreThreshold,s=u.softNmsSigma;let l=await Promise.all([i.data(),a.data()]),c=l[0],p=l[1],{selectedIndices:m,selectedScores:f}=Iy(c,p,e,n,o,s);return i!==r&&i.dispose(),a!==t&&a.dispose(),{selectedIndices:Oe(m,\"int32\"),selectedScores:Oe(f)}}var ZA=k8;function T8(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=!1){let i=C(r,\"boxes\",\"nonMaxSuppression\"),a=C(t,\"scores\",\"nonMaxSuppression\"),u=No(i,a,e,n,o,null),l=u.maxOutputSize,c=u.iouThreshold,p=u.scoreThreshold,m={boxes:i,scores:a},f={maxOutputSize:l,iouThreshold:c,scoreThreshold:p,padToMaxOutputSize:s},d=T.runKernel(Qa,m,f);return{selectedIndices:d[0],validOutputs:d[1]}}var JA=k({nonMaxSuppressionPadded_:T8});async function _8(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=!1){let i=C(r,\"boxes\",\"nonMaxSuppressionAsync\"),a=C(t,\"scores\",\"nonMaxSuppressionAsync\"),u=No(i,a,e,n,o,null),l=u.maxOutputSize,c=u.iouThreshold,p=u.scoreThreshold,[m,f]=await Promise.all([i.data(),a.data()]),{selectedIndices:d,validOutputs:h}=wy(m,f,l,c,p,s);return i!==r&&i.dispose(),a!==t&&a.dispose(),{selectedIndices:Oe(d,\"int32\"),validOutputs:pt(h,\"int32\")}}var QA=_8;function E8(r,t,e=!1,n=!1){let o=C(r,\"images\",\"resizeBilinear\");_(o.rank===3||o.rank===4,()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${o.rank}.`),_(t.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${t}.`),_(n===!1||e===!1,()=>\"Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false.\");let s=o,i=!1;o.rank===3&&(i=!0,s=R(o,[1,o.shape[0],o.shape[1],o.shape[2]]));let[]=t,a={images:s},u={alignCorners:e,halfPixelCenters:n,size:t},l=T.runKernel(Bs,a,u);return i?R(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var Cy=k({resizeBilinear_:E8});function A8(r,t,e=!1,n=!1){let o=C(r,\"images\",\"resizeNearestNeighbor\");_(o.rank===3||o.rank===4,()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${o.rank}.`),_(t.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${t}.`),_(o.dtype===\"float32\"||o.dtype===\"int32\",()=>\"`images` must have `int32` or `float32` as dtype\"),_(n===!1||e===!1,()=>\"Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false.\");let s=o,i=!1;o.rank===3&&(i=!0,s=R(o,[1,o.shape[0],o.shape[1],o.shape[2]]));let[]=t,a={images:s},u={alignCorners:e,halfPixelCenters:n,size:t},l=T.runKernel(zs,a,u);return i?R(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var vy=k({resizeNearestNeighbor_:A8});function D8(r,t=\"binary\",e=!1,n=.5){let o=C(r,\"image\",\"threshold\"),s=.2989,i=.587,a=.114,u=o.shape[0]*o.shape[1],l=$(Oe([n]),255),c,p,m,f;if(_(o.rank===3,()=>`Error in threshold: image must be rank 3,but got rank ${o.rank}.`),_(o.shape[2]===3||o.shape[2]===1,()=>`Error in threshold: image color channel must be equal to 3 or 1but got ${o.shape[2]}.`),_(o.dtype===\"int32\"||o.dtype===\"float32\",()=>`Error in dtype: image dtype must be int32 or float32,but got dtype ${o.dtype}.`),_(t===\"otsu\"||t===\"binary\",()=>`Method must be binary or otsu, but was ${t}`),o.shape[2]===3){[c,p,m]=hr(o,[1,1,1],-1);let g=$(c,s),x=$(p,i),b=$(m,a);f=X(X(g,x),b)}else f=r;if(t===\"otsu\"){let g=Sx(J(cm(f),\"int32\"),ir([]),256);l=$8(g,u)}let d=e?Vn(f,l):Re(f,l);return J($(d,255),\"int32\")}function $8(r,t){let e=Oe([-1]),n=Oe([0]),o=Oe([0]),s,i,a,u,l,c;for(let p=0;p`Error in transform: image must be rank 4,but got rank ${i.rank}.`),_(a.rank===2&&(a.shape[0]===i.shape[0]||a.shape[0]===1)&&a.shape[1]===8,()=>\"Error in transform: Input transform should be batch x 8 or 1 x 8\"),_(s==null||s.length===2,()=>`Error in transform: outputShape must be [height, width] or null, but got ${s}.`);let u={image:i,transforms:a},l={interpolation:e,fillMode:n,fillValue:o,outputShape:s};return T.runKernel(cl,u,l)}var e2=k({transform_:R8});function F8(r,t,e){let n=C(r,\"a\",\"bandPart\");_(n.rank>=2,()=>`bandPart(): Rank must be at least 2, got ${n.rank}.`);let o=n.shape,[s,i]=n.shape.slice(-2),a,u;typeof t==\"number\"?(_(t%1===0,()=>`bandPart(): numLower must be an integer, got ${t}.`),_(t<=s,()=>`bandPart(): numLower (${t}) must not be greater than the number of rows (${s}).`),a=C(t<0?s:t,\"numLower\",\"bandPart\")):(_(t.dtype===\"int32\",()=>\"bandPart(): numLower's dtype must be an int32.\"),a=we(yl(t,0),s,lo(t,s))),typeof e==\"number\"?(_(e%1===0,()=>`bandPart(): numUpper must be an integer, got ${e}.`),_(e<=i,()=>`bandPart(): numUpper (${e}) must not be greater than the number of columns (${i}).`),u=C(e<0?i:e,\"numUpper\",\"bandPart\")):(_(e.dtype===\"int32\",()=>\"bandPart(): numUpper's dtype must be an int32.\"),u=we(yl(e,0),i,lo(e,i)));let l=R(pa(0,s,1,\"int32\"),[-1,1]),c=pa(0,i,1,\"int32\"),p=at(l,c),m=Fr(Vn(p,a),cn(p,Ut(u))),f=ke([s,i],n.dtype);return R(Fe(gr(R(n,[-1,s,i])).map(d=>we(m,d,f))),o)}var r2=k({bandPart_:F8});function O8(r){let t;if(Array.isArray(r)){t=!1,_(r!=null&&r.length>0,()=>\"Gram-Schmidt process: input must not be null, undefined, or empty\");let o=r[0].shape[0];for(let s=1;s`Gram-Schmidt: Non-unique lengths found in the input vectors: (${r[s].shape[0]} vs. ${o})`)}else t=!0,r=hr(r,r.shape[0],0).map(o=>Wn(o,[0]));_(r.length<=r[0].shape[0],()=>`Gram-Schmidt: Number of vectors (${r.length}) exceeds number of dimensions (${r[0].shape[0]}).`);let e=[],n=r;for(let o=0;o{let s=n[o];if(o>0)for(let i=0;i=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${r.rank}`),r.rank===2)return o2(r,t);{let e=r.shape.slice(0,r.shape.length-2).reduce((u,l)=>u*l),n=gr(R(r,[e,r.shape[r.shape.length-2],r.shape[r.shape.length-1]]),0),o=[],s=[];n.forEach(u=>{let[l,c]=o2(u,t);o.push(l),s.push(c)});let i=R(Fe(o,0),r.shape),a=R(Fe(s,0),r.shape);return[i,a]}}function o2(r,t=!1){return T.tidy(()=>{_(r.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${r.shape.length}D Tensor.`);let e=r.shape[0],n=r.shape[1],o=fc(e),s=ln(r),i=ci([[1]],[1,1]),a=ln(i),u=e>=n?n:e;for(let l=0;l{let f=Ot(s,[l,l],[e-l,1]),d=xl(f),h=Ot(s,[l,l],[1,1]),g=we(Re(h,0),ci([[-1]]),ci([[1]])),x=at(h,$(g,d)),b=ct(f,x);b.shape[0]===1?a=ln(i):a=ie([i,Ot(b,[1,0],[b.shape[0]-1,b.shape[1]])],0);let w=Ut(ct(Bt(g,x),d)),I=Ot(s,[l,0],[e-l,n]),N=$(w,a),E=Vt(a);if(l===0)s=at(I,Bt(N,Bt(E,I)));else{let F=at(I,Bt(N,Bt(E,I)));s=ie([Ot(s,[0,0],[l,n]),F],0)}let A=Vt(N),D=Ot(o,[0,l],[e,o.shape[1]-l]);if(l===0)o=at(D,Bt(Bt(D,a),A));else{let F=at(D,Bt(Bt(D,a),A));o=ie([Ot(o,[0,0],[e,l]),F],1)}return[a,s,o]}),Tt([c,p,m])}return!t&&e>n&&(o=Ot(o,[0,0],[e,n]),s=Ot(s,[0,0],[n,n])),[o,s]})}var s2=k({qr_:M8});var Je;(function(r){r[r.NONE=0]=\"NONE\",r[r.MEAN=1]=\"MEAN\",r[r.SUM=2]=\"SUM\",r[r.SUM_BY_NONZERO_WEIGHTS=3]=\"SUM_BY_NONZERO_WEIGHTS\"})(Je||(Je={}));function P8(r,t,e=Je.SUM_BY_NONZERO_WEIGHTS){let n=C(r,\"losses\",\"computeWeightedLoss\"),o=null;t!=null&&(o=C(t,\"weights\",\"computeWeightedLoss\"));let s=o==null?n:$(n,o);if(e===Je.NONE)return s;if(e===Je.SUM)return mt(s);if(e===Je.MEAN){if(o==null)return Ne(s);{let i=n.size/o.size,a=ct(mt(s),mt(o));return i>1?ct(a,pt(i)):a}}if(e===Je.SUM_BY_NONZERO_WEIGHTS){if(o==null)return ct(mt(s),pt(n.size));{let i=$(o,ar(n.shape)),a=J(mt(ui(i,pt(0))),\"float32\");return ct(mt(s),a)}}throw Error(`Unknown reduction: ${e}`)}var Hr=k({computeWeightedLoss_:P8});function L8(r,t,e,n=Je.SUM_BY_NONZERO_WEIGHTS){let o=C(r,\"labels\",\"absoluteDifference\"),s=C(t,\"predictions\",\"absoluteDifference\"),i=null;e!=null&&(i=C(e,\"weights\",\"absoluteDifference\")),$e(o.shape,s.shape,\"Error in absoluteDifference: \");let a=_e(at(o,s));return Hr(a,i,n)}var i2=k({absoluteDifference_:L8});function z8(r,t,e,n,o=Je.SUM_BY_NONZERO_WEIGHTS){let s=C(r,\"labels\",\"cosineDistance\"),i=C(t,\"predictions\",\"cosineDistance\"),a=null;n!=null&&(a=C(n,\"weights\",\"cosineDistance\")),$e(s.shape,i.shape,\"Error in cosineDistance: \");let u=pt(1),l=at(u,mt($(s,i),e,!0));return Hr(l,a,o)}var a2=k({cosineDistance_:z8});function B8(r,t,e,n=Je.SUM_BY_NONZERO_WEIGHTS){let o=C(r,\"labels\",\"hingeLoss\"),s=C(t,\"predictions\",\"hingeLoss\"),i=null;e!=null&&(i=C(e,\"weights\",\"hingeLoss\")),$e(o.shape,s.shape,\"Error in hingeLoss: \");let a=pt(1);o=at($(pt(2),o),a);let u=Or(at(a,$(o,s)));return Hr(u,i,n)}var l2=k({hingeLoss_:B8});function V8(r,t,e,n=1,o=Je.SUM_BY_NONZERO_WEIGHTS){let s=C(r,\"labels\",\"huberLoss\"),i=C(t,\"predictions\",\"huberLoss\"),a=null;e!=null&&(a=C(e,\"weights\",\"huberLoss\")),$e(s.shape,i.shape,\"Error in huberLoss: \");let u=pt(n),l=_e(at(i,s)),c=lo(l,u),p=at(l,c),m=X($(pt(.5),Wt(c)),$(u,p));return Hr(m,a,o)}var u2=k({huberLoss_:V8});function G8(r,t,e,n=1e-7,o=Je.SUM_BY_NONZERO_WEIGHTS){let s=C(r,\"labels\",\"logLoss\"),i=C(t,\"predictions\",\"logLoss\"),a=null;e!=null&&(a=C(e,\"weights\",\"logLoss\")),$e(s.shape,i.shape,\"Error in logLoss: \");let u=pt(1),l=pt(n),c=Ut($(s,Nr(X(i,l)))),p=$(at(u,s),Nr(X(at(u,i),l))),m=at(c,p);return Hr(m,a,o)}var c2=k({logLoss_:G8});function W8(r,t,e,n=Je.SUM_BY_NONZERO_WEIGHTS){let o=C(r,\"labels\",\"meanSquaredError\"),s=C(t,\"predictions\",\"meanSquaredError\"),i=null;e!=null&&(i=C(e,\"weights\",\"meanSquaredError\")),$e(o.shape,s.shape,\"Error in meanSquaredError: \");let a=bm(o,s);return Hr(a,i,n)}var p2=k({meanSquaredError_:W8});function U8(r,t){let e=C(r,\"labels\",\"sigmoidCrossEntropyWithLogits\"),n=C(t,\"logits\",\"sigmoidCrossEntropyWithLogits\");$e(e.shape,n.shape,\"Error in sigmoidCrossEntropyWithLogits: \");let o=Or(n),s=$(n,e),i=vu(Ke(Ut(_e(n))));return X(at(o,s),i)}function H8(r,t,e,n=0,o=Je.SUM_BY_NONZERO_WEIGHTS){let s=C(r,\"multiClassLabels\",\"sigmoidCrossEntropy\"),i=C(t,\"logits\",\"sigmoidCrossEntropy\"),a=null;if(e!=null&&(a=C(e,\"weights\",\"sigmoidCrossEntropy\")),$e(s.shape,i.shape,\"Error in sigmoidCrossEntropy: \"),n>0){let l=pt(n),c=pt(1),p=pt(.5);s=X($(s,at(c,l)),$(p,l))}let u=U8(s,i);return Hr(u,a,o)}var m2=k({sigmoidCrossEntropy_:H8});function q8(r,t,e=-1){if(e===-1&&(e=t.rank-1),e!==t.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${t.rank} and dim was ${e}`);return pn((o,s,i)=>{let u=Su(s,[e],!0),l=at(J(s,\"float32\"),u);i([o,l]);let c=Ut($(l,o));return{value:mt(c,[e]),gradFunc:(f,d)=>{let[h,g]=d,x=vo(f.shape,[e]);return[$(R(f,x),at(J(h,\"float32\"),Ke(g))),$(R(f,x),at(Ke(g),J(h,\"float32\")))]}}})(r,t)}function K8(r,t,e,n=0,o=Je.SUM_BY_NONZERO_WEIGHTS){let s=C(r,\"onehotLabels\",\"softmaxCrossEntropy\"),i=C(t,\"logits\",\"softmaxCrossEntropy\"),a=null;if(e!=null&&(a=C(e,\"weights\",\"softmaxCrossEntropy\")),$e(s.shape,i.shape,\"Error in softmaxCrossEntropy: \"),n>0){let l=pt(n),c=pt(1),p=pt(s.shape[1]);s=X($(s,at(c,l)),ct(l,p))}let u=q8(s,i);return Hr(u,a,o)}var f2=k({softmaxCrossEntropy_:K8});function j8(r,t,e,n){let o=C(r,\"indices\",\"sparseFillEmptyRows\",\"int32\"),s=C(t,\"values\",\"sparseFillEmptyRows\"),i=C(e,\"denseShape\",\"sparseFillEmptyRows\",\"int32\"),a=C(n,\"defaultValue\",\"sparseFillEmptyRows\",s.dtype);if(o.rank!==2)throw new Error(`Indices should be Tensor2D but received shape\n ${o.shape}`);if(s.rank!==1)throw new Error(`Values should be Tensor1D but received shape ${s.shape}`);if(i.rank!==1)throw new Error(`Dense shape should be Tensor1D but received shape ${i.shape}`);if(a.rank!==0)throw new Error(`Default value should be a scalar but received shape ${a.shape}`);let u={indices:o,values:s,denseShape:i,defaultValue:a},l=T.runKernel(nu,u);return{outputIndices:l[0],outputValues:l[1],emptyRowIndicator:l[2],reverseIndexMap:l[3]}}var d2=k({sparseFillEmptyRows_:j8});function X8(r,t,e){let n=C(r,\"inputIndices\",\"sparseReshape\",\"int32\"),o=C(t,\"inputShape\",\"sparseReshape\",\"int32\"),s=C(e,\"newShape\",\"sparseReshape\",\"int32\");if(n.rank!==2)throw new Error(`Input indices should be Tensor2D but received shape\n ${n.shape}`);if(o.rank!==1)throw new Error(`Input shape should be Tensor1D but received shape ${o.shape}`);if(s.rank!==1)throw new Error(`New shape should be Tensor1D but received shape ${s.shape}`);let i={inputIndices:n,inputShape:o,newShape:s},a=T.runKernel(il,i);return{outputIndices:a[0],outputShape:a[1]}}var h2=k({sparseReshape_:X8});function Y8(r,t,e){let n=C(r,\"data\",\"sparseSegmentMean\"),o=C(t,\"indices\",\"sparseSegmentMean\",\"int32\"),s=C(e,\"segmentIds\",\"sparseSegmentMean\",\"int32\");if(n.rank<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.rank!==1)throw new Error(`Indices should be Tensor1D but received shape\n ${o.shape}`);if(s.rank!==1)throw new Error(`Segment ids should be Tensor1D but received shape\n ${s.shape}`);let i={data:n,indices:o,segmentIds:s};return T.runKernel(ou,i)}var g2=k({sparseSegmentMean_:Y8});function Z8(r,t,e){let n=C(r,\"data\",\"sparseSegmentSum\"),o=C(t,\"indices\",\"sparseSegmentSum\",\"int32\"),s=C(e,\"segmentIds\",\"sparseSegmentSum\",\"int32\");if(n.rank<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.rank!==1)throw new Error(`Indices should be Tensor1D but received shape\n ${o.shape}`);if(s.rank!==1)throw new Error(`Segment ids should be Tensor1D but received shape\n ${s.shape}`);let i={data:n,indices:o,segmentIds:s};return T.runKernel(su,i)}var x2=k({sparseSegmentSum_:Z8});function J8(r,t,e,n,o,s,i,a){let u=C(r,\"data\",\"stringNGrams\",\"string\");if(u.dtype!==\"string\")throw new Error(\"Data must be of datatype string\");if(u.shape.length!==1)throw new Error(`Data must be a vector, saw: ${u.shape}`);let l=C(t,\"dataSplits\",\"stringNGrams\");if(l.dtype!==\"int32\")throw new Error(\"Data splits must be of datatype int32\");let c={separator:e,nGramWidths:n,leftPad:o,rightPad:s,padWidth:i,preserveShortSequences:a},p={data:u,dataSplits:l},m=T.runKernel(au,p,c);return{nGrams:m[0],nGramsSplits:m[1]}}var y2=k({stringNGrams_:J8});function Q8(r,t,e=!0){let n=C(r,\"input\",\"stringSplit\",\"string\"),o=C(t,\"delimiter\",\"stringSplit\",\"string\");if(n.rank!==1)throw new Error(`Input should be Tensor1D but received shape ${n.shape}`);if(o.rank!==0)throw new Error(`Delimiter should be a scalar but received shape ${o.shape}`);let s={skipEmpty:e},i={input:n,delimiter:o},a=T.runKernel(lu,i,s);return{indices:a[0],values:a[1],shape:a[2]}}var b2=k({stringSplit_:Q8});function tY(r,t){let e=C(r,\"input\",\"stringToHashBucketFast\",\"string\"),n={numBuckets:t};if(t<=0)throw new Error(\"Number of buckets must be at least 1\");let o={input:e};return T.runKernel(uu,o,n)}var w2=k({stringToHashBucketFast_:tY});function eY(r,t,e,n=!0){let o=C(r,\"input\",\"staticRegexReplace\",\"string\"),s={pattern:t,rewrite:e,replaceGlobal:n};return T.runKernel(ec,{x:o},s)}var I2=k({staticRegexReplace_:eY});var rY={fft:Au,ifft:wl,rfft:Du,irfft:ym},nY={hammingWindow:zA,hannWindow:xy,frame:yy,stft:BA},fn={flipLeftRight:GA,grayscaleToRGB:WA,resizeNearestNeighbor:vy,resizeBilinear:Cy,rgbToGrayscale:UA,rotateWithOffset:HA,cropAndResize:VA,nonMaxSuppression:qA,nonMaxSuppressionAsync:XA,nonMaxSuppressionWithScore:YA,nonMaxSuppressionWithScoreAsync:ZA,nonMaxSuppressionPadded:JA,nonMaxSuppressionPaddedAsync:QA,threshold:t2,transform:e2},hN={bandPart:r2,gramSchmidt:n2,qr:s2},oY={absoluteDifference:i2,computeWeightedLoss:Hr,cosineDistance:a2,hingeLoss:l2,huberLoss:u2,logLoss:c2,meanSquaredError:p2,sigmoidCrossEntropy:m2,softmaxCrossEntropy:f2},sY={sparseFillEmptyRows:d2,sparseReshape:h2,sparseSegmentMean:g2,sparseSegmentSum:x2},iY={stringNGrams:y2,stringSplit:b2,stringToHashBucketFast:w2,staticRegexReplace:I2};var Q={};Kt(Q,{Serializable:()=>xh,SerializationMap:()=>Sy,getRegisteredName:()=>lY,registerClass:()=>xN});var aY=new Map,gN=new Map,xh=class{getClassName(){return this.constructor.className}static fromConfig(t,e){return new t(e)}},Sy=class r{constructor(){this.classNameMap={}}static getMap(){return r.instance==null&&(r.instance=new r),r.instance}static register(t){r.getMap().classNameMap[t.className]=[t,t.fromConfig]}};function xN(r,t,e){_(r.className!=null,()=>\"Class being registered does not have the static className property defined.\"),_(typeof r.className==\"string\",()=>\"className is required to be a string, but got type \"+typeof r.className),_(r.className.length>0,()=>\"Class being registered has an empty-string as its className, which is disallowed.\"),typeof t==\"undefined\"&&(t=\"Custom\"),typeof e==\"undefined\"&&(e=r.className);let n=e,o=t+\">\"+n;return Sy.register(r),aY.set(o,r),gN.set(r,o),r}function lY(r){return gN.has(r)?gN.get(r):r.className}var qr=class extends xh{minimize(t,e=!1,n){let{value:o,grads:s}=this.computeGradients(t,n);if(n!=null){let i=n.map(a=>({name:a.name,tensor:s[a.name]}));this.applyGradients(i)}else this.applyGradients(s);return Tt(s),e?o:(o.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(t,e){return Ux(t,e)}dispose(){this.iterations_!=null&&Tt(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:\"iter\",tensor:pt(this.iterations_,\"int32\")}}async getWeights(){throw new Error(\"getWeights() is not implemented for this optimizer yet.\")}async setWeights(t){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(t){return this.iterations_=(await t[0].tensor.data())[0],t.slice(1)}};Object.defineProperty(qr,Symbol.hasInstance,{value:r=>r.minimize!=null&&r.computeGradients!=null&&r.applyGradients!=null});var vc=class extends qr{static get className(){return\"Adadelta\"}constructor(t,e,n=null){super(),this.learningRate=t,this.rho=e,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],n==null&&(this.epsilon=T.backend.epsilon())}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=T.registeredVariables[n],i=!1;this.accumulatedGrads[o]==null&&(this.accumulatedGrads[o]={originalName:`${n}/accum_grad`,variable:B(()=>vt(s).variable(i))}),this.accumulatedUpdates[o]==null&&(this.accumulatedUpdates[o]={originalName:`${n}/accum_var`,variable:B(()=>vt(s).variable(i))});let a=Array.isArray(t)?t[o].tensor:t[n];if(a==null)return;let u=this.accumulatedGrads[o].variable,l=this.accumulatedUpdates[o].variable;B(()=>{let c=X($(u,this.rho),$(Wt(a),1-this.rho)),p=$(ct(Se(X(l,this.epsilon)),Se(X(u,this.epsilon))),a),m=X($(l,this.rho),$(Wt(p),1-this.rho));u.assign(c),l.assign(m);let f=X($(p,-this.learningRate),s);s.assign(f)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(Tt(this.accumulatedGrads.map(t=>t.variable)),Tt(this.accumulatedUpdates.map(t=>t.variable)))}async getWeights(){let t=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(t.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=t.length/2,n=!1;this.accumulatedGrads=t.slice(0,e).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedUpdates=t.slice(e,e*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(t,e){return new t(e.learningRate,e.rho,e.epsilon)}};var Sc=class extends qr{static get className(){return\"Adagrad\"}constructor(t,e=.1){super(),this.learningRate=t,this.initialAccumulatorValue=e,this.accumulatedGrads=[]}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=T.registeredVariables[n];this.accumulatedGrads[o]==null&&(this.accumulatedGrads[o]={originalName:`${n}/accumulator`,variable:B(()=>Co(s.shape,this.initialAccumulatorValue).variable(!1))});let i=Array.isArray(t)?t[o].tensor:t[n];if(i==null)return;let a=this.accumulatedGrads[o].variable;B(()=>{let u=X(a,Wt(i));a.assign(u);let l=X($(ct(i,Se(X(u,T.backend.epsilon()))),-this.learningRate),s);s.assign(l)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&Tt(this.accumulatedGrads.map(t=>t.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=!1;this.accumulatedGrads=t.map(n=>({originalName:n.name,variable:n.tensor.variable(e)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(t,e){return new t(e.learningRate,e.initialAccumulatorValue)}};var Nc=class extends qr{static get className(){return\"Adam\"}constructor(t,e,n,o=null){super(),this.learningRate=t,this.beta1=e,this.beta2=n,this.epsilon=o,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],B(()=>{this.accBeta1=pt(e).variable(),this.accBeta2=pt(n).variable()}),o==null&&(this.epsilon=T.backend.epsilon())}applyGradients(t){let e=Array.isArray(t)?t.map(n=>n.name):Object.keys(t);B(()=>{let n=at(1,this.accBeta1),o=at(1,this.accBeta2);e.forEach((s,i)=>{let a=T.registeredVariables[s],u=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${s}/m`,variable:B(()=>vt(a).variable(u))}),this.accumulatedSecondMoment[i]==null&&(this.accumulatedSecondMoment[i]={originalName:`${s}/v`,variable:B(()=>vt(a).variable(u))});let l=Array.isArray(t)?t[i].tensor:t[s];if(l==null)return;let c=this.accumulatedFirstMoment[i].variable,p=this.accumulatedSecondMoment[i].variable,m=X($(c,this.beta1),$(l,1-this.beta1)),f=X($(p,this.beta2),$(Wt(l),1-this.beta2)),d=ct(m,n),h=ct(f,o);c.assign(m),p.assign(f);let g=X($(ct(d,X(Se(h),this.epsilon)),-this.learningRate),a);a.assign(g)}),this.accBeta1.assign($(this.accBeta1,this.beta1)),this.accBeta2.assign($(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&Tt(this.accumulatedFirstMoment.map(t=>t.variable)),this.accumulatedSecondMoment!=null&&Tt(this.accumulatedSecondMoment.map(t=>t.variable))}async getWeights(){let t=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(t.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(t){t=await this.extractIterations(t),B(()=>{this.accBeta1.assign(un(this.beta1,this.iterations_+1)),this.accBeta2.assign(un(this.beta2,this.iterations_+1))});let e=t.length/2,n=!1;this.accumulatedFirstMoment=t.slice(0,e).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedSecondMoment=t.slice(e,e*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(t,e){return new t(e.learningRate,e.beta1,e.beta2,e.epsilon)}};var kc=class extends qr{static get className(){return\"Adamax\"}constructor(t,e,n,o=null,s=0){super(),this.learningRate=t,this.beta1=e,this.beta2=n,this.epsilon=o,this.decay=s,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],B(()=>{this.iteration=pt(0).variable(),this.accBeta1=pt(e).variable()}),o==null&&(this.epsilon=T.backend.epsilon())}applyGradients(t){let e=Array.isArray(t)?t.map(n=>n.name):Object.keys(t);B(()=>{let n=at(1,this.accBeta1),o=ct(-this.learningRate,X($(this.iteration,this.decay),1));e.forEach((s,i)=>{let a=T.registeredVariables[s],u=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${s}/m`,variable:vt(a).variable(u)}),this.accumulatedWeightedInfNorm[i]==null&&(this.accumulatedWeightedInfNorm[i]={originalName:`${s}/v`,variable:vt(a).variable(u)});let l=Array.isArray(t)?t[i].tensor:t[s];if(l==null)return;let c=this.accumulatedFirstMoment[i].variable,p=this.accumulatedWeightedInfNorm[i].variable,m=X($(c,this.beta1),$(l,1-this.beta1)),f=$(p,this.beta2),d=_e(l),h=kn(f,d);c.assign(m),p.assign(h);let g=X($(ct(o,n),ct(m,X(h,this.epsilon))),a);a.assign(g)}),this.iteration.assign(X(this.iteration,1)),this.accBeta1.assign($(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&Tt(this.accumulatedFirstMoment.map(t=>t.variable)),this.accumulatedWeightedInfNorm!=null&&Tt(this.accumulatedWeightedInfNorm.map(t=>t.variable))}async getWeights(){throw new Error(\"getWeights() is not implemented for Adamax yet.\")}async setWeights(t){throw new Error(\"setWeights() is not implemented for Adamax yet.\")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(t,e){return new t(e.learningRate,e.beta1,e.beta2,e.epsilon,e.decay)}};var Il=class extends qr{static get className(){return\"SGD\"}constructor(t){super(),this.learningRate=t,this.setLearningRate(t)}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=Array.isArray(t)?t[o].tensor:t[n];if(s==null)return;let i=T.registeredVariables[n];B(()=>{let a=X($(this.c,s),i);i.assign(a)})}),this.incrementIterations()}setLearningRate(t){this.learningRate=t,this.c!=null&&this.c.dispose(),this.c=De(pt(-t))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(t){if(t=await this.extractIterations(t),t.length!==0)throw new Error(\"SGD optimizer does not have settable weights.\")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(t,e){return new t(e.learningRate)}};var Tc=class extends Il{static get className(){return\"Momentum\"}constructor(t,e,n=!1){super(t),this.learningRate=t,this.momentum=e,this.useNesterov=n,this.accumulations=[],this.m=pt(this.momentum)}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=T.registeredVariables[n];this.accumulations[o]==null&&(this.accumulations[o]={originalName:`${n}/momentum`,variable:B(()=>vt(s).variable(!1))});let i=this.accumulations[o].variable,a=Array.isArray(t)?t[o].tensor:t[n];a!=null&&B(()=>{let u,l=X($(this.m,i),a);this.useNesterov?u=X($(this.c,X(a,$(l,this.m))),s):u=X($(this.c,l),s),i.assign(l),s.assign(u)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&Tt(this.accumulations.map(t=>t.variable))}setMomentum(t){this.momentum=t}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=!1;this.accumulations=t.map(n=>({originalName:n.name,variable:n.tensor.variable(e)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(t,e){return new t(e.learningRate,e.momentum,e.useNesterov)}};var _c=class extends qr{static get className(){return\"RMSProp\"}constructor(t,e=.9,n=0,o=null,s=!1){if(super(),this.learningRate=t,this.decay=e,this.momentum=n,this.epsilon=o,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=s,o==null&&(this.epsilon=T.backend.epsilon()),t==null)throw new Error(\"learningRate for RMSPropOptimizer must be defined.\")}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=T.registeredVariables[n],i=!1;this.accumulatedMeanSquares[o]==null&&(this.accumulatedMeanSquares[o]={originalName:`${n}/rms`,variable:B(()=>vt(s).variable(i))}),this.accumulatedMoments[o]==null&&(this.accumulatedMoments[o]={originalName:`${n}/momentum`,variable:B(()=>vt(s).variable(i))}),this.accumulatedMeanGrads[o]==null&&this.centered&&(this.accumulatedMeanGrads[o]={originalName:`${n}/mg`,variable:B(()=>vt(s).variable(i))});let a=Array.isArray(t)?t[o].tensor:t[n];if(a==null)return;let u=this.accumulatedMeanSquares[o].variable,l=this.accumulatedMoments[o].variable;B(()=>{let c=X($(u,this.decay),$(Wt(a),1-this.decay));if(this.centered){let p=this.accumulatedMeanGrads[o].variable,m=X($(p,this.decay),$(a,1-this.decay)),f=ct($(a,this.learningRate),Se(at(c,X(Wt(m),this.epsilon)))),d=X($(l,this.momentum),f);u.assign(c),p.assign(m),l.assign(d);let h=at(s,d);s.assign(h)}else{let p=X($(u,this.decay),$(Wt(a),1-this.decay)),m=X($(l,this.momentum),ct($(a,this.learningRate),Se(X(p,this.epsilon))));u.assign(p),l.assign(m);let f=at(s,m);s.assign(f)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&Tt(this.accumulatedMeanSquares.map(t=>t.variable)),this.accumulatedMeanGrads!=null&&this.centered&&Tt(this.accumulatedMeanGrads.map(t=>t.variable)),this.accumulatedMoments!=null&&Tt(this.accumulatedMoments.map(t=>t.variable))}async getWeights(){let t=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&t.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(t.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=this.centered?t.length/3:t.length/2,n=!1;this.accumulatedMeanSquares=t.slice(0,e).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedMoments=t.slice(e,e*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.centered&&(this.accumulatedMeanGrads=t.slice(e*2,e*3).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(t,e){return new t(e.learningRate,e.decay,e.momentum,e.epsilon,e.centered)}};var uY=[vc,Sc,Nc,kc,Tc,_c,Il];function C2(){for(let r of uY)xN(r)}var Mr={};Kt(Mr,{CompositeArrayBuffer:()=>Wr,browserFiles:()=>S2,browserHTTPRequest:()=>_2,concatenateArrayBuffers:()=>uE,copyModel:()=>vE,decodeWeights:()=>sx,decodeWeightsStream:()=>ix,encodeWeights:()=>sE,fromMemory:()=>E2,fromMemorySync:()=>vN,getLoadHandlers:()=>fE,getModelArtifactsForJSON:()=>Yp,getModelArtifactsForJSONSync:()=>W0,getModelArtifactsInfoForJSON:()=>Ji,getSaveHandlers:()=>mE,getWeightSpecs:()=>lh,http:()=>ky,isHTTPScheme:()=>Ny,listModels:()=>IE,loadWeights:()=>k2,moveModel:()=>SE,registerLoadRouter:()=>pE,registerSaveRouter:()=>cE,removeModel:()=>CE,weightsLoaderFactory:()=>IN,withSaveHandler:()=>A2,withSaveHandlerSync:()=>D2});var cY=\"model\",pY=\".json\",mY=\".weights.bin\";function v2(r){return new Promise(t=>setTimeout(t)).then(r)}var Sm=class r{constructor(t){if(!L().getBool(\"IS_BROWSER\"))throw new Error(\"browserDownloads() cannot proceed because the current environment is not a browser.\");t.startsWith(r.URL_SCHEME)&&(t=t.slice(r.URL_SCHEME.length)),(t==null||t.length===0)&&(t=cY),this.modelJsonFileName=t+pY,this.weightDataFileName=t+mY}async save(t){if(typeof document==\"undefined\")throw new Error(\"Browser downloads are not supported in this environment since `document` is not present\");let e=Wr.join(t.weightData),n=window.URL.createObjectURL(new Blob([e],{type:\"application/octet-stream\"}));if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserDownloads.save() does not support saving model topology in binary formats yet.\");{let o=[{paths:[\"./\"+this.weightDataFileName],weights:t.weightSpecs}],s=ax(t,o),i=window.URL.createObjectURL(new Blob([JSON.stringify(s)],{type:\"application/json\"})),a=this.modelJsonAnchor==null?document.createElement(\"a\"):this.modelJsonAnchor;if(a.download=this.modelJsonFileName,a.href=i,await v2(()=>a.dispatchEvent(new MouseEvent(\"click\"))),t.weightData!=null){let u=this.weightDataAnchor==null?document.createElement(\"a\"):this.weightDataAnchor;u.download=this.weightDataFileName,u.href=n,await v2(()=>u.dispatchEvent(new MouseEvent(\"click\")))}return{modelArtifactsInfo:Ji(t)}}}};Sm.URL_SCHEME=\"downloads://\";var yN=class{constructor(t){if(t==null||t.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${t}`);this.jsonFile=t[0],this.weightsFiles=t.slice(1)}async load(){return new Promise((t,e)=>{let n=new FileReader;n.onload=o=>{let s=JSON.parse(o.target.result),i=s.modelTopology;if(i==null){e(new Error(`modelTopology field is missing from file ${this.jsonFile.name}`));return}if(s.weightsManifest==null){e(new Error(`weightManifest field is missing from file ${this.jsonFile.name}`));return}if(this.weightsFiles.length===0){t({modelTopology:i});return}let u=Yp(s,l=>this.loadWeights(l));t(u)},n.onerror=o=>e(`Failed to read model topology and weights manifest JSON from file '${this.jsonFile.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),n.readAsText(this.jsonFile)})}loadWeights(t){let e=[],n=[];for(let i of t)e.push(...i.weights),n.push(...i.paths);let o=this.checkManifestAndWeightFiles(t),s=n.map(i=>this.loadWeightsFile(i,o[i]));return Promise.all(s).then(i=>[e,i])}loadWeightsFile(t,e){return new Promise((n,o)=>{let s=new FileReader;s.onload=i=>{let a=i.target.result;n(a)},s.onerror=i=>o(`Failed to weights data from file of path '${t}'.`),s.readAsArrayBuffer(e)})}checkManifestAndWeightFiles(t){let e=[],n=this.weightsFiles.map(s=>G0(s.name)),o={};for(let s of t)s.paths.forEach(i=>{let a=G0(i);if(e.indexOf(a)!==-1)throw new Error(`Duplicate file basename found in weights manifest: '${a}'`);if(e.push(a),n.indexOf(a)===-1)throw new Error(`Weight file with basename '${a}' is not provided.`);o[i]=this.weightsFiles[n.indexOf(a)]});if(e.length!==this.weightsFiles.length)throw new Error(`Mismatch in the number of files in weights manifest (${e.length}) and the number of weight files provided (${this.weightsFiles.length}).`);return o}},fY=r=>L().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(Sm.URL_SCHEME)?dY(r.slice(Sm.URL_SCHEME.length)):null;Cr.registerSaveRouter(fY);function dY(r=\"model\"){return new Sm(r)}function S2(r){return new yN(r)}function bN(r,t,e,n){i(r),e=e==null?0:e,n=n==null?1:n,a(e,n);let o=0,s=u=>(u.then(l=>{let c=e+ ++o/r.length*(n-e);return t(c),l}),u);function i(u){_(u!=null&&Array.isArray(u)&&u.length>0,()=>\"promises must be a none empty array\")}function a(u,l){_(u>=0&&u<=1,()=>`Progress fraction must be in range [0, 1], but got startFraction ${u}`),_(l>=0&&l<=1,()=>`Progress fraction must be in range [0, 1], but got endFraction ${l}`),_(l>=u,()=>`startFraction must be no more than endFraction, but got startFraction ${u} and endFraction ${l}`)}return Promise.all(r.map(s))}async function wN(r,t){t==null&&(t={});let e=t.fetchFunc==null?L().platform.fetch:t.fetchFunc,n=r.map(p=>e(p,t.requestInit,{isBinary:!0})),a=(t.onProgress==null?await Promise.all(n):await bN(n,t.onProgress,0,.5)).map(p=>p.arrayBuffer());return t.onProgress==null?await Promise.all(a):await bN(a,t.onProgress,.5,1)}function N2(r,t){var e;let n=t.fetchFunc==null?L().platform.fetch:t.fetchFunc,o=0,s;return(e=t.onProgress)===null||e===void 0||e.call(t,0),new ReadableStream({pull:async i=>{for(var a;owN(i,{requestInit:n}))(r,t,e)}function IN(r){return async(t,e=\"\",n)=>{let o=t.map(()=>!1),s={},i=n!=null?n.map(()=>!1):[],a=[];if(t.forEach((f,d)=>{let h=0;f.weights.forEach(g=>{let x=\"quantization\"in g?g.quantization.dtype:g.dtype,b=dl[x]*jt(g.shape),w=()=>{o[d]=!0,s[d]==null&&(s[d]=[]),s[d].push({manifestEntry:g,groupOffset:h,sizeBytes:b})};n!=null?n.forEach((I,N)=>{I===g.name&&(w(),i[N]=!0)}):w(),a.push(g.name),h+=b})}),!i.every(f=>f)){let f=n.filter((d,h)=>!i[h]);throw new Error(`Could not find weights in manifest with names: ${f.join(\", \")}. \nManifest JSON has weights with names: ${a.join(\", \")}.`)}let u=o.reduce((f,d,h)=>(d&&f.push(h),f),[]),l=[];u.forEach(f=>{t[f].paths.forEach(d=>{let h=e+(e.endsWith(\"/\")?\"\":\"/\")+d;l.push(h)})});let c=await r(l),p={},m=0;return u.forEach(f=>{let d=t[f].paths.length,h=new Wr(c.slice(m,m+d));s[f].forEach(x=>{let b=h.slice(x.groupOffset,x.groupOffset+x.sizeBytes),w=sx(b,[x.manifestEntry]);for(let I in w)p[I]=w[I]}),m+=d}),p}}var hY=\"application/octet-stream\",gY=\"application/json\",yh=class{constructor(t,e){if(this.DEFAULT_METHOD=\"POST\",e==null&&(e={}),this.weightPathPrefix=e.weightPathPrefix,this.weightUrlConverter=e.weightUrlConverter,e.fetchFunc!=null?(_(typeof e.fetchFunc==\"function\",()=>\"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\"),this.fetch=e.fetchFunc):this.fetch=L().platform.fetch,_(t!=null&&t.length>0,()=>\"URL path for http must not be null, undefined or empty.\"),Array.isArray(t)&&_(t.length===2,()=>`URL paths for http must have a length of 2, (actual length is ${t.length}).`),this.path=t,e.requestInit!=null&&e.requestInit.body!=null)throw new Error(\"requestInit is expected to have no pre-existing body, but has one.\");this.requestInit=e.requestInit||{},this.loadOptions=e}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.\");let e=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);e.body=new FormData;let n=[{paths:[\"./model.weights.bin\"],weights:t.weightSpecs}],o=ax(t,n);if(e.body.append(\"model.json\",new Blob([JSON.stringify(o)],{type:gY}),\"model.json\"),t.weightData!=null){let i=Wr.join(t.weightData);e.body.append(\"model.weights.bin\",new Blob([i],{type:hY}),\"model.weights.bin\")}let s=await this.fetch(this.path,e);if(s.ok)return{modelArtifactsInfo:Ji(t),responses:[s]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${s.status}.`)}async loadModelJSON(){let t=await this.fetch(this.path,this.requestInit);if(!t.ok)throw new Error(`Request to ${this.path} failed with status code ${t.status}. Please verify this URL points to the model JSON of the model to load.`);let e;try{e=await t.json()}catch(s){let i=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(\".pb\")?i+=\" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.\":i+=\" Please make sure the server is serving valid JSON for this request.\",new Error(i)}let n=e.modelTopology,o=e.weightsManifest;if(n==null&&o==null)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);return e}async load(){if(this.loadOptions.streamWeights)return this.loadStream();let t=await this.loadModelJSON();return Yp(t,e=>this.loadWeights(e))}async loadStream(){let t=await this.loadModelJSON(),e=await this.getWeightUrls(t.weightsManifest),n=lh(t.weightsManifest),o=()=>N2(e,this.loadOptions);return Object.assign(Object.assign({},t),{weightSpecs:n,getWeightStream:o})}async getWeightUrls(t){let e=Array.isArray(this.path)?this.path[1]:this.path,[n,o]=xY(e),s=this.weightPathPrefix||n,i=[],a=[];for(let u of t)for(let l of u.paths)this.weightUrlConverter!=null?a.push(this.weightUrlConverter(l)):i.push(s+l+o);return this.weightUrlConverter&&i.push(...await Promise.all(a)),i}async loadWeights(t){let e=await this.getWeightUrls(t),n=lh(t),o=await wN(e,this.loadOptions);return[n,o]}};yh.URL_SCHEME_REGEX=/^https?:\\/\\//;function xY(r){let t=r.lastIndexOf(\"/\"),e=r.lastIndexOf(\"?\"),n=r.substring(0,t),o=e>t?r.substring(e):\"\";return[n+\"/\",o]}function Ny(r){return r.match(yh.URL_SCHEME_REGEX)!=null}var T2=(r,t)=>{if(typeof fetch==\"undefined\"&&(t==null||t.fetchFunc==null))return null;{let e=!0;if(Array.isArray(r)?e=r.every(n=>Ny(n)):e=Ny(r),e)return ky(r,t)}return null};Cr.registerSaveRouter(T2);Cr.registerLoadRouter(T2);function ky(r,t){return new yh(r,t)}function _2(r,t){return ky(r,t)}var bh=class{constructor(t){this.modelArtifacts=t}load(){return this.modelArtifacts}},Ty=class{constructor(t){this.saveHandler=t}save(t){return this.saveHandler(t)}},CN=class{constructor(t){t.load&&(this.load=()=>Promise.resolve(t.load())),t.save&&(this.save=e=>Promise.resolve(t.save(e)))}};function E2(r,t,e,n){let o=arguments;return new CN(vN(...o))}function vN(r,t,e,n){return arguments.length===1?r.modelTopology!=null||r.weightSpecs!=null?new bh(r):(console.warn(\"Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release.\"),new bh({modelTopology:r})):(console.warn(\"Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release.\"),new bh({modelTopology:r,weightSpecs:t,weightData:e,trainingConfig:n}))}function A2(r){return new Ty(r)}function D2(r){return new Ty(r)}var R2={};Kt(R2,{confusionMatrix:()=>$2});function yY(r,t,e){let n=C(r,\"labels\",\"confusionMatrix\"),o=C(t,\"predictions\",\"confusionMatrix\");_(e==null||e>0&&Number.isInteger(e),()=>`If provided, numClasses must be a positive integer, but got ${e}`),_(n.rank===1,()=>`Expected the rank of labels to be 1, but got ${n.rank}`),_(o.rank===1,()=>`Expected the rank of predictions to be 1, but got ${o.rank}`),_(n.shape[0]===o.shape[0],()=>`Mismatch in the number of examples: ${n.shape[0]} vs. ${o.shape[0]}. Labels and predictions should have the same number of elements.`),_(e>0&&Number.isInteger(e),()=>`numClasses is required to be a positive integer, but got ${e}`);let s=ca(J(n,\"int32\"),e),i=ca(J(o,\"int32\"),e),a=Vt(s),u=Bt(a,i);return J(u,\"int32\")}var $2=k({confusionMatrix_:yY});var _y={};Kt(_y,{draw:()=>kY,fromPixels:()=>TY,fromPixelsAsync:()=>vY,toPixels:()=>NY});var Ec,F2=!1;function O2(r,t=3){if(t>4)throw new Error(\"Cannot construct Tensor with more than 4 channels from pixels.\");if(r==null)throw new Error(\"pixels passed to tf.browser.fromPixels() can not be null\");let e=!1,n=!1,o=!1,s=!1,i=!1,a=!1;if(r.data instanceof Uint8Array)e=!0;else if(typeof ImageData!=\"undefined\"&&r instanceof ImageData)n=!0;else if(typeof HTMLVideoElement!=\"undefined\"&&r instanceof HTMLVideoElement)o=!0;else if(typeof HTMLImageElement!=\"undefined\"&&r instanceof HTMLImageElement)s=!0;else if(r.getContext!=null)i=!0;else if(typeof ImageBitmap!=\"undefined\"&&r instanceof ImageBitmap)a=!0;else throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${r.constructor.name}`);if(Wp(Qd,T.backendName)!=null){let d={pixels:r},h={numChannels:t};return T.runKernel(Qd,d,h)}let[l,c]=o?[r.videoWidth,r.videoHeight]:[r.width,r.height],p;if(i)p=r.getContext(\"2d\").getImageData(0,0,l,c).data;else if(n||e)p=r.data;else if(s||o||a){if(Ec==null)if(typeof document==\"undefined\")if(typeof OffscreenCanvas!=\"undefined\"&&typeof OffscreenCanvasRenderingContext2D!=\"undefined\")Ec=new OffscreenCanvas(1,1).getContext(\"2d\");else throw new Error(\"Cannot parse input in current context. Reason: OffscreenCanvas Context2D rendering is not supported.\");else Ec=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:!0});Ec.canvas.width=l,Ec.canvas.height=c,Ec.drawImage(r,0,0,l,c),p=Ec.getImageData(0,0,l,c).data}let m;if(t===4)m=new Int32Array(p);else{let d=l*c;m=new Int32Array(d*t);for(let h=0;h4||t===2)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${t}`);if(r.dtype!==\"float32\"&&r.dtype!==\"int32\")throw new Error(`Unsupported type for toPixels: ${r.dtype}. Please use float32 or int32 tensors.`)}function SY(r){let t=(r==null?void 0:r.alpha)||1;if(t>1||t<0)throw new Error(`Alpha value ${t} is suppoed to be in range [0 - 1].`)}async function NY(r,t){let e=C(r,\"img\",\"toPixels\");if(!(r instanceof Lt)){let l=e;e=J(l,\"int32\"),l.dispose()}M2(e);let[n,o]=e.shape.slice(0,2),s=e.rank===2?1:e.shape[2],i=await e.data(),a=e.dtype===\"float32\"?255:1,u=new Uint8ClampedArray(o*n*4);for(let l=0;l1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${f}.`)}else if(e.dtype===\"int32\"&&(f<0||f>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${f}.`);s===1?(c[0]=f*a,c[1]=f*a,c[2]=f*a):c[m]=f*a}let p=l*4;u[p+0]=Math.round(c[0]),u[p+1]=Math.round(c[1]),u[p+2]=Math.round(c[2]),u[p+3]=Math.round(c[3])}if(t!=null){F2||Wp(Jd,T.backendName)!=null&&(console.warn(\"tf.browser.toPixels is not efficient to draw tensor on canvas. Please try tf.browser.draw instead.\"),F2=!0),t.width=o,t.height=n;let l=t.getContext(\"2d\"),c=new ImageData(u,o,n);l.putImageData(c,0,0)}return e!==r&&e.dispose(),u}function kY(r,t,e){let n=C(r,\"img\",\"draw\");if(!(r instanceof Lt)){let i=n;n=J(i,\"int32\"),i.dispose()}M2(n),SY(e==null?void 0:e.imageOptions);let o={image:n},s={canvas:t,options:e};T.runKernel(Jd,o,s)}var TY=k({fromPixels_:O2});var Ey={};Kt(Ey,{prepareAndValidate:()=>P2});function P2(r,t){let e=r.shape.length,n=t.shape.length;if(e<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${e}.`);if(n<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${n}.`);if(t.dtype!==\"int32\")throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);if(t.shape[n-1]>e)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[n-1]} vs. ${e}`);if(jt(r.shape)===0)throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${r.shape}.`);let o=t.shape,s=o[o.length-1],i=1;for(let p=0;pp/l),1].slice(0,s);return[u,i,l,c]}var Be={};Kt(Be,{assertParamsValid:()=>EY,computeFlatOffset:()=>FY,computeOutShape:()=>DY,getNormalizedAxes:()=>$Y,isSliceContinous:()=>RY,maskToAxes:()=>AY,parseSliceParams:()=>NN,sliceInfo:()=>OY,startForAxis:()=>H2,startIndicesWithElidedDims:()=>G2,stopForAxis:()=>q2,stopIndicesWithElidedDims:()=>W2,stridesForAxis:()=>U2,stridesWithElidedDims:()=>z2});var SN=-2,_Y=-1;function EY(r,t,e){let n=r.shape.length;_(n===t.length,()=>`Error in slice${n}D: Length of begin ${t} must match the rank of the array (${n}).`),_(n===e.length,()=>`Error in slice${n}D: Length of size ${e} must match the rank of the array (${n}).`);for(let o=0;o`Error in slice${n}D: begin[${o}] + size[${o}] (${t[o]+e[o]}) would overflow input.shape[${o}] (${r.shape[o]})`)}function AY(r){let t=[],e=0;for(;r>0;)r&1&&t.push(e),r/=2,e++;return t}function DY(r,t,e){let n=[];for(let o=0;o0){let f=t[0],d=e+1;c=G2(i,f,d,n,r),p=W2(a,f,d,o,r),m=z2(s,f,d,r)}else for(let f=0;f-1)s[a]=0;else{let u=B2(t,e,a),l=n[u];r&1<-1)s[a]=Number.MAX_SAFE_INTEGER;else{let u=B2(t,e,a),l=n[u];r&1<0?i=Number.MIN_SAFE_INTEGER:i=Number.MAX_SAFE_INTEGER);let u=n[o];return i<0&&(i+=u),i=kp(0,i,u-1),i}function q2(r,t,e,n,o,s){let i=t[o],a=e[o]||1;(r&1<0?i=Number.MAX_SAFE_INTEGER:i=Number.MIN_SAFE_INTEGER);let u=n[o];return i<0&&(i+=u),a>0?i=kp(0,i,u):i=kp(-1,i,u-1),i}function RY(r,t,e){let n=e.length;for(let o=0;o1){n=o;break}for(let o=n+1;o0||e[o]!==r[o])return!1;return!0}function FY(r,t){let e=r.length>0?r[r.length-1]:1;for(let n=0;n{_(i!==-1,()=>\"slice() does not support negative begin indexing.\")});let s;return e==null?s=new Array(o).fill(-1):typeof e==\"number\"?s=[e,...new Array(o-1).fill(-1)]:e.lengthi>=0?i:(_(i===-1,()=>`Negative size values should be exactly -1 but got ${i} for the slice() size at index ${a}.`),r.shape[a]-n[a])),[n,s]}function OY(r,t,e,n,o,s,i,a,u){let l;if(n==null?(l=new Array(t.length),l.fill(1)):l=n,i!=null&&i&i-1)throw new Error(\"Multiple ellipses in slice is not allowed.\");let c=!1,p={dims:l.length,numAddAxisAfterEllipsis:0,begin:t.slice(),end:e.slice(),strides:l.slice(),beginMask:o,endMask:s,ellipsisMask:i,newAxisMask:a,shrinkAxisMask:u};for(let w=0;w0?0:-1,m.strides[w]>0?N:N-1];if(I&&m.strides[w]<=0)throw Error(\"only stride 1 allowed on non-range indexing.\");h=h&&m.strides[w]===1;let D=!!(m.beginMask&1<=N)throw Error(`slice index ${m.begin[w]} of dimension ${w} out of bounds.`)}else m.begin[w]=L2(m.begin[w],0,m.strides[w],N,E,A),m.end[w]=L2(m.end[w],1,m.strides[w],N,E,A);let V=m.strides[w]===1&&m.begin[w]===0&&m.end[w]===N;f=f&&V,d=d&&(w===0&&m.strides[w]===1||V)}else f=f&&m.strides[w]===1&&D,d=d&&(w===0&&m.strides[w]===1||D);let F,M=!1;if(m.beginValid&&m.endValid?(F=m.end[w]-m.begin[w],M=!0):I?(F=1,M=!0):D&&N>=0&&(m.strides[w]<0?F=-N:F=N,M=!0),M){let V;F===0||F<0!=m.strides[w]<0?V=0:V=Math.trunc(F/m.strides[w])+(F%m.strides[w]!==0?1:0),g.push(V)}else g.push(-1)}for(let w=0;w=0?x.push(g[I]):I===SN&&x.push(1)}return{finalShapeSparse:x.filter((w,I)=>m.finalShapeGatherIndices[I]!==SN),finalShape:x,isIdentity:f,sliceDim0:d,isSimpleSlice:h,begin:m.begin,end:m.end,strides:m.strides}}function MY(r,t){t.beginMask=0,t.endMask=0,t.shrinkAxisMask=0;let e=0;t.beginValid=r.begin!=null,t.endValid=r.end!=null,t.begin=new Array(t.dims),t.end=new Array(t.dims),t.strides=new Array(t.dims),t.finalShapeGatherIndices=[],t.finalShapeGatherIndicesSparse=[],t.inputShapeGatherIndicesSparse=new Array(t.dims);for(let n=0;n0?s[t]:s[t+1&1];{let i=r<0?n+r:r;return is[1]?s[1]:i}}var K2=\"4.16.0\";var wh=class{static sgd(t){return new Il(t)}static momentum(t,e,n=!1){return new Tc(t,e,n)}static rmsprop(t,e=.9,n=0,o=null,s=!1){return new _c(t,e,n,o,s)}static adam(t=.001,e=.9,n=.999,o=null){return new Nc(t,e,n,o)}static adadelta(t=.001,e=.95,n=null){return new vc(t,e,n)}static adamax(t=.002,e=.9,n=.999,o=null,s=0){return new kc(t,e,n,o,s)}static adagrad(t,e=.1){return new Sc(t,e)}};var Ac=wh;var PY=typeof requestAnimationFrame!=\"undefined\"?requestAnimationFrame:typeof setImmediate!=\"undefined\"?setImmediate:r=>r();function Ih(){return new Promise(r=>PY(()=>r()))}var S={};Kt(S,{ERF_A1:()=>JY,ERF_A2:()=>QY,ERF_A3:()=>tZ,ERF_A4:()=>eZ,ERF_A5:()=>rZ,ERF_P:()=>ZY,PARALLELIZE_THRESHOLD:()=>Ay,RowPartitionType:()=>ma,SELU_SCALE:()=>TN,SELU_SCALEALPHA:()=>kN,applyActivation:()=>Ic,assertAndGetBroadcastShape:()=>Mt,assertAxesAreInnerMostDims:()=>x6,assertParamsConsistent:()=>LY,assignToTypedArray:()=>lZ,axesAreInnerMostDims:()=>Q0,calculateShapes:()=>DA,checkEinsumDimSizes:()=>dZ,checkPadOnDimRoundingMode:()=>ve,combineLocations:()=>PE,combineRaggedTensorToTensorShapes:()=>BY,complexWithEvenIndex:()=>sZ,complexWithOddIndex:()=>iZ,computeConv2DInfo:()=>pc,computeConv3DInfo:()=>_E,computeDefaultPad:()=>J0,computeDilation2DInfo:()=>gj,computeOptimalWindowSize:()=>UY,computeOutAndReduceShapes:()=>tN,computeOutShape:()=>zY,computePool2DInfo:()=>Z0,computePool3DInfo:()=>xj,convertConv2DDataFormat:()=>EE,decodeEinsumEquation:()=>mZ,eitherStridesOrDilationsAreOne:()=>Dr,expandShapeToKeepDim:()=>vo,exponent:()=>cZ,exponents:()=>uZ,fromStringArrayToUint8:()=>OZ,fromUint8ToStringArray:()=>FZ,getAxesPermutation:()=>eN,getBroadcastDims:()=>OE,getComplexWithIndex:()=>aZ,getEinsumComputePath:()=>hZ,getEinsumPermutation:()=>fZ,getFusedBiasGradient:()=>wc,getFusedDyActivation:()=>bc,getImageCenter:()=>HY,getInnerMostAxes:()=>y6,getPermuted:()=>KY,getRaggedRank:()=>GY,getReductionAxes:()=>be,getReshaped:()=>qY,getReshapedPermuted:()=>jY,getRowPartitionTypesHelper:()=>VY,getSliceBeginCoords:()=>XY,getSliceSize:()=>YY,getSparseFillEmptyRowsIndicesDenseShapeMismatch:()=>bZ,getSparseFillEmptyRowsNegativeIndexErrorMessage:()=>wZ,getSparseFillEmptyRowsOutOfRangeIndexErrorMessage:()=>IZ,getSparseReshapeEmptyTensorZeroOutputDimErrorMessage:()=>SZ,getSparseReshapeInputOutputMismatchErrorMessage:()=>kZ,getSparseReshapeInputOutputMultipleErrorMessage:()=>NZ,getSparseReshapeMultipleNegativeOneOutputDimErrorMessage:()=>CZ,getSparseReshapeNegativeOutputDimErrorMessage:()=>vZ,getSparseSegmentReductionIndicesOutOfRangeErrorMessage:()=>AZ,getSparseSegmentReductionNegativeSegmentIdsErrorMessage:()=>TZ,getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage:()=>_Z,getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage:()=>EZ,getUndoAxesPermutation:()=>mh,isIdentityPermutation:()=>gZ,log:()=>uK,mergeRealAndImagArrays:()=>nZ,prepareAndValidate:()=>P2,prepareSplitSize:()=>yZ,segment_util:()=>EN,shouldFuse:()=>Cc,slice_util:()=>Be,splitRealAndImagArrays:()=>oZ,stridesOrDilationsArePositive:()=>ra,tupleValuesAreOne:()=>io,upcastType:()=>ur,validateDefaultValueShape:()=>WY,validateInput:()=>wm,validateUpdateShape:()=>pN,warn:()=>Zi});function LY(r,t){let e=r[0].length;r.forEach((o,s)=>{_(o.length===e,()=>`Error in concat${e}D: rank of tensors[${s}] must be the same as the rank of the rest (${e})`)}),_(t>=0&&t`Error in concat${e}D: axis must be between 0 and ${e-1}.`);let n=r[0];r.forEach((o,s)=>{for(let i=0;i`Error in concat${e}D: Shape of tensors[${s}] (${o}) does not match the shape of the rest (${n}) along the non-concatenated axis ${s}.`)})}function zY(r,t){let e=r[0].slice();for(let n=1;n=0)if(a>=0){if(a!==s)throw new Error(`rt input.shape and shape=${t} are incompatible: rt input.shape[${o+r}] = ${s} but shape[${o+r}] = ${a}`)}else n[i]=s}return n}function VY(r){let t={FIRST_DIM_SIZE:ma.FIRST_DIM_SIZE,VALUE_ROWIDS:ma.VALUE_ROWIDS,ROW_LENGTHS:ma.ROW_LENGTHS,ROW_SPLITS:ma.ROW_SPLITS,ROW_LIMITS:ma.ROW_LIMITS,ROW_STARTS:ma.ROW_STARTS},e=[];for(let n of r)if(n in t)e.push(t[n]);else break;return e}function GY(r){return r.length===0?0:r[0]===ma.FIRST_DIM_SIZE?r.length-1:r.length}function WY(r,t){if(r==null||t==null)return;let e=r.length,n=t.length;if(e>=n)throw new Error(`defaultValue.shape=${r} and ragged tensor flatValues.shape=${t}, are incompatible: defaultValue.rank = ${e} must be less than ragged tensor input flatValues.rank = ${n})`);for(let o=0;o=0&&i>=0&&s!==1&&s!==i)throw new Error(`defaultValue.shape=${r}, and ragged tensor input flatValues.shape=${t} are incompatible: defaultValue.shape[${o-r.length}] = ${s} but ragged tensor input.flatValues.shape[${o-r.length}] = ${i}`)}}var Ay=30;function UY(r){return r<=Ay?r:_p(r,Math.floor(Math.sqrt(r)))}function HY(r,t,e){let n=e*(typeof r==\"number\"?r:r[0]),o=t*(typeof r==\"number\"?r:r[1]);return[n,o]}function qY(r,t,e,n=!0){let o=[];if(n)o=o.concat(t.slice(0)),o.push(r[0]/e),o=o.concat(r.slice(1));else{o=o.concat(r[0]);let s=t.length;for(let i=0;i=t*2+1||i%2===1?s.push(i):o.push(i);n.push(...o),n.push(0),n.push(...s)}return n}function jY(r,t,e,n=!0){let o=[];n?o.push(r[0]/e):o.push(r[0]*e);for(let s=1;s\",pZ=/->/g,j2=\",\",X2=\"...\";function mZ(r,t){r=r.replace(/\\s/g,\"\");let e=(r.length-r.replace(pZ,\"\").length)/_N.length;if(e<1)throw new Error(\"Equations without an arrow are not supported.\");if(e>1)throw new Error(`Equation must contain exactly one arrow (\"${_N}\").`);let[n,o]=r.split(_N);_(n.indexOf(X2)===-1,()=>`The ellipsis notation (\"${X2}\") is not supported yet.`);let s=n.split(j2),i=s.length;if(t!==i)throw new Error(`Expected ${i} input tensors, received ${t}`);if(i>2)throw new Error(\"Support for more than 2 input tensors is not implemented yet.\");let a=[];for(let m=0;md.indexOf(f)!==-1))throw new Error(`Output subscripts contain the label ${f} not present in the input subscripts.`);a.indexOf(f)===-1&&a.push(f)}for(let m=0;mo!==-1),{permutationIndices:e,expandDims:n}}function dZ(r,t,e){let n=new Array(r);for(let o=0;o`Expected dimension ${n[t[o][i]]} at axis ${i} of input shaped ${JSON.stringify(s)}, but got dimension ${s[i]}`)}}function hZ(r,t){let e=r,n=[],o=0;r.length===0&&e.push(-1),o=r.length+1;for(let i=0;it===e)}function xZ(r,t){let e=[];for(let n=0;n\"Number of splits must evenly divide the axis.\"),n=new Array(t).fill(r.shape[e]/t);else{let o=t.reduce((i,a)=>(a===-1&&(i+=1),i),0);_(o<=1,()=>\"There should be only one negative value in split array.\");let s=t.indexOf(-1);if(s!==-1){let i=t.reduce((a,u)=>u>0?a+u:a);t[s]=r.shape[e]-i}_(r.shape[e]===t.reduce((i,a)=>i+a),()=>\"The sum of sizes must match the size of the axis dimension.\"),n=t}return n}function bZ(r){return`Received SparseTensor with denseShape[0] = 0 but\n indices.shape[0] = ${r}`}function wZ(r,t){return`indices(${r}, 0) is invalid: ${t} < 0`}function IZ(r,t,e){return`indices(${r}, 0) is invalid: ${t} >= ${e}`}function CZ(r,t){return`only one output dimension may be -1, not both ${r} and ${t}`}function vZ(r,t){return`size ${r} must be non-negative, not ${t}`}function SZ(){return\"reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero\"}function NZ(r,t){let e=jt(r),n=jt(t);return`Input to reshape is a SparseTensor with ${e}\n dense values, but the requested shape requires a multiple of ${n}. inputShape=${r} outputShape= ${t}`}function kZ(r,t){let e=jt(r),n=jt(t);return`Input to reshape is a tensor with ${e} dense values, but the requested shape has ${n}. inputShape=${r} outputShape=${t}`}function TZ(){return\"segment ids must be >= 0\"}function _Z(){return\"segment ids are not increasing\"}function EZ(r,t){return`Segment id ${r} out of range [0, ${t}), possibly because segmentIds input is not sorted.`}function AZ(r,t,e){return`Bad: indices[${r}] == ${t} out of range [0, ${e})`}var EN={};Kt(EN,{collectGatherOpShapeInfo:()=>RZ,computeOutShape:()=>$Z,segOpComputeOptimalWindowSize:()=>DZ});function DZ(r,t){let e=!1,n;for(r<=Ay?(n=r,e=!0):n=_p(r,Math.floor(Math.sqrt(r)));!e;)n>t||n===r?e=!0:n=_p(r,n+1);return n}function $Z(r,t,e){let n=[],o=r.length;for(let s=0;so))throw new Error(`Expect batchDims in the range of [-${o}, ${o}], but got ${n}`);if(n<0&&(n+=o),n>s)throw new Error(`batchDims (${n}) must be less than rank(x) (\n ${s}).`);if(eKp(t))}catch(t){throw new Error(`Failed to decode encoded string bytes into utf-8, error: ${t}`)}}function OZ(r){return r.map(t=>fu(t))}var Kr={};Kt(Kr,{nonMaxSuppressionV3Impl:()=>by,nonMaxSuppressionV4Impl:()=>wy,nonMaxSuppressionV5Impl:()=>Iy,whereImpl:()=>fy});C2();var Dy={kernelName:Ei,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,So(J(e,\"float32\"),-1))}}};var Y2={kernelName:Go,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Wt(J(e,\"float32\")),o=Se(at(pt(1),n));return Ut(ct(r,o))}}}};var Z2={kernelName:Wo,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Se(at(Wt(J(e,\"float32\")),1));return ct(r,n)}}}};var J2={kernelName:no,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=r,u=be(e.shape,o);return u.length>0&&(a=mt(a,u)),R(a,e.shape)},b:()=>{let a=r,u=be(n.shape,o);return u.length>0&&(a=mt(a,u)),R(a,n.shape)}}}};var Q2={kernelName:Uo,saveAllInputs:!0,gradFunc:(r,t)=>{let e={};return t.forEach((n,o)=>{e[o]=()=>r.clone()}),e}};var tD={kernelName:Ai,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>vt(e)}}};var eD={kernelName:Di,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>vt(e)}}};var rD={kernelName:Ho,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,Se(at(pt(1),Wt(J(e,\"float32\")))))}}};var nD={kernelName:qo,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Se(X(pt(1),Wt(J(e,\"float32\"))));return ct(r,n)}}}};var oD={kernelName:Xo,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=X(Wt(e),Wt(n)),u=$(r,ct(n,a)),l=be(e.shape,o);return l.length>0&&(u=mt(u,l)),R(u,e.shape)},b:()=>{let a=X(Wt(e),Wt(n)),u=Ut($(r,ct(e,a))),l=be(n.shape,o);return l.length>0&&(u=mt(u,l)),R(u,n.shape)}}}};var sD={kernelName:Ko,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,X(Wt(J(e,\"float32\")),1))}}};var iD={kernelName:jo,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,at(pt(1),Wt(J(e,\"float32\"))))}}};function MZ(r,t,e,n,o,s){let i=C(r,\"dy\",\"avgPool3dGrad\"),a=C(t,\"input\",\"avgPool3dGrad\"),u=i,l=a,c=!1;a.rank===4&&(c=!0,u=R(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]]),l=R(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),_(u.rank===5,()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${u.rank}.`),_(l.rank===5,()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${l.rank}.`),ve(\"avgPool3dGrad\",o,s);let p={dy:u,input:l},m={filterSize:e,strides:n,pad:o,dimRoundingMode:s},f=T.runKernel(Hl,p,m);return c?R(f,[f.shape[1],f.shape[2],f.shape[3],f.shape[4]]):f}var aD=k({avgPool3dGrad_:MZ});var lD={kernelName:$i,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{filterSize:o,strides:s,pad:i,dimRoundingMode:a}=e;return{x:()=>aD(r,n,o,s,i,a)}}};function PZ(r,t,e,n,o){let s=C(r,\"dy\",\"avgPoolGrad\"),i=C(t,\"input\",\"avgPoolGrad\");_(i.rank===s.rank,()=>`Rank of input (${i.rank}) does not match rank of dy (${s.rank})`);let a=i,u=s,l=!1;i.rank===3&&(l=!0,a=R(i,[1,i.shape[0],i.shape[1],i.shape[2]]),u=R(s,[1,s.shape[0],s.shape[1],s.shape[2]])),_(u.rank===4,()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${u.rank}.`),_(a.rank===4,()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${a.rank}.`);let c={dy:u,input:a},p={filterSize:e,strides:n,pad:o},m=T.runKernel(Ul,c,p);return l?R(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var uD=k({avgPoolGrad_:PZ});var cD={kernelName:Yo,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{filterSize:o,strides:s,pad:i}=e;return{x:()=>uD(r,n,o,s,i)}}};var pD={kernelName:Zo,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t,e)=>{let[n,o]=t,{transposeA:s,transposeB:i}=e;return!s&&!i?{a:()=>Bt(r,o,!1,!0),b:()=>Bt(n,r,!0,!1)}:!s&&i?{a:()=>Bt(r,o,!1,!1),b:()=>Bt(r,n,!0,!1)}:s&&!i?{a:()=>Bt(o,r,!1,!0),b:()=>Bt(n,r,!1,!1)}:{a:()=>Bt(o,r,!0,!0),b:()=>Bt(r,n,!0,!0)}}};var mD={kernelName:Ri,gradFunc:(r,t,e)=>{let{blockShape:n,crops:o}=e;return{x:()=>Tu(r,n,o)}}};var fD={kernelName:k_,gradFunc:(r,t,e)=>{let n=e,o=n.inputShape,s=n.shape,i=Array.from(s);for(let u=o.length-1;u>=0;u--)if(o[u]===s[u])i[u]=1;else if(o[u]!==1)throw new Error(`broadcastTo(): [${o}] cannot be broadcast to [${s}].`);let a=[];for(let u=0;u1&&a.push(u);return{x:()=>mt(r,a,!0)}}};var dD={kernelName:fo,gradFunc:r=>({x:()=>r.clone()})};var hD={kernelName:Jo,gradFunc:r=>({x:()=>vt(r)})};var gD={kernelName:ho,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{clipValueMin:o,clipValueMax:s}=e;return{x:()=>we(Fr(cn(n,o),Vn(n,s)),r,vt(r))}}};var xD={kernelName:Kl,inputsToSave:[\"x\"],gradFunc:Dy.gradFunc};var yD={kernelName:Fi,saveAllInputs:!0,gradFunc:(r,t,e)=>{let n=t.map(u=>u.shape),{axis:o}=e,s=fr(o,t[0].shape)[0],i=n.map(u=>u[s]);return hr(r,i,s).map(u=>()=>u)}};var bD={kernelName:Qo,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let[n,o]=t,{dilations:s,strides:i,pad:a,dataFormat:u}=e;return _(io(s),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`),{x:()=>nm(n.shape,r,o,i,a,u),filter:()=>vm(n,r,o.shape,i,a,u)}}};var wD={kernelName:ts,inputsToSave:[\"dy\",\"filter\"],gradFunc:(r,t,e)=>{let[n,o]=t,{strides:s,pad:i,dataFormat:a,dimRoundingMode:u}=e;return{dy:()=>Nn(r,o,s,i,a,1,u),filter:()=>vm(r,n,o.shape,s,i,a,u)}}};function LZ(r,t,e,n,o){let s=r;r.rank===4&&(s=R(r,[1,r.shape[0],r.shape[1],r.shape[2],r.shape[3]]));let i=t;i.rank===4&&(i=R(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),_(s.rank===5,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${s.shape}.`),_(i.rank===5,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${i.shape}.`),_(e.length===5,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${e}.`),_(s.shape[4]===e[3],()=>`Error in conv3dDerFilter: depth of input ${s.shape[4]}) must match input depth in filter (${e[3]}.`),_(i.shape[4]===e[4],()=>`Error in conv3dDerFilter: depth of dy (${i.shape[4]}) must match output depth for filter (${e[4]}).`);let a={x:s,dy:i},u={strides:n,pad:o,filterShape:e};return T.runKernel(Ra,a,u)}var ID=k({conv3DBackpropFilter_:LZ});var CD={kernelName:es,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let{dilations:n,strides:o,pad:s}=e;_(io(n),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${n}'`);let[i,a]=t;return{x:()=>Dx(i.shape,r,a,o,s),filter:()=>ID(i,r,a.shape,o,s)}}};var vD={kernelName:rs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(Ut(dm(J(e,\"float32\"))),r)}}};var SD={kernelName:ns,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(hm(J(e,\"float32\")),r)}}};var ND={kernelName:os,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{axis:o,exclusive:s,reverse:i}=e;return{x:()=>{let a=eN([o],n.rank),u=im(r,o,s,!i);return a!=null&&(u=Vt(u,a)),u}}}};var kD={kernelName:ss,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let{dilations:n,strides:o,pad:s,dimRoundingMode:i}=e,a=n==null?[1,1]:n;_(io(a),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${a}'`);let[u,l]=t;return _(u.rank===4,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${u.rank}.`),_(l.rank===4,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${l.rank}.`),_(u.shape[3]===l.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${u.shape[3]}) must match the inChannels dimension in filter ${l.shape[2]}.`),_(Dr(o,a),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${a}'.`),ve(\"depthwiseConv2d\",s,i),{x:()=>gy(u.shape,r,l,o,s,a,i),filter:()=>hy(u,r,l.shape,o,s,a,i)}}};var TD={kernelName:is,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let[n,o]=t,s={x:n,filter:o,dy:r},i={x:n,filter:o,dy:r};return{x:()=>T.runKernel(Yl,s,e),filter:()=>T.runKernel(Zl,i,e)}}};var _D={kernelName:ls,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t,n={dy:r,y:e};return{x:()=>T.runKernel(La,n)}}};var ED={kernelName:us,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t,n=$(Ke(Ut(Wt(e))),2/Math.sqrt(Math.PI));return{x:()=>$(r,n)}}};var AD={kernelName:cs,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,e)}}};var DD={kernelName:Oi,inputsToSave:[\"input\"],gradFunc:(r,t)=>{let[e]=t;return{input:()=>R(r,e.shape)}}};var $D={kernelName:ps,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,Ke(e))}}};var RD={kernelName:ms,gradFunc:r=>({x:()=>vt(r)})};var FD={kernelName:fs,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=ct(r,J(n,\"float32\")),u=be(e.shape,o);return u.length>0?R(mt(a,u),e.shape):a},b:()=>{let a=$(r,J(e,\"float32\")),u=be(n.shape,o);u.length>0&&(a=R(mt(a,u),n.shape));let l=Wt(n);return Ut(ct(a,J(l,\"float32\")))}}}};var OD={kernelName:ds,inputsToSave:[\"x\",\"mean\",\"variance\",\"scale\"],gradFunc:(r,t,e)=>{let{varianceEpsilon:n}=e,[o,s,i,a]=t,u=a==null?pt(1):a,l=be(s.shape,o.shape),c=[];if(s.rank===1){for(let I=0;Is.rank===1?R($($(r,Rr(R(f,[1,1,1,s.shape[0]]),c)),u),o.shape):R($($(r,f),u),o.shape),mean:()=>{let I=$($(f,pt(-1)),m);return s.rank===1&&(I=mt(I,l)),R(I,s.shape)},variance:()=>{let I=$($(d,p),m);return s.rank===1&&(I=mt(I,l)),R(I,s.shape)},scale:()=>{let I=$(p,f),N=$(r,I);return s.rank===1&&(N=mt(N,l)),R(N,s.shape)},offset:()=>{let I=r;return s.rank===1&&(I=mt(I,l)),R(I,s.shape)}}}};var LD={kernelName:Mi,inputsToSave:[\"x\",\"indices\"],gradFunc:(r,t,e)=>{let[n,o]=t,{axis:s,batchDims:i}=e,a=fr(s,n.shape)[0],u=(l,c,p)=>()=>{let m=l.shape,f=c.size,d=m.slice(0,a),h=d.length,g=m.slice(s,m.length).slice(1),x=g.length,b=MD(0,h),w=MD(h+1,h+1+x),I=PD([d,[f],g]),N=R(p,I),E=R(c,[f]),A=PD([[h],b,w]),D=Vt(N,A),F=Cm(D,E,l.shape[a]),M=mh(A);return F=Vt(F,M),F};if(i===1){let l=n.shape[0],c=n.split(l,0);return{x:()=>Fe(c.map((f,d)=>u(f,o.slice(d,1),r.slice(d,1))())).reshape(n.shape),indices:()=>o}}else return{x:u(n,o,r),indices:()=>o}}};function MD(r,t){let e=[];for(let n=r;n{let[e,n]=t;return{a:()=>vt(e),b:()=>vt(n)}}};var BD={kernelName:go,gradFunc:r=>({x:()=>J(r,\"float32\")})};var VD={kernelName:gs,gradFunc:r=>({x:()=>vt(r)})};var GD={kernelName:xs,gradFunc:r=>({x:()=>vt(r)})};var WD={kernelName:ys,gradFunc:r=>({x:()=>vt(r)})};var UD={kernelName:bs,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{alpha:o}=e,s=Re(n,0);return{x:()=>we(s,r,$(r,o))}}};var HD={kernelName:Is,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,X(e,1))}}};var qD={kernelName:ws,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,J(e,\"float32\"))}}};var KD={kernelName:__,inputsToSave:[],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n]=t,{axis:o}=e;return{logits:()=>{let i=Ke(n);return at(r,$(mt(r,o,!0),i))}}}};function zZ(r,t,e,n=5,o=1,s=1,i=.5){let a={x:r,y:t,dy:e},u={depthRadius:n,bias:o,alpha:s,beta:i};return T.runKernel(Xa,a,u)}var jD=k({localResponseNormalizationBackprop_:zZ});var XD={kernelName:Cs,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n,o]=t,{depthRadius:s,bias:i,alpha:a,beta:u}=e;return{x:()=>jD(n,o,r,s,i,a,u)}}};function $y(r,t,e,n){return t.rank$(r,J($r(e,t),r.dtype))}}var AN={kernelName:vs,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let n=e,{reductionIndices:o}=n,s=t[0],i=t[1],a=fr(o,s.shape),u=$y(r,i,s,a);return{x:()=>u.x()}}};var YD={kernelName:Ss,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t;return{a:()=>$(r,J(cn(e,n),\"float32\")),b:()=>$(r,J(yl(e,n),\"float32\"))}}};function BZ(r,t,e,n,o,s,i){let a=C(r,\"dy\",\"maxPool3dGrad\"),u=C(t,\"input\",\"maxPool3dGrad\"),l=C(e,\"output\",\"maxPool3dGrad\"),c=a,p=u,m=l,f=!1;u.rank===4&&(f=!0,c=R(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]]),p=R(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]]),m=R(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]])),_(c.rank===5,()=>`Error in maxPool3dGrad: dy must be rank 5 but got rank ${c.rank}.`),_(p.rank===5,()=>`Error in maxPool3dGrad: input must be rank 5 but got rank ${p.rank}.`),_(m.rank===5,()=>`Error in maxPool3dGrad: output must be rank 5 but got rank ${m.rank}.`),ve(\"maxPool3dGrad\",s,i);let d={dy:c,input:p,output:m},h={filterSize:n,strides:o,pad:s,dimRoundingMode:i},g=T.runKernel(tu,d,h);return f?R(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}var ZD=k({maxPool3dGrad_:BZ});var JD={kernelName:Pi,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n,o]=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u}=e;return{x:()=>ZD(r,n,o,s,i,a,u)}}};function VZ(r,t,e,n,o,s,i){let a=C(r,\"dy\",\"maxPoolGrad\"),u=C(t,\"input\",\"maxPoolGrad\"),l=C(e,\"output\",\"maxPoolGrad\");_(u.rank===a.rank,()=>`Rank of input (${u.rank}) does not match rank of dy (${a.rank})`),_(a.rank===4,()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${a.rank}.`),_(u.rank===4,()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${u.rank}.`),ve(\"maxPoolGrad\",s,i);let c={dy:a,input:u,output:l},p={filterSize:n,strides:o,pad:s,dimRoundingMode:i};return T.runKernel(Ql,c,p)}var QD=k({maxPoolGrad_:VZ});var t$={kernelName:Ns,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n,o]=t,{filterSize:s,strides:i,pad:a}=e;return{x:()=>QD(r,n,o,s,i,a)}}};var e$={kernelName:ks,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{axis:o}=e,s=fr(o,n.shape),a=tN(n.shape,s)[1],u=jt(a);return{x:()=>{let c=n.shape.slice();s.forEach(f=>{c[f]=1});let p=R(r,c);return ct($(p,ar(n.shape,\"float32\")),u)}}}};var r$={kernelName:Ts,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let n=e,{axis:o}=n,[s,i]=t,a=fr(o,s.shape),u=$y(r,i,s,a);return{x:()=>u.x()}}};var n$={kernelName:_s,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t;return{a:()=>$(r,J(Vn(e,n),\"float32\")),b:()=>$(r,J(Re(e,n),\"float32\"))}}};var o$={kernelName:Es,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let n=t[0],{paddings:o}=e,s=o.map(i=>i[0]);return{x:()=>Ot(r,s,n.shape)}}};var s$={kernelName:As,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=be(e.shape,o);return a.length>0?R(mt(r,a),e.shape):r},b:()=>{let a=$(r,Ut(la(ct(e,n)))),u=be(n.shape,o);return u.length>0?R(mt(a,u),n.shape):a}}}};var i$={kernelName:Ds,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=$(r,J(n,\"float32\")),u=be(e.shape,o);return u.length>0?R(mt(a,u),e.shape):a},b:()=>{let a=$(r,J(e,\"float32\")),u=be(n.shape,o);return u.length>0?R(mt(a,u),n.shape):a}}}};var a$={kernelName:Li,gradFunc:r=>({x:()=>Ut(r)})};var l$={kernelName:$s,inputsToSave:[\"indices\"],gradFunc:(r,t)=>{let e=t[0];return{indices:()=>ke(e.shape,\"float32\")}}};var u$={kernelName:zi,gradFunc:r=>({x:()=>vt(r)})};var c$={kernelName:Bi,saveAllInputs:!0,gradFunc:(r,t,e)=>{let{axis:n}=e;return gr(r,n).map(s=>()=>s)}};var DN={kernelName:Rs,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let n=t[0],{paddings:o}=e,s=o.map(i=>i[0]);return{x:()=>Ot(r,s,n.shape)}}};var p$={kernelName:Fs,inputsToSave:[\"a\",\"b\"],outputsToSave:[!0],gradFunc:(r,t)=>{let[e,n,o]=t,s=e,i=n,a=Mt(s.shape,i.shape);return{a:()=>{let c=J(i,\"float32\"),p=$(r,$(c,un(s,at(c,pt(1))))),m=be(s.shape,a);return m.length>0&&(p=mt(p,m)),R(p,s.shape)},b:()=>{let c=Re(s,0),p=we(c,Nr(s),vt(s)),m=$(r,$(o,p)),f=be(i.shape,a);return f.length>0&&(m=mt(m,f)),R(m,i.shape)}}}};var m$={kernelName:Os,inputsToSave:[\"x\",\"alpha\"],gradFunc:(r,t)=>{let[e,n]=t,o=Re(e,0);return{x:()=>we(o,r,$(r,n)),alpha:()=>{let s=we(o,vt(r),$(r,e)),i=be(n.shape,r.shape);return i.length>0&&(s=mt(s,i)),R(s,n.shape)}}}};function GZ(r,t,e){let n=r.shape.slice();n[e]=1;let o=R(t,n),s=mc(r,e,!0,!1),i=mc(r,e,!0,!0),a=$(s,i);return $(o,a)}function WZ(r,t,e){let n=r.shape.length,o=n-e.length,s=S.getAxesPermutation(e,n),i=r;s!=null&&(i=Vt(r,s));let a=i.shape.slice(),l=a.splice(n-e.length,e.length).reduce((m,f)=>m*f,1);a.push(l);let c=i.reshape(a),p=GZ(c,t,o);if(p=p.reshape(i.shape),s!=null){let m=S.getUndoAxesPermutation(s);p=Vt(p,m)}return p}var f$={kernelName:Ms,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{axis:o}=e,s=[];return o==null?s=n.shape.map((i,a)=>a):typeof o==\"number\"?s=[o]:s=o,{x:()=>WZ(n,r,s)}}};var d$={kernelName:as,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=ct(r,J(n,\"float32\")),u=be(e.shape,o);return u.length>0?R(mt(a,u),e.shape):a},b:()=>{let a=$(r,J(e,\"float32\")),u=be(n.shape,o);u.length>0&&(a=R(mt(a,u),n.shape));let l=Wt(n);return Ut(ct(a,J(l,\"float32\")))}}}};var h$={kernelName:Ps,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,Ut(Wt(e)))}}};var g$={kernelName:Vs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t,n=$(Vn(e,6),So(e));return{x:()=>$(r,J(n,\"float32\"))}}};var x$={kernelName:Ls,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,J(So(e),\"float32\"))}}};var y$={kernelName:Vi,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>R(r,e.shape)}}};var b$={kernelName:Bs,inputsToSave:[\"images\"],gradFunc:(r,t,e)=>{let[n]=t,o={dy:r,images:n};return{images:()=>T.runKernel(rl,o,e)}}};var w$={kernelName:zs,inputsToSave:[\"images\"],gradFunc:(r,t,e)=>{let[n]=t,o={dy:r,images:n};return{images:()=>T.runKernel(el,o,e)}}};var I$={kernelName:Gs,gradFunc:(r,t,e)=>{let{dims:n}=e,o=fr(n,r.shape);return{x:()=>dr(r,o)}}};var C$={kernelName:Ws,gradFunc:r=>({x:()=>vt(r)})};var v$={kernelName:Us,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>Ut(ct(r,$(un(e,1.5),2)))}}};var S$={kernelName:Gi,inputsToSave:[\"condition\"],gradFunc:(r,t)=>{let[e]=t;return{condition:()=>J(vt(e),\"float32\"),t:()=>$(r,J(e,r.dtype)),e:()=>$(r,J(Nu(e),r.dtype))}}};var N$={kernelName:Hs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Re(e,pt(0)),o=pt(kN),s=pt(TN),i=$(r,s),a=$($(r,o),Ke(J(e,\"float32\")));return we(n,i,a)}}}};var k$={kernelName:Xs,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,$(e,at(pt(1),e)))}}};var T$={kernelName:js,gradFunc:r=>({x:()=>vt(r)})};var _$={kernelName:qs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(bu(J(e,\"float32\")),r)}}};var E$={kernelName:Ks,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(sm(J(e,\"float32\")),r)}}};var A$={kernelName:Wi,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{begin:o,size:s}=e,i=n.shape,[a,u]=NN(n,o,s),l=[];for(let c=0;cmn(r,l)}}};var D$={kernelName:Qs,outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n]=t,{dim:o}=e,s=!0,i=$(r,n);return{logits:()=>at(i,$(mt(i,[o],s),n))}}};var $$={kernelName:Ys,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,Qr(e))}}};var $N={kernelName:Ui,gradFunc:(r,t,e)=>{let{blockShape:n,paddings:o}=e;return{x:()=>yu(r,n,o)}}};var RN={kernelName:Hi,gradFunc:(r,t,e)=>{let{axis:n}=e;return{x:()=>ie(r,n)}}};var R$={kernelName:Zs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,$(Se(J(e,\"float32\")),2))}}};var F$={kernelName:iu,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(r,$(J(e,\"float32\"),2))}}};var O$={kernelName:ti,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=pt(2);return{a:()=>$(r,$(o,at(e,n))),b:()=>$(r,$(o,at(n,e)))}}};var M$={kernelName:xo,gradFunc:r=>({x:()=>vt(r)})};var P$={kernelName:ei,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=Mt(e.shape,n.shape);return{a:()=>{let a=r,u=be(e.shape,o);return u.length>0&&(a=mt(a,u)),R(a,e.shape)},b:()=>{let a=r,u=be(n.shape,o);return u.length>0&&(a=mt(a,u)),R(Ut(a),n.shape)}}}};var L$={kernelName:Js,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,o=n.shape.slice(),{axis:s}=e;fr(s,n.shape).forEach(l=>{o[l]=1});let a=R(r,o),u=$(a,ar(n.shape,\"float32\"));return{x:()=>u}}};var z$={kernelName:ri,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,Wt(bu(e)))}}};var B$={kernelName:ni,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t;return{x:()=>$(at(pt(1),Wt(e)),r)}}};var V$={kernelName:oo,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{reps:o}=e;return{x:()=>{let i=vt(n);if(n.rank===1)for(let a=0;a{let n=e,{perm:o}=n,s=mh(o);return{x:()=>Vt(r,s)}}};var W$={kernelName:qi,gradFunc:(r,t,e)=>{let n=e,{axis:o}=n;return{value:()=>Fe(r,o)}}};var U$={kernelName:pu,inputsToSave:[\"segmentIds\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>UZ(r,e)}}};function UZ(r,t){let e=kn(t,vt(t)),n=ua(r,e),o=cn(t,pt(0,\"int32\")),s=n.rank-o.rank;for(let a=0;a({x:()=>vt(r)})};var HZ=[Dy,Y2,Z2,J2,Q2,tD,eD,rD,nD,oD,sD,iD,lD,cD,pD,mD,fD,dD,hD,gD,xD,yD,wD,bD,CD,vD,SD,ND,kD,TD,d$,_D,ED,AD,DD,$D,FD,RD,OD,LD,zD,BD,VD,GD,WD,UD,HD,qD,KD,XD,AN,AN,YD,JD,t$,e$,r$,n$,o$,s$,i$,a$,l$,u$,c$,DN,DN,p$,m$,f$,h$,g$,x$,y$,b$,w$,I$,C$,v$,S$,N$,k$,T$,_$,E$,A$,D$,$$,$N,$N,RN,RN,R$,O$,F$,M$,P$,L$,z$,B$,V$,G$,W$,U$,H$];for(let r of HZ)A_(r);O().prototype.abs=function(){return this.throwIfDisposed(),_e(this)};O().prototype.acos=function(){return this.throwIfDisposed(),mx(this)};O().prototype.acosh=function(){return this.throwIfDisposed(),fx(this)};O().prototype.add=function(r){return this.throwIfDisposed(),X(this,r)};O().prototype.all=function(r,t){return this.throwIfDisposed(),tm(this,r,t)};O().prototype.any=function(r,t){return this.throwIfDisposed(),cc(this,r,t)};O().prototype.argMax=function(r){return this.throwIfDisposed(),ea(this,r)};O().prototype.argMin=function(r){return this.throwIfDisposed(),dx(this,r)};O().prototype.asScalar=function(){return this.throwIfDisposed(),_(this.size===1,()=>\"The array must have only 1 element.\"),R(this,[])};O().prototype.asType=function(r){return this.throwIfDisposed(),J(this,r)};O().prototype.as1D=function(){return this.throwIfDisposed(),R(this,[this.size])};O().prototype.as2D=function(r,t){return this.throwIfDisposed(),R(this,[r,t])};O().prototype.as3D=function(r,t,e){return this.throwIfDisposed(),R(this,[r,t,e])};O().prototype.as4D=function(r,t,e,n){return this.throwIfDisposed(),R(this,[r,t,e,n])};O().prototype.as5D=function(r,t,e,n,o){return this.throwIfDisposed(),R(this,[r,t,e,n,o])};O().prototype.asin=function(){return this.throwIfDisposed(),hx(this)};O().prototype.asinh=function(){return this.throwIfDisposed(),gx(this)};O().prototype.atan=function(){return this.throwIfDisposed(),xx(this)};O().prototype.atan2=function(r){return this.throwIfDisposed(),yx(this,r)};O().prototype.atanh=function(){return this.throwIfDisposed(),bx(this)};O().prototype.avgPool=function(r,t,e,n){return this.throwIfDisposed(),xu(this,r,t,e,n)};O().prototype.batchToSpaceND=function(r,t){return this.throwIfDisposed(),yu(this,r,t)};O().prototype.batchNorm=function(r,t,e,n,o){return this.throwIfDisposed(),oa(this,r,t,e,n,o)};O().prototype.broadcastTo=function(r){return this.throwIfDisposed(),sa(this,r)};O().prototype.cast=function(r){return this.throwIfDisposed(),J(this,r)};O().prototype.ceil=function(){return this.throwIfDisposed(),Nx(this)};O().prototype.clipByValue=function(r,t){return this.throwIfDisposed(),vr(this,r,t)};O().prototype.concat=function(r,t){return this.throwIfDisposed(),r instanceof Lt&&(r=[r]),ie([this,...r],t)};O().prototype.conv1d=function(r,t,e,n,o,s){return this.throwIfDisposed(),rm(this,r,t,e,n,o,s)};O().prototype.conv2dTranspose=function(r,t,e,n,o){return this.throwIfDisposed(),om(this,r,t,e,n,o)};O().prototype.conv2d=function(r,t,e,n,o,s){return this.throwIfDisposed(),Nn(this,r,t,e,n,o,s)};O().prototype.cos=function(){return this.throwIfDisposed(),bu(this)};O().prototype.cosh=function(){return this.throwIfDisposed(),sm(this)};O().prototype.cumprod=function(r,t,e){return this.throwIfDisposed(),mc(this,r,t,e)};O().prototype.cumsum=function(r,t,e){return this.throwIfDisposed(),im(this,r,t,e)};O().prototype.depthToSpace=function(r,t){return this.throwIfDisposed(),Rx(this,r,t)};O().prototype.depthwiseConv2d=function(r,t,e,n,o,s){return this.throwIfDisposed(),ia(this,r,t,e,n,o,s)};O().prototype.dilation2d=function(r,t,e,n,o){return this.throwIfDisposed(),Fx(this,r,t,e,n,o)};O().prototype.divNoNan=function(r){return this.throwIfDisposed(),Ox(this,r)};O().prototype.div=function(r){return this.throwIfDisposed(),ct(this,r)};O().prototype.dot=function(r){return this.throwIfDisposed(),Mx(this,r)};O().prototype.elu=function(){return this.throwIfDisposed(),aa(this)};O().prototype.equal=function(r){return this.throwIfDisposed(),$r(this,r)};O().prototype.erf=function(){return this.throwIfDisposed(),Px(this)};O().prototype.euclideanNorm=function(r,t){return this.throwIfDisposed(),Lx(this,r,t)};O().prototype.exp=function(){return this.throwIfDisposed(),Ke(this)};O().prototype.expandDims=function(r){return this.throwIfDisposed(),je(this,r)};O().prototype.expm1=function(){return this.throwIfDisposed(),zx(this)};O().prototype.fft=function(){return this.throwIfDisposed(),Au(this)};O().prototype.flatten=function(){return this.throwIfDisposed(),R(this,[this.size])};O().prototype.floor=function(){return this.throwIfDisposed(),la(this)};O().prototype.floorDiv=function(r){return this.throwIfDisposed(),Qp(this,r)};O().prototype.gather=function(r,t,e){return this.throwIfDisposed(),ua(this,r,t,e)};O().prototype.greaterEqual=function(r){return this.throwIfDisposed(),cn(this,r)};O().prototype.greater=function(r){return this.throwIfDisposed(),Re(this,r)};O().prototype.ifft=function(){return this.throwIfDisposed(),wl(this)};O().prototype.irfft=function(){return this.throwIfDisposed(),ym(this)};O().prototype.isFinite=function(){return this.throwIfDisposed(),Bx(this)};O().prototype.isInf=function(){return this.throwIfDisposed(),Vx(this)};O().prototype.isNaN=function(){return this.throwIfDisposed(),Gx(this)};O().prototype.leakyRelu=function(r){return this.throwIfDisposed(),Cu(this,r)};O().prototype.lessEqual=function(r){return this.throwIfDisposed(),Vn(this,r)};O().prototype.less=function(r){return this.throwIfDisposed(),yl(this,r)};O().prototype.localResponseNormalization=function(r,t,e,n){return this.throwIfDisposed(),Wx(this,r,t,e,n)};O().prototype.logSigmoid=function(){return this.throwIfDisposed(),qx(this)};O().prototype.logSoftmax=function(r){return this.throwIfDisposed(),am(this,r)};O().prototype.logSumExp=function(r,t){return this.throwIfDisposed(),Su(this,r,t)};O().prototype.log=function(){return this.throwIfDisposed(),Nr(this)};O().prototype.log1p=function(){return this.throwIfDisposed(),vu(this)};O().prototype.logicalAnd=function(r){return this.throwIfDisposed(),Fr(this,r)};O().prototype.logicalNot=function(){return this.throwIfDisposed(),Nu(this)};O().prototype.logicalOr=function(r){return this.throwIfDisposed(),lm(this,r)};O().prototype.logicalXor=function(r){return this.throwIfDisposed(),Kx(this,r)};O().prototype.matMul=function(r,t,e){return this.throwIfDisposed(),Bt(this,r,t,e)};O().prototype.maxPool=function(r,t,e,n){return this.throwIfDisposed(),ku(this,r,t,e,n)};O().prototype.max=function(r,t){return this.throwIfDisposed(),Sr(this,r,t)};O().prototype.maximum=function(r){return this.throwIfDisposed(),kn(this,r)};O().prototype.mean=function(r,t){return this.throwIfDisposed(),Ne(this,r,t)};O().prototype.min=function(r,t){return this.throwIfDisposed(),gl(this,r,t)};O().prototype.minimum=function(r){return this.throwIfDisposed(),lo(this,r)};O().prototype.mirrorPad=function(r,t){return this.throwIfDisposed(),Yx(this,r,t)};O().prototype.mod=function(r){return this.throwIfDisposed(),Zx(this,r)};O().prototype.mul=function(r){return this.throwIfDisposed(),$(this,r)};O().prototype.neg=function(){return this.throwIfDisposed(),Ut(this)};O().prototype.norm=function(r,t,e){return this.throwIfDisposed(),xl(this,r,t,e)};O().prototype.notEqual=function(r){return this.throwIfDisposed(),ui(this,r)};O().prototype.oneHot=function(r,t=1,e=0){return this.throwIfDisposed(),ca(this,r,t,e)};O().prototype.onesLike=function(){return this.throwIfDisposed(),wr(this)};O().prototype.pad=function(r,t){return this.throwIfDisposed(),mn(this,r,t)};O().prototype.pool=function(r,t,e,n,o,s){return this.throwIfDisposed(),Jx(this,r,t,e,n,o,s)};O().prototype.pow=function(r){return this.throwIfDisposed(),un(this,r)};O().prototype.prelu=function(r){return this.throwIfDisposed(),_u(this,r)};O().prototype.prod=function(r,t){return this.throwIfDisposed(),Qx(this,r,t)};O().prototype.reciprocal=function(){return this.throwIfDisposed(),sy(this)};O().prototype.relu=function(){return this.throwIfDisposed(),Or(this)};O().prototype.relu6=function(){return this.throwIfDisposed(),um(this)};O().prototype.reshapeAs=function(r){return this.throwIfDisposed(),R(this,r.shape)};O().prototype.reshape=function(r){return this.throwIfDisposed(),R(this,r)};O().prototype.resizeBilinear=function(r,t,e){return this.throwIfDisposed(),Cy(this,r,t,e)};O().prototype.resizeNearestNeighbor=function(r,t,e){return this.throwIfDisposed(),vy(this,r,t,e)};O().prototype.reverse=function(r){return this.throwIfDisposed(),dr(this,r)};O().prototype.rfft=function(){return this.throwIfDisposed(),Du(this)};O().prototype.round=function(){return this.throwIfDisposed(),cm(this)};O().prototype.rsqrt=function(){return this.throwIfDisposed(),pm(this)};O().prototype.selu=function(){return this.throwIfDisposed(),mm(this)};O().prototype.separableConv2d=function(r,t,e,n,o,s){return this.throwIfDisposed(),fm(this,r,t,e,n,o,s)};O().prototype.sigmoid=function(){return this.throwIfDisposed(),Qr(this)};O().prototype.sign=function(){return this.throwIfDisposed(),iy(this)};O().prototype.sin=function(){return this.throwIfDisposed(),dm(this)};O().prototype.sinh=function(){return this.throwIfDisposed(),hm(this)};O().prototype.slice=function(r,t){return this.throwIfDisposed(),Ot(this,r,t)};O().prototype.softmax=function(r){return this.throwIfDisposed(),Eu(this,r)};O().prototype.softplus=function(){return this.throwIfDisposed(),li(this)};O().prototype.spaceToBatchND=function(r,t){return this.throwIfDisposed(),Tu(this,r,t)};O().prototype.split=function(r,t){return this.throwIfDisposed(),hr(this,r,t)};O().prototype.sqrt=function(){return this.throwIfDisposed(),Se(this)};O().prototype.square=function(){return this.throwIfDisposed(),Wt(this)};O().prototype.squaredDifference=function(r){return this.throwIfDisposed(),bm(this,r)};O().prototype.squeeze=function(r){return this.throwIfDisposed(),Wn(this,r)};O().prototype.stack=function(r,t){this.throwIfDisposed();let e=r instanceof Lt?[this,r]:[this,...r];return Fe(e,t)};O().prototype.step=function(r){return this.throwIfDisposed(),So(this,r)};O().prototype.stridedSlice=function(r,t,e,n,o,s,i,a){return this.throwIfDisposed(),ay(this,r,t,e,n,o,s,i,a)};O().prototype.sub=function(r){return this.throwIfDisposed(),at(this,r)};O().prototype.sum=function(r,t){return this.throwIfDisposed(),mt(this,r,t)};O().prototype.tan=function(){return this.throwIfDisposed(),ly(this)};O().prototype.tanh=function(){return this.throwIfDisposed(),na(this)};O().prototype.tile=function(r){return this.throwIfDisposed(),Rr(this,r)};O().prototype.toBool=function(){return this.throwIfDisposed(),J(this,\"bool\")};O().prototype.toFloat=function(){return this.throwIfDisposed(),J(this,\"float32\")};O().prototype.toInt=function(){return this.throwIfDisposed(),J(this,\"int32\")};O().prototype.topk=function(r,t){return this.throwIfDisposed(),cy(this,r,t)};O().prototype.transpose=function(r){return this.throwIfDisposed(),Vt(this,r)};O().prototype.unique=function(r){return this.throwIfDisposed(),py(this,r)};O().prototype.unsortedSegmentSum=function(r,t){return this.throwIfDisposed(),Cm(this,r,t)};O().prototype.unstack=function(r){return this.throwIfDisposed(),gr(this,r)};O().prototype.where=function(r,t){return this.throwIfDisposed(),we(r,this,t)};O().prototype.zerosLike=function(){return this.throwIfDisposed(),vt(this)};var uo=class r extends Error{constructor(t){super(t),Object.setPrototypeOf(this,r.prototype)}},dn=class r extends Error{constructor(t){super(t),Object.setPrototypeOf(this,r.prototype)}},z=class r extends Error{constructor(t){super(t),Object.setPrototypeOf(this,r.prototype)}},_t=class r extends Error{constructor(t){super(t),Object.setPrototypeOf(this,r.prototype)}},Ry=class r extends Error{constructor(t){super(t),Object.setPrototypeOf(this,r.prototype)}};var Ch=class{constructor(t){this.maxEntries=t||100,this.cache=new Map}get(t){let e;return this.cache.has(t)&&(e=this.cache.get(t),this.cache.delete(t),this.cache.set(t,e)),e}put(t,e){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxEntries){let n=this.cache.keys().next().value;this.cache.delete(n)}this.cache.set(t,e)}getMaxEntries(){return this.maxEntries}setMaxEntries(t){if(t<0)throw new Error(`The maxEntries of LRU caches must be at least 0, but got ${t}.`);if(this.maxEntries>t)for(let e=0;ee.toUpperCase())}var ko={};function Nm(r){if(r==null)return null;let t={};return t.className=r.getClassName(),t.config=r.getConfig(),t}function FN(r){if(!(r==null||typeof r!=\"object\"))if(Array.isArray(r))r.forEach(t=>FN(t));else{let t=Object.keys(r);for(let e of t){let n=r[e];n!=null&&typeof n==\"object\"&&(!Array.isArray(n)&&n.type===\"ndarray\"&&typeof n.value==\"number\"?r[e]=n.value:FN(n))}}}function fa(r,t={},e={},n=\"object\",o=!1){if(typeof r==\"string\"){let s=r,i;if(s in e)i=e[s];else if(s in ko)i=ko[s];else if(i=t[s],i==null)throw new z(`Unknown ${n}: ${r}. This may be due to one of the following reasons:\n1. The ${n} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${n} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return i}else{let s=r;if(s.className==null||s.config==null)throw new z(`${n}: Improper config format: ${JSON.stringify(s)}.\n'className' and 'config' must set.`);let i=s.className,a,u;if(i in e?[a,u]=e[i]:i in ko?[a,u]=ko.className:i in t&&([a,u]=t[i]),a==null)throw new z(`Unknown ${n}: ${i}. This may be due to one of the following reasons:\n1. The ${n} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${n} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(u!=null){let l={};for(let f of Object.keys(ko))l[f]=ko[f];for(let f of Object.keys(e))l[f]=e[f];let c=s.config;c.customObjects=l;let p=Object.assign({},ko);for(let f of Object.keys(e))ko[f]=e[f];FN(s.config);let m=u(a,s.config,e,o);return ko=Object.assign({},p),m}else{let l=Object.assign({},ko);for(let p of Object.keys(e))ko[p]=e[p];let c=new a(s.config);return ko=Object.assign({},l),c}}}function qZ(r,t){return rt?1:0}function vh(r,t){return-1*qZ(r,t)}function Eo(r){if(r==null)return r;let t=[];for(let e of r)t.indexOf(e)===-1&&t.push(e);return t}function q$(r){if(r==null)throw new z(`Invalid value in obj: ${JSON.stringify(r)}`);for(let t in r)if(r.hasOwnProperty(t))return!1;return!0}function da(r,t,e){if(e!=null&&r.indexOf(e)<0)throw new z(`${e} is not a valid ${t}. Valid values are ${r} or null/undefined.`)}function Fy(r,t,e=0,n=1/0){return co(e>=0),co(n>=e),Array.isArray(r)&&r.length>=e&&r.length<=n&&r.every(o=>typeof o===t)}function tr(r,t){Array.isArray(r)?(y.assert(r.length>0,()=>`${t} is unexpectedly an empty array.`),r.forEach((e,n)=>tr(e,`element ${n+1} of ${t}`))):y.assert(Number.isInteger(r)&&r>0,()=>`Expected ${t} to be a positive integer, but got ${K$(r)}.`)}function K$(r){return r===null?\"null\":Array.isArray(r)?\"[\"+r.map(t=>K$(t)).join(\",\")+\"]\":typeof r==\"string\"?`\"${r}\"`:`${r}`}function j$(r,t,e){let n=e!=null?e():y.now(),o;return(...i)=>{let a=e!=null?e():y.now();return a-n0){let e=`${r}_${t}`;return km.set(e,1),e}else return r}var XZ=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\\._\\/]*$/);function rR(r){return!!r.match(XZ)}function nR(r){return r===parseInt(r.toString(),10)}function Ao(r,t,e){t==null&&(t=0),e==null&&(e=r.length);let n=1;for(let o=t;ot&&(t=n)}return t}function gn(r,t){if(t{if(r.shape.length!==2)throw new z(`repeat() expects a rank-2 tensor, but received a rank-${r.shape.length} tensor.`);let e=Sl(r,1);return Vy(e,[1,t,1])})}function sR(r){let t=[Ao(r.shape)];return R(r,t)}function iR(r){if(r.rank<=1)throw new z(`batchFlatten requires a minimum rank of 2. Got rank: ${r.rank}.`);let t=[r.shape[0],Ao(r.shape,1)];return R(r,t)}function vl(r,t,e){return B(()=>{switch(r.rank){case 1:return gm(r,t,e);case 2:return hh(r,[t,0],[e,r.shape[1]]);case 3:return xm(r,[t,0,0],[e,r.shape[1],r.shape[2]]);case 4:return yc(r,[t,0,0,0],[e,r.shape[1],r.shape[2],r.shape[3]]);case 5:return Ot(r,[t,0,0,0,0],[e,r.shape[1],r.shape[2],r.shape[3],r.shape[4]]);case 6:return Ot(r,[t,0,0,0,0,0],[e,r.shape[1],r.shape[2],r.shape[3],r.shape[4],r.shape[5]]);default:throw new z(`sliceAlongFirstAxis() received an unsupported tensor rank: ${r.rank}`)}})}function LN(r,t,e){return B(()=>{switch(r.rank){case 1:return gm(r,t,e);case 2:return hh(r,[0,t],[r.shape[0],e]);case 3:return xm(r,[0,0,t],[r.shape[0],r.shape[1],e]);case 4:return yc(r,[0,0,0,t],[r.shape[0],r.shape[1],r.shape[2],e]);default:throw new z(`sliceAlongLastAxis() received an unsupported tensor rank: ${r.rank}`)}})}function Nh(r,t,e,n){return B(()=>{switch(r.rank){case 1:return gm(r,t,e);case 2:switch(n){case 1:return vl(r,t,e);case 2:return LN(r,t,e);default:throw new z(`The axis is not within the rank of the tensor ${n}`)}case 3:switch(n){case 1:return vl(r,t,e);case 2:return xm(r,[0,t,0],[r.shape[0],e,r.shape[2]]);case 3:return LN(r,t,e);default:throw new z(`The axis is not within the rank of the tensor ${n}`)}case 4:switch(n){case 1:return vl(r,t,e);case 2:return yc(r,[0,t,0,0],[r.shape[0],e,r.shape[2],r.shape[3]]);case 3:return yc(r,[0,0,t,0],[r.shape[0],r.shape[1],e,r.shape[3]]);case 4:return LN(r,t,e);default:throw new z(`The axis is not within the rank of the tensor ${n}`)}default:throw new z(`sliceAlongLastAxis() received an unsupported tensor rank: ${r.rank}`)}})}function Tm(r,t=-1){let e;return t<0&&(e=r[0].rank,e!==0?t=e:t=0),t===r[0].rank&&(t=-1),ie(r,t)}function BN(r,t){switch(r.rank){case 1:return kx([r,t]);case 2:return Tx([r,t],0);case 3:return _x([r,t],0);case 4:return Ex([r,t],0);default:throw new z(`concatAlongFirstAxis() received an unsupported tensor rank: ${r.rank}`)}}function Vy(r,t){if(Array.isArray(t)||(t=[t]),r.rank!==t.length)throw new z(`The length of input n (${t.length}) does not match the number of dimensions in input x (${r.rank})`);return Rr(r,t)}function _m(r,t=0,e=1,n,o){return xc(r,t,e,n,o)}function Do(r,t,e,n){if(r.rank<2||t.rank<2)throw new _t(`dot requires both inputs to be rank >= 2 but got x shape = ${r.shape} and y shape = ${t.shape}`);if(t.rank>=3){let o=r.shape.slice(-1)[0],s=t.shape.slice(-2)[0];if(o!==s)throw new _t(`If rank y >= 3, then the second last dim of y must equal the last dim of x but got x shape = ${r.shape} and y shape = ${t.shape}`)}if(r.rank===2&&t.rank===2)return Ru.matMul({a:r,b:t,transposeA:!1,transposeB:!1,bias:n?zN(r.rank,n,xn()):null,activation:e});{let o=r.shape.slice(),s=o.pop();r=R(r,[-1,s]);let i=t.shape.slice(),a=i.pop(),u=i.pop(),l=[...i,a],c=Array.from({length:t.rank},(d,h)=>h===0?t.rank-2:h<=t.rank-2?h-1:h);t=R(Vt(t,c),[u,-1]);let p=[...o,...l];return R(Ru.matMul({a:r,b:t,transposeA:!1,transposeB:!1,bias:n?zN(r.rank,n,xn()):null,activation:e}),p)}}function Gy(r,t,e){return B(()=>(Array.isArray(t)?t=Oe(t,\"int32\"):t=J(t,\"int32\"),ua(r,t,e)))}function $c(r){return $(r,r)}function zN(r,t,e){let n=t.shape;if(t.rank!==1&&t.rank!==r)throw new z(`Unexpected bias dimensions: ${t.rank}; expected it to be 1 or ${r}`);if(r===5){if(e===\"channelsFirst\")return n.length===1?R(t,[1,n[0],1,1,1]):R(t,[1,n[3],n[0],n[1],n[2]]);if(e===\"channelsLast\")return n.length===1?R(t,[1,1,1,1,n[0]]):R(t,[1].concat(n))}else if(r===4){if(e===\"channelsFirst\")return n.length===1?R(t,[1,n[0],1,1]):R(t,[1,n[2],n[0],n[1]]);if(e===\"channelsLast\")return n.length===1?R(t,[1,1,1,n[0]]):R(t,[1].concat(n))}else if(r===3){if(e===\"channelsFirst\")return n.length===1?R(t,[1,n[0],1]):R(t,[1,n[1],n[0]]);if(e===\"channelsLast\")return n.length===1?R(t,[1,1,n[0]]):R(t,[1].concat(n))}else if(r<3)return t;throw new z(`Unsupported input rank by biasAdd: ${t.rank}`)}function yn(r,t,e){return B(()=>(e==null&&(e=xn()),Me(e),X(r,zN(r.rank,t,e))))}function aR(r,t=1){if(t!==1)throw new _t(`Support for alpha values other than 1 (${t}) is not implemented yet.`);return aa(r)}function lR(r){return B(()=>ct(r,X(_e(r),1)))}function Wy(r,t,e,n){return B(()=>mN(r,t,e,n))}function uR(r){return B(()=>{let t=X(.5,$(.2,r));return vr(t,0,1)})}function Ou(r,t,e=!1){return e?r():t()}var cR=[\"fanIn\",\"fanOut\",\"fanAvg\"],pR=[\"normal\",\"uniform\",\"truncatedNormal\"];function YZ(r){da(cR,\"FanMode\",r)}function ZZ(r){da(pR,\"Distribution\",r)}var bn=class extends Q.Serializable{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}},Em=class extends bn{apply(t,e){return ke(t,e)}};Em.className=\"Zeros\";Q.registerClass(Em);var Mu=class extends bn{apply(t,e){return ar(t,e)}};Mu.className=\"Ones\";Q.registerClass(Mu);var Am=class extends bn{constructor(t){if(super(),typeof t!=\"object\")throw new z(`Expected argument of type ConstantConfig but got ${t}`);if(t.value===void 0)throw new z(`config must have value set but got ${t}`);this.value=t.value}apply(t,e){return B(()=>$(pt(this.value),ar(t,e)))}getConfig(){return{value:this.value}}};Am.className=\"Constant\";Q.registerClass(Am);var Dm=class extends bn{constructor(t){super(),this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=t.minval||this.DEFAULT_MINVAL,this.maxval=t.maxval||this.DEFAULT_MAXVAL,this.seed=t.seed}apply(t,e){return Gn(t,this.minval,this.maxval,e,this.seed)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}};Dm.className=\"RandomUniform\";Q.registerClass(Dm);var $m=class extends bn{constructor(t){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=t.mean||this.DEFAULT_MEAN,this.stddev=t.stddev||this.DEFAULT_STDDEV,this.seed=t.seed}apply(t,e){if(e=e||\"float32\",e!==\"float32\"&&e!==\"int32\")throw new _t(`randomNormal does not support dType ${e}.`);return _m(t,this.mean,this.stddev,e,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}};$m.className=\"RandomNormal\";Q.registerClass($m);var Rm=class extends bn{constructor(t){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=t.mean||this.DEFAULT_MEAN,this.stddev=t.stddev||this.DEFAULT_STDDEV,this.seed=t.seed}apply(t,e){if(e=e||\"float32\",e!==\"float32\"&&e!==\"int32\")throw new _t(`truncatedNormal does not support dType ${e}.`);return Im(t,this.mean,this.stddev,e,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}};Rm.className=\"TruncatedNormal\";Q.registerClass(Rm);var Fm=class extends bn{constructor(t){super(),this.gain=t.gain!=null?t.gain:1}apply(t,e){return B(()=>{if(t.length!==2||t[0]!==t[1])throw new z(\"Identity matrix initializer can only be used for 2D square matrices.\");return $(this.gain,fc(t[0]))})}getConfig(){return{gain:this.gain}}};Fm.className=\"Identity\";Q.registerClass(Fm);function JZ(r,t=\"channelsLast\"){let e,n;if(Me(t),r.length===2)e=r[0],n=r[1];else if([3,4,5].indexOf(r.length)!==-1){if(t===\"channelsFirst\"){let o=Ao(r,2);e=r[1]*o,n=r[0]*o}else if(t===\"channelsLast\"){let o=Ao(r,0,r.length-2);e=r[r.length-2]*o,n=r[r.length-1]*o}}else{let o=Ao(r);e=Math.sqrt(o),n=Math.sqrt(o)}return[e,n]}var jr=class extends bn{constructor(t){if(super(),t.scale<0)throw new z(`scale must be a positive float. Got: ${t.scale}`);this.scale=t.scale==null?1:t.scale,this.mode=t.mode==null?\"fanIn\":t.mode,YZ(this.mode),this.distribution=t.distribution==null?\"normal\":t.distribution,ZZ(this.distribution),this.seed=t.seed}apply(t,e){let n=JZ(t),o=n[0],s=n[1],i=this.scale;if(this.mode===\"fanIn\"?i/=Math.max(1,o):this.mode===\"fanOut\"?i/=Math.max(1,s):i/=Math.max(1,(o+s)/2),this.distribution===\"normal\"){let a=Math.sqrt(i);if(e=e||\"float32\",e!==\"float32\"&&e!==\"int32\")throw new _t(`${this.getClassName()} does not support dType ${e}.`);return Im(t,0,a,e,this.seed)}else{let a=Math.sqrt(3*i);return Gn(t,-a,a,e,this.seed)}}getConfig(){return{scale:this.scale,mode:this.mode,distribution:this.distribution,seed:this.seed}}};jr.className=\"VarianceScaling\";Q.registerClass(jr);var Rc=class extends jr{constructor(t){super({scale:1,mode:\"fanAvg\",distribution:\"uniform\",seed:t==null?null:t.seed})}getClassName(){return jr.className}};Rc.className=\"GlorotUniform\";Q.registerClass(Rc);var Fc=class extends jr{constructor(t){super({scale:1,mode:\"fanAvg\",distribution:\"normal\",seed:t==null?null:t.seed})}getClassName(){return jr.className}};Fc.className=\"GlorotNormal\";Q.registerClass(Fc);var Oc=class extends jr{constructor(t){super({scale:2,mode:\"fanIn\",distribution:\"normal\",seed:t==null?null:t.seed})}getClassName(){return jr.className}};Oc.className=\"HeNormal\";Q.registerClass(Oc);var Mc=class extends jr{constructor(t){super({scale:2,mode:\"fanIn\",distribution:\"uniform\",seed:t==null?null:t.seed})}getClassName(){return jr.className}};Mc.className=\"HeUniform\";Q.registerClass(Mc);var Pc=class extends jr{constructor(t){super({scale:1,mode:\"fanIn\",distribution:\"normal\",seed:t==null?null:t.seed})}getClassName(){return jr.className}};Pc.className=\"LeCunNormal\";Q.registerClass(Pc);var Lc=class extends jr{constructor(t){super({scale:1,mode:\"fanIn\",distribution:\"uniform\",seed:t==null?null:t.seed})}getClassName(){return jr.className}};Lc.className=\"LeCunUniform\";Q.registerClass(Lc);var Om=class extends bn{constructor(t){super(),this.DEFAULT_GAIN=1,this.ELEMENTS_WARN_SLOW=2e3,this.gain=t.gain==null?this.DEFAULT_GAIN:t.gain,this.seed=t.seed}apply(t,e){return B(()=>{if(t.length<2)throw new _t(\"Shape must be at least 2D.\");if(e!==\"int32\"&&e!==\"float32\"&&e!==void 0)throw new TypeError(`Unsupported data type ${e}.`);e=e;let n=y.sizeFromShape(t.slice(0,-1)),o=t[t.length-1],s=n*o;s>this.ELEMENTS_WARN_SLOW&&console.warn(`Orthogonal initializer is being called on a matrix with more than ${this.ELEMENTS_WARN_SLOW} (${s}) elements: Slowness may result.`);let i=[Math.max(o,n),Math.min(o,n)],a=_m(i,0,1,e,this.seed),u=hN.qr(a,!1),l=u[0],p=u[1].flatten().stridedSlice([0],[Math.min(o,n)*Math.min(o,n)],[Math.min(o,n)+1]);return l=$(l,p.sign()),nn*o);return t}var hR=\"Variable\",kh=class{constructor(t,e=\"float32\",n=hR,o=!0,s=null){this.dtype=e==null?\"float32\":e,this.shape=t.shape,this.id=Py(),n=n==null?hR:n,this.originalName=Ly(n),this.name=zy(this.originalName),this.trainable_=o,this.constraint=s,this.val=my(t,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(t){return this.assertNotDisposed(),t7(this.val,t),this.val.id!==t.id&&(this.val.assign(t),this.constraint!=null&&this.val.assign(this.constraint.apply(this.val))),this}dispose(){this.assertNotDisposed(),this.val.dispose()}assertNotDisposed(){if(this.val.isDisposed)throw new Error(`LayersVariable ${this.name} is already disposed.`)}get trainable(){return this.trainable_}set trainable(t){this.trainable_=t,this.val.trainable=t}};function t7(r,t){if(r.shape.toString()!==t.shape.toString())throw new Error(\"Shape mismatch: \"+JSON.stringify(r.shape)+\" vs. \"+JSON.stringify(t.shape))}function Th(r){return r.map(t=>t.read())}function Lm(r){r.forEach(t=>{t[0].write(t[1])})}var Ie=class{constructor(t){this.dtype=t.dtype,this.shape=t.shape,t.shape!=null?this.ndim=t.shape.length:this.ndim=t.ndim,this.maxNDim=t.maxNDim,this.minNDim=t.minNDim,this.axes=t.axes||{}}},en=class{constructor(t,e,n,o,s,i,a){this.dtype=t,this.shape=e,this.sourceLayer=n,this.inputs=o,this.callArgs=s,this.outputTensorIndex=a,this.id=Py(),i!=null&&(this.originalName=Ly(i),this.name=zy(this.originalName)),this.rank=e.length}},e7=0,Nl=class{constructor(t,e){this.callArgs=e,this.id=e7++,this.outboundLayer=t.outboundLayer,this.inboundLayers=t.inboundLayers,this.nodeIndices=t.nodeIndices,this.tensorIndices=t.tensorIndices,this.inputTensors=t.inputTensors,this.outputTensors=t.outputTensors,this.inputMasks=t.inputMasks,this.outputMasks=t.outputMasks,this.inputShapes=t.inputShapes,this.outputShapes=t.outputShapes;for(let n of t.inboundLayers)n!=null&&n.outboundNodes.push(this);t.outboundLayer.inboundNodes.push(this)}getConfig(){let t=[];for(let e of this.inboundLayers)e!=null?t.push(e.name):t.push(null);return{outboundLayer:this.outboundLayer?this.outboundLayer.name:null,inboundLayers:t,nodeIndices:this.nodeIndices,tensorIndices:this.tensorIndices}}},r7=0,Et=class extends Q.Serializable{constructor(t={}){super(),this._callHook=null,this._addedWeightNames=[],this._stateful=!1,this.id=r7++,this.activityRegularizer=null,this.inputSpec=null,this.supportsMasking=!1,this._trainableWeights=[],this._nonTrainableWeights=[],this._losses=[],this._updates=[],this._built=!1,this.inboundNodes=[],this.outboundNodes=[];let e=t.name;if(!e){let n=this.getClassName();e=_o(n)+\"_\"+Fu(n)}if(this.name=e,this.trainable_=t.trainable==null?!0:t.trainable,t.inputShape!=null||t.batchInputShape!=null){let n;if(t.batchInputShape!=null)n=t.batchInputShape;else if(t.inputShape!=null){let s=null;t.batchSize!=null&&(s=t.batchSize),n=[s].concat(t.inputShape)}this.batchInputShape=n;let o=t.dtype;o==null&&(o=t.inputDType),o==null&&(o=\"float32\"),this.dtype=o}t.weights!=null?this.initialWeights=t.weights:this.initialWeights=null,this._refCount=null,this.fastWeightInitDuringBuild=!1}static nodeKey(t,e){return t.name+\"_ib-\"+e.toString()}getNodeAtIndex(t,e){if(this.inboundNodes.length===0)throw new dn(`The layer has never been called and thus has no defined ${e}.`);if(this.inboundNodes.length<=t)throw new z(`Asked to get ${e} at node ${t}, but the layer has only ${this.inboundNodes.length} inbound nodes.`);return this.inboundNodes[t]}getInputAt(t){return kr(this.getNodeAtIndex(t,\"input\").inputTensors)}getOutputAt(t){return kr(this.getNodeAtIndex(t,\"output\").outputTensors)}get input(){if(this.inboundNodes.length>1)throw new uo(`Layer ${this.name} has multiple inbound nodes, hence the notion of \"layer input\" is ill-defined. Use \\`getInputAt(nodeIndex)\\` instead.`);if(this.inboundNodes.length===0)throw new uo(`Layer ${this.name} is not connected, no input to return.`);return kr(this.getNodeAtIndex(0,\"input\").inputTensors)}get output(){if(this.inboundNodes.length===0)throw new uo(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new uo(`Layer ${this.name} has multiple inbound nodes, hence the notion of \"layer output\" is ill-defined. Use \\`getOutputAt(nodeIndex)\\` instead.`);return kr(this.getNodeAtIndex(0,\"output\").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map(t=>t())}get updates(){return this._updates}get built(){return this._built}set built(t){this._built=t}get trainable(){return this.trainable_}set trainable(t){this._trainableWeights.forEach(e=>e.trainable=t),this.trainable_=t}get trainableWeights(){return this.trainable_?this._trainableWeights.filter(t=>t.trainable):[]}set trainableWeights(t){this._trainableWeights=t}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter(t=>!t.trainable).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(t){this._nonTrainableWeights=t}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}get stateful(){return this._stateful}resetStates(){if(!this.stateful)throw new Error(\"Cannot call the resetStates() method of a non-stateful Layer object.\")}assertInputCompatibility(t){let e=ue(t);if(this.inputSpec==null||this.inputSpec.length===0)return;let n=ue(this.inputSpec);if(e.length!==n.length)throw new z(`Layer ${this.name} expects ${n.length} inputs, but it received ${e.length} input tensors. Input received: ${t}`);for(let o=0;oi.maxNDim)throw new z(`Input ${o} is incompatible with layer ${this.name}: expected max_ndim=${i.maxNDim}, found ndim=${a}`);if(i.minNDim!=null&&a=0?u[c]:u[u.length+c];if(p!=null&&[p,null].indexOf(m)===-1)throw new z(`Input ${o} is incompatible with layer ${this.name}: expected axis ${c} of input shape to have value ${p} but got shape ${u}.`)}}if(i.shape!=null)for(let u=0;u{if(!this.built){this.assertInputCompatibility(t);let i=[];for(let a of ue(t))i.push(a.shape);this.build(kr(i)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),this._refCount===null&&s&&(this._refCount=1)}if(this.assertInputCompatibility(t),s){let i=this.call(t,e);this.supportsMasking&&this.setMaskMetadata(t,i);let a=ue(i),u=[];for(let l of a)n.indexOf(l)!==-1&&(l=l.clone()),u.push(l);if(i=kr(u),this.activityRegularizer!=null)throw new _t(\"Layer invocation in the presence of activity regularizer(s) is not supported yet.\");return i}else{let i=n7(t),a=this.computeOutputShape(i),u,l=o7(t);if(this.warnOnIncompatibleInputShape(Array.isArray(t)?i[0]:i),a!=null&&a.length>0&&Array.isArray(a[0])?u=a.map((c,p)=>new en(l,c,this,ue(t),e,this.name,p)):u=new en(l,a,this,ue(t),e,this.name),this.addInboundNode(t,u,null,null,i,a,e),this._refCount++,this.activityRegularizer!=null)throw new _t(\"Layer invocation in the presence of activity regularizer(s) is not supported yet.\");return u}})}warnOnIncompatibleInputShape(t){if(this.batchInputShape!=null)if(t.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(t)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let e=!1;this.batchInputShape.forEach((n,o)=>{n!=null&&t[o]!=null&&t[o]!==n&&(e=!0)}),e&&console.warn(`The shape of the input tensor (${JSON.stringify(t)}) does not match the expectation of layer ${this.name}: ${JSON.stringify(this.batchInputShape)}`)}}get outputShape(){if(this.inboundNodes==null||this.inboundNodes.length===0)throw new uo(`The layer ${this.name} has never been called and thus has no defined output shape.`);let t=[];for(let e of this.inboundNodes){let n=JSON.stringify(e.outputShapes);t.indexOf(n)===-1&&t.push(n)}if(t.length===1){let e=this.inboundNodes[0].outputShapes;return Array.isArray(e)&&Array.isArray(e[0])&&e.length===1?e[0]:e}else throw new uo(`The layer ${this.name} has multiple inbound nodes with different output shapes. Hence the notion of \"output shape\" is ill-defined for the layer.`)}countParams(){if(!this.built)throw new dn(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return Pm(this.weights)}build(t){this.built=!0}getWeights(t=!1){return Th(t?this.trainableWeights:this.weights)}setWeights(t){B(()=>{let e=this.weights;if(e.length!==t.length)throw new z(`You called setWeights(weights) on layer \"${this.name}\" with a weight list of length ${t.length}, but the layer was expecting ${e.length} weights. Provided weights: ${t}...`);if(e.length===0)return;let n=[],o=Th(e);for(let s=0;ss.apply(c.read())),i==null&&(i=!0),i?this._trainableWeights.push(c):this._nonTrainableWeights.push(c),c}setFastWeightInitDuringBuild(t){this.fastWeightInitDuringBuild=t}addLoss(t){t==null||Array.isArray(t)&&t.length===0||(t=ue(t),this._losses!==void 0&&this._losses!==null&&this.losses.push(...t))}computeOutputShape(t){return t}computeMask(t,e){if(!this.supportsMasking){if(e!=null)if(Array.isArray(e))e.forEach(n=>{if(n!=null)throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`)});else throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`);return null}return e}setMaskMetadata(t,e,n){if(!this.supportsMasking)return;let o=this.computeMask(t,n),s=ue(e),i=ue(o);if(s.length!==i.length)throw new Error(`${this.name} outputs ${s.length} tensors but ${s.length} masks for those tensors`);for(let a=0;at.dispose()),this.weights.length}assertNotDisposed(){if(this._refCount===0)throw new Error(`Layer '${this.name}' is already disposed.`)}dispose(){if(!this.built)throw new Error(`Cannot dispose Layer ${this.name} because it has not been built yet.`);if(this._refCount===null)throw new Error(`Cannot dispose Layer ${this.name} because it has not been used yet.`);this.assertNotDisposed();let t=0;return--this._refCount===0&&(t=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:t}}};function n7(r){r=ue(r);let t=[];for(let e of r)t.push(e.shape);return kr(t)}function o7(r){return\"float32\"}function VN(r,t,e){if((t==null||e!=null&&e>0)&&(t=r.sourceLayer,e=r.nodeIndex),t.inboundNodes.length===0)return[r];{let n=t.inboundNodes[e];if(n.inboundLayers.length===0)return n.inputTensors;{let o=[];for(let s=0;sd.name),u=[],l=t.names();for(let d of a)l.indexOf(d)!==-1?u.push(t.getValue(d)):u.push(null);n!=null&&(n.maxNumTensors=-1/0,n.minNumTensors=1/0);let c=a.join(\",\")+\"|\"+t.names().sort().join(\",\"),p=qy.get(c),m;if(p==null){let d=l7(i,t);p=d.sorted,m=d.recipientCounts,qy.put(c,p),Ky.put(c,m)}m={},o||Object.assign(m,Ky.get(c));let f=new ha(t);for(let d=0;dn.maxNumTensors&&(n.maxNumTensors=F),F0,()=>\"Expected at least one fetch, got none\");let e=[],n={};if(r.length===1){let o=gR(r[0],t);e=o.sorted,n=o.recipientMap}else{let o=new Set;for(let s of r){let{sorted:i,recipientMap:a}=gR(s,t);for(let u of i)o.has(u.name)||(e.push(u),o.add(u.name));for(let u in a)n[u]==null&&(n[u]=new Set),a[u].forEach(l=>n[u].add(l))}}return{sorted:e,recipientCounts:u7(n)}}function u7(r){let t={};for(let e in r)t[e]=r[e].size;return t}function gR(r,t){let e=new Set,n=[],o={};for(let a of t.names())e.add(a);let s=[],i=[];for(s.push(r);s.length>0;){let a=s[s.length-1];if(e.has(a.name)){s.pop();continue}let u=i[i.length-1]===s.length-1;if(a.inputs.length===0||u)s.pop(),n.push(a),e.add(a.name),u&&i.pop();else{i.push(s.length-1);for(let l of a.inputs)o[l.name]==null&&(o[l.name]=new Set),o[l.name].add(a.name),!e.has(l.name)&&s.push(l)}}return{sorted:n,recipientMap:o}}function c7(r){let t;if(r.sourceLayer.inboundNodes.length===1)t=r.sourceLayer.output;else{let e=null;for(let n=0;n100,xR);var wR={};Kt(wR,{maxNorm:()=>m7,minMaxNorm:()=>h7,nonNeg:()=>d7,unitNorm:()=>f7});function GN(r,t){return B(()=>Se(mt($(r,r),t,!0)))}var Bc=class extends Q.Serializable{getConfig(){return{}}},zm=class extends Bc{constructor(t){super(),this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=t.maxValue!=null?t.maxValue:this.defaultMaxValue,this.axis=t.axis!=null?t.axis:this.defaultAxis}apply(t){return B(()=>{let e=GN(t,this.axis),n=vr(e,0,this.maxValue);return $(t,ct(n,X(cr(),e)))})}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}};zm.className=\"MaxNorm\";Q.registerClass(zm);var Bm=class extends Bc{constructor(t){super(),this.defaultAxis=0,this.axis=t.axis!=null?t.axis:this.defaultAxis}apply(t){return B(()=>ct(t,X(cr(),GN(t,this.axis))))}getConfig(){return{axis:this.axis}}};Bm.className=\"UnitNorm\";Q.registerClass(Bm);var Vm=class extends Bc{apply(t){return Or(t)}};Vm.className=\"NonNeg\";Q.registerClass(Vm);var Gm=class extends Bc{constructor(t){super(),this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=t.minValue!=null?t.minValue:this.defaultMinValue,this.maxValue=t.maxValue!=null?t.maxValue:this.defaultMaxValue,this.rate=t.rate!=null?t.rate:this.defaultRate,this.axis=t.axis!=null?t.axis:this.defaultAxis}apply(t){return B(()=>{let e=GN(t,this.axis),n=X($(this.rate,vr(e,this.minValue,this.maxValue)),$(1-this.rate,e));return $(t,ct(n,X(cr(),e)))})}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}};Gm.className=\"MinMaxNorm\";Q.registerClass(Gm);var yR={maxNorm:\"MaxNorm\",minMaxNorm:\"MinMaxNorm\",nonNeg:\"NonNeg\",unitNorm:\"UnitNorm\"};function Ve(r){return Nm(r)}function bR(r,t={}){return fa(r,Q.SerializationMap.getMap().classNameMap,t,\"constraint\")}function Ge(r){if(r==null)return null;if(typeof r==\"string\"){let e={className:r in yR?yR[r]:r,config:{}};return bR(e)}else return r instanceof Bc?r:bR(r)}function m7(r){return new zm(r)}function f7(r){return new Bm(r)}function d7(){return new Vm}function h7(r){return new Gm(r)}var IR={};Kt(IR,{constant:()=>y7,glorotNormal:()=>N7,glorotUniform:()=>S7,heNormal:()=>k7,heUniform:()=>T7,identity:()=>C7,leCunNormal:()=>_7,leCunUniform:()=>E7,ones:()=>x7,orthogonal:()=>A7,randomNormal:()=>w7,randomUniform:()=>b7,truncatedNormal:()=>I7,varianceScaling:()=>v7,zeros:()=>g7});function g7(){return new Em}function x7(){return new Mu}function y7(r){return new Am(r)}function b7(r){return new Dm(r)}function w7(r){return new $m(r)}function I7(r){return new Rm(r)}function C7(r){return new Fm(r)}function v7(r){return new jr(r)}function S7(r){return new Rc(r)}function N7(r){return new Fc(r)}function k7(r){return new Oc(r)}function T7(r){return new Mc(r)}function _7(r){return new Pc(r)}function E7(r){return new Lc(r)}function A7(r){return new Om(r)}var eF={};Kt(eF,{Layer:()=>Et,RNN:()=>po,RNNCell:()=>Tl,activation:()=>XJ,add:()=>o9,alphaDropout:()=>V9,average:()=>s9,averagePooling1d:()=>rk,averagePooling2d:()=>nk,averagePooling3d:()=>ok,avgPool1d:()=>d9,avgPool2d:()=>g9,avgPool3d:()=>y9,avgPooling1d:()=>h9,avgPooling2d:()=>x9,avgPooling3d:()=>b9,batchNormalization:()=>p9,bidirectional:()=>R9,categoryEncoding:()=>q9,centerCrop:()=>U9,concatenate:()=>i9,conv1d:()=>BJ,conv2d:()=>VJ,conv2dTranspose:()=>GJ,conv3d:()=>WJ,conv3dTranspose:()=>UJ,convLstm2d:()=>E9,convLstm2dCell:()=>A9,cropping2D:()=>qJ,dense:()=>YJ,depthwiseConv2d:()=>jJ,dot:()=>c9,dropout:()=>ZJ,elu:()=>FJ,embedding:()=>n9,flatten:()=>QJ,gaussianDropout:()=>B9,gaussianNoise:()=>z9,globalAveragePooling1d:()=>w9,globalAveragePooling2d:()=>I9,globalMaxPool1d:()=>O9,globalMaxPool2d:()=>M9,globalMaxPooling1d:()=>ZR,globalMaxPooling2d:()=>JR,gru:()=>v9,gruCell:()=>S9,input:()=>YN,inputLayer:()=>RJ,layerNormalization:()=>m9,leakyReLU:()=>MJ,lstm:()=>N9,lstmCell:()=>k9,masking:()=>G9,maxPool1d:()=>P9,maxPool2d:()=>L9,maxPooling1d:()=>QR,maxPooling2d:()=>tF,maxPooling3d:()=>C9,maximum:()=>a9,minimum:()=>l9,multiply:()=>u9,permute:()=>r9,prelu:()=>PJ,randomWidth:()=>K9,reLU:()=>OJ,repeatVector:()=>t9,rescaling:()=>W9,reshape:()=>e9,resizing:()=>H9,rnn:()=>D9,separableConv2d:()=>HJ,simpleRNN:()=>T9,simpleRNNCell:()=>_9,softmax:()=>LJ,spatialDropout1d:()=>JJ,stackedRNNCells:()=>$9,thresholdedReLU:()=>zJ,timeDistributed:()=>F9,upSampling2d:()=>KJ,zeroPadding2d:()=>f9});async function ga(r){if(r==null)return;let t=[],e=[],n=[];for(let o in r){let s=r[o];if(typeof s!=\"number\"){let i=s;t.push(i.data()),e.push(o),n.push(i)}}if(t.length>0){let o=await Promise.all(t);for(let s=0;sX(this.totals[o],$(s,n)));this.totals[o]=a,i!=null&&i.dispose()}}}async onEpochEnd(t,e){if(e!=null)for(let n of this.params.metrics)this.totals[n]!=null&&(typeof this.totals[n]==\"number\"?e[n]=this.totals[n]/this.seen:B(()=>{let o=$(ct(1,this.seen),this.totals[n]);e[n]=o,this.totals[n].dispose(),De(e[n])}))}},Yy=class extends kl{async onTrainBegin(t){this.epoch=[],this.history={}}async onEpochEnd(t,e){e==null&&(e={}),this.epoch.push(t);for(let n in e)this.history[n]==null&&(this.history[n]=[]),this.history[n].push(e[n])}async syncData(){let t=[],e=[],n=[];for(let s in this.history){let i=this.history[s];for(let a=0;anew Zy(n,t))}var Wm=class r{constructor(){}static registerCallbackConstructor(t,e){y.assert(t>=0&&Number.isInteger(t),()=>`Verbosity level is expected to be an integer >= 0, but got ${t}`),r.checkForDuplicate(e),r.constructors[t]==null&&(r.constructors[t]=[]),r.constructors[t].push(e)}static checkForDuplicate(t){for(let e in r.constructors)r.constructors[+e].forEach(o=>{if(o===t)throw new z(\"Duplicate callback constructor.\")})}static clear(){r.constructors={}}static createCallbacks(t){let e=[];for(let n in r.constructors){let o=+n;t>=o&&e.push(...r.constructors[o])}return e.map(n=>new n)}};Wm.constructors={};function Qy(r,t,e,n,o,s,i,a,u){let l=new Yy,c=[new WN,...Wm.createCallbacks(t)];r!=null&&c.push(...r),c.push(l);let p=new Xy(c);return p.setParams({epochs:e,initialEpoch:n,samples:o,steps:s,batchSize:i,verbose:t,doValidation:a,metrics:u}),{callbackList:p,history:l}}function wn(r,t={},e=!1){return fa(r,Q.SerializationMap.getMap().classNameMap,t,\"layer\",e)}function _h(r,t){return B(()=>{r.dtype!==\"float32\"&&(r=J(r,\"float32\"));let e=mt($c(r),t,!0),n=Co(e.shape,cr()),o=Se(kn(e,n));return ct(r,o)})}function xa(r,t){return B(()=>Ne($c(at(t,r)),-1))}function Um(r,t){return B(()=>Ne(_e(at(t,r)),-1))}function Pu(r,t){return B(()=>{let e=at(r,t),n=vr(_e(r),cr(),Number.MAX_VALUE),o=_e(ct(e,n));return $(100,Ne(o,-1))})}function $7(r,t){return B(()=>{let e=vr(t,cr(),Number.MAX_VALUE),n=Nr(X(1,e)),o=vr(r,cr(),Number.MAX_VALUE),s=Nr(X(1,o));return Ne($c(at(n,s)),-1)})}function R7(r,t){return B(()=>{let e=kn(0,at(1,$(r,t)));return Ne($c(e),-1)})}function F7(r,t){return B(()=>{let e=kn(0,at(1,$(r,t)));return Ne(e,-1)})}function O7(r,t){return B(()=>{let e=mt($(r,t),-1),n=Sr($(at(1,r),t),-1);return kn(0,X(1,at(n,e)))})}function M7(r,t){return B(()=>{let e=Math.log(2),n=at(t,r),o=at(X(n,li($(-2,n))),e);return Ne(o,-1)})}function Vc(r,t,e=!1){return B(()=>{if(e)t=Eu(t);else{let n=mt(t,t.shape.length-1,!0);t=ct(t,n)}return t=vr(t,cr(),1-cr()),Ut(mt($(J(r,\"float32\"),Nr(t)),t.shape.length-1))})}function Hm(r,t,e=!1){return B(()=>{let n=J(la(sR(r)),\"int32\");t=vr(t,cr(),1-cr());let o=t.shape,s=R(ca(n,o[o.length-1]),o);return Vc(s,t,e)})}function P7(r,t){if(!y.arraysEqual(r.shape,t.shape))throw new z(`logits and labels must have the same shape, but got shapes ${JSON.stringify(r.shape)} and ${JSON.stringify(t.shape)}`);return B(()=>{let e=Or(t),n=Ut(_e(t));return X(at(e,$(t,r)),vu(Ke(n)))})}function qm(r,t){return B(()=>{let e;return e=vr(t,cr(),1-cr()),e=Nr(ct(e,at(1,e))),Ne(P7(r,e),-1)})}function L7(r,t){return B(()=>{let e=vr(r,cr(),1),n=vr(t,cr(),1);return mt($(r,Nr(ct(e,n))),-1)})}function z7(r,t){return B(()=>{let e=Nr(X(cr(),t));return Ne(at(t,$(r,e)),-1)})}function Ah(r,t){return B(()=>{let e=_h(r,-1),n=_h(t,-1),o=$(e,n);return Ut(mt(o,-1))})}var Eh={meanSquaredError:xa,meanAbsoluteError:Um,meanAbsolutePercentageError:Pu,meanSquaredLogarithmicError:$7,squaredHinge:R7,hinge:F7,categoricalHinge:O7,logcosh:M7,categoricalCrossentropy:Vc,sparseCategoricalCrossentropy:Hm,binaryCrossentropy:qm,kullbackLeiblerDivergence:L7,poisson:z7,cosineProximity:Ah};function tb(r){if(typeof r==\"string\"){if(r in Eh)return Eh[r];let t=`Unknown loss ${r}`;throw r.toLowerCase().includes(\"softmaxcrossentropy\")&&(t=`Unknown loss ${r}. Use \"categoricalCrossentropy\" as the string name for tf.losses.softmaxCrossEntropy`),new z(t)}else return r}function Dh(r,t){return B(()=>{let e=$(.5,wr(t)),n=tn(Re(t,e),r.dtype);return Ne($r(r,n),-1)})}function $h(r,t){return B(()=>tn($r(ea(r,-1),ea(t,-1)),\"float32\"))}function SR(r,t){return B(()=>J(mt(Fr($r(r,1),$r(t,1))),\"float32\"))}function B7(r,t){return B(()=>J(mt(Fr($r(r,1),$r(t,0))),\"float32\"))}function V7(r,t){return B(()=>J(mt(Fr($r(r,0),$r(t,1))),\"float32\"))}function UN(r,t){return B(()=>{let e=SR(r,t),n=V7(r,t),o=X(e,n);return J(we(Re(o,0),ct(e,o),0),\"float32\")})}function NR(r,t){return B(()=>{let e=SR(r,t),n=B7(r,t),o=X(e,n);return J(we(Re(o,0),ct(e,o),0),\"float32\")})}function rb(r,t){return qm(r,t)}function nb(r,t){return r.rank===t.rank&&(r=Wn(r,[r.rank-1])),t=ea(t,-1),t.dtype!==r.dtype&&(t=J(t,r.dtype)),J($r(r,t),\"float32\")}var G7=xa,W7=xa,U7=Um,H7=Um,q7=Pu,K7=Pu,Rh=Vc,j7=Ah,HN=Hm,eb={binaryAccuracy:Dh,categoricalAccuracy:$h,precision:UN,categoricalCrossentropy:Rh,sparseCategoricalCrossentropy:HN,mse:G7,MSE:W7,mae:U7,MAE:H7,mape:q7,MAPE:K7,cosine:j7};function kR(r){if(typeof r==\"string\"&&r in eb)return eb[r];if(typeof r!=\"string\"&&r!=null)return r;throw new z(`Unknown metric ${r}`)}function Fh(r){if(co(r!==null,`Unknown LossOrMetricFn ${r}`),typeof r==\"string\")return r;{let t;for(let e of Object.keys(Eh))if(Eh[e]===r){t=e;break}if(t!==void 0)return t;for(let e of Object.keys(eb))if(eb[e]===r){t=e;break}return t!==void 0?t:r.name}}function _R(r){let t={Adagrad:()=>Ac.adagrad(.01),Adadelta:()=>Ac.adadelta(1,.95,cr()),Adam:()=>Ac.adam(.001,.9,.999,cr()),Adamax:()=>Ac.adamax(.002,.9,.999,cr(),0),RMSProp:()=>Ac.rmsprop(.001,.9,0,cr()),SGD:()=>Ac.sgd(.01)};if(t.adagrad=t.Adagrad,t.adadelta=t.Adadelta,t.adam=t.Adam,t.adamax=t.Adamax,t.rmsprop=t.RMSProp,t.sgd=t.SGD,r in t)return t[r]();throw new z(`Unknown Optimizer ${r}`)}function KN(r,t,e=!1){if(r==null||typeof r!=\"object\"||Object.getPrototypeOf(r)!==Object.prototype||!qN(r))throw new Error(\"User-defined metadata is expected to be a JSON object, but is not.\");if(e){let n=JSON.stringify(r);n.length>1048576&&console.warn(`User-defined metadata of model \"${t}\" is too large in size (length=${n.length} when serialized). It is not recommended to store such large objects in user-defined metadata. Please make sure its serialized length is <= 1048576.`)}}function qN(r){if(r===null)return!0;if(typeof r==\"object\")if(Object.getPrototypeOf(r)===Object.prototype){let t=Object.keys(r);for(let e of t)if(typeof e!=\"string\"||!qN(r[e]))return!1;return!0}else if(Array.isArray(r)){for(let t of r)if(!qN(t))return!1;return!0}else return!1;else{let t=typeof r;return t===\"string\"||t===\"number\"||t===\"boolean\"}}function ER(r,t,e,n=console.log){let o=Z7(r),s=[\"Layer (type)\",\"Input Shape\",\"Output shape\",\"Param #\"];o?(t=t||90,e=e||[.32,.61,.89,1]):(t=t||115,e=e||[.24,.48,.7,.8,1]),e[e.length-1]<=1&&(e=e.map(c=>Math.floor(t*c)));let i;if(!o){s.push(\"Receives inputs\"),i=[];for(let c in r.nodesByDepth)i.push(...r.nodesByDepth[c])}n(\"_\".repeat(t)),ob(s,e,n),n(\"=\".repeat(t));let a=r.layers;for(let c=0;c1||o.length===1&&o[0].inboundLayers.length>1){t=!1;break}n.push(...o)}if(t)for(let o of r.layers){let s=!1;for(let i of o.inboundNodes)if(n.indexOf(i)!==-1)if(s){t=!1;break}else s=!0;if(!t)break}return t}function ob(r,t,e=console.log){let n=\"\";for(let o=0;o0&&(n=n.slice(0,n.length-1)+\" \"),n+=r[o],n=n.slice(0,t[o]),n+=\" \".repeat(t[o]-n.length);e(n)}function J7(r,t,e){let n,o;try{o=r.inboundNodes.map(u=>JSON.stringify(u.inputShapes)).join(\",\")}catch(u){o=\"multiple\"}try{n=JSON.stringify(r.outputShape)}catch(u){n=\"multiple\"}let s=r.name,i=r.getClassName(),a=[`${s} (${i})`,o,n,r.countParams().toString()];ob(a,t,e)}function Q7(r,t,e,n){let o,s;try{s=r.inboundNodes.map(p=>JSON.stringify(p.inputShapes)).join(\",\")}catch(p){s=\"multiple\"}try{o=JSON.stringify(r.outputShape)}catch(p){o=\"multiple\"}let i=[];for(let p of r.inboundNodes)if(!(e!=null&&e.length>0&&e.indexOf(p)===-1))for(let m=0;m{let t=Object.keys(r);if(t.length===0)return!1;let e=t[0].split(\"/\");return!isNaN(parseInt(e[e.length-1],10))},ib=class r extends Et{constructor(t){if(super({}),this.containerNodes=new Set,this.name=t.name,this.name==null){let b=this.getClassName().toLowerCase();this.name=Fu(b)}if(this.supportsMasking=!1,this.trainable_=!0,Array.isArray(t.inputs)?this.inputs=t.inputs.slice():this.inputs=[t.inputs],Array.isArray(t.outputs)?this.outputs=t.outputs.slice():this.outputs=[t.outputs],Eo(this.inputs).length!==this.inputs.length)throw new z(`The list of inputs passed to the model is redundant. All inputs should only appear once. Found: ${this.inputs.map(b=>b.name)}`);Eo(this.outputs).length!==this.outputs.length&&console.warn(`The list of outputs passed to the model is redundant. All outputs should only appear once. Found: ${this.outputs.map(b=>b.name)}`),this.inputLayers=[],this.inputLayersNodeIndices=[],this.inputLayersTensorIndices=[],this.outputLayers=[],this.outputLayersNodeIndices=[],this.outputLayersTensorIndices=[],this.layers=[],this.internalContainerRefs=[];for(let b of this.outputs){let w=b.sourceLayer,I=b.nodeIndex,N=b.tensorIndex;this.outputLayers.push(w),this.outputLayersNodeIndices.push(I),this.outputLayersTensorIndices.push(N)}for(let b of this.inputs){let w=b.sourceLayer,I=b.nodeIndex,N=b.tensorIndex;co(I===0,\"input layer has >1 nodes\"),co(N===0,\"input layer has >1 tensors\"),this.inputLayers.push(w),this.inputLayersNodeIndices.push(I),this.inputLayersTensorIndices.push(N)}this.inputNames=[],this.outputNames=[],this.feedInputShapes=[],this.feedInputNames=[],this.feedOutputNames=[];for(let b=0;bb.shape),this.internalOutputShapes=this.outputs.map(b=>b.shape);let e={},n={},o={},s={},i={},a=[],u=(b,w,I,N,E,A)=>{(N==null||E==null||A==null)&&(N=b.sourceLayer,E=b.nodeIndex,A=b.tensorIndex);let D=N.inboundNodes[E];if(I.indexOf(D)!==-1)throw new dn(`The tensor ${b.name} at layer \"${N.name}\" is part of a cycle.`);if(w.indexOf(D)!==-1)return;this.containerNodes.add(r.nodeKey(N,E)),N.id in i||(i[N.id]=Object.keys(i).length),I.indexOf(D)===-1&&I.push(D);let F=D.inboundLayers.length;for(let M=0;M=0;)I.splice(I.indexOf(D),1);a.push(D)},l=[],c=[];for(let b of this.outputs)u(b,l,c);let p=a.slice().reverse();for(let b of p){n[b.id]=b,b.id in e||(e[b.id]=0);let w=e[b.id],I=o[b.outboundLayer.id]==null?0:o[b.outboundLayer.id];w=Math.max(w,I),o[b.outboundLayer.id]=w,s[b.outboundLayer.id]=b.outboundLayer,e[b.id]=w;for(let N=0;NparseInt(b,10)).sort(vh);this.layers=[];for(let b of d){let w=f[b];w.sort((I,N)=>{let E=i[I.id],A=i[N.id];return EA?1:0});for(let I of w)I instanceof r&&this.internalContainerRefs.push(I),this.layers.push(I)}this.layersByDepth=f,d=Object.keys(m).map(b=>parseInt(b,10)).sort(vh);let h=this.inputs.slice(),g=[];for(let b of d)for(let w of m[b]){let I=w.outboundLayer;if(I!=null){for(let N of w.inputTensors)if(h.indexOf(N)===-1)throw new dn(`Graph disconnected: cannot obtain value for tensor ${N} at layer \"${I.name}\". The following previous layers were accessed without issue: ${g}`);for(let N of w.outputTensors)h.push(N);g.push(I.name)}}this.nodesByDepth=m;let x=this.layers.map(b=>b.name);for(let b of x){let w=x.filter(I=>I===b).length;if(w!==1)throw new dn(`The name \"${b}\" is used ${w} times in the model. All layer names should be unique. Layer names: `+JSON.stringify(x))}this.outboundNodes=[],this.inboundNodes=[],new Nl({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:this.inputs.map(b=>null),outputMasks:this.outputs.map(b=>null),inputShapes:this.inputs.map(b=>b.shape),outputShapes:this.outputs.map(b=>b.shape)}),this.built=!0,this._refCount=1}assertNotDisposed(){if(this._refCount===0)throw new Error(`Container '${this.name}' is already disposed.`)}dispose(){this.assertNotDisposed();let t={refCountAfterDispose:null,numDisposedVariables:0};if(--this._refCount===0){for(let e of this.layers)t.numDisposedVariables+=e.dispose().numDisposedVariables;for(let e of this.internalContainerRefs)t.numDisposedVariables+=e.dispose().numDisposedVariables}return t.refCountAfterDispose=this._refCount,t}get trainable(){return this.trainable_}set trainable(t){this.layers.forEach(e=>{e._trainableWeights.forEach(n=>n.trainable=t)}),this.trainable_=t}get trainableWeights(){if(this._trainableWeights.length>0)throw new z(\"Container instance unexpectedly contains _trainableWeights.The trainable weights of a Container are a union of the trainable weights of its consituent Layers. Its own _trainableWeights must remain an empty Array.\");if(!this.trainable)return[];let t=[];for(let e of this.layers)t=t.concat(e.trainableWeights);return t}get nonTrainableWeights(){let t=[];for(let e of this.layers)t.push(...e.nonTrainableWeights);if(!this.trainable){let e=[];for(let n of this.layers)e.push(...n.trainableWeights);return e.concat(t)}return t}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(t,e=!0){let n={},o=0,s=tJ(t);s&&this.parseWeights(t);for(let a of this.layers)for(let[u,l]of a.weights.entries()){let c=s?`${l.name.split(\"/\").slice(0,-1).join(\"/\")+\"/\"}${u}`:l.originalName;if(n[c]!=null)throw new z(`Duplicate weight name: ${c}`);n[c]=l,o++}let i=[];for(let a in t){let u=a;if(n[a]==null){let l=a.split(\"/\");u=l.slice(0,-2).concat([l[l.length-1]]).join(\"/\")}if(n[u]!=null)i.push([n[u],t[a]]);else if(e)throw new z(`Provided weight data has no target variable: ${a}`);delete n[u]}if(e){let a=[];for(let u in n)a.push(u);if(a.length>0)throw new z(`${a.length} of ${o} weights are not set: ${a}`)}Lm(i)}parseWeights(t){for(let e in Object.keys(t)){let n=e.split(\"/\"),o=[\"vars\",\"layer_checkpoint_dependencies\"],s=n.map(i=>i.startsWith(\"_\")?i.slice(1):i).filter(i=>!o.includes(i)).join(\"/\");s!==e&&(t[s]=t[e],delete t[e])}}updatedConfig(){let t=this.getConfig(),e={};return e.className=this.getClassName(),e.config=t,e.kerasVersion=`tfjs-layers ${Km}`,e.backend=\"TensorFlow.js\",e}toJSON(t,e=!0){let n=sb(this.updatedConfig());return e?JSON.stringify(n):n}call(t,e){return B(()=>{t=ue(t);let n=new ha;for(let o=0;o{t=ue(t);let n;return e==null?n=To(null,t.length):n=ue(e),this.runInternalGraph(t,n)[1]})}computeOutputShape(t){let e=Mm(t);if(e.length!==this.inputLayers.length)throw new z(`Invalid inputShape argument ${t}: model has ${this.inputLayers.length} tensor inputs.`);let n={};for(let a=0;aparseInt(a,10)).sort(vh);if(o.length>1)for(let a of o){let u=this.nodesByDepth[a];for(let l of u){let c=l.outboundLayer;if(this.inputLayers.map(h=>h.id).indexOf(c.id)!==-1)continue;let p=[];for(let h=0;hparseInt(u,10)).sort(vh);for(let u of o){let l=this.nodesByDepth[u];for(let c of l){let p=c.outboundLayer,m=c.inputTensors,f=c.outputTensors,d=new Array;for(let h of m)h.id in n&&d.push(n[h.id]);if(d.length===m.length){let h={},g,x,b,w;if(c.callArgs!=null&&(h=c.callArgs),d.length===1){let[I,N]=d[0];h.mask==null&&(h.mask=N),b=ue(p.call(I,h)),w=ue(p.computeMask(I,N)),g=[I],x=[N]}else g=d.map(I=>I[0]),x=d.map(I=>I[1]),h.mask==null&&(h.mask=x),b=ue(p.call(g,h)),w=ue(p.computeMask(g,x));if(p.activityRegularizer)throw new _t(\"LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.\");for(let I=0;I{let t=[];for(let e of this.layers)for(let n=0;n0){let h=[];for(let g=0;g0&&g.apply(kr(b),w)}function l(g){let x=g.name,b=wn(g,e.customObjects!=null?e.customObjects:{});b.setFastWeightInitDuringBuild(o),s[x]=b,g.inboundNodes.forEach(I=>{if(!(I instanceof Array))throw new z(`Corrupted configuration, expected array for nodeData: ${I}`);a(b,I)})}let c=e.name,p=e.layers;for(let g of p)l(g);for(;!q$(i);)for(let g of p){let x=s[g.name];if(x.name in i){let b=i[x.name];delete i[x.name];for(let w of b)u(x,w)}}let m=[],f=[],d=e.inputLayers;for(let g of d){let x=g[0],b=g[1],w=g[2];co(x in s);let N=s[x].inboundNodes[b].outputTensors;m.push(N[w])}let h=e.outputLayers;for(let g of h){let x=g[0],b=g[1],w=g[2];co(x in s);let N=s[x].inboundNodes[b].outputTensors;f.push(N[w])}return new t({inputs:m,outputs:f,name:c})}get stateful(){if(this._stateful)throw new z(\"Container instance unexpectedly has _stateful = true. The statefulness of a Container is determined by the Layers it contains. Its _stateful property must remain the default false.\");for(let t of this.layers)if(t.stateful)return!0;return!1}resetStates(){B(()=>{this.layers.forEach(t=>{t.stateful&&t.resetStates()})})}};function eJ(r,t,e){let n=t.length;if(r==null||Array.isArray(r)&&r.length===0)return t.map(o=>null);if(n===1)return Array.isArray(r)&&r.length===1?r:typeof r==\"object\"&&t[0]in r?[r[t[0]]]:[r];if(Array.isArray(r)){if(r.length!==n)throw new Error(`Provided ${e} is an array of ${r.length} element(s), but the model has ${n} outputs. Make sure a set of weights is provided for each model output.`);return r}else if(typeof r==\"object\"&&Object.keys(r).length>0&&typeof r[Object.keys(r)[0]]==\"object\"){let o=[];return t.forEach(s=>{s in r?o.push(r[s]):o.push(null)}),o}else throw new Error(`The model has multiple (${n}) outputs, so ${e} must be either an array with ${n} elements or an object with ${t} keys. Provided ${e} not understood: ${JSON.stringify(r)}`)}function ab(r,t){return eJ(r,t,\"classWeight\")}async function lb(r,t,e,n){if(t!=null||n!=null)throw new Error(\"Support sampleWeight is not implemented yet\");if(e!=null){let o=B(()=>{if(r.shape.length===1)return ln(r);if(r.shape.length===2){if(r.shape[1]>1)return ea(r,1);if(r.shape[1]===1)return R(r,[r.shape[0]]);throw new Error(`Encountered unexpected last-dimension size (${r.shape[1]}) during handling of class weights. The size is expected to be >= 1.`)}else throw new Error(`Unexpected rank of target (y) tensor (${r.rank}) during handling of class weights. The rank is expected to be 1 or 2.`)}),s=Array.from(await o.data());Tt(o);let i=[];return s.forEach(a=>{if(e[a]==null)throw new Error(`classWeight must contain all classes in the training data. The class ${a} exists in the data but not in classWeight`);i.push(e[a])}),Oe(i,\"float32\")}else return null}function DR(r,t){return $(r,t)}var rJ=32;function FR(r,t){let e,n,o=t;e=o.xs,n=o.ys,y.assert(e!=null&&n!=null,()=>`A Dataset iterator for fitDataset() is expected to generate objects of the form \\`{xs: xVal, ys: yVal}\\`, where the two values may be \\`tf.Tensor\\`, an array of Tensors, or a map of string to Tensor. The provided Dataset instead generates ${t}`);let s=$R(\"input\",r.inputNames,e),i=$R(\"output\",r.outputNames,n),a=s[0].shape[0];y.assert(s.length===r.inputs.length,()=>`LayersModel has ${r.inputs.length} inputs, but the dataset provides ${s.length} inputs. (Expected input keys: ${JSON.stringify(r.inputNames)})`),y.assert(i.length===r.outputs.length,()=>`LayersModel has ${r.outputs.length} outputs, but the dataset provides ${i.length} outputs. (Expected output keys: ${JSON.stringify(r.outputNames)})`);for(let u=0;u`Batch size mismatch: input ${r.inputNames[u]} has ${s[u].shape[0]}; expected ${a} based on input ${r.inputNames[0]}.`);for(let u=0;u`Batch size mismatch: output ${r.outputNames[u]} has ${i[u].shape[0]}; expected ${a} based on input ${r.inputNames[0]}.`);return{xs:s,ys:i}}function $R(r,t,e){if(e instanceof Lt)return[e];if(Array.isArray(e))return y.assert(e.length===t.length,()=>`Received an array of ${e.length} Tensors, but expected ${t.length} to match the ${r} keys ${t}.`),e;{let n=[];for(let o of t){if(e[o]==null)throw new z(`The feature data generated by the dataset lacks the required ${r} key '${o}'.`);n.push(e[o])}return n}}function nJ(r){if(r.length===3)throw new _t(\"Validation with sample weights is not implemented yet.\");return{xs:r[0],ys:r[1]}}async function OR(r,t,e){let n=e.batchesPerEpoch!=null;if(y.assert(r.optimizer!=null,()=>\"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig).\"),y.assert(e!=null,()=>\"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call.\"),y.assert(e.epochs!=null&&e.epochs>0&&Number.isInteger(e.epochs),()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${e.epochs}`),y.assert(!n||e.batchesPerEpoch>0&&Number.isInteger(e.batchesPerEpoch),()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${e.batchesPerEpoch}`),y.assert(e.validationSplit==null,()=>\"`validationSplit` is not supported by `fitDataset()`. Use validationData instead.\"),r.isTraining)throw new Error(\"Cannot start training because another fit() call is ongoing.\");r.isTraining=!0;try{let o=e.validationData!=null,s,i;if(o)if(RR(e.validationData))y.assert(e.validationBatches==null||e.validationBatches>0&&Number.isInteger(e.validationBatches),()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${e.validationBatches}`);else{let g=nJ(e.validationData);s=g.xs,i=g.ys}let a=r.makeTrainFunction(),u=r.getDedupedMetricsNames(),l;o?l=u.slice().concat(u.map(g=>\"val_\"+g)):l=u.slice();let c=Jy(e.callbacks,e.yieldEvery),p=e.verbose==null?1:e.verbose,{callbackList:m,history:f}=Qy(c,p,e.epochs,null,null,oJ(t,e),null,o,l);m.setModel(r),r.history=f,await m.onTrainBegin(),r.stopTraining_=!1;let d=e.initialEpoch==null?0:e.initialEpoch,h=await t.iterator();for(;d=e.batchesPerEpoch:w.done){if(o){let I;RR(e.validationData)?I=ue(await r.evaluateDataset(e.validationData,{batches:e.validationBatches})):I=ue(r.evaluate(s,i,{batchSize:e.validationBatchSize==null?rJ:e.validationBatchSize,verbose:0}));for(let N=0;N0)throw new _t(\"Verbose mode is not implemented yet.\");y.assert(!n||e.batches>0&&Number.isInteger(e.batches),()=>`Test loop expects \\`batches\\` to be a positive integer, but received ${JSON.stringify(e.batches)}`);let i=sJ(t)?t:await t.iterator(),a=0,u=0;for(;!n||u{if(l.value){let{xs:c,ys:p}=FR(r,l.value),m=c.concat(p),f=B(()=>o(m));if(Tt(m),u===0)for(let h=0;hX(s[h],$(d,g))),u>0&&Tt(x)}Tt(f),a+=d,++u}return s}),l.done){n&&console.warn(`Your dataset iterator ran out of data during evaluateDataset(). Interrupting evalution. Make sure that your dataset can generate at least \\`batches\\` batches (in this case, ${e.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let l=0;l0&&Number.isInteger(r),()=>`batchSize is required to be a positive integer, but got ${r}`)}function jm(r,t,e){return r==null?[null]:Array.isArray(r)?r.map(n=>vl(n,t,e-t)):vl(r,t,e-t)}function cb(r,t){return B(()=>r==null?null:Array.isArray(r)?r.map(e=>cb(e,t)):Gy(r,t.dtype===\"int32\"?t:J(t,\"int32\")))}function pb(r,t){let e=[],n=0,o=null;for(;n=r&&(o=r),e.push([n,o]),n=o;return e}function jN(r){let t=[];r instanceof Lt&&(r=[r]);for(let e=0;ee.push(o.id));else if(t!=null)for(let o in t){let s=t[o];e.push(s.id)}let n=[];if(r instanceof Lt)e.indexOf(r.id)===-1&&n.push(r);else if(Array.isArray(r))r.forEach(o=>{e.indexOf(o.id)===-1&&n.push(o)});else if(r!=null)for(let o in r){let s=r[o];e.indexOf(s.id)===-1&&n.push(s)}n.forEach(o=>{o.isDisposed||o.dispose()})}function iJ(r){return r instanceof Lt}function XN(r){return Array.isArray(r)}function PR(r){return!iJ(r)&&!XN(r)}function LR(r,t,e,n=!0,o=\"\"){if(t==null||t.length===0){if(r!=null){let i=!1;if(XN(r)&&r.length>0)i=!0;else if(PR(r)){for(let a in r)if(r.hasOwnProperty(a)){i=!0;break}}else i=!0;if(i)throw new z(`Error when checking model ${o} expected no data, but got ${r}`)}return[]}if(r==null)return t.map(i=>null);let s;if(PR(r)){r=r,s=[];for(let i of t){if(r[i]==null)throw new z(`No data provided for \"${i}\". Need data for each key in: ${t}`);s.push(r[i])}}else if(XN(r)){if(r=r,r.length!==t.length)throw new z(`Error when checking model ${o}: the Array of Tensors that you are passing to your model is not the size the model expected. Expected to see ${t.length} Tensor(s), but instead got the following list of Tensor(s): ${r}`);s=r}else{if(r=r,t.length>1)throw new z(`The model ${o} expects ${t.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${r.shape}`);s=[r]}if(s=jN(s),e!=null)for(let i=0;i=0&&l!==c)throw new z(`${o} expected a batch of elements where each example has shape [${e[i].slice(1,e[i].length)}] (i.e.,tensor shape [*,${e[i].slice(1,e[i].length)}]) but the ${o} received an input with ${a.shape[0]} examples, each with shape [${a.shape.slice(1,a.shape.length)}] (tensor shape [${a.shape}])`)}}return s}function aJ(r,t,e){let n=Eo(r.map(s=>s.shape[0]));n.sort();let o=Eo(t.map(s=>s.shape[0]));if(o.sort(),n.length>1)throw new z(`All input Tensors (x) should have the same number of samples. Got array shapes: ${JSON.stringify(r.map(s=>s.shape))}`);if(o.length>1)throw new z(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(t.map(s=>s.shape))}`);if(n.length>0&&o.length>0&&!y.arraysEqual(n,o))throw new z(`Input Tensors should have the same number of samples as target Tensors. Found ${n[0]} input sample(s) and ${o[0]} target sample(s).`)}function lJ(r,t,e){let n=[xa,qm,Vc];for(let o=0;o1)throw new z(`The model expects ${t.length} ${o} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(r.shape)}.`);s=[r]}if(e!=null)for(let i=0;i[]);let e;if(typeof r==\"string\"||typeof r==\"function\")e=[r];else if(Array.isArray(r)||typeof r==\"object\")e=r;else throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${r}`);if(Array.isArray(e))return t.map(n=>e);{let n=[];for(let o of t){let s=e.hasOwnProperty(o)?e[o]:[];Array.isArray(s)||(s=[s]),n.push(s)}return n}}var cJ=\"layers-model\",Un=class extends ib{constructor(t){super(t),this.isTraining=!1}summary(t,e,n=console.log){if(!this.built)throw new z(\"This model has never been called, thus its weights have not been created yet. So no summary can be displayed. Build the model first (e.g., by calling it on some test data).\");ER(this,t,e,n)}compile(t){if(t.loss==null&&(t.loss=[]),this.loss=t.loss,typeof t.optimizer==\"string\")this.optimizer_=_R(t.optimizer),this.isOptimizerOwned=!0;else{if(!(t.optimizer instanceof qr))throw new z(\"User-defined optimizer must be an instance of tf.Optimizer.\");this.optimizer_=t.optimizer,this.isOptimizerOwned=!1}let e=[];if(!Array.isArray(t.loss)&&typeof t.loss!=\"string\"&&typeof t.loss!=\"function\"){t.loss=t.loss;for(let i in t.loss)if(this.outputNames.indexOf(i)===-1)throw new z(`Unknown entry in loss dictionary: \"${i}\". Only expected the following keys: ${this.outputNames}`);for(let i of this.outputNames)t.loss[i]==null&&console.warn(`Output \"${i}\" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${i} during training`),e.push(tb(t.loss[i]))}else if(Array.isArray(t.loss)){if(t.loss.length!==this.outputs.length)throw new z(`When passing an Array as loss, it should have one entry per model output. The model has ${this.outputs.length} output(s), but you passed loss=${t.loss}.`);e=t.loss.map(a=>tb(a))}else{let i=tb(t.loss);this.outputs.forEach(a=>{e.push(i)})}this.lossFunctions=e,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let i=0;i{for(let i=0;i1&&(this.metricsTensors.push([a,i]),this.metricsNames.push(this.outputNames[i]+\"_loss\"))}});let o=uJ(t.metrics,this.outputNames),s=(i,a,u)=>{this.outputNames.length>1&&(a=this.outputNames[i]+\"_\"+a),this.metricsNames.push(a),this.metricsTensors.push([u,i])};mi(\"metric\",()=>{for(let i=0;i{let c=\"\",p,m,f;for(let d of l){if(typeof d==\"string\"&&[\"accuracy\",\"acc\",\"crossentropy\",\"ce\"].indexOf(d)!==-1){let g=this.internalOutputShapes[i];g[g.length-1]===1||this.lossFunctions[i]===qm?[\"accuracy\",\"acc\"].indexOf(d)!==-1?m=Dh:[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(m=rb):this.lossFunctions[i]===Hm?[\"accuracy\",\"acc\"].indexOf(d)!==-1?m=nb:[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(m=HN):[\"accuracy\",\"acc\"].indexOf(d)!==-1?m=$h:[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(m=Rh);let x;[\"accuracy\",\"acc\"].indexOf(d)!==-1?x=\"acc\":[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(x=\"ce\"),f=m,p=c+x}else f=kR(d),p=c+Fh(d);let h;mi(p,()=>{h=f}),s(i,p,h)}})(a)}}),this.collectedTrainableWeights=this.trainableWeights}checkTrainableWeightsConsistency(){this.collectedTrainableWeights!=null&&this.trainableWeights.length!==this.collectedTrainableWeights.length&&console.warn(\"Discrepancy between trainableweights and collected trainable weights. Did you set `model.trainable` without calling `model.compile()` afterwards?\")}evaluate(t,e,n={}){let o=n.batchSize==null?32:n.batchSize;ub(o);let i=this.standardizeUserDataXY(t,e,!0,o);try{let a=i[0].concat(i[1]);this.makeTestFunction();let u=this.testFunction,l=this.testLoop(u,a,o,n.verbose,n.steps);return kr(l)}finally{$o(i[0],t),$o(i[1],e)}}async evaluateDataset(t,e){return this.makeTestFunction(),MR(this,t,e)}checkNumSamples(t,e,n,o=\"steps\"){let s;if(n!=null){if(s=null,e!=null)throw new z(`If ${o} is set, batchSize must be null or undefined.Got batchSize = ${e}`)}else if(t!=null)Array.isArray(t)?s=t[0].shape[0]:s=t.shape[0];else throw new z(`Either the input data should have a defined shape, or ${o} shoud be specified.`);return s}execute(t,e){if(Array.isArray(e)&&e.length===0)throw new z(\"`outputs` is an empty Array, which is not allowed.\");let n=Array.isArray(e),o=n?e:[e],s=this.retrieveSymbolicTensors(o),i=new ha;if(t instanceof Lt&&(t=[t]),Array.isArray(t)){if(t.length!==this.inputs.length)throw new z(`The number of inputs provided (${t.length}) does not match the number of inputs of this model (${this.inputs.length}).`);for(let u=0;ua.name);for(let a=0;a0){let o=[];throw e.forEach((s,i)=>{s==null&&o.push(t[i])}),new z(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(o)}`)}return e}predictLoop(t,e=32,n=!1){return B(()=>{let o=this.checkNumSamples(t);if(n)throw new _t(\"Verbose predictLoop() is not implemented yet.\");let s=pb(o,e),i=this.outputs.map(a=>[]);for(let a=0;a{let l=s[a][0],c=s[a][1],p=jm(t,l,c),m=[];if(Array.isArray(p))for(let d=0;di[c].push(l));return kr(i.map(a=>ie(a,0)))})}predict(t,e={}){let n=jN(t);zR(n,this.inputNames,this.feedInputShapes,!1);try{let o=e.batchSize==null?32:e.batchSize;return ub(o),this.predictLoop(n,o)}finally{$o(n,t)}}predictOnBatch(t){zR(t,this.inputNames,this.feedInputShapes,!0);let e=(Array.isArray(t)?t[0]:t).shape[0];return this.predictLoop(t,e)}standardizeUserDataXY(t,e,n=!0,o){if(this.optimizer_==null)throw new dn(\"You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).\");let s=[];for(let i=0;i0&&t[0].shape[0]%o!==0)throw new z(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${o}. Found: ${t[0].shape[0]} sample(s).`);return[t,e]}async standardizeUserData(t,e,n,o,s=!0,i){let[a,u]=this.standardizeUserDataXY(t,e,s,i);if(n!=null)throw new Error(\"sample weight is not supported yet.\");let l=null;if(o!=null){let c=ab(o,this.outputNames);l=[];for(let p=0;p{let i=this.checkNumSamples(e,n,s,\"steps\"),a=[];if(o>0)throw new _t(\"Verbose mode is not implemented yet.\");if(s!=null)throw new _t(\"steps mode in testLoop() is not implemented yet\");{let u=pb(i,n),l=Oe(gn(0,i));for(let c=0;c1){let i=ON(t.slice(0,n),o);s+=`_${i}`}e.push(s)}return e}makeTrainFunction(){return t=>{let e=[],n=t.slice(0,this.inputs.length),o=t.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=t.slice(this.inputs.length+this.outputs.length,this.inputs.length+this.outputs.length*2),i=[],a=()=>{let p=[];for(let h=0;h1&&h{d=X(d,h)}),d},u=this.collectedTrainableWeights.map(p=>p.read());return[this.optimizer_.minimize(a,!0,u)].concat(i)}}makeTestFunction(){this.testFunction=t=>B(()=>{let e=[],n,o=t.slice(0,this.inputs.length),s=t.slice(this.inputs.length,this.inputs.length+this.outputs.length),i=[];for(let l=0;l0){if(g=!0,n.validationData.length===2)u=n.validationData[0],l=n.validationData[1];else throw n.validationData.length===3?new _t(\"validationData including sample weights is not supported yet.\"):new z(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${n.validationData} is invalid.`);let M=await this.standardizeUserData(u,l,null,null,!0,f);c=M[0],p=M[1],x=c.concat(p)}else if(n.validationSplit!=null&&n.validationSplit>0&&n.validationSplit<1){g=!0;let F=Math.floor(o[0].shape[0]*(1-n.validationSplit)),M=o[0].shape[0];c=jm(o,F,M),i=o,o=jm(o,0,F),p=jm(s,F,M),a=s,s=jm(s,0,F),x=c.concat(p)}else n.validationSteps!=null&&(g=!0);let b=o.concat(s).concat(m);this.checkTrainableWeightsConsistency();let w=this.makeTrainFunction(),I=this.getDedupedMetricsNames(),N,E;g?(this.makeTestFunction(),N=this.testFunction,E=I.slice().concat(I.map(F=>\"val_\"+F))):(N=null,x=[],E=I.slice());let A=Jy(n.callbacks,n.yieldEvery);return await this.fitLoop(w,b,I,f,n.epochs,n.verbose,A,N,x,n.shuffle,E,n.initialEpoch,null,null)}finally{this.isTraining=!1,$o(o,t),$o(s,e),$o(i,t),$o(a,e),$o(c,u),$o(p,l),m!=null&&Tt(m)}}async fitLoop(t,e,n,o,s,i,a,u,l,c,p,m,f,d){o==null&&(o=32),s==null&&(s=1),c==null&&(c=!0),m==null&&(m=0);let h=!1;if(u!=null&&l!=null&&(h=!0),d!=null&&(h=!0,f==null))throw new z(\"Can only use `validationSteps` when doing step-wise training, i.e., `stepsPerEpoch` must be set.\");let g=this.checkNumSamples(e,o,f,\"steps_per_epoch\"),x;g!=null&&(x=gn(0,g)),i==null&&(i=1);let{callbackList:b,history:w}=Qy(a,i,s,m,g,f,o,h,p);b.setModel(this),this.history=w,await b.onTrainBegin(),this.stopTraining_=!1;for(let I=m;I{let M=A[D][0],V=A[D][1],G=vl(E,M,V-M);F.batch=D,F.size=V-M;let W=cb(e,G),q=t(W);for(let H=0;H_o(e))}else{let e=Object.keys(this.loss);t={};let n=this.loss;for(let o of e)if(typeof n[o]==\"string\")t[o]=_o(n[o]);else throw new Error(\"Serialization of non-string loss is not supported.\")}return t}getMetricIdentifiers(){if(typeof this.metrics==\"string\"||typeof this.metrics==\"function\")return[_o(Fh(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map(t=>_o(Fh(t)));{let t={};for(let e in this.metrics)t[e]=_o(Fh(this.metrics[e]));return t}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(t){if(t.weighted_metrics!=null)throw new Error(\"Loading weight_metrics is not supported yet.\");if(t.loss_weights!=null)throw new Error(\"Loading loss_weights is not supported yet.\");if(t.sample_weight_mode!=null)throw new Error(\"Loading sample_weight_mode is not supported yet.\");let e=Gc(t.optimizer_config),n=wn(e),o;if(typeof t.loss==\"string\")o=Cl(t.loss);else if(Array.isArray(t.loss))o=t.loss.map(i=>Cl(i));else if(t.loss!=null){o={};for(let i in t.loss)o[i]=Cl(t.loss[i])}let s;if(Array.isArray(t.metrics))s=t.metrics.map(i=>Cl(i));else if(t.metrics!=null){s={};for(let i in t.metrics)s[i]=Cl(t.metrics[i])}this.compile({loss:o,metrics:s,optimizer:n})}async save(t,e){if(typeof t==\"string\"){let l=Mr.getSaveHandlers(t);if(l.length===0)throw new z(`Cannot find any save handlers for URL '${t}'`);if(l.length>1)throw new z(`Found more than one (${l.length}) save handlers for URL '${t}'`);t=l[0]}if(t.save==null)throw new z(\"LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.\");let n=await Mr.encodeWeights(this.getNamedWeights(e)),a={modelTopology:this.toJSON(null,!1),format:cJ,generatedBy:`TensorFlow.js tfjs-layers v${Km}`,convertedBy:null};if((e==null?!1:e.includeOptimizer)&&this.optimizer!=null){a.trainingConfig=this.getTrainingConfig();let l=\"optimizer\",{data:c,specs:p}=await Mr.encodeWeights(await this.optimizer.getWeights(),l);n.specs.push(...p),n.data=Mr.concatenateArrayBuffers([n.data,c])}return this.userDefinedMetadata!=null&&(KN(this.userDefinedMetadata,this.name,!0),a.userDefinedMetadata=this.userDefinedMetadata),a.weightData=n.data,a.weightSpecs=n.specs,t.save(a)}setUserDefinedMetadata(t){KN(t,this.name),this.userDefinedMetadata=t}getUserDefinedMetadata(){return this.userDefinedMetadata}};Un.className=\"Model\";Q.registerClass(Un);var mb=class extends Un{};mb.className=\"Functional\";Q.registerClass(mb);async function BR(r,t){\"modelTopology\"in r||(r={modelTopology:r}),r=r;let e=r.modelTopology;e.model_config!=null&&(e=e.model_config);let n=Gc(e),o=wn(n,t);if(r.weightsManifest!=null){let s=await Mr.loadWeights(r.weightsManifest,r.pathPrefix,o.weights.map(a=>a.originalName)),i={};for(let a of o.weights)i[a.originalName]=s[a.originalName];o.loadWeights(i),Tt(s)}return o}async function VR(r,t){if(t==null&&(t={}),typeof r==\"string\"){let e=Mr.getLoadHandlers(r,t);if(e.length===0)e.push(Mr.browserHTTPRequest(r,t));else if(e.length>1)throw new z(`Found more than one (${e.length}) load handlers for URL '${r}'`);r=e[0]}return pJ(r,void 0,t)}async function pJ(r,t,e){if(e==null&&(e={}),r.load==null)throw new z(\"Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.\");let n=await r.load(),o=n.modelTopology;o.model_config!=null&&(o=o.model_config);let s=e.strict==null?!0:e.strict,i=n.weightData!=null&&n.weightSpecs!=null&&s,a=wn(Gc(o),t,i),u=n.trainingConfig;if(u!=null&&a.loadTrainingConfig(u),n.userDefinedMetadata!=null&&a.setUserDefinedMetadata(n.userDefinedMetadata),n.weightData!=null){if(n.weightSpecs==null)throw new z(\"LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.\");let{modelWeights:l,optimizerWeights:c}=mJ(n.weightData,n.weightSpecs);a.loadWeights(l,s),a.optimizer!=null&&c.length>0&&await a.optimizer.setWeights(c),Tt(l),Tt(c.map(p=>p.tensor))}return a}function mJ(r,t){let e=Mr.decodeWeights(r,t),n={},o=[];return t.forEach(s=>{s.group===\"optimizer\"?o.push({name:s.name,tensor:e[s.name]}):n[s.name]=e[s.name]}),{modelWeights:n,optimizerWeights:o}}var Wc=class r extends Un{constructor(t){if(super({inputs:[],outputs:[]}),t=t||{},this.trainable=!0,this.built=!1,this.name=t.name!=null?t.name:Fu(\"sequential_\"),t.layers!=null)for(let e of t.layers)this.add(e)}checkShape(t){if(t.inboundNodes[0].outputTensors[0].shape.some(n=>n<0))throw new z(`Negative dimension size caused by adding layer ${t.name} with input shape [${t.inboundNodes[0].inputTensors[0].shape}]`)}add(t){let e=t instanceof r||t instanceof Un,n;if(e){if(n=t,n.outputs.length!==1)throw new z(\"All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.\");if(n.inputs.length!==1)throw new z(\"All layers in a Sequential model should have a single input tensor. For multi-input layers, use the functional API.\")}if(this.outputs.length===0){if(t.inboundNodes.length===0){if(t.batchInputShape==null)throw new z(\"The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.\");let o=Hy({batchShape:t.batchInputShape,dtype:t.dtype,name:t.name+\"_input\"});t.apply(o)}if(e)this.outputs=n.outputs,this.inputs=n.inputs;else{if(t.inboundNodes.length!==1)throw new z(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${t.name} which has ${t.inboundNodes.length} pre-existing inbound connections.`);if(t.inboundNodes[0].outputTensors.length!==1)throw new z(\"All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.\");this.checkShape(t),this.outputs=[t.inboundNodes[0].outputTensors[0]],this.inputs=VN(this.outputs[0])}this.inboundNodes=[],new Nl({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:To(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map(o=>o.shape),outputShapes:this.outputs[0].shape})}else{let o=t.apply(this.outputs[0]);if(Array.isArray(o))throw new TypeError(\"All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.\");this.checkShape(t),this.outputs=[o],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(t),this.built=!1}pop(){if(this.layers.length===0)throw new TypeError(\"There are no layers in the model.\");if(this.layers.pop(),this.layers.length===0)this.outputs=[],this.inboundNodes=[],this.outboundNodes=[];else{let t=this.layers.length-1;this.layers[t].outboundNodes=[],this.outputs=[this.layers[t].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(t,e){return this.model==null&&this.build(),this.model.call(t,e)}build(t){if(Gt(t),this.inputs.length===0||this.outputs.length===0)throw new TypeError(\"Sequential model cannot be built: model is empty. Add some layers first.\");this.model=new Un({inputs:this.inputs,outputs:this.outputs[0],name:this.name+\"_model\"}),this.model.trainable=this.trainable,this.supportsMasking=this.model.supportsMasking,this.inputLayers=this.model.inputLayers,this.inputLayersNodeIndices=this.model.inputLayersNodeIndices,this.inputLayersTensorIndices=this.model.inputLayersTensorIndices,this.outputLayers=this.model.outputLayers,this.outputLayersNodeIndices=this.model.outputLayersNodeIndices,this.outputLayersTensorIndices=this.model.outputLayersTensorIndices,this.nodesByDepth=this.model.nodesByDepth,this.containerNodes=this.model.containerNodes,this.outputNames=this.model.outputNames,this.inputNames=this.model.inputNames,this.built=!0}countParams(){return this.built||this.build(),super.countParams()}summary(t,e,n=console.log){this.built||this.build(),super.summary(t,e,n)}setWeights(t){this.model==null&&this.build(),this.model.setWeights(t)}evaluate(t,e,n={}){if(!this.built)throw new dn(\"The model needs to be compiled before being used.\");return this.model.evaluate(t,e,n)}async evaluateDataset(t,e){if(!this.built)throw new dn(\"The model needs to be compiled before being used.\");return this.model.evaluateDataset(t,e)}predict(t,e={}){return this.model==null&&this.build(),this.model.predict(t,e)}predictOnBatch(t){return this.model==null&&this.build(),this.model.predictOnBatch(t)}compile(t){this.build(),this.model.compile(t),this.optimizer_=this.model.optimizer,this.isOptimizerOwned=this.model.isOptimizerOwned,this.loss=this.model.loss,this.metrics=this.model.metrics,this.metricsTensors=this.model.metricsTensors,this.metricsNames=this.model.metricsNames}get optimizer(){return this.model==null?void 0:this.model.optimizer}set optimizer(t){this.model.optimizer=t}async fit(t,e,n={}){if(!this.built)throw new dn(\"The model needs to be compiled before being used.\");return this.model.fit(t,e,n)}async fitDataset(t,e){if(!this.built)throw new dn(\"The model needs to be compiled before being used.\");return this.model.fitDataset(t,e)}async trainOnBatch(t,e){return this.model.trainOnBatch(t,e)}static fromConfig(t,e,n={},o=!1){let s,i={};if(e instanceof Array){if(e[0].className==null||e[0].className===\"Merge\")throw new z(\"Legacy serialization format not supported yet.\");s=e}else y.assert(e.layers!=null,()=>\"When the config data for a Sequential model is not an Array, it must be an Object that contains the 'layers' field.\"),s=e.layers,delete e.layers,i=e;let a=new t(i);if(!(a instanceof r))throw new _t(`Sequential.fromConfig called on non-Sequential input: ${a}`);for(let u of s){let c=wn(u,void 0,o);o&&c.setFastWeightInitDuringBuild(!0),a.add(c)}return a}set stopTraining(t){if(this.model==null)throw new z(\"Cannot set the stopTraining property of a sequential model before it is compiled.\");this.model.stopTraining=t}get stopTraining(){if(this.model==null)throw new z(\"Cannot get the stopTraining property of a sequential model before it is compiled.\");return this.model.stopTraining}getConfig(){let t=[];for(let e of this.layers){let n={};n.className=e.getClassName(),n.config=e.getConfig(),t.push(n)}return{name:this.name,layers:t}}};Wc.className=\"Sequential\";Q.registerClass(Wc);function fJ(r){return new Un(r)}function dJ(r){return new Wc(r)}function YN(r){return Hy(r)}function hJ(r,t){Wm.registerCallbackConstructor(r,t)}var rn=class extends Q.Serializable{getConfig(){return{}}},fb=class extends rn{apply(t,e=1){return aR(t,e)}};fb.className=\"elu\";Q.registerClass(fb);var db=class extends rn{apply(t){return mm(t)}};db.className=\"selu\";Q.registerClass(db);var hb=class extends rn{apply(t){return Or(t)}};hb.className=\"relu\";Q.registerClass(hb);var gb=class extends rn{apply(t){return B(()=>lo(6,Or(t)))}};gb.className=\"relu6\";Q.registerClass(gb);var xb=class extends rn{apply(t){return t}};xb.className=\"linear\";Q.registerClass(xb);var yb=class extends rn{apply(t){return Qr(t)}};yb.className=\"sigmoid\";Q.registerClass(yb);var bb=class extends rn{apply(t){return uR(t)}};bb.className=\"hardSigmoid\";Q.registerClass(bb);var wb=class extends rn{apply(t){return li(t)}};wb.className=\"softplus\";Q.registerClass(wb);var Ib=class extends rn{apply(t){return lR(t)}};Ib.className=\"softsign\";Q.registerClass(Ib);var Cb=class extends rn{apply(t){return na(t)}};Cb.className=\"tanh\";Q.registerClass(Cb);var Xm=class extends rn{apply(t,e=-1){return Eu(t,e)}};Xm.className=\"softmax\";Q.registerClass(Xm);var vb=class extends rn{apply(t,e=-1){return am(t,e)}};vb.className=\"logSoftmax\";Q.registerClass(vb);var Sb=class extends rn{apply(t,e=1){return B(()=>$(Qr($(t,e)),t))}};Sb.className=\"swish\";Q.registerClass(Sb);var Nb=class extends rn{apply(t){return B(()=>$(t,na(li(t))))}};Nb.className=\"mish\";Q.registerClass(Nb);function hi(r){return r.getClassName()}function ZN(r,t={}){return fa(r,Q.SerializationMap.getMap().classNameMap,t,\"activation\")}function gi(r){if(r==null){let t={};return t.className=\"linear\",t.config={},ZN(t)}if(typeof r==\"string\"){let t={};return t.className=r,t.config={},ZN(t)}else return r instanceof rn?r:ZN(r)}function JN(r){if(r!=null&&typeof r!=\"object\")throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an object, but received: ${r}`)}var kb=class extends Q.Serializable{},Lu=class extends kb{constructor(t){super(),JN(t),this.l1=t==null||t.l1==null?.01:t.l1,this.l2=t==null||t.l2==null?.01:t.l2,this.hasL1=this.l1!==0,this.hasL2=this.l2!==0}apply(t){return B(()=>{let e=ke([1]);return this.hasL1&&(e=X(e,mt($(this.l1,_e(t))))),this.hasL2&&(e=X(e,mt($(this.l2,$c(t))))),R(e,[])})}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(t,e){return new t({l1:e.l1,l2:e.l2})}};Lu.className=\"L1L2\";Q.registerClass(Lu);function UR(r){return JN(r),new Lu({l1:r!=null?r.l1:null,l2:0})}function HR(r){return JN(r),new Lu({l2:r!=null?r.l2:null,l1:0})}var GR={l1l2:\"L1L2\"};function fe(r){return Nm(r)}function WR(r,t={}){return fa(r,Q.SerializationMap.getMap().classNameMap,t,\"regularizer\")}function Ce(r){if(r==null)return null;if(typeof r==\"string\"){let e={className:r in GR?GR[r]:r,config:{}};return WR(e)}else return r instanceof kb?r:WR(r)}var Ym=class extends Et{constructor(t){super(t==null?{}:t),this.supportsMasking=!0,t!=null&&(this.maxValue=t.maxValue)}call(t,e){t=St(t);let n=Or(t);return this.maxValue!=null&&(n=vr(n,0,this.maxValue)),n}computeOutputShape(t){return t}getConfig(){let t={maxValue:this.maxValue},e=super.getConfig();return Object.assign(t,e),t}};Ym.className=\"ReLU\";Q.registerClass(Ym);var Zm=class extends Et{constructor(t){super(t==null?{}:t),this.DEFAULT_ALPHA=.3,t==null&&(t={}),this.alpha=t.alpha==null?this.DEFAULT_ALPHA:t.alpha}call(t,e){let n=St(t);return Cu(n,this.alpha)}computeOutputShape(t){return t}getConfig(){let t={alpha:this.alpha},e=super.getConfig();return Object.assign(t,e),t}};Zm.className=\"LeakyReLU\";Q.registerClass(Zm);var Jm=class extends Et{constructor(t){if(super(t==null?{}:t),this.DEFAULT_ALPHA_INITIALIZER=\"zeros\",t==null&&(t={}),this.supportsMasking=!0,this.alphaInitializer=ge(t.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=Ce(t.alphaRegularizer),this.alphaConstraint=Ge(t.alphaConstraint),t.sharedAxes==null)this.sharedAxes=null;else if(Array.isArray(t.sharedAxes))this.sharedAxes=t.sharedAxes;else if(typeof t.sharedAxes==\"number\")this.sharedAxes=[t.sharedAxes];else throw new z(`Expected sharedAxes to be a number or an array of numbers, but got ${t.sharedAxes}`)}build(t){t=Gt(t);let e=t.slice(1);if(this.sharedAxes!=null)for(let o of this.sharedAxes)e[o-1]=1;this.alpha=this.addWeight(\"alpha\",e,\"float32\",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);let n={};if(this.sharedAxes!=null)for(let o=1;o{let n=St(t),o=e.mask;if(o!=null){let s=$(at(ar(n.shape),J(o,n.dtype)),pt(-1e9));n=X(n,s)}return this.axis instanceof Array?this.axis.length>1?Ke(at(n,Su(n,this.axis,!0))):this.softmax(n,this.axis[0]):this.softmax(n,this.axis)})}computeOutputShape(t){return t}getConfig(){let t={axis:this.axis},e=super.getConfig();return Object.assign(t,e),t}};ef.className=\"Softmax\";Q.registerClass(ef);function zu(r,t,e){if(typeof r==\"number\")return To(r,t);if(r.length!==t)throw new z(`The ${e} argument must be an integer or tuple of ${t} integers. Received: ${r.length} elements.`);for(let n=0;n(Me(t),t===\"channelsFirst\"?Vt(r,[0,2,3,1]):r))}function QN(r,t){return B(()=>(Me(t),t===\"channelsFirst\"?Vt(r,[0,2,3,4,1]):r))}function xJ(r,t,e,n=1,o=\"valid\",s,i=1){return B(()=>{if(s==null&&(s=xn()),Me(s),r.shape.length!==3)throw new z(`The input of a conv1dWithBias operation should be 3, but is ${r.shape.length} instead.`);if(t.shape.length!==3)throw new z(`The kernel for a conv1dWithBias operation should be 3, but is ${t.shape.length} instead`);if(e!=null&&e.shape.length!==1)throw new z(`The bias for a conv1dWithBias operation should be 1, but is ${t.shape.length} instead`);if(s===\"channelsFirst\"&&(r=Vt(r,[0,2,1])),o===\"causal\")throw new _t(\"The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.\");let a=rm(r,t,n,o===\"same\"?\"same\":\"valid\",\"NWC\",i);return e!=null&&(a=yn(a,e)),a})}function qR(r,t,e,n=[1,1],o=\"valid\",s,i,a=null){return B(()=>{if(s==null&&(s=xn()),Me(s),r.rank!==3&&r.rank!==4)throw new z(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${r.rank}.`);if(t.rank!==3&&t.rank!==4)throw new z(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${r.rank}.`);let u=Mh(r,s);if(o===\"causal\")throw new _t(\"The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.\");return u=Ru.conv2d({x:u,filter:t,strides:n,pad:o===\"same\"?\"same\":\"valid\",dilations:i,dataFormat:\"NHWC\",bias:e,activation:a}),s===\"channelsFirst\"&&(u=Vt(u,[0,3,1,2])),u})}function yJ(r,t,e,n=[1,1,1],o=\"valid\",s,i){return B(()=>{if(s==null&&(s=xn()),Me(s),r.rank!==4&&r.rank!==5)throw new z(`conv3dWithBias expects input to be of rank 4 or 5, but received ${r.rank}.`);if(t.rank!==4&&t.rank!==5)throw new z(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${r.rank}.`);let a=QN(r,s);if(o===\"causal\")throw new _t(\"The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.\");return a=Ax(a,t,n,o===\"same\"?\"same\":\"valid\",\"NDHWC\",i),e!=null&&(a=yn(a,e)),s===\"channelsFirst\"&&(a=Vt(a,[0,4,1,2,3])),a})}var Oh=class r extends Et{constructor(t,e){if(super(e),this.bias=null,this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",r.verifyArgs(e),this.rank=t,tr(this.rank,\"rank\"),this.rank!==1&&this.rank!==2&&this.rank!==3)throw new _t(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=zu(e.kernelSize,t,\"kernelSize\"),this.strides=zu(e.strides==null?1:e.strides,t,\"strides\"),this.padding=e.padding==null?\"valid\":e.padding,hn(this.padding),this.dataFormat=e.dataFormat==null?\"channelsLast\":e.dataFormat,Me(this.dataFormat),this.activation=gi(e.activation),this.useBias=e.useBias==null?!0:e.useBias,this.biasInitializer=ge(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=Ge(e.biasConstraint),this.biasRegularizer=Ce(e.biasRegularizer),this.activityRegularizer=Ce(e.activityRegularizer),this.dilationRate=zu(e.dilationRate==null?1:e.dilationRate,t,\"dilationRate\"),this.rank===1&&Array.isArray(this.dilationRate)&&this.dilationRate.length!==1)throw new z(`dilationRate must be a number or an array of a single number for 1D convolution, but received ${JSON.stringify(this.dilationRate)}`);if(this.rank===2){if(typeof this.dilationRate==\"number\")this.dilationRate=[this.dilationRate,this.dilationRate];else if(this.dilationRate.length!==2)throw new z(`dilationRate must be a number or array of two numbers for 2D convolution, but received ${JSON.stringify(this.dilationRate)}`)}else if(this.rank===3){if(typeof this.dilationRate==\"number\")this.dilationRate=[this.dilationRate,this.dilationRate,this.dilationRate];else if(this.dilationRate.length!==3)throw new z(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}}static verifyArgs(t){if(co(\"kernelSize\"in t,\"required key 'kernelSize' not in config\"),typeof t.kernelSize!=\"number\"&&!Fy(t.kernelSize,\"number\",1,3))throw new z(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(t.kernelSize)}.`)}getConfig(){let t={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:hi(this.activation),useBias:this.useBias,biasInitializer:Te(this.biasInitializer),biasRegularizer:fe(this.biasRegularizer),activityRegularizer:fe(this.activityRegularizer),biasConstraint:Ve(this.biasConstraint)},e=super.getConfig();return Object.assign(t,e),t}},rf=class r extends Oh{constructor(t,e){super(t,e),this.kernel=null,r.verifyArgs(e),this.filters=e.filters,tr(this.filters,\"filters\"),this.kernelInitializer=ge(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=Ge(e.kernelConstraint),this.kernelRegularizer=Ce(e.kernelRegularizer)}build(t){t=Gt(t);let e=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[e]==null)throw new z(`The channel dimension of the input should be defined. Found ${t[e]}`);let n=t[e],o=this.kernelSize.concat([n,this.filters]);this.kernel=this.addWeight(\"kernel\",o,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight(\"bias\",[this.filters],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[{ndim:this.rank+2,axes:{[e]:n}}],this.built=!0}call(t,e){return B(()=>{t=St(t);let n,o=this.bias==null?null:this.bias.read(),s=Oy(this.activation.getClassName());if(s!=null&&this.rank===2)n=qR(t,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate,s);else{if(this.rank===1)n=xJ(t,this.kernel.read(),o,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(this.rank===2)n=qR(t,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate);else if(this.rank===3)n=yJ(t,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate);else throw new _t(\"convolutions greater than 3D are not implemented yet.\");this.activation!=null&&(n=this.activation.apply(n))}return n})}computeOutputShape(t){t=Gt(t);let e=[],n=this.dataFormat===\"channelsLast\"?t.slice(1,t.length-1):t.slice(2);for(let s=0;s 0 but got ${JSON.stringify(t.filters)}`)}},Uc=class r extends rf{constructor(t){super(2,t),r.verifyArgs(t)}getConfig(){let t=super.getConfig();return delete t.rank,t}static verifyArgs(t){if(typeof t.kernelSize!=\"number\"&&!Fy(t.kernelSize,\"number\",1,2))throw new z(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(t.kernelSize)}.`)}};Uc.className=\"Conv2D\";Q.registerClass(Uc);var Hc=class r extends rf{constructor(t){super(3,t),r.verifyArgs(t)}getConfig(){let t=super.getConfig();return delete t.rank,t}static verifyArgs(t){if(typeof t.kernelSize!=\"number\"&&!(Array.isArray(t.kernelSize)&&(t.kernelSize.length===1||t.kernelSize.length===3)))throw new z(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(t.kernelSize)}.`)}};Hc.className=\"Conv3D\";Q.registerClass(Hc);var nf=class extends Uc{constructor(t){if(super(t),this.inputSpec=[new Ie({ndim:4})],this.padding!==\"same\"&&this.padding!==\"valid\")throw new z(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(t){if(t=Gt(t),t.length!==4)throw new z(\"Input should have rank 4; Received input shape: \"+JSON.stringify(t));let e=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[e]==null)throw new z(\"The channel dimension of the inputs should be defined. Found `None`.\");let n=t[e],o=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight(\"kernel\",o,\"float32\",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight(\"bias\",[this.filters],\"float32\",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new Ie({ndim:4,axes:{[e]:n}})],this.built=!0}call(t,e){return B(()=>{let n=St(t);if(n.shape.length!==4)throw new z(`Conv2DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${n.shape.length}`);let o=n.shape,s=o[0],i,a;this.dataFormat===\"channelsFirst\"?(i=2,a=3):(i=1,a=2);let u=o[i],l=o[a],c=this.kernelSize[0],p=this.kernelSize[1],m=this.strides[0],f=this.strides[1],d=xi(u,m,c,this.padding),h=xi(l,f,p,this.padding),g=[s,d,h,this.filters];this.dataFormat!==\"channelsLast\"&&(n=Vt(n,[0,2,3,1]));let x=om(n,this.kernel.read(),g,this.strides,this.padding);return this.dataFormat!==\"channelsLast\"&&(x=Vt(x,[0,3,1,2])),this.bias!=null&&(x=yn(x,this.bias.read(),this.dataFormat)),this.activation!=null&&(x=this.activation.apply(x)),x})}computeOutputShape(t){t=Gt(t);let e=t.slice(),n,o,s;this.dataFormat===\"channelsFirst\"?(n=1,o=2,s=3):(n=3,o=1,s=2);let i=this.kernelSize[0],a=this.kernelSize[1],u=this.strides[0],l=this.strides[1];return e[n]=this.filters,e[o]=xi(e[o],u,i,this.padding),e[s]=xi(e[s],l,a,this.padding),e}getConfig(){let t=super.getConfig();return delete t.dilationRate,t}};nf.className=\"Conv2DTranspose\";Q.registerClass(nf);var of=class extends Hc{constructor(t){if(super(t),this.inputSpec=[new Ie({ndim:5})],this.padding!==\"same\"&&this.padding!==\"valid\")throw new z(`Conv3DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(t){if(t=Gt(t),t.length!==5)throw new z(\"Input should have rank 5; Received input shape: \"+JSON.stringify(t));let e=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[e]==null)throw new z(\"The channel dimension of the inputs should be defined. Found `None`.\");let n=t[e],o=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight(\"kernel\",o,\"float32\",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight(\"bias\",[this.filters],\"float32\",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new Ie({ndim:5,axes:{[e]:n}})],this.built=!0}call(t,e){return B(()=>{let n=St(t);if(n.shape.length!==5)throw new z(`Conv3DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${n.shape.length}`);let o=n.shape,s=o[0],i,a,u;this.dataFormat===\"channelsFirst\"?(u=2,i=3,a=4):(u=1,i=2,a=3);let l=o[u],c=o[i],p=o[a],m=this.kernelSize[0],f=this.kernelSize[1],d=this.kernelSize[2],h=this.strides[0],g=this.strides[1],x=this.strides[2],b=xi(l,h,m,this.padding),w=xi(c,g,f,this.padding),I=xi(p,x,d,this.padding),N=[s,b,w,I,this.filters];this.dataFormat!==\"channelsLast\"&&(n=Vt(n,[0,2,3,4,1]));let E=$x(n,this.kernel.read(),N,this.strides,this.padding);return this.dataFormat!==\"channelsLast\"&&(E=Vt(E,[0,4,1,2,3])),this.bias!==null&&(E=yn(E,this.bias.read(),this.dataFormat)),this.activation!==null&&(E=this.activation.apply(E)),E})}computeOutputShape(t){t=Gt(t);let e=t.slice(),n,o,s,i;this.dataFormat===\"channelsFirst\"?(n=1,o=2,s=3,i=4):(n=4,o=1,s=2,i=3);let a=this.kernelSize[0],u=this.kernelSize[1],l=this.kernelSize[2],c=this.strides[0],p=this.strides[1],m=this.strides[2];return e[n]=this.filters,e[o]=xi(e[o],c,a,this.padding),e[s]=xi(e[s],p,u,this.padding),e[i]=xi(e[i],m,l,this.padding),e}getConfig(){let t=super.getConfig();return delete t.dilationRate,t}};of.className=\"Conv3DTranspose\";Q.registerClass(of);var Tb=class extends rf{constructor(t,e){if(super(t,e),this.DEFAULT_DEPTHWISE_INITIALIZER=\"glorotUniform\",this.DEFAULT_POINTWISE_INITIALIZER=\"glorotUniform\",this.depthwiseKernel=null,this.pointwiseKernel=null,e.filters==null)throw new z(\"The `filters` configuration field is required by SeparableConv, but is unspecified.\");if(e.kernelInitializer!=null||e.kernelRegularizer!=null||e.kernelConstraint!=null)throw new z(\"Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.\");if(e.padding!=null&&e.padding!==\"same\"&&e.padding!==\"valid\")throw new z(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(e.padding)}`);this.depthMultiplier=e.depthMultiplier==null?1:e.depthMultiplier,this.depthwiseInitializer=ge(e.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=Ce(e.depthwiseRegularizer),this.depthwiseConstraint=Ge(e.depthwiseConstraint),this.pointwiseInitializer=ge(e.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=Ce(e.pointwiseRegularizer),this.pointwiseConstraint=Ge(e.pointwiseConstraint)}build(t){if(t=Gt(t),t.length{t=St(t);let n;if(this.rank===1)throw new _t(\"1D separable convolution is not implemented yet.\");return this.rank===2&&(this.dataFormat===\"channelsFirst\"&&(t=Vt(t,[0,2,3,1])),n=fm(t,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,\"NHWC\")),this.useBias&&(n=yn(n,this.bias.read(),this.dataFormat)),this.activation!=null&&(n=this.activation.apply(n)),this.dataFormat===\"channelsFirst\"&&(n=Vt(n,[0,3,1,2])),n})}getConfig(){let t=super.getConfig();return delete t.rank,delete t.kernelInitializer,delete t.kernelRegularizer,delete t.kernelConstraint,t.depthwiseInitializer=Te(this.depthwiseInitializer),t.pointwiseInitializer=Te(this.pointwiseInitializer),t.depthwiseRegularizer=fe(this.depthwiseRegularizer),t.pointwiseRegularizer=fe(this.pointwiseRegularizer),t.depthwiseConstraint=Ve(this.depthwiseConstraint),t.pointwiseConstraint=Ve(this.pointwiseConstraint),t}};Tb.className=\"SeparableConv\";var sf=class extends Tb{constructor(t){super(2,t)}};sf.className=\"SeparableConv2D\";Q.registerClass(sf);var af=class r extends rf{constructor(t){super(1,t),r.verifyArgs(t),this.inputSpec=[{ndim:3}]}getConfig(){let t=super.getConfig();return delete t.rank,delete t.dataFormat,t}static verifyArgs(t){if(typeof t.kernelSize!=\"number\"&&!Fy(t.kernelSize,\"number\",1,1))throw new z(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(t.kernelSize)}.`)}};af.className=\"Conv1D\";Q.registerClass(af);var lf=class extends Et{constructor(t){super(t),typeof t.cropping==\"number\"?this.cropping=[[t.cropping,t.cropping],[t.cropping,t.cropping]]:typeof t.cropping[0]==\"number\"?this.cropping=[[t.cropping[0],t.cropping[0]],[t.cropping[1],t.cropping[1]]]:this.cropping=t.cropping,this.dataFormat=t.dataFormat===void 0?\"channelsLast\":t.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(t){return this.dataFormat===\"channelsFirst\"?[t[0],t[1],t[2]-this.cropping[0][0]-this.cropping[0][1],t[3]-this.cropping[1][0]-this.cropping[1][1]]:[t[0],t[1]-this.cropping[0][0]-this.cropping[0][1],t[2]-this.cropping[1][0]-this.cropping[1][1],t[3]]}call(t,e){return B(()=>{if(t=St(t),this.dataFormat===\"channelsLast\"){let n=Nh(t,this.cropping[0][0],t.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return Nh(n,this.cropping[1][0],t.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}else{let n=Nh(t,this.cropping[0][0],t.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return Nh(n,this.cropping[1][0],t.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}})}getConfig(){let t={cropping:this.cropping,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}};lf.className=\"Cropping2D\";Q.registerClass(lf);var uf=class extends Et{constructor(t){super(t),this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=t.size==null?this.DEFAULT_SIZE:t.size,this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Me(this.dataFormat),this.interpolation=t.interpolation==null?\"nearest\":t.interpolation,eR(this.interpolation)}computeOutputShape(t){if(this.dataFormat===\"channelsFirst\"){let e=t[2]==null?null:this.size[0]*t[2],n=t[3]==null?null:this.size[1]*t[3];return[t[0],t[1],e,n]}else{let e=t[1]==null?null:this.size[0]*t[1],n=t[2]==null?null:this.size[1]*t[2];return[t[0],e,n,t[3]]}}call(t,e){return B(()=>{let n=St(t),o=n.shape;if(this.dataFormat===\"channelsFirst\"){n=Vt(n,[0,2,3,1]);let s=this.size[0]*o[2],i=this.size[1]*o[3],a=this.interpolation===\"nearest\"?fn.resizeNearestNeighbor(n,[s,i]):fn.resizeBilinear(n,[s,i]);return Vt(a,[0,3,1,2])}else{let s=this.size[0]*o[1],i=this.size[1]*o[2];return this.interpolation===\"nearest\"?fn.resizeNearestNeighbor(n,[s,i]):fn.resizeBilinear(n,[s,i])}})}getConfig(){let t={size:this.size,dataFormat:this.dataFormat,interpolation:this.interpolation},e=super.getConfig();return Object.assign(t,e),t}};uf.className=\"UpSampling2D\";Q.registerClass(uf);function bJ(r,t,e=[1,1],n=\"valid\",o,s){return B(()=>{o==null&&(o=xn()),Me(o);let i=Mh(r,o);if(r.rank!==4)throw new z(`Input for depthwiseConv2d is required to be 4-D, but is instead ${r.rank}-D`);if(t.rank!==4)throw new z(`depthwiseKernel is required to be 4-D, but is instead ${t.rank}-D`);return i=ia(i,t,e,n===\"same\"?\"same\":\"valid\",\"NHWC\",s),o===\"channelsFirst\"&&(i=Vt(i,[0,3,1,2])),i})}var cf=class extends Oh{constructor(t){super(2,t),this.depthwiseKernel=null,this.depthMultiplier=t.depthMultiplier==null?1:t.depthMultiplier,this.depthwiseInitializer=ge(t.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=Ge(t.depthwiseConstraint),this.depthwiseRegularizer=Ce(t.depthwiseRegularizer)}build(t){if(t=Gt(t),t.length<4)throw new z(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(t)}.`);let e=this.dataFormat===\"channelsFirst\"?1:3;if(t[e]==null||t[e]<0)throw new z(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${t[e]}).`);let n=t[e],o=[this.kernelSize[0],this.kernelSize[1],n,this.depthMultiplier];this.depthwiseKernel=this.addWeight(\"depthwise_kernel\",o,null,this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.useBias?this.bias=this.addWeight(\"bias\",[n*this.depthMultiplier],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(t,e){return B(()=>{t=St(t);let n=bJ(t,this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(n=yn(n,this.bias.read(),this.dataFormat)),this.activation!=null&&(n=this.activation.apply(n)),n})}computeOutputShape(t){t=Gt(t);let e=this.dataFormat===\"channelsFirst\"?t[2]:t[1],n=this.dataFormat===\"channelsFirst\"?t[3]:t[2],o=this.dataFormat===\"channelsFirst\"?t[1]*this.depthMultiplier:t[3]*this.depthMultiplier,s=Tn(e,this.kernelSize[0],this.padding,this.strides[0]),i=Tn(n,this.kernelSize[1],this.padding,this.strides[1]);return this.dataFormat===\"channelsFirst\"?[t[0],o,s,i]:[t[0],s,i,o]}getConfig(){let t=super.getConfig();return t.depthMultiplier=this.depthMultiplier,t.depthwiseInitializer=Te(this.depthwiseInitializer),t.depthwiseRegularizer=fe(this.depthwiseRegularizer),t.depthwiseConstraint=Ve(this.depthwiseRegularizer),t}};cf.className=\"DepthwiseConv2D\";Q.registerClass(cf);function tk(r,t,e,n){if(Array.isArray(r)){if(t!=null||e!=null)throw new z(\"When inputs is an array, neither initialState or constants should be provided\");n!=null&&(e=r.slice(r.length-n,r.length),r=r.slice(0,r.length-n)),r.length>1&&(t=r.slice(1,r.length)),r=r[0]}function o(s){return s==null||Array.isArray(s)?s:[s]}return t=o(t),e=o(e),{inputs:r,initialState:t,constants:e}}function ek(r,t,e,n=!1,o,s,i=!1,a=!1){return B(()=>{let u=t.shape.length;if(u<3)throw new z(`Input should be at least 3D, but is ${u}D.`);let l=[1,0].concat(gn(2,u));if(t=Vt(t,l),s!=null)throw new _t(\"The rnn() functoin of the deeplearn.js backend does not support constants yet.\");i&&console.warn(\"Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend.\"),o!=null&&(o=J(J(o,\"bool\"),\"float32\"),o.rank===u-1&&(o=je(o,-1)),o=Vt(o,l)),n&&(t=dr(t,0),o!=null&&(o=dr(o,0)));let c=[],p,m=e,f=t.shape[0],d=gr(t),h;o!=null&&(h=gr(o));for(let x=0;xr(b,m));if(o==null)p=w[0],m=w[1];else{let I=B(()=>{let N=h[x],E=at(wr(N),N),A=X($(w[0],N),$(m[0],E)),D=m.map((F,M)=>X($(w[1][M],N),$(F,E)));return{output:A,newStates:D}});p=I.output,m=I.newStates}a&&c.push(p)}let g;return a&&(g=Fe(c,1)),[p,g,m]})}var po=class r extends Et{constructor(t){super(t);let e;if(t.cell==null)throw new z(\"cell property is missing for the constructor of RNN.\");if(Array.isArray(t.cell)?e=new jc({cells:t.cell}):e=t.cell,e.stateSize==null)throw new z(\"The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).\");this.cell=e,this.returnSequences=t.returnSequences==null?!1:t.returnSequences,this.returnState=t.returnState==null?!1:t.returnState,this.goBackwards=t.goBackwards==null?!1:t.goBackwards,this._stateful=t.stateful==null?!1:t.stateful,this.unroll=t.unroll==null?!1:t.unroll,this.supportsMasking=!0,this.inputSpec=[new Ie({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){if(this.states_==null){let t=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;return gn(0,t).map(e=>null)}else return this.states_}setStates(t){this.states_=t}computeOutputShape(t){Uy(t)&&(t=t[0]),t=t;let e=this.cell.stateSize;Array.isArray(e)||(e=[e]);let n=e[0],o;if(this.returnSequences?o=[t[0],t[1],n]:o=[t[0],n],this.returnState){let s=[];for(let i of e)s.push([t[0],i]);return[o].concat(s)}else return o}computeMask(t,e){return B(()=>{Array.isArray(e)&&(e=e[0]);let n=this.returnSequences?e:null;if(this.returnState){let o=this.states.map(s=>null);return[n].concat(o)}else return n})}get states(){if(this.states_==null){let t=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,e=[];for(let n=0;na.shape[a.shape.length-1]),i))throw new z(`An initialState was passed that is not compatible with cell.stateSize. Received stateSpec=${this.stateSpec}; However cell.stateSize is ${this.cell.stateSize}`)}else this.stateSpec=i.map(a=>new Ie({shape:[null,a]}));this.stateful&&this.resetStates()}resetStates(t,e=!1){B(()=>{if(!this.stateful)throw new uo(\"Cannot call resetStates() on an RNN Layer that is not stateful.\");let n=this.inputSpec[0].shape[0];if(n==null)throw new z(\"If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \\n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.\");if(this.states_==null)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(o=>ke([n,o])):this.states_=[ke([n,this.cell.stateSize])];else if(t==null)Tt(this.states_),this.keptStates!=null&&(Tt(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(o=>ke([n,o])):this.states_[0]=ke([n,this.cell.stateSize]);else{if(Array.isArray(t)||(t=[t]),t.length!==this.states_.length)throw new z(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${t.length} state value(s). Input received: ${t}`);e===!0?this.keptStates.push(this.states_.slice()):Tt(this.states_);for(let o=0;oDe(o.clone()))})}apply(t,e){let n=e==null?null:e.initialState,o=e==null?null:e.constants;e==null&&(e={});let s=tk(t,n,o,this.numConstants);t=s.inputs,n=s.initialState,o=s.constants;let i=[],a=[];if(n!=null){e.initialState=n,i=i.concat(n),this.stateSpec=[];for(let l of n)this.stateSpec.push(new Ie({shape:l.shape}));a=a.concat(this.stateSpec)}if(o!=null&&(e.constants=o,i=i.concat(o),this.numConstants=o.length),i[0]instanceof en){let l=[t].concat(i),c=this.inputSpec.concat(a),p=this.inputSpec;this.inputSpec=c;let m=super.apply(l,e);return this.inputSpec=p,m}else return super.apply(t,e)}call(t,e){return B(()=>{let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;t=St(t),s==null&&(this.stateful?s=this.states_:s=this.getInitialState(t));let i=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(s.length!==i)throw new z(`RNN Layer has ${i} state(s) but was passed ${s.length} initial state(s).`);this.unroll&&console.warn(\"Ignoring unroll = true for RNN layer, due to imperative backend.\");let a={training:o},l=ek((d,h)=>{let g=this.cell.call([d].concat(h),a);return[g[0],g.slice(1)]},t,s,this.goBackwards,n,null,this.unroll,this.returnSequences),c=l[0],p=l[1],m=l[2];this.stateful&&this.resetStates(m,o);let f=this.returnSequences?p:c;return this.returnState?[f].concat(m):f})}getInitialState(t){return B(()=>{let e=ke(t.shape);return e=mt(e,[1,2]),e=Sl(e),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map(n=>n>1?Vy(e,[1,n]):e):this.cell.stateSize>1?[Vy(e,[1,this.cell.stateSize])]:[e]})}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),this.cell!=null&&this.cell.setFastWeightInitDuringBuild(t)}getConfig(){let t=super.getConfig(),e={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};this.numConstants!=null&&(e.numConstants=this.numConstants);let n=this.cell.getConfig();return this.getClassName()===r.className&&(e.cell={className:this.cell.getClassName(),config:n}),Object.assign(Object.assign(Object.assign({},n),t),e)}static fromConfig(t,e,n={}){let o=e.cell,s=wn(o,n);return new t(Object.assign(e,{cell:s}))}};po.className=\"RNN\";Q.registerClass(po);var Tl=class extends Et{},qc=class extends Tl{constructor(t){super(t),this.DEFAULT_ACTIVATION=\"tanh\",this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",this.units=t.units,tr(this.units,\"units\"),this.activation=gi(t.activation==null?this.DEFAULT_ACTIVATION:t.activation),this.useBias=t.useBias==null?!0:t.useBias,this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=ge(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=Ce(t.kernelRegularizer),this.recurrentRegularizer=Ce(t.recurrentRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.kernelConstraint=Ge(t.kernelConstraint),this.recurrentConstraint=Ge(t.recurrentConstraint),this.biasConstraint=Ge(t.biasConstraint),this.dropout=Dc([1,fi([0,t.dropout==null?0:t.dropout])]),this.recurrentDropout=Dc([1,fi([0,t.recurrentDropout==null?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){t=Gt(t),this.kernel=this.addWeight(\"kernel\",[t[t.length-1],this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight(\"recurrent_kernel\",[this.units,this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight(\"bias\",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(t,e){return B(()=>{if(t=t,t.length!==2)throw new z(`SimpleRNNCell expects 2 input Tensors, got ${t.length}.`);let n=t[1];t=t[0];let o=e.training==null?!1:e.training;0wr(t),rate:this.dropout,training:o,dropoutFunc:this.dropoutFunc})),0wr(n),rate:this.recurrentDropout,training:o,dropoutFunc:this.dropoutFunc}));let s,i=this.dropoutMask,a=this.recurrentDropoutMask;i!=null?s=Do($(t,i),this.kernel.read()):s=Do(t,this.kernel.read()),this.bias!=null&&(s=yn(s,this.bias.read())),a!=null&&(n=$(n,a));let u=X(s,Do(n,this.recurrentKernel.read()));return this.activation!=null&&(u=this.activation.apply(u)),[u,u]})}getConfig(){let t=super.getConfig(),e={units:this.units,activation:hi(this.activation),useBias:this.useBias,kernelInitializer:Te(this.kernelInitializer),recurrentInitializer:Te(this.recurrentInitializer),biasInitializer:Te(this.biasInitializer),kernelRegularizer:fe(this.kernelRegularizer),recurrentRegularizer:fe(this.recurrentRegularizer),biasRegularizer:fe(this.biasRegularizer),activityRegularizer:fe(this.activityRegularizer),kernelConstraint:Ve(this.kernelConstraint),recurrentConstraint:Ve(this.recurrentConstraint),biasConstraint:Ve(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign(Object.assign({},t),e)}};qc.className=\"SimpleRNNCell\";Q.registerClass(qc);var pf=class extends po{constructor(t){t.cell=new qc(t),super(t)}call(t,e){return B(()=>{this.cell.dropoutMask!=null&&(Tt(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(Tt(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}static fromConfig(t,e){return new t(e)}};pf.className=\"SimpleRNN\";Q.registerClass(pf);var Kc=class extends Tl{constructor(t){if(super(t),this.DEFAULT_ACTIVATION=\"tanh\",this.DEFAULT_RECURRENT_ACTIVATION=\"hardSigmoid\",this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",t.resetAfter)throw new z(\"GRUCell does not support reset_after parameter set to true.\");this.units=t.units,tr(this.units,\"units\"),this.activation=gi(t.activation===void 0?this.DEFAULT_ACTIVATION:t.activation),this.recurrentActivation=gi(t.recurrentActivation===void 0?this.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),this.useBias=t.useBias==null?!0:t.useBias,this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=ge(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=Ce(t.kernelRegularizer),this.recurrentRegularizer=Ce(t.recurrentRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.kernelConstraint=Ge(t.kernelConstraint),this.recurrentConstraint=Ge(t.recurrentConstraint),this.biasConstraint=Ge(t.biasConstraint),this.dropout=Dc([1,fi([0,t.dropout==null?0:t.dropout])]),this.recurrentDropout=Dc([1,fi([0,t.recurrentDropout==null?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.implementation=t.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){t=Gt(t);let e=t[t.length-1];this.kernel=this.addWeight(\"kernel\",[e,this.units*3],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight(\"recurrent_kernel\",[this.units,this.units*3],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight(\"bias\",[this.units*3],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(t,e){return B(()=>{if(t=t,t.length!==2)throw new z(`GRUCell expects 2 input Tensors (inputs, h, c), got ${t.length}.`);let n=e.training==null?!1:e.training,o=t[1];t=t[0],0wr(t),rate:this.dropout,training:n,count:3,dropoutFunc:this.dropoutFunc})),0wr(o),rate:this.recurrentDropout,training:n,count:3,dropoutFunc:this.dropoutFunc}));let s=this.dropoutMask,i=this.recurrentDropoutMask,a,u,l;0{this.cell.dropoutMask!=null&&(Tt(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(Tt(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}static fromConfig(t,e){return e.implmentation===0&&(e.implementation=1),new t(e)}};mf.className=\"GRU\";Q.registerClass(mf);var _l=class extends Tl{constructor(t){super(t),this.DEFAULT_ACTIVATION=\"tanh\",this.DEFAULT_RECURRENT_ACTIVATION=\"hardSigmoid\",this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",this.units=t.units,tr(this.units,\"units\"),this.activation=gi(t.activation===void 0?this.DEFAULT_ACTIVATION:t.activation),this.recurrentActivation=gi(t.recurrentActivation===void 0?this.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),this.useBias=t.useBias==null?!0:t.useBias,this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=ge(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=t.unitForgetBias,this.kernelRegularizer=Ce(t.kernelRegularizer),this.recurrentRegularizer=Ce(t.recurrentRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.kernelConstraint=Ge(t.kernelConstraint),this.recurrentConstraint=Ge(t.recurrentConstraint),this.biasConstraint=Ge(t.biasConstraint),this.dropout=Dc([1,fi([0,t.dropout==null?0:t.dropout])]),this.recurrentDropout=Dc([1,fi([0,t.recurrentDropout==null?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.implementation=t.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){var e;t=Gt(t);let n=t[t.length-1];this.kernel=this.addWeight(\"kernel\",[n,this.units*4],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight(\"recurrent_kernel\",[this.units,this.units*4],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint);let o;if(this.useBias){if(this.unitForgetBias){let s=this.biasInitializer,i=this.units;o=new(e=class extends bn{apply(u,l){let c=s.apply([i]),p=new Mu().apply([i]),m=s.apply([i*2]);return BN(BN(c,p),m)}},e.className=\"CustomInit\",e)}else o=this.biasInitializer;this.bias=this.addWeight(\"bias\",[this.units*4],null,o,this.biasRegularizer,!0,this.biasConstraint)}else this.bias=null;this.built=!0}call(t,e){return B(()=>{let n=e.training==null?!1:e.training;if(t=t,t.length!==3)throw new z(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${t.length}.`);let o=t[1],s=t[2];t=t[0],0wr(t),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc})),0wr(o),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));let i=this.dropoutMask,a=this.recurrentDropoutMask,u,l,c,p;0{this.cell.dropoutMask!=null&&(Tt(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(Tt(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}static fromConfig(t,e){return e.implmentation===0&&(e.implementation=1),new t(e)}};ff.className=\"LSTM\";Q.registerClass(ff);var jc=class extends Tl{constructor(t){super(t),this.cells=t.cells}get stateSize(){let t=[];for(let e of this.cells.slice().reverse())Array.isArray(e.stateSize)?t.push(...e.stateSize):t.push(e.stateSize);return t}call(t,e){return B(()=>{t=t;let n=t.slice(1),o=[];for(let a of this.cells.slice().reverse())Array.isArray(a.stateSize)?o.push(n.splice(0,a.stateSize.length)):o.push(n.splice(0,1));o.reverse();let s=[],i;for(let a=0;a{mi(`RNNCell_${o}`,()=>{n.build(t),Array.isArray(n.stateSize)?e=n.stateSize[0]:e=n.stateSize,t=[t[0],e]})}),this.built=!0}getConfig(){let t=super.getConfig(),e=s=>({className:s.getClassName(),config:s.getConfig()}),o={cells:this.cells.map(e)};return Object.assign(Object.assign({},t),o)}static fromConfig(t,e,n={}){let o=[];for(let s of e.cells)o.push(wn(s,n));return new t({cells:o})}get trainableWeights(){if(!this.trainable)return[];let t=[];for(let e of this.cells)t.push(...e.trainableWeights);return t}get nonTrainableWeights(){let t=[];for(let e of this.cells)t.push(...e.nonTrainableWeights);if(!this.trainable){let e=[];for(let n of this.cells)e.push(...n.trainableWeights);return e.concat(t)}return t}getWeights(){let t=[];for(let e of this.cells)t.push(...e.weights);return Th(t)}setWeights(t){let e=[];for(let n of this.cells){let o=n.weights.length,s=t.splice(o);for(let i=0;is!=null?s(t(),e):Wy(t(),e),a=()=>Ou(i,t,n);return!o||o<=1?De(a().clone()):Array(o).fill(void 0).map(a).map(l=>De(l.clone()))}var wJ=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var o=0,n=Object.getOwnPropertySymbols(r);o{if(this.cell.dropoutMask!=null&&(Tt(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(Tt(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),e&&e.constants)throw new z(\"ConvRNN2D cell does not support constants\");let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}computeOutputShape(t){let e=this.computeSingleOutputShape(t);return this.returnSequences||(e=[e[0],...e.slice(2)]),this.returnState&&(e=[e,...Array(2).fill([t[0],...e.slice(-3)])]),e}getInitialState(t){return B(()=>{let{stateSize:e}=this.cell,n=t.shape,o=this.computeSingleOutputShape(n),s=[o[0],...o.slice(2)],i=ke(s);return Array.isArray(e)?Array(e.length).fill(i):[i]})}resetStates(t,e=!1){B(()=>{if(!this.stateful)throw new uo(\"Cannot call resetStates() on an RNN Layer that is not stateful.\");let n=this.inputSpec[0].shape,o=this.computeSingleOutputShape(n),s=[o[0],...o.slice(2)];if(n[0]==null)throw new z(\"If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \\n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.\");if(this.getStates()==null)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>ke(s)):this.states_=[ke(s)];else if(t==null)Tt(this.states_),this.keptStates!=null&&(Tt(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>ke(s)):this.states_[0]=ke(s);else{if(Array.isArray(t)||(t=[t]),t.length!==this.states_.length)throw new z(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${t.length} state value(s). Input received: ${t}`);e?this.keptStates.push(this.states_.slice()):Tt(this.states_);for(let a=0;aDe(a.clone()))})}computeSingleOutputShape(t){let{dataFormat:e,filters:n,kernelSize:o,padding:s,strides:i,dilationRate:a}=this.cell,u=e===\"channelsFirst\",l=t[u?3:2],c=t[u?4:3],p=Tn(l,o[0],s,i[0],a[0]),m=Tn(c,o[1],s,i[1],a[1]);return[...t.slice(0,2),...u?[n,p,m]:[p,m,n]]}};_b.className=\"ConvRNN2D\";var Xc=class extends _l{constructor(t){let{filters:e,kernelSize:n,strides:o,padding:s,dataFormat:i,dilationRate:a}=t;super(Object.assign(Object.assign({},t),{units:e})),this.filters=e,tr(this.filters,\"filters\"),this.kernelSize=zu(n,2,\"kernelSize\"),this.kernelSize.forEach(u=>tr(u,\"kernelSize\")),this.strides=zu(o||1,2,\"strides\"),this.strides.forEach(u=>tr(u,\"strides\")),this.padding=s||\"valid\",hn(this.padding),this.dataFormat=i||\"channelsLast\",Me(this.dataFormat),this.dilationRate=zu(a||1,2,\"dilationRate\"),this.dilationRate.forEach(u=>tr(u,\"dilationRate\"))}build(t){var e;t=Gt(t);let n=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[n]==null)throw new z(`The channel dimension of the input should be defined. Found ${t[n]}`);let o=t[n],s=4,i=this.kernelSize.concat([o,this.filters*s]);this.kernel=this.addWeight(\"kernel\",i,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);let a=this.kernelSize.concat([this.filters,this.filters*s]);if(this.recurrentKernel=this.addWeight(\"recurrent_kernel\",a,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let u;if(this.unitForgetBias){let l=this.biasInitializer,c=this.filters;u=new(e=class extends bn{apply(m,f){let d=l.apply([c]),h=ar([c]),g=l.apply([c*2]);return Tm([d,h,g])}},e.className=\"CustomInit\",e)}else u=this.biasInitializer;this.bias=this.addWeight(\"bias\",[this.filters*s],null,u,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(t,e){return B(()=>{if(t.length!==3)throw new z(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${t.length}.`);let n=e.training||!1,o=t[0],s=t[1],i=t[2],a=4;0wr(o),rate:this.dropout,training:n,count:a,dropoutFunc:this.dropoutFunc}));let u=this.dropoutMask,l=(nt,st,lt)=>!st||!st[lt]?nt:$(st[lt],nt),c=l(o,u,0),p=l(o,u,1),m=l(o,u,2),f=l(o,u,3);0wr(s),rate:this.recurrentDropout,training:n,count:a,dropoutFunc:this.dropoutFunc}));let d=this.recurrentDropoutMask,h=l(s,d,0),g=l(s,d,1),x=l(s,d,2),b=l(s,d,3),w=3,[I,N,E,A]=hr(this.kernel.read(),a,w),[D,F,M,V]=this.useBias?hr(this.bias.read(),a):[null,null,null,null];c=this.inputConv(c,I,D,this.padding),p=this.inputConv(p,N,F,this.padding),m=this.inputConv(m,E,M,this.padding),f=this.inputConv(f,A,V,this.padding);let[G,W,q,H]=hr(this.recurrentKernel.read(),a,w);h=this.recurrentConv(h,G),g=this.recurrentConv(g,W),x=this.recurrentConv(x,q),b=this.recurrentConv(b,H);let K=this.recurrentActivation.apply(X(c,h)),Y=this.recurrentActivation.apply(X(p,g)),Z=X($(Y,i),$(K,this.activation.apply(X(m,x)))),et=$(this.recurrentActivation.apply(X(f,b)),this.activation.apply(Z));return[et,et,Z]})}getConfig(){let t=super.getConfig(),{units:e}=t,n=wJ(t,[\"units\"]),o={filters:this.filters,kernelSize:this.kernelSize,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,strides:this.strides};return Object.assign(Object.assign({},n),o)}inputConv(t,e,n,o){let s=Nn(t,e,this.strides,o||\"valid\",this.dataFormat===\"channelsFirst\"?\"NCHW\":\"NHWC\",this.dilationRate);return n?yn(s,n,this.dataFormat):s}recurrentConv(t,e){return Nn(t,e,1,\"same\",this.dataFormat===\"channelsFirst\"?\"NCHW\":\"NHWC\")}};Xc.className=\"ConvLSTM2DCell\";Q.registerClass(Xc);var df=class extends _b{constructor(t){let e=new Xc(t);super(Object.assign(Object.assign({},t),{cell:e}))}static fromConfig(t,e){return new t(e)}};df.className=\"ConvLSTM2D\";Q.registerClass(df);var Yc=class extends Et{constructor(t){super(t),this.rate=Math.max(Math.min(t.rate,1),0),this.noiseShape=t.noiseShape,this.seed=t.seed,this.supportsMasking=!0}getNoiseShape(t){if(this.noiseShape==null)return this.noiseShape;let e=t.shape,n=[];for(let o=0;o{this.invokeCallHook(t,e);let n=St(t);if(0Wy(n,this.rate,s,this.seed),()=>n,o)}return t})}getConfig(){let t={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},e=super.getConfig();return Object.assign(t,e),t}dispose(){return super.dispose()}};Yc.className=\"Dropout\";Q.registerClass(Yc);var hf=class extends Yc{constructor(t){super(t),this.inputSpec=[{ndim:3}]}getNoiseShape(t){let e=t.shape;return[e[0],1,e[2]]}};hf.className=\"SpatialDropout1D\";Q.registerClass(hf);var gf=class extends Et{constructor(t){if(super(t),this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",t.batchInputShape==null&&t.inputShape==null&&t.inputDim!=null){let e=null;t.batchSize!=null&&(e=t.batchSize),this.batchInputShape=[e,t.inputDim]}this.units=t.units,tr(this.units,\"units\"),this.activation=gi(t.activation),t.useBias!=null&&(this.useBias=t.useBias),this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=Ge(t.kernelConstraint),this.biasConstraint=Ge(t.biasConstraint),this.kernelRegularizer=Ce(t.kernelRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.activityRegularizer=Ce(t.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(t){t=Gt(t);let e=t[t.length-1];this.kernel==null&&(this.kernel=this.addWeight(\"kernel\",[e,this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight(\"bias\",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint))),this.inputSpec=[{minNDim:2,axes:{[-1]:e}}],this.built=!0}computeOutputShape(t){t=Gt(t);let e=t.slice();return e[e.length-1]=this.units,e}call(t,e){return B(()=>{this.invokeCallHook(t,e);let n=St(t),o=Oy(this.activation.getClassName()),s;return o!=null?s=Do(n,this.kernel.read(),o,this.bias?this.bias.read():null):(s=Do(n,this.kernel.read()),this.bias!=null&&(s=yn(s,this.bias.read())),this.activation!=null&&(s=this.activation.apply(s))),s})}getConfig(){let t={units:this.units,activation:hi(this.activation),useBias:this.useBias,kernelInitializer:Te(this.kernelInitializer),biasInitializer:Te(this.biasInitializer),kernelRegularizer:fe(this.kernelRegularizer),biasRegularizer:fe(this.biasRegularizer),activityRegularizer:fe(this.activityRegularizer),kernelConstraint:Ve(this.kernelConstraint),biasConstraint:Ve(this.biasConstraint)},e=super.getConfig();return Object.assign(t,e),t}};gf.className=\"Dense\";Q.registerClass(gf);var xf=class extends Et{constructor(t){t=t||{},super(t),this.inputSpec=[{minNDim:3}],this.dataFormat=t.dataFormat}computeOutputShape(t){t=Gt(t);for(let e of t.slice(1))if(e==null)throw new z(`The shape of the input to \"Flatten\" is not fully defined (got ${t.slice(1)}). Make sure to pass a complete \"input_shape\" or \"batch_input_shape\" argument to the first layer in your model.`);return[t[0],Ao(t,1)]}call(t,e){return B(()=>{this.invokeCallHook(t,e);let n=St(t);if(this.dataFormat===\"channelsFirst\"&&n.rank>1){let o=[0];for(let s=2;s{this.invokeCallHook(t,e);let n=St(t);return this.activation.apply(n)})}getConfig(){let t={activation:hi(this.activation)},e=super.getConfig();return Object.assign(t,e),t}};yf.className=\"Activation\";Q.registerClass(yf);var bf=class extends Et{constructor(t){super(t),this.n=t.n,this.inputSpec=[{ndim:2}]}computeOutputShape(t){return[t[0],this.n,t[1]]}call(t,e){return B(()=>(t=St(t),oR(t,this.n)))}getConfig(){let t={n:this.n},e=super.getConfig();return Object.assign(t,e),t}};bf.className=\"RepeatVector\";Q.registerClass(bf);var wf=class extends Et{constructor(t){super(t),this.targetShape=t.targetShape;for(let e=0;e{this.invokeCallHook(t,e);let n=St(t),o=n.shape,s=o.slice(0,1).concat(this.fixUnknownDimension(o.slice(1),this.targetShape));return R(n,s)})}getConfig(){let t={targetShape:this.targetShape},e=super.getConfig();return Object.assign(t,e),t}};wf.className=\"Reshape\";Q.registerClass(wf);var If=class extends Et{constructor(t){if(super(t),t.dims==null)throw new Error(\"Required configuration field `dims` is missing during Permute constructor call.\");if(!Array.isArray(t.dims))throw new Error(`Permute constructor requires \\`dims\\` to be an Array, but received ${t.dims} instead.`);let e=gn(1,t.dims.length+1);if(!y.arraysEqual(t.dims.slice().sort(),e))throw new Error(\"Invalid permutation `dims`: \"+JSON.stringify(t.dims)+\" `dims` must contain consecutive integers starting from 1.\");this.dims=t.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new Ie({ndim:this.dims.length+1})]}computeOutputShape(t){t=Gt(t);let e=t.slice();return this.dims.forEach((n,o)=>{e[o+1]=t[n]}),e}call(t,e){return Vt(St(t),this.dimsIncludingBatch)}getConfig(){let t={dims:this.dims},e=super.getConfig();return Object.assign(t,e),t}};If.className=\"Permute\";Q.registerClass(If);var Cf=class extends Et{constructor(t){super(t==null?{}:t),this.supportsMasking=!0,t!=null?this.maskValue=t.maskValue==null?0:t.maskValue:this.maskValue=0}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={maskValue:this.maskValue};return Object.assign(e,t),e}computeMask(t,e){let n=St(t);return cc(ui(n,this.maskValue),-1)}call(t,e){return B(()=>{this.invokeCallHook(t,e);let n=St(t),i=cc(ui(n,this.maskValue),-1,!0);return $(n,J(i,n.dtype))})}};Cf.className=\"Masking\";Q.registerClass(Cf);var vf=class extends Et{constructor(t){if(super(t),this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER=\"randomUniform\",t.batchInputShape==null&&t.inputShape==null){let e=null;t.batchSize!=null&&(e=t.batchSize),t.inputLength==null?this.batchInputShape=[e,null]:this.batchInputShape=[e].concat(ue(t.inputLength))}this.inputDim=t.inputDim,tr(this.inputDim,\"inputDim\"),this.outputDim=t.outputDim,tr(this.outputDim,\"outputDim\"),this.embeddingsInitializer=ge(t.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=Ce(t.embeddingsRegularizer),this.activityRegularizer=Ce(t.activityRegularizer),this.embeddingsConstraint=Ge(t.embeddingsConstraint),this.maskZero=t.maskZero,this.supportsMasking=t.maskZero,this.inputLength=t.inputLength}build(t){this.embeddings=this.addWeight(\"embeddings\",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(t){}computeMask(t,e){return B(()=>this.maskZero?(t=St(t),ui(t,vt(t))):null)}computeOutputShape(t){if(t=Gt(t),this.inputLength==null)return[...t,this.outputDim];let e=ue(this.inputLength);if(e.length!==t.length-1)throw new z(`\"inputLength\" is ${this.inputLength}, but received input shape has shape ${t}`);{let n=0;for(let o=0;o{this.invokeCallHook(t,e);let n=St(t);n.dtype!==\"int32\"&&(n=tn(n,\"int32\"));let o=Gy(this.embeddings.read(),R(n,[n.size]));return R(o,Gt(this.computeOutputShape(n.shape)))})}getConfig(){let t={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:Te(this.embeddingsInitializer),embeddingsRegularizer:fe(this.embeddingsRegularizer),activityRegularizer:fe(this.activityRegularizer),embeddingsConstraint:Ve(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},e=super.getConfig();return Object.assign(t,e),t}};vf.className=\"Embedding\";Q.registerClass(vf);var Al=class extends Et{constructor(t){super(t||{}),this.supportsMasking=!0}mergeFunction(t){throw new _t}computeElementwiseOpOutputShape(t,e){if(t==null||e==null)return null;if(t.length1)throw new z(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(t)}.`);let n=t[0]==null?null:t[0].slice(1);for(let s=1;ss.length);t.indexOf(null)===-1&&Eo(o).length===1?this.reshapeRequired=!1:this.reshapeRequired=!0}call(t,e){return B(()=>{if(t=t,this.reshapeRequired){let n=[],o=t.map(s=>s.rank);if(o.indexOf(null)===-1){let s=fi(o);for(let i of t){let a=i.rank;for(let u=0;u1){let c=gn(1,l).concat([0]);n.push(Vt(u,c)),s=!0}else n.push(u)}let i=this.mergeFunction(n),a=i.rank;if(s){if(a==null){let u=i.shape,l=u.length,c=u[l-1],p=[c].concat(u.slice(0,u.length-1));i=R(Vt(R(i,[-1,c]),[1,0]),p)}else if(a>1){let u=[a-1].concat(gn(0,a-1));i=Vt(i,u)}}return i}}else return this.mergeFunction(t)})}computeOutputShape(t){t=t;let e;t[0]==null?e=null:e=t[0].slice(1);for(let o=1;o{if(e==null)return null;if(!Array.isArray(e))throw new z(\"`mask` should be an Array\");if(!Array.isArray(t))throw new z(\"`inputs` should be an Array\");if(e.length!==t.length)throw new z(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${t.length} vs ${e.length})`);if(e.every(o=>o==null))return null;e=e.map(o=>o==null?o:je(o,0));let n=e[0];for(let o=1;o{let e=t[0].clone();for(let n=1;n{let e=t[0].clone();for(let n=1;n{let e=t[0].clone();for(let n=1;n{let e=t[0];for(let n=1;n{let e=t[0];for(let n=1;n1)throw new z(\"A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: \"+JSON.stringify(t))}mergeFunction(t){return B(()=>Tm(t,this.axis))}computeOutputShape(t){if(!(Array.isArray(t)&&Array.isArray(t[0])))throw new z(\"A `Concatenate` layer should be called on a list of inputs.\");let e=t,n=e[0].slice(),o=this.axis<0?n.length+this.axis:this.axis;for(let s of e.slice(1)){if(n[o]==null||s[o]==null){n[o]=null;break}n[o]+=s[o]}return n}computeMask(t,e){if(e==null)return null;if(!Array.isArray(e))throw new z(\"`mask` should be an array for Concatenate\");if(!Array.isArray(t))throw new z(\"`inputs` should be an array for Concatenate\");if(e.length!==t.length)throw new z(`Mismatch in the length of mask (${e.length}) and the legnth of inputs (${t.length})`);return B(()=>{let n=!0;if(e.forEach(i=>{if(i!=null){n=!1;return}}),n)return null;let o=[];for(let i=0;i3||t.shape.length>3)throw new _t(\"batchDot is not implemented for tensors of 4D or higher rank yet\");if(y.assert(r.shape.length>=2,()=>`batchDot requires the rank of x to be >= 2, but got ${r.shape.length}`),y.assert(r.shape.length>=2,()=>`batchDot requires the rank of y to be >= 2, but got ${t.shape.length}`),typeof e==\"number\"&&(e=[e,e]),r.dtype===\"complex64\"||t.dtype===\"complex64\")throw new _t(\"batchDot is not implemented for complex64-type Tensors yet.\");let n=r.shape.length,o=t.shape.length;e==null&&(e=[n-1,o-2]);let s=e;return B(()=>{let i;if(n>o){i=n-o;let u=[];for(let l=0;ln){i=o-n;let u=[];for(let l=0;l0){let u;n>o?u=n+o-3:u=n-1;let l=[];for(let c=u;c\"A `Dot` layer should be called on a list of exactly 2 inputs.\");let e=t[0],n=t[1];if(e.length>3||n.length>3)throw new _t(\"Dot layer does not support tensors of 4D or higher rank yet.\");let o=this.interpretAxes(e,n);if(e[o[0]]!==n[o[1]])throw new z(`Dimension incompatibility: ${e[o[0]]} !== ${n[o[1]]}`)}mergeFunction(t){if(t.length!==2)throw new z(`A \\`Dot\\` layer must be called on exactly 2 inputs, but received ${t.length} input(s).`);let e=t[0],n=t[1],o;return Array.isArray(this.axes)?o=this.axes.map((s,i)=>Ph(s,t[i].shape.length)):o=[Ph(this.axes,e.shape.length),Ph(this.axes,n.shape.length)],this.normalize&&(e=_h(e,o[0]),n=_h(n,o[1])),IJ(e,n,o)}interpretAxes(t,e){let n;return Array.isArray(this.axes)?n=this.axes:n=[Ph(this.axes,t.length),Ph(this.axes,e.length)],n}computeOutputShape(t){y.assert(Array.isArray(t)&&t.length===2&&Array.isArray(t[0])&&Array.isArray(t[1]),()=>\"A `Dot` layer should be called on a list of exactly 2 inputs.\");let e=t[0].slice(),n=t[1].slice();if(e.length>3||n.length>3)throw new _t(\"Dot layer does not support tensors of 4D or higher rank yet.\");let o=this.interpretAxes(e,n);e.splice(o[0],1),n.splice(o[1],1),n.splice(0,1);let s=e.concat(n);return s.length===1&&s.push(1),s}computeMask(t,e){return null}getConfig(){let t={axes:this.axes,normalize:this.normalize},e=super.getConfig();return Object.assign(t,e),t}};Af.className=\"Dot\";Q.registerClass(Af);var Df=class extends Et{constructor(t){super(t),this.supportsMasking=!0,this.stddev=t.stddev}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={stddev:this.stddev};return Object.assign(e,t),e}call(t,e){return B(()=>{this.invokeCallHook(t,e);let n=St(t);return Ou(()=>X(_m(n.shape,0,this.stddev),n),()=>n,e.training||!1)})}};Df.className=\"GaussianNoise\";Q.registerClass(Df);var $f=class extends Et{constructor(t){super(t),this.supportsMasking=!0,this.rate=t.rate}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={rate:this.rate};return Object.assign(e,t),e}call(t,e){return B(()=>{this.invokeCallHook(t,e);let n=St(t);return this.rate>0&&this.rate<1?Ou(()=>{let s=Math.sqrt(this.rate/(1-this.rate));return $(n,_m(n.shape,1,s))},()=>n,e.training||!1):n})}};$f.className=\"GaussianDropout\";Q.registerClass($f);var Rf=class extends Et{constructor(t){super(t),this.supportsMasking=!0,this.rate=t.rate,this.noiseShape=t.noiseShape}_getNoiseShape(t){return this.noiseShape||St(t).shape}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={rate:this.rate};return Object.assign(e,t),e}call(t,e){return B(()=>{if(this.rate<1&&this.rate>0){let n=this._getNoiseShape(t);return Ou(()=>{let s=St(t),u=-1.6732632423543772*1.0507009873554805,l=cn(Gn(n),this.rate);l=tn(l,\"float32\");let c=((1-this.rate)*(1+this.rate*u**2))**-.5,p=-c*u*this.rate,m=X($(s,l),$(X(l,-1),u));return X($(m,c),p)},()=>St(t),e.training||!1)}return t})}};Rf.className=\"AlphaDropout\";Q.registerClass(Rf);function Lh(r,t,e,n,o,s=.001){let i;if(r.rank===2)i=Ix(r,t,e,n,o,s);else if(r.rank===3)i=Cx(r,t,e,n,o,s);else if(r.rank===4)i=vx(r,t,e,n,o,s);else throw new _t(`batchNormalization is not implemented for array of rank ${r.rank} yet`);return i}function CJ(r,t,e,n,o=.001){return B(()=>{let s=dc(r,n),i=s.mean,a=s.variance;return[Lh(r,i,a,e,t,o),i,a]})}function vJ(r,t,e,n,o=.001){return B(()=>{let s=dc(r,n),i=s.mean,a=s.variance,u=[];for(let d of gn(0,r.rank))n.indexOf(d)!==-1?u.push(1):u.push(r.shape[d]);let l=R(i,u),c=R(a,u),p=t==null?null:R(t,u),m=e==null?null:R(e,u);return[Lh(r,l,c,m,p,o),i,a]})}function SJ(r,t,e,n,o=.001){return y.arraysEqual(n.slice().sort(),gn(0,r.rank-1))?CJ(r,t,e,n,o):vJ(r,t,e,n,o)}var Ff=class extends Et{constructor(t){t==null&&(t={}),super(t),this.supportsMasking=!0,this.axis=t.axis==null?-1:t.axis,this.momentum=t.momentum==null?.99:t.momentum,this.epsilon=t.epsilon==null?.001:t.epsilon,this.center=t.center==null?!0:t.center,this.scale=t.scale==null?!0:t.scale,this.betaInitializer=ge(t.betaInitializer||\"zeros\"),this.gammaInitializer=ge(t.gammaInitializer||\"ones\"),this.movingMeanInitializer=ge(t.movingMeanInitializer||\"zeros\"),this.movingVarianceInitializer=ge(t.movingVarianceInitializer||\"ones\"),this.betaConstraint=Ge(t.betaConstraint),this.gammaConstraint=Ge(t.gammaConstraint),this.betaRegularizer=Ce(t.betaRegularizer),this.gammaRegularizer=Ce(t.gammaRegularizer)}build(t){t=Gt(t);let e=this.axis>=0?this.axis:this.axis+t.length,n=t[e];if(n==null)throw new z(`Axis ${e} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(t)}.`);this.inputSpec=[new Ie({ndim:t.length,axes:{[e]:n}})];let o=[n];this.scale&&(this.gamma=this.addWeight(\"gamma\",o,null,this.gammaInitializer,this.gammaRegularizer,!0,this.gammaConstraint)),this.center&&(this.beta=this.addWeight(\"beta\",o,null,this.betaInitializer,this.betaRegularizer,!0,this.betaConstraint)),this.movingMean=this.addWeight(\"moving_mean\",o,null,this.movingMeanInitializer,null,!1),this.movingVariance=this.addWeight(\"moving_variance\",o,null,this.movingVarianceInitializer,null,!1),this.built=!0}call(t,e){return B(()=>{let n=e.training==null?!1:e.training,o=St(t),s=o.shape,i=s.length,a=gn(0,i),u=this.axis>=0?this.axis:this.axis+i;a.splice(u,1);let l=To(1,i);l[u]=s[u];let c=a.slice();c.sort();let p=!y.arraysEqual(c,gn(0,i).slice(0,i-1)),m=()=>{if(p){let b=R(this.movingMean.read(),l),w=R(this.movingVariance.read(),l),I=this.center?R(this.beta.read(),l):null,N=this.scale?R(this.gamma.read(),l):null;return Lh(o,b,w,I,N,this.epsilon)}else return Lh(o,this.movingMean.read(),this.movingVariance.read(),this.beta==null?null:this.beta.read(),this.gamma==null?null:this.gamma.read(),this.epsilon)};if(!n)return m();let[f,d,h]=SJ(o,this.gamma.read(),this.beta.read(),a,this.epsilon),g=(b,w,I)=>{B(()=>{let N=1-I,E=b.read(),A=$(at(E,w),N);b.write(at(E,A))})};return(()=>{g(this.movingMean,d,this.momentum),g(this.movingVariance,h,this.momentum)})(),f})}getConfig(){let t={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:Te(this.betaInitializer),gammaInitializer:Te(this.gammaInitializer),movingMeanInitializer:Te(this.movingMeanInitializer),movingVarianceInitializer:Te(this.movingVarianceInitializer),betaRegularizer:fe(this.betaRegularizer),gammaRegularizer:fe(this.gammaRegularizer),betaConstraint:Ve(this.betaConstraint),gammaConstraint:Ve(this.gammaConstraint)},e=super.getConfig();return Object.assign(t,e),t}};Ff.className=\"BatchNormalization\";Q.registerClass(Ff);var Of=class extends Et{constructor(t){if(t==null&&(t={}),super(t),this.axis=t.axis==null?-1:t.axis,typeof this.axis==\"number\"){if(!Number.isInteger(this.axis))throw new Error(`Expected axis to be an integer, but received ${this.axis}`)}else if(Array.isArray(this.axis)){for(let e of this.axis)if(!Number.isInteger(e))throw new Error(`Expected axis to be an array of integers, but received ${JSON.stringify(this.axis)}`)}else throw new Error(`Expected axis to be an integer or an array of integers, but received ${JSON.stringify(this.axis)}`);this.epsilon=t.epsilon==null?.001:t.epsilon,this.center=t.center==null?!0:t.center,this.scale=t.scale==null?!0:t.scale,this.betaInitializer=ge(t.betaInitializer||\"zeros\"),this.gammaInitializer=ge(t.gammaInitializer||\"ones\"),this.betaRegularizer=Ce(t.betaRegularizer),this.gammaRegularizer=Ce(t.gammaRegularizer),this.supportsMasking=!0}build(t){t=Gt(t);let e=t.length;typeof this.axis==\"number\"&&(this.axis=[this.axis]);for(let s=0;s=e)throw new Error(`Invalid axis: ${s}`);if(this.axis.length!==Eo(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);let n=this.axis.map(s=>t[s]),o=!0;this.scale?this.gamma=this.addWeight(\"gamma\",n,\"float32\",this.gammaInitializer,this.gammaRegularizer,o):this.gamma=null,this.center?this.beta=this.addWeight(\"beta\",n,\"float32\",this.betaInitializer,this.betaRegularizer,o):this.beta=null,this.built=!0}call(t,e){let n=St(t),o=n.shape,s=o.length;return B(()=>{let{mean:a,variance:u}=dc(n,this.axis,!0),l=To(1,s);for(let h of this.axis)l[h]=o[h];let c=h=>h!=null&&h.shape.length!==s?R(h,l):h,p=this.scale?c(this.gamma.read()):null,m=this.center?c(this.beta.read()):null,f=[],d=[];for(let h=0;h{if(r.rank!==4)throw new z(`temporalPadding expects input tensor to be 4-D, but received a ${r.rank}-D tensor.`);if(t==null&&(t=[[1,1],[1,1]]),t.length!==2||t[0].length!==2||t[1].length!==2)throw new z(\"spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.\");if(e==null&&(e=xn()),e!==\"channelsLast\"&&e!==\"channelsFirst\")throw new z(`Unknown data format: ${e}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let n;return e===\"channelsFirst\"?n=[[0,0],[0,0],t[0],t[1]]:n=[[0,0],t[0],t[1],[0,0]],mn(r,n)})}var Mf=class extends Et{constructor(t){if(t==null&&(t={}),super(t),this.dataFormat=t.dataFormat==null?xn():t.dataFormat,t.padding==null)this.padding=[[1,1],[1,1]];else if(typeof t.padding==\"number\")this.padding=[[t.padding,t.padding],[t.padding,t.padding]];else{if(t.padding=t.padding,t.padding.length!==2)throw new z(`ZeroPadding2D expects padding to be a length-2 array, but received a length-${t.padding.length} array.`);let e,n;if(typeof t.padding[0]==\"number\")e=[t.padding[0],t.padding[0]],n=[t.padding[1],t.padding[1]];else{if(t.padding=t.padding,t.padding[0].length!==2)throw new z(`ZeroPadding2D expects height padding to be a length-2 array, but received a length-${t.padding[0].length} array.`);if(e=t.padding[0],t.padding[1].length!==2)throw new z(`ZeroPadding2D expects width padding to be a length-2 array, but received a length-${t.padding[1].length} array.`);n=t.padding[1]}this.padding=[e,n]}this.inputSpec=[new Ie({ndim:4})]}computeOutputShape(t){t=Gt(t);let e,n;return this.dataFormat===\"channelsFirst\"?(t[2]!=null&&t[2]>=0?e=t[2]+this.padding[0][0]+this.padding[0][1]:e=null,t[3]!=null&&t[3]>=0?n=t[3]+this.padding[1][0]+this.padding[1][1]:n=null,[t[0],t[1],e,n]):(t[1]!=null&&t[1]>=0?e=t[1]+this.padding[0][0]+this.padding[0][1]:e=null,t[2]!=null&&t[2]>=0?n=t[2]+this.padding[1][0]+this.padding[1][1]:n=null,[t[0],e,n,t[3]])}call(t,e){return B(()=>NJ(St(t),this.padding,this.dataFormat))}getConfig(){let t={padding:this.padding,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}};Mf.className=\"ZeroPadding2D\";Q.registerClass(Mf);function Fb(r,t,e,n,o,s){return B(()=>{Me(o),MN(s),hn(n),e==null&&(e=[1,1]),n==null&&(n=\"valid\"),o==null&&(o=xn()),s==null&&(s=\"max\"),r=Mh(r,o);let i,a=n===\"same\"?\"same\":\"valid\";return s===\"max\"?i=ku(r,t,e,a):i=xu(r,t,e,a),o===\"channelsFirst\"&&(i=Vt(i,[0,3,1,2])),i})}function KR(r,t,e,n,o,s){return B(()=>{Me(o),MN(s),hn(n),e==null&&(e=[1,1,1]),n==null&&(n=\"valid\"),o==null&&(o=xn()),s==null&&(s=\"max\"),r=QN(r,o);let i,a=n===\"same\"?\"same\":\"valid\";return s===\"max\"?i=Xx(r,t,e,a):i=wx(r,t,e,a),o===\"channelsFirst\"&&(i=Vt(i,[0,4,1,2,3])),i})}var Eb=class extends Et{constructor(t){if(t.poolSize==null&&(t.poolSize=2),super(t),typeof t.poolSize==\"number\")this.poolSize=[t.poolSize];else if(Array.isArray(t.poolSize)&&t.poolSize.length===1&&typeof t.poolSize[0]==\"number\")this.poolSize=t.poolSize;else throw new z(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(t.poolSize)}`);if(tr(this.poolSize,\"poolSize\"),t.strides==null)this.strides=this.poolSize;else if(typeof t.strides==\"number\")this.strides=[t.strides];else if(Array.isArray(t.strides)&&t.strides.length===1&&typeof t.strides[0]==\"number\")this.strides=t.strides;else throw new z(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(t.strides)}`);tr(this.strides,\"strides\"),this.padding=t.padding==null?\"valid\":t.padding,hn(this.padding),this.inputSpec=[new Ie({ndim:3})]}computeOutputShape(t){t=Gt(t);let e=Tn(t[1],this.poolSize[0],this.padding,this.strides[0]);return[t[0],e,t[2]]}call(t,e){return B(()=>{this.invokeCallHook(t,e),t=Sl(St(t),2);let n=this.poolingFunction(St(t),[this.poolSize[0],1],[this.strides[0],1],this.padding,\"channelsLast\");return Wn(n,[2])})}getConfig(){let t={poolSize:this.poolSize,padding:this.padding,strides:this.strides},e=super.getConfig();return Object.assign(t,e),t}},Pf=class extends Eb{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Me(s),hn(o),Fb(t,e,n,o,s,\"max\")}};Pf.className=\"MaxPooling1D\";Q.registerClass(Pf);var Lf=class extends Eb{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Me(s),hn(o),Fb(t,e,n,o,s,\"avg\")}};Lf.className=\"AveragePooling1D\";Q.registerClass(Lf);var Ab=class extends Et{constructor(t){if(t.poolSize==null&&(t.poolSize=[2,2]),super(t),this.poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize],t.strides==null)this.strides=this.poolSize;else if(Array.isArray(t.strides)){if(t.strides.length!==2)throw new z(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${t.strides.length}.`);this.strides=t.strides}else this.strides=[t.strides,t.strides];tr(this.poolSize,\"poolSize\"),tr(this.strides,\"strides\"),this.padding=t.padding==null?\"valid\":t.padding,this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Me(this.dataFormat),hn(this.padding),this.inputSpec=[new Ie({ndim:4})]}computeOutputShape(t){t=Gt(t);let e=this.dataFormat===\"channelsFirst\"?t[2]:t[1],n=this.dataFormat===\"channelsFirst\"?t[3]:t[2];return e=Tn(e,this.poolSize[0],this.padding,this.strides[0]),n=Tn(n,this.poolSize[1],this.padding,this.strides[1]),this.dataFormat===\"channelsFirst\"?[t[0],t[1],e,n]:[t[0],e,n,t[3]]}call(t,e){return B(()=>(this.invokeCallHook(t,e),this.poolingFunction(St(t),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){let t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}},zf=class extends Ab{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Me(s),hn(o),Fb(t,e,n,o,s,\"max\")}};zf.className=\"MaxPooling2D\";Q.registerClass(zf);var Bf=class extends Ab{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Me(s),hn(o),Fb(t,e,n,o,s,\"avg\")}};Bf.className=\"AveragePooling2D\";Q.registerClass(Bf);var Db=class extends Et{constructor(t){if(t.poolSize==null&&(t.poolSize=[2,2,2]),super(t),this.poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize,t.poolSize],t.strides==null)this.strides=this.poolSize;else if(Array.isArray(t.strides)){if(t.strides.length!==3)throw new z(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${t.strides.length}.`);this.strides=t.strides}else this.strides=[t.strides,t.strides,t.strides];tr(this.poolSize,\"poolSize\"),tr(this.strides,\"strides\"),this.padding=t.padding==null?\"valid\":t.padding,this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Me(this.dataFormat),hn(this.padding),this.inputSpec=[new Ie({ndim:5})]}computeOutputShape(t){t=Gt(t);let e=this.dataFormat===\"channelsFirst\"?t[2]:t[1],n=this.dataFormat===\"channelsFirst\"?t[3]:t[2],o=this.dataFormat===\"channelsFirst\"?t[4]:t[3];return e=Tn(e,this.poolSize[0],this.padding,this.strides[0]),n=Tn(n,this.poolSize[1],this.padding,this.strides[1]),o=Tn(o,this.poolSize[2],this.padding,this.strides[2]),this.dataFormat===\"channelsFirst\"?[t[0],t[1],e,n,o]:[t[0],e,n,o,t[4]]}call(t,e){return B(()=>(this.invokeCallHook(t,e),this.poolingFunction(St(t),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){let t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}},Vf=class extends Db{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Me(s),hn(o),KR(t,e,n,o,s,\"max\")}};Vf.className=\"MaxPooling3D\";Q.registerClass(Vf);var Gf=class extends Db{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Me(s),hn(o),KR(t,e,n,o,s,\"avg\")}};Gf.className=\"AveragePooling3D\";Q.registerClass(Gf);var $b=class extends Et{constructor(t){super(t),this.inputSpec=[new Ie({ndim:3})]}computeOutputShape(t){return[t[0],t[2]]}call(t,e){throw new _t}},Wf=class extends $b{constructor(t){super(t||{})}call(t,e){return B(()=>{let n=St(t);return Ne(n,1)})}};Wf.className=\"GlobalAveragePooling1D\";Q.registerClass(Wf);var Uf=class extends $b{constructor(t){super(t||{})}call(t,e){return B(()=>{let n=St(t);return Sr(n,1)})}};Uf.className=\"GlobalMaxPooling1D\";Q.registerClass(Uf);var Rb=class extends Et{constructor(t){super(t),this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Me(this.dataFormat),this.inputSpec=[new Ie({ndim:4})]}computeOutputShape(t){return t=t,this.dataFormat===\"channelsLast\"?[t[0],t[3]]:[t[0],t[1]]}call(t,e){throw new _t}getConfig(){let t={dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}},Hf=class extends Rb{call(t,e){return B(()=>{let n=St(t);return this.dataFormat===\"channelsLast\"?Ne(n,[1,2]):Ne(n,[2,3])})}};Hf.className=\"GlobalAveragePooling2D\";Q.registerClass(Hf);var qf=class extends Rb{call(t,e){return B(()=>{let n=St(t);return this.dataFormat===\"channelsLast\"?Sr(n,[1,2]):Sr(n,[2,3])})}};qf.className=\"GlobalMaxPooling2D\";Q.registerClass(qf);var Ob=class extends Et{constructor(t){super(t),this.layer=t.layer}build(t){this.built=!0}get trainable(){return this.layer!=null?this.layer.trainable:!1}set trainable(t){this.layer!=null&&(this.layer.trainable=t)}get trainableWeights(){return this.layer.trainableWeights}get nonTrainableWeights(){return this.layer.nonTrainableWeights}get updates(){return this.layer._updates}get losses(){return this.layer.losses}getWeights(){return this.layer.getWeights()}setWeights(t){this.layer.setWeights(t)}getConfig(){let t={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},e=super.getConfig();return Object.assign(t,e),t}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),this.layer!=null&&this.layer.setFastWeightInitDuringBuild(t)}static fromConfig(t,e,n={}){let o=e.layer,s=wn(o,n);delete e.layer;let i={layer:s};return Object.assign(i,e),new t(i)}},Kf=class extends Ob{constructor(t){super(t),this.supportsMasking=!0}build(t){if(t=Gt(t),t.length<3)throw new z(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(t)}`);this.inputSpec=[{shape:t}];let e=[t[0]].concat(t.slice(2));this.layer.built||(this.layer.build(e),this.layer.built=!0),super.build(t)}computeOutputShape(t){t=Gt(t);let e=[t[0]].concat(t.slice(2)),n=this.layer.computeOutputShape(e),o=t[1];return[n[0],o].concat(n.slice(1))}call(t,e){return B(()=>(t=St(t),ek((i,a)=>[St(this.layer.call(i,e)),[]],t,[],!1,null,null,!1,!0)[1]))}};Kf.className=\"TimeDistributed\";Q.registerClass(Kf);function kJ(r){da(Q$,\"BidirectionalMergeMode\",r)}var TJ=\"concat\",jf=class extends Ob{constructor(t){super(t);let e=t.layer.getConfig(),n={};n.className=t.layer.getClassName(),n.config=e,this.forwardLayer=wn(n),e.goBackwards=e.goBackwards!==!0;let o={};if(o.className=t.layer.getClassName(),o.config=e,this.backwardLayer=wn(o),this.forwardLayer.name=\"forward_\"+this.forwardLayer.name,this.backwardLayer.name=\"backward_\"+this.backwardLayer.name,this.mergeMode=t.mergeMode===void 0?TJ:t.mergeMode,kJ(this.mergeMode),t.weights)throw new _t(\"weights support is not implemented for Bidirectional layer yet.\");this._stateful=t.layer.stateful,this.returnSequences=t.layer.returnSequences,this.returnState=t.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=t.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(t){this._trainable=t,this.forwardLayer!=null&&(this.forwardLayer.trainable=t),this.backwardLayer!=null&&(this.backwardLayer.trainable=t)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(t){let e=t.length,n=Math.floor(e/2);this.forwardLayer.setWeights(t.slice(0,n)),this.backwardLayer.setWeights(t.slice(n))}computeOutputShape(t){let e=this.forwardLayer.computeOutputShape(t);Array.isArray(e)&&Array.isArray(e[0])||(e=[e]),e=e;let n,o,s;return this.returnState&&(s=e.slice(1)),n=e[0],n=n,this.mergeMode===\"concat\"?(n[n.length-1]*=2,o=[n]):this.mergeMode==null?o=[n,n.slice()]:o=[n],this.returnState?this.mergeMode==null?o.concat(s).concat(s.slice()):[n].concat(s).concat(s.slice()):kr(o)}apply(t,e){let n=e==null?null:e.initialState,o=e==null?null:e.constants;e==null&&(e={});let s=tk(t,n,o,this.numConstants);if(t=s.inputs,n=s.initialState,o=s.constants,Array.isArray(t)&&(n=t.slice(1),t=t[0]),(n==null||n.length===0)&&o==null)return super.apply(t,e);let i=[],a=[];if(n!=null){let l=n.length;if(l%2>0)throw new z(\"When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.\");e.initialState=n,i.push(...n);let c=n.map(p=>new Ie({shape:p.shape}));this.forwardLayer.stateSpec=c.slice(0,l/2),this.backwardLayer.stateSpec=c.slice(l/2),a.push(...c)}if(o!=null)throw new _t(\"Support for constants in Bidirectional layers is not implemented yet.\");let u=i[0]instanceof en;for(let l of i)if(l instanceof en!==u)throw new z(\"The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors\");if(u){let l=[t].concat(i),c=this.inputSpec.concat(a),p=this.inputSpec;this.inputSpec=c;let m=super.apply(l,e);return this.inputSpec=p,m}else return super.apply(t,e)}call(t,e){return B(()=>{let n=e.initialState,o,s;if(n==null)o=this.forwardLayer.call(t,e),s=this.backwardLayer.call(t,e);else{let u=n.slice(0,n.length/2),l=n.slice(n.length/2);o=this.forwardLayer.call(t,Object.assign(e,{initialState:u})),s=this.backwardLayer.call(t,Object.assign(e,{initialState:l}))}let i;this.returnState&&(Array.isArray(o)&&(i=o.slice(1).concat(s.slice(1))),o=o[0],s=s[0]),this.returnSequences&&(s=dr(s,1));let a;return this.mergeMode===\"concat\"?a=Tm([o,s]):this.mergeMode===\"sum\"?a=X(o,s):this.mergeMode===\"ave\"?a=$(.5,X(o,s)):this.mergeMode===\"mul\"?a=$(o,s):this.mergeMode==null&&(a=[o,s]),this.returnState?this.mergeMode==null?a.concat(i):[a].concat(i):a})}resetStates(t){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(t){mi(this.forwardLayer.name,()=>{this.forwardLayer.build(t)}),mi(this.backwardLayer.name,()=>{this.backwardLayer.build(t)}),this.built=!0}computeMask(t,e){Array.isArray(e)&&(e=e[0]);let n;if(this.returnSequences?this.mergeMode==null?n=[e,e]:n=e:this.mergeMode==null?n=[null,null]:n=null,this.returnState){let s=this.forwardLayer.states.map(i=>null);return Array.isArray(n)?n.concat(s).concat(s):[n].concat(s).concat(s)}else return n}get trainableWeights(){return this.forwardLayer.trainableWeights.concat(this.backwardLayer.trainableWeights)}get nonTrainableWeights(){return this.forwardLayer.nonTrainableWeights.concat(this.backwardLayer.nonTrainableWeights)}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),this.forwardLayer!=null&&this.forwardLayer.setFastWeightInitDuringBuild(t),this.backwardLayer!=null&&this.backwardLayer.setFastWeightInitDuringBuild(t)}getConfig(){let t={mergeMode:this.mergeMode},e=super.getConfig();return Object.assign(t,e),t}static fromConfig(t,e){let n=wn(e.layer);if(delete e.layer,e.numConstants!=null)throw new _t(\"Deserialization of a Bidirectional layer with numConstants present is not supported yet.\");let o=e;return o.layer=n,new t(o)}};jf.className=\"Bidirectional\";Q.registerClass(jf);var Xf=class extends Et{constructor(t){super(t),this.scale=t.scale,t.offset?this.offset=t.offset:this.offset=0}getConfig(){let t={scale:this.scale,offset:this.offset},e=super.getConfig();return Object.assign(t,e),t}call(t,e){return B(()=>(t=St(t),t.dtype!==\"float32\"&&(t=tn(t,\"float32\")),X($(t,this.scale),this.offset)))}};Xf.className=\"Rescaling\";Q.registerClass(Xf);var{resizeBilinear:_J,cropAndResize:EJ}=fn,Yf=class extends Et{constructor(t){super(t),this.height=t.height,this.width=t.width}centerCrop(t,e,n,o,s,i,a,u){return B(()=>{let l,c=!1,p=e/i,m=n/a,f=(o+e)/i,d=(s+n)/a,h=[p,m,f,d],g=[];t.rank===3?(c=!0,l=Fe([t])):l=t;for(let N=0;N{let s=_J(t,[e,n]);return tn(s,o)})}call(t,e){return B(()=>{let n=St(t),o=n.dtype,s=n.shape,i=s[s.length-3],a=s[s.length-2],u=0;i!==this.height&&(u=Math.floor((i-this.height)/2));let l=0;return a!==this.width&&(l=Math.floor((a-this.width)/2),l===0&&(l=1)),u>=0&&l>=0?this.centerCrop(n,u,l,this.height,this.width,i,a,o):this.upsize(t,this.height,this.width,o)})}getConfig(){let t={height:this.height,width:this.width},e=super.getConfig();return Object.assign(t,e),t}computeOutputShape(t){t=Gt(t);let e=t.length-3,n=t.length-2;return t[e]=this.height,t[n]=this.width,t}};Yf.className=\"CenterCrop\";Q.registerClass(Yf);function jR(r,t,e,n){let o=St(r);if(o.dtype!==\"int32\"&&(o=tn(o,\"int32\")),t===\"int\")return o;let s=o.shape;if(o.rank===0&&(o=je(o,-1)),t===\"oneHot\"&&o.shape[o.shape.length-1]!==1&&(o=je(o,-1)),o.rank>2)throw new z(`When outputMode is not int, maximum output rank is 2 Received outputMode ${t} and input shape ${s} which would result in output rank ${o.rank}.`);let i=[\"multiHot\",\"oneHot\"].includes(t),a=o,u;if(typeof n!=\"undefined\"&&t===\"count\"?u=ph(a,n,e,i):u=ph(a,[],e,i),t!==\"tfIdf\")return u;if(n)return $(u,n);throw new z(\"When outputMode is 'tfIdf', weights must be provided.\")}var Zf=class extends Et{constructor(t){super(t),this.numTokens=t.numTokens,t.outputMode?this.outputMode=t.outputMode:this.outputMode=\"multiHot\"}getConfig(){let t={numTokens:this.numTokens,outputMode:this.outputMode},e=super.getConfig();return Object.assign(t,e),t}computeOutputShape(t){return t=Gt(t),t==null?[this.numTokens]:this.outputMode===\"oneHot\"&&t[t.length-1]!==1?(t.push(this.numTokens),t):(t[t.length-1]=this.numTokens,t)}call(t,e){return B(()=>{t=St(t),t.dtype!==\"int32\"&&(t=tn(t,\"int32\"));let n;if(typeof e.countWeights!=\"undefined\"){if(this.outputMode!==\"count\")throw new z(`countWeights is not used when outputMode !== count.\n Received countWeights=${e.countWeights}`);n=St(e.countWeights)}let o=Sr(t),s=gl(t),i=Re(this.numTokens,o).bufferSync().get(0),a=cn(s,0).bufferSync().get(0);if(!(i&&a))throw new z(`Input values must be between 0 < values <= numTokens with numTokens=${this.numTokens}`);return jR(t,this.outputMode,this.numTokens,n)})}};Zf.className=\"CategoryEncoding\";Q.registerClass(Zf);var DJ=[\"bilinear\",\"nearest\"],XR=new Set(DJ),Jf=class extends Et{constructor(t){if(super(t),this.height=t.height,this.width=t.width,t.interpolation)if(XR.has(t.interpolation))this.interpolation=t.interpolation;else throw new z(`Invalid interpolation parameter: ${t.interpolation} is not implemented`);else this.interpolation=\"bilinear\";this.cropToAspectRatio=!!t.cropToAspectRatio}computeOutputShape(t){t=Gt(t);let e=t[2];return[this.height,this.width,e]}getConfig(){let t={height:this.height,width:this.width,interpolation:this.interpolation,cropToAspectRatio:this.cropToAspectRatio},e=super.getConfig();return Object.assign(t,e),t}call(t,e){return B(()=>{let n=[this.height,this.width];if(this.interpolation===\"bilinear\")return fn.resizeBilinear(t,n,!this.cropToAspectRatio);if(this.interpolation===\"nearest\")return fn.resizeNearestNeighbor(t,n,!this.cropToAspectRatio);throw new Error(`Interpolation is ${this.interpolation} but only ${[...XR]} are supported`)})}};Jf.className=\"Resizing\";Q.registerClass(Jf);var zh=class{constructor(t){this.seed=t}next(){if(this.seed!==void 0)return this.seed++}};zh.className=\"RandomSeed\";var Bh=class extends Et{constructor(t){super(t),this.randomGenerator=new zh(t.seed)}getConfig(){let t={seed:this.randomGenerator.seed},e=super.getConfig();return Object.assign(t,e),t}};Bh.className=\"BaseRandomLayer\";var $J=[\"bilinear\",\"nearest\"],YR=new Set($J),Qf=class extends Bh{constructor(t){super(t);let{factor:e,interpolation:n=\"bilinear\"}=t;if(this.factor=e,Array.isArray(this.factor)&&this.factor.length===2)this.widthLower=this.factor[0],this.widthUpper=this.factor[1];else if(!Array.isArray(this.factor)&&this.factor>0)this.widthLower=-this.factor,this.widthUpper=this.factor;else throw new z(`Invalid factor: ${this.factor}. Must be positive number or tuple of 2 numbers`);if(this.widthLower<-1||this.widthUpper<-1)throw new z(`factor must have values larger than -1. Got: ${this.factor}`);if(this.widthUpper{let n=St(t);this.imgHeight=n.shape[n.shape.length-3];let o=n.shape[n.shape.length-2];this.widthFactor=Gn([1],1+this.widthLower,1+this.widthUpper,\"float32\",this.randomGenerator.next());let s=this.widthFactor.dataSync()[0]*o;s=Math.round(s);let i=[this.imgHeight,s];switch(this.interpolation){case\"bilinear\":return fn.resizeBilinear(t,i);case\"nearest\":return fn.resizeNearestNeighbor(t,i);default:throw new Error(`Interpolation is ${this.interpolation}\n but only ${[...YR]} are supported`)}})}};Qf.className=\"RandomWidth\";Q.registerClass(Qf);function RJ(r){return new di(r)}function FJ(r){return new Qm(r)}function OJ(r){return new Ym(r)}function MJ(r){return new Zm(r)}function PJ(r){return new Jm(r)}function LJ(r){return new ef(r)}function zJ(r){return new tf(r)}function BJ(r){return new af(r)}function VJ(r){return new Uc(r)}function GJ(r){return new nf(r)}function WJ(r){return new Hc(r)}function UJ(r){return new of(r)}function HJ(r){return new sf(r)}function qJ(r){return new lf(r)}function KJ(r){return new uf(r)}function jJ(r){return new cf(r)}function XJ(r){return new yf(r)}function YJ(r){return new gf(r)}function ZJ(r){return new Yc(r)}function JJ(r){return new hf(r)}function QJ(r){return new xf(r)}function t9(r){return new bf(r)}function e9(r){return new wf(r)}function r9(r){return new If(r)}function n9(r){return new vf(r)}function o9(r){return new Sf(r)}function s9(r){return new kf(r)}function i9(r){return new Ef(r)}function a9(r){return new Tf(r)}function l9(r){return new _f(r)}function u9(r){return new Nf(r)}function c9(r){return new Af(r)}function p9(r){return new Ff(r)}function m9(r){return new Of(r)}function f9(r){return new Mf(r)}function rk(r){return new Lf(r)}function d9(r){return rk(r)}function h9(r){return rk(r)}function nk(r){return new Bf(r)}function g9(r){return nk(r)}function x9(r){return nk(r)}function ok(r){return new Gf(r)}function y9(r){return ok(r)}function b9(r){return ok(r)}function w9(r){return new Wf(r)}function I9(r){return new Hf(r)}function ZR(r){return new Uf(r)}function JR(r){return new qf(r)}function QR(r){return new Pf(r)}function tF(r){return new zf(r)}function C9(r){return new Vf(r)}function v9(r){return new mf(r)}function S9(r){return new Kc(r)}function N9(r){return new ff(r)}function k9(r){return new _l(r)}function T9(r){return new pf(r)}function _9(r){return new qc(r)}function E9(r){return new df(r)}function A9(r){return new Xc(r)}function D9(r){return new po(r)}function $9(r){return new jc(r)}function R9(r){return new jf(r)}function F9(r){return new Kf(r)}var O9=ZR,M9=JR,P9=QR,L9=tF;function z9(r){return new Df(r)}function B9(r){return new $f(r)}function V9(r){return new Rf(r)}function G9(r){return new Cf(r)}function W9(r){return new Xf(r)}function U9(r){return new Yf(r)}function H9(r){return new Jf(r)}function q9(r){return new Zf(r)}function K9(r){return new Qf(r)}var rF={};Kt(rF,{MAPE:()=>oQ,MSE:()=>aQ,binaryAccuracy:()=>j9,binaryCrossentropy:()=>X9,categoricalAccuracy:()=>Z9,categoricalCrossentropy:()=>J9,cosineProximity:()=>eQ,mape:()=>sQ,meanAbsoluteError:()=>rQ,meanAbsolutePercentageError:()=>nQ,meanSquaredError:()=>iQ,mse:()=>lQ,precision:()=>Q9,recall:()=>tQ,sparseCategoricalAccuracy:()=>Y9});function j9(r,t){return Dh(r,t)}function X9(r,t){return rb(r,t)}function Y9(r,t){return nb(r,t)}function Z9(r,t){return $h(r,t)}function J9(r,t){return Rh(r,t)}function Q9(r,t){return UN(r,t)}function tQ(r,t){return NR(r,t)}function eQ(r,t){return Ah(r,t)}function rQ(r,t){return Um(r,t)}function nQ(r,t){return Pu(r,t)}function oQ(r,t){return Pu(r,t)}function sQ(r,t){return Pu(r,t)}function iQ(r,t){return xa(r,t)}function aQ(r,t){return xa(r,t)}function lQ(r,t){return xa(r,t)}var nF={};Kt(nF,{modelFromJSON:()=>BR});var oF={};Kt(oF,{l1:()=>cQ,l1l2:()=>uQ,l2:()=>pQ});function uQ(r){return new Lu(r)}function cQ(r){return UR(r)}function pQ(r){return HR(r)}var Pb=class extends kl{constructor(){super(...arguments),this.model=null}setModel(t){if(!(t instanceof Un))throw new Error(\"model must be a LayersModel, not some other Container\");this.model=t}};function Mb(r,t){return rt}var Lb=class extends Pb{constructor(t){if(super(),t==null&&(t={}),t.restoreBestWeights)throw new _t(\"restoreBestWeights = True is not implemented in EarlyStopping yet.\");this.monitor=t.monitor||\"val_loss\",this.minDelta=Math.abs(t.minDelta||0),this.patience=t.patience||0,this.verbose=t.verbose||0,this.mode=t.mode||\"auto\",this.baseline=t.baseline,[\"auto\",\"min\",\"max\"].indexOf(this.mode)===-1&&(console.warn(`EarlyStopping mode '${this.mode}' is invalid. Falling back to mode 'auto'.`),this.mode=\"auto\"),this.mode===\"min\"?this.monitorFunc=Mb:this.mode===\"max\"?this.monitorFunc=sF:this.monitor.indexOf(\"acc\")!==-1?this.monitorFunc=sF:this.monitorFunc=Mb,this.monitorFunc===Mb&&(this.minDelta*=-1)}async onTrainBegin(t){this.wait=0,this.stoppedEpoch=0,this.baseline!=null?this.best=this.baseline:this.best=this.monitorFunc===Mb?1/0:-1/0}async onEpochEnd(t,e){await ga(e);let n=this.getMonitorValue(e);n!=null&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=t,this.model.stopTraining=!0)))}async onTrainEnd(t){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(t){t==null&&(t={});let e=t[this.monitor];return e==null&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(t)}`),e}};function mQ(r){return new Lb(r)}var fQ={earlyStopping:mQ};var dQ=L();dQ.registerFlag(\"KEEP_INTERMEDIATE_TENSORS\",()=>!1,r=>{r&&console.warn(\"Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.\")});var _n;(function(r){r[r.DT_INVALID=0]=\"DT_INVALID\",r[r.DT_FLOAT=1]=\"DT_FLOAT\",r[r.DT_DOUBLE=2]=\"DT_DOUBLE\",r[r.DT_INT32=3]=\"DT_INT32\",r[r.DT_UINT8=4]=\"DT_UINT8\",r[r.DT_INT16=5]=\"DT_INT16\",r[r.DT_INT8=6]=\"DT_INT8\",r[r.DT_STRING=7]=\"DT_STRING\",r[r.DT_COMPLEX64=8]=\"DT_COMPLEX64\",r[r.DT_INT64=9]=\"DT_INT64\",r[r.DT_BOOL=10]=\"DT_BOOL\",r[r.DT_QINT8=11]=\"DT_QINT8\",r[r.DT_QUINT8=12]=\"DT_QUINT8\",r[r.DT_QINT32=13]=\"DT_QINT32\",r[r.DT_BFLOAT16=14]=\"DT_BFLOAT16\",r[r.DT_QINT16=15]=\"DT_QINT16\",r[r.DT_QUINT16=16]=\"DT_QUINT16\",r[r.DT_UINT16=17]=\"DT_UINT16\",r[r.DT_COMPLEX128=18]=\"DT_COMPLEX128\",r[r.DT_HALF=19]=\"DT_HALF\",r[r.DT_RESOURCE=20]=\"DT_RESOURCE\",r[r.DT_VARIANT=21]=\"DT_VARIANT\",r[r.DT_UINT32=22]=\"DT_UINT32\",r[r.DT_UINT64=23]=\"DT_UINT64\",r[r.DT_FLOAT_REF=101]=\"DT_FLOAT_REF\",r[r.DT_DOUBLE_REF=102]=\"DT_DOUBLE_REF\",r[r.DT_INT32_REF=103]=\"DT_INT32_REF\",r[r.DT_UINT8_REF=104]=\"DT_UINT8_REF\",r[r.DT_INT16_REF=105]=\"DT_INT16_REF\",r[r.DT_INT8_REF=106]=\"DT_INT8_REF\",r[r.DT_STRING_REF=107]=\"DT_STRING_REF\",r[r.DT_COMPLEX64_REF=108]=\"DT_COMPLEX64_REF\",r[r.DT_INT64_REF=109]=\"DT_INT64_REF\",r[r.DT_BOOL_REF=110]=\"DT_BOOL_REF\",r[r.DT_QINT8_REF=111]=\"DT_QINT8_REF\",r[r.DT_QUINT8_REF=112]=\"DT_QUINT8_REF\",r[r.DT_QINT32_REF=113]=\"DT_QINT32_REF\",r[r.DT_BFLOAT16_REF=114]=\"DT_BFLOAT16_REF\",r[r.DT_QINT16_REF=115]=\"DT_QINT16_REF\",r[r.DT_QUINT16_REF=116]=\"DT_QUINT16_REF\",r[r.DT_UINT16_REF=117]=\"DT_UINT16_REF\",r[r.DT_COMPLEX128_REF=118]=\"DT_COMPLEX128_REF\",r[r.DT_HALF_REF=119]=\"DT_HALF_REF\",r[r.DT_RESOURCE_REF=120]=\"DT_RESOURCE_REF\",r[r.DT_VARIANT_REF=121]=\"DT_VARIANT_REF\",r[r.DT_UINT32_REF=122]=\"DT_UINT32_REF\",r[r.DT_UINT64_REF=123]=\"DT_UINT64_REF\"})(_n||(_n={}));var iF;(function(r){let t;(function(e){e[e.LEGACY=0]=\"LEGACY\",e[e.V1=1]=\"V1\",e[e.V2=2]=\"V2\"})(t=r.CheckpointFormatVersion||(r.CheckpointFormatVersion={}))})(iF||(iF={}));var sk={};function gQ(r,t){let e={tfOpName:r,category:\"custom\",inputs:[],attrs:[],customExecutor:t};sk[r]=e}function zb(r){return sk[r]}function xQ(r){delete sk[r]}function v(r,t,e,n,o){let s=t.inputParams[r];if(s&&s.inputIndexStart!==void 0){let a=s.inputIndexStart,u=s.inputIndexEnd===0?void 0:s.inputIndexEnd===void 0?a+1:s.inputIndexEnd,l=a<0?t.inputNames.length+a:a;if(s.type===\"tensor\")return pr(t.inputNames[l],e,n,o);if(s.type===\"tensors\"){let m=t.inputs.slice(a,u);return t.inputNames.slice(a,u).filter((d,h)=>{var g;return((g=m[h])===null||g===void 0?void 0:g.op)!==\"NoOp\"}).map(d=>pr(d,e,n,o))}let c=pr(t.inputNames[l],e,n,o),p=c.dataSync();return s.type===\"number\"?p[0]:y.toNestedArray(c.shape,p)}let i=t.attrParams[r];return i&&i.value}function pr(r,t,e,n){let[o,s]=In(r,e);if(n!=null){let a=n.getHashTableHandleByName(o);if(a!=null)return a}let i=e.currentContextIds.find(a=>!!t[Bb(o,a)]);return i!==void 0?t[Bb(o,i)][s]:void 0}function ik(r,t,e){return t[Bb(r,e.currentContextId)]}function yi(r,t){let[e,n,o]=In(r,t);return[Bb(e,t&&t.currentContextId),n,o]}function Bb(r,t){return t?`${r}-${t}`:r}function In(r,t){if(r===\"\")return[\"\",0,void 0];let e=t!=null&&t.parseNodeNameCache!=null;if(e){let s=t.parseNodeNameCache.get(r);if(s!=null)return s}let n=r.split(\":\"),o;if(n.length===1)o=[r,0,void 0];else{let s=n[0],i=n.length===3?n[1]:void 0,a=Number(n[n.length-1]);o=[s,a,i]}return e&&t.parseNodeNameCache.set(r,o),o}function Vh(r,t,e){let n=v(\"pad\",r,t,e);if(n===\"explicit\"){n=v(\"explicitPaddings\",r,t,e);let o=[[0,0],[0,0],[0,0],[0,0]];for(let s=0;s<4;s++)o[s][0]=n[s*2],o[s][1]=n[s*2+1];return o}return n}function bi(r){return r.kept?r:ln(r)}var ak={};Kt(ak,{json:()=>yQ});var yQ=[{tfOpName:\"Add\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"AddV2\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"AddN\",category:\"arithmetic\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}]},{tfOpName:\"BiasAdd\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"Sub\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"RealDiv\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Div\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"DivNoNan\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"FloorDiv\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Mul\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Maximum\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Minimum\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Pow\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SquaredDifference\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Mod\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"FloorMod\",category:\"arithmetic\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var lk={};Kt(lk,{json:()=>bQ});var bQ=[{tfOpName:\"Abs\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Acos\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Asin\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atan2\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"y\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Ceil\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ClipByValue\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"clipValueMin\",type:\"number\"},{start:2,name:\"clipValueMax\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Complex\",category:\"basic_math\",inputs:[{start:0,name:\"real\",type:\"tensor\"},{start:1,name:\"imag\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ComplexAbs\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Cos\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Cosh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Elu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Exp\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Floor\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Log\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Imag\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"outputType\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Neg\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Real\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"outputType\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Prelu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"alpha\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Relu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Relu6\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Selu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sigmoid\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sin\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sinh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sqrt\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Rsqrt\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Square\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Tan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Tanh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Sign\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Round\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Expm1\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Log1p\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Reciprocal\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Softplus\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Asinh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Acosh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Atanh\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Erf\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LeakyRelu\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"alpha\",name:\"alpha\",type:\"number\",defaultValue:.2},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"IsNan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"IsFinite\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"IsInf\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var uk={};Kt(uk,{json:()=>wQ});var wQ=[{tfOpName:\"EmptyTensorList\",category:\"control\",inputs:[{start:0,name:\"elementShape\",type:\"shape\"},{start:1,name:\"maxNumElements\",type:\"number\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"LoopCond\",category:\"control\",inputs:[{start:0,name:\"pred\",type:\"tensor\"}]},{tfOpName:\"Switch\",category:\"control\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"pred\",type:\"tensor\"}]},{tfOpName:\"Merge\",category:\"control\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}]},{tfOpName:\"Enter\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"frame_name\",name:\"frameName\",type:\"string\"},{tfName:\"is_constant\",name:\"isConstant\",type:\"bool\"}]},{tfOpName:\"Exit\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"NextIteration\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayV3\",category:\"control\",inputs:[{start:0,name:\"size\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"},{tfName:\"dynamic_size\",name:\"dynamicSize\",type:\"bool\"},{tfName:\"clear_after_read\",name:\"clearAfterRead\",type:\"bool\"},{tfName:\"identical_element_shapes\",name:\"identicalElementShapes\",type:\"bool\"},{tfName:\"tensor_array_name\",name:\"name\",type:\"string\"}]},{tfOpName:\"TensorArrayWriteV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"tensor\",type:\"tensor\"},{start:3,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayReadV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"TensorArrayGatherV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"}]},{tfOpName:\"TensorArrayScatterV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"tensor\",type:\"tensor\"},{start:3,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TensorArrayConcatV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"element_shape_except0\",name:\"elementShapeExcept0\",type:\"shape\",notSupported:!0}]},{tfOpName:\"TensorArraySplitV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"tensor\",type:\"tensor\"},{start:2,name:\"lengths\",type:\"number[]\"},{start:3,name:\"flowIn\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TensorArraySizeV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"},{start:1,name:\"flowIn\",type:\"number\"}]},{tfOpName:\"TensorArrayCloseV3\",category:\"control\",inputs:[{start:0,name:\"tensorArrayId\",type:\"tensor\"}]},{tfOpName:\"StatelessIf\",category:\"control\",inputs:[{start:0,name:\"cond\",type:\"tensor\"},{start:1,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"then_branch\",name:\"thenBranch\",type:\"func\"},{tfName:\"else_branch\",name:\"elseBranch\",type:\"func\"}]},{tfOpName:\"If\",category:\"control\",inputs:[{start:0,name:\"cond\",type:\"tensor\"},{start:1,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"then_branch\",name:\"thenBranch\",type:\"func\"},{tfName:\"else_branch\",name:\"elseBranch\",type:\"func\"}]},{tfOpName:\"StatelessWhile\",category:\"control\",inputs:[{start:0,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"cond\",name:\"cond\",type:\"func\"},{tfName:\"body\",name:\"body\",type:\"func\"}]},{tfOpName:\"While\",category:\"control\",inputs:[{start:0,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"cond\",name:\"cond\",type:\"func\"},{tfName:\"body\",name:\"body\",type:\"func\"}]},{tfOpName:\"TensorListScatter\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListScatterV2\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"elementShape\",type:\"shape\"},{start:3,name:\"numElements\",type:\"number\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListGather\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"indices\",type:\"number[]\"},{start:2,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListGetItem\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListSetItem\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"index\",type:\"number\"},{start:2,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListReserve\",category:\"control\",inputs:[{start:0,name:\"elementShape\",type:\"shape\"},{start:1,name:\"numElements\",type:\"number\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListFromTensor\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListStack\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"},{tfName:\"num_elements\",name:\"numElements\",type:\"dtype\"}]},{tfOpName:\"TensorListSplit\",category:\"control\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"},{start:2,name:\"lengths\",type:\"number[]\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListConcat\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}],attrs:[{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"},{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListConcatV2\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}],attrs:[{tfName:\"element_shape\",name:\"elementShape\",type:\"shape\"},{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListPopBack\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"elementShape\",type:\"shape\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListPushBack\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"element_dtype\",name:\"elementDType\",type:\"dtype\"}]},{tfOpName:\"TensorListLength\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}]},{tfOpName:\"TensorListResize\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"}]}];var ck={};Kt(ck,{json:()=>IQ});var IQ=[{tfOpName:\"AvgPool\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPool\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[],notSupported:!0},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPoolWithArgmax\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"include_batch_in_index\",name:\"includeBatchInIndex\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"AvgPool3D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MaxPool3D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"ksize\",name:\"kernelSize\",type:\"number[]\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Conv1D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"stride\",name:\"stride\",type:\"number\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NWC\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"dilation\",name:\"dilation\",type:\"number\",defaultValue:1}]},{tfOpName:\"Conv2D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"useCudnnOnGpu\",name:\"useCudnnOnGpu\",type:\"bool\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"_FusedConv2D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"},{start:2,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"num_args\",name:\"numArgs\",type:\"number\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"use_cudnn_on_gpu\",name:\"useCudnnOnGpu\",type:\"bool\",defaultValue:!0},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\",defaultValue:[1,1,1,1]},{tfName:\"fused_ops\",name:\"fusedOps\",type:\"string[]\",defaultValue:[]},{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:1e-4},{tfName:\"leakyrelu_alpha\",name:\"leakyreluAlpha\",type:\"number\",defaultValue:.2}]},{tfOpName:\"Conv2DBackpropInput\",category:\"convolution\",inputs:[{start:2,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"},{start:0,name:\"outputShape\",type:\"number[]\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\",notSupported:!0}]},{tfOpName:\"DepthwiseConv2d\",category:\"convolution\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"DepthwiseConv2dNative\",category:\"convolution\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"FusedDepthwiseConv2dNative\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"},{start:2,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"num_args\",name:\"numArgs\",type:\"number\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\",defaultValue:[1,1,1,1]},{tfName:\"fused_ops\",name:\"fusedOps\",type:\"string[]\",defaultValue:[]},{tfName:\"explicit_paddings\",name:\"explicitPaddings\",type:\"number[]\",defaultValue:[]}]},{tfOpName:\"Conv3D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",defaultValue:\"NHWC\"},{tfName:\"dilations\",name:\"dilations\",type:\"number[]\"}]},{tfOpName:\"Dilation2D\",category:\"convolution\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"filter\",type:\"tensor\"}],attrs:[{tfName:\"strides\",name:\"strides\",type:\"number[]\"},{tfName:\"rates\",name:\"dilations\",type:\"number[]\"},{tfName:\"padding\",name:\"pad\",type:\"string\"}]}];var pk={};Kt(pk,{json:()=>CQ});var CQ=[{tfOpName:\"Fill\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"},{start:1,name:\"value\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"LinSpace\",category:\"creation\",inputs:[{start:0,name:\"start\",type:\"number\"},{start:1,name:\"stop\",type:\"number\"},{start:2,name:\"num\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"OneHot\",category:\"creation\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"depth\",type:\"number\"},{start:2,name:\"onValue\",type:\"number\",defaultValue:1},{start:3,name:\"offValue\",type:\"number\",defaultValue:0}],attrs:[{tfName:\"axis\",name:\"axis\",type:\"number\",notSupported:!0},{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Ones\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"OnesLike\",category:\"creation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"RandomStandardNormal\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"seed\",name:\"seed\",type:\"number\",defaultValue:0},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"T\",name:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"RandomUniform\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"minval\",name:\"minval\",type:\"number\",defaultValue:0},{tfName:\"maxval\",name:\"maxval\",type:\"number\",defaultValue:1},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"seed\",name:\"seed\",type:\"number\",defaultValue:0},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfName:\"T\",name:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"RandomUniformInt\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"minval\",name:\"minval\",type:\"number\"},{tfName:\"maxval\",name:\"maxval\",type:\"number\"},{tfName:\"seed\",name:\"seed\",type:\"number\",defaultValue:0},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0}]},{tfOpName:\"Range\",category:\"creation\",inputs:[{start:0,name:\"start\",type:\"number\"},{start:1,name:\"stop\",type:\"number\"},{start:2,name:\"step\",type:\"number\",defaultValue:0}],attrs:[{tfName:\"Tidx\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"TruncatedNormal\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"means\",name:\"mean\",type:\"number\",defaultValue:0},{tfName:\"stddev\",name:\"stdDev\",type:\"number\",defaultValue:1},{tfName:\"seed\",name:\"seed\",type:\"number\"},{tfName:\"seed2\",name:\"seed2\",type:\"number\",defaultValue:0,notSupported:!0},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"},{tfName:\"T\",name:\"T\",type:\"number\",notSupported:!0}]},{tfOpName:\"Zeros\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"ZerosLike\",category:\"creation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Multinomial\",category:\"creation\",inputs:[{start:0,name:\"logits\",type:\"tensor\"},{start:1,name:\"numSamples\",type:\"number\"}],attrs:[{tfName:\"seed\",name:\"seed\",type:\"number\"},{tfName:\"seed2\",name:\"seed2\",type:\"number\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\"},{tfName:\"output_dtype\",name:\"output_dtype\",type:\"dtype\"}]}];var mk={};Kt(mk,{json:()=>vQ});var vQ=[{tfOpName:\"NonMaxSuppressionV2\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"}]},{tfOpName:\"NonMaxSuppressionV3\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"},{start:4,name:\"scoreThreshold\",type:\"number\"}]},{tfOpName:\"NonMaxSuppressionV4\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"},{start:4,name:\"scoreThreshold\",type:\"number\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0},{tfName:\"T_threshold\",name:\"threshold\",type:\"dtype\",notSupported:!0},{tfName:\"pad_to_max_output_size\",name:\"padToMaxOutputSize\",type:\"bool\"}]},{tfOpName:\"NonMaxSuppressionV5\",category:\"dynamic\",inputs:[{start:0,name:\"boxes\",type:\"tensor\"},{start:1,name:\"scores\",type:\"tensor\"},{start:2,name:\"maxOutputSize\",type:\"number\"},{start:3,name:\"iouThreshold\",type:\"number\"},{start:4,name:\"scoreThreshold\",type:\"number\"},{start:5,name:\"softNmsSigma\",type:\"number\"}]},{tfOpName:\"Where\",category:\"dynamic\",inputs:[{start:0,name:\"condition\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ListDiff\",category:\"dynamic\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"y\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var fk={};Kt(fk,{json:()=>SQ});var SQ=[{tfOpName:\"LowerBound\",category:\"evaluation\",inputs:[{start:0,name:\"sortedSequence\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"}]},{tfOpName:\"TopKV2\",category:\"evaluation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"k\",type:\"number\"}],attrs:[{tfName:\"sorted\",name:\"sorted\",type:\"bool\"}]},{tfOpName:\"UpperBound\",category:\"evaluation\",inputs:[{start:0,name:\"sortedSequence\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"}]},{tfOpName:\"Unique\",category:\"evaluation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"UniqueV2\",category:\"evaluation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]}];var dk={};Kt(dk,{json:()=>NQ});var NQ=[{tfOpName:\"PlaceholderWithDefault\",category:\"graph\",inputs:[{start:0,name:\"default\",type:\"tensor\"}],attrs:[{tfName:\"shape\",name:\"shape\",type:\"shape\"},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Placeholder\",category:\"graph\",attrs:[{tfName:\"shape\",name:\"shape\",type:\"shape\"},{tfName:\"dtype\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"Const\",category:\"graph\"},{tfOpName:\"Identity\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"IdentityN\",category:\"graph\",inputs:[{start:0,end:0,name:\"x\",type:\"tensors\"}]},{tfOpName:\"Snapshot\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"Rank\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"Size\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"Shape\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"ShapeN\",category:\"graph\",inputs:[{start:0,end:0,name:\"x\",type:\"tensors\"}]},{tfOpName:\"Print\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"data\",type:\"tensors\"}],attrs:[{tfName:\"message\",name:\"message\",type:\"string\"},{tfName:\"first_n\",name:\"firstN\",type:\"number\",notSupported:!0},{tfName:\"summarize\",name:\"summarize\",type:\"number\",defaultValue:3}]},{tfOpName:\"NoOp\",category:\"graph\",inputs:[]},{tfOpName:\"StopGradient\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"FakeQuantWithMinMaxVars\",category:\"graph\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"min\",name:\"min\",type:\"number\"},{tfName:\"max\",name:\"max\",type:\"number\"}]}];var hk={};Kt(hk,{json:()=>kQ});var kQ=[{tfOpName:\"HashTable\",category:\"hash_table\",inputs:[],attrs:[{tfName:\"shared_name\",name:\"sharedName\",type:\"string\"},{tfName:\"use_node_name_sharing\",name:\"useNodeNameSharing\",type:\"bool\"},{tfName:\"key_dtype\",name:\"keyDType\",type:\"dtype\"},{tfName:\"value_dtype\",name:\"valueDType\",type:\"dtype\"}]},{tfOpName:\"HashTableV2\",category:\"hash_table\",inputs:[],attrs:[{tfName:\"shared_name\",name:\"sharedName\",type:\"string\"},{tfName:\"use_node_name_sharing\",name:\"useNodeNameSharing\",type:\"bool\"},{tfName:\"key_dtype\",name:\"keyDType\",type:\"dtype\"},{tfName:\"value_dtype\",name:\"valueDType\",type:\"dtype\"}]},{tfOpName:\"LookupTableImport\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableImportV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableFind\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableFindV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"Tin\",name:\"tIn\",type:\"dtype\",notSupported:!0},{tfName:\"Tout\",name:\"tOut\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LookupTableSize\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"}]},{tfOpName:\"LookupTableSizeV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"}]},{tfOpName:\"InitializeTable\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}]},{tfOpName:\"InitializeTableV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"},{start:1,name:\"keys\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}]}];var gk={};Kt(gk,{json:()=>TQ});var TQ=[{tfOpName:\"ResizeBilinear\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"size\",type:\"number[]\"}],attrs:[{tfName:\"align_corners\",name:\"alignCorners\",type:\"bool\"},{tfName:\"half_pixel_centers\",name:\"halfPixelCenters\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"ResizeNearestNeighbor\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"size\",type:\"number[]\"}],attrs:[{tfName:\"align_corners\",name:\"alignCorners\",type:\"bool\"},{tfName:\"half_pixel_centers\",name:\"halfPixelCenters\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"CropAndResize\",category:\"image\",inputs:[{start:0,name:\"image\",type:\"tensor\"},{start:1,name:\"boxes\",type:\"tensor\"},{start:2,name:\"boxInd\",type:\"tensor\"},{start:3,name:\"cropSize\",type:\"number[]\"}],attrs:[{tfName:\"method\",name:\"method\",type:\"string\"},{tfName:\"extrapolation_value\",name:\"extrapolationValue\",type:\"number\"}]},{tfOpName:\"ImageProjectiveTransformV3\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"transforms\",type:\"tensor\"},{start:2,name:\"outputShape\",type:\"number[]\"},{start:3,name:\"fillValue\",type:\"number\"}],attrs:[{tfName:\"interpolation\",name:\"interpolation\",type:\"string\"},{tfName:\"fill_mode\",name:\"fillMode\",type:\"string\"}]}];var xk={};Kt(xk,{json:()=>_Q});var _Q=[{tfOpName:\"Equal\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"NotEqual\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Greater\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"GreaterEqual\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Less\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LessEqual\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalAnd\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalNot\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"LogicalOr\",category:\"logical\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Select\",category:\"logical\",inputs:[{start:0,name:\"condition\",type:\"tensor\"},{start:1,name:\"a\",type:\"tensor\"},{start:2,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SelectV2\",category:\"logical\",inputs:[{start:0,name:\"condition\",type:\"tensor\"},{start:1,name:\"a\",type:\"tensor\"},{start:2,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"BitwiseAnd\",category:\"logical\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"y\",type:\"tensor\"}]}];var yk={};Kt(yk,{json:()=>EQ});var EQ=[{tfOpName:\"_FusedMatMul\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"},{start:2,end:0,name:\"args\",type:\"tensors\"}],attrs:[{tfName:\"num_args\",name:\"numArgs\",type:\"number\"},{tfName:\"fused_ops\",name:\"fusedOps\",type:\"string[]\",defaultValue:[]},{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:1e-4},{tfName:\"transpose_a\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"transpose_b\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"leakyrelu_alpha\",name:\"leakyreluAlpha\",type:\"number\",defaultValue:.2},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"MatMul\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"transpose_a\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"transpose_b\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"BatchMatMul\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"adj_x\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"adj_y\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"BatchMatMulV2\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"b\",type:\"tensor\"}],attrs:[{tfName:\"adj_x\",name:\"transposeA\",type:\"bool\",defaultValue:!1},{tfName:\"adj_y\",name:\"transposeB\",type:\"bool\",defaultValue:!1},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Transpose\",category:\"matrices\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"perm\",type:\"number[]\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Einsum\",category:\"matrices\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}],attrs:[{tfName:\"equation\",name:\"equation\",type:\"string\"},{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2},{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"MatrixBandPart\",category:\"matrices\",inputs:[{start:0,name:\"a\",type:\"tensor\"},{start:1,name:\"numLower\",type:\"tensor\"},{start:1,name:\"numUpper\",type:\"tensor\"}]}];var bk={};Kt(bk,{json:()=>AQ});var AQ=[{tfOpName:\"EuclideanNorm\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\",defaultValue:!1}]},{tfOpName:\"FusedBatchNorm\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"scale\",type:\"tensor\"},{start:2,name:\"offset\",type:\"tensor\"},{start:3,name:\"mean\",type:\"tensor\"},{start:4,name:\"variance\",type:\"tensor\"}],attrs:[{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:.001},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"FusedBatchNormV2\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"scale\",type:\"tensor\"},{start:2,name:\"offset\",type:\"tensor\"},{start:3,name:\"mean\",type:\"tensor\"},{start:4,name:\"variance\",type:\"tensor\"}],attrs:[{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:.001},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"FusedBatchNormV3\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"scale\",type:\"tensor\"},{start:2,name:\"offset\",type:\"tensor\"},{start:3,name:\"mean\",type:\"tensor\"},{start:4,name:\"variance\",type:\"tensor\"}],attrs:[{tfName:\"epsilon\",name:\"epsilon\",type:\"number\",defaultValue:.001},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\",notSupported:!0}]},{tfOpName:\"LRN\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"depth_radius\",name:\"radius\",type:\"number\",defaultValue:5},{tfName:\"bias\",name:\"bias\",type:\"number\",defaultValue:1},{tfName:\"alpha\",name:\"alpha\",type:\"number\",defaultValue:1},{tfName:\"beta\",name:\"beta\",type:\"number\",defaultValue:.5}]},{tfOpName:\"Softmax\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"LogSoftmax\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]}];var wk={};Kt(wk,{json:()=>DQ});var DQ=[{tfOpName:\"Bincount\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"},{start:2,name:\"weights\",type:\"tensor\"}]},{tfOpName:\"DenseBincount\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"},{start:2,name:\"weights\",type:\"tensor\"}],attrs:[{tfName:\"binary_output\",name:\"binaryOutput\",type:\"bool\"}]},{tfOpName:\"Max\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Mean\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Min\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Sum\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"All\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"Any\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"}]},{tfOpName:\"ArgMax\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]},{tfOpName:\"ArgMin\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]},{tfOpName:\"Prod\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\"},{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"Cumprod\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"exclusive\",name:\"exclusive\",type:\"bool\"},{tfName:\"reverse\",name:\"reverse\",type:\"bool\"}]},{tfOpName:\"Cumsum\",category:\"reduction\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"exclusive\",name:\"exclusive\",type:\"bool\"},{tfName:\"reverse\",name:\"reverse\",type:\"bool\"}]}];var Ik={};Kt(Ik,{json:()=>$Q});var $Q=[{tfOpName:\"ConcatV2\",category:\"slice_join\",inputs:[{start:0,end:-1,name:\"tensors\",type:\"tensors\"},{start:-1,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2}]},{tfOpName:\"Concat\",category:\"slice_join\",inputs:[{start:1,end:0,name:\"tensors\",type:\"tensors\"},{start:0,name:\"axis\",type:\"number\"}],attrs:[{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2}]},{tfOpName:\"GatherV2\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"axis\",type:\"number\",defaultValue:0}],attrs:[{tfName:\"batch_dims\",name:\"batchDims\",type:\"number\",defaultValue:0}]},{tfOpName:\"Gather\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"}],attrs:[{tfName:\"validate_indices\",name:\"validateIndices\",type:\"bool\",notSupported:!0}]},{tfOpName:\"Reverse\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"dims\",type:\"bool[]\"}]},{tfOpName:\"ReverseV2\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}]},{tfOpName:\"Slice\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"begin\",type:\"number[]\"},{start:2,name:\"size\",type:\"number[]\"}]},{tfOpName:\"StridedSlice\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"begin\",type:\"number[]\"},{start:2,name:\"end\",type:\"number[]\"},{start:3,name:\"strides\",type:\"number[]\"}],attrs:[{tfName:\"begin_mask\",name:\"beginMask\",type:\"number\",defaultValue:0},{tfName:\"end_mask\",name:\"endMask\",type:\"number\",defaultValue:0},{tfName:\"new_axis_mask\",name:\"newAxisMask\",type:\"number\",defaultValue:0},{tfName:\"ellipsis_mask\",name:\"ellipsisMask\",type:\"number\",defaultValue:0},{tfName:\"shrink_axis_mask\",name:\"shrinkAxisMask\",type:\"number\",defaultValue:0}]},{tfOpName:\"Pack\",category:\"slice_join\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}],attrs:[{tfName:\"axis\",name:\"axis\",type:\"number\",defaultValue:0}]},{tfOpName:\"Unpack\",category:\"slice_join\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"}],attrs:[{tfName:\"axis\",name:\"axis\",type:\"number\",defaultValue:0},{tfName:\"num\",name:\"num\",type:\"number\",defaultValue:0,notSupported:!0}]},{tfOpName:\"Tile\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"reps\",type:\"number[]\"}]},{tfOpName:\"Split\",category:\"slice_join\",inputs:[{start:0,name:\"axis\",type:\"number\",defaultValue:0},{start:1,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"num_split\",name:\"numOrSizeSplits\",type:\"number\",defaultValue:1}]},{tfOpName:\"SplitV\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"numOrSizeSplits\",type:\"number[]\"},{start:2,name:\"axis\",type:\"number\",defaultValue:0}]},{tfOpName:\"ScatterNd\",category:\"slice_join\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"},{start:2,name:\"shape\",type:\"number[]\"}]},{tfOpName:\"GatherNd\",category:\"slice_join\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"}]},{tfOpName:\"SparseToDense\",category:\"slice_join\",inputs:[{start:0,name:\"sparseIndices\",type:\"tensor\"},{start:1,name:\"outputShape\",type:\"number[]\"},{start:2,name:\"sparseValues\",type:\"tensor\"},{start:3,name:\"defaultValue\",type:\"tensor\"}],attrs:[{tfName:\"validate_indices\",name:\"validateIndices\",type:\"bool\",defaultValue:!1,notSupported:!0}]},{tfOpName:\"TensorScatterUpdate\",category:\"slice_join\",inputs:[{start:0,name:\"tensor\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"values\",type:\"tensor\"}]}];var Ck={};Kt(Ck,{json:()=>RQ});var RQ=[{tfOpName:\"SparseFillEmptyRows\",category:\"sparse\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"},{start:2,name:\"denseShape\",type:\"tensor\"},{start:3,name:\"defaultValue\",type:\"tensor\"}]},{tfOpName:\"SparseReshape\",category:\"sparse\",inputs:[{start:0,name:\"inputIndices\",type:\"tensor\"},{start:1,name:\"inputShape\",type:\"tensor\"},{start:2,name:\"newShape\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SparseSegmentMean\",category:\"sparse\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"segmentIds\",type:\"tensor\"}]},{tfOpName:\"SparseSegmentSum\",category:\"sparse\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"segmentIds\",type:\"tensor\"}]}];var vk={};Kt(vk,{json:()=>FQ});var FQ=[{tfOpName:\"FFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"IFFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"}]},{tfOpName:\"RFFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"fft_length\",type:\"number\",notSupported:!0}]},{tfOpName:\"IRFFT\",category:\"spectral\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"fft_length\",type:\"number\",notSupported:!0}]}];var Sk={};Kt(Sk,{json:()=>OQ});var OQ=[{tfOpName:\"StaticRegexReplace\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"}],attrs:[{tfName:\"pattern\",name:\"pattern\",type:\"string\"},{tfName:\"rewrite\",name:\"rewrite\",type:\"string\"},{tfName:\"replace_global\",name:\"replaceGlobal\",type:\"bool\"}]},{tfOpName:\"StringNGrams\",category:\"string\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"dataSplits\",type:\"tensor\"}],attrs:[{tfName:\"separator\",name:\"separator\",type:\"string\"},{tfName:\"ngram_widths\",name:\"nGramWidths\",type:\"number[]\"},{tfName:\"left_pad\",name:\"leftPad\",type:\"string\"},{tfName:\"right_pad\",name:\"rightPad\",type:\"string\"},{tfName:\"pad_width\",name:\"padWidth\",type:\"number\"},{tfName:\"preserve_short_sequences\",name:\"preserveShortSequences\",type:\"bool\"}],outputs:[\"ngrams\",\"ngrams_splits\"]},{tfOpName:\"StringSplit\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"delimiter\",type:\"tensor\"}],attrs:[{tfName:\"skip_empty\",name:\"skipEmpty\",type:\"bool\"}],outputs:[\"indices\",\"values\",\"shape\"]},{tfOpName:\"StringToHashBucketFast\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"}],attrs:[{tfName:\"num_buckets\",name:\"numBuckets\",type:\"number\"}]}];var Nk={};Kt(Nk,{json:()=>MQ});var MQ=[{tfOpName:\"Cast\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"SrcT\",name:\"sdtype\",type:\"dtype\",notSupported:!0},{tfName:\"DstT\",name:\"dtype\",type:\"dtype\"}]},{tfOpName:\"ExpandDims\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number\"}]},{tfOpName:\"MirrorPad\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"padding\",type:\"number[]\"}],attrs:[{tfName:\"mode\",name:\"mode\",type:\"string\"}]},{tfOpName:\"Pad\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"padding\",type:\"number[]\"}],attrs:[{tfName:\"constant_value\",name:\"constantValue\",type:\"number\",defaultValue:0}]},{tfOpName:\"PadV2\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"padding\",type:\"number[]\"},{start:2,name:\"constantValue\",type:\"number\",defaultValue:0}]},{tfOpName:\"Reshape\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"shape\",type:\"number[]\"}]},{tfOpName:\"EnsureShape\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"shape\",type:\"number[]\"}]},{tfOpName:\"Squeeze\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"axis\",tfDeprecatedName:\"squeeze_dims\",name:\"axis\",type:\"number[]\"}]},{tfOpName:\"SpaceToBatchND\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"blockShape\",type:\"number[]\"},{start:2,name:\"paddings\",type:\"number[]\"}]},{tfOpName:\"BatchToSpaceND\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"blockShape\",type:\"number[]\"},{start:2,name:\"crops\",type:\"number[]\"}]},{tfOpName:\"DepthToSpace\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"block_size\",name:\"blockSize\",type:\"number\"},{tfName:\"data_format\",name:\"dataFormat\",type:\"string\"}]},{tfOpName:\"BroadcastTo\",category:\"transformation\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"shape\",type:\"number[]\"}],attrs:[]},{tfOpName:\"BroadcastArgs\",category:\"transformation\",inputs:[{start:0,name:\"s0\",type:\"tensor\"},{start:1,name:\"s1\",type:\"tensor\"}],attrs:[]}];var Gh=class{static get Instance(){return this._instance||(this._instance=new this)}constructor(){let t=[ak,lk,uk,ck,pk,mk,fk,dk,hk,gk,xk,yk,bk,wk,Ik,Ck,vk,Sk,Nk],e=[].concat(...t.map(n=>n.json));this.opMappers=e.reduce((n,o)=>(n[o.tfOpName]=o,n),{})}transformGraph(t,e={}){let n=t.node,o=[],s=[],i=[],a=n.reduce((h,g)=>(h[g.name]=this.mapNode(g),g.op.startsWith(\"Placeholder\")?o.push(h[g.name]):g.op===\"Const\"?s.push(h[g.name]):(g.input==null||g.input.length===0)&&i.push(h[g.name]),h),{}),u=[],l=[],c={},p={};e!=null&&(c=this.mapSignatureEntries(e.inputs),p=this.mapSignatureEntries(e.outputs));let m=Object.keys(a);m.forEach(h=>{let g=a[h];g.inputNames.forEach((x,b)=>{let[w,,I]=yi(x),N=a[w];if(N.outputs!=null){let E=N.outputs.indexOf(I);if(E!==-1){let A=`${w}:${E}`;g.inputNames[b]=A}}g.inputs.push(N),N.children.push(g)})}),Object.keys(p).length===0?m.forEach(h=>{let g=a[h];g.children.length===0&&l.push(g)}):Object.keys(p).forEach(h=>{let[g]=yi(h),x=a[g];x!=null&&(x.signatureKey=p[h],l.push(x))}),Object.keys(c).length>0?Object.keys(c).forEach(h=>{let[g]=yi(h),x=a[g];x&&(x.signatureKey=c[h],u.push(x))}):u=o;let f={};t.library!=null&&t.library.function!=null&&(f=t.library.function.reduce((h,g)=>(h[g.signature.name]=this.mapFunction(g),h),{}));let d={nodes:a,inputs:u,outputs:l,weights:s,placeholders:o,signature:e,functions:f};return i.length>0&&(d.initNodes=i),d}mapSignatureEntries(t){return Object.keys(t||{}).reduce((e,n)=>(e[t[n].name]=n,e),{})}mapNode(t){let e=zb(t.op)||this.opMappers[t.op]||{};t.attr==null&&(t.attr={});let n={name:t.name,op:t.op,category:e.category,inputNames:(t.input||[]).map(o=>o.startsWith(\"^\")?o.slice(1):o),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:t.attr,outputs:e.outputs};return e.inputs!=null&&(n.inputParams=e.inputs.reduce((o,s)=>(o[s.name]={type:s.type,inputIndexStart:s.start,inputIndexEnd:s.end},o),{})),e.attrs!=null&&(n.attrParams=e.attrs.reduce((o,s)=>{let i=s.type,a;switch(s.type){case\"string\":a=Vb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Vb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"string[]\":a=jb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=jb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"number\":a=Wb(t.attr,s.tfName,s.defaultValue||0),a===void 0&&s.tfDeprecatedName&&(a=Wb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"number[]\":a=Kb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Kb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"bool\":a=Gb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Gb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"bool[]\":a=Yb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Yb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"shape\":a=qb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=qb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"shape[]\":a=Xb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Xb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"dtype\":a=Ub(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Ub(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"dtype[]\":a=Hb(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=Hb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"func\":a=aF(t.attr,s.tfName,s.defaultValue),a===void 0&&s.tfDeprecatedName&&(a=aF(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"tensor\":case\"tensors\":break;default:throw new Error(`Unsupported param type: ${s.type} for op: ${t.op}`)}return o[s.name]={value:a,type:i},o},{})),n}mapFunction(t){let e=t.nodeDef,n=[],o=[],s={};e!=null&&(s=e.reduce((p,m)=>(p[m.name]=this.mapNode(m),m.op===\"Const\"&&o.push(p[m.name]),p),{}));let i=[],a=[];t.signature.inputArg.forEach(p=>{let[m]=yi(p.name),f={name:m,op:\"Placeholder\",inputs:[],inputNames:[],category:\"graph\",inputParams:{},attrParams:{dtype:{value:kk(p.type),type:\"dtype\"}},children:[]};f.signatureKey=p.name,i.push(f),s[m]=f}),Object.keys(s).forEach(p=>{let m=s[p];m.inputNames.forEach((f,d)=>{let[h,,g]=yi(f),x=s[h];if(x.outputs!=null){let b=x.outputs.indexOf(g);if(b!==-1){let w=`${h}:${b}`;m.inputNames[d]=w}}m.inputs.push(x),x.children.push(m)})});let l=t.ret;t.signature.outputArg.forEach(p=>{let[m,f]=yi(l[p.name]),d=s[m];d!=null&&(d.defaultOutput=f,a.push(d))});let c=this.mapArgsToSignature(t);return{nodes:s,inputs:i,outputs:a,weights:o,placeholders:n,signature:c}}mapArgsToSignature(t){return{methodName:t.signature.name,inputs:t.signature.inputArg.reduce((e,n)=>(e[n.name]=this.mapArgToTensorInfo(n),e),{}),outputs:t.signature.outputArg.reduce((e,n)=>(e[n.name]=this.mapArgToTensorInfo(n,t.ret),e),{})}}mapArgToTensorInfo(t,e){let n=t.name;return e!=null&&(n=e[n]),{name:n,dtype:t.type}}};function PQ(r){let t=L().global;if(typeof t.atob!=\"undefined\")return t.atob(r);if(typeof Buffer!=\"undefined\")return new Buffer(r,\"base64\").toString();throw new Error(\"Unable to decode base64 in this environment. Missing built-in atob() or Buffer()\")}function lF(r,t){let e=Array.isArray(r)?String.fromCharCode.apply(null,r):PQ(r);return t?e:e.toLowerCase()}function Vb(r,t,e,n=!1){let o=r[t];return o!=null?lF(o.s,n):e}function Gb(r,t,e){let n=r[t];return n?n.b:e}function Wb(r,t,e){let n=r[t]||{},o=n.i!=null?n.i:n.f!=null?n.f:e;return typeof o==\"number\"?o:parseInt(o,10)}function kk(r){switch(typeof r==\"string\"&&(r=_n[r]),r){case _n.DT_FLOAT:case _n.DT_HALF:return\"float32\";case _n.DT_INT32:case _n.DT_INT64:case _n.DT_INT8:case _n.DT_UINT8:return\"int32\";case _n.DT_BOOL:return\"bool\";case _n.DT_DOUBLE:return\"float32\";case _n.DT_STRING:return\"string\";case _n.DT_COMPLEX64:case _n.DT_COMPLEX128:return\"complex64\";default:return null}}function aF(r,t,e){let n=r[t];return n&&n.func?n.func.name:e}function Ub(r,t,e){let n=r[t];return n&&n.type?kk(n.type):e}function Hb(r,t,e){let n=r[t];return n&&n.list&&n.list.type?n.list.type.map(o=>kk(o)):e}function uF(r){if(!r.unknownRank)return r.dim!=null?r.dim.map(t=>typeof t.size==\"number\"?t.size:parseInt(t.size,10)):[]}function qb(r,t,e){let n=r[t];return n&&n.shape?uF(n.shape):e}function Kb(r,t,e){let n=r[t];return n?((n.list.f&&n.list.f.length?n.list.f:n.list.i)||[]).map(o=>typeof o==\"number\"?o:parseInt(o,10)):e}function jb(r,t,e,n=!1){let o=r[t];return o&&o.list&&o.list.s?o.list.s.map(s=>lF(s,n)):e}function Xb(r,t,e){let n=r[t];return n&&n.list&&n.list.shape?n.list.shape.map(o=>uF(o)):e}function Yb(r,t,e){let n=r[t];return n&&n.list&&n.list.b?n.list.b:e}var Zb=class{constructor(t,e,n){this.node=t,this.tensorMap=e,this.context=n,this.inputs=[],this.attrs={},this.inputs=t.inputNames.map(o=>this.getInput(o)),t.rawAttrs!=null&&(this.attrs=Object.keys(t.rawAttrs).reduce((o,s)=>(o[s]=this.getAttr(s),o),{}))}getInput(t){return pr(t,this.tensorMap,this.context)}getAttr(t,e){let n=this.node.rawAttrs[t];if(n.tensor!=null)return pr(t,this.tensorMap,this.context);if(n.i!=null||n.f!=null)return Wb(this.node.rawAttrs,t,e);if(n.s!=null)return Vb(this.node.rawAttrs,t,e);if(n.b!=null)return Gb(this.node.rawAttrs,t,e);if(n.shape!=null)return qb(this.node.rawAttrs,t,e);if(n.type!=null)return Ub(this.node.rawAttrs,t,e);if(n.list!=null){if(n.list.i!=null||n.list.f!=null)return Kb(this.node.rawAttrs,t,e);if(n.list.s!=null)return jb(this.node.rawAttrs,t,e);if(n.list.shape!=null)return Xb(this.node.rawAttrs,t,e);if(n.list.b!=null)return Yb(this.node.rawAttrs,t,e);if(n.list.type!=null)return Hb(this.node.rawAttrs,t,e)}return e}};var ae={};Kt(ae,{OP_SCOPE_SUFFIX:()=>z0,abs:()=>_e,acos:()=>mx,acosh:()=>fx,add:()=>X,addN:()=>TE,all:()=>tm,any:()=>cc,argMax:()=>ea,argMin:()=>dx,asin:()=>hx,asinh:()=>gx,atan:()=>xx,atan2:()=>yx,atanh:()=>bx,avgPool:()=>xu,avgPool3d:()=>wx,basicLSTMCell:()=>AE,batchNorm:()=>oa,batchNorm2d:()=>Ix,batchNorm3d:()=>Cx,batchNorm4d:()=>vx,batchToSpaceND:()=>yu,bincount:()=>Sx,bitwiseAnd:()=>$E,booleanMaskAsync:()=>W5,broadcastArgs:()=>RE,broadcastTo:()=>sa,buffer:()=>wt,cast:()=>J,ceil:()=>Nx,clipByValue:()=>vr,clone:()=>ln,complex:()=>Sn,concat:()=>ie,concat1d:()=>kx,concat2d:()=>Tx,concat3d:()=>_x,concat4d:()=>Ex,conv1d:()=>rm,conv2d:()=>Nn,conv2dTranspose:()=>om,conv3d:()=>Ax,conv3dTranspose:()=>$x,cos:()=>bu,cosh:()=>sm,cosineWindow:()=>gh,cumprod:()=>mc,cumsum:()=>im,denseBincount:()=>ph,depthToSpace:()=>Rx,depthwiseConv2d:()=>ia,diag:()=>FE,dilation2d:()=>Fx,div:()=>ct,divNoNan:()=>Ox,dot:()=>Mx,dropout:()=>mN,einsum:()=>wu,elu:()=>aa,enclosingPowerOfTwo:()=>fN,ensureShape:()=>ME,equal:()=>$r,erf:()=>Px,euclideanNorm:()=>Lx,exp:()=>Ke,expandDims:()=>je,expm1:()=>zx,eye:()=>fc,fft:()=>Au,fill:()=>Co,floor:()=>la,floorDiv:()=>Qp,fused:()=>Ru,gather:()=>ua,gatherND:()=>Q5,greater:()=>Re,greaterEqual:()=>cn,ifft:()=>wl,imag:()=>Iu,image:()=>fn,inTopKAsync:()=>r8,irfft:()=>ym,isFinite:()=>Bx,isInf:()=>Vx,isNaN:()=>Gx,leakyRelu:()=>Cu,less:()=>yl,lessEqual:()=>Vn,linalg:()=>hN,linspace:()=>zE,localResponseNormalization:()=>Wx,log:()=>Nr,log1p:()=>vu,logSigmoid:()=>qx,logSoftmax:()=>am,logSumExp:()=>Su,logicalAnd:()=>Fr,logicalNot:()=>Nu,logicalOr:()=>lm,logicalXor:()=>Kx,losses:()=>oY,lowerBound:()=>BE,matMul:()=>Bt,max:()=>Sr,maxPool:()=>ku,maxPool3d:()=>Xx,maxPoolWithArgmax:()=>VE,maximum:()=>kn,mean:()=>Ne,meshgrid:()=>GE,min:()=>gl,minimum:()=>lo,mirrorPad:()=>Yx,mod:()=>Zx,moments:()=>dc,movingAverage:()=>q5,mul:()=>$,multiRNNCell:()=>WE,multinomial:()=>UE,neg:()=>Ut,norm:()=>xl,notEqual:()=>ui,oneHot:()=>ca,ones:()=>ar,onesLike:()=>wr,op:()=>k,outerProduct:()=>HE,pad:()=>mn,pad1d:()=>qE,pad2d:()=>KE,pad3d:()=>jE,pad4d:()=>XE,pool:()=>Jx,pow:()=>un,prelu:()=>_u,print:()=>px,prod:()=>Qx,raggedGather:()=>YE,raggedRange:()=>ZE,raggedTensorToTensor:()=>JE,rand:()=>QE,randomGamma:()=>wA,randomNormal:()=>xc,randomStandardNormal:()=>IA,randomUniform:()=>Gn,randomUniformInt:()=>CA,range:()=>pa,real:()=>bl,reciprocal:()=>sy,relu:()=>Or,relu6:()=>um,reshape:()=>R,reverse:()=>dr,reverse1d:()=>vA,reverse2d:()=>SA,reverse3d:()=>NA,reverse4d:()=>kA,rfft:()=>Du,round:()=>cm,rsqrt:()=>pm,scalar:()=>pt,scatterND:()=>j5,searchSorted:()=>fh,selu:()=>mm,separableConv2d:()=>fm,setdiff1dAsync:()=>TA,sigmoid:()=>Qr,sign:()=>iy,signal:()=>nY,sin:()=>dm,sinh:()=>hm,slice:()=>Ot,slice1d:()=>gm,slice2d:()=>hh,slice3d:()=>xm,slice4d:()=>yc,softmax:()=>Eu,softplus:()=>li,spaceToBatchND:()=>Tu,sparse:()=>sY,sparseToDense:()=>Z5,spectral:()=>rY,split:()=>hr,sqrt:()=>Se,square:()=>Wt,squaredDifference:()=>bm,squeeze:()=>Wn,stack:()=>Fe,step:()=>So,stridedSlice:()=>ay,string:()=>iY,sub:()=>at,sum:()=>mt,tan:()=>ly,tanh:()=>na,tensor:()=>ir,tensor1d:()=>Oe,tensor2d:()=>ci,tensor3d:()=>uy,tensor4d:()=>_A,tensor5d:()=>EA,tensor6d:()=>AA,tensorScatterUpdate:()=>$A,tile:()=>Rr,topk:()=>cy,transpose:()=>Vt,truncatedNormal:()=>Im,unique:()=>py,unsortedSegmentSum:()=>Cm,unstack:()=>gr,upperBound:()=>RA,variable:()=>my,where:()=>we,whereAsync:()=>dy,zeros:()=>ke,zerosLike:()=>vt});var cF=(r,t,e,n=ae)=>{switch(r.op){case\"BiasAdd\":case\"AddV2\":case\"Add\":return[n.add(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"AddN\":return[n.addN(v(\"tensors\",r,t,e))];case\"FloorMod\":case\"Mod\":return[n.mod(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Mul\":return[n.mul(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"RealDiv\":case\"Div\":return[n.div(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"DivNoNan\":return[n.divNoNan(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"FloorDiv\":return[n.floorDiv(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Sub\":return[n.sub(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Minimum\":return[n.minimum(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Maximum\":return[n.maximum(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Pow\":return[n.pow(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"SquaredDifference\":return[n.squaredDifference(v(\"a\",r,t,e),v(\"b\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var pF=(r,t,e,n=ae)=>{switch(r.op){case\"Abs\":case\"ComplexAbs\":return[n.abs(v(\"x\",r,t,e))];case\"Acos\":return[n.acos(v(\"x\",r,t,e))];case\"Acosh\":return[n.acosh(v(\"x\",r,t,e))];case\"Asin\":return[n.asin(v(\"x\",r,t,e))];case\"Asinh\":return[n.asinh(v(\"x\",r,t,e))];case\"Atan\":return[n.atan(v(\"x\",r,t,e))];case\"Atan2\":return[n.atan2(v(\"x\",r,t,e),v(\"y\",r,t,e))];case\"Atanh\":return[n.atanh(v(\"x\",r,t,e))];case\"Ceil\":return[n.ceil(v(\"x\",r,t,e))];case\"Complex\":return[n.complex(v(\"real\",r,t,e),v(\"imag\",r,t,e))];case\"Cos\":return[n.cos(v(\"x\",r,t,e))];case\"Cosh\":return[n.cosh(v(\"x\",r,t,e))];case\"Elu\":return[n.elu(v(\"x\",r,t,e))];case\"Erf\":return[n.erf(v(\"x\",r,t,e))];case\"Exp\":return[n.exp(v(\"x\",r,t,e))];case\"Expm1\":return[n.expm1(v(\"x\",r,t,e))];case\"Floor\":return[n.floor(v(\"x\",r,t,e))];case\"Log\":return[n.log(v(\"x\",r,t,e))];case\"Log1p\":return[n.log1p(v(\"x\",r,t,e))];case\"Imag\":return[n.imag(v(\"x\",r,t,e))];case\"Neg\":return[n.neg(v(\"x\",r,t,e))];case\"Reciprocal\":return[n.reciprocal(v(\"x\",r,t,e))];case\"Real\":return[n.real(v(\"x\",r,t,e))];case\"Relu\":return[n.relu(v(\"x\",r,t,e))];case\"Round\":return[n.round(v(\"x\",r,t,e))];case\"Selu\":return[n.selu(v(\"x\",r,t,e))];case\"Sigmoid\":return[n.sigmoid(v(\"x\",r,t,e))];case\"Sin\":return[n.sin(v(\"x\",r,t,e))];case\"Sign\":return[n.sign(v(\"x\",r,t,e))];case\"Sinh\":return[n.sinh(v(\"x\",r,t,e))];case\"Softplus\":return[n.softplus(v(\"x\",r,t,e))];case\"Sqrt\":return[n.sqrt(v(\"x\",r,t,e))];case\"Square\":return[n.square(v(\"x\",r,t,e))];case\"Tanh\":return[n.tanh(v(\"x\",r,t,e))];case\"Tan\":return[n.tan(v(\"x\",r,t,e))];case\"ClipByValue\":return[n.clipByValue(v(\"x\",r,t,e),v(\"clipValueMin\",r,t,e),v(\"clipValueMax\",r,t,e))];case\"Relu6\":return[n.relu6(v(\"x\",r,t,e))];case\"Rsqrt\":return[n.rsqrt(pr(r.inputNames[0],t,e))];case\"LeakyRelu\":return[n.leakyRelu(v(\"x\",r,t,e),v(\"alpha\",r,t,e))];case\"Prelu\":return[n.prelu(v(\"x\",r,t,e),v(\"alpha\",r,t,e))];case\"IsNan\":return[n.isNaN(pr(r.inputNames[0],t,e))];case\"IsInf\":return[n.isInf(pr(r.inputNames[0],t,e))];case\"IsFinite\":return[n.isFinite(pr(r.inputNames[0],t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function Hn(r,t,e=\"\"){if(!(typeof r==\"number\"||typeof t==\"number\")){y.assert(r.length===t.length,()=>e+` Shapes ${r} and ${t} must match`);for(let n=0;ne+` Shapes ${r} and ${t} must match`)}}}function mF(r){return!(typeof r==\"number\"||r.some(t=>t<0))}function td(r,t,e){let n=Jb(r,e),o=!mF(n);if(o&&t.length===0)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${n}`);if(o&&t.forEach(s=>{n=Jb(s.shape,n)}),!mF(n))throw new Error(`Non-fully-defined elementShape: ${n}`);return n}function Jb(r,t){if(typeof r==\"number\")return t;if(typeof t==\"number\")return r;if(r.length!==t.length)throw new Error(`Incompatible ranks during merge: ${r} vs. ${t}`);let e=[];for(let n=0;n=0&&s>=0&&o!==s)throw new Error(`Incompatible shape during merge: ${r} vs. ${t}`);e[n]=o>=0?o:s}return e}var Qb=class{constructor(t,e,n,o,s,i,a){this.name=t,this.dtype=e,this.maxSize=n,this.elementShape=o,this.identicalElementShapes=s,this.dynamicSize=i,this.clearAfterRead=a,this.tensors=[],this.closed_=!1,this.idTensor=pt(0),De(this.idTensor)}get id(){return this.idTensor.id}get closed(){return this.closed_}clearAndClose(t){this.tensors.forEach(e=>{(t==null||!t.has(e.tensor.id))&&e.tensor.dispose()}),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(t<0||t>=this.size())throw new Error(`Tried to read from index ${t}, but array size is: ${this.size()}`);let e=this.tensors[t];if(e.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${t} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(e.cleared=!0),e.read=!0,e.tensor}readMany(t){return t.map(e=>this.read(e))}write(t,e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(t<0||!this.dynamicSize&&t>=this.maxSize)throw new Error(`Tried to write to index ${t}, but array is not resizeable and size is: ${this.maxSize}`);let n=this.tensors[t]||{};if(e.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t},\n because the value dtype is ${e.dtype}, but TensorArray dtype is ${this.dtype}.`);if(this.size()===0&&(this.elementShape==null||this.elementShape.length===0)&&(this.elementShape=e.shape),Hn(this.elementShape,e.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${t}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t}, because it has already been written.`);n.tensor=e,De(e),n.written=!0,this.tensors[t]=n}writeMany(t,e){if(t.length!==e.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${t.length} is not the same as tensors size: ${e.length}.`);t.forEach((n,o)=>this.write(n,e[o]))}gather(t,e){if(e&&e!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${e}`);if(t)t=t.slice(0,this.size());else{t=[];for(let o=0;o=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(t,gr(e,0))}split(t,e){if(e.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${e.dtype}`);let n=0,o=t.map(u=>(n+=u,n));if(n!==e.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${e.shape}`);if(!this.dynamicSize&&t.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${t.length}), and the TensorArray is not marked as dynamically resizeable`);let s=n===0?0:e.size/n,i=[];B(()=>{e=R(e,[1,n,s]);for(let u=0;u{if(n!==s.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${s.dtype}`);Hn(e,s.shape,\"TensorList shape mismatch: \"),De(s)}),this.idTensor=pt(0),this.maxNumElements=o,De(this.idTensor)}copy(){return new r([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(t){this.tensors.forEach(e=>{(t==null||!t.has(e.id))&&e.dispose()}),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(t,e,n=-1){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);if(n!==-1&&this.tensors.length!==n)throw new Error(`Operation expected a list with ${n} elements but got a list with ${this.tensors.length} elements.`);Hn(t,this.elementShape,\"TensorList shape mismatch: \");let o=td(this.elementShape,this.tensors,t);return B(()=>{let s=this.tensors.map(i=>R(i,o));return Fe(s,0)})}popBack(t,e){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);if(this.size()===0)throw new Error(\"Trying to pop from an empty list.\");let n=td(this.elementShape,this.tensors,t),o=this.tensors.pop();return o.kept=!1,Hn(o.shape,t,\"TensorList shape mismatch: \"),R(o,n)}pushBack(t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(Hn(t.shape,this.elementShape,\"TensorList shape mismatch: \"),this.maxNumElements===this.size())throw new Error(\"Trying to push element into a full list.\");De(t),this.tensors.push(t)}resize(t){if(t<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${t}`);if(this.maxNumElements!==-1&&t>this.maxNumElements)throw new Error(`TensorListResize input size ${t} is greater maxNumElement ${this.maxNumElements}.`);let e=new r([],this.elementShape,this.elementDtype,this.maxNumElements);e.tensors.length=t;for(let n=0;nthis.tensors.length)throw new Error(`Trying to access element ${t} in a list with ${this.tensors.length} elements.`);if(this.tensors[t]==null)throw new Error(`element at index ${t} is null.`);Hn(this.tensors[t].shape,e,\"TensorList shape mismatch: \");let o=td(this.elementShape,this.tensors,e);return R(this.tensors[t],o)}setItem(t,e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(t<0||this.maxNumElements!==-1&&t>=this.maxNumElements)throw new Error(`Trying to set element ${t} in a list with max ${this.maxNumElements} elements.`);Hn(this.elementShape,e.shape,\"TensorList shape mismatch: \"),De(e),this.tensors[t]!=null&&(this.tensors[t].kept=!1),this.tensors[t]=e}gather(t,e,n){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);Hn(this.elementShape,n,\"TensorList shape mismatch: \"),t=t.slice(0,this.size());let o=td(this.elementShape,this.tensors,n);return t.length===0?ir([],[0].concat(o)):B(()=>{let s=t.map(i=>R(this.tensors[i],o));return Fe(s,0)})}concat(t,e){if(t&&t!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${t}`);Hn(this.elementShape,e,\"TensorList shape mismatch: \");let n=td(this.elementShape,this.tensors,e);return this.size()===0?ir([],[0].concat(n)):B(()=>{let o=this.tensors.map(s=>R(s,n));return ie(o,0)})}};function fF(r,t,e){let n=r.dtype;if(r.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${r.shape}`);if(r.dtype!==e)throw new Error(`Invalid data types; op elements ${r.dtype}, but list elements ${e}`);let o=r.shape.slice(1);Hn(o,t,\"TensorList shape mismatch: \");let s=gr(r);return new ed(s,t,n)}function dF(r,t,e,n){return new ed([],r,t,n)}function hF(r,t,e,n){if(t.length!==r.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${t.length} vs. ${r.shape[0]}`);let o=Math.max(...t);if(n!=null&&n!==-1&&o>=n)throw new Error(`Max index must be < array size (${o} vs. ${n})`);let s=new ed([],e,r.dtype,n),i=gr(r,0);return t.forEach((a,u)=>{s.setItem(a,i[u])}),s}function gF(r,t,e){let n=0,o=t.map(c=>(n+=c,n));if(n!==r.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${r.shape}`);let s=r.shape.slice(1),i=Jb(s,e),a=n===0?0:r.size/n,u=B(()=>{let c=[];r=R(r,[1,n,a]);for(let p=0;p{switch(r.op){case\"If\":case\"StatelessIf\":{let n=v(\"thenBranch\",r,t,e),o=v(\"elseBranch\",r,t,e),s=v(\"cond\",r,t,e),i=v(\"args\",r,t,e);return(await s.data())[0]?e.functionMap[n].executeFunctionAsync(i,e.tensorArrayMap,e.tensorListMap):e.functionMap[o].executeFunctionAsync(i,e.tensorArrayMap,e.tensorListMap)}case\"While\":case\"StatelessWhile\":{let n=v(\"body\",r,t,e),o=v(\"cond\",r,t,e),s=v(\"args\",r,t,e),i=await e.functionMap[o].executeFunctionAsync(s,e.tensorArrayMap,e.tensorListMap),a=s.map(c=>c.id),u=await i[0].data();i.forEach(c=>{!c.kept&&a.indexOf(c.id)===-1&&c.dispose()});let l=s;for(;u[0];){let c=l;l=await e.functionMap[n].executeFunctionAsync(l,e.tensorArrayMap,e.tensorListMap);let p=l.map(f=>f.id);c.forEach(f=>{!f.kept&&a.indexOf(f.id)===-1&&p.indexOf(f.id)===-1&&f.dispose()});let m=await e.functionMap[o].executeFunctionAsync(l,e.tensorArrayMap,e.tensorListMap);u=await m[0].data(),m.forEach(f=>{!f.kept&&a.indexOf(f.id)===-1&&p.indexOf(f.id)===-1&&f.dispose()})}return l}case\"LoopCond\":{let n=v(\"pred\",r,t,e);return[bi(n)]}case\"Switch\":{let n=v(\"pred\",r,t,e),o=v(\"data\",r,t,e);return o.kept||(o=bi(o)),(await n.data())[0]?[void 0,o]:[o,void 0]}case\"Merge\":{let n=r.inputNames.find(o=>pr(o,t,e)!==void 0);if(n){let o=pr(n,t,e);return[bi(o)]}return}case\"Enter\":{let n=v(\"frameName\",r,t,e),o=v(\"tensor\",r,t,e);return e.enterFrame(n),[bi(o)]}case\"Exit\":{let n=v(\"tensor\",r,t,e);return e.exitFrame(),[bi(n)]}case\"NextIteration\":{let n=v(\"tensor\",r,t,e);return e.nextIteration(),[bi(n)]}case\"TensorArrayV3\":{let n=v(\"size\",r,t,e),o=v(\"dtype\",r,t,e),s=v(\"elementShape\",r,t,e),i=v(\"dynamicSize\",r,t,e),a=v(\"clearAfterRead\",r,t,e),u=v(\"identicalElementShapes\",r,t,e),l=v(\"name\",r,t,e),c=new Qb(l,o,n,s,u,i,a);return e.addTensorArray(c),[c.idTensor,pt(1)]}case\"TensorArrayWriteV3\":{let n=v(\"tensorArrayId\",r,t,e),o=v(\"index\",r,t,e),s=v(\"tensor\",r,t,e),i=e.getTensorArray(n.id);return i.write(o,s),[i.idTensor]}case\"TensorArrayReadV3\":{let n=v(\"tensorArrayId\",r,t,e),o=v(\"index\",r,t,e);return[e.getTensorArray(n.id).read(o)]}case\"TensorArrayGatherV3\":{let n=v(\"tensorArrayId\",r,t,e),o=v(\"indices\",r,t,e),s=v(\"dtype\",r,t,e);return[e.getTensorArray(n.id).gather(o,s)]}case\"TensorArrayScatterV3\":{let n=v(\"tensorArrayId\",r,t,e),o=v(\"indices\",r,t,e),s=v(\"tensor\",r,t,e),i=e.getTensorArray(n.id);return i.scatter(o,s),[i.idTensor]}case\"TensorArrayConcatV3\":{let n=v(\"tensorArrayId\",r,t,e),o=e.getTensorArray(n.id),s=v(\"dtype\",r,t,e);return[o.concat(s)]}case\"TensorArraySplitV3\":{let n=v(\"tensorArrayId\",r,t,e),o=v(\"tensor\",r,t,e),s=v(\"lengths\",r,t,e),i=e.getTensorArray(n.id);return i.split(s,o),[i.idTensor]}case\"TensorArraySizeV3\":{let n=v(\"tensorArrayId\",r,t,e),o=e.getTensorArray(n.id);return[pt(o.size(),\"int32\")]}case\"TensorArrayCloseV3\":{let n=v(\"tensorArrayId\",r,t,e),o=e.getTensorArray(n.id);return o.clearAndClose(),[o.idTensor]}case\"TensorListSetItem\":{let n=v(\"tensorListId\",r,t,e),o=v(\"index\",r,t,e),s=v(\"tensor\",r,t,e),i=e.getTensorList(n.id);return i.setItem(o,s),[i.idTensor]}case\"TensorListGetItem\":{let n=v(\"tensorListId\",r,t,e),o=v(\"index\",r,t,e),s=v(\"elementShape\",r,t,e),i=v(\"elementDType\",r,t,e);return[e.getTensorList(n.id).getItem(o,s,i)]}case\"TensorListScatterV2\":case\"TensorListScatter\":{let n=v(\"indices\",r,t,e),o=v(\"tensor\",r,t,e),s=v(\"elementShape\",r,t,e),i=v(\"numElements\",r,t,e),a=hF(o,n,s,i);return e.addTensorList(a),[a.idTensor]}case\"TensorListReserve\":case\"EmptyTensorList\":{let n=v(\"elementShape\",r,t,e),o=v(\"elementDType\",r,t,e),s;r.op===\"TensorListReserve\"?s=\"numElements\":s=\"maxNumElements\";let i=v(s,r,t,e),a=r.op===\"TensorListReserve\"?-1:i,u=dF(n,o,i,a);return e.addTensorList(u),[u.idTensor]}case\"TensorListGather\":{let n=v(\"tensorListId\",r,t,e),o=v(\"indices\",r,t,e),s=v(\"elementShape\",r,t,e),i=v(\"elementDType\",r,t,e);return[e.getTensorList(n.id).gather(o,i,s)]}case\"TensorListStack\":{let n=v(\"tensorListId\",r,t,e),o=v(\"elementShape\",r,t,e),s=v(\"elementDType\",r,t,e),i=v(\"numElements\",r,t,e);return[e.getTensorList(n.id).stack(o,s,i)]}case\"TensorListFromTensor\":{let n=v(\"tensor\",r,t,e),o=v(\"elementShape\",r,t,e),s=v(\"elementDType\",r,t,e),i=fF(n,o,s);return e.addTensorList(i),[i.idTensor]}case\"TensorListConcat\":case\"TensorListConcatV2\":{let n=v(\"tensorListId\",r,t,e),o=e.getTensorList(n.id),s=v(\"dtype\",r,t,e),i=v(\"elementShape\",r,t,e);return[o.concat(s,i)]}case\"TensorListPushBack\":{let n=v(\"tensorListId\",r,t,e),o=v(\"tensor\",r,t,e),s=e.getTensorList(n.id);return s.pushBack(o),[s.idTensor]}case\"TensorListPopBack\":{let n=v(\"tensorListId\",r,t,e),o=v(\"elementShape\",r,t,e),s=v(\"elementDType\",r,t,e);return[e.getTensorList(n.id).popBack(o,s)]}case\"TensorListSplit\":{let n=v(\"tensor\",r,t,e),o=v(\"elementShape\",r,t,e),s=v(\"lengths\",r,t,e),i=gF(n,s,o);return e.addTensorList(i),[i.idTensor]}case\"TensorListLength\":{let n=v(\"tensorListId\",r,t,e),o=e.getTensorList(n.id);return[pt(o.size(),\"int32\")]}case\"TensorListResize\":{let n=v(\"tensorListId\",r,t,e),o=v(\"size\",r,t,e),i=e.getTensorList(n.id).resize(o);return e.addTensorList(i),[i.idTensor]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};function yF(r,t,e){let[n,o]=v(\"fusedOps\",r,t,e),s=n===\"biasadd\",i=!s,a=o===\"prelu\",u=n===\"fusedbatchnorm\",l=v(\"numArgs\",r,t,e);if(s){if(a&&l!==2)throw new Error(\"FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.\");if(!a&&s&&l!==1)throw new Error(\"FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.\")}if(u)throw new Error(\"FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported\");let c=v(\"strides\",r,t,e),p=Vh(r,t,e),m=v(\"dataFormat\",r,t,e).toUpperCase(),f=v(\"dilations\",r,t,e),[d,h]=v(\"args\",r,t,e);i&&(h=d,d=void 0);let g=v(\"leakyreluAlpha\",r,t,e);return{stride:c,pad:p,dataFormat:m,dilations:f,biasArg:d,preluArg:h,activationFunc:o,leakyreluAlpha:g}}var bF=(r,t,e,n=ae)=>{switch(r.op){case\"Conv1D\":{let o=v(\"stride\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"dataFormat\",r,t,e).toUpperCase(),a=v(\"dilation\",r,t,e);return[n.conv1d(v(\"x\",r,t,e),v(\"filter\",r,t,e),o,s,i,a)]}case\"Conv2D\":{let o=v(\"strides\",r,t,e),s=Vh(r,t,e),i=v(\"dataFormat\",r,t,e).toUpperCase(),a=v(\"dilations\",r,t,e);return[n.conv2d(v(\"x\",r,t,e),v(\"filter\",r,t,e),[o[1],o[2]],s,i,[a[1],a[2]])]}case\"_FusedConv2D\":{let{stride:o,pad:s,dataFormat:i,dilations:a,biasArg:u,preluArg:l,activationFunc:c,leakyreluAlpha:p}=yF(r,t,e);return[n.fused.conv2d({x:v(\"x\",r,t,e),filter:v(\"filter\",r,t,e),strides:[o[1],o[2]],pad:s,dataFormat:i,dilations:[a[1],a[2]],bias:u,activation:c,preluActivationWeights:l,leakyreluAlpha:p})]}case\"FusedDepthwiseConv2dNative\":{let{stride:o,pad:s,dataFormat:i,dilations:a,biasArg:u,preluArg:l,activationFunc:c,leakyreluAlpha:p}=yF(r,t,e);return[n.fused.depthwiseConv2d({x:v(\"x\",r,t,e),filter:v(\"filter\",r,t,e),strides:[o[1],o[2]],pad:s,dataFormat:i,dilations:[a[1],a[2]],bias:u,activation:c,preluActivationWeights:l,leakyreluAlpha:p})]}case\"Conv2DBackpropInput\":case\"Conv2dTranspose\":{let o=v(\"outputShape\",r,t,e),s=v(\"strides\",r,t,e),i=Vh(r,t,e);return[n.conv2dTranspose(v(\"x\",r,t,e),v(\"filter\",r,t,e),o,[s[1],s[2]],i)]}case\"DepthwiseConv2dNative\":case\"DepthwiseConv2d\":{let o=v(\"strides\",r,t,e),s=Vh(r,t,e),i=v(\"dilations\",r,t,e),a=v(\"dataFormat\",r,t,e).toUpperCase();return[n.depthwiseConv2d(v(\"input\",r,t,e),v(\"filter\",r,t,e),[o[1],o[2]],s,a,[i[1],i[2]])]}case\"Conv3D\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"dataFormat\",r,t,e).toUpperCase(),a=v(\"dilations\",r,t,e);return[n.conv3d(v(\"x\",r,t,e),v(\"filter\",r,t,e),[o[1],o[2],o[3]],s,i,[a[1],a[2],a[3]])]}case\"AvgPool\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"kernelSize\",r,t,e);return[n.avgPool(v(\"x\",r,t,e),[i[1],i[2]],[o[1],o[2]],s)]}case\"MaxPool\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"kernelSize\",r,t,e);return[n.maxPool(v(\"x\",r,t,e),[i[1],i[2]],[o[1],o[2]],s)]}case\"MaxPoolWithArgmax\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"kernelSize\",r,t,e),a=v(\"includeBatchInIndex\",r,t,e),{result:u,indexes:l}=n.maxPoolWithArgmax(v(\"x\",r,t,e),[i[1],i[2]],[o[1],o[2]],s,a);return[u,l]}case\"AvgPool3D\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"kernelSize\",r,t,e);return[n.avgPool3d(v(\"x\",r,t,e),[i[1],i[2],i[3]],[o[1],o[2],o[3]],s)]}case\"MaxPool3D\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"kernelSize\",r,t,e);return[n.maxPool3d(v(\"x\",r,t,e),[i[1],i[2],i[3]],[o[1],o[2],o[3]],s)]}case\"Dilation2D\":{let o=v(\"strides\",r,t,e),s=v(\"pad\",r,t,e),i=v(\"dilations\",r,t,e),a=o[1],u=o[2],l=i[1],c=i[2];return[n.dilation2d(v(\"x\",r,t,e),v(\"filter\",r,t,e),[a,u],s,[l,c],\"NHWC\")]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var wF=(r,t,e,n=ae)=>{switch(r.op){case\"Fill\":{let o=v(\"shape\",r,t,e),s=v(\"dtype\",r,t,e),i=v(\"value\",r,t,e);return[n.fill(o,i,s)]}case\"LinSpace\":{let o=v(\"start\",r,t,e),s=v(\"stop\",r,t,e),i=v(\"num\",r,t,e);return[n.linspace(o,s,i)]}case\"Multinomial\":{let o=v(\"logits\",r,t,e),s=v(\"numSamples\",r,t,e),i=v(\"seed\",r,t,e);return[n.multinomial(o,s,i)]}case\"OneHot\":{let o=v(\"indices\",r,t,e),s=v(\"depth\",r,t,e),i=v(\"onValue\",r,t,e),a=v(\"offValue\",r,t,e),u=v(\"dtype\",r,t,e);return[n.oneHot(o,s,i,a,u)]}case\"Ones\":return[n.ones(v(\"shape\",r,t,e),v(\"dtype\",r,t,e))];case\"OnesLike\":return[n.onesLike(v(\"x\",r,t,e))];case\"RandomStandardNormal\":return[n.randomStandardNormal(v(\"shape\",r,t,e),v(\"dtype\",r,t,e),v(\"seed\",r,t,e))];case\"RandomUniform\":return[n.randomUniform(v(\"shape\",r,t,e),v(\"minval\",r,t,e),v(\"maxval\",r,t,e),v(\"dtype\",r,t,e))];case\"RandomUniformInt\":return[n.randomUniformInt(v(\"shape\",r,t,e),v(\"minval\",r,t,e),v(\"maxval\",r,t,e),v(\"seed\",r,t,e))];case\"Range\":{let o=v(\"start\",r,t,e),s=v(\"stop\",r,t,e),i=v(\"step\",r,t,e);return[n.range(o,s,i,v(\"dtype\",r,t,e))]}case\"TruncatedNormal\":{let o=v(\"shape\",r,t,e),s=v(\"mean\",r,t,e),i=v(\"stdDev\",r,t,e),a=v(\"seed\",r,t,e);return[n.truncatedNormal(o,s,i,v(\"dtype\",r,t,e),a)]}case\"Zeros\":return[n.zeros(v(\"shape\",r,t,e),v(\"dtype\",r,t,e))];case\"ZerosLike\":return[n.zerosLike(v(\"x\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function Tk(r,t,e){let n=v(\"boxes\",r,t,e),o=v(\"scores\",r,t,e),s=v(\"maxOutputSize\",r,t,e),i=v(\"iouThreshold\",r,t,e),a=v(\"scoreThreshold\",r,t,e),u=v(\"softNmsSigma\",r,t,e);return{boxes:n,scores:o,maxOutputSize:s,iouThreshold:i,scoreThreshold:a,softNmsSigma:u}}var IF=async(r,t,e,n,o=ae)=>{switch(r.op){case\"NonMaxSuppressionV5\":{let{boxes:s,scores:i,maxOutputSize:a,iouThreshold:u,scoreThreshold:l,softNmsSigma:c}=Tk(r,t,e),p=await o.image.nonMaxSuppressionWithScoreAsync(s,i,a,u,l,c);return[p.selectedIndices,p.selectedScores]}case\"NonMaxSuppressionV4\":{let{boxes:s,scores:i,maxOutputSize:a,iouThreshold:u,scoreThreshold:l}=Tk(r,t,e),c=v(\"padToMaxOutputSize\",r,t,e),p=await o.image.nonMaxSuppressionPaddedAsync(s,i,a,u,l,c);return[p.selectedIndices,p.validOutputs]}case\"NonMaxSuppressionV3\":case\"NonMaxSuppressionV2\":{let{boxes:s,scores:i,maxOutputSize:a,iouThreshold:u,scoreThreshold:l}=Tk(r,t,e);return[await o.image.nonMaxSuppressionAsync(s,i,a,u,l)]}case\"Where\":{let s=o.cast(v(\"condition\",r,t,e),\"bool\"),i=[await o.whereAsync(s)];return s.dispose(),i}case\"ListDiff\":return o.setdiff1dAsync(v(\"x\",r,t,e),v(\"y\",r,t,e));default:throw TypeError(`Node type ${r.op} is not implemented`)}};var CF=(r,t,e,n=ae)=>{switch(r.op){case\"LowerBound\":{let o=v(\"sortedSequence\",r,t,e),s=v(\"values\",r,t,e);return[n.lowerBound(o,s)]}case\"TopKV2\":{let o=v(\"x\",r,t,e),s=v(\"k\",r,t,e),i=v(\"sorted\",r,t,e),a=n.topk(o,s,i);return[a.values,a.indices]}case\"UpperBound\":{let o=v(\"sortedSequence\",r,t,e),s=v(\"values\",r,t,e);return[n.upperBound(o,s)]}case\"Unique\":{let o=v(\"x\",r,t,e),s=n.unique(o);return[s.values,s.indices]}case\"UniqueV2\":{let o=v(\"x\",r,t,e),s=v(\"axis\",r,t,e),i=n.unique(o,s);return[i.values,i.indices]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var vF=(r,t,e,n=ae)=>{switch(r.op){case\"Const\":return t[r.name];case\"PlaceholderWithDefault\":let o=v(\"default\",r,t,e);return[pr(r.name,t,e)||o];case\"Placeholder\":return[pr(r.name,t,e)];case\"Identity\":case\"StopGradient\":case\"FakeQuantWithMinMaxVars\":{let c=v(\"x\",r,t,e);return[bi(c)]}case\"IdentityN\":return v(\"x\",r,t,e).map(c=>bi(c));case\"Snapshot\":let s=v(\"x\",r,t,e);return[bi(s)];case\"Shape\":return[n.tensor1d(v(\"x\",r,t,e).shape,\"int32\")];case\"ShapeN\":return v(\"x\",r,t,e).map(c=>n.tensor1d(c.shape));case\"Size\":return[n.scalar(v(\"x\",r,t,e).size,\"int32\")];case\"Rank\":return[n.scalar(v(\"x\",r,t,e).rank,\"int32\")];case\"NoOp\":return[n.scalar(1)];case\"Print\":let i=v(\"x\",r,t,e),a=v(\"data\",r,t,e),u=v(\"message\",r,t,e),l=v(\"summarize\",r,t,e);console.warn(\"The graph has a tf.print() operation,usually used for debugging, which slows down performance.\"),console.log(u);for(let c=0;ct.dispose()),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return pt(this.size(),\"int32\")}async import(t,e){this.checkKeyAndValueTensor(t,e);let n=await t.data();return this.tensorMap.forEach(o=>o.dispose()),this.tensorMap.clear(),B(()=>{let o=gr(e),s=n.length,i=o.length;y.assert(s===i,()=>`The number of elements doesn't match, keys has ${s} elements, the values has ${i} elements.`);for(let a=0;a{let o=[];for(let s=0;s{switch(r.op){case\"HashTable\":case\"HashTableV2\":{let o=n.getHashTableHandleByName(r.name);if(o!=null)return[o];{let s=v(\"keyDType\",r,t,e),i=v(\"valueDType\",r,t,e),a=new tw(s,i);return n.addHashTable(r.name,a),[a.handle]}}case\"InitializeTable\":case\"InitializeTableV2\":case\"LookupTableImport\":case\"LookupTableImportV2\":{let o=v(\"tableHandle\",r,t,e,n),s=v(\"keys\",r,t,e),i=v(\"values\",r,t,e);return[await n.getHashTableById(o.id).import(s,i)]}case\"LookupTableFind\":case\"LookupTableFindV2\":{let o=v(\"tableHandle\",r,t,e,n),s=v(\"keys\",r,t,e),i=v(\"defaultValue\",r,t,e);return[await n.getHashTableById(o.id).find(s,i)]}case\"LookupTableSize\":case\"LookupTableSizeV2\":{let o=v(\"tableHandle\",r,t,e,n);return[n.getHashTableById(o.id).tensorSize()]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var NF=(r,t,e,n=ae)=>{switch(r.op){case\"ResizeBilinear\":{let o=v(\"images\",r,t,e),s=v(\"size\",r,t,e),i=v(\"alignCorners\",r,t,e),a=v(\"halfPixelCenters\",r,t,e);return[n.image.resizeBilinear(o,[s[0],s[1]],i,a)]}case\"ResizeNearestNeighbor\":{let o=v(\"images\",r,t,e),s=v(\"size\",r,t,e),i=v(\"alignCorners\",r,t,e),a=v(\"halfPixelCenters\",r,t,e);return[n.image.resizeNearestNeighbor(o,[s[0],s[1]],i,a)]}case\"CropAndResize\":{let o=v(\"image\",r,t,e),s=v(\"boxes\",r,t,e),i=v(\"boxInd\",r,t,e),a=v(\"cropSize\",r,t,e),u=v(\"method\",r,t,e),l=v(\"extrapolationValue\",r,t,e);return[n.image.cropAndResize(o,s,i,a,u,l)]}case\"ImageProjectiveTransformV3\":{let o=v(\"images\",r,t,e),s=v(\"transforms\",r,t,e),i=v(\"outputShape\",r,t,e),a=v(\"fillValue\",r,t,e),u=v(\"interpolation\",r,t,e),l=v(\"fillMode\",r,t,e);return[n.image.transform(o,s,u.toLowerCase(),l.toLowerCase(),a,i)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var kF=(r,t,e,n=ae)=>{switch(r.op){case\"Equal\":return[n.equal(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"NotEqual\":return[n.notEqual(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Greater\":return[n.greater(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"GreaterEqual\":return[n.greaterEqual(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Less\":return[n.less(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"LessEqual\":return[n.lessEqual(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"LogicalAnd\":return[n.logicalAnd(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"LogicalNot\":return[n.logicalNot(v(\"a\",r,t,e))];case\"LogicalOr\":return[n.logicalOr(v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"Select\":case\"SelectV2\":return[n.where(v(\"condition\",r,t,e),v(\"a\",r,t,e),v(\"b\",r,t,e))];case\"BitwiseAnd\":return[n.bitwiseAnd(v(\"a\",r,t,e),v(\"b\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var TF=(r,t,e,n=ae)=>{switch(r.op){case\"BatchMatMul\":case\"BatchMatMulV2\":case\"MatMul\":return[n.matMul(v(\"a\",r,t,e),v(\"b\",r,t,e),v(\"transposeA\",r,t,e),v(\"transposeB\",r,t,e))];case\"Einsum\":return[n.einsum(v(\"equation\",r,t,e),...v(\"tensors\",r,t,e))];case\"Transpose\":return[n.transpose(v(\"x\",r,t,e),v(\"perm\",r,t,e))];case\"_FusedMatMul\":let[o,s]=v(\"fusedOps\",r,t,e),i=o===\"biasadd\",a=s===\"prelu\",u=v(\"numArgs\",r,t,e),l=v(\"leakyreluAlpha\",r,t,e);if(i){if(a&&u!==2)throw new Error(\"Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.\");if(!a&&u!==1)throw new Error(\"Fused MatMul with BiasAdd must have one extra argument: bias.\")}let[c,p]=v(\"args\",r,t,e);return[n.fused.matMul({a:v(\"a\",r,t,e),b:v(\"b\",r,t,e),transposeA:v(\"transposeA\",r,t,e),transposeB:v(\"transposeB\",r,t,e),bias:c,activation:s,preluActivationWeights:p,leakyreluAlpha:l})];case\"MatrixBandPart\":return[n.linalg.bandPart(v(\"a\",r,t,e),v(\"numLower\",r,t,e),v(\"numUpper\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var _F=(r,t,e,n=ae)=>{switch(r.op){case\"EuclideanNorm\":return[n.euclideanNorm(v(\"x\",r,t,e),v(\"axis\",r,t,e),v(\"keepDims\",r,t,e))];case\"FusedBatchNorm\":case\"FusedBatchNormV2\":return[n.batchNorm(v(\"x\",r,t,e),v(\"mean\",r,t,e),v(\"variance\",r,t,e),v(\"offset\",r,t,e),v(\"scale\",r,t,e),v(\"epsilon\",r,t,e))];case\"FusedBatchNormV3\":return[n.batchNorm(v(\"x\",r,t,e),v(\"mean\",r,t,e),v(\"variance\",r,t,e),v(\"offset\",r,t,e),v(\"scale\",r,t,e),v(\"epsilon\",r,t,e))];case\"LRN\":return[n.localResponseNormalization(v(\"x\",r,t,e),v(\"radius\",r,t,e),v(\"bias\",r,t,e),v(\"alpha\",r,t,e),v(\"beta\",r,t,e))];case\"Softmax\":return[n.softmax(v(\"x\",r,t,e))];case\"LogSoftmax\":return[n.logSoftmax(v(\"x\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var EF=(r,t,e,n=ae)=>{switch(r.op){case\"RaggedGather\":{let{outputNestedSplits:o,outputDenseValues:s}=n.raggedGather(v(\"paramsNestedSplits\",r,t,e),v(\"paramsDenseValues\",r,t,e),v(\"indices\",r,t,e),v(\"outputRaggedRank\",r,t,e));return o.concat(s)}case\"RaggedRange\":{let{rtNestedSplits:o,rtDenseValues:s}=n.raggedRange(v(\"starts\",r,t,e),v(\"limits\",r,t,e),v(\"splits\",r,t,e));return[o,s]}case\"RaggedTensorToTensor\":return[n.raggedTensorToTensor(v(\"shape\",r,t,e),v(\"values\",r,t,e),v(\"defaultValue\",r,t,e),v(\"rowPartitionTensors\",r,t,e),v(\"rowPartitionTypes\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var AF=(r,t,e,n=ae)=>{switch(r.op){case\"Max\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.max(v(\"x\",r,t,e),a,u)]}case\"Mean\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.mean(v(\"x\",r,t,e),a,u)]}case\"Min\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.min(v(\"x\",r,t,e),a,u)]}case\"Sum\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.sum(v(\"x\",r,t,e),a,u)]}case\"All\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.all(v(\"x\",r,t,e),a,u)]}case\"Any\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.any(v(\"x\",r,t,e),a,u)]}case\"ArgMax\":{let a=v(\"axis\",r,t,e);return[n.argMax(v(\"x\",r,t,e),a)]}case\"ArgMin\":{let a=v(\"axis\",r,t,e);return[n.argMin(v(\"x\",r,t,e),a)]}case\"Prod\":{let a=v(\"axis\",r,t,e),u=v(\"keepDims\",r,t,e);return[n.prod(v(\"x\",r,t,e),a,u)]}case\"Cumprod\":{let a=v(\"axis\",r,t,e),u=v(\"exclusive\",r,t,e),l=v(\"reverse\",r,t,e);return[n.cumprod(v(\"x\",r,t,e),a,u,l)]}case\"Cumsum\":{let a=v(\"axis\",r,t,e),u=v(\"exclusive\",r,t,e),l=v(\"reverse\",r,t,e);return[n.cumsum(v(\"x\",r,t,e),a,u,l)]}case\"Bincount\":let o=v(\"x\",r,t,e),s=v(\"weights\",r,t,e),i=v(\"size\",r,t,e);return[n.bincount(o,s,i)];case\"DenseBincount\":{let a=v(\"x\",r,t,e),u=v(\"weights\",r,t,e),l=v(\"size\",r,t,e),c=v(\"binaryOutput\",r,t,e);return[n.denseBincount(a,u,l,c)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var DF=(r,t,e,n=ae)=>{switch(r.op){case\"ConcatV2\":case\"Concat\":{let o=v(\"n\",r,t,e),s=v(\"axis\",r,t,e),i=v(\"tensors\",r,t,e);return i=i.slice(0,o),[n.concat(i,s)]}case\"Gather\":{let o=v(\"x\",r,t,e),s=v(\"indices\",r,t,e);return[n.gather(o,n.cast(s,\"int32\"),0)]}case\"GatherV2\":{let o=v(\"axis\",r,t,e),s=v(\"batchDims\",r,t,e),i=v(\"x\",r,t,e),a=v(\"indices\",r,t,e);return[n.gather(i,n.cast(a,\"int32\"),o,s)]}case\"Reverse\":{let o=v(\"dims\",r,t,e),s=[];for(let a=0;a{let o=v(\"axis\",r,t,e),s=v(\"tensors\",r,t,e),i=s[0].shape,a=n.squeeze(s[0]).shape,u=s.map(l=>{let c=y.arraysEqual(l.shape,i);if(!c&&!y.arraysEqual(n.squeeze(l).shape,a))throw new Error(\"the input tensors shape does not match\");return c?l:n.reshape(l,i)});return[n.stack(u,o)]});case\"Unpack\":{let o=v(\"axis\",r,t,e),s=v(\"tensor\",r,t,e);return n.unstack(s,o)}case\"Tile\":{let o=v(\"reps\",r,t,e);return[n.tile(v(\"x\",r,t,e),o)]}case\"Split\":case\"SplitV\":{let o=v(\"axis\",r,t,e),s=v(\"numOrSizeSplits\",r,t,e),i=v(\"x\",r,t,e);return n.split(i,s,o)}case\"ScatterNd\":{let o=v(\"indices\",r,t,e),s=v(\"values\",r,t,e),i=v(\"shape\",r,t,e);return[n.scatterND(o,s,i)]}case\"GatherNd\":{let o=v(\"x\",r,t,e),s=v(\"indices\",r,t,e);return[n.gatherND(o,s)]}case\"SparseToDense\":{let o=v(\"sparseIndices\",r,t,e),s=v(\"outputShape\",r,t,e),i=v(\"sparseValues\",r,t,e),a=v(\"defaultValue\",r,t,e);return[n.sparseToDense(o,i,s,i.dtype===a.dtype?a:n.cast(a,i.dtype))]}case\"TensorScatterUpdate\":{let o=v(\"indices\",r,t,e),s=v(\"values\",r,t,e),i=v(\"tensor\",r,t,e);return[n.tensorScatterUpdate(i,o,s)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var $F=(r,t,e,n=ae)=>{switch(r.op){case\"SparseFillEmptyRows\":{let{outputIndices:o,outputValues:s,emptyRowIndicator:i,reverseIndexMap:a}=n.sparse.sparseFillEmptyRows(v(\"indices\",r,t,e),v(\"values\",r,t,e),v(\"denseShape\",r,t,e),v(\"defaultValue\",r,t,e));return[o,s,i,a]}case\"SparseReshape\":{let{outputIndices:o,outputShape:s}=n.sparse.sparseReshape(v(\"inputIndices\",r,t,e),v(\"inputShape\",r,t,e),v(\"newShape\",r,t,e));return[o,s]}case\"SparseSegmentMean\":return[n.sparse.sparseSegmentMean(v(\"data\",r,t,e),v(\"indices\",r,t,e),v(\"segmentIds\",r,t,e))];case\"SparseSegmentSum\":return[n.sparse.sparseSegmentSum(v(\"data\",r,t,e),v(\"indices\",r,t,e),v(\"segmentIds\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var RF=(r,t,e,n=ae)=>{switch(r.op){case\"FFT\":return[n.fft(v(\"x\",r,t,e))];case\"IFFT\":return[n.ifft(v(\"x\",r,t,e))];case\"RFFT\":return[n.rfft(v(\"x\",r,t,e))];case\"IRFFT\":return[n.irfft(v(\"x\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var FF=(r,t,e,n=ae)=>{switch(r.op){case\"StaticRegexReplace\":return[n.string.staticRegexReplace(v(\"input\",r,t,e),v(\"pattern\",r,t,e),v(\"rewrite\",r,t,e),v(\"replaceGlobal\",r,t,e))];case\"StringNGrams\":{let{nGrams:o,nGramsSplits:s}=n.string.stringNGrams(v(\"data\",r,t,e),v(\"dataSplits\",r,t,e),v(\"separator\",r,t,e),v(\"nGramWidths\",r,t,e),v(\"leftPad\",r,t,e),v(\"rightPad\",r,t,e),v(\"padWidth\",r,t,e),v(\"preserveShortSequences\",r,t,e));return[o,s]}case\"StringSplit\":{let{indices:o,values:s,shape:i}=n.string.stringSplit(v(\"input\",r,t,e),v(\"delimiter\",r,t,e),v(\"skipEmpty\",r,t,e));return[o,s,i]}case\"StringToHashBucketFast\":return[n.string.stringToHashBucketFast(v(\"input\",r,t,e),v(\"numBuckets\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var OF=(r,t,e,n=ae)=>{switch(r.op){case\"Cast\":return[n.cast(v(\"x\",r,t,e),v(\"dtype\",r,t,e))];case\"ExpandDims\":{let o=v(\"axis\",r,t,e);return[n.expandDims(v(\"x\",r,t,e),o)]}case\"Squeeze\":{let o=v(\"axis\",r,t,e);return[n.squeeze(v(\"x\",r,t,e),o)]}case\"Reshape\":return[n.reshape(v(\"x\",r,t,e),v(\"shape\",r,t,e))];case\"EnsureShape\":return[n.ensureShape(v(\"x\",r,t,e),v(\"shape\",r,t,e))];case\"MirrorPad\":return[n.mirrorPad(v(\"x\",r,t,e),v(\"padding\",r,t,e),v(\"mode\",r,t,e))];case\"PadV2\":case\"Pad\":return[n.pad(v(\"x\",r,t,e),v(\"padding\",r,t,e),v(\"constantValue\",r,t,e))];case\"SpaceToBatchND\":{let o=v(\"blockShape\",r,t,e),s=v(\"paddings\",r,t,e);return[n.spaceToBatchND(v(\"x\",r,t,e),o,s)]}case\"BatchToSpaceND\":{let o=v(\"blockShape\",r,t,e),s=v(\"crops\",r,t,e);return[n.batchToSpaceND(v(\"x\",r,t,e),o,s)]}case\"DepthToSpace\":{let o=v(\"blockSize\",r,t,e),s=v(\"dataFormat\",r,t,e).toUpperCase();return[n.depthToSpace(v(\"x\",r,t,e),o,s)]}case\"BroadcastTo\":return[n.broadcastTo(v(\"x\",r,t,e),v(\"shape\",r,t,e))];case\"BroadcastArgs\":return[n.broadcastArgs(v(\"s0\",r,t,e),v(\"s1\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function _k(r,t,e,n,o=B){let s=((i,a,u)=>{switch(i.category){case\"arithmetic\":return o(()=>cF(i,a,u));case\"basic_math\":return o(()=>pF(i,a,u));case\"control\":return xF(i,a,u);case\"convolution\":return o(()=>bF(i,a,u));case\"creation\":return o(()=>wF(i,a,u));case\"dynamic\":return IF(i,a,u);case\"evaluation\":return o(()=>CF(i,a,u));case\"image\":return o(()=>NF(i,a,u));case\"graph\":return o(()=>vF(i,a,u));case\"logical\":return o(()=>kF(i,a,u));case\"matrices\":return o(()=>TF(i,a,u));case\"normalization\":return o(()=>_F(i,a,u));case\"ragged\":return o(()=>EF(i,a,u));case\"reduction\":return o(()=>AF(i,a,u));case\"slice_join\":return o(()=>DF(i,a,u));case\"sparse\":return o(()=>$F(i,a,u));case\"spectral\":return o(()=>RF(i,a,u));case\"string\":return o(()=>FF(i,a,u));case\"transformation\":return o(()=>OF(i,a,u));case\"hash_table\":return SF(i,a,u,n);case\"custom\":let l=zb(i.op);if(l&&l.customExecutor)return l.customExecutor(new Zb(i,a,u));throw TypeError(`Custom op ${i.op} is not registered.`);default:throw TypeError(`Unknown op '${i.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(r,t,e);return y.isPromise(s)?s.then(i=>[].concat(i)):[].concat(s)}var Wh=class{constructor(t={},e={},n={},o={},s){this.weightMap=t,this.tensorArrayMap=e,this.tensorListMap=n,this.functionMap=o,this.parseNodeNameCache=s,this.rootContext={id:0,frameName:\"\",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(t,e){return{id:t,frameName:e,iterationId:0}}set currentContext(t){this.contexts!==t&&(this.contexts=t,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){let t=[];for(let e=0;ee.id===0&&e.iterationId===0?\"\":`${e.frameName}-${e.iterationId}`).join(\"/\"):\"\"}enterFrame(t){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,t)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(this.contexts&&this.contexts.length>1)this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift();else throw new Error(\"Cannot exit frame, the context is empty\")}nextIteration(){if(this.contexts&&this.contexts.length>0){this.contexts=this.contexts.slice(),this.lastId++;let t=Object.assign({},this.contexts[this.contexts.length-1]);t.iterationId+=1,t.id=this.lastId,this.contexts.splice(-1,1,t),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}else throw new Error(\"Cannot increase frame iteration, the context is empty\")}getWeight(t){return this.weightMap[t]}addTensorArray(t){this.tensorArrayMap[t.id]=t}getTensorArray(t){return this.tensorArrayMap[t]}addTensorList(t){this.tensorListMap[t.id]=t}getTensorList(t){return this.tensorListMap[t]}dispose(t){for(let e in this.tensorArrayMap)this.tensorArrayMap[e].clearAndClose(t);for(let e in this.tensorListMap)this.tensorListMap[e].clearAndClose(t)}};function Ek(r,t,e,n){let o=new Set,s=[],i=null,a=null,u=new Set,l=new Set(Object.keys(r).map(m=>In(m)[0]));n=n||[];let c=new Set(n.map(m=>In(m.name)[0])),p=[...t];for(;p.length>0;){let m=p.pop();if((Bu(m)||utt(m)||ctt(m))&&i==null&&(i=m,a=i.children.map(f=>f.name).filter(f=>o.has(f))),o.add(m.name),e[m.name]==null&&!l.has(m.name)&&!c.has(m.name)){if(m.inputs.length===0){s.push(m.name);continue}m.inputs.forEach(f=>{u.has(f.name)||(u.add(f.name),p.push(f))})}}return{inputs:r,outputs:t,usedNodes:o,missingInputs:s,dynamicNode:i,syncInputs:a}}function MF(r,t){let{usedNodes:e,inputs:n}=t,o=Object.keys(n).map(g=>In(g)[0]).map(g=>r.nodes[g]),s=r.initNodes||[],i=g=>e.has(typeof g==\"string\"?g:g.name);function a(g){return[...new Map(g.map(x=>[x.name,x])).values()]}let u=a([...o,...r.weights,...s]).filter(i),l=a([...u,...Object.values(r.nodes)]).filter(i),c=new Map(l.map(g=>[g.name,g])),p={};for(let g of l){p[g.name]=p[g.name]||0;for(let x of g.children)i(x)||(p[x.name]=Number.POSITIVE_INFINITY),p[x.name]=(p[x.name]||0)+1}let m=Object.entries(p).filter(([,g])=>g===0).map(([g])=>g),f=[...m];for(;m.length>0;){let g=m.pop(),x=c.get(g);for(let b of x.children.filter(i))--p[b.name]===0&&(f.push(b.name),m.push(b.name))}let d=f.map(g=>c.get(g)),h=ott(d,u);return stt(h,u),h}function ott(r,t){let e=new Map(r.map(i=>[i.name,i])),n=t.map(i=>i.name),o=new Set(n);for(;n.length>0;){let i=n.pop(),a=e.get(i);for(let u of a.children)!e.has(u.name)||o.has(u.name)||(o.add(u.name),n.push(u.name))}return r.filter(i=>o.has(i.name))}var rd=class extends Error{constructor(t){super(`NodesExecutionOrderError: ${t}`)}};function stt(r,t){let e=new Map(r.map((a,u)=>[a.name,u])),n=new Set(t.map(a=>a.name)),o=a=>n.has(typeof a==\"string\"?a:a.name),s=new Set(r.map(a=>a.name)),i=a=>s.has(typeof a==\"string\"?a:a.name);for(let a of r){for(let u of a.children.filter(i)){if(!e.has(u.name))throw new rd(`Child ${u.name} of node ${a.name} is unreachable.`);if(e.get(a.name)>e.get(u.name))throw new rd(`Node ${a.name} is scheduled to run after its child ${u.name}.`)}if(!o(a))for(let u of a.inputs){if(!e.has(u.name))throw new rd(`Input ${u.name} of node ${a.name} is unreachable.`);if(e.get(u.name)>e.get(a.name))throw new rd(`Node ${a.name} is scheduled to run before its input ${u.name}.`)}}}function PF(r){let t=new Map(r.map((a,u)=>[a.name,u])),e=Number.MAX_SAFE_INTEGER,n=r.map((a,u)=>Bu(a)?e:u),o=a=>{let u=n[t.get(a.name)];return u==null?-1:u},s=r.map((a,u)=>a.children.map(o).reduce((l,c)=>Math.max(l,c),n[u])),i=new Map;for(let a=0;at[n].map(o=>o.id));this._weightIds=[].concat(...e),this._weightMap=t}set resourceManager(t){this._resourceManager=t}get inputs(){return this._inputs.map(t=>({name:t.name,shape:t.attrParams.shape?t.attrParams.shape.value:void 0,dtype:t.attrParams.dtype?t.attrParams.dtype.value:void 0}))}get outputs(){return this._outputs.map(t=>({name:t.name,shape:t.attrParams.shape?t.attrParams.shape.value:void 0,dtype:t.attrParams.dtype?t.attrParams.dtype.value:void 0}))}get inputNodes(){return this._inputs.map(t=>t.signatureKey||t.name)}get outputNodes(){return this._outputs.map(t=>{let e=t.signatureKey||t.name;return t.defaultOutput?`${e}:${t.defaultOutput}`:e})}get functions(){return Object.keys(this._functions).reduce((t,e)=>(t[e]=this._functions[e].signature,t),{})}constructor(t,e){this.graph=t,this.parent=e,this.compiledMap=new Map,this.parseNodeNameCache=new Map,this._weightMap={},this.SEPARATOR=\",\",this._functions={},this._functionExecutorMap={},this.keepIntermediateTensors=!1,this._outputs=t.outputs,this._inputs=t.inputs,this._initNodes=t.initNodes,this._signature=t.signature,this._functions=t.functions,t.functions!=null&&Object.keys(t.functions).forEach(n=>{this._functionExecutorMap[n]=new r(t.functions[n],this)})}getCompilationKey(t,e){let n=t.map(s=>s.name).sort(),o=e.map(s=>s.name).sort();return n.join(this.SEPARATOR)+\"--\"+o.join(this.SEPARATOR)}compile(t,e){let n=Ek(t,e,this.weightMap,this._initNodes),{missingInputs:o,dynamicNode:s,syncInputs:i}=n;if(s!=null)throw new Error(`This execution contains the node '${s.name}', which has the dynamic op '${s.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${i}]`);if(o.length>0){let l=e.map(p=>p.name),c=Object.keys(t);throw new Error(`Cannot compute the outputs [${l}] from the provided inputs [${c}]. Missing the following inputs: [${o}]`)}let a=MF(this.graph,n),u=PF(a);return{orderedNodes:a,nodeLiveUntilMap:u}}cloneAndKeepTensor(t){if(t==null)return null;let e=t.clone();return De(e),e}cloneTensorList(t){return t?t.map(n=>this.cloneAndKeepTensor(n)):null}cloneTensorMap(t){return Object.fromEntries(Object.entries(t).map(([e,n])=>[e,this.cloneTensorList(n)]))}execute(t,e){this.disposeIntermediateTensors(),t=this.mapInputs(t);let n=Object.keys(t).sort();this.checkInputs(t),this.checkInputShapeAndType(t),e=this.mapOutputs(e),this.checkOutputs(e);let o=n.map(m=>this.graph.nodes[In(m)[0]]),s=e.map(m=>In(m)[0]),i=new Set(s),a=s.map(m=>this.graph.nodes[m]);a.length===0&&(a=this._outputs);let u=this.getCompilationKey(o,a),l=this.compiledMap.get(u);l==null&&(l=this.compile(t,a),this.compiledMap.set(u,l));try{this.keepIntermediateTensors=L().getBool(\"KEEP_INTERMEDIATE_TENSORS\")}catch(m){this.keepIntermediateTensors=!1,console.warn(m.message)}let c={},p={};return B(()=>{let m=new Wh(this.weightMap,c,p,this.functionExecutorMap,this.parseNodeNameCache),f=Object.assign({},this.weightMap);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap)),Object.keys(t).forEach(x=>{let[b,w]=In(x,m),I=[];I[w]=t[x],f[b]=I,this.keepIntermediateTensors&&(this.clonedTensorsMap[b]=this.cloneTensorList(I))});let d=this.getFrozenTensorIds(f),{orderedNodes:h,nodeLiveUntilMap:g}=l;for(let x of h){if(f[x.name])continue;let b=_k(x,f,m,this._resourceManager);if(y.isPromise(b))throw new Error(`The execution of the op '${x.op}' returned a promise. Please use model.executeAsync() instead.`);f[x.name]=b,this.keepIntermediateTensors&&(this.clonedTensorsMap[x.name]=this.cloneTensorList(b)),this.checkTensorForDisposalWithNodeLiveUntilInfo(x,f,m,d,i,g.get(x.name))}return this.parent==null&&m.dispose(d),e.map(x=>pr(x,f,m))})}getFrozenTensorIds(t){let e=[].concat.apply([],Object.keys(t).map(n=>t[n]).map(n=>n.map(o=>o.id)));return new Set(e)}checkTensorForDisposal(t,e,n,o,s,i,a){if(!(Bu(e)||i.has(t))){for(let u of n[t])u!=null&&(a[u.id]=(a[u.id]||0)+e.children.length);for(let u of e.inputs){if(Bu(u))continue;let l=ik(u.name,n,o);if(l!=null)for(let c of l){if(!c||c.kept||s.has(c.id))continue;let p=a[c.id];p===1?(c.dispose(),delete a[c.id]):p!=null&&a[c.id]--}}}}checkTensorForDisposalWithNodeLiveUntilInfo(t,e,n,o,s,i){function a(u){return Bu(u)||s.has(u.name)}if(!(Bu(t)||i==null))for(let u of i){if(a(u))continue;let l=ik(u.name,e,n);for(let c of l)!c||c.kept||o.has(c.id)||c.dispose()}}async executeAsync(t,e){return this._executeAsync(t,e)}disposeIntermediateTensors(){this.clonedTensorsMap&&(Object.values(this.clonedTensorsMap).forEach(t=>{for(let e of t)e&&!e.isDisposed&&e.dispose()}),this.clonedTensorsMap=null)}getIntermediateTensors(){return this.clonedTensorsMap}async _executeAsync(t,e,n=!1,o={},s={}){this.disposeIntermediateTensors(),n||(t=this.mapInputs(t),this.checkInputs(t),this.checkInputShapeAndType(t),e=this.mapOutputs(e),this.checkOutputs(e));try{this.keepIntermediateTensors=L().getBool(\"KEEP_INTERMEDIATE_TENSORS\")}catch(m){this.keepIntermediateTensors=!1,console.warn(m.message)}let i=new Wh(this.weightMap,o,s,this.functionExecutorMap,this.parseNodeNameCache);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap));let a=await this.executeWithControlFlow(t,i,e,n),u=e.map(m=>pr(m,a,i)),l=u.map(m=>m.id),c=Object.keys(t).map(m=>t[m].id),p=new Set([...l,...c,...this.weightIds]);return Object.values(a).forEach(m=>{m.forEach(f=>{f&&!f.isDisposed&&!p.has(f.id)&&f.dispose()})}),this.parent==null&&i.dispose(p),u}async executeFunctionAsync(t,e,n){let o=t.reduce((s,i,a)=>(s[this.inputs[a].name]=i,s),{});return this._executeAsync(o,this.outputNodes,!0,e,n)}async executeWithControlFlow(t,e,n,o){let s=Object.keys(t),i=s.map(I=>this.graph.nodes[In(I)[0]]),a=n.map(I=>In(I)[0]),u=new Set(a),l=a.map(I=>this.graph.nodes[I]);l.length===0&&(l=this._outputs);let{usedNodes:c,missingInputs:p,dynamicNode:m,syncInputs:f}=Ek(t,l,this.weightMap,this._initNodes),d=[...i,...this.graph.weights,...this._initNodes||[]].map(I=>({node:I,contexts:e.currentContext})),h=Object.assign({},this.weightMap);Object.keys(t).forEach(I=>{let[N,E]=In(I),A=[];A[E]=t[I],h[N]=A});let g={},x=this.getFrozenTensorIds(h),b={};for(;d.length>0;){let I=this.processStack(i,d,e,h,b,x,u,g,c);await Promise.all(I)}m==null&&!o&&console.warn(\"This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.\");let w=l.filter(I=>!Bu(I)&&!pr(I.name,h,e)).map(I=>I.name);if(w.length>0){let I=\"\";throw m!=null&&(I=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${f}]`),new Error(`Cannot compute the outputs [${w}] from the provided inputs [${s}]. Consider providing the following inputs: [${p}]. ${I}`)}return h}processStack(t,e,n,o,s,i,a,u,l){let c=[];for(;e.length>0;){let p=e.pop();n.currentContext=p.contexts;let m=\"\";if(p.node.op===\"Enter\"&&v(\"isConstant\",p.node,o,n)&&([m]=yi(p.node.name,n)),o[p.node.name]==null){let f=_k(p.node,o,n,this._resourceManager);m||([m]=yi(p.node.name,n));let d=n.currentContext;y.isPromise(f)?c.push(f.then(h=>(o[m]=h,this.keepIntermediateTensors&&(this.clonedTensorsMap[m]=this.cloneTensorList(h)),n.currentContext=d,this.checkTensorForDisposal(m,p.node,o,n,i,a,u),this.processChildNodes(p.node,e,n,o,s,l),h))):(o[m]=f,this.keepIntermediateTensors&&(this.clonedTensorsMap[m]=this.cloneTensorList(f)),this.checkTensorForDisposal(m,p.node,o,n,i,a,u),this.processChildNodes(p.node,e,n,o,s,l))}else this.processChildNodes(p.node,e,n,o,s,l)}return c}processChildNodes(t,e,n,o,s,i){t.children.forEach(a=>{let[u]=yi(a.name,n);s[u]||!i.has(a.name)||(a.op===\"Merge\"?a.inputNames.some(l=>!!pr(l,o,n))&&(s[u]=!0,e.push({contexts:n.currentContext,node:a})):a.inputNames.every(l=>!!pr(l,o,n))&&(s[u]=!0,e.push({contexts:n.currentContext,node:a})))})}dispose(){Object.keys(this.weightMap).forEach(t=>this.weightMap[t].forEach(e=>e.dispose()))}checkInputShapeAndType(t){Object.keys(t).forEach(e=>{let n=t[e],[o]=In(e),s=this.graph.nodes[o];if(s.attrParams.shape&&s.attrParams.shape.value){let i=s.attrParams.shape.value,a=i.length===n.shape.length&&n.shape.every((u,l)=>i[l]===-1||i[l]===u);y.assert(a,()=>`The shape of dict['${s.name}'] provided in model.execute(dict) must be [${i}], but was [${n.shape}]`)}s.attrParams.dtype&&s.attrParams.dtype.value&&y.assert(n.dtype===s.attrParams.dtype.value,()=>`The dtype of dict['${s.name}'] provided in model.execute(dict) must be ${s.attrParams.dtype.value}, but was ${n.dtype}`)})}mapInputs(t){var e,n;let o={};for(let s in t){let i=(n=(e=this._signature)===null||e===void 0?void 0:e.inputs)===null||n===void 0?void 0:n[s];i!=null?o[i.name]=t[s]:o[s]=t[s]}return o}checkInputs(t){let e=Object.keys(t).filter(n=>{let[o]=In(n);return this.graph.nodes[o]==null});if(e.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${e}] that are not part of graph`)}mapOutputs(t){return t.map(e=>{var n,o;let s=(o=(n=this._signature)===null||n===void 0?void 0:n.outputs)===null||o===void 0?void 0:o[e];return s!=null?s.name:e},{})}checkOutputs(t){t.forEach(e=>{let[n]=In(e);if(!this.graph.nodes[n])throw new Error(`The output '${e}' is not found in the graph`)})}};var ew=class{constructor(t={},e={}){this.hashTableNameToHandle=t,this.hashTableMap=e}addHashTable(t,e){this.hashTableNameToHandle[t]=e.handle,this.hashTableMap[e.id]=e}getHashTableHandleByName(t){return this.hashTableNameToHandle[t]}getHashTableById(t){return this.hashTableMap[t]}dispose(){for(let t in this.hashTableMap)this.hashTableMap[t].clearAndClose(),delete this.hashTableMap[t];for(let t in this.hashTableNameToHandle)this.hashTableNameToHandle[t].dispose(),delete this.hashTableNameToHandle[t]}};var ptt=\"?tfjs-format=file\",mtt=\"model.json\",Hh=class{get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}get modelStructuredOutputKeys(){return this.structuredOutputKeys}constructor(t,e={},n=Mr){this.modelUrl=t,this.loadOptions=e,this.version=\"n/a\",this.io=n,e==null&&(this.loadOptions={}),this.resourceManager=new ew}findIOHandler(){let t=this.modelUrl;if(t.load!=null)this.handler=t;else if(this.loadOptions.requestInit!=null)this.handler=this.io.browserHTTPRequest(t,this.loadOptions);else{let e=this.io.getLoadHandlers(t,this.loadOptions);if(e.length===0)e.push(this.io.browserHTTPRequest(t,this.loadOptions));else if(e.length>1)throw new Error(`Found more than one (${e.length}) load handlers for URL '${[t]}'`);this.handler=e[0]}}load(){if(this.findIOHandler(),this.handler.load==null)throw new Error(\"Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.\");let t=this.handler.load();return y.isPromise(t)?t.then(e=>e.getWeightStream==null?this.loadSync(e):this.loadStreaming(e)):this.loadSync(t)}loadSync(t){let e=this.io.decodeWeights(t.weightData,t.weightSpecs);return this.loadWithWeightMap(t,e)}async loadStreaming(t){if(t.getWeightStream==null)throw new Error(\"Model artifacts missing streamWeights function\");let e=await ix(t.getWeightStream(),t.weightSpecs);return this.loadWithWeightMap(t,e)}loadWithWeightMap(t,e){this.artifacts=t;let n=this.artifacts.modelTopology,o=this.artifacts.signature;if(this.artifacts.userDefinedMetadata!=null){let s=this.artifacts.userDefinedMetadata;s.signature!=null&&(o=s.signature),s.structuredOutputKeys!=null&&(this.structuredOutputKeys=s.structuredOutputKeys)}if(this.signature=o,this.version=`${n.versions.producer}.${n.versions.minConsumer}`,this.executor=new Uh(Gh.Instance.transformGraph(n,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(e),this.executor.resourceManager=this.resourceManager,t.modelInitializer!=null&&t.modelInitializer.node!=null){let s=Gh.Instance.transformGraph(t.modelInitializer);this.initializer=new Uh(s),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializerSignature=t.initializerSignature}return!0}async save(t,e){if(typeof t==\"string\"){let n=this.io.getSaveHandlers(t);if(n.length===0)throw new Error(`Cannot find any save handlers for URL '${t}'`);if(n.length>1)throw new Error(`Found more than one (${n.length}) save handlers for URL '${t}'`);t=n[0]}if(t.save==null)throw new Error(\"GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.\");return t.save(this.artifacts)}addStructuredOutputNames(t){if(this.structuredOutputKeys){let e=t instanceof Lt?[t]:t,n={};return e.forEach((o,s)=>n[this.structuredOutputKeys[s]]=o),n}return t}predict(t,e){let n=this.execute(t,this.outputNodes);return this.addStructuredOutputNames(n)}async predictAsync(t,e){let n=await this.executeAsync(t,this.outputNodes);return this.addStructuredOutputNames(n)}normalizeInputs(t){var e;if(!(t instanceof Lt)&&!Array.isArray(t)){let s=(e=this.signature)===null||e===void 0?void 0:e.inputs;if(s!=null)for(let i in s){let a=s[i];a.resourceId!=null&&(t[i]=this.resourceIdToCapturedInput[a.resourceId])}return t}t=Array.isArray(t)?t:[t];let n=Object.keys(this.resourceIdToCapturedInput).length;if(t.length+n!==this.inputNodes.length)throw new Error(`Input tensor count mismatch, the graph model has ${this.inputNodes.length-n} non-resource placeholders, while there are ${t.length} input tensors provided.`);let o=0;return this.inputNodes.reduce((s,i)=>{var a,u,l;let c=(l=(u=(a=this.signature)===null||a===void 0?void 0:a.inputs)===null||u===void 0?void 0:u[i])===null||l===void 0?void 0:l.resourceId;return c!=null?s[i]=this.resourceIdToCapturedInput[c]:s[i]=t[o++],s},{})}normalizeOutputs(t){return t=t||this.outputNodes,Array.isArray(t)?t:[t]}executeInitializerGraph(){return this.initializer==null?[]:this.initializerSignature==null?this.initializer.execute({},[]):this.initializer.execute({},Object.keys(this.initializerSignature.outputs))}async executeInitializerGraphAsync(){return this.initializer==null?[]:this.initializerSignature==null?this.initializer.executeAsync({},[]):this.initializer.executeAsync({},Object.keys(this.initializerSignature.outputs))}setResourceIdToCapturedInput(t){if(this.resourceIdToCapturedInput={},this.initializerSignature){let e=this.initializerSignature.outputs,n=Object.keys(e);for(let o=0;o1?n:n[0]}async executeAsync(t,e){this.resourceIdToCapturedInput==null&&this.setResourceIdToCapturedInput(await this.executeInitializerGraphAsync()),t=this.normalizeInputs(t),e=this.normalizeOutputs(e);let n=await this.executor.executeAsync(t,e);return n.length>1?n:n[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(t){return Object.keys(t).reduce((e,n)=>(e[n]=[t[n]],e),{})}dispose(){this.executor.dispose(),this.initializer&&(this.initializer.dispose(),this.resourceIdToCapturedInput&&Tt(this.resourceIdToCapturedInput)),this.resourceManager.dispose()}};async function ftt(r,t={},e=Mr){if(r==null)throw new Error(\"modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model\");t==null&&(t={}),t.fromTFHub&&typeof r==\"string\"&&(r=htt(r));let n=new Hh(r,t,e);return await n.load(),n}function dtt(r){if(r==null)throw new Error(\"modelUrl in loadGraphModelSync() cannot be null. Please provide model artifacts or an IOHandler that loads the model\");let t;if(r instanceof Array){let[n,o]=r;if(!n)throw new Error(\"modelJSON must be the first element of the array\");if(!o||!(o instanceof ArrayBuffer))throw new Error(\"An ArrayBuffer of weights must be the second element of the array\");if(!(\"modelTopology\"in n))throw new Error(\"Model JSON is missing 'modelTopology'\");if(!(\"weightsManifest\"in n))throw new Error(\"Model JSON is missing 'weightsManifest'\");let s=Mr.getWeightSpecs(n.weightsManifest),i=Mr.getModelArtifactsForJSONSync(n,s,o);t=Mr.fromMemorySync(i)}else if(\"load\"in r)t=r;else if(\"modelTopology\"in r&&\"weightSpecs\"in r&&\"weightData\"in r)t=Mr.fromMemorySync(r);else throw new Error(\"Unknown model format\");let e=new Hh(t);return e.load(),e}function htt(r){return r.endsWith(\"/\")||(r=r+\"/\"),`${r}${mtt}${ptt}`}var LF=\"4.16.0\";var oO={};Kt(oO,{CSVDataset:()=>sd,Dataset:()=>wi,FileDataSource:()=>ld,TextLineDataset:()=>od,URLDataSource:()=>ud,array:()=>jF,csv:()=>QF,func:()=>tO,generator:()=>eO,microphone:()=>nO,version_data:()=>Yk,webcam:()=>rO,zip:()=>XF});var KF=Gl(dh());var UF=Gl(dh());function zF(r,t){return rw(r,t)}function rw(r,t,e=new Map,n=new Set){if(r==null)return null;if(typeof Blob==\"function\"&&r instanceof Blob)return r.slice();if(n.has(r))throw new Error(\"Circular references are not supported.\");if(e.has(r))return e.get(r);let o=t(r);if(o.recurse&&o.value!==null)throw new Error(\"A deep map function may not return both a value and recurse=true.\");if(o.recurse)if(Vu(r)){let s=Array.isArray(r)?[]:{};n.add(r);for(let i in r){let a=r[i],u=rw(a,t,e,n);s[i]=u}return n.delete(r),r.__proto__&&(s.__proto__=r.__proto__),s}else throw new Error(`Can't recurse into non-iterable type: ${r}`);else return e.set(r,o.value),o.value}function BF(r,t=Dk){return VF(r,t)}function VF(r,t,e=new Set){let n=r[0];if(e.has(n))throw new Error(\"Circular references are not supported.\");let o=t(r);if(o.recurse&&o.value!==null)throw new Error(\"A deep zip function may not return both a value and recurse=true.\");if(o.recurse)if(Vu(n)){let s=Array.isArray(n)?[]:{};e.add(n);for(let i in n){let a=r.map(l=>l[i]),u=VF(a,t,e);s[i]=u}return e.delete(n),s}else throw new Error(`Can't recurse into non-iterable type: ${n}`);else return o.value}function Dk(r){return r===null?null:Vu(r[0])?{value:null,recurse:!0}:{value:r,recurse:!1}}async function nw(r,t){let e=new Map;rw(r,t,e);for(let o of Array.from(e.keys())){let s=e.get(o);if(y.isPromise(s)){let i=await s;e.set(o,i)}}return rw(r,t,e)}function Vu(r){let t=!1;if(L().get(\"IS_BROWSER\"))t=r instanceof TextDecoder;else{let{StringDecoder:e}=Ak();t=r instanceof e}return r!=null&&!ArrayBuffer.isView(r)&&(Array.isArray(r)||typeof r==\"object\"&&!(r instanceof Lt)&&!(r instanceof Promise)&&!t)}function GF(r){return r==null||gtt(r)||Array.isArray(r)||typeof r==\"object\"&&r instanceof Lt||y.isTypedArray(r)}function gtt(r){return r===null||typeof r!=\"object\"&&typeof r!=\"function\"}function WF(r){return zF(r,xtt)}function xtt(r){return r instanceof Lt?{value:r.clone(),recurse:!1}:Vu(r)?{value:null,recurse:!0}:{value:r,recurse:!1}}var nd=class{constructor(t){if(this.capacity=t,this.begin=0,this.end=0,t==null)throw new RangeError(\"Can't create a ring buffer of unknown capacity.\");if(t<1)throw new RangeError(\"Can't create ring buffer of capacity < 1.\");this.data=new Array(t),this.doubledCapacity=2*t}wrap(t){for(;t<0;)t+=this.doubledCapacity;return t%this.doubledCapacity}get(t){if(t<0)throw new RangeError(\"Can't get item at a negative index.\");return this.data[t%this.capacity]}set(t,e){if(t<0)throw new RangeError(\"Can't set item at a negative index.\");this.data[t%this.capacity]=e}length(){let t=this.end-this.begin;return t<0&&(t=this.doubledCapacity+t),t}isFull(){return this.length()===this.capacity}isEmpty(){return this.length()===0}push(t){if(this.isFull())throw new RangeError(\"Ring buffer is full.\");this.set(this.end,t),this.end=this.wrap(this.end+1)}pushAll(t){for(let e of t)this.push(e)}pop(){if(this.isEmpty())throw new RangeError(\"Ring buffer is empty.\");this.end=this.wrap(this.end-1);let t=this.get(this.end);return this.set(this.end,void 0),t}unshift(t){if(this.isFull())throw new RangeError(\"Ring buffer is full.\");this.begin=this.wrap(this.begin-1),this.set(this.begin,t)}shift(){if(this.isEmpty())throw new RangeError(\"Ring buffer is empty.\");let t=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),t}shuffleExcise(t){if(this.isEmpty())throw new RangeError(\"Ring buffer is empty.\");let e=this.wrap(this.begin+t),n=this.get(e);return this.set(e,this.pop()),n}};var qh=class r extends nd{constructor(){super(r.INITIAL_CAPACITY)}isFull(){return!1}push(t){super.isFull()&&this.expand(),super.push(t)}unshift(t){super.isFull()&&this.expand(),super.unshift(t)}expand(){let t=this.capacity*2,e=new Array(t),n=this.length();for(let o=0;oe===!0)}rowMajorBatch(t,e=!0){return new Pk(this,t,e)}columnMajorBatch(t,e=!0,n=Dk){return this.rowMajorBatch(t,e).map(s=>BF(s,n))}concatenate(t,e){return new sw(Uk([this,t]),e)}take(t){return t<0||t==null?this:new Mk(this,t)}skip(t){return t<0||t==null?this:new Ok(this,t)}prefetch(t){return new iw(this,t)}shuffle(t,e){return new Wk(this,t,e)}serial(){return new Fk(this)}},$k=class extends er{constructor(t){super(),this.items=t,this.trav=0}summary(){return`Array of ${this.items.length} items`}async next(){if(this.trav>=this.items.length)return{value:null,done:!0};let t=this.items[this.trav];return this.trav++,{value:WF(t),done:!1}}},Rk=class extends er{constructor(t){super(),this.nextFn=t}summary(){return\"Function call\"}async next(){try{return this.nextFn()}catch(t){throw t.message=`Error thrown while iterating through a dataset: ${t.message}`,t}}},Fk=class extends er{constructor(t){super(),this.upstream=t,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Serial`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){return this.upstream.next()}},Ok=class extends er{constructor(t,e){super(),this.upstream=t,this.maxCount=e,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Skip`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;this.count++ Take`}async next(){return this.count++>=this.maxCount?{value:null,done:!0}:this.upstream.next()}},Pk=class extends er{constructor(t,e,n=!0){super(),this.upstream=t,this.batchSize=e,this.enableSmallLastBatch=n,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> RowMajorBatch`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){let t=[];for(;t.length0?{value:t,done:!1}:{value:null,done:!0};t.push(e.value)}return{value:t,done:!1}}},Lk=class extends er{constructor(t,e){super(),this.upstream=t,this.predicate=e,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Filter`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;){let t=await this.upstream.next();if(t.done||this.predicate(t.value))return t;Tt(t.value)}}},zk=class extends er{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> Map`}async next(){let t=await this.upstream.next();if(t.done)return{value:null,done:!0};let e=Io.getTensorsInContainer(t.value),n=this.transform(t.value),o=Io.getTensorsInContainer(n);for(let s of e)Io.isTensorInList(s,o)||s.dispose();return{value:n,done:!1}}},Bk=class extends er{constructor(t,e){super(),this.upstream=t,this.handler=e,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> handleErrors`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;)try{return await this.upstream.next()}catch(t){if(!this.handler(t))return{value:null,done:!0}}}},ow=class extends er{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){let t=await this.upstream.next();if(t.done)return{value:null,done:!0};let e=Io.getTensorsInContainer(t.value),n=await this.transform(t.value),o=Io.getTensorsInContainer(n);for(let s of e)Io.isTensorInList(s,o)||s.dispose();return{value:n,done:!1}}},Zc=class extends er{constructor(){super(),this.outputQueue=new qh,this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;this.outputQueue.length()===0;)if(!await this.pump())return{value:null,done:!0};return{value:this.outputQueue.shift(),done:!1}}},Vk=class extends Zc{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){let t=await this.upstream.next();if(t.done)return!1;let e=Io.getTensorsInContainer(t.value),n=this.transform(t.value),o=Io.getTensorsInContainer(n);this.outputQueue.pushAll(n);for(let s of e)Io.isTensorInList(s,o)||s.dispose();return!0}},sw=class extends er{constructor(t,e){super(),this.baseErrorHandler=e,this.lastRead=null,this.iterator=null,this.moreIterators=t}summary(){return\"TODO: fill in upstream of chained summaries -> Chained\"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(t){if(await t,this.iterator==null){let n=await this.moreIterators.next();if(n.done)return{value:null,done:!0};this.iterator=n.value,this.baseErrorHandler!=null&&(this.iterator=this.iterator.handleErrors(this.baseErrorHandler))}let e=await this.iterator.next();return e.done?(this.iterator=null,this.readFromChain(t)):e}},Dl;(function(r){r[r.FAIL=0]=\"FAIL\",r[r.SHORTEST=1]=\"SHORTEST\",r[r.LONGEST=2]=\"LONGEST\"})(Dl||(Dl={}));var Gk=class extends er{constructor(t,e=Dl.FAIL){super(),this.iterators=t,this.mismatchMode=e,this.count=0,this.currentPromise=null}summary(){return\"{TODO: fill in upstream of zip summaries} -> Zip\"}async nextState(t){await t;let e=0,n=0;function o(i){return i instanceof er?{value:i.next().then(u=>(e++,u.done&&n++,u.value)),recurse:!1}:{value:null,recurse:!0}}let s=await nw(this.iterators,o);if(e===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case Dl.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case Dl.SHORTEST:return{value:null,done:!0};case Dl.LONGEST:default:}return this.count++,{value:s,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}},iw=class extends er{constructor(t,e){super(),this.upstream=t,this.bufferSize=e,this.buffer=new nd(e)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){let t=this.upstream.next();this.buffer.push(t)}}next(){return this.refill(),this.buffer.shift()}},Wk=class extends iw{constructor(t,e,n){super(t,e),this.upstream=t,this.windowSize=e,this.upstreamExhausted=!1,this.random=UF.alea(n||y.now().toString()),this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}randomInt(t){return Math.floor(this.random()*t)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){let t=this.chooseIndex(),e=await this.buffer.shuffleExcise(t);if(e.done)this.upstreamExhausted=!0;else return this.refill(),e}return{value:null,done:!0}}};var wi=class{constructor(){this.size=null}batch(t,e=!0){let n=this;y.assert(t>0,()=>`batchSize needs to be positive, but it is\n ${t}`);let o;return this.size===1/0||this.size==null?o=this.size:e?o=Math.ceil(this.size/t):o=Math.floor(this.size/t),En(async()=>(await n.iterator()).columnMajorBatch(t,e,ytt),o)}concatenate(t){let e=this,n;return this.size===1/0||t.size===1/0?n=1/0:this.size!=null&&t.size!=null?n=this.size+t.size:n=null,En(async()=>(await e.iterator()).concatenate(await t.iterator()),n)}filter(t){let e=this,n;return this.size===1/0?n=1/0:n=null,En(async()=>(await e.iterator()).filter(o=>B(()=>t(o))),n)}async forEachAsync(t){return(await this.iterator()).forEachAsync(t)}map(t){let e=this;return En(async()=>(await e.iterator()).map(n=>B(()=>t(n))),this.size)}mapAsync(t){let e=this;return En(async()=>(await e.iterator()).mapAsync(t),this.size)}prefetch(t){if(t==null)throw new RangeError(\"`Dataset.prefetch()` requires bufferSize to be specified.\");let e=this;return En(async()=>(await e.iterator()).prefetch(t),this.size)}repeat(t){let e=this,n;return this.size!=null&&t>0?n=this.size*t:t===0?n=0:this.size!=null&&(t===void 0||t<0)?n=1/0:n=null,En(async()=>{let o=Kh(async()=>({value:await e.iterator(),done:!1}));return HF(o.take(t))},n)}skip(t){let e=this,n;return this.size!=null&&t>=0&&this.size>=t?n=this.size-t:this.size!=null&&(this.size(await e.iterator()).skip(t),n)}shuffle(t,e,n=!0){if(t==null||t<0)throw this.size==null?new RangeError(\"`Dataset.shuffle()` requires bufferSize to be specified.\"):new RangeError(`\\`Dataset.shuffle()\\` requires bufferSize to be specified. If your data fits in main memory (for regular JS objects), and/or GPU memory (for \\`tf.Tensor\\`s), consider setting bufferSize to the dataset size (${this.size} elements)`);let o=this,s=KF.alea(e||y.now().toString());return En(async()=>{let i=s.int32();return n&&(i+=s.int32()),(await o.iterator()).shuffle(t,i.toString())},this.size)}take(t){let e=this,n;return this.size!=null&&this.size>t?n=t:this.size!=null&&this.size<=t?n=this.size:n=null,En(async()=>(await e.iterator()).take(t),n)}async toArray(){if(this.size===1/0)throw new Error(\"Can not convert infinite data stream to array.\");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===1/0)throw new Error(\"Can not convert infinite data stream to array.\");return(await this.iterator()).toArrayForTest()}};wi.MAX_BUFFER_SIZE=1e4;function En(r,t=null){return new class extends wi{constructor(){super(...arguments),this.size=t}async iterator(){return r()}}}function jF(r){return En(async()=>Uk(r),r.length)}function XF(r){if(!Vu(r))throw new Error(\"The argument to zip() must be an object or array.\");let t;if(Array.isArray(r))for(let e=0;e{let e=await nw(r,n=>{if(n instanceof wi)return{value:n.iterator(),recurse:!1};if(Vu(n))return{value:null,recurse:!0};throw new Error(\"Leaves of the structure passed to zip() must be Datasets, not primitives.\")});return qF(e,Dl.SHORTEST)},t)}function ytt(r){if(r===null)return null;let t=r[0];return GF(t)?{value:btt(r),recurse:!1}:{value:null,recurse:!0}}function btt(r){if(r.length===0)throw new Error(\"Can't make a batch of zero elements.\");return r[0]instanceof Lt?Fe(r):ir(r)}var od=class extends wi{constructor(t){super(),this.input=t}async iterator(){return(await this.input.iterator()).decodeUTF8().split(`\n`).map(o=>(o.endsWith(\"\\r\")&&(o=o.slice(0,-1)),o))}};var aw='\"',jh=Symbol(\"out\"),YF=Symbol(\"field\"),lw=Symbol(\"quote\"),Hk=Symbol(\"quoteafterquote\"),ZF=Symbol(\"quoteinquote\"),sd=class extends wi{async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){let t=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!t)throw new Error(\"Column names must be provided if there is no header line.\");this.fullColumnNames&&t&&y.assert(t.length===this.fullColumnNames.length,()=>\"The length of provided columnNames (\"+this.fullColumnNames.length.toString()+\") does not match the length of the header line read from file (\"+t.length.toString()+\").\"),this.fullColumnNames||(this.fullColumnNames=t);let e=this.fullColumnNames.reduce((o,s)=>(o[s]=o[s]+1||1,o),{}),n=Object.keys(e).filter(o=>e[o]>1);if(y.assert(n.length===0,()=>\"Duplicate column names found: \"+n.toString()),this.columnConfigs){for(let o of Object.keys(this.columnConfigs))if(this.fullColumnNames.indexOf(o)===-1)throw new Error('The key \"'+o+'\" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+\").\")}this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){let e=await(await this.base.iterator()).next();if(e.done)throw new Error(\"No data was found for CSV parsing.\");let n=e.value;return this.parseRow(n,!1)}else return null}constructor(t,e){super(),this.input=t,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=\",\",this.delimWhitespace=!1,this.base=new od(t),e||(e={}),this.hasHeader=e.hasHeader!==!1,this.fullColumnNames=e.columnNames,this.columnConfigs=e.columnConfigs,this.configuredColumnsOnly=e.configuredColumnsOnly,e.delimWhitespace?(y.assert(e.delimiter==null,()=>\"Delimiter should not be provided when delimWhitespace is true.\"),this.delimWhitespace=!0,this.delimiter=\" \"):this.delimiter=e.delimiter?e.delimiter:\",\"}async iterator(){this.columnNamesValidated||await this.setColumnNames();let t=await this.base.iterator();return this.hasHeader&&(t=t.skip(1)),t.map(e=>this.makeDataElement(e))}makeDataElement(t){let e=this.parseRow(t),n={},o={};for(let s=0;s14||!Number.isInteger(e))throw new Error(`Invalid fftSize: it must be a power of 2 between 2 to 4 and 2 to 14, but got ${this.fftSize}`);if(this.numFrames=t.numFramesPerSpectrogram||43,this.sampleRateHz=t.sampleRateHz,this.columnTruncateLength=t.columnTruncateLength||this.fftSize,this.audioTrackConstraints=t.audioTrackConstraints,this.smoothingTimeConstant=t.smoothingTimeConstant||0,this.includeSpectrogram=t.includeSpectrogram!==!1,this.includeWaveform=t.includeWaveform===!0,!this.includeSpectrogram&&!this.includeWaveform)throw new Error(\"Both includeSpectrogram and includeWaveform are false. At least one type of data should be returned.\")}summary(){return\"microphone\"}static async create(t={}){if(!L().get(\"IS_BROWSER\"))throw new Error(\"microphone API is only supported in browser environment.\");let e=new r(t);return await e.start(),e}async start(){try{this.stream=await navigator.mediaDevices.getUserMedia({audio:this.audioTrackConstraints==null?!0:this.audioTrackConstraints,video:!1})}catch(n){throw new Error(`Error thrown while initializing video stream: ${n.message}`)}if(!this.stream)throw new Error(\"Could not obtain audio from microphone.\");let t=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new t,!this.sampleRateHz)this.sampleRateHz=this.audioContext.sampleRate;else if(this.audioContext.sampleRate!==this.sampleRateHz)throw new Error(`Mismatch in sampling rate: Expected: ${this.sampleRateHz}; Actual: ${this.audioContext.sampleRate}`);let e=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=this.fftSize*2,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,e.connect(this.analyser),this.freqData=new Float32Array(this.fftSize),this.timeData=new Float32Array(this.fftSize)}async next(){if(this.isClosed)return{value:null,done:!0};let t,e,n=await this.getAudioData();if(this.includeSpectrogram){let o=this.flattenQueue(n.freqDataQueue);t=this.getTensorFromAudioDataArray(o,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){let o=this.flattenQueue(n.timeDataQueue);e=this.getTensorFromAudioDataArray(o,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:t,waveform:e},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){let t=[],e=[],n=0;return new Promise(o=>{let s=setInterval(()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&o({freqDataQueue:t,timeDataQueue:e}),t.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),e.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(s),o({freqDataQueue:t,timeDataQueue:e}))},this.fftSize/this.sampleRateHz*1e3)})}stop(){this.isClosed||(this.isClosed=!0,this.analyser.disconnect(),this.audioContext.close(),this.stream!=null&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop())}toArray(){throw new Error(\"Can not convert infinite audio stream to array.\")}getSampleRate(){return this.sampleRateHz}flattenQueue(t){let e=t[0].length,n=new Float32Array(t.length*e);return t.forEach((o,s)=>n.set(o,s*e)),n}getTensorFromAudioDataArray(t,e){let n=new Float32Array(y.sizeFromShape(e));return n.set(t,n.length-t.length),ir(n,e)}};var cw=class r extends er{constructor(t,e){if(super(),this.webcamVideoElement=t,this.webcamConfig=e,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=Oe([0],\"int32\"),this.webcamConfig.centerCrop){let n=this.webcamConfig.resizeWidth*1/this.webcamVideoElement.width,o=this.webcamConfig.resizeHeight*1/this.webcamVideoElement.height,s=(1-n)/2,i=(1-o)/2,a=s+n,u=o+i;this.cropBox=ci([i,s,u,a],[1,4])}else this.cropBox=ci([0,0,1,1],[1,4])}summary(){return\"webcam\"}static async create(t,e={}){if(!L().get(\"IS_BROWSER\"))throw new Error(\"tf.data.webcam is only supported in browser environment.\");if(!t){if(t=document.createElement(\"video\"),!e.resizeWidth||!e.resizeHeight)throw new Error(\"Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.\");t.width=e.resizeWidth,t.height=e.resizeHeight}let n=new r(t,e);return await n.start(),n}async start(){this.webcamConfig.facingMode&&y.assert(this.webcamConfig.facingMode===\"user\"||this.webcamConfig.facingMode===\"environment\",()=>`Invalid webcam facing mode: ${this.webcamConfig.facingMode}. Please provide 'user' or 'environment'`);try{this.stream=await navigator.mediaDevices.getUserMedia({video:{deviceId:this.webcamConfig.deviceId,facingMode:this.webcamConfig.facingMode?this.webcamConfig.facingMode:\"user\",width:this.webcamVideoElement.width,height:this.webcamVideoElement.height}})}catch(t){throw t.message=`Error thrown while initializing video stream: ${t.message}`,t}if(!this.stream)throw new Error(\"Could not obtain video from webcam.\");try{this.webcamVideoElement.srcObject=this.stream}catch(t){console.log(t),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise(t=>{this.webcamVideoElement.onloadedmetadata=()=>{t()}})}async next(){if(this.isClosed)return{value:null,done:!0};let t;try{t=_y.fromPixels(this.webcamVideoElement)}catch(e){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(e)}`)}if(this.resize)try{return{value:this.cropAndResizeFrame(t),done:!1}}catch(e){throw new Error(`Error thrown cropping the video: ${e.message}`)}finally{t.dispose()}else return{value:t,done:!1}}needToResize(){return!!(this.webcamConfig.resizeWidth&&this.webcamConfig.resizeHeight&&(this.webcamVideoElement.width!==this.webcamConfig.resizeWidth||this.webcamVideoElement.height!==this.webcamConfig.resizeHeight))}cropAndResizeFrame(t){return B(()=>{let e=je(J(t,\"float32\"),0),n;n=fn.cropAndResize(e,this.cropBox,this.cropBoxInd,this.cropSize,\"bilinear\");let o=n.shape;return R(n,o.slice(1))})}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach(e=>e.stop());try{this.webcamVideoElement.srcObject=null}catch(e){console.log(e),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error(\"Can not convert infinite video stream to array.\")}};var id=class{};var Xh=class extends er{split(t){return new qk(this,t)}},qk=class extends Xh{constructor(t,e){super(),this.upstream=t,this.impl=new Kk(t,e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}},Kk=class extends Zc{constructor(t,e){super(),this.upstream=t,this.separator=e,this.carryover=\"\"}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){let t=await this.upstream.next();if(t.done)return this.carryover===\"\"?!1:(this.outputQueue.push(this.carryover),this.carryover=\"\",!0);let e=t.value.split(this.separator);e[0]=this.carryover+e[0];for(let n of e.slice(0,-1))this.outputQueue.push(n);return this.carryover=e[e.length-1],!0}};var pw=class extends er{decodeUTF8(){return new jk(this)}},jk=class extends Xh{constructor(t){super(),this.upstream=t,this.impl=new Xk(t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}},Xk=class extends Zc{constructor(t){if(super(),this.upstream=t,L().get(\"IS_BROWSER\"))this.decoder=new TextDecoder(\"utf-8\");else{let{StringDecoder:e}=Ak();this.decoder=new e(\"utf8\")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){let t=await this.upstream.next(),e;if(t.done)return!1;e=t.value;let n;return L().get(\"IS_BROWSER\")?n=this.decoder.decode(e,{stream:!0}):n=this.decoder.write(Buffer.from(e.buffer)),this.outputQueue.push(n),!0}};var ad=class extends pw{constructor(t,e={}){super(),this.file=t,this.options=e,y.assert(t instanceof Uint8Array||(L().get(\"IS_BROWSER\")?t instanceof File||t instanceof Blob:!1),()=>\"FileChunkIterator only supports File, Blob and Uint8Array right now.\"),this.offset=e.offset||0,this.chunkSize=e.chunkSize||1024*1024}summary(){return`FileChunks ${this.file}`}async next(){return this.offset>=(this.file instanceof Uint8Array?this.file.byteLength:this.file.size)?{value:null,done:!0}:{value:await new Promise((e,n)=>{let o=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)e(new Uint8Array(this.file.slice(this.offset,o)));else{let s=new FileReader;s.onload=a=>{let u=s.result;if(u instanceof ArrayBuffer&&(u=new Uint8Array(u)),!(u instanceof Uint8Array))return n(new TypeError(\"FileReader returned unknown type.\"));e(u)},s.onabort=a=>n(new Error(\"Aborted\")),s.onerror=a=>n(new Error(a.type));let i=this.file.slice(this.offset,o);s.readAsArrayBuffer(i)}this.offset=o}),done:!1}}};async function JF(r,t={},e){let n,o;typeof r==\"string\"?n=r:(n=r.url,o=wtt(r));let s=await(e||y.fetch)(n,o);if(s.ok){let i=new Uint8Array(await s.arrayBuffer());return new ad(i,t)}else throw new Error(s.statusText)}var wtt=r=>({method:r.method,headers:r.headers,body:r.body,mode:r.mode,credentials:r.credentials,cache:r.cache,redirect:r.redirect,referrer:r.referrer,integrity:r.integrity});function mw(r){return typeof r==\"string\"&&r.slice(0,7)===\"file://\"}var ld=class extends id{constructor(t,e={}){super(),this.input=t,this.options=e}async iterator(){if(mw(this.input)&&L().get(\"IS_NODE\")){let t=fw();this.input=t.readFileSync(this.input.slice(7))}return new ad(this.input,this.options)}};var ud=class extends id{constructor(t,e={}){super(),this.url=t,this.fileOptions=e}async iterator(){return mw(this.url)?new ld(this.url,this.fileOptions).iterator():JF(this.url,this.fileOptions)}};function QF(r,t={}){return new sd(new ud(r),t)}function tO(r){let t=Kh(r);return En(async()=>t)}function eO(r){return En(async()=>{let t=await r();return Kh(()=>t.next())})}async function rO(r,t){return cw.create(r,t)}async function nO(r){return uw.create(r)}var Yk=\"4.16.0\";function tt(r,t){Array.isArray(r)||(r=[r]),r.forEach(e=>{e!=null&&y.assert(e.dtype!==\"complex64\",()=>`${t} does not support complex64 tensors in the CPU backend.`)})}var Itt=Kr.whereImpl,cd=class r extends Bo{nextDataId(){return r.nextDataId++}constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new Ta(this,Bn())}write(t,e,n){this.firstUse&&(this.firstUse=!1,L().get(\"IS_NODE\")&&S.warn(`\n============================\nHi, looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, visit https://github.com/tensorflow/tfjs-node for more details. \n============================`));let o={id:this.nextDataId()};return this.data.set(o,{values:t,dtype:n,refCount:1}),o}makeTensorInfo(t,e,n){let o;if(e===\"string\"&&n!=null&&n.length>0&&y.isString(n[0])){let s=n.map(i=>y.encodeString(i));o=this.write(s,t,e)}else o=this.write(n,t,e);return{dataId:o,shape:t,dtype:e}}refCount(t){return this.data.has(t)?this.data.get(t).refCount:0}incRef(t){let e=this.data.get(t);e.refCount++}decRef(t){if(this.data.has(t)){let e=this.data.get(t);e.refCount--}}move(t,e,n,o,s){this.data.set(t,{values:e,dtype:o,refCount:s})}numDataIds(){return this.data.numDataIds()}async read(t){return this.readSync(t)}readSync(t){let{dtype:e,complexTensorInfos:n}=this.data.get(t);if(e===\"complex64\"){let o=this.readSync(n.real.dataId),s=this.readSync(n.imag.dataId);return S.mergeRealAndImagArrays(o,s)}return y.convertBackendValuesAndArrayBuffer(this.data.get(t).values,e)}bufferSync(t){let e=this.readSync(t.dataId);if(t.dtype===\"string\")try{let n=e.map(o=>y.decodeString(o));return wt(t.shape,t.dtype,n)}catch(n){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return wt(t.shape,t.dtype,e)}makeOutput(t,e,n){return Bn().makeTensorFromTensorInfo(this.makeTensorInfo(e,n,t),this)}disposeData(t,e=!1){if(this.data.has(t)){if(this.data.get(t).refCount--,!e&&this.data.get(t).refCount>0)return!1;let{complexTensorInfos:n}=this.data.get(t);n!=null&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(t)}return!0}disposeIntermediateTensorInfo(t){this.disposeData(t.dataId)}async time(t){let e=y.now();return t(),{kernelMs:y.now()-e}}memory(){return{unreliable:!0,reasons:[\"The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less.\"]}}where(t){tt([t],\"where\");let e=this.readSync(t.dataId);return Itt(t.shape,e)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}};cd.nextDataId=0;var Tw={};Kt(Tw,{addImpl:()=>Qk,bincountImpl:()=>fd,bincountReduceImpl:()=>dw,bitwiseAndImpl:()=>tT,castImpl:()=>Jk,ceilImpl:()=>eT,concatImpl:()=>Jc,equalImpl:()=>rT,expImpl:()=>oT,expm1Impl:()=>iT,floorDivImpl:()=>lT,floorImpl:()=>aT,gatherNdImpl:()=>hw,gatherV2Impl:()=>gw,greaterEqualImpl:()=>cT,greaterImpl:()=>uT,lessEqualImpl:()=>mT,lessImpl:()=>pT,linSpaceImpl:()=>xw,logImpl:()=>fT,maxImpl:()=>yw,maximumImpl:()=>dT,minimumImpl:()=>hT,multiplyImpl:()=>Yh,negImpl:()=>gT,notEqualImpl:()=>xT,prodImpl:()=>yT,raggedGatherImpl:()=>bw,raggedRangeImpl:()=>ww,raggedTensorToTensorImpl:()=>Iw,rangeImpl:()=>tp,rsqrtImpl:()=>wT,scatterImpl:()=>Ii,sigmoidImpl:()=>OO,simpleAbsImpl:()=>Zk,sliceImpl:()=>ep,sparseFillEmptyRowsImpl:()=>Cw,sparseReshapeImpl:()=>vw,sparseSegmentReductionImpl:()=>hd,sqrtImpl:()=>LO,squaredDifferenceImpl:()=>CT,staticRegexReplaceImpl:()=>vT,stridedSliceImpl:()=>Sw,stringNGramsImpl:()=>rp,stringSplitImpl:()=>np,stringToHashBucketFastImpl:()=>op,subImpl:()=>NT,tileImpl:()=>Nw,topKImpl:()=>kw,transposeImpl:()=>dd,uniqueImpl:()=>sp});function Zk(r){let t=new Float32Array(r.length);for(let e=0;e{let{x:t}=r.inputs,e=r.backend;tt(t,\"abs\");let n=new Float32Array(y.sizeFromShape(t.shape)),o=e.data.get(t.dataId).values;return n=Zk(o),e.makeOutput(n,t.shape,t.dtype)},sO={kernelName:Ei,backendName:\"cpu\",kernelFunc:Ctt};function Qt(r){return(t,e,n,o,s)=>{let i=S.assertAndGetBroadcastShape(t,e),a=i.length,u=y.computeStrides(i),l=y.sizeFromShape(i),c=y.getTypedArrayFromDType(s,l),p=t.length,m=e.length,f=y.computeStrides(t),d=y.computeStrides(e),h=S.getBroadcastDims(t,i),g=S.getBroadcastDims(e,i);if(h.length+g.length===0)for(let x=0;xw[A]=0);let I=y.locToIndex(w,p,f),N=b.slice(-m);g.forEach(A=>N[A]=0);let E=y.locToIndex(N,m,d);c[x]=r(n[I],o[E])}return[c,i]}}function Ir(r){let{inputs:t,backend:e}=r,{real:n,imag:o}=t,s=e.data.get(n.dataId).values,i=e.data.get(o.dataId).values,a=e.makeTensorInfo(n.shape,\"complex64\"),u=e.data.get(a.dataId);return u.complexTensorInfos={real:e.makeTensorInfo(n.shape,\"float32\",s),imag:e.makeTensorInfo(o.shape,\"float32\",i)},a}var iO={kernelName:Ap,backendName:\"cpu\",kernelFunc:Ir};function pd(r,t,e=\"float32\"){if(e===\"complex64\"){let o=pd(r,t,\"float32\"),s=pd(r,t,\"float32\");return Ir({inputs:{real:o,imag:s},backend:r})}let n=y.makeZerosTypedArray(y.sizeFromShape(t),e);return r.makeTensorInfo(t,e,n)}function Xr(r){let{inputs:t,backend:e}=r,{x:n}=t;return e.incRef(n.dataId),{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}var aO={kernelName:go,backendName:\"cpu\",kernelFunc:Xr};function Ro(r){let{inputs:t,backend:e}=r,{input:n}=t,o=e.data.get(n.dataId).complexTensorInfos.real,s=e.data.get(o.dataId).values;return e.makeTensorInfo(o.shape,o.dtype,s)}var lO={kernelName:Vp,backendName:\"cpu\",kernelFunc:Ro};function Jk(r,t,e,n){if(n===\"int32\"){let o=Int32Array.from(r);return[t,\"int32\",o]}if(n===\"bool\"){let o=y.toTypedArray([0],e),[s,i]=Qt((a,u)=>a!==u?1:0)(t,[],r,o,\"bool\");return[i,\"bool\",s]}throw new Error(`Error in Cast: failed to cast ${e} to ${n}`)}function Fo(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dtype:s}=n;if(s===\"complex64\"){if(o.dtype===\"complex64\")return Xr({inputs:{x:o},backend:e});let c=pd(e,o.shape,o.dtype),p=Fo({inputs:{x:o},backend:e,attrs:{dtype:\"float32\"}}),m=Ir({inputs:{real:p,imag:c},backend:e});return e.disposeIntermediateTensorInfo(c),e.disposeIntermediateTensorInfo(p),m}if(o.dtype===\"complex64\"){let c=Ro({inputs:{input:o},backend:e}),p=Fo({inputs:{x:c},backend:e,attrs:{dtype:s}});return e.disposeIntermediateTensorInfo(c),p}if(!y.hasEncodingLoss(o.dtype,s)){let c=Xr({inputs:{x:o},backend:e});return{dataId:c.dataId,shape:c.shape,dtype:s}}let i=e.data.get(o.dataId).values,[a,u,l]=Jk(i,o.shape,o.dtype,s);return e.makeTensorInfo(a,u,l)}var uO={kernelName:fo,backendName:\"cpu\",kernelFunc:Fo};function oe(r,t,e,n){return e==null?({inputs:o,backend:s})=>{let{a:i,b:a}=o,u=s;tt([i,a],r);let l=u.data.get(i.dataId).values,c=u.data.get(a.dataId).values,p=i.dtype===\"string\"?S.fromUint8ToStringArray(l):l,m=i.dtype===\"string\"?S.fromUint8ToStringArray(c):c,f=n||i.dtype,[d,h]=t(i.shape,a.shape,p,m,f);return u.makeTensorInfo(h,f,d)}:({inputs:o,backend:s})=>{let{a:i,b:a}=o,u=s;if(i.dtype===\"complex64\"||a.dtype===\"complex64\"){let l=Fo({inputs:{x:i},backend:u,attrs:{dtype:\"complex64\"}}),c=u.data.get(l.dataId),p=c.complexTensorInfos.real,m=c.complexTensorInfos.imag,f=u.data.get(p.dataId).values,d=u.data.get(m.dataId).values,h=Fo({inputs:{x:a},backend:u,attrs:{dtype:\"complex64\"}}),g=u.data.get(h.dataId),x=g.complexTensorInfos.real,b=g.complexTensorInfos.imag,w=u.data.get(x.dataId).values,I=u.data.get(b.dataId).values,[N,E,A]=e(i.shape,a.shape,f,d,w,I),D=u.makeTensorInfo(A,\"float32\",N),F=u.makeTensorInfo(A,\"float32\",E),M=Ir({inputs:{real:D,imag:F},backend:u});return u.disposeIntermediateTensorInfo(l),u.disposeIntermediateTensorInfo(h),u.disposeIntermediateTensorInfo(D),u.disposeIntermediateTensorInfo(F),M}else{let l=u.data.get(i.dataId).values,c=u.data.get(a.dataId).values,p=n||i.dtype,[m,f]=t(i.shape,a.shape,l,c,p);return u.makeTensorInfo(f,p,m)}}}function md(r){return(t,e,n,o,s,i)=>{let a=S.assertAndGetBroadcastShape(t,e),u=y.sizeFromShape(a),l=a.length,c=y.computeStrides(a),p=y.getTypedArrayFromDType(\"float32\",u),m=y.getTypedArrayFromDType(\"float32\",u),f=S.getBroadcastDims(t,a),d=S.getBroadcastDims(e,a),h=S.mergeRealAndImagArrays(n,o),g=S.mergeRealAndImagArrays(s,i),x=t.length,b=y.computeStrides(t),w=e.length,I=y.computeStrides(e);if(f.length+d.length===0)for(let N=0;NA[G]=0);let D=y.locToIndex(A,x,b),F=E.slice(-w);d.forEach(G=>F[G]=0);let M=y.locToIndex(F,w,I),V=r(h[D*2],h[D*2+1],g[M*2],g[M*2+1]);p[N]=V.real,m[N]=V.imag}return[p,m,a]}}var Qk=Qt((r,t)=>r+t),vtt=md((r,t,e,n)=>({real:r+e,imag:t+n})),ya=oe(no,Qk,vtt),cO={kernelName:no,backendName:\"cpu\",kernelFunc:ya};function fd(r,t,e,n,o){let s=y.sizeFromShape(n),i=y.makeZerosTypedArray(o,e);for(let a=0;a=o||(s>0?i[u]+=t[a]:i[u]+=1)}return i}function dw(r,t,e,n=!1){let o=r.shape[0],s=r.shape[1],i=wt([o,e],t.dtype);for(let a=0;a=e||(n?i.set(1,a,l):t.size>0?i.set(i.get(a,l)+t.get(a,u),a,l):i.set(i.get(a,l)+1,a,l))}return i}var tT=Qt((r,t)=>r&t),Stt=oe($a,tT),pO={kernelName:$a,backendName:\"cpu\",kernelFunc:Stt};function _r(r){return(t,e,n)=>{let o=y.getArrayFromDType(e,t.length);for(let s=0;s{let{x:i}=n;tt(i,r);let a=s,u=a.data.get(i.dataId).values,l;if(i.dtype===\"string\"){if(!Array.isArray(u))throw new Error(\"String tensor's value was not an instance of Array\");l=S.fromUint8ToStringArray(u)}else l=u;let c=e||i.dtype,p=t(l,c,o);return a.makeTensorInfo(i.shape,c,p)}}var eT=_r(r=>Math.ceil(r)),Ntt=An(Jo,eT),mO={kernelName:Jo,backendName:\"cpu\",kernelFunc:Ntt};function Jc(r,t,e,n){let o=y.getArrayFromDType(e,y.sizeFromShape(t));if(n&&e!==\"string\"){let s=0;r.forEach(i=>{let a=y.sizeFromShape(i.shape);o.set(i.vals,s),s+=a})}else{let s=0;r.forEach(i=>{let a=e===\"string\"?S.fromUint8ToStringArray(i.vals):i.vals,u=0;for(let l=0;lr===t?1:0),nT=oe(za,rT,null,\"bool\"),fO={kernelName:za,backendName:\"cpu\",kernelFunc:nT};var oT=_r(r=>Math.exp(r)),sT=An(cs,oT,\"float32\"),dO={kernelName:cs,backendName:\"cpu\",kernelFunc:sT};var iT=_r(r=>Math.expm1(r)),ktt=An(ps,iT),hO={kernelName:ps,backendName:\"cpu\",kernelFunc:ktt};var aT=_r(r=>Math.floor(r)),Ttt=An(ms,aT),gO={kernelName:ms,backendName:\"cpu\",kernelFunc:Ttt};var lT=Qt((r,t)=>Math.floor(r/t)),_tt=oe(fs,lT,null,\"int32\"),xO={kernelName:fs,backendName:\"cpu\",kernelFunc:_tt};function hw(r,t,e,n,o,s,i,a,u){let l=wt([n,s],e);for(let c=0;c=u/s)throw new Error(`Invalid indices: ${p} does not index into ${a}`);for(let f=0;fr>t?1:0),Ett=oe(Ga,uT,null,\"bool\"),yO={kernelName:Ga,backendName:\"cpu\",kernelFunc:Ett};var cT=Qt((r,t)=>r>=t?1:0),Att=oe(hs,cT,null,\"bool\"),bO={kernelName:hs,backendName:\"cpu\",kernelFunc:Att};var pT=Qt((r,t)=>rr<=t?1:0),$tt=oe(Ua,mT,null,\"bool\"),IO={kernelName:Ua,backendName:\"cpu\",kernelFunc:$tt};function xw(r,t,e){let n=(t-r)/(e-1),o=y.makeZerosTypedArray(e,\"float32\");o[0]=r;for(let s=1;sMath.log(r)),Rtt=An(ws,fT),CO={kernelName:ws,backendName:\"cpu\",kernelFunc:Rtt};function yw(r,t,e,n){let o=y.getTypedArrayFromDType(n,y.sizeFromShape(e));for(let s=0;sa)&&(a=l)}o[s]=a}return o}var dT=Qt((r,t)=>Math.max(r,t)),Ftt=oe(Ss,dT),vO={kernelName:Ss,backendName:\"cpu\",kernelFunc:Ftt};var hT=Qt((r,t)=>Math.min(r,t)),Ott=oe(_s,hT),SO={kernelName:_s,backendName:\"cpu\",kernelFunc:Ott};var Yh=Qt((r,t)=>r*t),Mtt=md((r,t,e,n)=>({real:r*e-t*n,imag:r*n+t*e})),Qc=oe(Ds,Yh,Mtt),NO={kernelName:Ds,backendName:\"cpu\",kernelFunc:Qc};function gT(r,t,e){let n=y.createScalarValue(-1,e);return Yh([],t,n,r,e)}function Ptt(r){let{inputs:t,backend:e}=r,{x:n}=t;tt(n,\"neg\");let o=e.data.get(n.dataId).values,[s,i]=gT(o,n.shape,n.dtype);return e.makeTensorInfo(i,n.dtype,s)}var kO={kernelName:Li,backendName:\"cpu\",kernelFunc:Ptt};var xT=Qt((r,t)=>r!==t?1:0),Ltt=oe(Za,xT,null,\"bool\"),TO={kernelName:Za,backendName:\"cpu\",kernelFunc:Ltt};function dd(r,t,e,n,o){let s=t.length,i=y.sizeFromShape(t),a=y.computeStrides(t),u=y.computeStrides(o),l=y.getTypedArrayFromDType(e,y.sizeFromShape(o));for(let c=0;ce.disposeIntermediateTensorInfo(b)),e.makeTensorInfo(x,g,d)}var EO={kernelName:Ms,backendName:\"cpu\",kernelFunc:ztt};function Btt(r,t,e){r.forEach((n,o)=>{if(n<0||n>=e){let s=y.indexToLoc(o,t.length,y.computeStrides(t)).join(\",\");throw new Error(`indices[${s}] = ${n} is not in [0, ${e})`)}})}function Vtt(r,t){for(let e=0;eo)throw new Error(\"Ragged splits must not point past values\");for(let s=1;sn[s])throw new Error(\"Ragged splits must be sorted in ascending order\")}}function Gtt(r,t,e,n){let o=[],s=0,i=t.length-1+e.length,a=new Array(i).fill(null).map(()=>[0]);Vtt(e,n);let u=1;for(let l=0;l=0){let h=a[d],g=h[h.length-1]-f[c];for(let x=c;xo[i]=s)}return t}function AO(r,t){let e=r.slice(0,t);for(;e.length1)throw new Error(\"starts must be a scalar or vector\");if(o.length>1)throw new Error(\"limits must be a scalar or vector\");if(i.length>1)throw new Error(\"deltas must be a scalar or vector\");let a=t.length===0,u=o.length===0,l=i.length===0,c=[];a||c.push(t[0]),u||c.push(o[0]),l||c.push(i[0]);for(let g=1;g0&&bx)I=0;else if(I=Math.ceil(Math.abs((b-x)/w)),I>DO)throw new Error(`Requires ((limit - start) / delta) <= ${DO}`);m[g+1]=m[g]+I}let f=m[p],d=y.getArrayFromDType(e,f),h=0;for(let g=0;gn&&(n=s)}return n}static getMaxWidthValueRowID(t){let e=t.length;if(e===0)return 0;let n=0,o=t[0],s=0;for(let i=1;i\"Final length of result must be equal to firstDimension.\"),s}calculateOutputIndexRowSplit(t,e,n,o){let s=t.length,i=[];for(let a=0;a0&&i.length!==t[s-1])throw new Error(\"Invalid row split size.\");return i}calculateOutputIndexValueRowID(t,e,n,o){let s=t.length,i=[];if(s===0)return[];let a=0,u=t[0];if(u>=e.length)throw new Error(`Got currentValueRowId=${u}, which is not less than ${e.length}`);let l=e[u];i.push(l);for(let c=1;c=0&&(++a,a=e.length)throw new Error(`Got nextValueRowId=${p} which is not less than ${e.length}`);l=e[p]}i.push(l)}if(i.length!==t.length)throw new Error(\"Invalid row ids.\");return i}calculateOutputIndex(t,e,n,o){let s=this.getRowPartitionTensor(t),i=this.getRowPartitionTypeByDimension(t);switch(i){case Oo.VALUE_ROWIDS:return this.calculateOutputIndexValueRowID(s,e,n,o);case Oo.ROW_SPLITS:if(s.length-1>e.length)throw new Error(`Row partition size is greater than output size: ${s.length-1} > ${e.length}`);return this.calculateOutputIndexRowSplit(s,e,n,o);default:throw new Error(`Unsupported partition type: ${Oo[i]}`)}}getFirstDimensionSize(){let t=this.rowPartitionValues[0];if(this.rowPartitionTypes.length===0)throw new Error(\"No row_partition_types given.\");let e=this.rowPartitionTypes[0];switch(e){case Oo.FIRST_DIM_SIZE:return t[0];case Oo.VALUE_ROWIDS:throw new Error(\"Cannot handle VALUE_ROWIDS in first dimension.\");case Oo.ROW_SPLITS:return this.rowPartitionValuesShapes[0][0]-1;default:throw new Error(`Cannot handle type ${Oo[e]}`)}}compute(){if(this.rowPartitionValues[0].length<=0)throw new Error(\"Invalid first partition input. Tensor requires at least one element.\");let e=this.getFirstDimensionSize(),n=this.calculateOutputSize(e),o=new Array(this.raggedRank+1);o[o.length-1]=1;for(let u=o.length-2;u>=0;--u)o[u]=o[u+1]*n[u+1];let s=RO(n,!1),i=y.getArrayFromDType(this.valuesDType,y.sizeFromShape(s));if(o[0]*n[0]>0){let u=this.calculateFirstParentOutputIndex(e,o[0],n[0]);for(let l=1;l<=this.raggedRank;++l)u=this.calculateOutputIndex(l-1,u,o[l],n[l]);this.setOutput(this.raggedRank,u,i,s)}return[s,i]}setOutput(t,e,n,o){if(n.length===0)return;let s=this.values,i=n,a=o.slice();a=a.slice(t+1);let u=y.sizeFromShape(a),l=e.length,c=this.defaultValue;if(c.length!==u&&c.length!==1){let d=this.defaultValueShape;B(()=>{let h=R(c,d);c=sa(h,a).dataSync()})}let p=0,m=0,f=0;for(let d=0;d<=l;++d){let h=d=l){let g=n.length;h=Math.floor(g/u)}if(h>f)if(this.defaultValue.length===1)i.subarray(f*u,h*u).fill(this.defaultValue[0]),f=h;else for(;h>f;){let g=i.slice(f*u);$O(g,c,u),++f}h<0?(p=d+1,m=f):(p=d,m=f,f=m+1)}}};function $O(r,t,e){for(let n=0;n= 0`);if(n<-1)throw new Error(`Dimension ${n} must be >= -1`);n=-1}e.push(n)}return e}function Iw(r,t,e,n,o,s,i,a,u,l){return new bT(r,t,e,n,o,s,i,a,u,l).compute()}function tp(r,t,e,n){let o=r===t,s=r1;if(o||s||i)return y.makeZerosTypedArray(0,n);let a=Math.abs(Math.ceil((t-r)/e)),u=y.makeZerosTypedArray(a,n);t1/Math.sqrt(r)),qtt=An(Us,wT),FO={kernelName:Us,backendName:\"cpu\",kernelFunc:qtt};function Ii(r,t,e,n,o,s,i,a,u,l){let c=[n/o,o],p=r.values,m=t.values;if(n===0)return wt(e,t.dtype);let f=u instanceof le?u:wt(c,t.dtype);typeof u==\"string\"||typeof u==\"number\"?f.values.fill(u):typeof u==\"boolean\"&&f.values.fill(+u);for(let d=0;d=n/o)throw new Error(`Invalid indices: ${h} does not index into ${e}`);for(let x=0;x1/(1+Math.exp(-r))),IT=At(Xs,r=>1/(1+Math.exp(-r))),MO={kernelName:Xs,backendName:\"cpu\",kernelFunc:IT};function ep(r,t,e,n,o){let s=Be.isSliceContinous(n,t,e),i=y.sizeFromShape(e),a=y.computeStrides(n);if(s){let p=Be.computeFlatOffset(t,a);return o===\"string\"?r.slice(p,p+i):r.subarray(p,p+i)}let u=o===\"string\"?S.fromUint8ToStringArray(r):r,l=wt(n,o,u),c=wt(e,o);for(let p=0;pd+t[h]);c.set(l.get(...f),...m)}return o===\"string\"?S.fromStringArrayToUint8(c.values):c.values}function Mo(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,size:i}=n;tt(o,\"slice\");let[a,u]=Be.parseSliceParams(o,s,i);Be.assertParamsValid(o,a,u);let l=e.data.get(o.dataId).values,c=ep(l,a,u,o.shape,o.dtype);return e.makeTensorInfo(u,o.dtype,c)}var PO={kernelName:Wi,backendName:\"cpu\",kernelFunc:Mo};function Cw(r,t,e,n,o,s,i){let a=t[0],u=s[0],l=new Array(u),c=new Array(a),p=t[1];if(u===0){if(a!==0)throw new Error(S.getSparseFillEmptyRowsIndicesDenseShapeMismatch(a));let g=y.getArrayFromDType(e,0),x=y.getArrayFromDType(o,0);return[g,[0,p],x,l,c]}let m=!0,f=0,d=new Array(u).fill(0);for(let g=0;g=u)throw new Error(S.getSparseFillEmptyRowsOutOfRangeIndexErrorMessage(g,x,u));++d[x],m=m&&x>=f,f=x}let h=!0;for(let g=0;g0&&(d[g]+=d[g-1])}if(h&&m){let g=r,x=n;for(let b=0;b0){f[m-1]=1;for(let g=m-2;g>=0;--g)f[g]=f[g+1]*n[g+1]}let d=[];if(a>0){d[a-1]=1;for(let g=a-2;g>=0;--g)d[g]=d[g+1]*u[g+1]}let h=y.getArrayFromDType(e,i*a);for(let g=0;g0?o[a-1]+1:0;if(p<0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let m=t.slice();m[0]=p;let f=m.reduce((w,I)=>w*I,1),d=y.getArrayFromDType(e,f);if(a===0)return p>0&&d.fill(i),[d,m];if(p<=0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let h=0,g=1,x=0,b=o[h];for(;;){let w=0;if(g=w)throw new Error(S.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage())}if(b<0||b>=p)throw new Error(S.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(b,p));b>x&&d.fill(i,x*l,b*l);for(let I=h;I=u[0])throw new Error(S.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(I,n[I],u[0]));for(let E=0;Ea)break}return xMath.sqrt(r)),Ktt=At(Zs,r=>Math.sqrt(r)),zO={kernelName:Zs,backendName:\"cpu\",kernelFunc:Ktt};var CT=Qt((r,t)=>{let e=r-t;return e*e}),jtt=oe(ti,CT),BO={kernelName:ti,backendName:\"cpu\",kernelFunc:jtt};var vT=_r((r,t)=>{let{pattern:e,replaceGlobal:n,rewrite:o}=t;return r.replace(new RegExp(e,n?\"g\":\"\"),o)}),Xtt=An(ec,vT),VO={kernelName:ec,backendName:\"cpu\",kernelFunc:Xtt};function Sw(r,t,e,n){let o=wt(r,t.dtype);for(let s=0;s0?0:a-u),f=0;f+=l*this.leftPad.length;for(let b=0;bb.forEach(w=>h[g++]=w);for(let b=0;b0){x(t[m+p-1]);for(let b=0;b0){let u=e[0];if(u!==0)throw new Error(`First split value must be 0, got ${u}`);for(let l=1;l=u;if(c=c&&e[l]<=n,!c)throw new Error(`Invalid split value ${e[l]}, must be in [${u}, ${n}]`);u=e[l]}if(u!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${u}`)}let s=o-1,i=y.getArrayFromDType(\"int32\",o);if(n===0||o===0){let u=new Array(n);for(let l=0;l<=s;++l)i[l]=0;return[u,i]}i[0]=0;for(let u=1;u<=s;++u){let l=e[u]-e[u-1],c=0;this.nGramWidths.forEach(p=>{c+=this.getNumNGrams(l,p)}),this.preserveShort&&l>0&&c===0&&(c=1),i[u]=i[u-1]+c}let a=new Array(i[s]);for(let u=0;u{let m=e[u+1]-e[u],f=this.getNumNGrams(m,p);this.createNGrams(t,l,a,c,f,p),c+=f}),this.preserveShort&&c===i[u]){let p=e[u+1]-e[u];if(p===0)continue;let m=p+2*this.padWidth;this.createNGrams(t,l,a,c,1,m)}}return[a,i]}};function rp(r,t,e,n,o,s,i,a){return new ST(e,n,o,s,i,a).compute(r,t)}function Ytt(r,t,e,n){if(!r.length)return;if(t.length===0){for(let s=0;sr-t),Ztt=md((r,t,e,n)=>({real:r-e,imag:t-n})),Zh=oe(ei,NT,Ztt),GO={kernelName:ei,backendName:\"cpu\",kernelFunc:Zh};function Nw(r,t){let e=new Array(r.rank);for(let o=0;o{let e=t.value-r.value;return e===0?r.index-t.index:e};function WO(r,t,e=0,n=r.length-1){for(;n>e;){if(n-e>600){let a=n-e+1,u=t-e+1,l=Math.log(a),c=.5*Math.exp(2*l/3),p=.5*Math.sqrt(l*c*(a-c)/a)*Math.sign(u-a/2),m=Math.max(e,Math.floor(t-u*c/a+p)),f=Math.min(n,Math.floor(t+(a-u)*c/a+p));WO(r,t,m,f)}let o=r[t],s=e,i=n;for(y.swap(r,e,t),Jh(r[n],o)>0&&y.swap(r,e,n);s0;)i=i-1}Jh(r[e],o)===0?y.swap(r,e,i):(i=i+1,y.swap(r,i,n)),i<=t&&(e=i+1),t<=i&&(n=i-1)}}function kw(r,t,e,n,o){let s=t[t.length-1],[i,a]=[r.length/s,s],u=y.getTypedArrayFromDType(e,i*n),l=y.getTypedArrayFromDType(\"int32\",i*n);for(let p=0;pd[w]={value:b,index:w}),n{for(let g=0;gnew cd,1);var kT=At(ls,r=>r>=0?r:Math.exp(r)-1),HO={kernelName:ls,backendName:\"cpu\",kernelFunc:kT};function TT(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{alpha:s}=n;tt([o],\"leakyRelu\");let i=y.sizeFromShape(o.shape),a=e.data.get(o.dataId).values,u=y.getTypedArrayFromDType(\"float32\",i);for(let l=0;lr<0?t*r:r);function _T(r){let{inputs:t,backend:e}=r,{x:n,alpha:o}=t;tt([n,o],\"prelu\");let s=e.data.get(n.dataId).values,i=e.data.get(o.dataId).values,[a,u]=Jtt(n.shape,o.shape,s,i,\"float32\");return e.makeTensorInfo(u,\"float32\",a)}var KO={kernelName:Os,backendName:\"cpu\",kernelFunc:_T};var ET=At(Ls,r=>Math.max(0,r)),jO={kernelName:Ls,backendName:\"cpu\",kernelFunc:ET};var AT=At(Vs,r=>Math.min(Math.max(0,r),6)),XO={kernelName:Vs,backendName:\"cpu\",kernelFunc:AT};function ip(r,t,e,n,o){if(e===\"linear\")return Xr({inputs:{x:t},backend:r});if(e===\"relu\")return ET({inputs:{x:t},backend:r});if(e===\"elu\")return kT({inputs:{x:t},backend:r});if(e===\"relu6\")return AT({inputs:{x:t},backend:r});if(e===\"prelu\")return _T({inputs:{x:t,alpha:n},backend:r});if(e===\"leakyrelu\")return TT({inputs:{x:t},backend:r,attrs:{alpha:o}});if(e===\"sigmoid\")return IT({inputs:{x:t},backend:r});throw new Error(`Activation ${e} has not been implemented for the CPU backend.`)}function te(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{shape:s}=n,i=y.sizeFromShape(o.shape),a=y.inferFromImplicitShape(s,i),u=y.sizeFromShape(a);y.assert(i===u,()=>`The new shape (${a}) has ${u} elements and the old shape (${o.shape}) has ${i} elements. The new shape and old shape must have the same number of elements.`),e.incRef(o.dataId);let l=e.data.get(o.dataId);if(l.complexTensorInfos!=null){let c=l.complexTensorInfos.real,p=l.complexTensorInfos.imag;c.shape=a,p.shape=a}return{dataId:o.dataId,shape:a,dtype:o.dtype}}var YO={kernelName:Vi,backendName:\"cpu\",kernelFunc:te};function DT(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s}=t,{transposeA:i,transposeB:a}=n;tt([o,s],\"matMul\");let u=o.shape.length,l=s.shape.length,c=i?o.shape[u-2]:o.shape[u-1],p=a?s.shape[l-1]:s.shape[l-2],m=i?o.shape[u-1]:o.shape[u-2],f=a?s.shape[l-2]:s.shape[l-1],d=o.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(d),x=y.sizeFromShape(h),w=Ur.assertAndGetBroadcastShape(o.shape.slice(0,-2),s.shape.slice(0,-2)).concat([m,f]);y.assert(c===p,()=>`Error in matMul: inner shapes (${c}) and (${p}) of Tensors with shapes ${o.shape} and ${s.shape} and transposeA=${i} and transposeB=${a} must match.`);let I=i?[g,c,m]:[g,m,c],N=a?[x,f,p]:[x,p,f],E=te({inputs:{x:o},backend:e,attrs:{shape:I}}),A=te({inputs:{x:s},backend:e,attrs:{shape:N}}),D=i?E.shape[1]:E.shape[2],F=i?E.shape[2]:E.shape[1],M=a?A.shape[1]:A.shape[2],V=Math.max(g,x),G=e.data.get(E.dataId).values,W=e.data.get(A.dataId).values,q=y.computeStrides(E.shape),H=y.computeStrides(A.shape),[K,Y,Z]=i?[q[0],1,q[1]]:[q[0],q[1],1],[et,nt,st]=a?[1,H[1],H[0]]:[H[1],1,H[0]],lt=F*M,ot=wt([V,F,M],E.dtype),it=ot.values,ft=e.blockSize;for(let gt=0;gtMath.acos(r)),QO={kernelName:Go,backendName:\"cpu\",kernelFunc:tet};var eet=At(Wo,r=>Math.acosh(r)),tM={kernelName:Wo,backendName:\"cpu\",kernelFunc:eet};function ret(r){let{inputs:t,backend:e}=r,n=t;tt(t,\"addN\");let o=n.map(a=>e.data.get(a.dataId).values),s=wt(n[0].shape,n[0].dtype),i=s.values;for(let a=0;ab&&(b=N,w=I)}f[g]=w}return l.forEach(g=>e.disposeIntermediateTensorInfo(g)),e.makeTensorInfo(c,\"int32\",f)}var oM={kernelName:Ai,backendName:\"cpu\",kernelFunc:set};function iet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s}=n;tt(o,\"argMin\");let i=y.parseAxisParam(s,o.shape),a=S.getAxesPermutation(i,o.shape.length),u=o,l=[];a!=null&&(u=We({inputs:{x:o},backend:e,attrs:{perm:a}}),l.push(u),i=S.getInnerMostAxes(i.length,u.shape.length)),i=[i[0]],S.assertAxesAreInnerMostDims(\"argMin\",i,u.shape.length);let[c,p]=S.computeOutAndReduceShapes(u.shape,i),m=y.sizeFromShape(c),f=y.makeZerosTypedArray(m,\"int32\"),d=y.sizeFromShape(p),h=e.data.get(u.dataId).values;for(let g=0;ge.disposeIntermediateTensorInfo(g)),e.makeTensorInfo(c,\"int32\",f)}var sM={kernelName:Di,backendName:\"cpu\",kernelFunc:iet};var aet=At(Ho,r=>Math.asin(r)),iM={kernelName:Ho,backendName:\"cpu\",kernelFunc:aet};var uet=At(qo,r=>Math.asinh(r)),aM={kernelName:qo,backendName:\"cpu\",kernelFunc:uet};var cet=At(Ko,r=>Math.atan(r)),lM={kernelName:Ko,backendName:\"cpu\",kernelFunc:cet};var pet=Qt((r,t)=>Math.atan2(r,t)),met=oe(Xo,pet),uM={kernelName:Xo,backendName:\"cpu\",kernelFunc:met};var fet=At(jo,r=>Math.atanh(r)),cM={kernelName:jo,backendName:\"cpu\",kernelFunc:fet};function gd(r,t,e,n,o,s){let i=o.strideHeight,a=o.strideWidth,u=o.dilationHeight,l=o.dilationWidth,c=o.effectiveFilterHeight,p=o.effectiveFilterWidth,m=o.padInfo.top,f=o.padInfo.left,d=s===\"max\"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,h=wt(o.outShape,e),g=h.values,x=o.outShape[1]*o.outShape[2]*o.outShape[3],b=o.outShape[2]*o.outShape[3],w=o.outShape[3];for(let I=0;IY?Y=ft:s===\"avg\"&&(Z+=ft,et++)}if(isNaN(Y))break}let nt=G+W*w+A;g[nt]=s===\"avg\"?Z/et:Y}}}return h}function _w(r,t,e,n,o=!1,s=!1){let i=wt(n.outShape,\"int32\"),a=n.strideHeight,u=n.strideWidth,l=n.dilationHeight,c=n.dilationWidth,p=n.effectiveFilterHeight,m=n.effectiveFilterWidth,f=n.padInfo.top,d=n.padInfo.left,h=wt(t,e,r);for(let g=0;gM&&(M=K,o?V=s?((g*n.inHeight+G)*n.inWidth+q)*n.inChannels+x:(G*n.inWidth+q)*n.inChannels+x:V=W*m+H)}}i.set(V,g,b,E,x)}}return i}function Ew(r,t,e,n,o,s){let i=o.strideDepth,a=o.strideHeight,u=o.strideWidth,l=o.dilationDepth,c=o.dilationHeight,p=o.dilationWidth,m=o.effectiveFilterDepth,f=o.effectiveFilterHeight,d=o.effectiveFilterWidth,h=o.padInfo.front,g=o.padInfo.top,x=o.padInfo.left,b=s===\"max\"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,w=wt(o.outShape,e),I=w.values,N=o.outShape[1]*o.outShape[2]*o.outShape[3]*o.outShape[4],E=o.outShape[2]*o.outShape[3]*o.outShape[4],A=o.outShape[3]*o.outShape[4],D=o.outShape[4];for(let F=0;FRt?Rt=Ae:s===\"avg\"&&(Dt+=Ae,Ht++),isNaN(Rt))break}if(isNaN(Rt))break}if(isNaN(Rt))break}let qt=Ct+G;I[qt]=s===\"avg\"?Dt/Math.max(Ht,1):Rt}}}}return w}function pM(r,t){let e=wt(t.outShape,\"int32\"),n=t.strideDepth,o=t.strideHeight,s=t.strideWidth,i=t.dilationDepth,a=t.dilationHeight,u=t.dilationWidth,l=t.effectiveFilterDepth,c=t.effectiveFilterHeight,p=t.effectiveFilterWidth,m=t.padInfo.front,f=t.padInfo.top,d=t.padInfo.left;for(let h=0;h=W&&(W=st,q=K*c*p+Z*c+nt)}}}e.set(q,h,x,N,F,g)}}}return e}function det(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t;tt(o,\"avgPool\");let{filterSize:s,strides:i,pad:a,dimRoundingMode:u}=n,l=1;y.assert(S.eitherStridesOrDilationsAreOne(i,l),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u),p;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))p=Xr({inputs:{x:o},backend:e});else{let m=e.data.get(o.dataId).values,f=y.computeStrides(o.shape),d=gd(m,o.shape,o.dtype,f,c,\"avg\");p=e.makeTensorInfo(c.outShape,o.dtype,d.values)}return p}var mM={kernelName:Yo,backendName:\"cpu\",kernelFunc:det};function het(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n;tt(o,\"avgPool3d\");let c=S.computePool3DInfo(o.shape,s,i,1,a,u,l),p=e.data.get(o.dataId).values,m=Ew(p,o.shape,o.dtype,y.computeStrides(o.shape),c,\"avg\");return e.makeTensorInfo(m.shape,\"float32\",m.values)}var fM={kernelName:$i,backendName:\"cpu\",kernelFunc:het};function get(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=n;tt([o,s],\"avgPool3DGrad\");let c=S.computePool3DInfo(s.shape,i,a,1,u,l),p=c.strideDepth,m=c.strideHeight,f=c.strideWidth,d=c.filterDepth,h=c.filterHeight,g=c.filterWidth,x=c.dilationDepth,b=c.dilationHeight,w=c.dilationWidth,I=c.effectiveFilterDepth,N=c.effectiveFilterHeight,E=c.effectiveFilterWidth,A=I-1-c.padInfo.front,D=E-1-c.padInfo.left,F=N-1-c.padInfo.top,M=wt(s.shape,\"float32\"),V=1/(d*h*g),G=e.bufferSync(o);for(let W=0;W=c.outDepth||Math.floor(ot)!==ot))for(let it=0;it=c.outHeight||Math.floor(ft)!==ft))for(let gt=0;gt=c.outWidth||Math.floor(Ct)!==Ct)continue;let Rt=G.get(W,ot,ft,Ct,q);st+=Rt}}}M.set(st*V,W,H,K,Y,q)}return e.makeTensorInfo(M.shape,M.dtype,M.values)}var dM={kernelName:Hl,backendName:\"cpu\",kernelFunc:get};function xet(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s;tt([o,s],\"avgPoolGrad\");let{filterSize:a,strides:u,pad:l}=n,c=S.computePool2DInfo(i.shape,a,u,1,l),p=c.strideHeight,m=c.strideWidth,f=c.filterHeight,d=c.filterWidth,h=c.dilationHeight,g=c.dilationWidth,x=c.effectiveFilterHeight,b=c.effectiveFilterWidth,w=b-1-c.padInfo.left,I=x-1-c.padInfo.top,N=wt(i.shape,\"float32\"),E=1/(f*d),A=e.data.get(o.dataId).values,D=wt(o.shape,\"float32\",A);for(let F=0;F=c.outHeight||Math.floor(Y)!==Y))for(let Z=0;Z=c.outWidth||Math.floor(et)!==et)continue;let nt=D.get(F,Y,et,M);H+=nt}}N.set(H*E,F,V,G,M)}return e.makeTensorInfo(N.shape,N.dtype,N.values)}var hM={kernelName:Ul,backendName:\"cpu\",kernelFunc:xet};function yet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,scale:s,offset:i,mean:a,variance:u}=t;y.assert(a.shape.length===u.shape.length,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),y.assert(i==null||a.shape.length===i.shape.length,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),y.assert(s==null||a.shape.length===s.shape.length,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\"),tt([o,a,u,s,i],\"batchNorm\");let{varianceEpsilon:l}=n;l==null&&(l=.001);let c=e.data.get(o.dataId).values,p=e.data.get(a.dataId).values,m=e.data.get(u.dataId).values,f=s?e.data.get(s.dataId).values:new Float32Array([1]),d=i?e.data.get(i.dataId).values:new Float32Array([0]),h=new Float32Array(c.length),g=d.length,x=f.length,b=m.length,w=p.length,I=0,N=0,E=0,A=0;for(let D=0;D=g&&(I=0),N>=w&&(N=0),E>=x&&(E=0),A>=b&&(A=0);return e.makeTensorInfo(o.shape,o.dtype,h)}var gM={kernelName:ds,backendName:\"cpu\",kernelFunc:yet};function bet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,crops:i}=n;tt([o],\"batchToSpaceND\");let a=s.reduce((x,b)=>x*b),u=S.getReshaped(o.shape,s,a),l=S.getPermuted(u.length,s.length),c=S.getReshapedPermuted(o.shape,s,a),p=S.getSliceBeginCoords(i,s.length),m=S.getSliceSize(c,i,s.length),f=te({inputs:{x:o},backend:e,attrs:{shape:u}}),d=We({inputs:{x:f},backend:e,attrs:{perm:l}}),h=te({inputs:{x:d},backend:e,attrs:{shape:c}}),g=Mo({inputs:{x:h},backend:e,attrs:{begin:p,size:m}});return e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),g}var xM={kernelName:Ri,backendName:\"cpu\",kernelFunc:bet};function wet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,weights:s}=t,{size:i}=n,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,l=fd(a,u,s.dtype,s.shape,i);return e.makeTensorInfo([i],s.dtype,l)}var yM={kernelName:Da,backendName:\"cpu\",kernelFunc:wet};function Iet(r){let{inputs:t,backend:e}=r,{s0:n,s1:o}=t,s=e.data.get(n.dataId).values,i=e.data.get(o.dataId).values,a=S.assertAndGetBroadcastShape(Array.from(s),Array.from(i));return e.makeTensorInfo([a.length],\"int32\",Int32Array.from(a))}var bM={kernelName:ql,backendName:\"cpu\",kernelFunc:Iet};var Cet=At(ho,(r,t)=>{let e=t;return r>e.clipValueMax?e.clipValueMax:r{let{x:t}=r.inputs,e=r.backend,n=new Float32Array(y.sizeFromShape(t.shape)),o=e.data.get(t.dataId),s=o.complexTensorInfos.real,i=o.complexTensorInfos.imag,a=e.data.get(s.dataId).values,u=e.data.get(i.dataId).values;for(let l=0;lh.shape);S.assertParamsConsistent(i,s);let a=S.computeOutShape(t.map(h=>h.shape),s);if(y.sizeFromShape(a)===0)return e.makeTensorInfo(a,t[0].dtype,[]);let u=t.filter(h=>y.sizeFromShape(h.shape)>0);if(u.length===1)return Xr({inputs:{x:u[0]},backend:e});if(u[0].dtype===\"complex64\"){let h=u.map(I=>Ro({inputs:{input:I},backend:e})),g=u.map(I=>ba({inputs:{input:I},backend:e})),x=Gu({inputs:h,backend:e,attrs:{axis:s}}),b=Gu({inputs:g,backend:e,attrs:{axis:s}}),w=Ir({inputs:{real:x,imag:b},backend:e});return h.forEach(I=>e.disposeIntermediateTensorInfo(I)),g.forEach(I=>e.disposeIntermediateTensorInfo(I)),e.disposeIntermediateTensorInfo(x),e.disposeIntermediateTensorInfo(b),w}let l=u.map(h=>{let x=[-1,y.sizeFromShape(h.shape.slice(s))];return te({inputs:{x:h},backend:e,attrs:{shape:x}})}),c=l.map(h=>({vals:e.data.get(h.dataId).values,shape:h.shape}));a=S.computeOutShape(l.map(h=>h.shape),1);let p=l[0].shape[0]===1,m=Jc(c,a,t[0].dtype,p),f=S.computeOutShape(u.map(h=>h.shape),s),d=e.makeTensorInfo(f,t[0].dtype,m);return l.forEach(h=>e.disposeIntermediateTensorInfo(h)),d}var vM={kernelName:Fi,backendName:\"cpu\",kernelFunc:Gu};function $T(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dataFormat:u,dilations:l,dimRoundingMode:c}=n;tt([o,s],\"conv2d\");let p=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(o.shape,s.shape,i,l,a,c,!1,p),f=m.filterHeight,d=m.filterWidth,h=m.dilationHeight,g=m.dilationWidth,x=m.padInfo.left,b=m.padInfo.top,w=m.dataFormat===\"channelsLast\",I=new le(m.outShape,o.dtype),N=y.computeStrides(o.shape),E=y.computeStrides(s.shape),A=N[0],D=w?N[1]:N[2],F=w?N[2]:1,M=w?1:N[1],V=I.strides[0],G=w?I.strides[1]:I.strides[2],W=w?I.strides[2]:1,q=w?1:I.strides[1],H=e.data.get(o.dataId).values,K=e.data.get(s.dataId).values,Y=I.values;for(let Z=0;Z=m.inHeight)continue;let gt=it*E[0],Ct=et+ft*D;for(let Rt=0;Rt=m.inWidth)continue;let xe=gt+qt*E[1],re=Ct+pe*F,ye=xe;for(let de=0;de=l.inDepth)continue;let Z=K*F[0],et=V+Y*D[1];for(let nt=0;nt=l.inHeight)continue;let ft=Z+ot*F[1],gt=et+it*D[2];for(let Ct=0;Ct=l.inWidth)continue;let pe=ft+Ht*F[2],xe=gt+qt*l.inChannels,re=pe;for(let ye=0;yeMath.cos(r)),AM={kernelName:rs,backendName:\"cpu\",kernelFunc:Aet};var Det=At(ns,r=>Math.cosh(r)),DM={kernelName:ns,backendName:\"cpu\",kernelFunc:Det};function $et(r){let{inputs:t,backend:e,attrs:n}=r,{image:o,boxes:s,boxInd:i}=t,{cropSize:a,method:u,extrapolationValue:l}=n,[c,p,m,f]=o.shape,d=s.shape[0],[h,g]=a,x=wt([d,h,g,f],\"float32\"),b=e.data.get(s.dataId).values,w=e.data.get(i.dataId).values,I=e.data.get(o.dataId).values,N=y.computeStrides(o.shape),E=y.computeStrides(x.shape);for(let A=0;A=c)continue;let q=h>1?(V-F)*(p-1)/(h-1):0,H=g>1?(G-M)*(m-1)/(g-1):0;for(let K=0;K1?F*(p-1)+K*q:.5*(F+V)*(p-1);if(Y<0||Y>p-1){for(let Z=0;Z1?M*(m-1)+st*H:.5*(M+G)*(m-1);if(lt<0||lt>m-1){for(let gt=0;gt1?M*(m-1)+Z*H:.5*(M+G)*(m-1);if(et<0||et>m-1){for(let lt=0;ltx+d-b-1:(x,b)=>x+b;for(let x=0;xx+d-b-1:(x,b)=>x+b;for(let x=0;x`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${i}`);let a=o.shape[0],u=o.shape[1],l=o.shape[2],c=o.shape[3],p=u*s,m=l*s,f=c/(s*s),d=e.data.get(o.dataId).values,h=new Float32Array(a*p*m*f),g=0;for(let x=0;x`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${m}'`);let f=S.computeConv2DInfo(o.shape,s.shape,i,m,a,l,!0),{filterHeight:d,filterWidth:h,dilationHeight:g,dilationWidth:x,padInfo:b}=f,w=b.left,I=b.top,N=f.outChannels/f.inChannels,E=new le(f.outShape,o.dtype),A=e.data.get(o.dataId).values,D=e.data.get(s.dataId).values,F=E.values;for(let M=0;M=f.inHeight)continue;let Z=K*p[0],et=V+Y*c[1];for(let nt=0;nt=f.inWidth)continue;let ft=Z+ot*p[1],gt=et+it*f.inChannels,Ct=st,Rt=ft;for(let Dt=0;Dt{let{x:n,filter:o}=r,{strides:s,pad:i,dilations:a}=e,u=t,l=u.data.get(n.dataId).values,c=n.shape.length,p=u.data.get(o.dataId).values,m=o.shape.length,{batchSize:f,inHeight:d,inWidth:h,inChannels:g,outHeight:x,outWidth:b,padInfo:w,strideHeight:I,strideWidth:N,filterHeight:E,filterWidth:A,dilationHeight:D,dilationWidth:F,outShape:M}=S.computeDilation2DInfo(n.shape,o.shape,s,i,\"NHWC\",a),V=y.sizeFromShape(M),G=M.length,W=y.getArrayFromDType(n.dtype,V);for(let H=0;H=0&&it=0&>st&&(st=Dt)}}}let lt=y.locToIndex([H,K,Z,nt],G,y.computeStrides(M));W[lt]=st}}}return{dataId:u.write(y.toTypedArray(W,n.dtype),M,n.dtype),shape:M,dtype:n.dtype}}};var GM={kernelName:Zl,backendName:\"cpu\",kernelFunc:({inputs:r,backend:t,attrs:e})=>{let{x:n,filter:o,dy:s}=r,{strides:i,pad:a,dilations:u}=e,l=t,c=y.toNestedArray(n.shape,l.data.get(n.dataId).values),p=y.toNestedArray(o.shape,l.data.get(o.dataId).values),{batchSize:m,inHeight:f,inWidth:d,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:w,strideWidth:I,filterHeight:N,filterWidth:E,dilationHeight:A,dilationWidth:D,outShape:F}=S.computeDilation2DInfo(n.shape,o.shape,i,a,\"NHWC\",u);y.assert(s.rank===F.length,()=>`Error in ${Zl}, dy must have the same rank as output ${F.length}, but got ${s.rank}`);let M=y.toNestedArray(F,l.data.get(s.dataId).values),V=y.makeZerosNestedTypedArray(o.shape,o.dtype);for(let W=0;W=0&&ot=0&&ftet&&(et=gt,nt=lt,st=it)}}}V[nt][st][Z]+=M[W][q][K][Z]}}}return{dataId:l.write(y.toTypedArray(V,n.dtype),o.shape,o.dtype),shape:o.shape,dtype:o.dtype}}};var WM={kernelName:Yl,backendName:\"cpu\",kernelFunc:({inputs:r,backend:t,attrs:e})=>{let{x:n,filter:o,dy:s}=r,{strides:i,pad:a,dilations:u}=e,l=t,c=y.toNestedArray(n.shape,l.data.get(n.dataId).values),p=y.toNestedArray(o.shape,l.data.get(o.dataId).values),{batchSize:m,inHeight:f,inWidth:d,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:w,strideWidth:I,filterHeight:N,filterWidth:E,dilationHeight:A,dilationWidth:D,outShape:F}=S.computeDilation2DInfo(n.shape,o.shape,i,a,\"NHWC\",u);y.assert(s.rank===F.length,()=>`Error in ${Yl}, dy must have the same rank as output ${F.length}, but got ${s.rank}`);let M=y.toNestedArray(F,l.data.get(s.dataId).values),V=y.makeZerosNestedTypedArray(n.shape,n.dtype);for(let W=0;W=0&&ot=0&&ftet&&(et=gt,nt=ot,st=ft)}}}V[W][nt][st][Z]+=M[W][q][K][Z]}}}return{dataId:l.write(y.toTypedArray(V,n.dtype),n.shape,n.dtype),shape:n.shape,dtype:n.dtype}}};function Bet(r){let{inputs:t,backend:e,attrs:n}=r,{image:o}=t,{canvas:s,options:i}=n,{contextOptions:a,imageOptions:u}=i||{},l=(u==null?void 0:u.alpha)||1,c=(a==null?void 0:a.contextType)||\"2d\";if(c!==\"2d\")throw new Error(`Context type ${a.contextType} is not supported by the CPU backend.`);let p=s.getContext(c,(a==null?void 0:a.contextAttributes)||{});if(p==null)throw new Error(`Could not get the context with ${c} type.`);let[m,f]=o.shape.slice(0,2),d=o.shape.length===2?1:o.shape[2],h=e.data.get(o.dataId).values,g=o.dtype===\"float32\"?255:1,x=new Uint8ClampedArray(f*m*4);for(let w=0;w1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${A}.`)}else if(o.dtype===\"int32\"&&(A<0||A>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${A}.`);d===1?(I[0]=A*g,I[1]=A*g,I[2]=A*g):I[E]=A*g}let N=w*4;x[N+0]=Math.round(I[0]),x[N+1]=Math.round(I[1]),x[N+2]=Math.round(I[2]),x[N+3]=Math.round(I[3])}s.width=f,s.height=m;let b=new ImageData(x,f,m);return p.putImageData(b,0,0),o}var UM={kernelName:Jd,backendName:\"cpu\",kernelFunc:Bet};function $l(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n;tt(o,\"sum\");let a;o.dtype===\"bool\"?a=Fo({inputs:{x:o},backend:e,attrs:{dtype:\"int32\"}}):a=Xr({inputs:{x:o},backend:e});let u=a.shape.length,l=y.parseAxisParam(s,a.shape),c=S.getAxesPermutation(l,u),p=l,m=a;c!=null&&(m=We({inputs:{x:a},backend:e,attrs:{perm:c}}),p=S.getInnerMostAxes(p.length,u)),S.assertAxesAreInnerMostDims(\"sum\",p,m.shape.length);let[f,d]=S.computeOutAndReduceShapes(m.shape,p),h=S.upcastType(m.dtype,\"int32\"),g=pd(e,f,h),x=y.sizeFromShape(d),b=e.data.get(g.dataId).values,w=e.data.get(m.dataId).values;for(let I=0;I=0&&(m=$l({inputs:{x:m},backend:e,attrs:{axis:l[h]-(i.length-f),keepDims:!1}}),d.push(m)),f--)}for(let h of d)h!==m&&e.disposeIntermediateTensorInfo(h);return m}var qM={kernelName:Fp,backendName:\"cpu\",kernelFunc:Vet};function Get(r){let{inputs:t,backend:e}=r,{dy:n,y:o}=t;tt([n,o],\"eluGrad\");let s=new Float32Array(y.sizeFromShape(o.shape)),i=e.data.get(o.dataId).values,a=e.data.get(n.dataId).values;for(let u=0;u=0?s[u]=a[u]:s[u]=a[u]*(l+1)}return e.makeTensorInfo(o.shape,\"float32\",s)}var KM={kernelName:La,backendName:\"cpu\",kernelFunc:Get};var Wet=S.ERF_P,Uet=S.ERF_A1,Het=S.ERF_A2,qet=S.ERF_A3,Ket=S.ERF_A4,jet=S.ERF_A5,Xet=At(us,r=>{let t=Math.sign(r),e=Math.abs(r),n=1/(1+Wet*e);return t*(1-((((jet*n+Ket)*n+qet)*n+Het)*n+Uet)*n*Math.exp(-e*e))}),jM={kernelName:us,backendName:\"cpu\",kernelFunc:Xet};function xd(r){let{inputs:t,backend:e,attrs:n}=r,{input:o}=t,{dim:s}=n,i=o.shape.length,a=o.shape.slice(),u=s;return s<0&&(y.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+s+1),a.splice(u,0,1),te({inputs:{x:o},backend:e,attrs:{shape:a}})}var XM={kernelName:Oi,backendName:\"cpu\",kernelFunc:xd};var Yet=Qt((r,t)=>r/t),Qh=oe(as,Yet),tg={kernelName:as,backendName:\"cpu\",kernelFunc:Qh};function Aw(r,t,e){let n=r.shape,o=n[0],s=n[1],i=e.data.get(r.dataId),a=i.complexTensorInfos.real,u=i.complexTensorInfos.imag,l=[o,s],c=y.sizeFromShape(l),p=y.getTypedArrayFromDType(\"float32\",c),m=y.getTypedArrayFromDType(\"float32\",c);for(let g=0;g{let{image:n}=r,o=e,s=y.getTypedArrayFromDType(n.dtype,y.sizeFromShape(n.shape)),[i,a,u,l]=n.shape,c=o.data.get(n.dataId).values;for(let m=0;m=0&&w=0,()=>`GatherV2: the index value ${N} is not in [0, ${c-1}]`)}let p=a;a==null&&(p=0);let m=y.sizeFromShape(s.shape),f=S.segment_util.collectGatherOpShapeInfo(o,s,u,p),d=te({inputs:{x:o},backend:e,attrs:{shape:[f.batchSize,f.outerSize,f.dimSize,f.sliceSize]}}),h=te({inputs:{x:s},backend:e,attrs:{shape:[f.batchSize,m/f.batchSize]}}),g=[f.batchSize,f.outerSize,m/f.batchSize,f.sliceSize],x=e.bufferSync(h),b=e.bufferSync(d),w=gw(b,x,g);return e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),e.makeTensorInfo(f.outputShape,w.dtype,w.values)}var rP={kernelName:Mi,backendName:\"cpu\",kernelFunc:srt};function irt(r){let{inputs:t,backend:e}=r,{input:n}=t,o=y.sizeFromShape(n.shape),s=n.shape[n.shape.length-1],i=o/s,a=te({inputs:{x:n},backend:e,attrs:{shape:[i,s]}}),u=Aw(a,!0,e),l=te({inputs:{x:u},backend:e,attrs:{shape:n.shape}});return e.disposeIntermediateTensorInfo(a),e.disposeIntermediateTensorInfo(u),l}var nP={kernelName:Mp,backendName:\"cpu\",kernelFunc:irt};var art=At(gs,r=>Number.isFinite(r)?1:0,\"bool\"),oP={kernelName:gs,backendName:\"cpu\",kernelFunc:art};var lrt=At(xs,r=>Math.abs(r)===1/0?1:0,\"bool\"),sP={kernelName:xs,backendName:\"cpu\",kernelFunc:lrt};var urt=At(ys,r=>Number.isNaN(r)?1:0,\"bool\"),iP={kernelName:ys,backendName:\"cpu\",kernelFunc:urt};function crt(r){let{backend:t,attrs:e}=r,{start:n,stop:o,num:s}=e,i=xw(n,o,s);return t.makeTensorInfo([i.length],\"float32\",i)}var aP={kernelName:Ha,backendName:\"cpu\",kernelFunc:crt};var prt=At(Is,r=>Math.log1p(r)),lP={kernelName:Is,backendName:\"cpu\",kernelFunc:prt};var mrt=Qt((r,t)=>r&&t),frt=oe(qa,mrt,null,\"bool\"),uP={kernelName:qa,backendName:\"cpu\",kernelFunc:frt};var drt=At(Ka,r=>r?0:1,\"bool\"),cP={kernelName:Ka,backendName:\"cpu\",kernelFunc:drt};var hrt=Qt((r,t)=>r||t),grt=oe(ja,hrt,null,\"bool\"),pP={kernelName:ja,backendName:\"cpu\",kernelFunc:grt};function xrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{depthRadius:s,bias:i,alpha:a,beta:u}=n;tt(o,\"LRN\");let l=o.shape[3],c=l-1,p=e.data.get(o.dataId).values,m=y.sizeFromShape(o.shape),f=new Float32Array(m);function d(h){let g=h%l,x=h-g+Math.max(0,g-s),b=h-g+Math.min(g+s,c),w=0;for(;x<=b;x++){let I=p[x];w+=I*I}return w}for(let h=0;h`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u),p;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))p=Xr({inputs:{x:o},backend:e});else{let m=e.data.get(o.dataId).values,f=y.computeStrides(o.shape),d=gd(m,o.shape,o.dtype,f,c,\"max\");p=e.makeTensorInfo(c.outShape,o.dtype,d.values)}return p}var hP={kernelName:Ns,backendName:\"cpu\",kernelFunc:brt};function wrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n;tt(o,\"maxPool3d\");let c=S.computePool3DInfo(o.shape,s,i,1,a,u,l),p=e.data.get(o.dataId).values,m=Ew(p,o.shape,o.dtype,y.computeStrides(o.shape),c,\"max\");return e.makeTensorInfo(m.shape,\"float32\",m.values)}var gP={kernelName:Pi,backendName:\"cpu\",kernelFunc:wrt};function Irt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=n;tt([o,s],\"maxPool3DGrad\");let c=S.computePool3DInfo(s.shape,i,a,1,u,l),p=e.bufferSync(s),m=pM(p,c),f=c.strideDepth,d=c.strideHeight,h=c.strideWidth,g=c.dilationDepth,x=c.dilationHeight,b=c.dilationWidth,w=c.effectiveFilterDepth,I=c.effectiveFilterHeight,N=c.effectiveFilterWidth,E=w-1-c.padInfo.front,A=N-1-c.padInfo.left,D=I-1-c.padInfo.top,F=wt(s.shape,\"float32\"),M=e.bufferSync(o);for(let V=0;V=c.outDepth||Math.floor(st)!==st))for(let lt=0;lt=c.outHeight||Math.floor(ot)!==ot))for(let it=0;it=c.outWidth||Math.floor(ft)!==ft)continue;let gt=w*I*N-1-m.get(V,st,ot,ft,G),Ct=nt*I*N+lt*N+it,Rt=gt===Ct?1:0;if(Rt===0)continue;let Dt=M.get(V,st,ot,ft,G);et+=Dt*Rt}}}F.set(et,V,W,q,H,G)}return e.makeTensorInfo(F.shape,F.dtype,F.values)}var xP={kernelName:tu,backendName:\"cpu\",kernelFunc:Irt};function Crt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s,output:i}=t,a=s;tt([s,i],\"maxPoolGrad\");let{filterSize:u,strides:l,pad:c,dimRoundingMode:p}=n,m=S.computePool2DInfo(a.shape,u,l,1,c,p),f=e.data.get(a.dataId).values,d=wt(m.outShape,a.dtype,_w(f,a.shape,a.dtype,m).values),h=m.strideHeight,g=m.strideWidth,x=m.dilationHeight,b=m.dilationWidth,w=m.effectiveFilterHeight,I=m.effectiveFilterWidth,N=I-1-m.padInfo.left,E=w-1-m.padInfo.top,A=wt(a.shape,\"float32\"),D=e.data.get(o.dataId).values,F=wt(o.shape,\"float32\",D);for(let M=0;M=m.outHeight||Math.floor(Z)!==Z))for(let et=0;et=m.outWidth||Math.floor(nt)!==nt)continue;let st=w*I-1-d.get(M,Z,nt,V),lt=Y*I+et,ot=st===lt?1:0;if(ot===0)continue;let it=F.get(M,Z,nt,V);K+=it*ot}}A.set(K,M,G,W,V)}return e.makeTensorInfo(A.shape,A.dtype,A.values)}var yP={kernelName:Ql,backendName:\"cpu\",kernelFunc:Crt};function bP(r,t,e,n,o){let s=y.computeStrides(t),i=gd(r,t,e,s,o,\"max\"),a=_w(r,t,e,o,!0,n);return[i.values,a.values]}var wP={kernelName:eu,backendName:\"cpu\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{x:n}=r,{filterSize:o,strides:s,pad:i,includeBatchInIndex:a}=t,u=e;tt(n,\"MaxPoolWithArgmax\");let l=u.data.get(n.dataId).values,c=S.computePool2DInfo(n.shape,o,s,[1,1],i),[p,m]=bP(l,n.shape,n.dtype,a,c),f=u.write(p,c.outShape,n.dtype),d=u.write(m,c.outShape,n.dtype);return[{dataId:f,shape:c.outShape,dtype:n.dtype},{dataId:d,shape:c.outShape,dtype:\"int32\"}]}};function vrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=y.parseAxisParam(s,o.shape),l=S.computeOutAndReduceShapes(o.shape,a)[1],c=y.sizeFromShape(l),p=[],m=e.makeTensorInfo([],\"float32\",new Float32Array([c]));p.push(m);let f=Fo({inputs:{x:o},backend:e,attrs:{dtype:\"float32\"}});p.push(f);let d=Qh({inputs:{a:f,b:m},backend:e});p.push(d);let h=$l({inputs:{x:d},backend:e,attrs:{axis:s,keepDims:i}});return p.forEach(g=>e.disposeIntermediateTensorInfo(g)),h}var IP={kernelName:ks,backendName:\"cpu\",kernelFunc:vrt};function Srt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n;tt(o,\"min\");let a=y.parseAxisParam(s,o.shape),u=a,l=S.getAxesPermutation(u,o.shape.length),c=o;l!=null&&(c=We({inputs:{x:o},backend:e,attrs:{perm:l}}),u=S.getInnerMostAxes(u.length,o.shape.length)),S.assertAxesAreInnerMostDims(\"min\",u,c.shape.length);let[p,m]=S.computeOutAndReduceShapes(c.shape,u),f=y.sizeFromShape(m),d=y.makeZerosTypedArray(y.sizeFromShape(p),c.dtype),h=e.data.get(c.dataId).values;for(let x=0;xw[0]+o.shape[I]+w[1]),u=s.map(w=>w[0]),l=s.map((w,I)=>w[0]+o.shape[I]),c=i===\"reflect\"?0:1,p=e.data.get(o.dataId).values,m=o.shape.length,f=y.computeStrides(o.shape),d=y.sizeFromShape(a),h=a.length,g=y.computeStrides(a),x=y.getTypedArrayFromDType(o.dtype,d);for(let w=0;w=l[E]&&(I[E]=(l[E]-1)*2-I[E]+c);I=I.map((E,A)=>E-u[A]);let N=y.locToIndex(I,m,f);x[w]=p[N]}return{dataId:e.write(x,a,o.dtype),shape:a,dtype:o.dtype}}var vP={kernelName:Es,backendName:\"cpu\",kernelFunc:Nrt};var krt=Qt((r,t)=>{let e=r%t;return r<0&&t<0||r>=0&&t>=0?e:(e+t)%t}),Trt=oe(As,krt),SP={kernelName:As,backendName:\"cpu\",kernelFunc:Trt};var kP=Gl(dh());function MT(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{dim:s}=n,i=o.shape.length,a=s;if(a===-1&&(a=i-1),a!==i-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${i} and dim was ${a}`);let u=y.parseAxisParam([a],o.shape),l=OT({inputs:{x:o},backend:e,attrs:{reductionIndices:u,keepDims:!1}}),c=S.expandShapeToKeepDim(l.shape,u),p=te({inputs:{x:l},backend:e,attrs:{shape:c}}),m=Zh({inputs:{a:o,b:p},backend:e}),f=sT({inputs:{x:m},backend:e}),d=$l({inputs:{x:f},backend:e,attrs:{axis:u,keepDims:!1}}),h=te({inputs:{x:d},backend:e,attrs:{shape:c}}),g=Qh({inputs:{a:f,b:h},backend:e});return e.disposeIntermediateTensorInfo(l),e.disposeIntermediateTensorInfo(p),e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),g}var NP={kernelName:Qs,backendName:\"cpu\",kernelFunc:MT};function _rt(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{numSamples:s,seed:i,normalized:a}=n;tt(o,\"multinomial\");let u=a?o:MT({inputs:{logits:o},backend:e,attrs:{dim:-1}}),l=u.shape[0],c=u.shape[1],p=e.data.get(u.dataId).values,m=[l,s],f=y.makeZerosTypedArray(y.sizeFromShape(m),\"int32\");for(let d=0;d=0&&p[m]{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(i===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let a=[],u=t.map(c=>{let p=xd({inputs:{input:c},backend:e,attrs:{dim:o}});return a.push(p),p}),l=Gu({inputs:u,backend:e,attrs:{axis:o}});return a.forEach(c=>e.disposeIntermediateTensorInfo(c)),l}var OP={kernelName:Bi,backendName:\"cpu\",kernelFunc:PT};function Mrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{paddings:s,constantValue:i}=n;tt(o,\"pad\");let a=s.map((b,w)=>b[0]+o.shape[w]+b[1]),u=s.map(b=>b[0]),l=e.data.get(o.dataId).values,c=y.sizeFromShape(o.shape),p=o.shape.length,m=y.computeStrides(o.shape),f=y.sizeFromShape(a),d=a.length,h=y.computeStrides(a),g=y.getTypedArrayFromDType(o.dtype,f);i!==0&&g.fill(i);for(let b=0;bE+u[A]),N=y.locToIndex(I,d,h);g[N]=l[b]}return{dataId:e.write(g,a,o.dtype),shape:a,dtype:o.dtype}}var Dw={kernelName:Rs,backendName:\"cpu\",kernelFunc:Mrt};var Prt=Qt((r,t)=>Math.pow(r,t)),Lrt=oe(Fs,Prt),MP={kernelName:Fs,backendName:\"cpu\",kernelFunc:Lrt};function zrt(r){let{inputs:t,backend:e,attrs:n}=r,{paramsNestedSplits:o,paramsDenseValues:s,indices:i}=t,{outputRaggedRank:a}=n,u=o.map(x=>e.data.get(x.dataId).values),l=o.map(x=>x.shape),c=e.data.get(s.dataId).values,p=e.data.get(i.dataId).values,[m,f,d]=bw(u,l,c,s.shape,s.dtype,p,i.shape,a),h=m.map(x=>e.makeTensorInfo([x.length],\"int32\",x)),g=e.makeTensorInfo(d,s.dtype,f);return h.concat([g])}var PP={kernelName:Lp,backendName:\"cpu\",kernelFunc:zrt};function Brt(r){let{inputs:t,backend:e}=r,{starts:n,limits:o,deltas:s}=t,i=e.data.get(n.dataId).values,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,[l,c]=ww(i,n.shape,n.dtype,a,o.shape,u,s.shape),p=e.makeTensorInfo([l.length],\"int32\",l),m=e.makeTensorInfo([c.length],n.dtype,c);return[p,m]}var LP={kernelName:zp,backendName:\"cpu\",kernelFunc:Brt};function Vrt(r){let{inputs:t,backend:e,attrs:n}=r,{shape:o,values:s,defaultValue:i,rowPartitionTensors:a}=t,{rowPartitionTypes:u}=n,l=e.data.get(o.dataId).values,c=e.data.get(s.dataId).values,p=e.data.get(i.dataId).values,m=a.map(g=>e.data.get(g.dataId).values),f=a.map(g=>g.shape),[d,h]=Iw(l,o.shape,c,s.shape,s.dtype,p,i.shape,m,f,u);return e.makeTensorInfo(d,s.dtype,h)}var zP={kernelName:Bp,backendName:\"cpu\",kernelFunc:Vrt};function Grt(r){let{backend:t,attrs:e}=r,{start:n,stop:o,dtype:s,step:i}=e,a=tp(n,o,i,s);return t.makeTensorInfo([a.length],s,a)}var BP={kernelName:ru,backendName:\"cpu\",kernelFunc:Grt};var Wrt=At(Ps,r=>1/r),VP={kernelName:Ps,backendName:\"cpu\",kernelFunc:Wrt};function Urt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:i,size:a}=n;tt(o,\"resizeBilinear\");let u=y.computeStrides(o.shape),[l,c]=a,[p,m,f,d]=o.shape,h=e.data.get(o.dataId).values,g=new Float32Array(y.sizeFromShape([p,l,c,d])),x=[s&&l>1?m-1:m,s&&c>1?f-1:f],b=[s&&l>1?l-1:l,s&&c>1?c-1:c],w=0,I=x[0]/b[0],N=x[1]/b[1];for(let E=0;E1?l-1:l,i&&f>1?c-1:c],g=[i&&m>1?m-1:m,i&&f>1?f-1:f],x=h[0]/g[0],b=h[1]/g[1],w=e.data.get(s.dataId).values,I=0;for(let N=0;N1?m-1:m,s&&c>1?f-1:f],b=[s&&l>1?l-1:l,s&&c>1?c-1:c],w=x[0]/b[0],I=x[1]/b[1],N=0;for(let E=0;E1?c-1:c,i&&d>1?p-1:p],b=[i&&f>1?f-1:f,i&&d>1?d-1:d],w=x[0]/b[0],I=x[1]/b[1],N=1/w,E=1/I,A=Math.ceil(N)*2+2,D=Math.ceil(E)*2+2;for(let F=0;F=f)continue;let ot=M+lt*u[1],it=lt*w,ft=Math.min(c-1,i?Math.round(it):Math.floor(it));if(V===ft)for(let gt=0;gt=d)continue;let Rt=ot+Ct*u[2],Dt=Ct*I,Ht=Math.min(p-1,i?Math.round(Dt):Math.floor(Dt));H===Ht&&(nt+=g[Rt+et])}}h[K+et]=nt}}}}return e.makeTensorInfo(o.shape,o.dtype,h)}var HP={kernelName:el,backendName:\"cpu\",kernelFunc:Krt};function jrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dims:s}=n;tt(o,\"reverse\");let i=o.shape.length,a=y.parseAxisParam(s,o.shape);if(i===0)return Xr({inputs:{x:o},backend:e});let u=new le(o.shape,o.dtype),l=e.bufferSync(o);for(let c=0;cm[f]=o.shape[f]-1-m[f]),u.set(l.get(...m),...p)}return e.makeTensorInfo(u.shape,u.dtype,u.values)}var qP={kernelName:Gs,backendName:\"cpu\",kernelFunc:jrt};var KP={kernelName:pl,backendName:\"cpu\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{image:n}=r,{radians:o,fillValue:s,center:i}=t,a=e,u=y.getTypedArrayFromDType(n.dtype,y.sizeFromShape(n.shape)),[l,c,p,m]=n.shape,[f,d]=S.getImageCenter(i,c,p),h=255,g=Math.sin(o),x=Math.cos(o),b=a.data.get(n.dataId).values;for(let I=0;I=0&&q=0&&H{let t=Math.floor(r);return r-t<.5?Math.floor(r):r-t>.5?Math.ceil(r):t%2===0?t:t+1}),jP={kernelName:Ws,backendName:\"cpu\",kernelFunc:Xrt};function Yrt(r){let{inputs:t,backend:e,attrs:n}=r,{indices:o,updates:s}=t,{shape:i}=n,{sliceRank:a,numUpdates:u,sliceSize:l,strides:c,outputSize:p}=S.calculateShapes(s,o,i),m=!0,f=e.bufferSync(o),d=e.bufferSync(s),h=Ii(f,d,i,p,l,u,a,c,0,m);return e.makeTensorInfo(i,h.dtype,h.values)}var XP={kernelName:nl,backendName:\"cpu\",kernelFunc:Yrt};function Zrt(r,t){let e=0,n=r.length,o=0;for(;e1||o.shape.length===1?1:y.sizeFromShape(o.shape.slice(1));for(let d=0;dr>=0?rnt*r:ent*(Math.exp(r)-1)),QP={kernelName:Hs,backendName:\"cpu\",kernelFunc:nnt};var ont=At(js,r=>r<0?-1:r>0?1:0),tL={kernelName:js,backendName:\"cpu\",kernelFunc:ont};var snt=At(qs,r=>Math.sin(r)),eL={kernelName:qs,backendName:\"cpu\",kernelFunc:snt};var int=At(Ks,r=>Math.sinh(r)),rL={kernelName:Ks,backendName:\"cpu\",kernelFunc:int};var ant=11920928955078125e-23,nL=Math.log(ant)+2,lnt=At(Ys,r=>{let t=r>-nL,e=rNumber(g)))),e.makeTensorInfo([h.length],n.dtype,new Int32Array(h))]}var iL={kernelName:nu,backendName:\"cpu\",kernelFunc:cnt};function pnt(r){let{inputs:t,backend:e}=r,{inputIndices:n,inputShape:o,newShape:s}=t;if(n.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape\n ${n.shape}`);if(o.shape.length!==1)throw new Error(`Input shape should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=Array.from(e.data.get(o.dataId).values),a=e.data.get(n.dataId).values,u=Array.from(e.data.get(s.dataId).values),[l,c,p]=vw(a,n.shape,n.dtype,i,u);return[e.makeTensorInfo(c,n.dtype,l),e.makeTensorInfo([p.length],s.dtype,new Int32Array(p))]}var aL={kernelName:il,backendName:\"cpu\",kernelFunc:pnt};function mnt(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(o.shape[0]!==s.shape[0])throw new Error(\"segmentIds and indices should have same size.\");let i=e.data.get(n.dataId).values,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,[l,c]=hd(i,n.shape,n.dtype,a,u,!0);return e.makeTensorInfo(c,n.dtype,l)}var lL={kernelName:ou,backendName:\"cpu\",kernelFunc:mnt};function fnt(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(o.shape[0]!==s.shape[0])throw new Error(\"segmentIds and indices should have same size.\");let i=e.data.get(n.dataId).values,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,[l,c]=hd(i,n.shape,n.dtype,a,u);return e.makeTensorInfo(c,n.dtype,l)}var uL={kernelName:su,backendName:\"cpu\",kernelFunc:fnt};function dnt(r){let{inputs:t,backend:e,attrs:n}=r,{sparseIndices:o,sparseValues:s,defaultValue:i}=t,{outputShape:a}=n,{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=S.calculateShapes(s,o,a),f=!1,d=e.bufferSync(o),h;switch(s.dtype){case\"bool\":{let g=e.bufferSync(s),x=!!e.data.get(i.dataId).values[0];h=Ii(d,g,a,m,c,l,u,p,x,f);break}case\"float32\":{let g=e.bufferSync(s),x=e.data.get(i.dataId).values[0];h=Ii(d,g,a,m,c,l,u,p,x,f);break}case\"int32\":{let g=e.bufferSync(s),x=e.data.get(i.dataId).values[0];h=Ii(d,g,a,m,c,l,u,p,x,f);break}case\"string\":{let g=e.bufferSync(s),x=y.decodeString(e.data.get(i.dataId).values[0]);h=Ii(d,g,a,m,c,l,u,p,x,f);break}default:throw new Error(`Unsupported type ${s.dtype}`)}return e.makeTensorInfo(a,h.dtype,h.values)}var cL={kernelName:al,backendName:\"cpu\",kernelFunc:dnt};function hnt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{numOrSizeSplits:s,axis:i}=n,a=y.parseAxisParam(i,o.shape)[0],u=S.prepareSplitSize(o,s,a),l=new Array(o.shape.length).fill(0),c=o.shape.slice();return u.map(p=>{let m=[...c];m[a]=p;let f=Mo({inputs:{x:o},backend:e,attrs:{begin:l,size:m}});return l[a]+=p,f})}var pL={kernelName:Hi,backendName:\"cpu\",kernelFunc:hnt};var mL={kernelName:iu,backendName:\"cpu\",kernelFunc:({inputs:r,backend:t})=>{let{x:e}=r,n=t;tt(e,\"square\");let o=n.data.get(e.dataId).values,s=new Float32Array(o.length);for(let a=0;a{let e=t;return isNaN(r)?NaN:r>0?1:e.alpha}),fL={kernelName:xo,backendName:\"cpu\",kernelFunc:gnt};function xnt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,end:i,strides:a,beginMask:u,endMask:l,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n;tt(o,\"stridedSlice\");let{finalShapeSparse:f,finalShape:d,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:w,strides:I}=Be.sliceInfo(o.shape,s,i,a,u,l,c,p,m),N;if(h)N=te({inputs:{x:o},backend:e,attrs:{shape:d}});else if(g||x){y.assert(o.shape.length>=1,()=>`Input must have rank at least 1, got: ${o.shape.length}`);let E=Be.computeOutShape(b,w,I),A=Mo({inputs:{x:o},backend:e,attrs:{begin:b,size:E}});N=te({inputs:{x:A},backend:e,attrs:{shape:d}}),e.disposeIntermediateTensorInfo(A)}else{let E=e.bufferSync(o),A=Sw(f,E,I,b);N=e.makeTensorInfo(d,A.dtype,A.values)}return N}var dL={kernelName:ll,backendName:\"cpu\",kernelFunc:xnt};function ynt(r){let{inputs:t,backend:e,attrs:n}=r,{separator:o,nGramWidths:s,leftPad:i,rightPad:a,padWidth:u,preserveShortSequences:l}=n,{data:c,dataSplits:p}=t,m=e.data.get(c.dataId).values,f=e.data.get(p.dataId).values,[d,h]=rp(m,f,o,s,i,a,u,l);return[e.makeTensorInfo([d.length],\"string\",d),e.makeTensorInfo(p.shape,\"int32\",h)]}var hL={kernelName:au,backendName:\"cpu\",kernelFunc:ynt};function bnt(r){let{inputs:t,backend:e,attrs:n}=r,{skipEmpty:o}=n,{input:s,delimiter:i}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(s.shape.length!==1)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(i.shape.length!==0)throw new Error(`Delimiter must be a scalar, got shape: ${i.shape}`);let a=e.data.get(s.dataId).values,u=e.data.get(i.dataId).values[0],[l,c,p]=np(a,u,o),m=c.length;return[e.makeTensorInfo([m,2],\"int32\",l),e.makeTensorInfo([m],\"string\",c),e.makeTensorInfo([2],\"int32\",new Int32Array(p))]}var gL={kernelName:lu,backendName:\"cpu\",kernelFunc:bnt};function wnt(r){let{inputs:t,backend:e,attrs:n}=r,{numBuckets:o}=n,{input:s}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(o<=0)throw new Error(\"Number of buckets must be at least 1\");let i=e.data.get(s.dataId).values,a=op(i,o);return e.makeTensorInfo(s.shape,\"int32\",a)}var xL={kernelName:uu,backendName:\"cpu\",kernelFunc:wnt};var Int=At(ri,r=>Math.tan(r)),yL={kernelName:ri,backendName:\"cpu\",kernelFunc:Int};var Cnt=At(ni,r=>Math.tanh(r)),bL={kernelName:ni,backendName:\"cpu\",kernelFunc:Cnt};function vnt(r){let{inputs:t,backend:e}=r,{tensor:n,indices:o,updates:s}=t,{sliceRank:i,numUpdates:a,sliceSize:u,strides:l,outputSize:c}=S.calculateShapes(s,o,n.shape),p=!1,m=e.bufferSync(o),f=e.bufferSync(s),d=e.bufferSync(n),h=Ii(m,f,n.shape,c,u,a,i,l,d,p);return e.makeTensorInfo(n.shape,h.dtype,h.values)}var wL={kernelName:ol,backendName:\"cpu\",kernelFunc:vnt};function Snt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{reps:s}=n;tt(o,\"tile\");let i=Nw(e.bufferSync(o),s);return e.makeTensorInfo(i.shape,i.dtype,i.values)}var IL={kernelName:oo,backendName:\"cpu\",kernelFunc:Snt};function Nnt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{k:s,sorted:i}=n;tt(o,\"topk\");let a=e.data.get(o.dataId).values,[u,l]=kw(a,o.shape,o.dtype,s,i);return[e.makeTensorInfo(u.shape,u.dtype,u.values),e.makeTensorInfo(l.shape,l.dtype,l.values)]}var CL={kernelName:ul,backendName:\"cpu\",kernelFunc:Nnt};function knt(r){let{inputs:t,attrs:e,backend:n}=r,{image:o,transforms:s}=t,{interpolation:i,fillMode:a,fillValue:u,outputShape:l}=e,[c,p,m,f]=o.shape,[d,h]=l!=null?l:[p,m],g=[c,d,h,f],x=y.computeStrides(o.shape),b=x[0],w=x[1],I=x[2],N=y.computeStrides(g),E=N[0],A=N[1],D=N[2],F=y.getTypedArrayFromDType(o.dtype,y.sizeFromShape(g));F.fill(u);let M=n.data.get(o.dataId).values,V=n.data.get(s.dataId).values;for(let W=0;Wt-1)if(t<=1)e=0;else{let n=2*t;e-=n*Math.trunc(e/n),e>=t&&(e=n-e-1)}return y.clamp(0,e,t-1)}function _nt(r,t){let e=r;if(e<0)if(t<=1)e=0;else{let n=t-1;e+=t*(Math.trunc(-e/n)+1)}else if(e>t-1)if(t<=1)e=0;else{let n=t-1;e-=t*Math.trunc(e/n)}return y.clamp(0,e,t-1)}function Ent(r,t){return r}function Ant(r,t){return y.clamp(0,r,t-1)}function ng(r,t,e,n,o,s,i,a,u,l,c){let p=i*n+a*o+u*s+l;return 0<=a&&ae.disposeIntermediateTensorInfo(d)),f}var TL={kernelName:pu,backendName:\"cpu\",kernelFunc:Ont};var Mnt=[JO,sO,QO,tM,cO,eM,rM,nM,oM,sM,iM,aM,lM,uM,cM,mM,fM,dM,hM,ZO,gM,xM,yM,pO,bM,uO,mO,wM,iO,IM,vM,SM,NM,kM,TM,_M,EM,AM,DM,$M,RM,FM,OM,MM,PM,LM,zM,BM,VM,GM,WM,UM,qM,HO,KM,fO,jM,dO,XM,hO,YM,ZM,JM,gO,xO,QM,tP,eP,rP,yO,bO,aO,nP,CM,oP,sP,iP,qO,wO,IO,aP,CO,lP,uP,cP,pP,mP,fP,dP,vO,hP,gP,xP,yP,wP,IP,CP,SO,vP,SP,TP,NO,kO,_P,EP,AP,TO,DP,FP,OP,Dw,MP,KO,EO,PP,LP,zP,BP,lO,tg,VP,jO,XO,YO,GP,WP,UP,HP,qP,KP,jP,FO,XP,ZP,JP,QP,MO,tL,eL,rL,PO,NP,oL,sL,iL,aL,lL,uL,cL,pL,zO,mL,BO,VO,fL,dL,hL,gL,xL,GO,HM,yL,bL,wL,IL,CL,SL,_O,NL,kL,TL,$P];for(let r of Mnt)rc(r);var Id={};Kt(Id,{assertNotComplex:()=>Ci,bindCanvasToFramebuffer:()=>Hnt,bindColorTextureToFramebuffer:()=>ag,bindTextureToProgramUniformSampler:()=>QT,bindTextureUnit:()=>DL,bindVertexBufferToProgramAttribute:()=>Pw,callAndCheck:()=>ht,canBeRepresented:()=>VT,createFragmentShader:()=>WT,createFramebuffer:()=>YT,createProgram:()=>UT,createStaticIndexBuffer:()=>KT,createStaticVertexBuffer:()=>qT,createTexture:()=>jT,createVertexShader:()=>GT,getBatchDim:()=>Fl,getExtensionOrThrow:()=>yd,getFramebufferErrorMessage:()=>$L,getMaxTexturesInShader:()=>r1,getNumChannels:()=>Wnt,getProgramUniformLocation:()=>JT,getProgramUniformLocationOrThrow:()=>ZT,getRowsCols:()=>Ol,getShapeAs3D:()=>wd,getTextureShapeFromLogicalShape:()=>t1,getWebGLDisjointQueryTimerVersion:()=>n1,getWebGLErrorMessage:()=>AL,getWebGLMaxTextureSize:()=>e1,hasExtension:()=>Kn,isCapableOfRenderingToFloatTexture:()=>o1,isDownloadFloatTextureEnabled:()=>s1,isReshapeFree:()=>Uu,isWebGLFenceEnabled:()=>i1,isWebGLVersionEnabled:()=>zw,linkProgram:()=>HT,logShaderSourceAndInfoLog:()=>Mw,resetMaxTextureSize:()=>qnt,resetMaxTexturesInShader:()=>Knt,unbindColorTextureFromFramebuffer:()=>Lw,unbindTextureUnit:()=>Unt,validateFramebuffer:()=>bd,validateProgram:()=>ig,validateTextureSize:()=>XT});var ap={},$w={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function LT(r,t){ap[r]=t}function qn(r,t){if(!(r in ap)||t!=null){let n=Lnt(r,t);if(n!==null)ap[r]=n;else return console.log(\"Could not get context for WebGL version\",r),null}let e=ap[r];return e==null||e.isContextLost()?(delete ap[r],qn(r)):(e.disable(e.DEPTH_TEST),e.disable(e.STENCIL_TEST),e.disable(e.BLEND),e.disable(e.DITHER),e.disable(e.POLYGON_OFFSET_FILL),e.disable(e.SAMPLE_COVERAGE),e.enable(e.SCISSOR_TEST),e.enable(e.CULL_FACE),e.cullFace(e.BACK),ap[r])}function Pnt(r){if(!L().getBool(\"IS_SAFARI\")&&typeof OffscreenCanvas!=\"undefined\"&&r===2)return new OffscreenCanvas(300,150);if(typeof document!=\"undefined\")return document.createElement(\"canvas\");throw new Error(\"Cannot create a canvas in this context\")}function Lnt(r,t){if(r!==1&&r!==2)throw new Error(\"Cannot get WebGL rendering context, WebGL is disabled.\");let e=t==null?Pnt(r):t;return e.addEventListener(\"webglcontextlost\",n=>{n.preventDefault(),delete ap[r]},!1),L().getBool(\"SOFTWARE_WEBGL_ENABLED\")&&($w.failIfMajorPerformanceCaveat=!1),r===1?e.getContext(\"webgl\",$w)||e.getContext(\"experimental-webgl\",$w):e.getContext(\"webgl2\",$w)}var Wu;(function(r){r[r.DENSE=0]=\"DENSE\",r[r.SHARED_BATCH=1]=\"SHARED_BATCH\"})(Wu||(Wu={}));var Yr;(function(r){r[r.RENDER=0]=\"RENDER\",r[r.UPLOAD=1]=\"UPLOAD\",r[r.PIXELS=2]=\"PIXELS\",r[r.DOWNLOAD=3]=\"DOWNLOAD\"})(Yr||(Yr={}));var Pr;(function(r){r[r.UNPACKED_FLOAT16=0]=\"UNPACKED_FLOAT16\",r[r.UNPACKED_FLOAT32=1]=\"UNPACKED_FLOAT32\",r[r.PACKED_4X1_UNSIGNED_BYTE=2]=\"PACKED_4X1_UNSIGNED_BYTE\",r[r.PACKED_2X2_FLOAT32=3]=\"PACKED_2X2_FLOAT32\",r[r.PACKED_2X2_FLOAT16=4]=\"PACKED_2X2_FLOAT16\"})(Pr||(Pr={}));function lp(r,t){return[t,r]}function _L(r,t){return r*t}function og(r){let t=y.sizeFromShape(r),e=Math.ceil(t/4);return y.sizeToSquarishShape(e)}function wa(r,t){return[Math.max(1,Math.ceil(t/2)),Math.max(1,Math.ceil(r/2))]}function EL(r,t){let[e,n]=wa(r,t);return e*n*4}function sg(r,t){let e=r,n,o,s,i,a,u,l,c,p,m;return L().getNumber(\"WEBGL_VERSION\")===2?(n=e.R32F,o=e.R16F,s=e.RGBA16F,i=e.RGBA32F,a=e.RED,l=4,c=1,p=e.HALF_FLOAT,m=e.FLOAT,u=e.RGBA8):(n=r.RGBA,o=r.RGBA,s=r.RGBA,i=e.RGBA,a=r.RGBA,l=4,c=4,p=t!=null?t.HALF_FLOAT_OES:null,m=r.FLOAT,u=r.RGBA),{internalFormatFloat:n,internalFormatHalfFloat:o,internalFormatPackedHalfFloat:s,internalFormatPackedFloat:i,textureFormatFloat:a,downloadTextureFormat:u,downloadUnpackNumChannels:l,defaultNumChannels:c,textureTypeHalfFloat:p,textureTypeFloat:m}}function ht(r,t){let e=t();return L().getBool(\"DEBUG\")&&znt(r),e}function znt(r){let t=r.getError();if(t!==r.NO_ERROR)throw new Error(\"WebGL Error: \"+AL(r,t))}var Bnt=596e-10,Vnt=65504;function VT(r){return!!(L().getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")||r===0||Bntr.getExtension(t),'Extension \"'+t+'\" not supported on this browser.')}function GT(r,t){let e=Rl(r,()=>r.createShader(r.VERTEX_SHADER),\"Unable to create vertex WebGLShader.\");if(ht(r,()=>r.shaderSource(e,t)),ht(r,()=>r.compileShader(e)),r.getShaderParameter(e,r.COMPILE_STATUS)===!1)throw console.log(r.getShaderInfoLog(e)),new Error(\"Failed to compile vertex shader.\");return e}function WT(r,t){let e=Rl(r,()=>r.createShader(r.FRAGMENT_SHADER),\"Unable to create fragment WebGLShader.\");if(ht(r,()=>r.shaderSource(e,t)),ht(r,()=>r.compileShader(e)),L().get(\"ENGINE_COMPILE_ONLY\"))return e;if(r.getShaderParameter(e,r.COMPILE_STATUS)===!1)throw Mw(t,r.getShaderInfoLog(e)),new Error(\"Failed to compile fragment shader.\");return e}var Gnt=/ERROR: [0-9]+:([0-9]+):/g;function Mw(r,t){let e=Gnt.exec(t);if(e==null){console.log(`Couldn't parse line number in error: ${t}`),console.log(r);return}let n=+e[1],o=r.split(`\n`),s=o.length.toString().length+2,i=o.map((p,m)=>y.rightPad((m+1).toString(),s)+p),a=0;for(let p=0;pr.createProgram(),\"Unable to create WebGLProgram.\")}function HT(r,t){if(ht(r,()=>r.linkProgram(t)),!L().get(\"ENGINE_COMPILE_ONLY\")&&r.getProgramParameter(t,r.LINK_STATUS)===!1)throw console.log(r.getProgramInfoLog(t)),new Error(\"Failed to link vertex and fragment shaders.\")}function ig(r,t){if(ht(r,()=>r.validateProgram(t)),r.getProgramParameter(t,r.VALIDATE_STATUS)===!1)throw console.log(r.getProgramInfoLog(t)),new Error(\"Shader program validation failed.\")}function qT(r,t){let e=Rl(r,()=>r.createBuffer(),\"Unable to create WebGLBuffer\");return ht(r,()=>r.bindBuffer(r.ARRAY_BUFFER,e)),ht(r,()=>r.bufferData(r.ARRAY_BUFFER,t,r.STATIC_DRAW)),e}function KT(r,t){let e=Rl(r,()=>r.createBuffer(),\"Unable to create WebGLBuffer\");return ht(r,()=>r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,e)),ht(r,()=>r.bufferData(r.ELEMENT_ARRAY_BUFFER,t,r.STATIC_DRAW)),e}function Wnt(){return L().getNumber(\"WEBGL_VERSION\")===2?1:4}function jT(r){return Rl(r,()=>r.createTexture(),\"Unable to create WebGLTexture.\")}function XT(r,t){let e=L().getNumber(\"WEBGL_MAX_TEXTURE_SIZE\");if(r<=0||t<=0){let n=`[${r}x${t}]`;throw new Error(\"Requested texture size \"+n+\" is invalid.\")}if(r>e||t>e){let n=`[${r}x${t}]`,o=`[${e}x${e}]`;throw new Error(\"Requested texture size \"+n+\" greater than WebGL maximum on this browser / GPU \"+o+\".\")}}function YT(r){return Rl(r,()=>r.createFramebuffer(),\"Unable to create WebGLFramebuffer.\")}function Pw(r,t,e,n,o,s,i){let a=r.getAttribLocation(t,e);return a===-1?!1:(ht(r,()=>r.bindBuffer(r.ARRAY_BUFFER,n)),ht(r,()=>r.vertexAttribPointer(a,o,r.FLOAT,!1,s,i)),ht(r,()=>r.enableVertexAttribArray(a)),!0)}function DL(r,t,e){RL(r,e),ht(r,()=>r.activeTexture(r.TEXTURE0+e)),ht(r,()=>r.bindTexture(r.TEXTURE_2D,t))}function Unt(r,t){RL(r,t),ht(r,()=>r.activeTexture(r.TEXTURE0+t)),ht(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function ZT(r,t,e){return Rl(r,()=>r.getUniformLocation(t,e),'uniform \"'+e+'\" not present in program.')}function JT(r,t,e){return r.getUniformLocation(t,e)}function QT(r,t,e,n){ht(r,()=>DL(r,t,n)),ht(r,()=>r.uniform1i(e,n))}function Hnt(r){ht(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,null)),ht(r,()=>r.viewport(0,0,r.canvas.width,r.canvas.height)),ht(r,()=>r.scissor(0,0,r.canvas.width,r.canvas.height))}function ag(r,t,e){ht(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,e)),ht(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,t,0))}function Lw(r,t){ht(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,t)),ht(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,null,0))}function bd(r){let t=r.checkFramebufferStatus(r.FRAMEBUFFER);if(t!==r.FRAMEBUFFER_COMPLETE)throw new Error(\"Error binding framebuffer: \"+$L(r,t))}function $L(r,t){switch(t){case r.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\";case r.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\";case r.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\";case r.FRAMEBUFFER_UNSUPPORTED:return\"FRAMEBUFFER_UNSUPPORTED\";default:return`unknown error ${t}`}}function Rl(r,t,e){let n=ht(r,()=>t());if(n==null)throw new Error(e);return n}function RL(r,t){let e=r.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,n=t+r.TEXTURE0;if(ne){let o=`[gl.TEXTURE0, gl.TEXTURE${e}]`;throw new Error(`textureUnit must be in ${o}.`)}}function Fl(r,t=2){return y.sizeFromShape(r.slice(0,r.length-t))}function Ol(r){if(r.length===0)throw Error(\"Cannot get rows and columns of an empty shape array.\");return[r.length>1?r[r.length-2]:1,r[r.length-1]]}function wd(r){let t=[1,1,1];return r.length===0||r.length===1&&r[0]===1||(t=[Fl(r),...Ol(r)]),t}function t1(r,t=!1){let e=L().getNumber(\"WEBGL_MAX_TEXTURE_SIZE\"),n=L().getNumber(\"WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE\");n===1/0&&L().getBool(\"WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE\")&&(n=e/2),t&&(e=e*2,n=n*2,r=r.map((a,u)=>u>=r.length-2?y.nearestLargerEven(r[u]):r[u]),r.length===1&&(r=[2,r[0]])),r.length!==2&&(r=y.squeezeShape(r).newShape);let o=y.sizeFromShape(r),s=null;r.length<=1&&o<=e?s=[1,o]:r.length===2&&r[0]<=e&&r[1]<=e?s=r:r.length===3&&r[0]*r[1]<=e&&r[2]<=e?s=[r[0]*r[1],r[2]]:r.length===3&&r[0]<=e&&r[1]*r[2]<=e?s=[r[0],r[1]*r[2]]:r.length===4&&r[0]*r[1]*r[2]<=e&&r[3]<=e?s=[r[0]*r[1]*r[2],r[3]]:r.length===4&&r[0]<=e&&r[1]*r[2]*r[3]<=e&&(s=[r[0],r[1]*r[2]*r[3]]);let i=s!=null&&Math.max(...s)>n&&Math.min(...s)<=(t?2:1)&&Math.min(...s)>0;if(s==null||i)if(t){let a=Fl(r),u=2,l=2;r.length&&([u,l]=Ol(r)),o=a*(u/2)*(l/2),s=y.sizeToSquarishShape(o).map(c=>c*2)}else s=y.sizeToSquarishShape(o);return s}function Rw(r){return r%2===0}function Uu(r,t){if(r=r.slice(-2),t=t.slice(-2),y.arraysEqual(r,t)||!r.length||!t.length||r[0]===0||r[1]===0||t[0]===0||t[1]===0)return!0;if(r.length!==t.length){let e=r[r.length-1],n=t[t.length-1];if(e===n||Rw(e)&&Rw(n)&&(r[0]===1||t[0]===1))return!0}return r[1]===t[1]&&Rw(r[0])&&Rw(t[0])}var Fw,Ow;function e1(r){if(Fw==null){let t=qn(r);Fw=t.getParameter(t.MAX_TEXTURE_SIZE)}return Fw}function qnt(){Fw=null}function Knt(){Ow=null}function r1(r){if(Ow==null){let t=qn(r);Ow=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,Ow)}function n1(r){if(r===0)return 0;let t,e=qn(r);return Kn(e,\"EXT_disjoint_timer_query_webgl2\")&&r===2?t=2:Kn(e,\"EXT_disjoint_timer_query\")?t=1:t=0,t}function Kn(r,t){return r.getExtension(t)!=null}function zw(r){try{if(qn(r)!=null)return!0}catch(t){return console.log(\"Error when getting WebGL context: \",t),!1}return!1}function o1(r){if(r===0)return!1;let t=qn(r);if(r===1){if(!Kn(t,\"OES_texture_float\"))return!1}else if(!Kn(t,\"EXT_color_buffer_float\"))return!1;return BT(t)}function s1(r){if(r===0)return!1;let t=qn(r);if(r===1){if(!Kn(t,\"OES_texture_float\")||!Kn(t,\"WEBGL_color_buffer_float\"))return!1}else{if(Kn(t,\"EXT_color_buffer_float\"))return BT(t);let n=\"EXT_color_buffer_half_float\";if(Kn(t,n)){let o=t.getExtension(n);return jnt(t,o)}return!1}return BT(t)}function BT(r){let t=sg(r),e=r.createTexture();r.bindTexture(r.TEXTURE_2D,e),r.texImage2D(r.TEXTURE_2D,0,t.internalFormatFloat,1,1,0,t.textureFormatFloat,t.textureTypeFloat,null);let s=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,s),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,e,0);let i=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(e),r.deleteFramebuffer(s),i}function jnt(r,t){let e=sg(r,t),n=r.createTexture();r.bindTexture(r.TEXTURE_2D,n),r.texImage2D(r.TEXTURE_2D,0,e.internalFormatHalfFloat,1,1,0,e.textureFormatFloat,e.textureTypeHalfFloat,null);let i=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,i),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,n,0);let a=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(n),r.deleteFramebuffer(i),a}function i1(r){return r!==2?!1:qn(r).fenceSync!=null}function Ci(r,t){Array.isArray(r)||(r=[r]),r.forEach(e=>{e!=null&&y.assert(e.dtype!==\"complex64\",()=>`${t} does not support complex64 tensors in the WebGL backend.`)})}var kt=L();kt.registerFlag(\"HAS_WEBGL\",()=>kt.getNumber(\"WEBGL_VERSION\")>0);kt.registerFlag(\"WEBGL_VERSION\",()=>zw(2)?2:zw(1)?1:0);kt.registerFlag(\"WEBGL_CHECK_NUMERICAL_PROBLEMS\",()=>!1);kt.registerFlag(\"WEBGL_BUFFER_SUPPORTED\",()=>kt.get(\"WEBGL_VERSION\")===2);kt.registerFlag(\"WEBGL_CPU_FORWARD\",()=>!0);kt.registerFlag(\"WEBGL_FORCE_F16_TEXTURES\",()=>!1);kt.registerFlag(\"WEBGL_PACK\",()=>kt.getBool(\"HAS_WEBGL\"));kt.registerFlag(\"WEBGL_PACK_NORMALIZATION\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_CLIP\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_DEPTHWISECONV\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_BINARY_OPERATIONS\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_UNARY_OPERATIONS\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_ARRAY_OPERATIONS\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_IMAGE_OPERATIONS\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_REDUCE\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_LAZILY_UNPACK\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_CONV_IM2COL\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_PACK_CONV2DTRANSPOSE\",()=>kt.getBool(\"WEBGL_PACK\"));kt.registerFlag(\"WEBGL_MAX_TEXTURE_SIZE\",()=>e1(kt.getNumber(\"WEBGL_VERSION\")));kt.registerFlag(\"WEBGL_MAX_TEXTURES_IN_SHADER\",()=>r1(kt.getNumber(\"WEBGL_VERSION\")));kt.registerFlag(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\",()=>{let r=kt.getNumber(\"WEBGL_VERSION\");return r===0?0:n1(r)});kt.registerFlag(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\",()=>kt.getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0&&!du.isMobile());kt.registerFlag(\"WEBGL_RENDER_FLOAT32_CAPABLE\",()=>o1(kt.getNumber(\"WEBGL_VERSION\")));kt.registerFlag(\"WEBGL_RENDER_FLOAT32_ENABLED\",()=>kt.getBool(\"WEBGL_FORCE_F16_TEXTURES\")?!1:kt.getBool(\"WEBGL_RENDER_FLOAT32_CAPABLE\"));kt.registerFlag(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\",()=>s1(kt.getNumber(\"WEBGL_VERSION\")));kt.registerFlag(\"WEBGL_FENCE_API_ENABLED\",()=>i1(kt.getNumber(\"WEBGL_VERSION\")));kt.registerFlag(\"WEBGL_SIZE_UPLOAD_UNIFORM\",()=>kt.getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")?4:0);kt.registerFlag(\"WEBGL_DELETE_TEXTURE_THRESHOLD\",()=>-1,r=>{if(typeof r!=\"number\")throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be a number but got ${r}.`);if(r<0&&r!==-1)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${r}.`)});kt.registerFlag(\"WEBGL_FLUSH_THRESHOLD\",()=>du.isMobile()?1:-1,r=>{if(typeof r!=\"number\")throw new Error(`WEBGL_FLUSH_THRESHOLD must be a number but got ${r}.`);if(r<0&&r!==-1)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${r}.`)});kt.registerFlag(\"CPU_HANDOFF_SIZE_THRESHOLD\",()=>128);kt.registerFlag(\"WEBGL_USE_SHAPES_UNIFORMS\",()=>!1);kt.registerFlag(\"TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD\",()=>1e5);kt.registerFlag(\"TOPK_K_CPU_HANDOFF_THRESHOLD\",()=>128);kt.registerFlag(\"WEBGL_EXP_CONV\",()=>!1);kt.registerFlag(\"SOFTWARE_WEBGL_ENABLED\",()=>kt.getBool(\"IS_TEST\"));kt.registerFlag(\"WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE\",()=>1/0);kt.registerFlag(\"WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE\",()=>!1);kt.registerFlag(\"WEBGL2_ISNAN_CUSTOM\",()=>!1);kt.registerFlag(\"ENGINE_COMPILE_ONLY\",()=>!1);function Ue(){let r,t,e,n,o,s,i,a,u,l;return L().getNumber(\"WEBGL_VERSION\")===2?(r=\"#version 300 es\",t=\"in\",e=\"out\",n=\"in\",o=\"texture\",s=\"outputColor\",i=\"out vec4 outputColor;\",a=L().getBool(\"WEBGL2_ISNAN_CUSTOM\")?`\n bool isnan_custom(float val) {\n uint floatToUint = floatBitsToUint(val);\n return (floatToUint & 0x7fffffffu) > 0x7f800000u;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n `:\"\",u=\"\",l=`\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `):(r=\"\",t=\"attribute\",e=\"varying\",n=\"varying\",o=\"texture2D\",s=\"gl_FragColor\",i=\"\",a=`\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n `,u=`\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n `,l=`\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `),{version:r,attribute:t,varyingVs:e,varyingFs:n,texture2D:o,output:s,defineOutput:i,defineSpecialNaN:a,defineSpecialInf:u,defineRound:l}}function vi(r,t,e=\"index\"){let n=y.computeStrides(t);return n.map((o,s)=>{let i=`int ${r[s]} = ${e} / ${o}`,a=s===n.length-1?`int ${r[s+1]} = ${e} - ${r[s]} * ${o}`:`index -= ${r[s]} * ${o}`;return`${i}; ${a};`}).join(\"\")}function up(r,t,e=\"index\"){let n=y.computeStrides(t);return n.map((o,s)=>{let i=`int ${r[s]} = ${e} / outShapeStrides[${s}]`,a=s===n.length-1?`int ${r[s+1]} = ${e} - ${r[s]} * outShapeStrides[${s}]`:`index -= ${r[s]} * outShapeStrides[${s}]`;return`${i}; ${a};`}).join(\"\")}function Xnt(r,t){let e=r.length,n=r.map(s=>`${t}[${s}]`),o=new Array(e-1);o[e-2]=n[e-1];for(let s=e-3;s>=0;--s)o[s]=`(${o[s+1]} * ${n[s+1]})`;return o}function FL(r,t,e=\"index\"){let n=r.map((s,i)=>i),o=Xnt(n,t);return o.map((s,i)=>{let a=`int ${r[i]} = ${e} / ${o[i]}`,u=i===o.length-1?`int ${r[i+1]} = ${e} - ${r[i]} * ${o[i]}`:`index -= ${r[i]} * ${o[i]}`;return`${a}; ${u};`}).join(\"\")}function Cd(r){let t=y.computeStrides(r).map(e=>e.toString());return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${t[0]} + coords.y * ${t[1]} + coords.z;\n }\n`}function vd(){return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n`}var Bw=`\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n`;var{getBroadcastDims:OL}=S;function ML(r,t,e){let n=[];if(r.forEach(f=>{let d=y.sizeFromShape(f.shapeInfo.logicalShape);if(f.shapeInfo.isUniform?n.push(`uniform float ${f.name}${d>1?`[${d}]`:\"\"};`):(n.push(`uniform sampler2D ${f.name};`),n.push(`uniform int offset${f.name};`)),e.enableShapeUniforms){let{uniformShape:h}=Vw(e.packedInputs,f.shapeInfo.logicalShape,f.shapeInfo.texShape);switch(h.length){case 1:n.push(`uniform int ${f.name}Shape;`);break;case 2:n.push(`uniform ivec2 ${f.name}Shape;`);break;case 3:n.push(`uniform ivec3 ${f.name}Shape;`);break;case 4:n.push(`uniform ivec4 ${f.name}Shape;`);break;default:break}n.push(`uniform ivec2 ${f.name}TexShape;`)}}),e.enableShapeUniforms){switch(t.logicalShape.length){case 1:n.push(\"uniform int outShape;\");break;case 2:n.push(\"uniform ivec2 outShape;\"),n.push(\"uniform int outShapeStrides;\");break;case 3:n.push(\"uniform ivec3 outShape;\"),n.push(\"uniform ivec2 outShapeStrides;\");break;case 4:n.push(\"uniform ivec4 outShape;\"),n.push(\"uniform ivec3 outShapeStrides;\");break;default:break}n.push(\"uniform ivec2 outTexShape;\")}e.customUniforms&&e.customUniforms.forEach(f=>{n.push(`uniform ${f.type} ${f.name}${f.arrayIndex?`[${f.arrayIndex}]`:\"\"};`)});let o=n.join(`\n`),s=r.map(f=>Ynt(f,t,e.packedInputs,e.enableShapeUniforms)).join(`\n`),i=t.texShape,a=Ue(),u=Qnt(a),l,c,p=rot(a);return t.isPacked?(l=Znt(t.logicalShape,i,e.enableShapeUniforms),c=eot(a)):(l=Jnt(t.logicalShape,i,e.enableShapeUniforms),c=tot(a)),e.packedInputs&&(p+=iot),[p,u,c,o,l,s,e.userCode].join(`\n`)}function Nd(r,t=!1){let e=r.shapeInfo.logicalShape;switch(e.length){case 0:return yot(r,t);case 1:return wot(r,t);case 2:return Cot(r,t);case 3:return Sot(r,t);case 4:return kot(r,t);case 5:return Tot(r);case 6:return _ot(r);default:throw new Error(`${e.length}-D input sampling is not yet supported`)}}function PL(r,t){switch(r.shapeInfo.logicalShape.length){case 0:return xot(r);case 1:return bot(r,t);case 2:return Iot(r,t);case 3:return vot(r,t);default:return Not(r,t)}}function Ynt(r,t,e=!1,n){let o=\"\";e?o+=PL(r,n):o+=Nd(r,n);let s=r.shapeInfo.logicalShape,i=t.logicalShape;return s.length<=i.length&&(e?o+=Eot(r,t):o+=Aot(r,t)),o}function Znt(r,t,e){switch(r.length){case 0:return LL();case 1:return aot(r,t,e);case 2:return hot(r,t,e);case 3:return uot(r,t,e);default:return pot(r,t,e)}}function Jnt(r,t,e){switch(r.length){case 0:return LL();case 1:return lot(r,t,e);case 2:return got(r,t,e);case 3:return cot(r,t,e);case 4:return mot(r,t,e);case 5:return fot(r,t);case 6:return dot(r,t);default:throw new Error(`${r.length}-D output sampling is not yet supported`)}}function Qnt(r){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${r.texture2D}(textureSampler, uv).r;\n }\n `}function tot(r){return`\n void setOutput(float val) {\n ${r.output} = vec4(val, 0, 0, 0);\n }\n `}function eot(r){return`\n void setOutput(vec4 val) {\n ${r.output} = val;\n }\n `}function rot(r){return`${r.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${r.varyingFs} vec2 resultUV;\n ${r.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${r.defineSpecialNaN}\n ${r.defineSpecialInf}\n ${r.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${not}\n ${oot}\n ${sot}\n `}var not=`\nvec2 uvFromFlat(int texNumR, int texNumC, int index) {\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\nvec2 packedUVfrom1D(int texNumR, int texNumC, int index) {\n int texelIndex = index / 2;\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,oot=`\nvec2 packedUVfrom2D(int texelsInLogicalRow, int texNumR,\n int texNumC, int row, int col) {\n int texelIndex = (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,sot=`\nvec2 packedUVfrom3D(int texNumR, int texNumC,\n int texelsInBatch, int texelsInLogicalRow, int b,\n int row, int col) {\n int index = b * texelsInBatch + (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,iot=`\n float getChannel(vec4 frag, vec2 innerDims) {\n vec2 modCoord = mod(innerDims, 2.);\n return modCoord.x == 0. ?\n (modCoord.y == 0. ? frag.r : frag.g) :\n (modCoord.y == 0. ? frag.b : frag.a);\n }\n float getChannel(vec4 frag, int dim) {\n float modCoord = mod(float(dim), 2.);\n return modCoord == 0. ? frag.r : frag.g;\n }\n`;function LL(){return`\n int getOutputCoords() {\n return 0;\n }\n `}function aot(r,t,e){let n=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];return n[0]===1?e?`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n `:`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${n[1]}.0);\n }\n `:n[1]===1?e?`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n `:`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${n[0]}.0);\n }\n `:e?`\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n `:`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${n[0]}, ${n[1]}));\n return 2 * (resTexRC.x * ${n[1]} + resTexRC.y);\n }\n `}function lot(r,t,e){return t[0]===1?e?`\n int getOutputCoords() {\n return int(resultUV.x * float(outTexShape[1]));\n }\n `:`\n int getOutputCoords() {\n return int(resultUV.x * ${t[1]}.0);\n }\n `:t[1]===1?e?`\n int getOutputCoords() {\n return int(resultUV.y * float(outTexShape[0]));\n }\n `:`\n int getOutputCoords() {\n return int(resultUV.y * ${t[0]}.0);\n }\n `:e?`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(outTexShape[0], outTexShape[1]));\n return resTexRC.x * outTexShape[1] + resTexRC.y;\n }\n `:`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${t[0]}, ${t[1]}));\n return resTexRC.x * ${t[1]} + resTexRC.y;\n }\n `}function uot(r,t,e){if(e)return`\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n `;let n=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],o=Math.ceil(r[2]/2),s=o*Math.ceil(r[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${n[0]}, ${n[1]}));\n int index = resTexRC.x * ${n[1]} + resTexRC.y;\n\n int b = index / ${s};\n index -= b * ${s};\n\n int r = 2 * (index / ${o});\n int c = imod(index, ${o}) * 2;\n\n return ivec3(b, r, c);\n }\n `}function cot(r,t,e){if(e)return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(outTexShape[0], outTexShape[1]));\n int index = resTexRC.x * outTexShape[1] + resTexRC.y;\n ${up([\"r\",\"c\",\"d\"],r)}\n return ivec3(r, c, d);\n }\n`;let n=vi([\"r\",\"c\",\"d\"],r);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${t[0]}, ${t[1]}));\n int index = resTexRC.x * ${t[1]} + resTexRC.y;\n ${n}\n return ivec3(r, c, d);\n }\n `}function pot(r,t,e){if(e)return`\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n `;let n=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],o=Math.ceil(r[r.length-1]/2),s=o*Math.ceil(r[r.length-2]/2),i=s,a=\"\",u=\"b, r, c\";for(let l=2;l=1?c=\"coords = 0;\":c=a.map(b=>`coords.${p[b+l]} = 0;`).join(`\n`);let m=\"\";i<2&&s>0?m=\"coords\":m=r.shapeInfo.logicalShape.map((b,w)=>`coords.${p[w+l]}`).join(\", \");let f=\"return outputValue;\",h=y.sizeFromShape(r.shapeInfo.logicalShape)===1,x=y.sizeFromShape(t.logicalShape)===1;if(s===1&&!h&&!x)f=`\n return vec4(outputValue.xy, outputValue.xy);\n `;else if(h&&!x)i===1?f=`\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n `:f=`\n return vec4(outputValue.x);\n `;else if(a.length){let b=s-2,w=s-1;a.indexOf(b)>-1&&a.indexOf(w)>-1?f=\"return vec4(outputValue.x);\":a.indexOf(b)>-1?f=\"return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);\":a.indexOf(w)>-1&&(f=\"return vec4(outputValue.xx, outputValue.zz);\")}return`\n vec4 ${o}() {\n ${u} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${n}(${m});\n ${f}\n }\n `}function Aot(r,t){let e=r.name,n=e.charAt(0).toUpperCase()+e.slice(1),o=\"get\"+n+\"AtOutCoords\",s=t.texShape,i=r.shapeInfo.texShape,a=r.shapeInfo.logicalShape.length,u=t.logicalShape.length;if(!r.shapeInfo.isUniform&&a===u&&r.shapeInfo.flatOffset==null&&y.arraysEqual(i,s))return`\n float ${o}() {\n return sampleTexture(${e}, resultUV);\n }\n `;let l=zt(u),c=OL(r.shapeInfo.logicalShape,t.logicalShape),p=u-a,m,f=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];a===0?m=\"\":u<2&&c.length>=1?m=\"coords = 0;\":m=c.map(h=>`coords.${f[h+p]} = 0;`).join(`\n`);let d=\"\";return u<2&&a>0?d=\"coords\":d=r.shapeInfo.logicalShape.map((h,g)=>`coords.${f[g+p]}`).join(\", \"),`\n float ${o}() {\n ${l} coords = getOutputCoords();\n ${m}\n return get${n}(${d});\n }\n `}function zt(r){if(r<=1)return\"int\";if(r===2)return\"ivec2\";if(r===3)return\"ivec3\";if(r===4)return\"ivec4\";if(r===5)return\"ivec5\";if(r===6)return\"ivec6\";throw Error(`GPU for rank ${r} is not yet supported`)}function Vw(r,t,e){let{newShape:n,keptDims:o}=y.squeezeShape(t),s=t.length,i=r&&s===3&&t[0]===1,a=i?t.slice(1):n,u=!r&&s>1&&!y.arraysEqual(t,e)&&n.lengthr[e]).join(\", \")}function BL(r,t,e,n){let o=e.map((c,p)=>{let m={logicalShape:c.shape,texShape:c.isUniform?null:c.texData.texShape,isUniform:c.isUniform,isPacked:c.isUniform?!1:c.texData.isPacked,flatOffset:null};return c.texData!=null&&c.texData.slice!=null&&c.texData.slice.flatOffset>0&&(m.flatOffset=c.texData.slice.flatOffset),{name:t.variableNames[p],shapeInfo:m}}),s=o.map(c=>c.shapeInfo),i={logicalShape:n.shape,texShape:n.texData.texShape,isUniform:!1,isPacked:n.texData.isPacked,flatOffset:null},a=ML(o,i,t),u=WT(r.gl,a),l=r.createProgram(u);return L().get(\"ENGINE_COMPILE_ONLY\")?{program:t,fragmentShader:u,source:a,webGLProgram:l,inShapeInfos:s,outShapeInfo:i,variablesLocations:null,customUniformLocations:null,infLoc:null,nanLoc:null,outShapeLocation:null,outShapeStridesLocation:null,outTexShapeLocation:null}:(r.buildVao(l),Object.assign({program:t,fragmentShader:u,source:a,webGLProgram:l,inShapeInfos:s,outShapeInfo:i},a1(r,t,l)))}function a1(r,t,e){let n=[],o=[],s,i,a,u=null,l=null;l=r.getUniformLocation(e,\"NAN\",!1),L().getNumber(\"WEBGL_VERSION\")===1&&(u=r.getUniformLocation(e,\"INFINITY\",!1));let c=!1;for(let p of t.variableNames){let m={name:p,uniform:r.getUniformLocation(e,p,c),offset:r.getUniformLocation(e,`offset${p}`,c)};t.enableShapeUniforms&&(m.shape=r.getUniformLocation(e,`${p}Shape`,c),m.texShape=r.getUniformLocation(e,`${p}TexShape`,c)),n.push(m)}if(t.enableShapeUniforms&&(s=r.getUniformLocation(e,\"outShape\",c),a=r.getUniformLocation(e,\"outShapeStrides\",c),i=r.getUniformLocation(e,\"outTexShape\",c)),t.customUniforms)for(let p of t.customUniforms)o.push(r.getUniformLocation(e,p.name,c));return{variablesLocations:n,customUniformLocations:o,infLoc:u,nanLoc:l,outShapeLocation:s,outShapeStridesLocation:a,outTexShapeLocation:i}}function zL(r,t){if(r.length!==t.length)throw Error(`Binary was compiled with ${r.length} inputs, but was executed with ${t.length} inputs`);r.forEach((e,n)=>{let o=e.logicalShape,s=t[n],i=s.shape;if(!y.arraysEqual(o,i))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${o} and ${i} must match`);if(e.isUniform&&s.isUniform)return;let a=e.texShape,u=s.isUniform?null:s.texData.texShape;if(!y.arraysEqual(a,u))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${a} and ${u} must match`)})}function VL(r,t,e,n,o){t.program.enableShapeUniforms||(zL(t.inShapeInfos,e),zL([t.outShapeInfo],[n]));let s=n.texData.texture,i=n.texData.texShape;n.texData.isPacked?r.setOutputPackedMatrixTexture(s.texture,i[0],i[1]):r.setOutputMatrixTexture(s.texture,i[0],i[1]),r.setProgram(t.webGLProgram),r.bindVertexArray(t.webGLProgram.vao),L().getNumber(\"WEBGL_VERSION\")===1&&t.infLoc!==null&&r.gl.uniform1f(t.infLoc,1/0),t.nanLoc!==null&&r.gl.uniform1f(t.nanLoc,NaN);for(let u=0;u{let a=i.texData!=null&&i.texData.slice!=null&&i.texData.slice.flatOffset>0;if(r.enableShapeUniforms&&!i.isUniform){let u=i.texData.texShape,{useSqueezeShape:l,uniformShape:c,keptDims:p}=Vw(r.packedInputs,i.shape,u),m=\"\",f=\"\",d=\"\";if(c.length===1&&r.packedInputs){let N=[Math.ceil(u[0]/2),Math.ceil(u[1]/2)];m=`${N[0]>1}_${N[1]>1}`}else if(c.length===2&&!r.packedInputs)f=`${c[0]>1}_${c[1]>1}`;else if(c.length>2&&!r.packedInputs){let N=y.computeStrides(c);d=`${N[0]===u[1]}_${N[N.length-1]===u[1]}`}let h=i.shape.length,g=c.length===2&&y.arraysEqual(i.shape,u),x=y.sizeFromShape(i.shape)===1,b=S.getBroadcastDims(i.shape,e.shape),w=!r.packedInputs&&h===e.shape.length&&y.arraysEqual(u,e.texData.texShape),I=r.packedInputs||c.length>2?\"\":`${u[0]>1}_${u[1]>1}`;n+=`${h}_${w}_${l?p:\"\"}_${c.length}_${x}_${b}_${g}_${m}_${f}_${d}_${I}_${a}`}else{let u=i.isUniform?\"uniform\":i.texData.texShape;n+=`${i.shape}_${u}_${a}`}});let o=r.userCode,s=r.constructor.name;return s+=\"_\"+n+\"_\"+o+`${L().getNumber(\"WEBGL_VERSION\")}`,s}function he(r){return L().getBool(\"WEBGL_USE_SHAPES_UNIFORMS\")&&r<=4}var Gw=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=Wu.DENSE,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let e=Ue();this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?up([\"r\",\"c\",\"d\"],t):vi([\"r\",\"c\",\"d\"],t)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${e.output} = result;\n }\n `}};var Ww=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=Wu.DENSE,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let e=Ue();this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?up([\"r\",\"c\",\"d\"],t):vi([\"r\",\"c\",\"d\"],t)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${e.output} = result;\n }\n `}};var Uw=class{constructor(t){this.variableNames=[\"A\"],this.outTexUsage=Yr.DOWNLOAD;let e=Ue();this.outputShape=t,this.userCode=`\n ${Bw}\n\n void main() {\n float x = getAAtOutCoords();\n ${e.output} = encode_float(x);\n }\n `}};var Hw=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=Yr.DOWNLOAD;let e=Ue();this.outputShape=t,this.userCode=`\n ${Bw}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${e.output} = encode_float(x);\n }\n `}};var Rot={R:0,G:1,B:2,A:3},lg=class{constructor(t,e=!1,n=\"RGBA\"){this.variableNames=[\"A\"],this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let o=Ue();this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length);let s=\"result\";e&&(s=\"floor(result * 255. + 0.5)\");let i=\"\";for(let a=0;ag1,createBufferFromOutputTexture:()=>b1,createFloat16MatrixTexture:()=>m1,createFloat16PackedMatrixTexture:()=>h1,createFloat32MatrixTexture:()=>p1,createIndexBuffer:()=>c1,createPackedMatrixTexture:()=>d1,createUnsignedBytesMatrixTexture:()=>f1,createVertexBuffer:()=>u1,createVertexShader:()=>l1,downloadByteEncodedFloatMatrixFromOutputTexture:()=>I1,downloadFloat32MatrixFromBuffer:()=>w1,downloadMatrixFromPackedOutputTexture:()=>v1,downloadPackedMatrixFromBuffer:()=>C1,getInternalFormatForFloat16MatrixTexture:()=>jw,getInternalFormatForFloat16PackedMatrixTexture:()=>Zw,getInternalFormatForFloat32MatrixTexture:()=>Kw,getInternalFormatForPackedMatrixTexture:()=>Yw,getInternalFormatForUnsignedBytesMatrixTexture:()=>Xw,uploadDenseMatrixToTexture:()=>x1,uploadPixelDataToTexture:()=>y1});function l1(r){let t=Ue(),e=`${t.version}\n precision highp float;\n ${t.attribute} vec3 clipSpacePos;\n ${t.attribute} vec2 uv;\n ${t.varyingVs} vec2 resultUV;\n\n void main() {\n gl_Position = vec4(clipSpacePos, 1);\n resultUV = uv;\n }`;return GT(r,e)}function u1(r){let t=new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]);return qT(r,t)}function c1(r){let t=new Uint16Array([0,1,2,2,1,3]);return KT(r,t)}function ug(r,t,e,n,o,s){XT(t,e);let i=jT(r),a=r.TEXTURE_2D;return ht(r,()=>r.bindTexture(a,i)),ht(r,()=>r.texParameteri(a,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE)),ht(r,()=>r.texParameteri(a,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE)),ht(r,()=>r.texParameteri(a,r.TEXTURE_MIN_FILTER,r.NEAREST)),ht(r,()=>r.texParameteri(a,r.TEXTURE_MAG_FILTER,r.NEAREST)),L().getNumber(\"WEBGL_VERSION\")===1?ht(r,()=>r.texImage2D(a,0,n,t,e,0,o,s,null)):ht(r,()=>r.texStorage2D(a,1,n,t,e)),ht(r,()=>r.bindTexture(r.TEXTURE_2D,null)),{texture:i,texShape:[e,t]}}function Kw(r){return r.internalFormatFloat}function p1(r,t,e,n){let[o,s]=lp(t,e);return ug(r,o,s,Kw(n),n.textureFormatFloat,r.FLOAT)}function jw(r){return r.internalFormatHalfFloat}function m1(r,t,e,n){let[o,s]=lp(t,e);return ug(r,o,s,jw(n),n.textureFormatFloat,n.textureTypeHalfFloat)}function Xw(r){return r.downloadTextureFormat}function f1(r,t,e,n){let[o,s]=lp(t,e);return ug(r,o,s,Xw(n),r.RGBA,r.UNSIGNED_BYTE)}function Yw(r){return r.internalFormatPackedFloat}function d1(r,t,e,n){let[o,s]=wa(t,e);return ug(r,o,s,Yw(n),r.RGBA,r.FLOAT)}function Zw(r){return r.internalFormatPackedHalfFloat}function h1(r,t,e,n){let[o,s]=wa(t,e);return ug(r,o,s,Zw(n),r.RGBA,n.textureTypeHalfFloat)}function g1(r,t,e){return ht(r,()=>r.bindBuffer(r.ARRAY_BUFFER,e)),Pw(r,t,\"clipSpacePos\",e,3,20,0)&&Pw(r,t,\"uv\",e,2,20,12)}function x1(r,t,e,n,o,s){ht(r,()=>r.bindTexture(r.TEXTURE_2D,t));let i,a,u;o instanceof Uint8Array?(i=new Uint8Array(e*n*4),a=r.UNSIGNED_BYTE,u=r.RGBA):(i=new Float32Array(e*n*4),a=r.FLOAT,u=s.internalFormatPackedFloat),i.set(o),L().getNumber(\"WEBGL_VERSION\")===2?ht(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,e,n,r.RGBA,a,i)):ht(r,()=>r.texImage2D(r.TEXTURE_2D,0,u,e,n,0,r.RGBA,a,i)),ht(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function y1(r,t,e){ht(r,()=>r.bindTexture(r.TEXTURE_2D,t)),e.data instanceof Uint8Array?L().getNumber(\"WEBGL_VERSION\")===2?ht(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,e.width,e.height,r.RGBA,r.UNSIGNED_BYTE,e.data)):ht(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e.width,e.height,0,r.RGBA,r.UNSIGNED_BYTE,e.data)):L().getNumber(\"WEBGL_VERSION\")===2?ht(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,e)):ht(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e)),ht(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function b1(r,t,e,n){let o=r.createBuffer();ht(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,o));let a=4*4*t*e;return ht(r,()=>r.bufferData(r.PIXEL_PACK_BUFFER,a,r.STREAM_READ)),ht(r,()=>r.readPixels(0,0,e,t,r.RGBA,r.FLOAT,0)),ht(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,null)),o}function w1(r,t,e){let n=r,o=new Float32Array(e);return n.bindBuffer(n.PIXEL_PACK_BUFFER,t),n.getBufferSubData(n.PIXEL_PACK_BUFFER,0,o),n.bindBuffer(n.PIXEL_PACK_BUFFER,null),o}function I1(r,t,e,n){let[o,s]=lp(t,e),i=4,a=new Uint8Array(_L(t*e,i));return ht(r,()=>r.readPixels(0,0,o,s,n.downloadTextureFormat,r.UNSIGNED_BYTE,a)),new Float32Array(a.buffer)}function C1(r,t,e,n,o,s,i,a){let u=r,l=new Float32Array(EL(s,i));return u.bindBuffer(u.PIXEL_PACK_BUFFER,t),u.getBufferSubData(u.PIXEL_PACK_BUFFER,0,l),u.bindBuffer(u.PIXEL_PACK_BUFFER,null),l}function v1(r,t,e){let n=new Float32Array(t*e*4);return ht(r,()=>r.readPixels(0,0,e,t,r.RGBA,r.FLOAT,n)),n}var pp=class{constructor(t){this.outputTexture=null,this.program=null,this.disposed=!1,this.itemsToPoll=[];let e=L().getNumber(\"WEBGL_VERSION\");if(t!=null?(this.gl=t,LT(e,t)):this.gl=qn(e),t=this.gl,L().getNumber(\"WEBGL_VERSION\")===2){let s=t;this.createVertexArray=()=>ht(s,()=>s.createVertexArray()),this.bindVertexArray=i=>ht(s,()=>s.bindVertexArray(i)),this.deleteVertexArray=i=>ht(s,()=>s.deleteVertexArray(i)),this.getVertexArray=()=>ht(s,()=>s.getParameter(s.VERTEX_ARRAY_BINDING))}else if(t!=null){let s=t.getExtension(\"OES_vertex_array_object\");if(s==null)throw new Error(\"All WebGL1 implementations are expected to offer OES_vertex_array_object.\");this.createVertexArray=()=>ht(t,()=>s.createVertexArrayOES()),this.bindVertexArray=i=>ht(t,()=>s.bindVertexArrayOES(i)),this.deleteVertexArray=i=>ht(t,()=>s.deleteVertexArrayOES(i)),this.getVertexArray=()=>ht(t,()=>t.getParameter(s.VERTEX_ARRAY_BINDING_OES))}let n=\"WEBGL_color_buffer_float\",o=\"EXT_color_buffer_half_float\";if(this.parallelCompilationExtension=this.gl.getExtension(\"KHR_parallel_shader_compile\"),L().getNumber(\"WEBGL_VERSION\")===1){let s=\"OES_texture_float\",i=\"OES_texture_half_float\";if(this.textureFloatExtension=yd(this.gl,s),Kn(this.gl,i))this.textureHalfFloatExtension=yd(this.gl,i);else if(L().get(\"WEBGL_FORCE_F16_TEXTURES\"))throw new Error(\"GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.\");if(this.colorBufferFloatExtension=this.gl.getExtension(n),Kn(this.gl,o))this.colorBufferHalfFloatExtension=yd(this.gl,o);else if(L().get(\"WEBGL_FORCE_F16_TEXTURES\"))throw new Error(\"GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.\")}else if(n=\"EXT_color_buffer_float\",Kn(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else if(Kn(this.gl,o))this.colorBufferHalfFloatExtension=this.gl.getExtension(o);else throw new Error(\"GL context does not support color renderable floats\");this.vertexBuffer=u1(this.gl),this.indexBuffer=c1(this.gl),this.framebuffer=YT(this.gl),this.textureConfig=sg(this.gl,this.textureHalfFloatExtension)}get debug(){return L().getBool(\"DEBUG\")}dispose(){if(this.disposed)return;this.program!=null&&console.warn(\"Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing.\"),this.outputTexture!=null&&console.warn(\"Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.\");let t=this.gl;ht(t,()=>t.finish()),ht(t,()=>t.bindFramebuffer(t.FRAMEBUFFER,null)),ht(t,()=>t.deleteFramebuffer(this.framebuffer)),ht(t,()=>t.bindBuffer(t.ARRAY_BUFFER,null)),ht(t,()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)),ht(t,()=>t.deleteBuffer(this.indexBuffer)),this.disposed=!0}createFloat32MatrixTexture(t,e){return this.throwIfDisposed(),p1(this.gl,t,e,this.textureConfig)}createFloat16MatrixTexture(t,e){return this.throwIfDisposed(),m1(this.gl,t,e,this.textureConfig)}createUnsignedBytesMatrixTexture(t,e){return this.throwIfDisposed(),f1(this.gl,t,e,this.textureConfig)}uploadPixelDataToTexture(t,e){this.throwIfDisposed(),y1(this.gl,t,e)}uploadDenseMatrixToTexture(t,e,n,o){this.throwIfDisposed(),x1(this.gl,t,e,n,o,this.textureConfig)}createFloat16PackedMatrixTexture(t,e){return this.throwIfDisposed(),h1(this.gl,t,e,this.textureConfig)}createPackedMatrixTexture(t,e){return this.throwIfDisposed(),d1(this.gl,t,e,this.textureConfig)}deleteMatrixTexture(t){this.throwIfDisposed(),this.outputTexture===t&&(Lw(this.gl,this.framebuffer),this.outputTexture=null),ht(this.gl,()=>this.gl.deleteTexture(t))}downloadByteEncodedFloatMatrixFromOutputTexture(t,e,n){return this.downloadMatrixDriver(t,()=>I1(this.gl,e,n,this.textureConfig))}downloadPackedMatrixFromBuffer(t,e,n,o,s,i){return C1(this.gl,t,e,n,o,s,i,this.textureConfig)}downloadFloat32MatrixFromBuffer(t,e){return w1(this.gl,t,e)}createBufferFromTexture(t,e,n){this.bindTextureToFrameBuffer(t);let o=b1(this.gl,e,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),o}createAndWaitForFence(){let t=this.createFence(this.gl);return this.pollFence(t)}createFence(t){let e,n;if(L().getBool(\"WEBGL_FENCE_API_ENABLED\")){let o=t,s=o.fenceSync(o.SYNC_GPU_COMMANDS_COMPLETE,0);t.flush(),n=()=>{let i=o.clientWaitSync(s,0,0);return i===o.ALREADY_SIGNALED||i===o.CONDITION_SATISFIED},e=s}else L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0?(e=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(e,L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))):n=()=>!0;return{query:e,isFencePassed:n}}downloadMatrixFromPackedTexture(t,e,n){return this.downloadMatrixDriver(t,()=>v1(this.gl,e,n))}createProgram(t){this.throwIfDisposed();let e=this.gl;this.vertexShader==null&&(this.vertexShader=l1(e));let n=UT(e);ht(e,()=>e.attachShader(n,this.vertexShader)),ht(e,()=>e.attachShader(n,t)),HT(e,n);let o=Object.assign(n,{vao:this.createVertexArray()});return this.debug&&ig(e,o),o}buildVao(t){this.setProgram(t),this.bindVertexArray(t.vao);let e=this.gl;ht(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer)),g1(e,t,this.vertexBuffer)}deleteProgram(t){this.throwIfDisposed(),t===this.program&&(this.program=null),t!=null&&(ht(this.gl,()=>this.gl.deleteProgram(t)),this.deleteVertexArray(t.vao))}setProgram(t){this.throwIfDisposed(),this.program=t,this.program!=null&&this.debug&&ig(this.gl,this.program),ht(this.gl,()=>this.gl.useProgram(t))}getUniformLocation(t,e,n=!0){return this.throwIfDisposed(),n?ZT(this.gl,t,e):JT(this.gl,t,e)}getAttributeLocation(t,e){return this.throwIfDisposed(),ht(this.gl,()=>this.gl.getAttribLocation(t,e))}getUniformLocationNoThrow(t,e){return this.throwIfDisposed(),this.gl.getUniformLocation(t,e)}setInputMatrixTexture(t,e,n){this.throwIfDisposed(),this.throwIfNoProgram(),QT(this.gl,t,e,n)}setOutputMatrixTexture(t,e,n){this.setOutputMatrixTextureDriver(t,n,e)}setOutputPackedMatrixTexture(t,e,n){this.throwIfDisposed();let[o,s]=wa(e,n);this.setOutputMatrixTextureDriver(t,o,s)}setOutputMatrixWriteRegion(t,e,n,o){this.setOutputMatrixWriteRegionDriver(n,t,o,e)}setOutputPackedMatrixWriteRegion(t,e,n,o){throw new Error(\"setOutputPackedMatrixWriteRegion not implemented.\")}debugValidate(){this.program!=null&&ig(this.gl,this.program),bd(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();let t=this.gl;if(this.debug){let e=this.getVertexArray();console.assert(e===this.program.vao,\"VAO changed between setProgram and executeProgram!\"),this.debugValidate()}ht(t,()=>t.drawElements(t.TRIANGLES,6,t.UNSIGNED_SHORT,0))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),ht(this.gl,()=>this.gl.finish())}getQueryTimerExtension(){return this.disjointQueryTimerExtension==null&&(this.disjointQueryTimerExtension=yd(this.gl,L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2?\"EXT_disjoint_timer_query_webgl2\":\"EXT_disjoint_timer_query\")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2){let n=this.gl,o=this.getQueryTimerExtensionWebGL2(),s=n.createQuery();return n.beginQuery(o.TIME_ELAPSED_EXT,s),s}let t=this.getQueryTimerExtensionWebGL1(),e=t.createQueryEXT();return t.beginQueryEXT(t.TIME_ELAPSED_EXT,e),e}endQuery(){if(L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2){let e=this.gl,n=this.getQueryTimerExtensionWebGL2();e.endQuery(n.TIME_ELAPSED_EXT);return}let t=this.getQueryTimerExtensionWebGL1();t.endQueryEXT(t.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(t){return await y.repeatedTry(()=>this.disposed||this.isQueryAvailable(t,L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))),this.getQueryTime(t,L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))}getQueryTime(t,e){if(e===0)return null;if(e===2){let n=this.gl;return n.getQueryParameter(t,n.QUERY_RESULT)/1e6}else{let n=this.getQueryTimerExtensionWebGL1();return n.getQueryObjectEXT(t,n.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(t,e){if(e===0)return!0;if(e===2){let n=this.gl,o=this.getQueryTimerExtensionWebGL2(),s=n.getQueryParameter(t,n.QUERY_RESULT_AVAILABLE);return this.disjoint==null&&(this.disjoint=this.gl.getParameter(o.GPU_DISJOINT_EXT)),s&&!this.disjoint}else{let n=this.getQueryTimerExtensionWebGL1(),o=n.getQueryObjectEXT(t,n.QUERY_RESULT_AVAILABLE_EXT);return this.disjoint==null&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),o&&!this.disjoint}}pollFence(t){return new Promise(e=>{this.addItemToPoll(()=>t.isFencePassed(),()=>e())})}pollItems(){let t=Fot(this.itemsToPoll.map(e=>e.isDoneFn));for(let e=0;e<=t;++e){let{resolveFn:n}=this.itemsToPoll[e];n()}this.itemsToPoll=this.itemsToPoll.slice(t+1)}addItemToPoll(t,e){if(this.itemsToPoll.push({isDoneFn:t,resolveFn:e}),this.itemsToPoll.length>1)return;let n;\"setTimeoutCustom\"in L().platform&&(n=L().platform.setTimeoutCustom.bind(L().platform)),y.repeatedTry(()=>(this.pollItems(),this.itemsToPoll.length===0),()=>0,null,n)}bindTextureToFrameBuffer(t){this.throwIfDisposed(),ag(this.gl,t,this.framebuffer),this.debug&&bd(this.gl)}unbindTextureToFrameBuffer(){this.outputTexture!=null?(ag(this.gl,this.outputTexture,this.framebuffer),this.debug&&bd(this.gl)):Lw(this.gl,this.framebuffer)}downloadMatrixDriver(t,e){this.bindTextureToFrameBuffer(t);let n=e();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(t,e,n){this.throwIfDisposed();let o=this.gl;ag(o,t,this.framebuffer),this.debug&&bd(o),this.outputTexture=t,ht(o,()=>o.viewport(0,0,e,n)),ht(o,()=>o.scissor(0,0,e,n))}setOutputMatrixWriteRegionDriver(t,e,n,o){this.throwIfDisposed(),ht(this.gl,()=>this.gl.scissor(t,e,n,o))}throwIfDisposed(){if(this.disposed)throw new Error(\"Attempted to use disposed GPGPUContext.\")}throwIfNoProgram(){if(this.program==null)throw new Error(\"No GPU program is currently set.\")}};function Fot(r){let t=0;for(;t`${r}.${e}`)}function rr(r,t){return t===1?[r]:N1(r,t)}function Fz(r,t){if(r===1)return\"rc\";let e=\"\";for(let n=0;n ${this.enableShapeUniforms?\"outShape\":this.outputShape[0]}`;let e=\"\";for(let n=this.rank-2;n= ${this.enableShapeUniforms?`outShape[${n}]`:this.outputShape[n]}`,n= ${n};\n bool rEdge = rp1 >= ${o};\n `}getOutput(t){let e=this.getSourceCoordsArr(t);return this.rank===1?`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?\"outShape\":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`:`getA(${e[0]}),\n cEdge ? 0. : getA(${e[1]}),\n rEdge ? 0. : getA(${e[2]}),\n rEdge || cEdge ? 0. : getA(${e[3]})`}};var Ed=class{constructor(t,e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"inputShape\",type:\"ivec3\"}],this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length);let n=\"\";for(let o=0;o<4;o++){let s=\"thisRC = rc;\";o%2===1&&(s+=\"thisRC.z += 1;\"),o>1&&(s+=\"thisRC.y += 1;\"),n+=`\n ${s}\n ${o>0?\"if(thisRC.y < rows && thisRC.z < cols){\":\"\"}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${o}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${o>0?\"}\":\"\"}\n `}this.userCode=`\n ${Oot(e,this.enableShapeUniforms)}\n ${this.enableShapeUniforms?vd():Cd(t)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?\"outShape[1]\":t[1]};\n int cols = ${this.enableShapeUniforms?\"outShape[2]\":t[2]};\n\n ${n}\n\n setOutput(result);\n }\n `}};function Oot(r,t){return`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${t?FL([\"r\",\"c\",\"d\"],\"inputShape\"):vi([\"r\",\"c\",\"d\"],r)}\n return ivec3(r, c, d);\n }\n `}var rI=class{constructor(t){this.gpgpu=t,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.usedTextures={},this.logEnabled=!1}acquireTexture(t,e,n){let o=Mz(e,n),s=Pz(t,o,n);s in this.freeTextures||(this.freeTextures[s]=[]),s in this.usedTextures||(this.usedTextures[s]=[]);let i=Oz(t,o,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[s].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=i,this.log();let u=this.freeTextures[s].pop();return this.usedTextures[s].push(u),u}let a;return o===Pr.PACKED_2X2_FLOAT32?a=this.gpgpu.createPackedMatrixTexture(t[0],t[1]):o===Pr.PACKED_2X2_FLOAT16?a=this.gpgpu.createFloat16PackedMatrixTexture(t[0],t[1]):o===Pr.UNPACKED_FLOAT32?a=this.gpgpu.createFloat32MatrixTexture(t[0],t[1]):o===Pr.UNPACKED_FLOAT16?a=this.gpgpu.createFloat16MatrixTexture(t[0],t[1]):o===Pr.PACKED_4X1_UNSIGNED_BYTE&&(a=this.gpgpu.createUnsignedBytesMatrixTexture(t[0],t[1])),this.usedTextures[s].push(a),this.numUsedTextures++,this._numBytesAllocated+=i,this.log(),a}releaseTexture(t,e,n,o){if(this.freeTextures==null)return;let s=Mz(n,o),i=Pz(e,s,o);i in this.freeTextures||(this.freeTextures[i]=[]);let a=Oz(e,s,this.gpgpu.gl,this.gpgpu.textureConfig,o),u=L().getNumber(\"WEBGL_DELETE_TEXTURE_THRESHOLD\");u!==-1&&this._numBytesAllocated>u?(this.gpgpu.deleteMatrixTexture(t.texture),this._numBytesAllocated-=a):(this.freeTextures[i].push(t),this.numFreeTextures++,this._numBytesFree+=a),this.numUsedTextures--;let l=this.usedTextures[i],c=l&&l.indexOf(t);if(c==null||c<0)throw new Error(\"Cannot release a texture that was never provided by this texture manager\");l[c]=l[l.length-1],l.pop(),this.log()}log(){if(!this.logEnabled)return;let t=this.numFreeTextures+this.numUsedTextures;console.log(\"Free/Used\",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${t})`);let e=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*e)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(this.freeTextures!=null){for(let t in this.freeTextures)this.freeTextures[t].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});for(let t in this.usedTextures)this.usedTextures[t].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}};function Mot(r,t){let e=r;if(t===e.R32F)return 4;if(t===e.R16F)return 2;if(t===e.RGBA32F)return 16;if(t===r.RGBA)return 16;if(t===e.RGBA16F)return 8;if(t===e.RGBA8)return 4;throw new Error(`Unknown internal format ${t}`)}function Oz(r,t,e,n,o){let s=Pot(t,n),i;if(o){let[u,l]=wa(r[0],r[1]);i=u*l}else{let[u,l]=lp(r[0],r[1]);i=u*l}let a=Mot(e,s);return i*a}function Pot(r,t){switch(r){case Pr.PACKED_2X2_FLOAT32:return Yw(t);case Pr.PACKED_2X2_FLOAT16:return Zw(t);case Pr.UNPACKED_FLOAT32:return Kw(t);case Pr.UNPACKED_FLOAT16:return jw(t);case Pr.PACKED_4X1_UNSIGNED_BYTE:return Xw(t);default:throw new Error(`Unknown physical texture type ${r}`)}}function Lot(r){return L().getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")?r?Pr.PACKED_2X2_FLOAT32:Pr.UNPACKED_FLOAT32:r?Pr.PACKED_2X2_FLOAT16:Pr.UNPACKED_FLOAT16}function Mz(r,t){if(r===Yr.UPLOAD)return Pr.PACKED_2X2_FLOAT32;if(r===Yr.RENDER||r==null)return Lot(t);if(r===Yr.DOWNLOAD||r===Yr.PIXELS)return Pr.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${r}`)}function Pz(r,t,e){return`${r[0]}_${r[1]}_${t}_${e}`}var Lr=class{constructor(t,e){this.variableNames=[\"A\"],this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${e}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}},xr=\"if (isnan(x)) return x;\",Lz=\"return x;\",k1=\"return abs(x);\";var zz=\"return (x >= 0.0) ? x : (exp(x) - 1.0);\",Bz=xr+`\n return (x < 0.0) ? 0.0 : x;\n`,Vz=xr+`\n return (x < 0.0) ? 0.0 : min(6.0, x);\n`,Ia=\"return x;\",Gz=\"return 1.0 / (1.0 + exp(-1.0 * x));\";var Uz=\"return x;\",Hz=`\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n`,qz=`\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,Kz=`\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,jz=\"return 1.0 / (1.0 + exp(-1.0 * x));\",Dn=class{constructor(t,e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${e}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}};var nI=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=t,this.enableShapeUniforms=he(this.outputShape.length);let e=t.length,n=rr(\"rc\",e),o=zt(e),s=Fz(e,n),i=n.slice(-2),a=e<=1?\"rc\":`vec2(${i.join(\",\")})`;this.userCode=`\n void main() {\n ${o} rc = getOutputCoords();\n vec4 packedInput = getA(${s});\n\n setOutput(getChannel(packedInput, ${a}));\n }\n `}};var Bot=Kr.whereImpl,Vot=1e-7,Got=1e-4,oI={};function Wot(r){return r in oI||(oI[r]={}),oI[r]}var Uot=L().getNumber(\"CPU_HANDOFF_SIZE_THRESHOLD\"),Hot=600;function qot(){return L().global.screen==null?1024:L().global.screen.height*L().global.screen.width*window.devicePixelRatio*Hot/1024/1024}var Ad=class r extends Bo{nextDataId(){return r.nextDataId++}constructor(t){if(super(),this.pendingRead=new WeakMap,this.pendingDisposal=new WeakSet,this.dataRefCount=new WeakMap,this.numBytesInGPU=0,this.uploadWaitMs=0,this.downloadWaitMs=0,this.lastGlFlushTime=0,this.warnedAboutMemory=!1,this.pendingDeletes=0,this.disposed=!1,!L().getBool(\"HAS_WEBGL\"))throw new Error(\"WebGL is not supported on this device\");let e;if(t!=null){if(t instanceof pp)e=t;else{let n=qn(L().getNumber(\"WEBGL_VERSION\"),t);e=new pp(n)}this.binaryCache={},this.gpgpuCreatedLocally=!1}else{let n=qn(L().getNumber(\"WEBGL_VERSION\"));e=new pp(n),this.binaryCache=Wot(L().getNumber(\"WEBGL_VERSION\")),this.gpgpuCreatedLocally=!0}this.gpgpu=e,this.canvas=this.gpgpu.gl.canvas,this.textureManager=new rI(this.gpgpu),this.numMBBeforeWarning=qot(),this.texData=new Ta(this,Bn())}numDataIds(){return this.texData.numDataIds()-this.pendingDeletes}writeTexture(t,e,n,o,s,i){let a=this.makeTensorInfo(e,n),u=this.texData.get(a.dataId);u.isPacked=!1,u.texture={texture:t,texShape:[o,s]},u.texShape=[o,s];let l=wd(e),c=new lg(l,!1,i),p=this.runWebGLProgram(c,[a],n,[[o,s]]);return p.shape=e,u.texture=null,this.disposeIntermediateTensorInfo(a),p.dataId}write(t,e,n){if((L().getBool(\"WEBGL_CHECK_NUMERICAL_PROBLEMS\")||L().getBool(\"DEBUG\"))&&this.checkNumericalProblems(t),n===\"complex64\"&&t!=null)throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");let o={id:this.nextDataId()};return this.texData.set(o,{shape:e,dtype:n,values:t,usage:Yr.UPLOAD,refCount:1}),o}refCount(t){return this.texData.has(t)?this.texData.get(t).refCount:0}incRef(t){let e=this.texData.get(t);e.refCount++}decRef(t){if(this.texData.has(t)){let e=this.texData.get(t);e.refCount--}}move(t,e,n,o,s){if(L().getBool(\"DEBUG\")&&this.checkNumericalProblems(e),o===\"complex64\")throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");this.texData.set(t,{shape:n,dtype:o,values:e,usage:Yr.UPLOAD,refCount:s})}disposeIntermediateTensorInfo(t){this.disposeData(t.dataId)}readSync(t){let e=this.texData.get(t),{values:n,dtype:o,complexTensorInfos:s,slice:i,shape:a,isPacked:u}=e;if(i!=null){let m;u?m=new Dn(a,Ia):m=new Lr(a,Ia);let f=this.runWebGLProgram(m,[{dataId:t,shape:a,dtype:o}],o),d=this.readSync(f.dataId);return this.disposeIntermediateTensorInfo(f),d}if(n!=null)return this.convertAndCacheOnCPU(t);if(o===\"string\")return n;let l=this.activeTimers!=null,c;l&&(c=y.now());let p;if(o===\"complex64\"){let m=this.readSync(s.real.dataId),f=this.readSync(s.imag.dataId);p=S.mergeRealAndImagArrays(m,f)}else p=this.getValuesFromTexture(t);return l&&(this.downloadWaitMs+=y.now()-c),this.convertAndCacheOnCPU(t,p)}async read(t){if(this.pendingRead.has(t)){let d=this.pendingRead.get(t);return new Promise(h=>d.push(h))}let e=this.texData.get(t),{values:n,shape:o,slice:s,dtype:i,complexTensorInfos:a,isPacked:u}=e;if(s!=null){let d;u?d=new Dn(o,Ia):d=new Lr(o,Ia);let h=this.runWebGLProgram(d,[{dataId:t,shape:o,dtype:i}],i),g=this.read(h.dataId);return this.disposeIntermediateTensorInfo(h),g}if(n!=null)return this.convertAndCacheOnCPU(t);if(L().getBool(\"DEBUG\")&&!L().getBool(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\")&&L().getNumber(\"WEBGL_VERSION\")===2)throw new Error(\"tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.\");let l=null,c;if(i!==\"complex64\"&&L().get(\"WEBGL_BUFFER_SUPPORTED\")){c=this.decode(t);let d=this.texData.get(c.dataId);l=this.gpgpu.createBufferFromTexture(d.texture.texture,...og(o))}this.pendingRead.set(t,[]),i!==\"complex64\"&&await this.gpgpu.createAndWaitForFence();let p;if(i===\"complex64\"){let d=await Promise.all([this.read(a.real.dataId),this.read(a.imag.dataId)]),h=d[0],g=d[1];p=S.mergeRealAndImagArrays(h,g)}else if(l==null)p=this.getValuesFromTexture(t);else{let d=y.sizeFromShape(o);p=this.gpgpu.downloadFloat32MatrixFromBuffer(l,d)}if(c!=null&&this.disposeIntermediateTensorInfo(c),l!=null){let d=this.gpgpu.gl;ht(d,()=>d.deleteBuffer(l))}let m=this.convertAndCacheOnCPU(t,p),f=this.pendingRead.get(t);return this.pendingRead.delete(t),f.forEach(d=>d(m)),this.pendingDisposal.has(t)&&(this.pendingDisposal.delete(t),this.disposeData(t)&&Bn().removeDataId(t,this),this.pendingDeletes--),m}readToGPU(t,e={}){let n=this.texData.get(t),{values:o,shape:s,slice:i,dtype:a,isPacked:u,texture:l}=n;if(a===\"complex64\")throw new Error(\"Does not support reading texture for complex64 dtype.\");if(i!=null){let f;u?f=new Dn(s,Ia):f=new Lr(s,Ia);let d=this.runWebGLProgram(f,[{dataId:t,shape:s,dtype:a}],a),h=this.readToGPU(d,e);return this.disposeIntermediateTensorInfo(d),h}if(l==null)throw o!=null?new Error(\"Data is not on GPU but on CPU.\"):new Error(\"There is no data on GPU or CPU.\");let c=this.decode(t,e.customTexShape),p=Bn().makeTensorFromTensorInfo(c),m=this.texData.get(c.dataId);return Object.assign({tensorRef:p},m.texture)}bufferSync(t){let e=this.readSync(t.dataId);if(t.dtype===\"string\")try{let n=e.map(o=>y.decodeString(o));return wt(t.shape,t.dtype,n)}catch(n){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return wt(t.shape,t.dtype,e)}checkNumericalProblems(t){if(t!=null)for(let e=0;e0}time(t){let e=this.activeTimers,n=[],o=!1;this.programTimersStack==null?(this.programTimersStack=n,o=!0):this.activeTimers.push(n),this.activeTimers=n,t();let s=y.flatten(this.activeTimers.map(u=>u.query)).filter(u=>u!=null),i=y.flatten(this.activeTimers.map(u=>u.name)).filter(u=>u!=null);this.activeTimers=e,o&&(this.programTimersStack=null);let a={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if(L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0){let u=await Promise.all(s);a.kernelMs=y.sum(u),a.getExtraProfileInfo=()=>u.map((l,c)=>({name:i[c],ms:l})).map(l=>`${l.name}: ${l.ms}`).join(\", \")}else a.kernelMs={error:\"WebGL query timers are not supported in this environment.\"};return this.uploadWaitMs=0,this.downloadWaitMs=0,a})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0?this.gpgpu.beginQuery():{startMs:y.now(),endMs:null}}endTimer(t){return L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0?(this.gpgpu.endQuery(),t):(t.endMs=y.now(),t)}async getQueryTime(t){if(L().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0)return this.gpgpu.waitForQueryAndGetTime(t);let e=t;return e.endMs-e.startMs}disposeData(t,e=!1){if(this.pendingDisposal.has(t))return!1;if(!this.texData.has(t))return!0;if(e?this.texData.get(t).refCount=0:this.texData.get(t).refCount--,!e&&this.texData.get(t).refCount>0)return!1;if(this.pendingRead.has(t))return this.pendingDisposal.add(t),this.pendingDeletes++,!1;this.releaseGPUData(t);let{complexTensorInfos:n}=this.texData.get(t);return n!=null&&(this.disposeData(n.real.dataId,e),this.disposeData(n.imag.dataId,e)),this.texData.delete(t),!0}releaseGPUData(t){let{texture:e,dtype:n,texShape:o,usage:s,isPacked:i,slice:a}=this.texData.get(t),u=a&&a.origDataId||t,l=this.dataRefCount.get(u);l>1?this.dataRefCount.set(u,l-1):(this.dataRefCount.delete(u),e!=null&&(this.numBytesInGPU-=this.computeBytes(o,n),this.textureManager.releaseTexture(e,o,s,i)));let c=this.texData.get(t);c.texture=null,c.texShape=null,c.isPacked=!1,c.slice=null}getTexture(t){return this.uploadToGPU(t),this.texData.get(t).texture.texture}getDataInfo(t){return this.texData.get(t)}shouldExecuteOnCPU(t,e=Uot){return L().getBool(\"WEBGL_CPU_FORWARD\")&&t.every(n=>this.texData.get(n.dataId).texture==null&&y.sizeFromShape(n.shape)0&&y.isString(n[0])){let s=n.map(i=>y.encodeString(i));o=this.write(s,t,e)}else o=this.write(n,t,e);return this.texData.get(o).usage=null,{dataId:o,shape:t,dtype:e}}makeOutput(t,e,n){return Bn().makeTensorFromTensorInfo(this.makeTensorInfo(t,e,n),this)}unpackTensor(t){let e=new nI(t.shape);return this.runWebGLProgram(e,[t],t.dtype)}packTensor(t){let e=new eI(t.shape);return this.runWebGLProgram(e,[t],t.dtype,null,!0)}packedReshape(t,e){let n=[Fl(t.shape),...Ol(t.shape)],o={dtype:t.dtype,shape:n,dataId:t.dataId},s=[Fl(e),...Ol(e)],i=new Ed(s,n),a=!0,u=[n],l=this.runWebGLProgram(i,[o],t.dtype,u,a);return{dataId:l.dataId,shape:e,dtype:l.dtype}}decode(t,e){let n=this.texData.get(t),{isPacked:o,shape:s,dtype:i}=n;if(e!=null){let m=y.sizeFromShape(s),f=e[0]*e[1]*4;y.assert(m<=f,()=>\"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data.\")}let a=wd(s),u;o?u=new Ww(a):u=new Gw(a);let l=!0,c=[e!=null?e:og(a)],p=this.runWebGLProgram(u,[{shape:a,dtype:i,dataId:t}],i,c,l,e);return{dtype:i,shape:s,dataId:p.dataId}}runWebGLProgram(t,e,n,o,s=!1,i){let a=this.makeTensorInfo(t.outputShape,n),u=this.texData.get(a.dataId);if(t.packedOutput&&(u.isPacked=!0),t.outPackingScheme===Wu.DENSE){let x=i!=null?i:og(t.outputShape);u.texShape=x.map(b=>b*2)}if(t.outTexUsage!=null&&(u.usage=t.outTexUsage),y.sizeFromShape(a.shape)===0)return u.values=y.getTypedArrayFromDType(a.dtype,0),a;let l=[],c=e.map(x=>{if(x.dtype===\"complex64\")throw new Error(\"GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.\");let b=this.texData.get(x.dataId);if(b.texture==null){if(!t.packedInputs&&y.sizeFromShape(x.shape)<=L().getNumber(\"WEBGL_SIZE_UPLOAD_UNIFORM\"))return{shape:x.shape,texData:null,isUniform:!0,uniformValues:b.values};t.packedInputs&&(b.isPacked=!0,b.shape=x.shape)}if(this.uploadToGPU(x.dataId),!!b.isPacked!=!!t.packedInputs)x=b.isPacked?this.unpackTensor(x):this.packTensor(x),l.push(x),b=this.texData.get(x.dataId);else if(b.isPacked&&!Uu(b.shape,x.shape)){let w=x,I=x.shape;x.shape=b.shape,x=this.packedReshape(x,I),l.push(x),b=this.texData.get(x.dataId),w.shape=I}return{shape:x.shape,texData:b,isUniform:!1}});this.uploadToGPU(a.dataId);let p={shape:a.shape,texData:u,isUniform:!1},m=GL(t,c,p),f=this.getAndSaveBinary(m,()=>BL(this.gpgpu,t,c,p)),d=this.activeTimers!=null,h;d&&(h=this.startTimer()),L().get(\"ENGINE_COMPILE_ONLY\")||VL(this.gpgpu,f,c,p,o),l.forEach(x=>this.disposeIntermediateTensorInfo(x)),d&&(h=this.endTimer(h),this.activeTimers.push({name:t.constructor.name,query:this.getQueryTime(h)}));let g=L().getNumber(\"WEBGL_FLUSH_THRESHOLD\");if(g>0){let x=y.now();x-this.lastGlFlushTime>g&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=x)}if(!L().getBool(\"WEBGL_LAZILY_UNPACK\")&&u.isPacked&&s===!1){let x=this.unpackTensor(a);return this.disposeIntermediateTensorInfo(a),x}return a}compileAndRun(t,e,n,o,s=!1){return n=n||e[0].dtype,this.runWebGLProgram(t,e,n,o,s)}getAndSaveBinary(t,e){return t in this.binaryCache||(this.binaryCache[t]=e()),this.binaryCache[t]}getTextureManager(){return this.textureManager}dispose(){this.disposed||(L().getBool(\"IS_TEST\")||Object.keys(this.binaryCache).forEach(e=>{this.gpgpu.deleteProgram(this.binaryCache[e].webGLProgram),delete this.binaryCache[e]}),this.textureManager.dispose(),this.canvas!=null&&typeof HTMLCanvasElement!=\"undefined\"&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0)}floatPrecision(){return this.floatPrecisionValue==null&&(this.floatPrecisionValue=B(()=>{if(!L().get(\"WEBGL_RENDER_FLOAT32_ENABLED\")){let t=L().getBool(\"DEBUG\");L().set(\"DEBUG\",!1);let e=this.abs(pt(1e-8)).dataSync()[0];if(L().set(\"DEBUG\",t),e>0)return 32}return 16})),this.floatPrecisionValue}epsilon(){return this.floatPrecision()===32?Vot:Got}uploadToGPU(t){let e=this.texData.get(t),{shape:n,dtype:o,values:s,texture:i,usage:a,isPacked:u}=e;if(i!=null)return;let l=this.activeTimers!=null,c;l&&(c=y.now());let p=e.texShape;if(p==null&&(p=t1(n,u),e.texShape=p),s!=null){let m=wd(n),f,d=p[1],h=p[0],g=s instanceof Uint8Array||s instanceof Uint8ClampedArray;(u||!g)&&([d,h]=wa(p[0],p[1])),u?f=new qw(m,g):f=new lg(m,g);let x=g?[h,d]:p,b=this.makeTensorInfo(x,o),w=this.texData.get(b.dataId);g?w.usage=Yr.PIXELS:w.usage=Yr.UPLOAD,w.texShape=x,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(b.dataId),d,h,s);let I=[[h,d]],E=this.runWebGLProgram(f,[b],o,I,!0),A=this.texData.get(E.dataId);e.texShape=A.texShape,e.isPacked=A.isPacked,e.usage=A.usage,L().get(\"ENGINE_COMPILE_ONLY\")?this.disposeData(E.dataId):(e.texture=A.texture,e.values=null,this.texData.delete(E.dataId)),this.disposeIntermediateTensorInfo(b),l&&(this.uploadWaitMs+=y.now()-c)}else{let m=this.acquireTexture(p,a,o,u);e.texture=m}}convertAndCacheOnCPU(t,e){let n=this.texData.get(t),{dtype:o}=n;return e!=null&&(n.values=Kot(e,o)),n.values}acquireTexture(t,e,n,o){if(this.numBytesInGPU+=this.computeBytes(t,n),!this.warnedAboutMemory&&this.numBytesInGPU>this.numMBBeforeWarning*1024*1024){let s=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${s} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(t,e,o)}computeBytes(t,e){return t[0]*t[1]*y.bytesPerElement(e)}checkCompileCompletion(){for(let[,t]of Object.entries(this.binaryCache))this.checkCompletion_(t)}async checkCompileCompletionAsync(){let t=[];if(this.gpgpu.parallelCompilationExtension){for(let[,e]of Object.entries(this.binaryCache))t.push(this.checkCompletionAsync_(e));return Promise.all(t)}else{for(let[,e]of Object.entries(this.binaryCache)){let n=new Promise(o=>{try{this.checkCompletion_(e),o(!0)}catch(s){throw s}});t.push(n)}return Promise.all(t)}}async checkCompletionAsync_(t){return this.gpgpu.gl.getProgramParameter(t.webGLProgram,this.gpgpu.parallelCompilationExtension.COMPLETION_STATUS_KHR)?this.checkCompletion_(t):(await Ih(),this.checkCompletionAsync_(t))}checkCompletion_(t){if(this.gpgpu.gl.getProgramParameter(t.webGLProgram,this.gpgpu.gl.LINK_STATUS)===!1)throw console.log(this.gpgpu.gl.getProgramInfoLog(t.webGLProgram)),this.gpgpu.gl.getShaderParameter(t.fragmentShader,this.gpgpu.gl.COMPILE_STATUS)===!1?(Mw(t.source,this.gpgpu.gl.getShaderInfoLog(t.fragmentShader)),new Error(\"Failed to compile fragment shader.\")):new Error(\"Failed to link vertex and fragment shaders.\");return!0}getUniformLocations(){for(let t of Object.values(this.binaryCache)){this.gpgpu.buildVao(t.webGLProgram);let{variablesLocations:e,customUniformLocations:n,infLoc:o,nanLoc:s,outShapeLocation:i,outShapeStridesLocation:a,outTexShapeLocation:u}=a1(this.gpgpu,t.program,t.webGLProgram);t.variablesLocations=e,t.customUniformLocations=n,t.infLoc=o,t.nanLoc=s,t.outShapeLocation=i,t.outShapeStridesLocation=a,t.outTexShapeLocation=u}}createTensorFromGPUData(t,e,n){t.channels=t.channels||\"RGBA\";let{texture:o,height:s,width:i,channels:a}=t,u=Bn().backend;if(!u.gpgpu.gl.isTexture(o))throw new Error(\"The texture is invalid. Also, please make sure the texture and the TFJS WebGL backend are using the same canvas. If you want to use your own custom canvas, you have to create and use the custom TFJS WebGL backend created from the canvas through 'new tf.MathBackendWebGL(customCanvas)'.\");let l=u.writeTexture(o,e,n,s,i,a);return Bn().makeTensorFromDataId(l,e,n,u)}};Ad.nextDataId=0;function Kot(r,t){if(t===\"float32\"||t===\"complex64\")return r;if(t===\"int32\"||t===\"bool\"){let e=t===\"int32\"?new Int32Array(r.length):new Uint8Array(r.length);for(let n=0;nnew Ad,2);var N$e={forceHalfFloat:Yz};var Dd=`\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n`;var $n=class{constructor(t,e,n){this.variableNames=[\"A\",\"B\"],this.outputShape=S.assertAndGetBroadcastShape(e,n),this.enableShapeUniforms=he(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${t}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}};var Xn=`\n result.r = isNaN.r ? NAN : result.r;\n result.g = isNaN.g ? NAN : result.g;\n result.b = isNaN.b ? NAN : result.b;\n result.a = isNaN.a ? NAN : result.a;\n`;var jn=class{constructor(t,e,n,o=!1){this.variableNames=[\"A\",\"B\"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=S.assertAndGetBroadcastShape(e,n);let s=this.outputShape.length;this.enableShapeUniforms=he(s);let i=\"\";if(o)if(s===0||y.sizeFromShape(this.outputShape)===1)i=`\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n `;else if(i=`\n ${zt(s)} coords = getOutputCoords();\n `,s===1)this.enableShapeUniforms?i+=`\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `:i+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{let u=rr(\"coords\",s);this.enableShapeUniforms?i+=`\n bool nextRowOutOfBounds =\n (${u[s-2]} + 1) >= outShape[${s} - 2];\n bool nextColOutOfBounds =\n (${u[s-1]} + 1) >= outShape[${s} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:i+=`\n bool nextRowOutOfBounds =\n (${u[s-2]} + 1) >= ${this.outputShape[s-2]};\n bool nextColOutOfBounds =\n (${u[s-1]} + 1) >= ${this.outputShape[s-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${t}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${i}\n\n setOutput(result);\n }\n `}};function nr(r){let{inputs:t,backend:e}=r,{x:n}=t;return e.incRef(n.dataId),{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}var Zz={kernelName:go,backendName:\"webgl\",kernelFunc:nr};function Rn(r){let{inputs:t,backend:e}=r,{real:n,imag:o}=t,s=e.makeTensorInfo(n.shape,\"complex64\"),i=e.texData.get(s.dataId),a=nr({inputs:{x:n},backend:e}),u=nr({inputs:{x:o},backend:e});return i.complexTensorInfos={real:a,imag:u},s}var Jz={kernelName:Ap,backendName:\"webgl\",kernelFunc:Rn};var T1=\"return (a < 0.) ? b * a : a;\",_1=`\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`;function jot(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{alpha:s}=n,i=e.makeTensorInfo([],\"float32\",y.createScalarValue(s,\"float32\")),a=L().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new jn(_1,o.shape,i.shape):new $n(T1,o.shape,i.shape),u=e.runWebGLProgram(a,[o,i],\"float32\");return e.disposeIntermediateTensorInfo(i),u}var Qz={kernelName:bs,backendName:\"webgl\",kernelFunc:jot};var E1=\"return (a < 0.) ? b * a : a;\",A1=`\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`;function Xot(r){let{inputs:t,backend:e}=r,{x:n,alpha:o}=t,s=L().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new jn(A1,n.shape,o.shape):new $n(E1,n.shape,o.shape);return e.runWebGLProgram(s,[n,o],\"float32\")}var t3={kernelName:Os,backendName:\"webgl\",kernelFunc:Xot};var Po=\"if (isnan(x)) return x;\";function It({opSnippet:r,packedOpSnippet:t,cpuKernelImpl:e,dtype:n}){return({inputs:o,backend:s})=>{let{x:i}=o,a=s,u=n||i.dtype;if(a.shouldExecuteOnCPU([i])&&e!=null){let p=a.texData.get(i.dataId),m=e(p.values,u);return a.makeTensorInfo(i.shape,u,m)}let l=L().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")&&t!=null,c;return l?c=new Dn(i.shape,t):c=new Lr(i.shape,r),a.runWebGLProgram(c,[i],u)}}function ce({opSnippet:r,packedOpSnippet:t,checkOutOfBounds:e=!1,supportsComplex:n=!1,cpuKernelImpl:o,dtype:s}){return({inputs:i,backend:a})=>{let{a:u,b:l}=i,c=a;if(n&&u.dtype===\"complex64\"){let d=c.texData.get(u.dataId),h=c.texData.get(l.dataId),[g,x]=[[d.complexTensorInfos.real,h.complexTensorInfos.real],[d.complexTensorInfos.imag,h.complexTensorInfos.imag]].map(w=>{let[I,N]=w,E={dataId:I.dataId,dtype:I.dtype,shape:u.shape},A={dataId:N.dataId,dtype:N.dtype,shape:l.shape},D=new $n(r,u.shape,l.shape);return c.runWebGLProgram(D,[E,A],ur(I.dtype,N.dtype))}),b=Rn({inputs:{real:g,imag:x},backend:c});return c.disposeIntermediateTensorInfo(g),c.disposeIntermediateTensorInfo(x),b}let p=s||ur(u.dtype,l.dtype);if((u.dtype===\"string\"||l.dtype===\"string\"||c.shouldExecuteOnCPU([u,l]))&&o!=null){let d=c.texData.get(u.dataId).values,h=c.texData.get(l.dataId).values,g=u.dtype===\"string\"?S.fromUint8ToStringArray(d):d,x=u.dtype===\"string\"?S.fromUint8ToStringArray(h):h,[b,w]=o(u.shape,l.shape,g,x,p),I=c.makeTensorInfo(w,p),N=c.texData.get(I.dataId);return N.values=b,I}let m=L().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")&&t!=null,f;return m?f=new jn(t,u.shape,l.shape,e):f=new $n(r,u.shape,l.shape),c.runWebGLProgram(f,[u,l],p)}}function Ml(r,t=!1){if(r===\"linear\")return t?Uz:Lz;if(r===\"relu\")return t?qz:Bz;if(r===\"elu\")return t?Hz:zz;if(r===\"relu6\")return t?Kz:Vz;if(r===\"prelu\")return t?A1:E1;if(r===\"leakyrelu\")return t?_1:T1;if(r===\"sigmoid\")return t?jz:Gz;throw new Error(`Activation ${r} has not been implemented for the WebGL backend.`)}var $d=class{constructor(t,e,n,o=!1,s=!1,i=!1,a=null,u=!1,l=!1){this.variableNames=[\"matrixA\",\"matrixB\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=n,this.enableShapeUniforms=he(this.outputShape.length);let c=o?t[1]:t[2],p=Math.ceil(c/2),m=o?\"i * 2, rc.y\":\"rc.y, i * 2\",f=s?\"rc.z, i * 2\":\"i * 2, rc.z\",d=o?[\"a.xxyy\",\"a.zzww\"]:[\"a.xxzz\",\"a.yyww\"],h=s?[\"b.xzxz\",\"b.ywyw\"]:[\"b.xyxy\",\"b.zwzw\"],g=\"\",x=\"\";a&&(u?g=`vec4 activation(vec4 a) {\n vec4 b = getPreluActivationWeightsAtOutCoords();\n ${a}\n }`:l?g=`vec4 activation(vec4 a) {\n vec4 b = getLeakyreluAlphaAtOutCoords();\n ${a}\n }`:g=`vec4 activation(vec4 x) {\n ${a}\n }`,x=\"result = activation(result);\");let b=i?\"result += getBiasAtOutCoords();\":\"\";i&&this.variableNames.push(\"bias\"),u&&this.variableNames.push(\"preluActivationWeights\"),l&&this.variableNames.push(\"leakyreluAlpha\");let w=\"rc.x\",I=\"rc.x\";t[0]`The new shape (${u}) has ${l} elements and the old shape (${o.shape}) has ${a} elements. The new shape and old shape must have the same number of elements.`);let c=i.texData.get(o.dataId);return c.isPacked&&!Uu(o.shape,u)&&!(c.texture!==null&&Uu(c.shape,u))?n3(o,u,i):(i.incRef(o.dataId),{dataId:o.dataId,shape:u,dtype:o.dtype})}var o3={kernelName:Vi,backendName:\"webgl\",kernelFunc:rt};var mg=class{constructor(t,e){this.variableNames=[\"x\"];let{windowSize:n,batchSize:o,inSize:s,outSize:i}=t;this.outputShape=[o,i];let a=Math.floor(n/4)*4,u=n%4,l=\"sumValue += dot(values, ones);\";if(e!=null){let p=1/e;l=`sumValue += dot(values * ${y.isInt(p)?p.toPrecision(2):p}, ones);`}let c=\"\";s%n>0&&(c=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${a}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${l}\n }\n\n int inIdx = inOffset + ${a};\n if (${u===1}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${l}\n } else if (${u===2}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${l}\n } else if (${u===3}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${l}\n }\n setOutput(sumValue);\n }\n `}};var sI=class{constructor(t,e){this.variableNames=[\"x\"];let{windowSize:n,batchSize:o,inSize:s,outSize:i}=t;this.outputShape=[o,i];let a=\"0.0\",u=\"\";e===\"prod\"?a=\"1.0\":e===\"min\"?(a=\"1.0 / 1e-20\",u=\"min\"):e===\"max\"&&(a=\"-1.0 / 1e-20\",u=\"max\");let l=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;e===\"sum\"?l=\"sumValue\":e===\"prod\"?l=\"prodValue\":e===\"all\"?l=\"allValue\":e===\"any\"&&(l=\"anyValue\");let c=Math.floor(n/4)*4,p=n%4,m=`\n if (${e===\"sum\"}) {\n sumValue += dot(values, ones);\n } else if (${e===\"prod\"}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${u}(values, minMaxValue);\n if (${e===\"min\"} || ${e===\"max\"}) {\n minMaxValue = ${u}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,f=\"vec4\";e===\"all\"?(a=\"1.0\",m=`\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n `,f=\"bvec4\"):e===\"any\"&&(a=\"0.0\",m=`\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n `,f=\"bvec4\");let d=\"\";s%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${a};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${d}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n vec4 minMaxValue = vec4(${a});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${c}; i += 4) {\n int inIdx = inOffset + i;\n ${f} values = ${f}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${m}\n }\n\n int inIdx = inOffset + ${c};\n if (${p===1}) {\n ${f} values = ${f}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${m}\n } else if (${p===2}) {\n ${f} values = ${f}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${m}\n } else if (${p===3}) {\n ${f} values = ${f}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${m}\n }\n setOutput(${l});\n }\n `}};function Zot(r){let t=[];for(;t.length===0||t[t.length-1].outSize!==1;){let e=t.length?t[t.length-1].outSize:r[1],n=S.computeOptimalWindowSize(e);t.push({inSize:e,windowSize:n,outSize:Math.ceil(e/n)})}return t}function Yn(r,t,e,n){let o=Zot(r.shape),s=r;for(let i=0;i6)throw Error(`Transpose for rank ${t} is not yet supported`);let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\",\"resRC.v\"],n=new Array(t);for(let o=0;o6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);let o=zt(this.rank),s=N1(\"rc\",this.rank),i=new Array(this.rank);for(let c=0;c`Error in matMul: inner shapes (${p}) and (${m}) of Tensors with shapes ${r.shape} and ${t.shape} and transposeA=${e} and transposeB=${n} must match.`);let N=e?[x,p,f]:[x,f,p],E=n?[b,d,m]:[b,m,d],A=rt({inputs:{x:r},backend:o,attrs:{shape:N}}),D=rt({inputs:{x:t},backend:o,attrs:{shape:E}}),F=[A,D],M=Math.max(x,b),V=e?A.shape[1]:A.shape[2],G=s!=null,W=i!=null,q=u===\"leakyrelu\",H=u!=null?Ml(u,!0):null,K=G||W||q||H!=null,Y;if((f===1||d===1)&&V>$1&&K===!1){let et=A,nt=D;e&&(et=Pe({inputs:{x:A},backend:o,attrs:{perm:[0,2,1]}}),F.push(et)),n&&(nt=Pe({inputs:{x:D},backend:o,attrs:{perm:[0,2,1]}}),F.push(nt));let st=d!==1,lt=d===1,ot=et;st&&(ot=rt({inputs:{x:et},backend:o,attrs:{shape:[M,V,1]}}),F.push(ot));let it=d===1?2:1,ft=nt;lt&&(ft=rt({inputs:{x:nt},backend:o,attrs:{shape:[M,1,V]}}),F.push(ft));let gt=pg({inputs:{a:ot,b:ft},backend:o});Y=fp({inputs:{x:gt},backend:o,attrs:{axis:it,keepDims:!0}}),F.push(gt)}else{let et=ur(r.dtype,t.dtype),nt=new $d(N,E,[M,f,d],e,n,G,H,W,q),st=[A,D];if(s!=null&&st.push(s),W&&st.push(i),q){let lt=o.makeTensorInfo([],\"float32\",y.createScalarValue(a,\"float32\"));st.push(lt),F.push(lt)}Y=o.runWebGLProgram(nt,st,et)}let Z=rt({inputs:{x:Y},backend:o,attrs:{shape:I}});F.push(Y);for(let et of F)o.disposeIntermediateTensorInfo(et);return Z}function Qot(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s,bias:i,preluActivationWeights:a}=t,{transposeA:u,transposeB:l,activation:c,leakyreluAlpha:p}=n;return dp({a:o,b:s,transposeA:u,transposeB:l,backend:e,bias:i,preluActivationWeights:a,leakyreluAlpha:p,activation:c})}var l3={kernelName:ji,backendName:\"webgl\",kernelFunc:Qot};var u3=\"return abs(x);\";function tst(r){let{inputs:t,backend:e}=r,{x:n}=t;if(e.shouldExecuteOnCPU([n])&&n.dtype!==\"complex64\"){let s=e.texData.get(n.dataId),i=Qw(s.values);return e.makeTensorInfo(n.shape,n.dtype,i)}let o;return L().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")?o=new Dn(n.shape,u3):o=new Lr(n.shape,u3),e.runWebGLProgram(o,[n],n.dtype)}var c3={kernelName:Ei,backendName:\"webgl\",kernelFunc:tst};var est=xr+`\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n`,rst=It({opSnippet:est}),p3={kernelName:Go,backendName:\"webgl\",kernelFunc:rst};var nst=xr+`\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));`,ost=It({opSnippet:nst}),m3={kernelName:Wo,backendName:\"webgl\",kernelFunc:ost};var f3=\"return a + b;\",sst=ce({opSnippet:f3,packedOpSnippet:f3,supportsComplex:!0,cpuKernelImpl:WL}),d3={kernelName:no,backendName:\"webgl\",kernelFunc:sst};var lI=class{constructor(t,e){this.outputShape=[],this.outputShape=t,this.variableNames=e.map((s,i)=>`T${i}`);let n=[];this.variableNames.forEach(s=>{n.push(`float v${s} = get${s}AtOutCoords();`)});let o=this.variableNames.map(s=>`v${s}`).join(\" + \");this.userCode=`\n void main() {\n ${n.join(`\n `)}\n\n float result = ${o};\n setOutput(result);\n }\n `}};var uI=class{constructor(t,e){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.variableNames=e.map((s,i)=>`T${i}`);let n=[];this.variableNames.forEach(s=>{n.push(`vec4 v${s} = get${s}AtOutCoords();`)});let o=this.variableNames.map(s=>`v${s}`).join(\" + \");this.userCode=`\n void main() {\n ${n.join(`\n `)}\n\n vec4 result = ${o};\n setOutput(result);\n }\n `}};function cI(r){let{inputs:t,backend:e}=r,n=t;if(n.length===1)return nr({inputs:{x:n[0]},backend:e});if(n.length>L().getNumber(\"WEBGL_MAX_TEXTURES_IN_SHADER\")){let u=Math.floor(n.length/2),l=cI({inputs:n.slice(0,u),backend:e}),c=cI({inputs:n.slice(u),backend:e});return cI({inputs:[l,c],backend:e})}let o=n.map(u=>u.dtype).reduce((u,l)=>ur(u,l)),s=n.map(u=>u.shape),a=L().getBool(\"WEBGL_PACK\")?new uI(n[0].shape,s):new lI(n[0].shape,s);return e.runWebGLProgram(a,n,o)}var h3={kernelName:Uo,backendName:\"webgl\",kernelFunc:cI};function ist(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=o.shape.length,u=y.parseAxisParam(s,o.shape),l=u,c=S.getAxesPermutation(l,a),p=o;c!=null&&(p=Pe({inputs:{x:o},backend:e,attrs:{perm:c}}),l=S.getInnerMostAxes(l.length,a)),S.assertAxesAreInnerMostDims(\"all\",l,a);let[m,f]=S.computeOutAndReduceShapes(p.shape,l),d=y.sizeFromShape(f),h=rt({inputs:{x:p},backend:e,attrs:{shape:[-1,d]}}),g=Yn(h,h.dtype,\"all\",e),x;if(i){let b=S.expandShapeToKeepDim(m,u);x=rt({inputs:{x:g},backend:e,attrs:{shape:b}})}else x=rt({inputs:{x:g},backend:e,attrs:{shape:m}});return e.disposeIntermediateTensorInfo(h),e.disposeIntermediateTensorInfo(g),c!=null&&e.disposeIntermediateTensorInfo(p),x}var g3={kernelName:Ea,backendName:\"webgl\",kernelFunc:ist};function ast(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=o.shape.length,u=y.parseAxisParam(s,o.shape),l=u,c=S.getAxesPermutation(l,a),p=o;c!=null&&(p=Pe({inputs:{x:o},backend:e,attrs:{perm:c}}),l=S.getInnerMostAxes(l.length,a)),S.assertAxesAreInnerMostDims(\"any\",l,a);let[m,f]=S.computeOutAndReduceShapes(p.shape,l),d=y.sizeFromShape(f),h=rt({inputs:{x:p},backend:e,attrs:{shape:[-1,d]}}),g=Yn(h,h.dtype,\"any\",e),x;if(i){let b=S.expandShapeToKeepDim(m,u);x=rt({inputs:{x:g},backend:e,attrs:{shape:b}})}else x=rt({inputs:{x:g},backend:e,attrs:{shape:m}});return e.disposeIntermediateTensorInfo(h),e.disposeIntermediateTensorInfo(g),c!=null&&e.disposeIntermediateTensorInfo(p),x}var x3={kernelName:Aa,backendName:\"webgl\",kernelFunc:ast};var pI=class{constructor(t,e,n){this.variableNames=[\"A\"];let{windowSize:o,batchSize:s,outSize:i}=t;n||this.variableNames.push(\"bestIndicesA\"),this.outputShape=[s,i];let a=e===\"max\"?\">\":\"<\",u=n?\"inOffset + i;\":\"round(getBestIndicesA(batch, inOffset + i));\";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${o};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${o}; i++) {\n int inIdx = ${u};\n float candidate = getA(batch, inIdx);\n if (candidate ${a} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}};var mI=class{constructor(t,e,n,o){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,y.assert(t.length>2,()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`);let s=t[t.length-1],i=Math.ceil(s/e);this.outputShape=t.slice(0,-1),i>1&&this.outputShape.push(i),o||this.variableNames.push(\"bestIndicesA\");let a=this.outputShape,u=a.length,l=zt(u),c=rr(\"coords\",u),p,m;if(i===1){m=u+1;let D=zt(m);p=`\n ${D} sourceLocR = ${D}(${c.join()}, 0);\n ++${c[u-1]};\n ${D} sourceLocG = ${D}(${c.join()}, 0);\n ++${c[u-2]};\n ${D} sourceLocA = ${D}(${c.join()}, 0);\n --${c[u-1]};\n ${D} sourceLocB = ${D}(${c.join()}, 0);\n --${c[u-2]};`}else m=u,p=`\n ${l} sourceLocR = coords;\n ++${c[u-1]};\n ${l} sourceLocG = coords;\n ++${c[u-2]};\n ${l} sourceLocA = coords;\n --${c[u-1]};\n ${l} sourceLocB = coords;\n --${c[u-2]};`;let f=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"].slice(0,m),d=\".\"+f[m-1],h=f.map(D=>\"int \"+D),g=rr(\"sourceLocR\",m-1).concat(\"inIdx.r\"),x=rr(\"sourceLocG\",m-1).concat(\"inIdx.g\"),b=rr(\"sourceLocB\",m-1).concat(\"inIdx.b\"),w=rr(\"sourceLocA\",m-1).concat(\"inIdx.a\"),I=n===\"max\"?\"greaterThan\":\"lessThan\",N=o?\"\":`\n inIdx = round(vec4(getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${x.join()}),\n getBestIndicesAChannel(${b.join()}),\n getBestIndicesAChannel(${w.join()})));`,E=`vec4(\n getAChannel(${g.join()}),\n hasNextCol ? getAChannel(${x.join()}) : 0.,\n hasNextRow ? getAChannel(${b.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${w.join()}) : 0.)`,A=o?\"\":`\n float getBestIndicesAChannel(${h.join()}) {\n return getChannel(getBestIndicesA(${f.join()}),\n vec2(${f.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${h.join()}) {\n return getChannel(getA(${f.join()}),\n vec2(${f.slice(-2).join()}));\n }\n ${A}\n void main() {\n ${l} coords = getOutputCoords();\n bool hasNextCol = ${c[u-1]} < ${a[u-1]-1};\n bool hasNextRow = ${c[u-2]} < ${a[u-2]-1};\n ${p}\n ivec4 srcIdx = ivec4(sourceLocR${d}, sourceLocG${d},\n sourceLocB${d}, sourceLocA${d}) * ${e};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${E};\n\n for (int i = 0; i < ${e}; i++) {\n inIdx = srcIdx;\n ${N}\n vec4 candidate = ${E};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${I}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}};function y3(r,t,e,n=null){let o=t.shape[0],s=t.shape[1];n!=null&&(o=n.shape[0],s=n.shape[1]);let i=S.computeOptimalWindowSize(s),a={windowSize:i,inSize:s,batchSize:o,outSize:Math.ceil(s/i)},u=new pI(a,e,n==null),l=[t];n!=null&&l.push(n);let c=r.runWebGLProgram(u,l,\"int32\");if(c.shape[1]===1)return c;let p=y3(r,t,e,c);return r.disposeIntermediateTensorInfo(c),p}function b3(r,t,e,n=null){let o=n!=null?n.shape:t.shape,s=o[o.length-1],i=S.computeOptimalWindowSize(s),a=new mI(o,i,e,n==null),u=n==null?[t]:[t,n],l=r.runWebGLProgram(a,u,\"int32\");if(l.shape.length===t.shape.length){let c=b3(r,t,e,l);return r.disposeIntermediateTensorInfo(l),c}return l}function fI(r,t,e,n){let o=[e];if(S.assertAxesAreInnerMostDims(\"arg\"+n.charAt(0).toUpperCase()+n.slice(1),o,t.shape.length),!L().getBool(\"WEBGL_PACK_REDUCE\")||t.shape.length<=2){let s=[],i=r.texData.get(t.dataId),a=i!==null&&i.isPacked,u=t;a&&(u=r.unpackTensor(t),s.push(u));let[l,c]=S.computeOutAndReduceShapes(u.shape,o),p=y.sizeFromShape(c),m=rt({inputs:{x:u},backend:r,attrs:{shape:[-1,p]}});s.push(m);let f=y3(r,m,n);s.push(f);let d=rt({inputs:{x:f},backend:r,attrs:{shape:l}});return s.forEach(h=>r.disposeIntermediateTensorInfo(h)),d}return b3(r,t,n)}function lst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s}=n,i=y.parseAxisParam(s,o.shape),a=S.getAxesPermutation(i,o.shape.length),u=o,l=[];a!=null&&(u=Pe({inputs:{x:o},backend:e,attrs:{perm:a}}),l.push(u),i=S.getInnerMostAxes(i.length,u.shape.length)),S.assertAxesAreInnerMostDims(\"argMax\",[i[0]],u.shape.length);let c=fI(e,u,i[0],\"max\");return l.forEach(p=>e.disposeIntermediateTensorInfo(p)),c}var w3={kernelName:Ai,backendName:\"webgl\",kernelFunc:lst};function ust(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s}=n,i=y.parseAxisParam(s,o.shape),a=S.getAxesPermutation(i,o.shape.length),u=o,l=[];a!=null&&(u=Pe({inputs:{x:o},backend:e,attrs:{perm:a}}),l.push(u),i=S.getInnerMostAxes(i.length,u.shape.length)),S.assertAxesAreInnerMostDims(\"argMin\",[i[0]],u.shape.length);let c=fI(e,u,i[0],\"min\");return l.forEach(p=>e.disposeIntermediateTensorInfo(p)),c}var I3={kernelName:Di,backendName:\"webgl\",kernelFunc:ust};var cst=xr+`\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n`,pst=It({opSnippet:cst}),C3={kernelName:Ho,backendName:\"webgl\",kernelFunc:pst};var mst=xr+\"return log(x + sqrt(x * x + 1.0));\",fst=It({opSnippet:mst}),v3={kernelName:qo,backendName:\"webgl\",kernelFunc:fst};var dst=xr+`\n return atan(x);\n`,hst=It({opSnippet:dst}),S3={kernelName:Ko,backendName:\"webgl\",kernelFunc:hst};var gst=Dd+`\n return atan(a, b);\n`,xst=`\n vec4 result = atan(a, b);\n bvec4 isNaNA = isnan(a);\n bvec4 isNaNB = isnan(b);\n bvec4 isNaN = bvec4(isNaNA.x || isNaNB.x, isNaNA.y || isNaNB.y, isNaNA.z || isNaNB.z, isNaNA.w || isNaNB.w);\n `+Xn+`\n return result;\n`,yst=ce({opSnippet:gst,packedOpSnippet:xst}),N3={kernelName:Xo,backendName:\"webgl\",kernelFunc:yst};var bst=xr+`\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;`,wst=It({opSnippet:bst}),k3={kernelName:jo,backendName:\"webgl\",kernelFunc:wst};var Si=class{constructor(t,e,n,o=!1,s=!1){if(this.variableNames=[\"x\"],e===\"avg\"&&n)throw new Error(\"Cannot compute positions for average pool.\");let i=t.filterWidth,a=t.strideHeight,u=t.strideWidth,l=t.dilationHeight,c=t.dilationWidth,p=t.effectiveFilterHeight,m=t.effectiveFilterWidth,f=t.padInfo.top,d=t.padInfo.left;this.outputShape=t.outShape;let h=e===\"avg\",g=`((batch * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + d`,x=`(xR * ${t.inWidth} + xC) * ${t.inChannels} + d`,b=\"0.0\";if(h||(b=\"-1.0 / 1e-20\"),n){let D=\">=\";this.userCode=`\n const ivec2 strides = ivec2(${a}, ${u});\n const ivec2 pads = ivec2(${f}, ${d});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${p};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${m};\n wC += ${c}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${D} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${o?s?g:x:`wR * ${m} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `;return}let w=\"max\",I=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;e===\"avg\"&&(I=\"avgValue / max(count, 1.0)\");let N=Math.floor(i/4)*4,E=i%4,A=`\n if (${h}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = ${w}(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${a}, ${u});\n const ivec2 pads = ivec2(${f}, ${d});\n const float initializationValue = ${b};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${t.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${b});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${p};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${N}; wC += 4) {\n int xC = xCCorner + wC * ${c};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n getValue(batch, xR, xC + 2 * ${c}, d),\n getValue(batch, xR, xC + 3 * ${c}, d)\n );\n\n ${A}\n }\n\n int xC = xCCorner + ${N};\n if (${E===1}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${A}\n } else if (${E===2}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n initializationValue,\n initializationValue\n );\n\n ${A}\n } else if (${E===3}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n getValue(batch, xR, xC + 2 * ${c}, d),\n initializationValue\n );\n\n ${A}\n }\n }\n setOutput(${I});\n }\n `}},qu=class{constructor(t,e,n,o=!1,s=!1){if(this.variableNames=[\"x\"],e===\"avg\"&&n)throw new Error(\"Cannot compute positions for average pool.\");let i=t.filterWidth,a=t.strideDepth,u=t.strideHeight,l=t.strideWidth,c=t.dilationDepth,p=t.dilationHeight,m=t.dilationWidth,f=t.effectiveFilterDepth,d=t.effectiveFilterHeight,h=t.effectiveFilterWidth,g=t.padInfo.front,x=t.padInfo.top,b=t.padInfo.left;this.outputShape=t.outShape;let w=e===\"avg\",I=\"0.0\";if(w||(I=\"-1.0 / 1e-20\"),n){let M=\">=\";this.userCode=`\n const ivec3 strides =\n ivec3(${a}, ${u}, ${l});\n const ivec3 pads = ivec3(${g}, ${x}, ${b});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${f};\n wD += ${c}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d};\n wR += ${p}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h};\n wC += ${m}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${M} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${o?s?`(((batch * ${t.inDepth} + xD) * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + ch`:`((xD * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + ch`:`wD * ${d} * ${h} +\n wR * ${h} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `;return}let N=\"max\",E=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;e===\"avg\"&&(E=\"avgValue / max(count, 1.0)\");let A=Math.floor(i/4)*4,D=i%4,F=`\n if (${w}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = ${N}(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${a}, ${u}, ${l});\n const ivec3 pads = ivec3(${g}, ${x}, ${b});\n const float initializationValue = ${I};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${t.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${I});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${f};\n wD += ${c}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d};\n wR += ${p}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${A}; wC += 4) {\n int xC = xCCorner + wC * ${m};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n getValue(batch, xD, xR, xC + 2 * ${m}, ch),\n getValue(batch, xD, xR, xC + 3 * ${m}, ch)\n );\n\n ${F}\n }\n\n int xC = xCCorner + ${A};\n if (${D===1}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${F}\n } else if (${D===2}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n initializationValue,\n initializationValue\n );\n\n ${F}\n } else if (${D===3}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n getValue(batch, xD, xR, xC + 2 * ${m}, ch),\n initializationValue\n );\n\n ${F}\n }\n }\n }\n setOutput(${E});\n }\n `}};function Ist(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t;Ci(o,\"avgPool\");let{filterSize:s,strides:i,pad:a,dimRoundingMode:u}=n,l=1;y.assert(S.eitherStridesOrDilationsAreOne(i,l),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return nr({inputs:{x:o},backend:e});let p=new Si(c,\"avg\",!1);return e.runWebGLProgram(p,[o],\"float32\")}var T3={kernelName:Yo,backendName:\"webgl\",kernelFunc:Ist};function Cst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n,c=[1,1,1],p=S.computePool3DInfo(o.shape,s,i,c,a,u,l),m=new qu(p,\"avg\",!1);return e.runWebGLProgram(m,[o],\"float32\")}var _3={kernelName:$i,backendName:\"webgl\",kernelFunc:Cst};var dI=class{constructor(t){this.variableNames=[\"dy\"],this.outputShape=t.inShape;let e=t.filterHeight,n=t.filterWidth,o=t.strideHeight,s=t.strideWidth,i=t.dilationHeight,a=t.dilationWidth,u=t.effectiveFilterHeight,l=t.effectiveFilterWidth,c=u-1-t.padInfo.top,p=l-1-t.padInfo.left,m=1/(e*n);this.userCode=`\n const ivec2 pads = ivec2(${c}, ${p});\n const float avgMultiplier = float(${m});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${u};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${l};\n wC+= ${a}) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}},hI=class{constructor(t){this.variableNames=[\"dy\"],this.outputShape=t.inShape;let e=t.filterDepth,n=t.filterHeight,o=t.filterWidth,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,u=t.dilationDepth,l=t.dilationHeight,c=t.dilationWidth,p=t.effectiveFilterDepth,m=t.effectiveFilterHeight,f=t.effectiveFilterWidth,d=p-1-t.padInfo.front,h=m-1-t.padInfo.top,g=f-1-t.padInfo.left,x=1/(e*n*o);this.userCode=`\n const ivec3 pads = ivec3(${d}, ${h}, ${g});\n const float avgMultiplier = float(${x});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${p};\n wD += ${u}) {\n float dyD = float(dyDCorner + wD) / ${s}.0;\n\n if (dyD < 0.0 || dyD >= ${t.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${m};\n wR += ${l}) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${f};\n wC += ${c}) {\n float dyC = float(dyCCorner + wC) / ${a}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function vst(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s,{filterSize:a,strides:u,pad:l,dimRoundingMode:c}=n,p=[1,1,1],m=S.computePool3DInfo(i.shape,a,u,p,l,c),f=new hI(m);return e.runWebGLProgram(f,[o],i.dtype)}var E3={kernelName:Hl,backendName:\"webgl\",kernelFunc:vst};function Sst(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s;Ci([o,s],\"avgPoolGrad\");let{filterSize:a,strides:u,pad:l}=n,c=S.computePool2DInfo(i.shape,a,u,1,l),p=new dI(c);return e.runWebGLProgram(p,[o],i.dtype)}var A3={kernelName:Ul,backendName:\"webgl\",kernelFunc:Sst};function Nst(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s}=t,{transposeA:i,transposeB:a}=n;return dp({a:o,b:s,transposeA:i,transposeB:a,backend:e})}var D3={kernelName:Zo,backendName:\"webgl\",kernelFunc:Nst};var gI=class{constructor(t,e,n,o,s,i){this.outputShape=[],this.variableNames=[\"x\",\"mean\",\"variance\"],S.assertAndGetBroadcastShape(t,e),S.assertAndGetBroadcastShape(t,n);let a=\"0.0\";o!=null&&(S.assertAndGetBroadcastShape(t,o),this.variableNames.push(\"offset\"),a=\"getOffsetAtOutCoords()\");let u=\"1.0\";s!=null&&(S.assertAndGetBroadcastShape(t,s),this.variableNames.push(\"scale\"),u=\"getScaleAtOutCoords()\"),this.outputShape=t,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${a};\n float scale = ${u};\n float inv = scale * inversesqrt(variance + float(${i}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}};var xI=class{constructor(t,e,n,o,s,i){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=[\"x\",\"mean\",\"variance\"],S.assertAndGetBroadcastShape(t,e),S.assertAndGetBroadcastShape(t,n);let a=\"vec4(0.0)\";o!=null&&(S.assertAndGetBroadcastShape(t,o),this.variableNames.push(\"offset\"),a=\"getOffsetAtOutCoords()\");let u=\"vec4(1.0)\";s!=null&&(S.assertAndGetBroadcastShape(t,s),this.variableNames.push(\"scale\"),u=\"getScaleAtOutCoords()\"),this.outputShape=t,this.userCode=`\n void main() {\n vec4 offset = ${a};\n vec4 scale = ${u};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${i}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}};var kst=({inputs:r,backend:t,attrs:e})=>{let{x:n,mean:o,variance:s,offset:i,scale:a}=r;y.assert(o.shape.length===s.shape.length,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),y.assert(i==null||o.shape.length===i.shape.length,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),y.assert(a==null||o.shape.length===a.shape.length,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\");let{varianceEpsilon:u}=e;u==null&&(u=.001);let l=[n,o,s],c=null;i!=null&&(c=i.shape,l.push(i));let p=null;a!=null&&(p=a.shape,l.push(a));let m=L().getBool(\"WEBGL_PACK_NORMALIZATION\")?new xI(n.shape,o.shape,s.shape,c,p,u):new gI(n.shape,o.shape,s.shape,c,p,u);return t.runWebGLProgram(m,l,l[0].dtype)},$3={kernelName:ds,backendName:\"webgl\",kernelFunc:kst};var yI=class{constructor(t){this.variableNames=[\"source\"],this.outputShape=t,this.rank=t.length;let e=zt(this.rank);this.customUniforms=[{name:\"start\",arrayIndex:this.rank,type:\"int\"}];let n=Tst(this.rank),o,s=t.map((i,a)=>`sourceLoc.${R1[a]} = start[${a}] + coords.${R1[a]};`);o=`\n ${e} sourceLoc;\n ${e} coords = getOutputCoords();\n ${s.join(`\n`)}\n `,this.userCode=`\n void main() {\n ${o}\n setOutput(getSource(${n}));\n }\n `}},R1=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];function Tst(r){if(r===1)return\"sourceLoc\";if(r<=6)return R1.slice(0,r).map(t=>\"sourceLoc.\"+t).join(\",\");throw Error(`Slicing for rank ${r} is not yet supported`)}var bI=class{constructor(t){this.variableNames=[\"source\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.rank=t.length,this.customUniforms=[{name:\"start\",arrayIndex:this.rank,type:\"int\"}];let e=zt(this.rank),n=rr(\"coords\",this.rank),o=rr(\"sourceLoc\",this.rank),s=this.rank===1?\"sourceLoc\":`vec2(${o.slice(-2).join()})`,i=`getChannel(getSource(${o.join()}), ${s})`,a=`\n result.x = ${i};\n if (++${n[this.rank-1]} < ${t[this.rank-1]}) {\n ++${o[this.rank-1]};\n result.y = ${i};\n --${o[this.rank-1]};\n }\n `,u=this.rank===1?\"\":`\n --${n[this.rank-1]};\n if (++${n[this.rank-2]} < ${t[this.rank-2]}) {\n ++${o[this.rank-2]};\n result.z = ${i};\n if (++${n[this.rank-1]} < ${t[this.rank-1]}) {\n ++${o[this.rank-1]};\n result.w = ${i};\n }\n }\n `,l=this.rank<=4?`sourceLoc = coords +\n ${e}(${t.map((c,p)=>`start[${p}]`).join()});`:t.map((c,p)=>`${o[p]} = ${n[p]} + start[${p}];`).join(`\n`);this.userCode=`\n void main() {\n ${e} coords = getOutputCoords();\n ${e} sourceLoc;\n ${l}\n vec4 result = vec4(0.);\n ${a}\n ${u}\n setOutput(result);\n }\n `}};function _st(r,t,e,n){let o=n.texData.get(r.dataId),s=n.makeTensorInfo(e,r.dtype),i=n.texData.get(s.dataId);Object.assign(i,o),i.refCount=1,i.shape=e,i.dtype=r.dtype;let a=Be.computeFlatOffset(t,y.computeStrides(r.shape));o.slice&&(a+=o.slice.flatOffset),i.slice={flatOffset:a,origDataId:o.slice&&o.slice.origDataId||r.dataId};let u=n.dataRefCount.get(i.slice.origDataId)||1;return n.dataRefCount.set(i.slice.origDataId,u+1),s}function Ni(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,size:i}=n,[a,u]=Be.parseSliceParams(o,s,i);if(Be.assertParamsValid(o,a,u),y.sizeFromShape(u)===0)return e.makeTensorInfo(u,o.dtype,[]);if(e.shouldExecuteOnCPU([o])||o.dtype===\"string\"){let p=e.texData.get(o.dataId),m=Iz(p.values,a,u,o.shape,o.dtype);return e.makeTensorInfo(u,o.dtype,m)}let{isPacked:l}=e.texData.get(o.dataId),c=Be.isSliceContinous(o.shape,a,u);if(l||!c){let p=L().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new bI(u):new yI(u),m=[a];return e.runWebGLProgram(p,[o],o.dtype,m)}return e.uploadToGPU(o.dataId),_st(o,a,u,e)}var R3={kernelName:Wi,backendName:\"webgl\",kernelFunc:Ni};var Est=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,crops:i}=n;y.assert(o.shape.length<=4,()=>\"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet\");let a=s.reduce((b,w)=>b*w),u=S.getReshaped(o.shape,s,a),l=S.getPermuted(u.length,s.length),c=S.getReshapedPermuted(o.shape,s,a),p=S.getSliceBeginCoords(i,s.length),m=S.getSliceSize(c,i,s.length),f=[],d=rt({inputs:{x:o},backend:e,attrs:{shape:u}}),h=Pe({inputs:{x:d},backend:e,attrs:{perm:l}}),g=rt({inputs:{x:h},backend:e,attrs:{shape:c}}),x=Ni({inputs:{x:g},backend:e,attrs:{begin:p,size:m}});return f.push(d),f.push(h),f.push(g),f.forEach(b=>e.disposeIntermediateTensorInfo(b)),x},F3={kernelName:Ri,backendName:\"webgl\",kernelFunc:Est};function Ast(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,weights:s}=t,{size:i}=n,a=e.readSync(o.dataId),u=e.readSync(s.dataId),l=Jw(a,u,s.dtype,s.shape,i);return e.makeTensorInfo([i],s.dtype,l)}var O3={kernelName:Da,backendName:\"webgl\",kernelFunc:Ast};var Dst=`\n int r = int(a.r) & int(b.r);\n int g = int(a.g) & int(b.g);\n int rb = int(a.b) & int(b.b);\n int ra = int(a.a) & int(b.a);\n return vec4(r, g, rb, ra);\n`,$st=`\n return float(int(a.r) & int(b.r));\n`;function Rst(r){let{inputs:t,backend:e}=r,{a:n,b:o}=t,s=L().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\"),i=L().getNumber(\"WEBGL_VERSION\");if(e.shouldExecuteOnCPU([n,o])||i===1){let u=e.texData.get(n.dataId).values,l=e.texData.get(o.dataId).values,[c,p]=HL(n.shape,o.shape,u,l,n.dtype),m=e.makeTensorInfo(p,n.dtype),f=e.texData.get(m.dataId);return f.values=c,m}let a;return s?a=new jn(Dst,n.shape,o.shape,!1):a=new $n($st,n.shape,o.shape),e.runWebGLProgram(a,[n,o],n.dtype)}var M3={kernelName:$a,backendName:\"webgl\",kernelFunc:Rst};function Fst(r){let{inputs:t,backend:e}=r,{s0:n,s1:o}=t,s=e.readSync(n.dataId),i=e.readSync(o.dataId),a=S.assertAndGetBroadcastShape(Array.from(s),Array.from(i));return e.makeTensorInfo([a.length],\"int32\",Int32Array.from(a))}var P3={kernelName:ql,backendName:\"webgl\",kernelFunc:Fst};var Ost=\"return float(a != b);\",F1=ce({opSnippet:Ost,cpuKernelImpl:mz,dtype:\"bool\"}),L3={kernelName:Za,backendName:\"webgl\",kernelFunc:F1};function Pl(r){let{inputs:t,backend:e}=r,{input:n}=t,o=e.texData.get(n.dataId);return nr({inputs:{x:o.complexTensorInfos.real},backend:e})}var z3={kernelName:Vp,backendName:\"webgl\",kernelFunc:Pl};var Mst=\"return float(int(x));\";function B3(r,t){let e=new Lr(r.shape,Mst),n=t.runWebGLProgram(e,[r],\"int32\");return{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}function O1(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dtype:s}=n;if(s===\"complex64\"){if(o.dtype===\"complex64\")return nr({inputs:{x:o},backend:e});let i=ke(o.shape),a=O1({inputs:{x:o},backend:e,attrs:{dtype:\"float32\"}}),u=Rn({inputs:{real:a,imag:i},backend:e});return i.dispose(),e.disposeIntermediateTensorInfo(a),u}if(o.dtype===\"complex64\"){let i=Pl({inputs:{input:o},backend:e}),a=O1({inputs:{x:i},backend:e,attrs:{dtype:s}});return e.disposeIntermediateTensorInfo(i),a}if(!y.hasEncodingLoss(o.dtype,s)){let i=nr({inputs:{x:o},backend:e});return{dataId:i.dataId,shape:i.shape,dtype:s}}if(e.shouldExecuteOnCPU([o])){let i=e.texData.get(o.dataId).values,[a,u,l]=qL(i,o.shape,o.dtype,s);return e.makeTensorInfo(a,u,l)}if(s===\"int32\")return B3(o,e);if(s===\"bool\"){let i=e.makeTensorInfo([],\"bool\",y.getTypedArrayFromDType(\"bool\",1)),u=F1({inputs:{a:o,b:i},backend:e});return e.disposeIntermediateTensorInfo(i),u}throw new Error(`Error in Cast: failed to cast ${o.dtype} to ${s}`)}var V3={kernelName:fo,backendName:\"webgl\",kernelFunc:O1};var G3=\"return ceil(x);\",Pst=It({opSnippet:G3,packedOpSnippet:G3,cpuKernelImpl:KL}),W3={kernelName:Jo,backendName:\"webgl\",kernelFunc:Pst};var wI=class{constructor(t){this.variableNames=[\"A\"],this.customUniforms=[{name:\"minVal\",type:\"float\"},{name:\"maxVal\",type:\"float\"}],this.outputShape=t,this.userCode=`\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n `}};var II=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"minVal\",type:\"float\"},{name:\"maxVal\",type:\"float\"}],this.outputShape=t,this.userCode=`\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n `}};function Lst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{clipValueMin:s,clipValueMax:i}=n,a;L().getBool(\"WEBGL_PACK_CLIP\")?a=new II(o.shape):a=new wI(o.shape);let u=[[s],[i]];return e.runWebGLProgram(a,[o],o.dtype,u)}var U3={kernelName:ho,backendName:\"webgl\",kernelFunc:Lst};var CI=class{constructor(t){this.variableNames=[\"real\",\"imag\"],this.outputShape=t,this.userCode=`\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n `}};function H3(r,t){return{dataId:t.dataId,dtype:t.dtype,shape:r.shape}}function zst(r){let{inputs:t,backend:e}=r,{x:n}=t,o=e.texData.get(n.dataId),s=new CI(n.shape),i=[H3(n,o.complexTensorInfos.real),H3(n,o.complexTensorInfos.imag)];return e.runWebGLProgram(s,i,i[0].dtype)}var q3={kernelName:Kl,backendName:\"webgl\",kernelFunc:zst};var vI=class{constructor(t){this.outputShape=[],this.outputShape=S.computeOutShape(t,1),this.variableNames=t.map((i,a)=>`T${a}`);let e=new Array(t.length-1);e[0]=t[0][1];for(let i=1;i`T${g}`);let u=new Array(t.length-1);u[0]=t[0][e];for(let h=1;h= ${u[h-1]}) {\n return getChannel(\n getT${h}(${SI(a,l,g)}),\n vec2(${SI(c,l,g)}));\n }`}let f=u.length,d=u[u.length-1];m+=`\n return getChannel(\n getT${f}(${SI(a,l,d)}),\n vec2(${SI(c,l,d)}));`,this.userCode=`\n float getValue(${a.map(h=>\"int \"+h)}) {\n ${m}\n }\n\n void main() {\n ${s} coords = getOutputCoords();\n vec4 result = vec4(getValue(${i}), 0., 0., 0.);\n\n ${i[o-1]} = ${i[o-1]} + 1;\n if (${i[o-1]} < ${n[o-1]}) {\n result.g = getValue(${i});\n }\n\n ${i[o-2]} = ${i[o-2]} + 1;\n if (${i[o-2]} < ${n[o-2]}) {\n result.a = getValue(${i});\n }\n\n ${i[o-1]} = ${i[o-1]} - 1;\n if (${i[o-2]} < ${n[o-2]} &&\n ${i[o-1]} < ${n[o-1]}) {\n result.b = getValue(${i});\n }\n setOutput(result);\n }\n `}};function SI(r,t,e){let n=r.indexOf(t);return r.map((s,i)=>i===n?`${s} - ${e}`:s).join()}function hp(r){let{inputs:t,backend:e}=r,{input:n}=t,o=e.texData.get(n.dataId);return nr({inputs:{x:o.complexTensorInfos.imag},backend:e})}var K3={kernelName:Pp,backendName:\"webgl\",kernelFunc:hp};function Rd(r,t,e){let n=r[0].dtype;if(n===\"complex64\"){let f=r.map(b=>Pl({inputs:{input:b},backend:e})),d=r.map(b=>hp({inputs:{input:b},backend:e})),h=Rd(f,t,e),g=Rd(d,t,e),x=Rn({inputs:{real:h,imag:g},backend:e});return f.forEach(b=>e.disposeIntermediateTensorInfo(b)),d.forEach(b=>e.disposeIntermediateTensorInfo(b)),e.disposeIntermediateTensorInfo(h),e.disposeIntermediateTensorInfo(g),x}let o=e.shouldExecuteOnCPU(r);if(n===\"string\"&&(o=!0),o){let f=r.map(I=>{let E=[-1,y.sizeFromShape(I.shape.slice(t))];return rt({inputs:{x:I},backend:e,attrs:{shape:E}})}),d=f.map(I=>({vals:e.readSync(I.dataId),shape:I.shape})),h=S.computeOutShape(f.map(I=>I.shape),1),g=f[0].shape[0]===1,x=jL(d,h,n,g),b=S.computeOutShape(r.map(I=>I.shape),t),w=e.makeTensorInfo(b,n,x);return f.forEach(I=>e.disposeIntermediateTensorInfo(I)),w}let s=r.filter(f=>y.sizeFromShape(f.shape)>0),i=L().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")&&s[0].shape.length>1;if(s.length===1){let f=i?new Lr(r[0].shape,Ia):new Dn(r[0].shape,Ia);return e.runWebGLProgram(f,r,n)}let a=L().getNumber(\"WEBGL_MAX_TEXTURES_IN_SHADER\");if(s.length>a){let f=[];for(let h=0;hd.shape),t);return e.runWebGLProgram(f,s,n)}let{tensors2D:u,outShape:l}=Bst(s,t,e),c=new vI(u.map(f=>f.shape)),p=e.runWebGLProgram(c,u,n);u.forEach(f=>e.disposeIntermediateTensorInfo(f));let m=rt({inputs:{x:p},attrs:{shape:l},backend:e});return e.disposeIntermediateTensorInfo(p),m}function Bst(r,t,e){let n=S.computeOutShape(r.map(s=>s.shape),t);return{tensors2D:r.map(s=>rt({inputs:{x:s},attrs:{shape:[-1,y.sizeFromShape(s.shape.slice(t))]},backend:e})),outShape:n}}function M1(r){let{inputs:t,backend:e,attrs:n}=r,{axis:o}=n,s=y.parseAxisParam(o,t[0].shape)[0],i=t.map(l=>l.shape);S.assertParamsConsistent(i,s);let a=S.computeOutShape(t.map(l=>l.shape),s);if(y.sizeFromShape(a)===0)return e.makeTensorInfo(a,t[0].dtype,[]);let u=t.filter(l=>y.sizeFromShape(l.shape)>0);return u.length===1?nr({inputs:{x:u[0]},backend:e}):Rd(u,s,e)}var j3={kernelName:Fi,backendName:\"webgl\",kernelFunc:M1};var Fd=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.outputShape=t.outShape;let i=t.padInfo.top,a=t.padInfo.left,u=t.strideHeight,l=t.strideWidth,c=t.dilationHeight,p=t.dilationWidth,m=t.filterHeight,f=t.filterWidth,d=Math.floor(t.inChannels/4)*4,h=t.inChannels%4,g=t.dataFormat===\"channelsLast\",x=g?1:2,b=g?2:3,w=g?3:1,I=\"\",N=\"\";n&&(o?I=`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?I=`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:I=`\n float activation(float x) {\n ${n}\n }\n `,N=\"result = activation(result);\");let E=e?\"result += getBiasAtOutCoords();\":\"\";e&&this.variableNames.push(\"bias\"),o&&this.variableNames.push(\"preluActivationWeights\"),s&&this.variableNames.push(\"leakyreluAlpha\"),this.userCode=`\n ${I}\n\n const ivec2 strides = ivec2(${u}, ${l});\n const ivec2 pads = ivec2(${i}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${w}];\n\n ivec2 xRCCorner =\n ivec2(coords[${x}], coords[${b}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${m}; wR++) {\n int xR = xRCorner + wR * ${c};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f}; wC++) {\n int xC = xCCorner + wC * ${p};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${d}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${g}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${h===1}) {\n\n if (${g}) {\n dotProd +=\n getX(batch, xR, xC, ${d}) *\n getW(wR, wC, ${d}, d2);\n } else {\n dotProd +=\n getX(batch, ${d}, xR, xC) *\n getW(wR, wC, ${d}, d2);\n }\n\n } else if (${h===2}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${d}, d2),\n getW(wR, wC, ${d} + 1, d2)\n );\n\n if (${g}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${d}),\n getX(batch, xR, xC, ${d} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${d}, xR, xC),\n getX(batch, ${d} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${h===3}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${d}, d2),\n getW(wR, wC, ${d} + 1, d2),\n getW(wR, wC, ${d} + 2, d2)\n );\n\n if (${g}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${d}),\n getX(batch, xR, xC, ${d} + 1),\n getX(batch, xR, xC, ${d} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${d}, xR, xC),\n getX(batch, ${d} + 1, xR, xC),\n getX(batch, ${d} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${E}\n ${N}\n setOutput(result);\n }\n `}},kI=class{constructor(t){this.variableNames=[\"x\",\"W\"],this.outputShape=t.outShape;let e=t.padInfo.front,n=t.padInfo.top,o=t.padInfo.left,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,u=t.dilationDepth,l=t.dilationHeight,c=t.dilationWidth,p=t.filterDepth,m=t.filterHeight,f=t.filterWidth,d=Math.floor(t.inChannels/4)*4,h=t.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${s}, ${i}, ${a});\n const ivec3 pads = ivec3(${e}, ${n}, ${o});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${p}; wF++) {\n int xF = xFCorner + wF * ${u};\n\n if (xF < 0 || xF >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${m}; wR++) {\n int xR = xRCorner + wR * ${l};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${d}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${h===1}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${d}) *\n getW(wF, wR, wC, ${d}, d2);\n } else if (${h===2}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${d}),\n getX(batch, xF, xR, xC, ${d} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${d}, d2),\n getW(wF, wR, wC, ${d} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${h===3}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${d}),\n getX(batch, xF, xR, xC, ${d} + 1),\n getX(batch, xF, xR, xC, ${d} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${d}, d2),\n getW(wF, wR, wC, ${d} + 1, d2),\n getW(wF, wR, wC, ${d} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}};var Od=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=t.outShape,this.enableShapeUniforms=he(this.outputShape.length);let i=t.padInfo.left,a=t.strideWidth,u=t.dilationWidth,l=t.filterHeight,c=t.filterWidth,p=c,m=`\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;`;for(let g=0;g=0 && xR < inDims[0]) {\n `;for(let g=0;g<(p+1)/2;g++){let x=g*2;if(m+=`\n xC = xCCorner + ${x*u};\n `,a===1){if(x= 0 && xCOffset < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n `,u===1&&x>0?m+=`\n xC${x} = vec4(xTexelC${x-2}.zw, xTexelC${x}.xy);\n `:m+=`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${x} = vec4(previous.zw, xTexelC${x}.xy);\n } else {\n xC${x} = vec4(0.0, 0.0, xTexelC${x}.xy);\n }\n `):m+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n xC${x} = xTexelC${x};\n `,x+1= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n `,u>1?m+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${x+1} = vec4(previous.zw, xTexelC${x+1}.xy);\n } else {\n xC${x+1} = vec4(0.0, 0.0, xTexelC${x+1}.xy);\n }\n `:m+=`\n xC${x+1} = vec4(xTexelC${x}.zw, xTexelC${x+1}.xy);\n `):b===1?m+=`\n xC${x+1} = xTexelC${x};\n `:m+=`\n xCOffset = xC + ${b};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x+1} = xTexelC${x+1};\n `}}else x= 0 && xCOffset < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x} = vec4(xTexelC${x}.zw, xTexelC${x+1}.zw);\n `,x+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${x+1} = vec4(xTexelC${x+1}.xy, final.xy);\n `)):(m+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x} = vec4(\n xTexelC${x}.xy, xTexelC${x+1}.xy);\n `,x+1= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${a}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${s}) {\n innerDims = vec2(d1, ch);\n result[${c*2+p}] = getChannel(\n getA(rc.x, d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${c*2+p}] = getChannel(\n getA(rc.x, ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${l}\n\n ${o.output} = result;\n }\n `}};function _I(r,t){let e=r.length;return e>=3?t?[...r.slice(0,-3),r[e-3]*r[e-2],r[e-1]]:[...r.slice(0,-3),r[e-3],r[e-2]*r[e-1]]:!t&&e===1&&r[0]>1?[r[0],1]:null}function EI({x:r,filter:t,convInfo:e,backend:n,bias:o=null,preluActivationWeights:s=null,leakyreluAlpha:i=0,activation:a=null}){let u=r.shape,l=n.texData.get(r.dataId),c=e.inChannels,p=u[0]*u[1]*u[2],m=e.outChannels,f=e.dataFormat===\"channelsLast\",d=!1,h=!1,g,x=[];if(s!=null){let I=_I(s.shape,f);I!=null&&(s=rt({inputs:{x:s},backend:n,attrs:{shape:I}}),x.push(s))}if(o!=null){let I=_I(o.shape,f);I!=null&&(o=rt({inputs:{x:o},backend:n,attrs:{shape:I}}),x.push(o))}if(!((p===1||m===1)&&c>$1)&&l.isPacked&&f&&l.texture!=null&&u[2]%2!==0&&y.arraysEqual(l.shape.slice(-3),u.slice(-3))){let I=u[0]*u[1]*(u[2]+1),N={dataId:r.dataId,shape:[1,I,e.inChannels],dtype:r.dtype},E=l.shape;l.shape=l.shape.slice(),l.shape[l.shape.length-2]++,y.assert(Uu(l.shape,N.shape),()=>`packed reshape ${l.shape} to ${N.shape} isn't free`);let A=rt({inputs:{x:t},backend:n,attrs:{shape:[1,e.inChannels,e.outChannels]}});x.push(A);let D=dp({a:N,b:A,backend:n,transposeA:d,transposeB:h,bias:o,activation:a,preluActivationWeights:s,leakyreluAlpha:i}),F=n.texData.get(D.dataId);y.assert(F.isPacked,()=>\"batchMatMul result is expected to be packed\"),l.shape=E,F.shape=e.outShape,g=nr({inputs:{x:D},backend:n}),g.shape=e.outShape,x.push(D)}else{let I=e.outHeight*e.outWidth,N=rt({inputs:{x:r},backend:n,attrs:{shape:f?[e.batchSize,I,e.inChannels]:[e.batchSize,e.inChannels,I]}}),E=rt({inputs:{x:t},backend:n,attrs:{shape:[1,e.inChannels,e.outChannels]}}),A=dp({a:f?N:E,b:f?E:N,transposeA:!f,transposeB:h,backend:n,bias:o,activation:a,preluActivationWeights:s,leakyreluAlpha:i});g=rt({inputs:{x:A},backend:n,attrs:{shape:e.outShape}}),x.push(N),x.push(E),x.push(A)}for(let I of x)n.disposeIntermediateTensorInfo(I);return g}function AI({x:r,filter:t,convInfo:e,backend:n,bias:o=null,preluActivationWeights:s=null,leakyreluAlpha:i=0,activation:a=null}){let{filterWidth:u,filterHeight:l,inChannels:c,outWidth:p,outHeight:m,dataFormat:f}=e,d=f===\"channelsLast\",h=u*l*c,g=m*p,x=[e.batchSize,h,g],b=!0,w=!1,I=[];if(s!=null){let Z=_I(s.shape,d);Z!=null&&(s=rt({inputs:{x:s},backend:n,attrs:{shape:Z}}),I.push(s))}if(o!=null){let Z=_I(o.shape,d);Z!=null&&(o=rt({inputs:{x:o},backend:n,attrs:{shape:Z}}),I.push(o))}let N=rt({inputs:{x:t},backend:n,attrs:{shape:[1,h,y.sizeFromShape(t.shape)/h]}});I.push(N);let E=new TI(x,e),A=[r.shape,[e.padInfo.top,e.padInfo.left],[e.strideHeight,e.strideWidth],[e.dilationHeight,e.dilationWidth],[e.inChannels],[e.filterWidth*e.inChannels],[e.outWidth]],D=n.runWebGLProgram(E,[r],\"float32\",A),F=rt({inputs:{x:D},backend:n,attrs:{shape:x}});I.push(D),I.push(F);let M=o!=null,V=s!=null,G=a===\"leakyrelu\",W=a?Ml(a,!0):null,q=new $d(d?F.shape:N.shape,d?N.shape:F.shape,d?[e.batchSize,g,e.outChannels]:[e.batchSize,e.outChannels,g],b,w,M,W,V,G),H=d?[F,N]:[N,F];if(o&&H.push(o),V&&H.push(s),G){let Z=n.makeTensorInfo([],\"float32\",y.createScalarValue(i,\"float32\"));H.push(Z),I.push(Z)}let K=n.runWebGLProgram(q,H,\"float32\"),Y=rt({inputs:{x:K},backend:n,attrs:{shape:e.outShape}});I.push(K);for(let Z of I)n.disposeIntermediateTensorInfo(Z);return Y}function Vst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dataFormat:u,dilations:l,dimRoundingMode:c}=n,p=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(o.shape,s.shape,i,l,a,c,!1,p),f;if(m.filterHeight===1&&m.filterWidth===1&&m.dilationHeight===1&&m.dilationWidth===1&&m.strideHeight===1&&m.strideWidth===1&&(m.padInfo.type===\"SAME\"||m.padInfo.type===\"VALID\"))f=EI({x:o,filter:s,convInfo:m,backend:e});else if(m.strideWidth<=2&&p===\"channelsLast\"&&L().getBool(\"WEBGL_EXP_CONV\")){let h=new Od(m),g=[[m.padInfo.top,m.padInfo.left],[m.strideHeight,m.strideWidth],[m.dilationHeight,m.dilationWidth],[m.inHeight,m.inWidth]];f=e.runWebGLProgram(h,[o,s],\"float32\",g)}else if(L().getBool(\"WEBGL_CONV_IM2COL\"))f=AI({x:o,filter:s,convInfo:m,backend:e});else{let h=new Fd(m);f=e.runWebGLProgram(h,[o,s],\"float32\")}let d=rt({inputs:{x:f},backend:e,attrs:{shape:m.outShape}});return e.disposeIntermediateTensorInfo(f),d}var X3={kernelName:Qo,backendName:\"webgl\",kernelFunc:Vst};var DI=class{constructor(t){this.variableNames=[\"x\",\"dy\"],this.outputShape=t.filterShape;let e=t.strideHeight,n=t.strideWidth,o=t.padInfo.top,s=t.padInfo.left,i=t.dataFormat===\"channelsLast\";this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${e} - ${o};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n ${i?`float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);`:`float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);`}\n }\n }\n }\n setOutput(dotProd);\n }\n `}},$I=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.outputShape=t.inShape;let e=t.filterHeight,n=t.filterWidth,o=t.strideHeight,s=t.strideWidth,i=t.dataFormat===\"channelsLast\",a=e-1-t.padInfo.top,u=n-1-t.padInfo.left,l=i?1:2,c=i?2:3,p=i?3:1;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${u});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${p}];\n\n ivec2 dyCorner = ivec2(coords[${l}], coords[${c}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${t.outChannels}; d2++) {\n\n if (${i}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}},RI=class{constructor(t){this.variableNames=[\"x\",\"dy\"],this.outputShape=t.filterShape;let e=t.strideDepth,n=t.strideHeight,o=t.strideWidth,s=t.padInfo.front,i=t.padInfo.top,a=t.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yF = 0; yF < ${t.outDepth}; yF++) {\n int xF = wF + yF * ${e} - ${s};\n\n if (xF < 0 || xF >= ${t.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${n} - ${i};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${o} - ${a};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}},FI=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.outputShape=t.inShape;let e=t.filterDepth,n=t.filterHeight,o=t.filterWidth,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,u=e-1-t.padInfo.front,l=n-1-t.padInfo.top,c=o-1-t.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${u}, ${l}, ${c});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${e}; wF++) {\n float dyF = float(dyFCorner + wF) / ${s}.0;\n\n if (dyF < 0.0 || dyF >= ${t.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${e} - 1 - wF;\n\n for (int wR = 0; wR < ${n}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${n} - 1 - wR;\n\n for (int wC = 0; wC < ${o}; wC++) {\n float dyC = float(dyCCorner + wC) / ${a}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${o} - 1 - wC;\n\n for (int d2 = 0; d2 < ${t.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function Gst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,dy:s}=t,{strides:i,pad:a,dataFormat:u,dimRoundingMode:l,filterShape:c}=n,p=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(o.shape,c,i,1,a,l,!1,p),f=new DI(m);return e.runWebGLProgram(f,[o,s],\"float32\")}var Y3={kernelName:Dp,backendName:\"webgl\",kernelFunc:Gst};var OI=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"strides\",type:\"vec2\"}],this.outputShape=t.inShape,this.enableShapeUniforms=he(this.outputShape.length);let e=t.filterHeight,n=t.filterWidth,o=e-1-t.padInfo.top,s=n-1-t.padInfo.left;this.userCode=`\n const ivec2 pads = ivec2(${o}, ${s});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n\n ivec2 dyCorner = ivec2(coords[1], coords[2]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n vec4 result = vec4(0.);\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / strides[0];\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n int wCPerm = ${n} - 1 - wC;\n\n float dyC = float(dyCCorner + wC) / strides[1];\n bool idyCVal = (dyC >= 0.0) && (dyC < ${t.outWidth}.0)\n && (fract(dyC) == 0.0);\n int idyC = int(dyC);\n\n float dyC2 = float(dyCCorner + wC + 1) / strides[1];\n bool idyCVal2 = (dyC2 >= 0.0) && (dyC2 < ${t.outWidth}.0)\n && (fract(dyC2) == 0.0);\n int idyC2 = int(dyC2);\n\n if (idyCVal && idyCVal2) {\n for (int d2 = 0; d2 < ${t.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC, d2);\n vec4 dySample2 = (idyC / 2 == idyC2 / 2) ?\n dySample : getDy(batch, idyR, idyC2, d2);\n\n vec2 dyValue = mod(float(idyC), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.xy += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n\n dyValue = mod(float(idyC2), 2.) == 0. ?\n dySample2.xy : dySample2.zw;\n result.zw += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n } else if (idyCVal) {\n for (int d2 = 0; d2 < ${t.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC, d2);\n vec2 dyValue = mod(float(idyC), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.xy += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n } else if (idyCVal2) {\n for (int d2 = 0; d2 < ${t.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC2, d2);\n vec2 dyValue = mod(float(idyC2), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.zw += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n }\n }\n }\n setOutput(result);\n }\n `}};function Wst(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,filter:s}=t,{inputShape:i,strides:a,pad:u,dataFormat:l,dimRoundingMode:c}=n,p=S.convertConv2DDataFormat(l),m=S.computeConv2DInfo(i,s.shape,a,1,u,c,!1,p);if(L().getBool(\"WEBGL_PACK_CONV2DTRANSPOSE\")&&p===\"channelsLast\"){let f=[[m.strideHeight,m.strideWidth]],d=new OI(m);return e.runWebGLProgram(d,[o,s],\"float32\",f)}else{let f=new $I(m);return e.runWebGLProgram(f,[o,s],\"float32\")}}var Z3={kernelName:ts,backendName:\"webgl\",kernelFunc:Wst};function Ust(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dilations:u}=n,l=S.computeConv3DInfo(o.shape,s.shape,i,u,a),c=new kI(l);return e.runWebGLProgram(c,[o,s],\"float32\")}var J3={kernelName:es,backendName:\"webgl\",kernelFunc:Ust};function Hst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,dy:s}=t,{strides:i,pad:a,filterShape:u}=n,l=S.computeConv3DInfo(o.shape,u,i,1,a),c=new RI(l);return e.runWebGLProgram(c,[o,s],\"float32\")}var Q3={kernelName:Ra,backendName:\"webgl\",kernelFunc:Hst};function qst(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,filter:s}=t,{pad:i,strides:a,inputShape:u}=n,l=S.computeConv3DInfo(u,s.shape,a,1,i),c=new FI(l);return e.runWebGLProgram(c,[o,s],\"float32\")}var tB={kernelName:Fa,backendName:\"webgl\",kernelFunc:qst};var Kst=Po+`\n return cos(x);\n`,jst=`\n vec4 result = cos(x);\n bvec4 isNaN = isnan(x);\n ${Xn}\n return result;\n`,Xst=It({opSnippet:Kst,packedOpSnippet:jst}),eB={kernelName:rs,backendName:\"webgl\",kernelFunc:Xst};var Yst=`\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n`,Zst=It({opSnippet:Yst}),rB={kernelName:ns,backendName:\"webgl\",kernelFunc:Zst};var MI=class{constructor(t,e,n,o,s){this.variableNames=[\"Image\",\"Boxes\",\"BoxInd\"],this.outputShape=[];let[i,a,u,l]=t,[c]=e,[p,m]=n;this.outputShape=[c,p,m,l];let f=o===\"bilinear\"?1:0,[d,h]=[`${a-1}.0`,`${u-1}.0`],[g,x,b]=p>1?[`${(a-1)/(p-1)}`,\"(y2-y1) * height_ratio\",`y1*${d} + float(y)*(height_scale)`]:[\"0.0\",\"0.0\",`0.5 * (y1+y2) * ${d}`],[w,I,N]=m>1?[`${(u-1)/(m-1)}`,\"(x2-x1) * width_ratio\",`x1*${h} + float(x)*(width_scale)`]:[\"0.0\",\"0.0\",`0.5 * (x1+x2) * ${h}`];this.userCode=`\n const float height_ratio = float(${g});\n const float width_ratio = float(${w});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${i}) {\n return;\n }\n\n float height_scale = ${x};\n float width_scale = ${I};\n\n float in_y = ${b};\n if( in_y < 0.0 || in_y > ${d} ) {\n setOutput(float(${s}));\n return;\n }\n float in_x = ${N};\n if( in_x < 0.0 || in_x > ${h} ) {\n setOutput(float(${s}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${f} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}};var Jst=r=>{let{inputs:t,backend:e,attrs:n}=r,{image:o,boxes:s,boxInd:i}=t,{cropSize:a,method:u,extrapolationValue:l}=n,c=new MI(o.shape,s.shape,a,u,l);return e.runWebGLProgram(c,[o,s,i],\"float32\")},nB={kernelName:Ma,backendName:\"webgl\",kernelFunc:Jst};var gp;(function(r){r.Prod=\"*\",r.Sum=\"+\"})(gp||(gp={}));var fg=class{constructor(t,e,n,o){this.op=t,this.outputShape=e,this.variableNames=[\"x\"],this.customUniforms=[{name:\"index\",type:\"float\"}];let s=this.outputShape.length,i=this.op===gp.Prod?\"1.0\":\"0.0\",a=n?i:`getX(${oB(s,\"coords\",this.op)})`,u=this.outputShape[this.outputShape.length-1],l=\"\",c=\"\";n?(l=o?`end != ${u-1}`:\"end != 0\",c=o?\"end + 1\":\"end - 1\"):(l=o?`end + pow2 < ${u}`:\"end >= pow2\",c=o?\"end + pow2\":\"end - pow2\"),this.userCode=`\n void main() {\n ${zt(s)} coords = getOutputCoords();\n int end = ${sB(s,\"coords\",this.op)};\n float val = ${a};\n int pow2 = int(pow(2.0, index));\n if (${l}) {\n int idx = ${c};\n ${sB(s,\"coords\",this.op)} = idx;\n val ${this.op}= getX(${oB(s,\"coords\",this.op)});\n }\n setOutput(val);\n }\n `}};function oB(r,t,e){if(r===1)return`${t}`;if(r===2)return`${t}.x, ${t}.y`;if(r===3)return`${t}.x, ${t}.y, ${t}.z`;if(r===4)return`${t}.x, ${t}.y, ${t}.z, ${t}.w`;throw new Error(`Cumulative ${e} for rank ${r} is not yet supported`)}function sB(r,t,e){if(r===1)return`${t}`;if(r===2)return`${t}.y`;if(r===3)return`${t}.z`;if(r===4)return`${t}.w`;throw new Error(`Cumulative ${e} for rank ${r} is not yet supported`)}function PI(r,t,e,n,o,s){let i=t.shape.length,a=S.getAxesPermutation([n],i),u=t;a!=null&&(u=Pe({inputs:{x:t},backend:e,attrs:{perm:a}}));let l=S.getInnerMostAxes(1,i)[0];if(l!==i-1)throw new Error(`WebGL cumprod shader expects an inner-most axis=${t.shape.length-1} but got axis=${n}`);let c=u.shape[l],p=nr({inputs:{x:u},backend:e});for(let m=0;m<=Math.ceil(Math.log2(c))-1;m++){let f=new fg(r,u.shape,!1,s),d=[[m]],h=p;p=e.runWebGLProgram(f,[p],p.dtype,d),e.disposeIntermediateTensorInfo(h)}if(o){let m=new fg(r,u.shape,o,s),f=p;p=e.runWebGLProgram(m,[p],p.dtype),e.disposeIntermediateTensorInfo(f)}if(a!=null){let m=S.getUndoAxesPermutation(a),f=Pe({inputs:{x:p},backend:e,attrs:{perm:m}});return e.disposeIntermediateTensorInfo(p),e.disposeIntermediateTensorInfo(u),f}return p}function Qst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,exclusive:i,reverse:a}=n;return PI(gp.Prod,o,e,s,i,a)}var iB={kernelName:Oa,backendName:\"webgl\",kernelFunc:Qst};function tit(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,exclusive:i,reverse:a}=n;return PI(gp.Sum,o,e,s,i,a)}var aB={kernelName:os,backendName:\"webgl\",kernelFunc:tit};function eit(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,weights:s}=t,{size:i,binaryOutput:a}=n;if(o.shape.length===1){let u=e.readSync(o.dataId),l=e.readSync(s.dataId),c=Jw(u,l,s.dtype,s.shape,i);return e.makeTensorInfo([i],s.dtype,c)}else if(o.shape.length===2){let u=e.bufferSync(o),l=e.bufferSync(s),c=UL(u,l,i,a);return e.makeTensorInfo(c.shape,s.dtype,c.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${o.shape.length}.`)}var lB={kernelName:jl,backendName:\"webgl\",kernelFunc:eit};var LI=class{constructor(t,e,n){this.variableNames=[\"x\"],this.outputShape=[],this.outputShape=t,this.blockSize=e,this.dataFormat=n,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${e};\n int offset_h = imod(h, ${e});\n int in_w = w / ${e};\n int offset_w = imod(w, ${e});\n int offset_d = (offset_h * ${e} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}getHeightCoordString(){return this.dataFormat===\"NHWC\"?\"coords[1]\":\"coords[2]\"}getWidthCoordString(){return this.dataFormat===\"NHWC\"?\"coords[2]\":\"coords[3]\"}getDepthCoordString(){return this.dataFormat===\"NHWC\"?\"coords[3]\":\"coords[1]\"}getOutputDepthSize(){return this.dataFormat===\"NHWC\"?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return this.dataFormat===\"NHWC\"?\"getX(b, in_h, in_w, in_d)\":\"getX(b, in_d, in_h, in_w)\"}};function rit(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockSize:s,dataFormat:i}=n,a=o.shape[0],u=i===\"NHWC\"?o.shape[1]:o.shape[2],l=i===\"NHWC\"?o.shape[2]:o.shape[3],c=i===\"NHWC\"?o.shape[3]:o.shape[1],p=u*s,m=l*s,f=c/(s*s),d=i===\"NHWC\"?[a,p,m,f]:[a,f,p,m],h=new LI(d,s,i);return e.runWebGLProgram(h,[o],o.dtype)}var uB={kernelName:Pa,backendName:\"webgl\",kernelFunc:rit};var Md=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=t.outShape,this.enableShapeUniforms=he(this.outputShape.length);let i=t.filterHeight,a=t.filterWidth,u=t.outChannels/t.inChannels,l=\"\",c=\"\";n&&(o?l=`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?l=`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:l=`\n float activation(float x) {\n ${n}\n }\n `,c=\"result = activation(result);\");let p=e?\"result += getBiasAtOutCoords();\":\"\";e&&this.variableNames.push(\"bias\"),o&&this.variableNames.push(\"preluActivationWeights\"),s&&this.variableNames.push(\"leakyreluAlpha\"),this.userCode=`\n ${l}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${u};\n int q = d2 - d1 * ${u};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${i}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${a}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${p}\n ${c}\n setOutput(result);\n }\n `}};var Pd=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=t.outShape,this.enableShapeUniforms=he(this.outputShape.length);let i=t.outChannels/t.inChannels,a=t.padInfo.left,u=t.strideWidth,l=t.dilationWidth,c=t.filterHeight,p=t.filterWidth,m=p,f=`\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;`;for(let x=0;x=0 && xR < inDims[0]) {\n `;for(let x=0;x<(m+1)/2;x++){let b=x*2;if(f+=`\n xC = xCCorner + ${b*l};\n `,u===1){if(b= 0 && xCOffset < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n `,l===1&&b>0?f+=`\n xC${b} = vec4(xTexelC${b-2}.zw, xTexelC${b}.xy);\n `:f+=`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${b} = vec4(previous.zw, xTexelC${b}.xy);\n } else {\n xC${b} = vec4(0.0, 0.0, xTexelC${b}.xy);\n }\n `):f+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n xC${b} = xTexelC${b};\n `,b+1= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n `,l>1?f+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${b+1} = vec4(previous.zw, xTexelC${b+1}.xy);\n } else {\n xC${b+1} = vec4(0.0, 0.0, xTexelC${b+1}.xy);\n }\n `:f+=`\n xC${b+1} = vec4(xTexelC${b}.zw, xTexelC${b+1}.xy);\n `):w===1?f+=`\n xC${b+1} = xTexelC${b};\n `:f+=`\n xCOffset = xC + ${w};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b+1} = xTexelC${b+1};\n `}}else b= 0 && xCOffset < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b} = vec4(xTexelC${b}.zw, xTexelC${b+1}.zw);\n `,b+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${b+1} = vec4(xTexelC${b+1}.xy, final.xy);\n `)):(f+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b} = vec4(\n xTexelC${b}.xy, xTexelC${b+1}.xy);\n `,b+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${c}'`);let p=S.computeConv2DInfo(o.shape,s.shape,i,c,a,l,!0),m;L().getBool(\"WEBGL_PACK_DEPTHWISECONV\")&&p.strideWidth<=2&&p.outChannels/p.inChannels===1?m=new Pd(p):m=new Md(p);let f=[[p.padInfo.top,p.padInfo.left],[p.strideHeight,p.strideWidth],[p.dilationHeight,p.dilationWidth],[p.inHeight,p.inWidth]];return e.runWebGLProgram(m,[o,s],\"float32\",f)}var cB={kernelName:ss,backendName:\"webgl\",kernelFunc:nit};var zI=class{constructor(t){this.variableNames=[\"x\",\"dy\"],this.outputShape=t.filterShape;let e=t.strideHeight,n=t.strideWidth,o=t.padInfo.top,s=t.padInfo.left,i=t.outChannels/t.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${i} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${e} - ${o};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}},BI=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.outputShape=t.inShape;let e=t.filterHeight,n=t.filterWidth,o=t.strideHeight,s=t.strideWidth,i=e-1-t.padInfo.top,a=n-1-t.padInfo.left,u=t.outChannels/t.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${u}; dm++) {\n int d2 = d1 * ${u} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function oit(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,dy:s}=t,{strides:i,dilations:a,pad:u,dimRoundingMode:l,filterShape:c}=n,p=S.computeConv2DInfo(o.shape,c,i,a,u,l,!0),m=new zI(p);return e.runWebGLProgram(m,[o,s],\"float32\")}var pB={kernelName:$p,backendName:\"webgl\",kernelFunc:oit};function sit(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,filter:s}=t,{strides:i,dilations:a,pad:u,dimRoundingMode:l,inputShape:c}=n,p=S.computeConv2DInfo(c,s.shape,i,a,u,l,!0),m=new BI(p);return e.runWebGLProgram(m,[o,s],\"float32\")}var mB={kernelName:Rp,backendName:\"webgl\",kernelFunc:sit};var VI=class{constructor(t){this.variableNames=[\"X\"],this.outputShape=[t,t],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n `}};function iit(r){let{inputs:t,backend:e}=r,{x:n}=t,o=[...n.shape,...n.shape],s=y.sizeFromShape(n.shape),i=rt({inputs:{x:n},backend:e,attrs:{shape:[s]}}),a=new VI(s),u=e.runWebGLProgram(a,[i],i.dtype),l=rt({inputs:{x:u},backend:e,attrs:{shape:o}});return e.disposeIntermediateTensorInfo(i),e.disposeIntermediateTensorInfo(u),l}var fB={kernelName:Xl,backendName:\"webgl\",kernelFunc:iit};var GI=class{constructor(t){this.variableNames=[\"x\",\"W\"],this.outputShape=t.outShape;let{inHeight:e,inWidth:n,padInfo:o,strideHeight:s,strideWidth:i,filterHeight:a,filterWidth:u,dilationHeight:l,dilationWidth:c}=t,{top:p,left:m}=o;this.userCode=`\n const ivec2 strides = ivec2(${s}, ${i});\n const ivec2 pads = ivec2(${p}, ${m});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${a}; h++) {\n int hIn = hBeg + h * ${l};\n\n if (hIn >= 0 && hIn < ${e}) {\n for (int w = 0; w < ${u}; w++) {\n int wIn = wBeg + w * ${c};\n\n if (wIn >= 0 && wIn < ${n}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}};function ait(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dilations:u}=n,l=S.computeDilation2DInfo(o.shape,s.shape,i,a,\"NHWC\",u),c,p=new GI(l);c=e.runWebGLProgram(p,[o,s],\"float32\");let m=rt({inputs:{x:c},backend:e,attrs:{shape:l.outShape}});return e.disposeIntermediateTensorInfo(c),m}var dB={kernelName:is,backendName:\"webgl\",kernelFunc:ait};function lit(r){let{inputs:t,backend:e,attrs:n}=r,{equation:o}=n,s=t,{allDims:i,summedDims:a,idDims:u}=S.decodeEinsumEquation(o,s.length);S.checkEinsumDimSizes(i.length,u,s);let{path:l,steps:c}=S.getEinsumComputePath(a,u),p=c.length,m=null,f=i.length,d=[];for(let h=0;h=0&&(m=fp({inputs:{x:m},backend:e,attrs:{axis:l[h]-(i.length-f),keepDims:!1}}),d.push(m)),f--)}for(let h of d)h!==m&&e.disposeIntermediateTensorInfo(h);return m}var hB={kernelName:Fp,backendName:\"webgl\",kernelFunc:lit};var uit=\"return (x >= 0.0) ? x : (exp(x) - 1.0);\",cit=`\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n`,pit=It({opSnippet:uit,packedOpSnippet:cit}),gB={kernelName:ls,backendName:\"webgl\",kernelFunc:pit};var mit=\"return (b >= 0.0) ? a : a * (b + 1.0);\",fit=`\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n`,dit=r=>{let{inputs:t,backend:e}=r,{dy:n,y:o}=t,s=L().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new jn(fit,n.shape,o.shape):new $n(mit,n.shape,o.shape);return e.runWebGLProgram(s,[n,o],n.dtype)},xB={kernelName:La,backendName:\"webgl\",kernelFunc:dit};var hit=`\n return vec4(equal(a, b));\n`,git=\"return float(a == b);\",xit=ce({opSnippet:git,packedOpSnippet:hit,dtype:\"bool\",cpuKernelImpl:XL}),yB={kernelName:za,backendName:\"webgl\",kernelFunc:xit};var yit=`\n // Error function is calculated approximately with elementary function.\n // See \"Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables\", Abramowitz and Stegun.\n float p = ${S.ERF_P};\n float a1 = ${S.ERF_A1};\n float a2 = ${S.ERF_A2};\n float a3 = ${S.ERF_A3};\n float a4 = ${S.ERF_A4};\n float a5 = ${S.ERF_A5};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`,bit=It({opSnippet:yit}),bB={kernelName:us,backendName:\"webgl\",kernelFunc:bit};var wit=Po+`\n return exp(x);\n`,Iit=`\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,P1=It({opSnippet:wit,packedOpSnippet:Iit,cpuKernelImpl:YL,dtype:\"float32\"}),wB={kernelName:cs,backendName:\"webgl\",kernelFunc:P1};function WI(r){let{inputs:t,attrs:e,backend:n}=r,{dim:o}=e,{input:s}=t,i=s.shape.length,a=s.shape.slice(),u=o;return o<0&&(y.assert(-(i+1)<=o,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+o+1),a.splice(u,0,1),rt({inputs:{x:s},backend:n,attrs:{shape:a}})}var IB={kernelName:Oi,backendName:\"webgl\",kernelFunc:WI};var CB=\"return exp(x) - 1.0;\",Cit=It({opSnippet:CB,packedOpSnippet:CB,cpuKernelImpl:ZL}),vB={kernelName:ps,backendName:\"webgl\",kernelFunc:Cit};var dg=class{constructor(t,e,n){this.variableNames=[\"real\",\"imag\"];let o=e[1];this.outputShape=e;let s=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,i=n?`${o}.0`:\"1.0\",a;if(t===\"real\")a=\"return real * expR - imag * expI;\";else if(t===\"imag\")a=\"return real * expI + imag * expR;\";else throw new Error(`FFT component must be either \"real\" or \"imag\", got ${t}.`);this.userCode=`\n const float exponentMultiplier = ${s};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${a}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${o});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${o}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${i};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}};function UI(r,t,e){let n=e.texData.get(r.dataId),o=y.sizeFromShape(r.shape),s=r.shape[r.shape.length-1],i=o/s,a=rt({inputs:{x:r},backend:e,attrs:{shape:[i,s]}}),u=a.shape,l=new dg(\"real\",u,t),c=new dg(\"imag\",u,t),p=[{dataId:n.complexTensorInfos.real.dataId,dtype:n.complexTensorInfos.real.dtype,shape:u},{dataId:n.complexTensorInfos.imag.dataId,dtype:n.complexTensorInfos.imag.dtype,shape:u}],m=e.runWebGLProgram(l,p,\"float32\"),f=e.runWebGLProgram(c,p,\"float32\"),d=Rn({inputs:{real:m,imag:f},backend:e});e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f);let h=rt({inputs:{x:d},backend:e,attrs:{shape:r.shape}});return e.disposeIntermediateTensorInfo(a),e.disposeIntermediateTensorInfo(d),h}function vit(r){let{inputs:t,backend:e}=r,{input:n}=t;return UI(n,!1,e)}var SB={kernelName:Op,backendName:\"webgl\",kernelFunc:vit};var HI=class{constructor(t,e){this.outputShape=[],this.customUniforms=[{name:\"value\",type:\"float\"}],this.variableNames=[\"x\"],this.outputShape=t,this.userCode=`\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n `}};function Ll(r){let{backend:t,attrs:e}=r,{shape:n,value:o}=e,{dtype:s}=e;if(s=s||y.inferDtype(o),s===\"string\"){let i=y.getArrayFromDType(s,y.sizeFromShape(n));return i.fill(o),t.makeTensorInfo(n,s,i)}else{let i=new HI(n,o),a=[[o]];return t.runWebGLProgram(i,[],s,a)}}var NB={kernelName:Jl,backendName:\"webgl\",kernelFunc:Ll};var qI=class{constructor(t){this.variableNames=[\"Image\"],this.outputShape=[];let e=t[2];this.outputShape=t,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${e} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${e}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}};var kB={kernelName:Ba,backendName:\"webgl\",kernelFunc:({inputs:r,backend:t})=>{let{image:e}=r,n=t,o=new qI(e.shape);return n.runWebGLProgram(o,[e],e.dtype)}};var TB=\"return floor(x);\",Sit=It({opSnippet:TB,packedOpSnippet:TB,cpuKernelImpl:JL}),_B={kernelName:ms,backendName:\"webgl\",kernelFunc:Sit};var Nit=`\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n`,kit=`\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n`,Tit=ce({opSnippet:Nit,packedOpSnippet:kit,dtype:\"int32\"}),EB={kernelName:fs,backendName:\"webgl\",kernelFunc:Tit};var KI=class{constructor(t){this.variableNames=[\"A\"];let e=Ue(),[n,o]=t;this.outputShape=t,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${o}.0, ${n}.0);\n\n vec4 values = ${e.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}};var jI=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0;let e=Ue(),[n,o]=t;this.outputShape=t,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${o}.0, ${n}.0);\n vec4 values = ${e.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${e.output} = result;\n }\n `}};var AB={kernelName:Qd,backendName:\"webgl\",kernelFunc:_it},Ld,L1=L().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");function _it(r){let{inputs:t,backend:e,attrs:n}=r,{pixels:o}=t,{numChannels:s}=n,i=typeof HTMLVideoElement!=\"undefined\"&&o instanceof HTMLVideoElement,a=typeof HTMLImageElement!=\"undefined\"&&o instanceof HTMLImageElement,[u,l]=i?[o.videoWidth,o.videoHeight]:[o.width,o.height],c=[l,u],p=[l,u,s];if(a||i){let h=L().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");(Ld==null||h!==L1)&&(L1=h,Ld=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:L1})),Ld.canvas.width=u,Ld.canvas.height=l,Ld.drawImage(o,0,0,u,l),o=Ld.canvas}let m=e.makeTensorInfo(c,\"int32\");e.texData.get(m.dataId).usage=Yr.PIXELS,e.gpgpu.uploadPixelDataToTexture(e.getTexture(m.dataId),o);let f=L().getBool(\"WEBGL_PACK\")?new jI(p):new KI(p),d=e.runWebGLProgram(f,[m],\"int32\");return e.disposeData(m.dataId),d}function Eit(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dataFormat:c,dilations:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=n,h=S.convertConv2DDataFormat(c),g=S.computeConv2DInfo(o.shape,s.shape,u,p,l,m,!1,h),x,b=[],w=i!=null,I=a!=null,N=f===\"leakyrelu\",E=()=>{let D=[o,s],F=(M,V)=>{if(V===\"NCHW\"&&M.shape.length===1&&M.shape[0]!==1){let G=rt({inputs:{x:M},backend:e,attrs:{shape:[M.shape[0],1,1]}});return b.push(G),G}return M};if(w&&D.push(F(i,c)),I&&D.push(F(a,c)),N){let M=e.makeTensorInfo([],\"float32\",y.createScalarValue(d,\"float32\"));D.push(M),b.push(M)}return D};if(g.filterHeight===1&&g.filterWidth===1&&g.dilationHeight===1&&g.dilationWidth===1&&g.strideHeight===1&&g.strideWidth===1&&(g.padInfo.type===\"SAME\"||g.padInfo.type===\"VALID\"))x=EI({x:o,filter:s,convInfo:g,backend:e,bias:i,activation:f,preluActivationWeights:a,leakyreluAlpha:d});else if(g.strideWidth<=2&&h===\"channelsLast\"&&L().getBool(\"WEBGL_EXP_CONV\")){let D=f?Ml(f,!0):null,F=new Od(g,w,D,I,N),M=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],V=E();x=e.runWebGLProgram(F,V,\"float32\",M)}else if(L().getBool(\"WEBGL_CONV_IM2COL\"))x=AI({x:o,filter:s,convInfo:g,backend:e,bias:i,activation:f,preluActivationWeights:a,leakyreluAlpha:d});else{let D=f?Ml(f,!1):null,F=new Fd(g,w,D,I,N),M=E();x=e.runWebGLProgram(F,M,\"float32\")}let A=rt({inputs:{x},backend:e,attrs:{shape:g.outShape}});return b.push(x),b.forEach(D=>e.disposeIntermediateTensorInfo(D)),A}var DB={kernelName:Xi,backendName:\"webgl\",kernelFunc:Eit};function Ait(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dilations:c,dimRoundingMode:p,activation:m,leakyreluAlpha:f}=n,d=[],h=c;h==null&&(h=[1,1]),y.assert(S.eitherStridesOrDilationsAreOne(u,h),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${u} and dilations '${h}'`);let g=S.computeConv2DInfo(o.shape,s.shape,u,h,l,p,!0),x=L().getBool(\"WEBGL_PACK_DEPTHWISECONV\")&&g.strideWidth<=2&&g.outChannels/g.inChannels===1,b=m?Ml(m,x):null,w=[o,s],I=i!=null,N=a!=null,E=m===\"leakyrelu\";if(I&&w.push(i),N&&w.push(a),E){let M=e.makeTensorInfo([],\"float32\",y.createScalarValue(f,\"float32\"));w.push(M),d.push(M)}let A;x?A=new Pd(g,I,b,N,E):A=new Md(g,I,b,N,E);let D=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],F=e.runWebGLProgram(A,w,\"float32\",D);return d.forEach(M=>e.disposeIntermediateTensorInfo(M)),F}var $B={kernelName:Yi,backendName:\"webgl\",kernelFunc:Ait};var XI=class{constructor(t,e,n,o){this.sliceDim=t,this.strides=e,this.paramsShape=o,this.variableNames=[\"x\",\"indices\"],this.outputShape=n;let s=zt(n.length),i=`\n int index;`;for(let a=0;a= ${this.paramsShape[a]};\n flattenIndex += index * ${this.strides[a]};`;this.userCode=`\n void main() {\n ${s} coords = getOutputCoords();\n int flattenIndex = 0;\n bool out_of_bounds = false;\n\n ${i}\n\n setOutput(out_of_bounds ? 0.0 : getX(flattenIndex, coords[1]));\n }\n `}};function Dit(r){let{inputs:t,backend:e}=r,{params:n,indices:o}=t,s=o.shape,i=s[s.length-1],a=y.sizeFromShape(n.shape),[u,l,c,p]=S.prepareAndValidate(n,o),m=rt({inputs:{x:o},backend:e,attrs:{shape:[l,i]}}),f=rt({inputs:{x:n},backend:e,attrs:{shape:[y.sizeFromShape(n.shape)/c,c]}});if(e.shouldExecuteOnCPU([n,o])||n.dtype===\"string\"){let x=e.readSync(o.dataId),b=e.bufferSync(n),w=QL(x,b,n.dtype,l,i,c,p,n.shape,a);return e.makeTensorInfo(u,n.dtype,w.values)}let d=new XI(i,p,[l,c],n.shape),h=e.runWebGLProgram(d,[f,m],f.dtype),g=rt({inputs:{x:h},backend:e,attrs:{shape:u}});return e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(h),g}var RB={kernelName:Va,backendName:\"webgl\",kernelFunc:Dit};var YI=class{constructor(t,e){this.variableNames=[\"A\",\"indices\"],this.outputShape=e,this.rank=e.length;let n=zt(this.rank),o=$it(t,2);this.userCode=`\n void main() {\n ${n} resRC = getOutputCoords();\n int index = int(getIndices(resRC.x, resRC.z));\n float inBounds = (index >= 0) && (index < ${t[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${o}));\n }\n `}};function $it(r,t){let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],n=[];for(let o=0;o=0,()=>`GatherV2: the index value ${N} is not in [0, ${w-1}]`)}}let l=S.segment_util.collectGatherOpShapeInfo(o,s,u,a),c=y.sizeFromShape(s.shape),p=[],m=rt({inputs:{x:o},backend:e,attrs:{shape:[l.batchSize,l.outerSize,l.dimSize,l.sliceSize]}}),f=rt({inputs:{x:s},backend:e,attrs:{shape:[l.batchSize,c/l.batchSize]}});p.push(m),p.push(f);let d=[l.batchSize,l.outerSize,c/l.batchSize,l.sliceSize];if(e.shouldExecuteOnCPU([o,s])||o.dtype===\"string\"){let b=e.bufferSync(f),w=e.bufferSync(m),I=tz(w,b,d);return p.forEach(N=>e.disposeIntermediateTensorInfo(N)),e.makeTensorInfo(l.outputShape,I.dtype,I.values)}let h=new YI(m.shape,d),g=e.runWebGLProgram(h,[m,f],m.dtype);p.push(g);let x=rt({inputs:{x:g},backend:e,attrs:{shape:l.outputShape}});return p.forEach(b=>e.disposeIntermediateTensorInfo(b)),x}var FB={kernelName:Mi,backendName:\"webgl\",kernelFunc:z1};var Rit=\"return float(a > b);\",Fit=`\n return vec4(greaterThan(a, b));\n`,Oit=ce({opSnippet:Rit,packedOpSnippet:Fit,cpuKernelImpl:ez,dtype:\"bool\"}),OB={kernelName:Ga,backendName:\"webgl\",kernelFunc:Oit};var Mit=\"return float(a >= b);\",Pit=`\n return vec4(greaterThanEqual(a, b));\n`,Lit=ce({opSnippet:Mit,packedOpSnippet:Pit,dtype:\"bool\",cpuKernelImpl:rz}),MB={kernelName:hs,backendName:\"webgl\",kernelFunc:Lit};function zit(r){let{inputs:t,backend:e}=r,{input:n}=t;return UI(n,!0,e)}var PB={kernelName:Mp,backendName:\"webgl\",kernelFunc:zit};var Bit=\"return float(!isnan(x) && !isinf(x));\",Vit=It({opSnippet:Bit,dtype:\"bool\"}),LB={kernelName:gs,backendName:\"webgl\",kernelFunc:Vit};var Git=\"return float(isinf(x));\",Wit=It({opSnippet:Git,dtype:\"bool\"}),zB={kernelName:xs,backendName:\"webgl\",kernelFunc:Wit};var Uit=\"return float(isnan(x));\",Hit=It({opSnippet:Uit,dtype:\"bool\"}),BB={kernelName:ys,backendName:\"webgl\",kernelFunc:Hit};var qit=\"return float(a < b);\",Kit=`\n return vec4(lessThan(a, b));\n`,jit=ce({opSnippet:qit,packedOpSnippet:Kit,cpuKernelImpl:nz,dtype:\"bool\"}),VB={kernelName:Wa,backendName:\"webgl\",kernelFunc:jit};var Xit=\"return float(a <= b);\",Yit=`\n return vec4(lessThanEqual(a, b));\n`,Zit=ce({opSnippet:Xit,packedOpSnippet:Yit,cpuKernelImpl:oz,dtype:\"bool\"}),GB={kernelName:Ua,backendName:\"webgl\",kernelFunc:Zit};function Jit(r){let{backend:t,attrs:e}=r,{start:n,stop:o,num:s}=e,i=sz(n,o,s);return t.makeTensorInfo([i.length],\"float32\",i)}var WB={kernelName:Ha,backendName:\"webgl\",kernelFunc:Jit};var Qit=Po+`\n return x < 0.0 ? 0./0. : log(x);\n`,tat=`\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n`,eat=It({opSnippet:Qit,packedOpSnippet:tat,cpuKernelImpl:iz}),UB={kernelName:ws,backendName:\"webgl\",kernelFunc:eat};var rat=Po+`\n return log(1.0 + x);\n`,nat=It({opSnippet:rat}),HB={kernelName:Is,backendName:\"webgl\",kernelFunc:nat};var oat=\"return float(a >= 1.0 && b >= 1.0);\",sat=`\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n`,iat=ce({opSnippet:oat,packedOpSnippet:sat,dtype:\"bool\"}),qB={kernelName:qa,backendName:\"webgl\",kernelFunc:iat};var aat=\"return float(!(x >= 1.0));\",lat=It({opSnippet:aat}),KB={kernelName:Ka,backendName:\"webgl\",kernelFunc:lat};var uat=\"return float(a >= 1.0 || b >= 1.0);\",cat=`\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n`,pat=ce({opSnippet:uat,packedOpSnippet:cat,dtype:\"bool\"}),jB={kernelName:ja,backendName:\"webgl\",kernelFunc:pat};var ZI=class{constructor(t,e,n,o,s){this.variableNames=[\"x\"],this.outputShape=[];let i=e,a=t[3]-1;this.outputShape=t;let u,l=`float(${n}) + float(${o}) * sum`;s===.5?u=`inversesqrt(${l})`:s===1?u=`1.0/(${l})`:u=`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${i}; j <= ${i}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${a}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${u};\n setOutput(val);\n }\n `}};var JI=class{constructor(t,e,n,o,s){this.variableNames=[\"x\"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;let i=e,a=t[3]-1;this.outputShape=t;let u,l=`float(${n}) + float(${o}) * sum`;s===.5?u=`inversesqrt(${l})`:s===1?u=`1.0/(${l})`:u=`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${i};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${i}; j <= ${i}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${a}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${u};\n setOutput(result);\n }\n `}};var mat=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{depthRadius:s,bias:i,alpha:a,beta:u}=n,l=L().getBool(\"WEBGL_PACK_NORMALIZATION\")?new JI(o.shape,s,i,a,u):new ZI(o.shape,s,i,a,u);return e.runWebGLProgram(l,[o],o.dtype)},XB={kernelName:Cs,backendName:\"webgl\",kernelFunc:mat};var QI=class{constructor(t,e,n,o,s){this.variableNames=[\"inputImage\",\"outputImage\",\"dy\"],this.outputShape=[],this.outputShape=t,this.depth=t[3],this.depthRadius=e,this.bias=n,this.alpha=o,this.beta=s,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${e})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${e} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${o}) * norm + float(${n});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${o})\n * float(${s})\n * getInputImage(b, r, c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${s});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}};var fat=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o,y:s,dy:i}=t,{depthRadius:a,bias:u,alpha:l,beta:c}=n,p=new QI(o.shape,a,u,l,c);return e.runWebGLProgram(p,[o,s,i],o.dtype)},YB={kernelName:Xa,backendName:\"webgl\",kernelFunc:fat};function ZB(r,t,e,n){let o=y.sizeFromShape(t),i=y.sizeFromShape(r.shape)/o,a=rt({inputs:{x:r},attrs:{shape:[i,o]},backend:n}),u=Yn(a,r.dtype,\"max\",n),l=rt({inputs:{x:u},attrs:{shape:e},backend:n});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(u),l}function B1(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{reductionIndices:s,keepDims:i}=n,a=o.shape.length,u=y.parseAxisParam(s,o.shape),l=u,c=S.getAxesPermutation(l,a),p=c!=null,m=e.shouldExecuteOnCPU([o]),f=o;if(p){if(m){let w=e.texData.get(f.dataId).values,I=new Array(a);for(let A=0;A`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return nr({inputs:{x:o},backend:e});let p=new Si(c,\"max\",!1);return e.runWebGLProgram(p,[o],o.dtype)}var tV={kernelName:Ns,backendName:\"webgl\",kernelFunc:xat};function yat(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dataFormat:u,dimRoundingMode:l}=n,c=[1,1,1],p=S.computePool3DInfo(o.shape,s,i,c,a,l,u),m=new qu(p,\"max\",!1);return e.runWebGLProgram(m,[o],o.dtype)}var eV={kernelName:Pi,backendName:\"webgl\",kernelFunc:yat};var tC=class{constructor(t){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=t.inShape;let e=t.strideHeight,n=t.strideWidth,o=t.dilationHeight,s=t.effectiveFilterHeight,i=t.effectiveFilterWidth,a=s-1-t.padInfo.top,u=i-1-t.padInfo.left,l=s*i-1;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${u});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${s};\n wR += ${o}) {\n float dyR = float(dyRCorner + wR) / ${e}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${i}; wC++) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${l} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${i} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}},eC=class{constructor(t){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=t.inShape;let e=t.strideDepth,n=t.strideHeight,o=t.strideWidth,s=t.dilationDepth,i=t.dilationHeight,a=t.dilationWidth,u=t.effectiveFilterDepth,l=t.effectiveFilterHeight,c=t.effectiveFilterWidth,p=u-1-t.padInfo.front,m=l-1-t.padInfo.top,f=c-1-t.padInfo.left,d=u*l*c-1;this.userCode=`\n const ivec3 pads = ivec3(${p}, ${m}, ${f});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${u};\n wD += ${s}) {\n float dyD = float(dyDCorner + wD) / ${e}.0;\n\n if (dyD < 0.0 || dyD >= ${t.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${l};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${c};\n wC += ${a}) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${d} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${l} * ${c} +\n wR * ${c} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function bat(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s,{filterSize:a,strides:u,pad:l,dimRoundingMode:c}=n,p=[1,1,1],m=S.computePool3DInfo(i.shape,a,u,p,l,c),f=new qu(m,\"max\",!0),d=e.runWebGLProgram(f,[i],i.dtype),h=new eC(m),g=e.runWebGLProgram(h,[o,d],i.dtype);return e.disposeIntermediateTensorInfo(d),g}var rV={kernelName:tu,backendName:\"webgl\",kernelFunc:bat};function wat(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s,output:i}=t,a=s;Ci([s,i],\"maxPoolGrad\");let{filterSize:u,strides:l,pad:c,dimRoundingMode:p}=n,m=S.computePool2DInfo(a.shape,u,l,1,c,p),f=!0,d=new Si(m,\"max\",f),h=e.runWebGLProgram(d,[a],a.dtype),g=new tC(m),x=e.runWebGLProgram(g,[o,h],a.dtype);return e.disposeIntermediateTensorInfo(h),x}var nV={kernelName:Ql,backendName:\"webgl\",kernelFunc:wat};function oV(r,t,e,n){let o=new Si(e,\"max\",!1),s=n.runWebGLProgram(o,[r],\"float32\");o=new Si(e,\"max\",!0,!0,t);let i=n.runWebGLProgram(o,[r],\"float32\");return[s,i]}var sV={kernelName:eu,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{x:n}=r,{filterSize:o,strides:s,pad:i,includeBatchInIndex:a}=t,u=e;y.assert(n.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${n.shape.length}.`);let l=[1,1];y.assert(S.eitherStridesOrDilationsAreOne(s,l),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${s} and dilations '${l}'`);let c=S.computePool2DInfo(n.shape,o,s,l,i),[p,m]=oV(n,a,c,u);return[p,m]}};function iV(r,t,e,n){let o=y.sizeFromShape(t),i=y.sizeFromShape(r.shape)/o,a=rt({inputs:{x:r},attrs:{shape:[i,o]},backend:n}),u=Yn(a,\"float32\",\"mean\",n),l=rt({inputs:{x:u},attrs:{shape:e},backend:n});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(u),l}var aV={kernelName:ks,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{x:n}=r,{keepDims:o,axis:s}=t,i=e,a=n.shape.length,u=y.parseAxisParam(s,n.shape),l=u,c=S.getAxesPermutation(l,a),p=c!=null,m=i.shouldExecuteOnCPU([n]),f=[],d=n;if(p){if(m){let I=i.texData.get(d.dataId).values,N=new Array(a);for(let D=0;Dc[0]+t[p]+c[1]);let o=t.length,s=zt(o),i=e.map(c=>c[0]).join(\",\"),a=e.map((c,p)=>c[0]+t[p]).join(\",\"),u=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,o),l=n===\"reflect\"?0:1;if(o===1){this.userCode=`\n int start = ${i};\n int end = ${a};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${l};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${l};\n }\n setOutput(getX(outC - start));\n }\n `;return}this.userCode=`\n ${s} start = ${s}(${i});\n ${s} end = ${s}(${a});\n\n void main() {\n ${s} outC = getOutputCoords();\n for (int i = 0; i < ${o}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${l};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${l};\n }\n }\n ${s} coords = outC - start;\n setOutput(getX(${u}));\n }\n `}};var nC=class{constructor(t,e,n){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e.map((d,h)=>d[0]+t[h]+d[1]);let o=t.length,s=zt(o),i=e.map(d=>d[0]).join(\",\"),a=e.map((d,h)=>d[0]+t[h]).join(\",\"),u=rr(\"rc\",o),l=rr(\"source\",o),c=`${u[o-1]} < ${this.outputShape[o-1]}`,p=o===1?\"source\":`vec2(${l.slice(-2).join()})`,m=n===\"reflect\"?0:1,f=\"\";if(o===1){let d=`\n ${s} source = rc;\n if (source < start) {\n source = start * 2 - source - ${m};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${m};\n }\n source -= start;\n `;f=`\n ${s} rc = outputLoc;\n ${d}\n result[0] = getChannel(getX(${l.join()}), ${p});\n ${u[o-1]} += 1;\n if(${c}) {\n ${d}\n result[1] = getChannel(getX(${l.join()}), ${p});\n }\n `}else{let d=`\n ${s} source = rc;\n ${s} lt = ${s}(lessThan(source, start));\n ${s} gte = ${s}(greaterThanEqual(source, end));\n ${s} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${m}) +\n gte * ((end - 1) * 2 - source + ${m});\n source -= start;\n `;f=`\n ${s} rc = outputLoc;\n ${d}\n result[0] = getChannel(getX(${l.join()}), ${p});\n ${u[o-1]} += 1;\n if(${c}) {\n ${d}\n result[1] = getChannel(getX(${l.join()}), ${p});\n }\n rc = outputLoc;\n ${u[o-2]} += 1;\n if(${u[o-2]} < ${this.outputShape[o-2]}) {\n ${d}\n result[2] = getChannel(getX(${l.join()}), ${p});\n ${u[o-1]} += 1;\n if(${c}) {\n ${d}\n result[3] = getChannel(getX(${l.join()}), ${p});\n }\n }\n `}this.userCode=`\n const ${s} start = ${s}(${i});\n const ${s} end = ${s}(${a});\n\n void main() {\n ${s} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${f}\n setOutput(result);\n }\n `}};var Nat=({inputs:r,backend:t,attrs:e})=>{let{x:n}=r,{paddings:o,mode:s}=e,i=L().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new nC(n.shape,o,s):new rC(n.shape,o,s);return t.runWebGLProgram(i,[n],n.dtype)},cV={kernelName:Es,backendName:\"webgl\",kernelFunc:Nat};var kat=`if (b == 0.0) return NAN;\n return mod(a, b);`,Tat=`\n vec4 result = mod(a, b);\n bvec4 isNaN = equal(b, vec4(0.0));\n `+Xn+`\n return result;\n`,_at=ce({opSnippet:kat,packedOpSnippet:Tat}),pV={kernelName:As,backendName:\"webgl\",kernelFunc:_at};var oC=class{constructor(t,e,n){this.variableNames=[\"probs\"],this.customUniforms=[{name:\"seed\",type:\"float\"}],this.outputShape=[t,n],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${e-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${e-1}));\n }\n `}};var Eat=`\nif (a == b) {\n return 1.0;\n};\nreturn a / b;`,Aat=`\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n`,V1=ce({opSnippet:Eat,packedOpSnippet:Aat,checkOutOfBounds:!0}),mV={kernelName:as,backendName:\"webgl\",kernelFunc:V1};var fV=\"return a - b;\",G1=ce({opSnippet:fV,packedOpSnippet:fV,supportsComplex:!0,cpuKernelImpl:Az}),dV={kernelName:ei,backendName:\"webgl\",kernelFunc:G1};function W1(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{dim:s}=n,i=y.parseAxisParam([s],o.shape),a=B1({inputs:{x:o},backend:e,attrs:{reductionIndices:i,keepDims:!1}}),u=S.expandShapeToKeepDim(a.shape,i),l=rt({inputs:{x:a},backend:e,attrs:{shape:u}}),c=G1({inputs:{a:o,b:l},backend:e}),p=P1({inputs:{x:c},backend:e}),m=fp({inputs:{x:p},backend:e,attrs:{axis:i,keepDims:!1}}),f=rt({inputs:{x:m},backend:e,attrs:{shape:u}}),d=V1({inputs:{a:p,b:f},backend:e});return e.disposeIntermediateTensorInfo(a),e.disposeIntermediateTensorInfo(l),e.disposeIntermediateTensorInfo(c),e.disposeIntermediateTensorInfo(p),e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f),d}var hV={kernelName:Qs,backendName:\"webgl\",kernelFunc:W1};function Dat(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{numSamples:s,seed:i,normalized:a}=n,u=a?o:W1({inputs:{logits:o},backend:e,attrs:{dim:o.shape.length-1}}),l=u.shape[0],c=u.shape[1],p=new oC(l,c,s),m=[[i]],f=e.runWebGLProgram(p,[u],\"int32\",m);return a||e.disposeIntermediateTensorInfo(u),f}var gV={kernelName:Ya,backendName:\"webgl\",kernelFunc:Dat};var $at=xr+`\n return -x;\n`,Rat=`\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`;function Fat(r){let{inputs:t,backend:e}=r,{x:n}=t;if(e.shouldExecuteOnCPU([n])){let s=e.texData.get(n.dataId),[i,a]=pz(s.values,n.shape,n.dtype);return e.makeTensorInfo(a,n.dtype,i)}let o;return L().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")?o=new Dn(n.shape,Rat):o=new Lr(n.shape,$at),e.runWebGLProgram(o,[n],n.dtype)}var xV={kernelName:Li,backendName:\"webgl\",kernelFunc:Fat};var Oat=Kr.nonMaxSuppressionV3Impl;function Mat(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:t,backend:e,attrs:n}=r,{boxes:o,scores:s}=t,{maxOutputSize:i,iouThreshold:a,scoreThreshold:u}=n,l=e.readSync(o.dataId),c=e.readSync(s.dataId),{selectedIndices:p}=Oat(l,c,i,a,u);return e.makeTensorInfo([p.length],\"int32\",new Int32Array(p))}var yV={kernelName:Ja,backendName:\"webgl\",kernelFunc:Mat};var Pat=Kr.nonMaxSuppressionV4Impl;function Lat(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:t,backend:e,attrs:n}=r,{boxes:o,scores:s}=t,{maxOutputSize:i,iouThreshold:a,scoreThreshold:u,padToMaxOutputSize:l}=n,c=e.readSync(o.dataId),p=e.readSync(s.dataId),{selectedIndices:m,validOutputs:f}=Pat(c,p,i,a,u,l);return[e.makeTensorInfo([m.length],\"int32\",new Int32Array(m)),e.makeTensorInfo([],\"int32\",new Int32Array([f]))]}var bV={kernelName:Qa,backendName:\"webgl\",kernelFunc:Lat};var zat=Kr.nonMaxSuppressionV5Impl;function Bat(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:t,backend:e,attrs:n}=r,{boxes:o,scores:s}=t,{maxOutputSize:i,iouThreshold:a,scoreThreshold:u,softNmsSigma:l}=n,c=e.readSync(o.dataId),p=e.readSync(s.dataId),m=i,f=a,d=u,h=l,{selectedIndices:g,selectedScores:x}=zat(c,p,m,f,d,h);return[e.makeTensorInfo([g.length],\"int32\",new Int32Array(g)),e.makeTensorInfo([x.length],\"float32\",new Float32Array(x))]}var wV={kernelName:tl,backendName:\"webgl\",kernelFunc:Bat};var sC=class{constructor(t,e,n,o){this.variableNames=[\"indices\"],this.outputShape=[t,e],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${o}), float(${n}),\n float(index == coords.y)));\n }\n `}};var Vat=r=>{let{inputs:t,backend:e,attrs:n}=r,{indices:o}=t,{dtype:s,depth:i,onValue:a,offValue:u}=n,l=y.sizeFromShape(o.shape),c=new sC(l,i,a,u),p=rt({inputs:{x:o},backend:e,attrs:{shape:[l]}}),m=e.runWebGLProgram(c,[p],s);e.disposeIntermediateTensorInfo(p);let f=[...o.shape,i],d=rt({inputs:{x:m},backend:e,attrs:{shape:f}});return e.disposeIntermediateTensorInfo(m),d},IV={kernelName:$s,backendName:\"webgl\",kernelFunc:Vat};function hg(r){let{inputs:t,backend:e}=r,{x:n}=t;if(n.dtype===\"complex64\"){let o=Pl({inputs:{input:n},backend:e}),s=hg({inputs:{x:o},backend:e}),i=hp({inputs:{input:n},backend:e}),a=hg({inputs:{x:i},backend:e}),u=Rn({inputs:{real:s,imag:a},backend:e});return e.disposeIntermediateTensorInfo(o),e.disposeIntermediateTensorInfo(s),e.disposeIntermediateTensorInfo(i),e.disposeIntermediateTensorInfo(a),u}else return Ll({attrs:{shape:n.shape,dtype:n.dtype,value:n.dtype===\"string\"?\"\":0},backend:e})}var CV={kernelName:Ki,backendName:\"webgl\",kernelFunc:hg};function vV(r){let{inputs:t,backend:e}=r,{x:n}=t;if(n.dtype===\"string\")throw new Error(\"onesLike is not supported under string dtype\");if(n.dtype===\"complex64\"){let o=Pl({inputs:{input:n},backend:e}),s=vV({inputs:{x:o},backend:e}),i=hp({inputs:{input:n},backend:e}),a=hg({inputs:{x:i},backend:e}),u=Rn({inputs:{real:s,imag:a},backend:e});return e.disposeIntermediateTensorInfo(o),e.disposeIntermediateTensorInfo(s),e.disposeIntermediateTensorInfo(i),e.disposeIntermediateTensorInfo(a),u}else return Ll({attrs:{shape:n.shape,dtype:n.dtype,value:1},backend:e})}var SV={kernelName:zi,backendName:\"webgl\",kernelFunc:vV};function Gat(r){let{inputs:t,backend:e,attrs:n}=r,{axis:o}=n;if(t.length===1)return WI({inputs:{input:t[0]},backend:e,attrs:{dim:o}});let s=t[0].shape,i=t[0].dtype;t.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(i===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let a=[],u=t.map(c=>{let p=WI({inputs:{input:c},backend:e,attrs:{dim:o}});return a.push(p),p}),l=M1({inputs:u,backend:e,attrs:{axis:o}});return a.forEach(c=>e.disposeIntermediateTensorInfo(c)),l}var NV={kernelName:Bi,backendName:\"webgl\",kernelFunc:Gat};var iC=class{constructor(t,e,n){this.variableNames=[\"x\"],this.customUniforms=[{name:\"value\",type:\"float\"}],this.outputShape=e.map((l,c)=>l[0]+t[c]+l[1]);let o=t.length,s=zt(o),i=e.map(l=>l[0]).join(\",\"),a=e.map((l,c)=>l[0]+t[c]).join(\",\"),u=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,o);if(o===1){this.userCode=`\n int start = ${i};\n int end = ${a};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `;return}this.userCode=`\n ${s} start = ${s}(${i});\n ${s} end = ${s}(${a});\n\n void main() {\n ${s} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${s} coords = outC - start;\n setOutput(getX(${u}));\n }\n }\n `}};var aC=class{constructor(t,e,n){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"value\",type:\"float\"}],this.outputShape=e.map((h,g)=>h[0]+t[g]+h[1]);let o=t.length,s=zt(o),i=e.map(h=>h[0]).join(\",\"),a=e.map((h,g)=>h[0]+t[g]).join(\",\"),u=rr(\"rc\",o),l=rr(\"source\",o),c=`${u[o-1]} < ${this.outputShape[o-1]}`,p=o===1?\"source\":`vec2(${l.slice(-2).join()})`,m=[`${s} rc = outputLoc;`,`${u[o-1]} += 1;\n if(${c}) {\n `,o===1?\"\":`}\n rc = outputLoc;\n ${u[o-2]} += 1;\n if(${u[o-2]} < ${this.outputShape[o-2]}) {`,o===1?\"\":` ${u[o-1]} += 1;\n if(${c}) {`],f=o===1?\"rc < start || rc >= end\":\"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))\",d=\"\";for(let h=0,g=o===1?2:4;h{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{paddings:s,constantValue:i}=n;if(y.sizeFromShape(o.shape)===0){let l=s.map((c,p)=>c[0]+o.shape[p]+c[1]);return Ll({backend:e,attrs:{shape:l,value:i,dtype:o.dtype}})}let a=L().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new aC(o.shape,s,i):new iC(o.shape,s,i),u=[[i]];return e.runWebGLProgram(a,[o],o.dtype,u)},kV={kernelName:Rs,backendName:\"webgl\",kernelFunc:U1};var Wat=`\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n`,Uat=`\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n bvec4 isNaN1 = lessThan(a, vec4(0.0));\n bvec4 isNaN2 = lessThan(floor(b), b);\n bvec4 isNaN = bvec4(isNaN1.x && isNaN2.x, isNaN1.y && isNaN2.y, isNaN1.z && isNaN2.z, isNaN1.w && isNaN2.w);\n `+Xn+`\n return result;\n`,Hat=ce({opSnippet:Wat,packedOpSnippet:Uat}),TV={kernelName:Fs,backendName:\"webgl\",kernelFunc:Hat};function qat(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=o.shape.length,u=[],l=y.parseAxisParam(s,o.shape),c=l,p=S.getAxesPermutation(c,a),m=o;p!=null&&(m=Pe({inputs:{x:o},backend:e,attrs:{perm:p}}),c=S.getInnerMostAxes(c.length,a),u.push(m)),S.assertAxesAreInnerMostDims(\"prod\",c,a);let f;if(e.shouldExecuteOnCPU([m])){let d=e.texData.get(m.dataId).values,{outVals:h,outShape:g,outDtype:x}=fz(m.shape,m.dtype,d,c);f=e.makeTensorInfo(g,x,h)}else{let[d,h]=S.computeOutAndReduceShapes(m.shape,c),g=y.sizeFromShape(h),x=rt({inputs:{x:m},backend:e,attrs:{shape:[-1,g]}}),b=lc(o.dtype),w=Yn(x,b,\"prod\",e);f=rt({inputs:{x:w},backend:e,attrs:{shape:d}}),u.push(x),u.push(w)}if(i){u.push(f);let d=S.expandShapeToKeepDim(f.shape,l);f=rt({inputs:{x:f},backend:e,attrs:{shape:d}})}return u.forEach(d=>e.disposeIntermediateTensorInfo(d)),f}var _V={kernelName:Ms,backendName:\"webgl\",kernelFunc:qat};function Kat(r){let{inputs:t,backend:e,attrs:n}=r,{paramsNestedSplits:o,paramsDenseValues:s,indices:i}=t,{outputRaggedRank:a}=n,u=o.map(x=>e.readSync(x.dataId)),l=o.map(x=>x.shape),c=e.readSync(s.dataId),p=e.readSync(i.dataId),[m,f,d]=dz(u,l,c,s.shape,s.dtype,p,i.shape,a),h=m.map(x=>e.makeTensorInfo([x.length],\"int32\",x)),g=e.makeTensorInfo(d,s.dtype,f);return h.concat([g])}var EV={kernelName:Lp,backendName:\"webgl\",kernelFunc:Kat};function jat(r){let{inputs:t,backend:e}=r,{starts:n,limits:o,deltas:s}=t,i=e.readSync(n.dataId),a=e.readSync(o.dataId),u=e.readSync(s.dataId),[l,c]=hz(i,n.shape,n.dtype,a,o.shape,u,s.shape),p=e.makeTensorInfo([l.length],\"int32\",l),m=e.makeTensorInfo([c.length],n.dtype,c);return[p,m]}var AV={kernelName:zp,backendName:\"webgl\",kernelFunc:jat};function Xat(r){let{inputs:t,backend:e,attrs:n}=r,{shape:o,values:s,defaultValue:i,rowPartitionTensors:a}=t,{rowPartitionTypes:u}=n,l=e.readSync(o.dataId),c=e.readSync(s.dataId),p=e.readSync(i.dataId),m=a.map(g=>e.readSync(g.dataId)),f=a.map(g=>g.shape),[d,h]=gz(l,o.shape,c,s.shape,s.dtype,p,i.shape,m,f,u);return e.makeTensorInfo(d,s.dtype,h)}var DV={kernelName:Bp,backendName:\"webgl\",kernelFunc:Xat};var H1=r=>{let{backend:t,attrs:e}=r,{start:n,stop:o,step:s,dtype:i}=e,a=xz(n,o,s,i);return t.makeTensorInfo([a.length],i,a)},$V={kernelName:ru,backendName:\"webgl\",kernelFunc:H1};var Yat=\"return 1.0 / x;\",Zat=It({opSnippet:Yat}),RV={kernelName:Ps,backendName:\"webgl\",kernelFunc:Zat};var Jat=xr+`\n return (x < 0.0) ? 0.0 : x;\n`,Qat=`\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,tlt=It({opSnippet:Jat,packedOpSnippet:Qat}),FV={kernelName:Ls,backendName:\"webgl\",kernelFunc:tlt};var elt=xr+`\n return (x < 0.0) ? 0.0 : min(6.0, x);\n`,rlt=`\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,nlt=It({opSnippet:elt,packedOpSnippet:rlt}),OV={kernelName:Vs,backendName:\"webgl\",kernelFunc:nlt};var lC=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m;s?m=\"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)\":m=\"vec2(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${c[0]/p[0]},\n ${c[1]/p[1]});\n const vec2 inputShapeRC = vec2(${a}.0, ${u}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${m};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}};var uC=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m;s?m=\"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)\":m=\"vec3(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${c[0]/p[0]},\n ${c[1]/p[1]},\n ${c[1]/p[1]});\n const vec3 inputShapeRC = vec3(${a}.0, ${u}.0,\n ${u}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${m};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}};function olt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,c=L().getBool(\"WEBGL_PACK_IMAGE_OPERATIONS\")?new uC(o.shape,u,l,s,i):new lC(o.shape,u,l,s,i);return e.runWebGLProgram(c,[o],\"float32\")}var MV={kernelName:Bs,backendName:\"webgl\",kernelFunc:olt};var cC=class{constructor(t,e,n){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=e;let[,o,s]=e,[,i,a]=t,u=[n&&i>1?o-1:o,n&&a>1?s-1:s],l=[n&&i>1?i-1:i,n&&a>1?a-1:a],c=u[0]/l[0],p=u[1]/l[1],m=1/c,f=1/p,d=Math.ceil(m)*2+2,h=Math.ceil(f)*2+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${c});\n const float widthScale = float(${p});\n\n const float invHeightScale = float(${m});\n const float invWidthScale = float(${f});\n\n const int winHeight = int(${d});\n const int winWidth = int(${h});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${i}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${a}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${o-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${s-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}};function slt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o,dy:s}=t,{alignCorners:i}=n,a=new cC(s.shape,o.shape,i);return e.runWebGLProgram(a,[s],s.dtype)}var PV={kernelName:rl,backendName:\"webgl\",kernelFunc:slt};var pC=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m=o?\"0.5\":\"0.0\",f;s?f=\"max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))\":f=\"vec2(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${c[0]/p[0]},\n ${c[1]/p[1]});\n const vec2 inputShapeRC = vec2(${a}.0, ${u}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${f};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}};var mC=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m=o?\"0.5\":\"0.0\",f;s?f=\"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))\":f=\"vec3(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${c[0]/p[0]},\n ${c[1]/p[1]},\n ${c[1]/p[1]});\n const vec3 inputShapeRC = vec3(${a}.0, ${u}.0,\n ${u}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${f};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}};function ilt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,c=L().getBool(\"WEBGL_PACK_IMAGE_OPERATIONS\")?new mC(o.shape,u,l,s,i):new pC(o.shape,u,l,s,i);return e.runWebGLProgram(c,[o],o.dtype)}var LV={kernelName:zs,backendName:\"webgl\",kernelFunc:ilt};var fC=class{constructor(t,e,n){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=e;let[,o,s]=e,[,i,a]=t,u=[n&&i>1?o-1:o,n&&a>1?s-1:s],l=[n&&i>1?i-1:i,n&&a>1?a-1:a],c=u[0]/l[0],p=u[1]/l[1],m=1/c,f=1/p,d=Math.ceil(m)*2+2,h=Math.ceil(f)*2+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${c});\n const float widthScale = float(${p});\n\n const float invHeightScale = float(${m});\n const float invWidthScale = float(${f});\n\n const int winHeight = int(${d});\n const int winWidth = int(${h});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${i}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${a}) {\n continue;\n }\n\n float sourceFracRow =\n float(${u[0]}) *\n (float(dyR) / float(${l[0]}));\n\n float sourceFracCol =\n float(${u[1]}) *\n (float(dyC) / float(${l[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${o}) - 1),\n ${n} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${s}) - 1),\n ${n} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}};function alt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o,dy:s}=t,{alignCorners:i}=n,a=new fC(s.shape,o.shape,i);return e.runWebGLProgram(a,[s],s.dtype)}var zV={kernelName:el,backendName:\"webgl\",kernelFunc:alt};var dC=class{constructor(t,e){this.variableNames=[\"x\"];let n=t.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=t,n===1){this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${t[0]} - coord - 1));\n }\n `;return}let o=a=>e.indexOf(a)!==-1&&t[a]!==1?`${t[a]} - coords[${a}] - 1`:`coords[${a}]`,s=t.map((a,u)=>o(u)).join(\",\"),i=zt(n);this.userCode=`\n void main() {\n ${i} coords = getOutputCoords();\n setOutput(getX(${s}));\n }\n `}};var hC=class{constructor(t,e){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0;let n=t.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=t;let o=rr(\"rc\",n),s=`${o[n-1]} + 1 < ${this.outputShape[n-1]}`,i=`${o[n-2]} + 1 < ${this.outputShape[n-2]}`,a=zt(n);n===1?this.userCode=`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${t[0]} - rc - 1),\n ${t[0]} - rc - 1);\n if(${s}){\n result.g = getChannel(getX(${t[0]} - (rc + 1) - 1),\n ${t[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:this.userCode=`\n void main() {\n ${a} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${u(o.slice())};\n if(${s}){\n result.g = ${l(o.slice())};\n }\n if(${i}) {\n result.b = ${c(o.slice())};\n if(${s}) {\n result.a = ${p(o.slice())};\n }\n }\n setOutput(result);\n }\n `;function u(d){return m(d)}function l(d){return d[n-1]=\"(\"+d[n-1]+\" + 1)\",m(d)}function c(d){return d[n-2]=\"(\"+d[n-2]+\" + 1)\",m(d)}function p(d){return d[n-1]=\"(\"+d[n-1]+\" + 1)\",d[n-2]=\"(\"+d[n-2]+\" + 1)\",m(d)}function m(d){let h=t.map((b,w)=>f(w,d)),g=h.join(\",\"),x=h.slice(-2).join(\",\");return`getChannel(getX(${g}), vec2(${x}))`}function f(d,h){return e.indexOf(d)!==-1&&t[d]!==1?`${t[d]} - ${h[d]} - 1`:`${h[d]}`}}};function llt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dims:s}=n,i=o.shape.length,a=y.parseAxisParam(s,o.shape);if(i===0)return nr({inputs:{x:o},backend:e});let u=L().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new hC(o.shape,a):new dC(o.shape,a);return e.runWebGLProgram(u,[o],o.dtype)}var BV={kernelName:Gs,backendName:\"webgl\",kernelFunc:llt};var gC=class{constructor(t,e){this.variableNames=[\"Image\"],this.outputShape=[],this.customUniforms=[{name:\"params\",type:\"vec4\"}];let n=t[1],o=t[2];this.outputShape=t;let s=\"\";typeof e==\"number\"?s=`float outputValue = ${e.toFixed(2)};`:s=`\n vec3 fill = vec3(${e.join(\",\")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${s}\n if(coordX >= 0 && coordX < ${o} && coordY >= 0 && coordY < ${n}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}};var VV={kernelName:pl,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{image:n}=r,{radians:o,fillValue:s,center:i}=t,a=e,u=new gC(n.shape,s),[l,c]=S.getImageCenter(i,n.shape[1],n.shape[2]),p=[[l,c,Math.sin(o),Math.cos(o)]];return a.runWebGLProgram(u,[n],n.dtype,p)}};var ult=`\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n`,clt=It({opSnippet:ult}),GV={kernelName:Ws,backendName:\"webgl\",kernelFunc:clt};var plt=\"return inversesqrt(x);\",mlt=It({opSnippet:plt,cpuKernelImpl:yz}),WV={kernelName:Us,backendName:\"webgl\",kernelFunc:mlt};var Ku=class{constructor(t,e,n,o,s,i,a=!0,u=!1){this.variableNames=[\"updates\",\"indices\",\"defaultValue\"],this.outputShape=i;let l=zt(s.length),c=zt(i.length),p=\"\";n===1?p=\"i\":n===2&&(p=\"i, j\");let m=`getIndices(${p})`,f=\"\";o===1?f=\"i\":o===2&&(f=\"i, coords[1]\");let d=`getUpdates(${f})`,h=\"\";u&&(h=\"coords[0], coords[1]\");let g=`getDefaultValue(${h})`,x=e>1?\"strides[j]\":\"strides\";this.userCode=`\n ${l} strides = ${l}(${s});\n\n void main() {\n ${c} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${t}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${e}; j++) {\n int index = round(${m});\n flattenedIndex += index * ${x};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${d};\n found = true;\n }\n }\n setOutput(mix(${g}, sum, float(found)));\n }\n `}};var xC=class{constructor(t,e,n,o,s,i,a=!0,u=!1){this.variableNames=[\"updates\",\"indices\",\"defaultValue\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=i;let l=zt(s.length),c=zt(i.length),p=\"\";n===1?p=\"i\":n===2&&(p=\"i, j\");let m=`getIndices(${p})`,f=\"\";o===1?f=\"i\":o===2&&(f=\"i, coords[1]\");let d=`getUpdates(${f})`,h=\"\";u&&(h=\"coords[0], coords[1]\");let g=`getDefaultValue(${h})`,x=e>1?\"strides[j]\":\"strides\",b=e>1?\"strides[j + 1]\":\"strides\";this.userCode=`\n ${l} strides = ${l}(${s});\n\n void main() {\n ${c} coords = getOutputCoords();\n vec4 sum = vec4(0.);\n vec4 found = vec4(0.);\n for (int i = 0; i < ${t}; i+=2) {\n ivec2 flattenedIndex = ivec2(0);\n for (int j = 0; j < ${e}; j+=2) {\n ivec4 index = round(${m});\n flattenedIndex += index.xz * ${x};\n if (j + 1 < ${e}) {\n flattenedIndex += index.yw * ${b};\n }\n }\n if (flattenedIndex[0] == coords[0] || flattenedIndex[1] == coords[0] ||\n flattenedIndex[0] == coords[0] + 1 || flattenedIndex[1] == coords[0] + 1) {\n vec4 updVals = ${d};\n if (flattenedIndex[0] == coords[0]) {\n sum.xy += updVals.xy;\n found.xy = vec2(1.);\n } else if (flattenedIndex[0] == coords[0] + 1) {\n sum.zw += updVals.xy;\n found.zw = vec2(1.);\n }\n if (flattenedIndex[1] == coords[0]) {\n sum.xy += updVals.zw;\n found.xy = vec2(1.);\n } else if (flattenedIndex[1] == coords[0] + 1) {\n sum.zw += updVals.zw;\n found.zw = vec2(1.);\n }\n }\n }\n setOutput(mix(${g}, sum, found));\n }\n `}};function flt(r){let{inputs:t,backend:e,attrs:n}=r,{indices:o,updates:s}=t,{shape:i}=n,{sliceRank:a,numUpdates:u,sliceSize:l,strides:c,outputSize:p}=S.calculateShapes(s,o,i),m=[p/l,l];if(p===0)return e.makeTensorInfo(i,o.dtype);let f=rt({inputs:{x:o},backend:e,attrs:{shape:[u,a]}}),d=rt({inputs:{x:s},backend:e,attrs:{shape:[u,l]}}),h=e.makeTensorInfo([],\"float32\",new Float32Array([0])),g;L().getBool(\"WEBGL_PACK\")?g=new xC(u,a,f.shape.length,d.shape.length,c,m):g=new Ku(u,a,f.shape.length,d.shape.length,c,m);let x=e.runWebGLProgram(g,[d,f,h],d.dtype),b=rt({inputs:{x},backend:e,attrs:{shape:i}});return e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(x),e.disposeIntermediateTensorInfo(h),b}var UV={kernelName:nl,backendName:\"webgl\",kernelFunc:flt};var yC=class{constructor(t,e,n,o){this.variableNames=[\"sortedSequence\",\"values\"],this.customUniforms=[{name:\"numInputs\",type:\"int\"}],this.outputShape=[t,n];let s=\"while (left < right) {\",i=`for (int i = 0; i < ${Math.ceil(Math.log2(e+1))}; ++i) { if (left >= right) break;`,a=L().getNumber(\"WEBGL_VERSION\")===2?s:i,u=o===\"left\"?\"<\":\"<=\";this.userCode=`\n int findBound(int batch, float value) {\n int left = 0;\n int right = numInputs;\n int mid;\n ${a}\n mid = (left + right) / 2;\n if (getSortedSequence(batch, mid) ${u} value) {\n left = mid + 1;\n } else {\n right = mid;\n }\n }\n return right;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int valueIndex = coords[1];\n\n float value = getValues(batch, valueIndex);\n\n setOutput(float(findBound(batch, value)));\n }\n `}};function dlt(r){let{inputs:t,backend:e,attrs:n}=r,{sortedSequence:o,values:s}=t,{side:i}=n,a=new yC(o.shape[0],o.shape[1],s.shape[1],i),u=[[o.shape[1]]];return e.runWebGLProgram(a,[o,s],\"int32\",u)}var HV={kernelName:sl,backendName:\"webgl\",kernelFunc:dlt};var bC=class{constructor(t,e,n){this.variableNames=[\"c\",\"a\",\"b\"],this.outputShape=e;let o,s;if(n>4)throw Error(`Where for rank ${n} is not yet supported`);if(n===1)s=\"resRC\",o=\"resRC\";else{let a=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],u=[],l=[];for(let c=0;c= 1.0) {\n setOutput(getA(${s}));\n } else {\n setOutput(getB(${s}));\n }\n }\n `}};function hlt(r){let{inputs:t,backend:e}=r,{condition:n,t:o,e:s}=t,i=new bC(n.shape.length,o.shape,o.shape.length);return e.runWebGLProgram(i,[n,o,s],ur(o.dtype,s.dtype))}var qV={kernelName:Gi,backendName:\"webgl\",kernelFunc:hlt};var glt=`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${S.SELU_SCALEALPHA};\n float scale = ${S.SELU_SCALE};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`,xlt=It({opSnippet:glt}),KV={kernelName:Hs,backendName:\"webgl\",kernelFunc:xlt};var ylt=Po+`\n return 1.0 / (1.0 + exp(-1.0 * x));\n`,blt=`\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,wlt=It({opSnippet:ylt,packedOpSnippet:blt,cpuKernelImpl:wz}),jV={kernelName:Xs,backendName:\"webgl\",kernelFunc:wlt};var Ilt=`\n if (isnan(x)) { return 0.0; }\n return sign(x);\n`,Clt=It({opSnippet:Ilt}),XV={kernelName:js,backendName:\"webgl\",kernelFunc:Clt};var vlt=Po+`\n return sin(x);\n`,Slt=`\n vec4 result = sin(x);\n bvec4 isNaN = isnan(x);\n ${Xn}\n return result;\n`,Nlt=It({opSnippet:vlt,packedOpSnippet:Slt}),YV={kernelName:qs,backendName:\"webgl\",kernelFunc:Nlt};var klt=`\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n`,Tlt=It({opSnippet:klt}),ZV={kernelName:Ks,backendName:\"webgl\",kernelFunc:Tlt};var _lt=`\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n`,Elt=It({opSnippet:_lt}),JV={kernelName:Ys,backendName:\"webgl\",kernelFunc:Elt};var Alt=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,paddings:i}=n;y.assert(o.shape.length<=4,()=>\"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet\");let a=s.reduce((x,b)=>x*b),u=[[0,0]];u.push(...i);for(let x=1+s.length;xe.disposeIntermediateTensorInfo(x)),g},QV={kernelName:Ui,backendName:\"webgl\",kernelFunc:Alt};function Dlt(r){let{inputs:t,backend:e}=r,{indices:n,values:o,denseShape:s,defaultValue:i}=t;if(s.shape.length!==1)throw new Error(`Dense shape must be a vector, saw:\n ${s.shape}`);if(n.shape.length!==2)throw new Error(`Indices must be a matrix, saw:\n ${n.shape}`);if(o.shape.length!==1)throw new Error(`Values must be a vector, saw:\n ${o.shape}`);if(i.shape.length!==0)throw new Error(`Default value must be a scalar, saw:\n ${i.shape}`);let a=e.readSync(n.dataId),u=e.readSync(o.dataId),l=e.readSync(s.dataId),c=e.readSync(i.dataId)[0],[p,m,f,d,h]=Cz(a,n.shape,n.dtype,u,o.dtype,l,c);return[e.makeTensorInfo(m,n.dtype,p),e.makeTensorInfo([m[0]],o.dtype,f),e.makeTensorInfo([d.length],\"bool\",new Uint8Array(d.map(g=>Number(g)))),e.makeTensorInfo([h.length],n.dtype,new Int32Array(h))]}var tG={kernelName:nu,backendName:\"webgl\",kernelFunc:Dlt};function $lt(r){let{inputs:t,backend:e}=r,{inputIndices:n,inputShape:o,newShape:s}=t;if(n.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape ${n.shape}`);if(o.shape.length!==1)throw new Error(`Input shape should be a vector but received shape ${o.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=Array.from(e.readSync(o.dataId)),a=e.readSync(n.dataId),u=Array.from(e.readSync(s.dataId)),[l,c,p]=vz(a,n.shape,n.dtype,i,u);return[e.makeTensorInfo(c,n.dtype,l),e.makeTensorInfo([p.length],s.dtype,new Int32Array(p))]}var eG={kernelName:il,backendName:\"webgl\",kernelFunc:$lt};function Rlt(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);let i=e.readSync(n.dataId),a=e.readSync(o.dataId),u=e.readSync(s.dataId),[l,c]=tI(i,n.shape,n.dtype,a,u,!0);return e.makeTensorInfo(c,n.dtype,l)}var rG={kernelName:ou,backendName:\"webgl\",kernelFunc:Rlt};function Flt(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);let i=e.readSync(n.dataId),a=e.readSync(o.dataId),u=e.readSync(s.dataId),[l,c]=tI(i,n.shape,n.dtype,a,u);return e.makeTensorInfo(c,n.dtype,l)}var nG={kernelName:su,backendName:\"webgl\",kernelFunc:Flt};function Olt(r){let{inputs:t,backend:e,attrs:n}=r,{sparseIndices:o,sparseValues:s,defaultValue:i}=t,{outputShape:a}=n,{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=S.calculateShapes(s,o,a),f=!1;if(s.dtype===\"string\"){let x=e.bufferSync(o),b=e.bufferSync(s),w=y.decodeString(e.readSync(i.dataId)[0]),I=bz(x,b,a,m,c,l,u,p,w,f);return e.makeTensorInfo(a,I.dtype,I.values)}let d=new Ku(l,u,o.shape.length,s.shape.length,p,[m,1],f),h=e.runWebGLProgram(d,[s,o,i],s.dtype),g=rt({inputs:{x:h},backend:e,attrs:{shape:a}});return e.disposeIntermediateTensorInfo(h),g}var oG={kernelName:al,backendName:\"webgl\",kernelFunc:Olt};function Mlt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{numOrSizeSplits:s,axis:i}=n,a=y.parseAxisParam(i,o.shape)[0],u=S.prepareSplitSize(o,s,a),l=o.shape.length,c=new Array(l).fill(0),p=o.shape.slice();return u.map(m=>{let f=[...p];f[a]=m;let d=Ni({inputs:{x:o},backend:e,attrs:{begin:c,size:f}});return c[a]+=m,d})}var sG={kernelName:Hi,backendName:\"webgl\",kernelFunc:Mlt};var iG=\"return sqrt(x);\",Plt=It({opSnippet:iG,packedOpSnippet:iG,cpuKernelImpl:Sz}),aG={kernelName:Zs,backendName:\"webgl\",kernelFunc:Plt};var Llt=\"return x * x;\",zlt=It({opSnippet:Llt}),lG={kernelName:iu,backendName:\"webgl\",kernelFunc:zlt};var uG=\"return (a - b) * (a - b);\",Blt=ce({opSnippet:uG,packedOpSnippet:uG}),cG={kernelName:ti,backendName:\"webgl\",kernelFunc:Blt};function Vlt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t;if(o.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");let s=e.readSync(o.dataId),i=S.fromUint8ToStringArray(s),a=Nz(i,\"string\",n);return e.makeTensorInfo(o.shape,\"string\",a)}var pG={kernelName:ec,backendName:\"webgl\",kernelFunc:Vlt};function Glt({inputs:r,attrs:t,backend:e}){let{x:n}=r,o=xr+`\n return x > 0.0 ? 1.0 : float(${t.alpha});\n `,s=new Lr(n.shape,o);return e.runWebGLProgram(s,[n],n.dtype)}var mG={kernelName:xo,backendName:\"webgl\",kernelFunc:Glt};var wC=class{constructor(t,e,n){this.variableNames=[\"x\"],this.outputShape=n;let o=n.length,s=zt(n.length),i=zt(n.length),a=\"\";if(o===1)a=\"coords * strides + begin\";else{let u=0;a=n.map((l,c)=>(u++,n.length===1?`coords * strides[${c}] + begin[${c}]`:`coords[${u-1}] * strides[${c}] + begin[${c}]`)).join(\",\")}this.userCode=`\n ${s} begin = ${s}(${t});\n ${s} strides = ${s}(${e});\n\n void main() {\n ${i} coords = getOutputCoords();\n setOutput(getX(${a}));\n }\n `}};function Wlt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,end:i,strides:a,beginMask:u,endMask:l,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n,{finalShapeSparse:f,finalShape:d,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:w,strides:I}=Be.sliceInfo(o.shape,s,i,a,u,l,c,p,m),N;if(h)N=rt({inputs:{x:o},backend:e,attrs:{shape:d}});else if(g||x){y.assert(o.shape.length>=1,()=>`Input must have rank at least 1, got: ${o.shape.length}`);let A=Be.computeOutShape(b,w,I),D=Ni({inputs:{x:o},backend:e,attrs:{begin:b,size:A}});N=rt({inputs:{x:D},backend:e,attrs:{shape:d}}),e.disposeIntermediateTensorInfo(D)}else if(e.shouldExecuteOnCPU([o])){let D=e.readSync(o.dataId),F=wt(o.shape,o.dtype,D),M=kz(f,F,I,b);N=e.makeTensorInfo(d,o.dtype,M.values)}else{let D=new wC(b,I,f);N=e.runWebGLProgram(D,[o],o.dtype)}let E=rt({inputs:{x:N},backend:e,attrs:{shape:d}});return e.disposeIntermediateTensorInfo(N),E}var fG={kernelName:ll,backendName:\"webgl\",kernelFunc:Wlt};function Ult(r){let{inputs:t,backend:e,attrs:n}=r,{separator:o,nGramWidths:s,leftPad:i,rightPad:a,padWidth:u,preserveShortSequences:l}=n,{data:c,dataSplits:p}=t,m=e.readSync(c.dataId),f=e.readSync(p.dataId),[d,h]=Tz(m,f,o,s,i,a,u,l);return[e.makeTensorInfo([d.length],\"string\",d),e.makeTensorInfo(p.shape,\"int32\",h)]}var dG={kernelName:au,backendName:\"webgl\",kernelFunc:Ult};function Hlt(r){let{inputs:t,backend:e,attrs:n}=r,{skipEmpty:o}=n,{input:s,delimiter:i}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(s.shape.length!==1)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(i.shape.length!==0)throw new Error(`Delimiter must be a scalar, got shape: ${i.shape}`);let a=e.readSync(s.dataId),u=e.readSync(i.dataId)[0],[l,c,p]=_z(a,u,o),m=c.length;return[e.makeTensorInfo([m,2],\"int32\",l),e.makeTensorInfo([m],\"string\",c),e.makeTensorInfo([2],\"int32\",new Int32Array(p))]}var hG={kernelName:lu,backendName:\"webgl\",kernelFunc:Hlt};function qlt(r){let{inputs:t,backend:e,attrs:n}=r,{numBuckets:o}=n,{input:s}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(o<=0)throw new Error(\"Number of buckets must be at least 1\");let i=e.readSync(s.dataId),a=Ez(i,o);return e.makeTensorInfo(s.shape,\"int32\",a)}var gG={kernelName:uu,backendName:\"webgl\",kernelFunc:qlt};var Klt=\"return tan(x);\",jlt=It({opSnippet:Klt}),xG={kernelName:ri,backendName:\"webgl\",kernelFunc:jlt};var Xlt=`\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n`,Ylt=It({opSnippet:Xlt}),yG={kernelName:ni,backendName:\"webgl\",kernelFunc:Ylt};function Zlt(r){let{inputs:t,backend:e,attrs:n}=r,{tensor:o,indices:s,updates:i}=t,{}=n,{sliceRank:a,numUpdates:u,sliceSize:l,strides:c,outputSize:p}=S.calculateShapes(i,s,o.shape),m=[p/l,l];if(p===0)return e.makeTensorInfo(o.shape,s.dtype);let f=rt({inputs:{x:s},backend:e,attrs:{shape:[u,a]}}),d=rt({inputs:{x:i},backend:e,attrs:{shape:[u,l]}}),h=rt({inputs:{x:o},backend:e,attrs:{shape:m}}),g=new Ku(u,a,f.shape.length,d.shape.length,c,m,!1,!0),x=e.runWebGLProgram(g,[d,f,h],h.dtype),b=rt({inputs:{x},backend:e,attrs:{shape:o.shape}});return e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),e.disposeIntermediateTensorInfo(x),b}var bG={kernelName:ol,backendName:\"webgl\",kernelFunc:Zlt};var IC=class{constructor(t,e){this.variableNames=[\"A\"];let n=new Array(t.length);for(let i=0;i5)throw Error(`Tile for rank ${t} is not yet supported`);if(t===1)return`imod(resRC, ${r[0]})`;let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\"],n=[];for(let o=0;o5){let u=e.readSync(o.dataId),l=o.dtype===\"string\"?u.map(m=>y.decodeString(m)):u,c=wt(o.shape,o.dtype,l),p=Dz(c,s);return e.makeTensorInfo(p.shape,p.dtype,p.values)}let i=new IC(o.shape,s);return e.runWebGLProgram(i,[o],o.dtype)}var wG={kernelName:oo,backendName:\"webgl\",kernelFunc:q1};var CC=class{constructor(t){this.variableNames=[\"x\",\"indices\"],this.customUniforms=[{name:\"n\",type:\"int\"},{name:\"firstPass\",type:\"int\"},{name:\"negativeInf\",type:\"float\"},{name:\"dir\",type:\"int\"},{name:\"inc\",type:\"int\"}],this.outputShape=t,this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n `}},vC=class{constructor(t){this.variableNames=[\"x\",\"indices\"],this.customUniforms=[{name:\"n\",type:\"int\"},{name:\"firstPass\",type:\"int\"},{name:\"k\",type:\"int\"}],this.outputShape=t,this.userCode=`\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n `}};function xp(r,t){t!==null&&r.disposeIntermediateTensorInfo(t)}function IG(r){let t=1;for(;tu){let M=e.readSync(o.dataId),[V,G]=$z(M,l,o.dtype,s,i);return[e.makeTensorInfo(V.shape,V.dtype,V.values),e.makeTensorInfo(G.shape,G.dtype,G.values)]}if(s===0)return l[l.length-1]=0,[e.makeTensorInfo(l,o.dtype,[]),e.makeTensorInfo(l,\"int32\",[])];if(c===1)return[o,Ll({attrs:{shape:l,dtype:\"int32\",value:0},backend:e})];let p=e.texData.get(o.dataId),m=p!==null&&p.isPacked,f=m?e.unpackTensor(o):o,h=y.sizeFromShape(l)/c,g=rt({inputs:{x:f},attrs:{shape:[h,c]},backend:e});m&&xp(e,f);let x=IG(s),b=IG(c),w=null,I=()=>w===null?[g,g]:[g,w],N=(M,V,G)=>{let W=I(),q=new CC(G),K=[[c],[w===null?1:0],[Number.NEGATIVE_INFINITY],[M],[V]],Y=w;w=e.runWebGLProgram(q,W,\"int32\",K),xp(e,Y)};for(let M=1;M=1;G/=2)N(V,G,[h,b])}for(let M=b;M>x;M/=2){let V=I(),G=new vC([h,M/2]),q=[[c],[w===null?1:0],[x]],H=w;w=e.runWebGLProgram(G,V,\"int32\",q),xp(e,H);let K=x/2,Y=K*2;for(let Z=K;Z>=1;Z/=2)N(Y,Z,w.shape)}let E=w;w=Ni({inputs:{x:w},backend:e,attrs:{begin:0,size:[h,s]}}),xp(e,E);let A=z1({inputs:{x:g,indices:w},backend:e,attrs:{axis:1,batchDims:1}});xp(e,g);let D=l.slice(0,-1);D.push(s),E=w,w=rt({inputs:{x:w},attrs:{shape:D},backend:e}),xp(e,E);let F=A;return A=rt({inputs:{x:A},attrs:{shape:D},backend:e}),xp(e,F),[A,w]}var CG={kernelName:ul,backendName:\"webgl\",kernelFunc:Qlt};var SC=class{constructor(t,e,n,o,s,i){this.variableNames=[\"Image\",\"Transforms\"],this.outputShape=i;let a=n===\"nearest\"?1:2,u;switch(o){case\"constant\":u=1;break;case\"reflect\":u=2;break;case\"wrap\":u=3;break;case\"nearest\":u=4;break;default:u=1;break}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${u} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${u} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${u} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${t} && 0 <= coordX && coordX < ${e}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${s});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${s});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${e}));\n float mapY = mapCoord(inY, float(${t}));\n\n if (${a} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}};function tut(r){let{inputs:t,backend:e,attrs:n}=r,{image:o,transforms:s}=t,{interpolation:i,fillMode:a,fillValue:u,outputShape:l}=n,[c,p,m,f]=o.shape,[d,h]=l!=null?l:[p,m],g=[c,d,h,f],x=new SC(p,m,i,a,u,g);return e.runWebGLProgram(x,[o,s],\"float32\")}var vG={kernelName:cl,backendName:\"webgl\",kernelFunc:tut};function eut(r){let{inputs:t,attrs:e,backend:n}=r,{axis:o}=e,{x:s}=t;Ci(s,\"unique\"),console.warn(\"WARNING: \",\"UI might be locked temporarily as data is being downloaded\");let i=n.readSync(s.dataId),{outputValues:a,outputShape:u,indices:l}=Rz(i,o,s.shape,s.dtype);return[n.makeTensorInfo(u,s.dtype,a),n.makeTensorInfo([l.length],\"int32\",l)]}var SG={kernelName:cu,backendName:\"webgl\",kernelFunc:eut};function rut(r){let{inputs:t,backend:e,attrs:n}=r,{value:o}=t,{axis:s}=n;s<0&&(s+=o.shape.length);let i=o,a=i.shape.length,u=o.shape[s],l=new Array(a-1),c=0;for(let h=0;he.disposeIntermediateTensorInfo(h)),d}var NG={kernelName:qi,backendName:\"webgl\",kernelFunc:rut};var NC=class{constructor(t,e){this.variableNames=[\"x\",\"segmentIds\"];let n=t.windowSize,o=t.batchSize,s=t.inSize,i=t.numSegments,a=i*Math.ceil(s/n);this.outputShape=[o,a];let u=\"0.0\",l=\"sumValue\",c=Math.floor(n/4)*4,p=n%4,m=`\n sumValue += dot(values, segFilter);\n `,f=\"\";s%n>0&&(f=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `);let d=\"\";s%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = ${u};\n\n float getValue(int batch, int inIdx) {\n ${f}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${d}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${i})) * float(${n}));\n int currentSeg = int(mod(float(outIdx), float(${i})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${c}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${m}\n }\n\n int inIdx = inOffset + ${c};\n if (${p===1}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${m}\n } else if (${p===2}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${m}\n } else if (${p===3}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${m}\n }\n setOutput(${l});\n }\n `}};function nut(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,segmentIds:s}=t,{numSegments:i}=n,a=o.shape.length,u=[],l=0,c=S.getAxesPermutation([l],a),p=o;c!=null&&(p=Pe({inputs:{x:o},backend:e,attrs:{perm:c}}),u.push(p),l=S.getInnerMostAxes(1,a)[0]);let m=S.segment_util.computeOutShape(p.shape,l,i),f=y.sizeFromShape([p.shape[l]]),d=rt({inputs:{x:p},backend:e,attrs:{shape:[-1,f]}});u.push(d);let h=lc(o.dtype),g=(I,N,E,A,D)=>{let F=I.shape[0],M=I.shape[1],V=S.segment_util.segOpComputeOptimalWindowSize(M,D),G={windowSize:V,inSize:M,batchSize:F,numSegments:D},W=new NC(G,N),q=e.compileAndRun(W,[I,E],A);if(u.push(q),q.shape[1]===D)return q;let H=H1({backend:e,attrs:{start:0,stop:D,step:1,dtype:\"float32\"}}),K=q1({inputs:{x:H},backend:e,attrs:{reps:[M/V]}});return u.push(H),u.push(K),g(q,N,K,A,D)},x=g(d,\"unsortedSegmentSum\",s,h,i),b=rt({inputs:{x},backend:e,attrs:{shape:m}}),w=b;if(c!=null){u.push(b);let I=S.getUndoAxesPermutation(c);w=Pe({inputs:{x:w},backend:e,attrs:{perm:I}})}return u.forEach(I=>e.disposeIntermediateTensorInfo(I)),w}var kG={kernelName:pu,backendName:\"webgl\",kernelFunc:nut};var out=[l3,c3,p3,m3,d3,h3,g3,x3,w3,I3,C3,v3,S3,N3,k3,T3,_3,E3,A3,D3,$3,F3,O3,M3,P3,V3,W3,U3,Jz,q3,j3,X3,Y3,Z3,J3,Q3,tB,eB,rB,nB,iB,aB,lB,uB,cB,pB,mB,fB,dB,hB,gB,xB,yB,bB,wB,IB,vB,SB,NB,kB,_B,EB,AB,DB,$B,RB,FB,OB,MB,Zz,PB,K3,LB,zB,BB,Qz,VB,GB,WB,UB,HB,qB,KB,jB,XB,YB,JB,QB,tV,eV,rV,nV,sV,aV,lV,uV,cV,pV,gV,r3,xV,yV,bV,wV,L3,IV,SV,NV,kV,TV,t3,_V,EV,AV,DV,$V,z3,mV,RV,FV,OV,o3,MV,PV,LV,zV,BV,VV,GV,WV,UV,HV,qV,KV,jV,XV,YV,ZV,R3,hV,JV,QV,tG,eG,rG,nG,oG,sG,aG,lG,cG,pG,mG,fG,dG,hG,gG,dV,i3,xG,yG,bG,wG,CG,vG,a3,SG,NG,kG,CV];for(let r of out)rc(r);var Nt;(function(r){r[r.float32=0]=\"float32\",r[r.int32=1]=\"int32\",r[r.bool=2]=\"bool\",r[r.string=3]=\"string\",r[r.complex64=4]=\"complex64\"})(Nt||(Nt={}));var ju;(function(r){r[r.linear=0]=\"linear\",r[r.relu=1]=\"relu\",r[r.relu6=2]=\"relu6\",r[r.prelu=3]=\"prelu\",r[r.leakyrelu=4]=\"leakyrelu\",r[r.sigmoid=5]=\"sigmoid\",r[r.elu=6]=\"elu\"})(ju||(ju={}));var TG;function sut(r){TG=r.wasm.cwrap(ji,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function iut(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s,bias:i,preluActivationWeights:a}=t;if(o.dtype!==\"float32\"||s.dtype!==\"float32\")throw new Error(\"_FusedMatMul for non non-float32 tensors not yet supported.\");let{transposeA:u,transposeB:l,activation:c,leakyreluAlpha:p}=n,m=e.dataIdMap.get(o.dataId).id,f=e.dataIdMap.get(s.dataId).id,d=0;if(i!=null){let D=e.dataIdMap.get(i.dataId);if(D.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${D.shape.length}.`);d=D.id}let h=a==null?0:e.dataIdMap.get(a.dataId).id,g=ju[c];if(g==null)throw new Error(`${c} activation not yet supported for FusedConv2D in the wasm backend.`);let x=u?o.shape[2]:o.shape[1],b=l?s.shape[1]:s.shape[2],w=Ur.assertAndGetBroadcastShape(o.shape.slice(0,-2),s.shape.slice(0,-2)),I=e.makeOutput([...w,x,b],o.dtype),N=e.dataIdMap.get(I.dataId).id,E=new Uint8Array(new Int32Array(o.shape).buffer),A=new Uint8Array(new Int32Array(s.shape).buffer);return TG(m,E,o.shape.length,f,A,s.shape.length,u,l,g,d,h,p||0,N),I}var _G={kernelName:ji,backendName:\"wasm\",setupFunc:sut,kernelFunc:iut};function yt(r,t){let e;function n(s){e=s.wasm.cwrap(r,null,[\"number\",\"number\",\"number\"])}function o(s){let{backend:i,inputs:{x:a}}=s,u=i.dataIdMap.get(a.dataId).id,l=i.makeOutput(a.shape,t||a.dtype),c=i.dataIdMap.get(l.dataId).id;return y.sizeFromShape(l.shape)===0||e(u,Nt[a.dtype],c),l}return{kernelName:r,backendName:\"wasm\",setupFunc:n,kernelFunc:o}}var EG=yt(Ei);var AG=yt(Go);var DG=yt(Wo);function ee(r,t,e){let n;function o(i){n=i.wasm.cwrap(r,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\"])}function s(i){let{backend:a,inputs:u}=i,{a:l,b:c}=u,p=a.dataIdMap.get(l.dataId).id,m=a.dataIdMap.get(c.dataId).id,f=e!=null?e:l.dtype,d=S.assertAndGetBroadcastShape(l.shape,c.shape),h=a.makeOutput(d,f);if(y.sizeFromShape(d)===0)return h;let g=new Uint8Array(new Int32Array(l.shape).buffer),x=new Uint8Array(new Int32Array(c.shape).buffer),b=a.dataIdMap.get(h.dataId).id;return n(p,g,l.shape.length,m,x,c.shape.length,Nt[l.dtype],b),h}return{kernelName:r,backendName:\"wasm\",setupFunc:o,kernelFunc:s}}var aut=!0,$G=ee(no,aut);var RG;function lut(r){RG=r.wasm.cwrap(Uo,null,[\"array\",\"number\",\"number\",\"number\"])}function uut(r){let{inputs:t,backend:e}=r,n=e.makeOutput(t[0].shape,t[0].dtype);if(y.sizeFromShape(n.shape)===0)return n;let o=t.map(a=>e.dataIdMap.get(a.dataId).id),s=new Uint8Array(new Int32Array(o).buffer),i=e.dataIdMap.get(n.dataId).id;return RG(s,o.length,Nt[n.dtype],i),n}var FG={kernelName:Uo,backendName:\"wasm\",setupFunc:lut,kernelFunc:uut};function yp(r){let{inputs:{x:t},backend:e}=r;if(t.dtype===\"string\")return ir(e.readSync(t.dataId),t.shape,t.dtype);let n=e.makeOutput(t.shape,t.dtype),o=e.typedArrayFromHeap(t);return e.typedArrayFromHeap(n).set(o),n}var OG={kernelName:go,backendName:\"wasm\",kernelFunc:yp};var MG;function cut(r){MG=r.wasm.cwrap(so,null,[\"number\",\"array\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function mo(r){let{inputs:t,backend:e,attrs:n}=r,[o,s]=mut(t.x.shape,n.perm),i=!0;for(let d=0;d=o&&(s===-1||n[s]>n[i])&&(s=i);n[s]=o}return[e,n]}var PG={kernelName:so,backendName:\"wasm\",kernelFunc:mo,setupFunc:cut};function Cn(r,t,e){let n=r.shape,o=r.shape.length,s=y.parseAxisParam(t,n),i=s,a=S.getAxesPermutation(i,o),u=null,l=!1;if(a!=null){let c=new Array(o);for(let f=0;f`new shape: ${i}, old shape: ${n.shape}. New shape and old shape must have the same number of elements.`),r.backend.incRef(n.dataId),{dataId:n.dataId,shape:i,dtype:n.dtype}}var nW={kernelName:Vi,backendName:\"wasm\",kernelFunc:mr};var oW;function Nut(r){oW=r.wasm.cwrap(Zo,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\"])}function kut(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s}=t,{transposeA:i,transposeB:a}=n;if(o.dtype!==\"float32\"||s.dtype!==\"float32\")throw new Error(\"BatchMatMul for non non-float32 tensors not yet supported.\");let u=o.shape.length,l=s.shape.length,c=i?o.shape[u-2]:o.shape[u-1],p=a?s.shape[l-1]:s.shape[l-2],m=i?o.shape[u-1]:o.shape[u-2],f=a?s.shape[l-2]:s.shape[l-1],d=o.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(d),x=y.sizeFromShape(h),w=Ur.assertAndGetBroadcastShape(o.shape.slice(0,-2),s.shape.slice(0,-2)).concat([m,f]);y.assert(c===p,()=>`Error in matMul: inner shapes (${c}) and (${p}) of Tensors with shapes ${o.shape} and ${s.shape} and transposeA=${i} and transposeB=${a} must match.`);let I=i?[g,c,m]:[g,m,c],N=a?[x,f,p]:[x,p,f],E=mr({inputs:{x:o},backend:e,attrs:{shape:I}}),A=mr({inputs:{x:s},backend:e,attrs:{shape:N}}),D=e.dataIdMap.get(E.dataId).id,F=e.dataIdMap.get(A.dataId).id,M=i?E.shape[2]:E.shape[1],V=a?A.shape[1]:A.shape[2],G=Math.max(g,x),W=e.makeOutput([G,M,V],E.dtype),q=e.dataIdMap.get(W.dataId).id,H=new Uint8Array(new Int32Array(E.shape).buffer),K=new Uint8Array(new Int32Array(A.shape).buffer);return oW(D,H,E.shape.length,F,K,A.shape.length,i,a,q),e.disposeData(E.dataId),e.disposeData(A.dataId),W.shape=w,W}var sW={kernelName:Zo,backendName:\"wasm\",setupFunc:Nut,kernelFunc:kut};function Lo(r){let{inputs:{x:t},attrs:{begin:e,size:n},backend:o}=r,[s,i]=Be.parseSliceParams(t,e,n),a=Be.isSliceContinous(t.shape,s,i),u=o.readSync(t.dataId),l=o.makeOutput(i,t.dtype),c=y.computeStrides(t.shape),p=o.dataIdMap.get(l.dataId);if(a){let d=Be.computeFlatOffset(s,c);return t.dtype===\"string\"?p.stringBytes=u.slice(d,d+y.sizeFromShape(i)):o.typedArrayFromHeap(l).set(u.subarray(d,d+y.sizeFromShape(i))),l}if(t.dtype===\"string\"){let d=ep(u,s,i,t.shape,t.dtype);return p.stringBytes=d,l}let m=o.typedArrayFromHeap(l),f=t.shape.length;if(f===2)Tut(u,c[0],m,s,i);else if(f===3)_ut(u,c[0],c[1],m,s,i);else if(f===4)Eut(u,c[0],c[1],c[2],m,s,i);else{let d=ep(u,s,i,t.shape,t.dtype);m.set(d)}return l}function Tut(r,t,e,n,o){let s=0,i=n[0],a=n[1],u=i+o[0];for(let l=i;lx*b),u=S.getReshaped(o.shape,s,a),l=S.getPermuted(u.length,s.length),c=S.getReshapedPermuted(o.shape,s,a),p=S.getSliceBeginCoords(i,s.length),m=S.getSliceSize(c,i,s.length),f=mr({inputs:{x:o},backend:e,attrs:{shape:u}}),d=mo({inputs:{x:f},backend:e,attrs:{perm:l}}),h=mr({inputs:{x:d},backend:e,attrs:{shape:c}}),g=Lo({inputs:{x:h},backend:e,attrs:{begin:p,size:m}});return e.disposeData(f.dataId),e.disposeData(d.dataId),e.disposeData(h.dataId),g}var aW={kernelName:Ri,backendName:\"wasm\",kernelFunc:Aut};var lW;function Dut(r){lW=r.wasm.cwrap(Da,null,[\"number\",\"number\",\"boolean\",\"number\",\"number\",\"number\"])}function $ut(r){let{backend:t,inputs:e,attrs:n}=r,{x:o,weights:s}=e,{size:i}=n,a=s.shape.reduce((p,m)=>p*m,1)!==0,u=o.shape.length===1?[i]:[o.shape[0],i],l=t.makeOutput(u,s.dtype);function c(p){return t.dataIdMap.get(p.dataId).id}return lW(c(o),i,a,c(s),Nt[s.dtype],c(l)),l}var uW={kernelName:Da,backendName:\"wasm\",setupFunc:Dut,kernelFunc:$ut};var Rut=!0,cW=ee($a,Rut);function Fut(r){let{inputs:t,backend:e}=r,{s0:n,s1:o}=t,s=e.typedArrayFromHeap(n),i=e.typedArrayFromHeap(o),a=S.assertAndGetBroadcastShape(Array.from(s),Array.from(i));return e.makeOutput([a.length],\"int32\",void 0,new Int32Array(a))}var pW={kernelName:ql,backendName:\"wasm\",kernelFunc:Fut};function Fn(r){let{inputs:{x:t},attrs:{dtype:e},backend:n}=r,o=n.makeOutput(t.shape,e),s=n.typedArrayFromHeap(t);return n.typedArrayFromHeap(o).set(s),o}var mW={kernelName:fo,backendName:\"wasm\",kernelFunc:Fn};var fW=yt(Jo);var dW;function Out(r){dW=r.wasm.cwrap(ho,null,[\"number\",\"number\",\"number\",\"number\"])}function Mut(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{clipValueMin:s,clipValueMax:i}=n,a=e.dataIdMap.get(o.dataId).id,u=e.makeOutput(o.shape,o.dtype),l=e.dataIdMap.get(u.dataId).id;return dW(a,s,i,l),u}var hW={kernelName:ho,backendName:\"wasm\",setupFunc:Out,kernelFunc:Mut};function K1(r){let{inputs:t,backend:e}=r,n=y.parseAxisParam(r.attrs.axis,t[0].shape)[0],o=t.map(f=>f.shape);S.assertParamsConsistent(o,n);let s=S.computeOutShape(t.map(f=>f.shape),n),i=t.filter(f=>y.sizeFromShape(f.shape)>0);if(i.length===1)return yp({inputs:{x:i[0]},backend:e});let a=e.makeOutput(s,t[0].dtype);if(y.sizeFromShape(s)===0)return a;if(i[0].dtype===\"string\"){let f=i.map(w=>{let N=[-1,y.sizeFromShape(w.shape.slice(n))];return mr({inputs:{x:w},backend:e,attrs:{shape:N}})}),d=f.map(w=>({vals:e.readSync(w.dataId),shape:w.shape}));s=S.computeOutShape(f.map(w=>w.shape),1);let h=f[0].shape[0]===1,g=Jc(d,s,t[0].dtype,h),x=S.computeOutShape(i.map(w=>w.shape),n);a.shape=x;let b=e.dataIdMap.get(a.dataId);return b.stringBytes=S.fromStringArrayToUint8(g),f.forEach(w=>e.disposeData(w.dataId)),a}let u=y.sizeFromShape(i[0].shape.slice(0,n)),l=0,c=i.map(f=>{let d=y.sizeFromShape(f.shape.slice(n));return l+=d,d}),p=i.map(f=>e.typedArrayFromHeap(f)),m=e.typedArrayFromHeap(a);for(let f=0;f`cumprod does not support ${o.dtype} tensors in the WASM backend`);let l=S.getAxesPermutation([s],u),c=o;l!==null&&(c=mo({inputs:{x:o},attrs:{perm:l},backend:e}));let p=S.getInnerMostAxes(1,u)[0];S.assertAxesAreInnerMostDims(\"cumprod\",[p],u);let m=e.makeOutput(c.shape,c.dtype),f=c.shape[p],d=e.dataIdMap.get(c.dataId).id,h=e.dataIdMap.get(m.dataId).id;DW(d,i?1:0,a?1:0,f,h,Nt[o.dtype]);let g=m;if(l!==null){let x=S.getUndoAxesPermutation(l);g=mo({inputs:{x:m},attrs:{perm:x},backend:e}),e.disposeData(c.dataId),e.disposeData(m.dataId)}return g}var $W={kernelName:Oa,backendName:\"wasm\",setupFunc:Xut,kernelFunc:Yut};var RW;function Zut(r){RW=r.wasm.cwrap(os,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Jut(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,exclusive:i,reverse:a}=n,u=o.shape.length;y.assert(o.dtype===\"float32\"||o.dtype===\"int32\",()=>`cumsum does not support ${o.dtype} tensors in the WASM backend`);let l=S.getAxesPermutation([s],u),c=o;l!==null&&(c=mo({inputs:{x:o},attrs:{perm:l},backend:e}));let p=S.getInnerMostAxes(1,u)[0];S.assertAxesAreInnerMostDims(\"cumsum\",[p],u);let m=e.makeOutput(c.shape,c.dtype),f=c.shape[p],d=e.dataIdMap.get(c.dataId).id,h=e.dataIdMap.get(m.dataId).id;RW(d,i?1:0,a?1:0,f,h,Nt[o.dtype]);let g=m;if(l!==null){let x=S.getUndoAxesPermutation(l);g=mo({inputs:{x:m},attrs:{perm:x},backend:e}),e.disposeData(c.dataId),e.disposeData(m.dataId)}return g}var FW={kernelName:os,backendName:\"wasm\",setupFunc:Zut,kernelFunc:Jut};var OW;function Qut(r){OW=r.wasm.cwrap(\"DenseBincount\",null,[\"number\",\"array\",\"number\",\"number\",\"boolean\",\"number\",\"number\",\"boolean\",\"number\"])}function tct(r){let{backend:t,inputs:e,attrs:n}=r,{x:o,weights:s}=e,{size:i,binaryOutput:a}=n,u=s.shape.reduce((m,f)=>m*f,1)!==0,l=o.shape.length===1?[i]:[o.shape[0],i],c=t.makeOutput(l,s.dtype);function p(m){return t.dataIdMap.get(m.dataId).id}return OW(p(o),new Uint8Array(new Int32Array(o.shape).buffer),o.shape.length,i,u,p(s),Nt[s.dtype],a,p(c)),c}var MW={kernelName:jl,backendName:\"wasm\",setupFunc:Qut,kernelFunc:tct};var PW;function ect(r){PW=r.wasm.cwrap(Pa,null,[\"number\",\"number\",\"number\",\"array\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function rct(r){let{backend:t,inputs:e,attrs:n}=r,{x:o}=e,{blockSize:s,dataFormat:i}=n,a=o.shape[0],u=i===\"NHWC\"?o.shape[1]:o.shape[2],l=i===\"NHWC\"?o.shape[2]:o.shape[3],c=i===\"NHWC\"?o.shape[3]:o.shape[1],p=u*s,m=l*s,f=c/(s*s),d=i===\"NHWC\"?[a,p,m,f]:[a,f,p,m],h=t.makeOutput(d,\"float32\"),x=t.dataIdMap.get(o.dataId).id,b=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),w=new Uint8Array(new Int32Array(d).buffer),I=new Uint8Array(new Int32Array(y.computeStrides(d)).buffer),N=t.dataIdMap.get(h.dataId).id;return PW(x,s,i===\"NHWC\"?1:0,b,o.shape.length-1,w,I,d.length,N),h}var LW={kernelName:Pa,backendName:\"wasm\",setupFunc:ect,kernelFunc:rct};var zW;function nct(r){zW=r.wasm.cwrap(ss,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function oct(r){let{inputs:t,attrs:e,backend:n}=r,{x:o,filter:s}=t,i=n.dataIdMap.get(o.dataId).id,a=n.dataIdMap.get(s.dataId).id,{strides:u,dilations:l,pad:c,dimRoundingMode:p}=e,m=l==null?[1,1]:l,f=S.computeConv2DInfo(o.shape,s.shape,u,m,c,p,!0),d=f.filterHeight,h=f.filterWidth,g=f.padInfo.top,x=f.padInfo.right,b=f.padInfo.bottom,w=f.padInfo.left,I=f.dilationHeight,N=f.dilationWidth,E=f.strideHeight,A=f.strideWidth,D=f.inChannels,F=f.outChannels,M=f.padInfo.type===\"SAME\"?1:0;if(f.dataFormat!==\"channelsLast\")throw new Error(`wasm backend DepthwiseConv2dNative does not support dataFormat:'${f.dataFormat}'. Please use 'channelsLast'.`);let V=n.makeOutput(f.outShape,\"float32\"),G=n.dataIdMap.get(V.dataId).id;return zW(i,o.shape[0],o.shape[1],o.shape[2],a,d,h,g,x,b,w,M,I,N,E,A,D,F,G),V}var BW={kernelName:ss,backendName:\"wasm\",setupFunc:nct,kernelFunc:oct};var VW;function sct(r){VW=r.wasm.cwrap(\"Diag\",null,[\"number\",\"number\",\"number\",\"number\"])}function ict(r){let{inputs:t,backend:e}=r,{x:n}=t,o=y.sizeFromShape(n.shape),s=e.makeOutput([...n.shape,...n.shape],n.dtype);return VW(e.dataIdMap.get(n.dataId).id,Nt[n.dtype],o,e.dataIdMap.get(s.dataId).id),s}var GW={kernelName:Xl,backendName:\"wasm\",setupFunc:sct,kernelFunc:ict};var WW;function act(r){WW=r.wasm.cwrap(is,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function lct(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dilations:u}=n;if(o.dtype!==s.dtype)throw new Error(`Dilation2D error: x must have the same dtype as filter. Got ${o.dtype} and ${s.dtype}`);let l=S.computeDilation2DInfo(o.shape,s.shape,i,a,\"NHWC\",u),c=e.makeOutput(l.outShape,o.dtype);return WW(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(c.dataId).id,Nt[o.dtype],l.batchSize,l.inChannels,l.inHeight,l.inWidth,l.outHeight,l.outWidth,l.strideHeight,l.strideWidth,l.dilationHeight,l.dilationWidth,l.filterHeight,l.filterWidth,l.padInfo.top,l.padInfo.left),c}var UW={kernelName:is,backendName:\"wasm\",setupFunc:act,kernelFunc:lct};var HW;function uct(r){HW=r.wasm.cwrap(Zl,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function cct(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,dy:i}=t,{strides:a,pad:u,dilations:l}=n;if(o.dtype!==s.dtype||o.dtype!==i.dtype)throw new Error(`Dilation2DBackpropFilter error: x must have the same dtype as filter and dy. Got ${o.dtype}, ${s.dtype}, and ${i.dtype}`);let c=S.computeDilation2DInfo(o.shape,s.shape,a,u,\"NHWC\",l),p=e.makeOutput(s.shape,s.dtype);return HW(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(i.dataId).id,e.dataIdMap.get(p.dataId).id,Nt[o.dtype],c.batchSize,c.inChannels,c.inHeight,c.inWidth,c.outHeight,c.outWidth,c.strideHeight,c.strideWidth,c.dilationHeight,c.dilationWidth,c.filterHeight,c.filterWidth,c.padInfo.top,c.padInfo.left),p}var qW={kernelName:Zl,backendName:\"wasm\",setupFunc:uct,kernelFunc:cct};var KW;function pct(r){KW=r.wasm.cwrap(Yl,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function mct(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,dy:i}=t,{strides:a,pad:u,dilations:l}=n;if(o.dtype!==s.dtype||o.dtype!==i.dtype)throw new Error(`Dilation2DBackpropInput error: x must have the same dtype as filter and dy. Got ${o.dtype}, ${s.dtype}, and ${i.dtype}`);let c=S.computeDilation2DInfo(o.shape,s.shape,a,u,\"NHWC\",l),p=e.makeOutput(o.shape,o.dtype);return KW(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(i.dataId).id,e.dataIdMap.get(p.dataId).id,Nt[o.dtype],c.batchSize,c.inChannels,c.inHeight,c.inWidth,c.outHeight,c.outWidth,c.strideHeight,c.strideWidth,c.dilationHeight,c.dilationWidth,c.filterHeight,c.filterWidth,c.padInfo.top,c.padInfo.left),p}var jW={kernelName:Yl,backendName:\"wasm\",setupFunc:pct,kernelFunc:mct};var XW=yt(ls);var YW;function fct(r){YW=r.wasm.cwrap(La,null,[\"number\",\"number\",\"number\"])}function dct(r){let{inputs:t,backend:e}=r,{dy:n,y:o}=t,s=e.makeOutput(o.shape,\"float32\"),i=a=>e.dataIdMap.get(a.dataId).id;return YW(i(o),i(n),i(s)),s}var ZW={kernelName:La,backendName:\"wasm\",setupFunc:fct,kernelFunc:dct};var hct=!1,JW=ee(za,hct,\"bool\");var QW=yt(us);var tU=yt(cs,\"float32\");function TC(r){let{inputs:t,attrs:e,backend:n}=r,{input:o}=t,{dim:s}=e,i=o.shape.length,a=o.shape.slice(),u=s;return s<0&&(y.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+s+1),a.splice(u,0,1),mr({inputs:{x:o},backend:n,attrs:{shape:a}})}var eU={kernelName:Oi,backendName:\"wasm\",kernelFunc:TC};var rU=yt(ps,\"float32\");function X1(r){let{attrs:{shape:t,value:e},backend:n}=r,{attrs:{dtype:o}}=r;o=o||y.inferDtype(e);let s=n.makeOutput(t,o);return n.typedArrayFromHeap(s).fill(e),s}var nU={kernelName:Jl,backendName:\"wasm\",kernelFunc:X1};var oU;function gct(r){oU=r.wasm.cwrap(Ba,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function xct(r){let{inputs:t,backend:e}=r,{image:n}=t,o=e.makeOutput(n.shape,n.dtype),s=e.dataIdMap.get(n.dataId).id,i=e.dataIdMap.get(o.dataId).id,[a,u,l,c]=n.shape;return oU(s,a,u,l,c,i),o}var sU={kernelName:Ba,backendName:\"wasm\",kernelFunc:xct,setupFunc:gct};var iU=yt(ms);var yct=!1,aU=ee(fs,yct);var lU;function bct(r){lU=r.wasm.cwrap(ds,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function wct(r){let{backend:t,inputs:e,attrs:n}=r,{varianceEpsilon:o}=n,{x:s,mean:i,variance:a,offset:u,scale:l}=e,c=t.dataIdMap.get(s.dataId).id,p=t.dataIdMap.get(i.dataId).id,m=t.dataIdMap.get(a.dataId).id,f=u!=null?t.dataIdMap.get(u.dataId).id:0,d=l!=null?t.dataIdMap.get(l.dataId).id:0,h=t.makeOutput(s.shape,s.dtype);if(y.sizeFromShape(s.shape)===0)return h;let g=t.dataIdMap.get(h.dataId).id;return lU(c,p,m,f,d,o,g),h}var uU={kernelName:ds,backendName:\"wasm\",setupFunc:bct,kernelFunc:wct};var cU;function Ict(r){cU=r.wasm.cwrap(Xi,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Cct(r){let{inputs:t,attrs:e,backend:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dilations:c,dataFormat:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=e,h=S.computeConv2DInfo(o.shape,s.shape,u,c,l,m),g=ju[f];if(g==null)throw new Error(`${f} activation not yet supported for FusedConv2D in the wasm backend.`);let x=n.dataIdMap.get(o.dataId).id,b=n.dataIdMap.get(s.dataId).id,w=h.outChannels,I=0;if(i!=null){let ot=n.dataIdMap.get(i.dataId);if(ot.shape.length!==1)throw new Error(`FusedConv2D only supports rank-1 bias but got rank ${ot.shape.length}.`);if(ot.shape[0]!==w)throw new Error(`FusedConv2D bias shape (${ot.shape}) does not match the number of output channels (${w})`);I=ot.id}let N=h.filterHeight,E=h.filterWidth,A=h.padInfo.top,D=h.padInfo.right,F=h.padInfo.bottom,M=h.padInfo.left,V=h.dilationHeight,G=h.dilationWidth,W=h.strideHeight,q=h.strideWidth,H=h.inChannels,K=h.padInfo.type===\"SAME\"?1:0,Y=h.batchSize,Z=h.inHeight,et=h.inWidth;if(p!==\"NHWC\")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${p}'. Please use 'NHWC'.`);let nt=n.makeOutput(h.outShape,\"float32\"),st=n.dataIdMap.get(nt.dataId).id,lt=a==null?0:n.dataIdMap.get(a.dataId).id;return cU(x,Y,Z,et,b,N,E,I,A,D,F,M,K,V,G,W,q,H,w,g,lt,d||0,st),nt}var pU={kernelName:Xi,backendName:\"wasm\",setupFunc:Ict,kernelFunc:Cct};var mU;function vct(r){mU=r.wasm.cwrap(Yi,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Sct(r){let{inputs:t,attrs:e,backend:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dilations:c,dataFormat:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=e,h=S.computeConv2DInfo(o.shape,s.shape,u,c,l,m,!0),g=ju[f];if(g==null)throw new Error(`${f} activation not yet supported for FusedDepthwiseConv2D in the wasm backend.`);let x=n.dataIdMap.get(o.dataId).id,b=n.dataIdMap.get(s.dataId).id,w=h.outChannels,I=0;if(i!=null){let ot=n.dataIdMap.get(i.dataId);if(ot.shape.length!==1)throw new Error(`FusedDepthwiseConv2D only supports rank-1 bias but got rank ${ot.shape.length}.`);if(ot.shape[0]!==w)throw new Error(`FusedDepthwiseConv2D bias shape (${ot.shape}) does not match the number of output channels (${w})`);I=ot.id}let N=h.filterHeight,E=h.filterWidth,A=h.padInfo.top,D=h.padInfo.right,F=h.padInfo.bottom,M=h.padInfo.left,V=h.dilationHeight,G=h.dilationWidth,W=h.strideHeight,q=h.strideWidth,H=h.inChannels,K=h.padInfo.type===\"SAME\"?1:0,Y=h.batchSize,Z=h.inHeight,et=h.inWidth;if(p!==\"NHWC\")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${p}'. Please use 'NHWC'.`);let nt=n.makeOutput(h.outShape,\"float32\"),st=n.dataIdMap.get(nt.dataId).id,lt=a==null?0:n.dataIdMap.get(a.dataId).id;return mU(x,Y,Z,et,b,N,E,I,A,D,F,M,K,V,G,W,q,H,w,g,lt,d||0,st),nt}var fU={kernelName:Yi,backendName:\"wasm\",setupFunc:vct,kernelFunc:Sct};var dU;function Nct(r){dU=r.wasm.cwrap(Va,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function kct(r){let{backend:t,inputs:e}=r,{params:n,indices:o}=e,[s,i,a,u]=Ey.prepareAndValidate(n,o),l=t.makeOutput(s,n.dtype);if(i===0)return l;let c=o.shape,p=c[c.length-1],f=t.dataIdMap.get(n.dataId).id,h=t.dataIdMap.get(o.dataId).id,g=new Uint8Array(new Int32Array(u).buffer),x=t.dataIdMap.get(l.dataId).id;return dU(f,Nt[n.dtype],h,i,p,a,g,x),l}var hU={kernelName:Va,backendName:\"wasm\",setupFunc:Nct,kernelFunc:kct};var gU;function Tct(r){gU=r.wasm.cwrap(\"Gather\",null,[\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function _ct(r){let{backend:t,inputs:e,attrs:n}=r,{x:o,indices:s}=e,{axis:i,batchDims:a}=n,u=y.parseAxisParam(i,o.shape)[0],l=t.readSync(s.dataId),c=o.shape[u];for(let F=0;F=0,()=>`GatherV2: the index value ${M} is not in [0, ${c-1}]`)}let p=S.segment_util.collectGatherOpShapeInfo(o,s,u,a),m=mr({inputs:{x:o},attrs:{shape:[p.batchSize,p.outerSize,p.dimSize,p.sliceSize]},backend:t}),f=y.sizeFromShape(s.shape),d=mr({inputs:{x:s},attrs:{shape:[p.batchSize,f/p.batchSize]},backend:t}),h=[p.batchSize,p.outerSize,f/p.batchSize,p.sliceSize],g=t.makeOutput(h,o.dtype);if(y.sizeFromShape(o.shape)===0)return g;let x=m.shape.length-1,w=t.dataIdMap.get(m.dataId).id,N=t.dataIdMap.get(d.dataId).id,E=t.dataIdMap.get(g.dataId).id,A=new Uint8Array(new Int32Array(y.computeStrides(m.shape)).buffer),D=new Uint8Array(new Int32Array(y.computeStrides(h)).buffer);return gU(w,Nt[o.dtype],A,x,N,p.batchSize,D,E),t.disposeData(m.dataId),t.disposeData(d.dataId),g.shape=p.outputShape,g}var xU={kernelName:Mi,backendName:\"wasm\",setupFunc:Tct,kernelFunc:_ct};var Ect=!1,yU=ee(Ga,Ect,\"bool\");var Act=!1,bU=ee(hs,Act,\"bool\");var wU=yt(gs,\"bool\");var IU=yt(xs,\"bool\");var CU=yt(ys,\"bool\");var vU;function Dct(r){vU=r.wasm.cwrap(bs,null,[\"number\",\"number\",\"number\",\"number\"])}function $ct(r){let{inputs:{x:t},attrs:{alpha:e},backend:n}=r,o=n.dataIdMap.get(t.dataId).id,s=n.makeOutput(t.shape,\"float32\");if(y.sizeFromShape(t.shape)!==0){let i=n.dataIdMap.get(s.dataId).id;vU(o,Nt[t.dtype],e,i)}return s}var SU={kernelName:bs,backendName:\"wasm\",setupFunc:Dct,kernelFunc:$ct};var Rct=!1,NU=ee(Wa,Rct,\"bool\");var Fct=!1,kU=ee(Ua,Fct,\"bool\");var TU;function Oct(r){TU=r.wasm.cwrap(Ha,null,[\"number\",\"number\",\"number\",\"number\"])}function Mct(r){let{attrs:t,backend:e}=r,{start:n,stop:o,num:s}=t,i=Math.floor(s),a=e.makeOutput([i],\"float32\");return TU(e.dataIdMap.get(a.dataId).id,n,o,i),a}var _U={kernelName:Ha,backendName:\"wasm\",setupFunc:Oct,kernelFunc:Mct};var EU=yt(ws);var AU=yt(Is);var Pct=!1,DU=ee(qa,Pct,\"bool\");var $U=yt(Ka);var Lct=!1,RU=ee(ja,Lct,\"bool\");var zct=!1,FU=ee(T_,zct,\"bool\");var OU;function Bct(r){OU=r.wasm.cwrap(Cs,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Vct(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{depthRadius:s,bias:i,alpha:a,beta:u}=n;if(o.dtype!==\"float32\")throw new Error(\"LRN error: x must have dtype float32\");let l=e.makeOutput(o.shape,o.dtype);return OU(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(l.dataId).id,o.shape[3],s,i,a,u),l}var MU={kernelName:Cs,backendName:\"wasm\",setupFunc:Bct,kernelFunc:Vct};var PU;function Gct(r){PU=r.wasm.cwrap(Xa,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Wct(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,y:s,dy:i}=t,{depthRadius:a,bias:u,alpha:l,beta:c}=n;if(o.dtype!==\"float32\"||s.dtype!==\"float32\"||i.dtype!==\"float32\")throw new Error(\"LRNGrad error: x, y, and dy must have dtype float32\");let p=e.makeOutput(o.shape,o.dtype);return PU(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(i.dataId).id,e.dataIdMap.get(p.dataId).id,i.shape[3],a,u,l,c),p}var LU={kernelName:Xa,backendName:\"wasm\",setupFunc:Gct,kernelFunc:Wct};var zU;function Uct(r){zU=r.wasm.cwrap(vs,null,[\"number\",\"number\",\"number\",\"number\"])}function Hct(r){let{backend:t,inputs:e,attrs:n}=r,{reductionIndices:o,keepDims:s}=n,{x:i}=e,u=t.dataIdMap.get(i.dataId).id,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Cn(i,o,t);if(f){let w=t.dataIdMap.get(c.dataId).id;l=c,u=w}let d=l.shape.length;S.assertAxesAreInnerMostDims(\"max\",p,d);let[h,g]=S.computeOutAndReduceShapes(l.shape,p),x=y.sizeFromShape(g),b=t.makeOutput(h,i.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;zU(u,Nt[i.dtype],x,w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var BU={kernelName:vs,backendName:\"wasm\",setupFunc:Uct,kernelFunc:Hct};var qct=!1,VU=ee(Ss,qct);var GU;function Kct(r){GU=r.wasm.cwrap(Ns,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function jct(r){let{inputs:t,attrs:e,backend:n}=r,o=t.x,s=n.dataIdMap.get(o.dataId).id;y.assert(o.dtype===\"float32\",()=>`Error in MaxPool: only float32 input is supported. Got ${o.dtype}.`);let{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=e,c=S.computePool2DInfo(o.shape,i,a,1,u,l),p=c.filterHeight,m=c.filterWidth,f=c.padInfo.top,d=c.padInfo.right,h=c.padInfo.bottom,g=c.padInfo.left,x=c.dilationHeight,b=c.dilationWidth,w=c.strideHeight,I=c.strideWidth,N=c.inChannels,E=c.outChannels;if(c.dataFormat!==\"channelsLast\")throw new Error(`wasm backend does not support dataFormat:'${c.dataFormat}'. Please use 'channelsLast'.`);let A=n.makeOutput(c.outShape,\"float32\"),D=n.dataIdMap.get(A.dataId).id;return GU(s,o.shape[0],o.shape[1],o.shape[2],p,m,f,d,h,g,x,b,w,I,N,E,D),A}var WU={kernelName:Ns,backendName:\"wasm\",setupFunc:Kct,kernelFunc:jct};var UU;function Xct(r){UU=r.wasm.cwrap(\"MaxPool3D\",null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Yct(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n,c=S.computePool3DInfo(o.shape,s,i,1,a,u,l),p=e.makeOutput(c.outShape,o.dtype);return UU(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(p.dataId).id,c.batchSize,c.inChannels,c.inDepth,c.inHeight,c.inWidth,c.outDepth,c.outHeight,c.outWidth,c.strideDepth,c.strideHeight,c.strideWidth,c.dilationDepth,c.dilationHeight,c.dilationWidth,c.effectiveFilterDepth,c.effectiveFilterHeight,c.effectiveFilterWidth,c.padInfo.front,c.padInfo.top,c.padInfo.left),p}var HU={kernelName:Pi,backendName:\"wasm\",setupFunc:Xct,kernelFunc:Yct};var qU;function Zct(r){qU=r.wasm.cwrap(\"MaxPool3DGrad\",null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Jct(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=n,c=S.computePool3DInfo(s.shape,i,a,1,u,l),p=e.makeOutput(s.shape,s.dtype);return qU(e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(p.dataId).id,c.batchSize,c.inChannels,c.inDepth,c.inHeight,c.inWidth,c.outDepth,c.outHeight,c.outWidth,c.strideDepth,c.strideHeight,c.strideWidth,c.dilationDepth,c.dilationHeight,c.dilationWidth,c.effectiveFilterDepth,c.effectiveFilterHeight,c.effectiveFilterWidth,c.padInfo.front,c.padInfo.top,c.padInfo.left),p}var KU={kernelName:tu,backendName:\"wasm\",setupFunc:Zct,kernelFunc:Jct};var jU;function Qct(r){jU=r.wasm.cwrap(\"MaxPoolGrad\",null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function tpt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=n,c=S.computePool2DInfo(s.shape,i,a,1,u,l),p=e.makeOutput(s.shape,s.dtype);return jU(e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(p.dataId).id,c.batchSize,c.inChannels,c.inHeight,c.inWidth,c.outHeight,c.outWidth,c.strideHeight,c.strideWidth,c.dilationHeight,c.dilationWidth,c.effectiveFilterHeight,c.effectiveFilterWidth,c.padInfo.top,c.padInfo.left),p}var XU={kernelName:Ql,backendName:\"wasm\",setupFunc:Qct,kernelFunc:tpt};var YU;function ept(r){YU=r.wasm.cwrap(\"MaxPoolWithArgmax\",null,[\"number\",\"number\",\"number\",\"number\",\"boolean\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function rpt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,includeBatchInIndex:u}=n;y.assert(o.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${o.shape.length}.`);let l=[1,1];y.assert(S.eitherStridesOrDilationsAreOne(i,l),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,[1,1],a),p=e.makeOutput(c.outShape,o.dtype),m=e.makeOutput(c.outShape,\"int32\");return YU(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(p.dataId).id,e.dataIdMap.get(m.dataId).id,Nt[o.dtype],u,c.batchSize,c.inChannels,c.inHeight,c.inWidth,c.outHeight,c.outWidth,c.strideHeight,c.strideWidth,c.dilationHeight,c.dilationWidth,c.effectiveFilterHeight,c.effectiveFilterWidth,c.padInfo.top,c.padInfo.left),[p,m]}var ZU={kernelName:eu,backendName:\"wasm\",setupFunc:ept,kernelFunc:rpt};var JU;function npt(r){JU=r.wasm.cwrap(ks,null,[\"number, number, number\"])}function opt(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Cn(i,o,t),d=p;if(f){let I=t.dataIdMap.get(c.dataId).id;I!==a&&(l=c,u=I,d=S.getInnerMostAxes(d.length,l.shape.length))}S.assertAxesAreInnerMostDims(\"mean\",d,l.shape.length);let[h,g]=S.computeOutAndReduceShapes(l.shape,d),x=y.sizeFromShape(g),b=l;l.dtype!==\"float32\"&&(b=Fn({backend:t,inputs:{x:l},attrs:{dtype:\"float32\"}}),u=t.dataIdMap.get(b.dataId).id);let w=t.makeOutput(h,\"float32\");if(y.sizeFromShape(l.shape)!==0){let I=t.dataIdMap.get(w.dataId).id;JU(u,x,I)}if(f&&t.disposeData(c.dataId),s){let I=S.expandShapeToKeepDim(w.shape,m);w.shape=I}return l.dtype!==\"float32\"&&t.disposeData(b.dataId),w}var QU={kernelName:ks,backendName:\"wasm\",setupFunc:npt,kernelFunc:opt};var t4;function spt(r){t4=r.wasm.cwrap(Ts,null,[\"number\",\"number\",\"number\",\"number\"])}function ipt(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Cn(i,o,t);if(f){let w=t.dataIdMap.get(c.dataId).id;w!==a&&(l=c,u=w)}let d=l.shape.length;S.assertAxesAreInnerMostDims(\"min\",p,d);let[h,g]=S.computeOutAndReduceShapes(l.shape,p),x=y.sizeFromShape(g),b=t.makeOutput(h,l.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;t4(u,Nt[i.dtype],x,w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var e4={kernelName:Ts,backendName:\"wasm\",setupFunc:spt,kernelFunc:ipt};var apt=!1,r4=ee(_s,apt);var Y1;(function(r){r[r.reflect=0]=\"reflect\",r[r.symmetric=1]=\"symmetric\"})(Y1||(Y1={}));var n4;function lpt(r){n4=r.wasm.cwrap(Es,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function upt(r){let{inputs:{x:t},backend:e,attrs:{paddings:n,mode:o}}=r,s=n.map((d,h)=>d[0]+t.shape[h]+d[1]),i=e.dataIdMap.get(t.dataId).id,a=e.makeOutput(s,t.dtype),u=e.dataIdMap.get(a.dataId).id,l=new Uint8Array(new Int32Array(t.shape).buffer),c=n.map(d=>d[0]),p=n.map(d=>d[1]),m=new Uint8Array(new Int32Array(c).buffer),f=new Uint8Array(new Int32Array(p).buffer);return n4(i,l,t.shape.length,Nt[t.dtype],m,f,Y1[o],u),a}var o4={kernelName:Es,backendName:\"wasm\",kernelFunc:upt,setupFunc:lpt};var s4;function cpt(r){s4=r.wasm.cwrap(Qs,null,[\"number\",\"number\",\"number\",\"number\"])}function Z1(r){let{backend:t,inputs:{logits:e},attrs:{dim:n}}=r,o=t.dataIdMap.get(e.dataId).id,s=t.makeOutput(e.shape,e.dtype),i=t.dataIdMap.get(s.dataId).id,a=e.shape[n],u=y.sizeFromShape(e.shape)/a;return y.sizeFromShape(s.shape)===0||s4(o,i,a,u),s}var i4={kernelName:Qs,backendName:\"wasm\",setupFunc:cpt,kernelFunc:Z1};var a4;function ppt(r){a4=r.wasm.cwrap(Ya,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function mpt(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{numSamples:s,seed:i,normalized:a}=n;if(o.dtype!==\"float32\")throw new Error(`Tensor logits must have dtype float32, got ${o.dtype}`);let u=a?o:Z1({inputs:{logits:o},backend:e,attrs:{dim:o.shape.length-1}}),[l,c]=u.shape,p=e.makeOutput([l,s],\"int32\");return a4(e.dataIdMap.get(u.dataId).id,l,c,s,i,e.dataIdMap.get(p.dataId).id),a||e.disposeData(u.dataId),p}var l4={kernelName:Ya,backendName:\"wasm\",setupFunc:ppt,kernelFunc:mpt};var u4=ee(As,!0);var fpt=!0,c4=ee(Ds,fpt);var p4=yt(Li);function zd(r,t){let e=new Int32Array(r.wasm.HEAPU8.buffer,t,4),n=e[0],o=e[1],s=e[2],i=e[3];return r.wasm._free(t),{pSelectedIndices:n,selectedSize:o,pSelectedScores:s,pValidOutputs:i}}var m4;function dpt(r){m4=r.wasm.cwrap(Ja,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\"])}function hpt(r){let{backend:t,inputs:e,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:i}=n,{boxes:a,scores:u}=e,l=t.dataIdMap.get(a.dataId).id,c=t.dataIdMap.get(u.dataId).id,p=m4(l,c,s,o,i),{pSelectedIndices:m,selectedSize:f,pSelectedScores:d,pValidOutputs:h}=zd(t,p);return t.wasm._free(d),t.wasm._free(h),t.makeOutput([f],\"int32\",m)}var f4={kernelName:Ja,backendName:\"wasm\",setupFunc:dpt,kernelFunc:hpt};var d4;function gpt(r){d4=r.wasm.cwrap(Qa,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\",\"bool\"])}function xpt(r){let{backend:t,inputs:e,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:i,padToMaxOutputSize:a}=n,{boxes:u,scores:l}=e,c=t.dataIdMap.get(u.dataId).id,p=t.dataIdMap.get(l.dataId).id,m=d4(c,p,s,o,i,a),{pSelectedIndices:f,selectedSize:d,pSelectedScores:h,pValidOutputs:g}=zd(t,m);t.wasm._free(h);let x=t.makeOutput([d],\"int32\",f),b=t.makeOutput([],\"int32\",g);return[x,b]}var h4={kernelName:Qa,backendName:\"wasm\",setupFunc:gpt,kernelFunc:xpt};var g4;function ypt(r){g4=r.wasm.cwrap(tl,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function bpt(r){let{backend:t,inputs:e,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:i,softNmsSigma:a}=n,{boxes:u,scores:l}=e,c=t.dataIdMap.get(u.dataId).id,p=t.dataIdMap.get(l.dataId).id,m=g4(c,p,s,o,i,a),{pSelectedIndices:f,selectedSize:d,pSelectedScores:h,pValidOutputs:g}=zd(t,m);t.wasm._free(g);let x=t.makeOutput([d],\"int32\",f),b=t.makeOutput([d],\"float32\",h);return[x,b]}var x4={kernelName:tl,backendName:\"wasm\",setupFunc:ypt,kernelFunc:bpt};var wpt=!1,y4=ee(Za,wpt,\"bool\");var b4;function Ipt(r){b4=r.wasm.cwrap($s,null,[\"number\",\"number\",\"number\",\"number\",\"number\"])}function Cpt(r){let{inputs:t,backend:e,attrs:n}=r,{indices:o}=t,{dtype:s,depth:i,onValue:a,offValue:u}=n,l=e.makeOutput([...o.shape,i],s),c=e.dataIdMap.get(l.dataId).id,m=e.dataIdMap.get(o.dataId).id;return b4(m,i,a,u,c),l}var w4={kernelName:$s,backendName:\"wasm\",setupFunc:Ipt,kernelFunc:Cpt};function vpt(r){let{inputs:{x:t},backend:e}=r,n=e.makeOutput(t.shape,t.dtype);return e.typedArrayFromHeap(n).fill(1),n}var I4={kernelName:zi,backendName:\"wasm\",kernelFunc:vpt};function Spt(r){let{inputs:t,backend:e,attrs:n}=r,{axis:o}=n;if(t.length===1)return TC({inputs:{input:t[0]},backend:e,attrs:{dim:o}});let s=t[0].shape,i=t[0].dtype;t.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(i===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let a=[],u=t.map(c=>{let p=TC({inputs:{input:c},backend:e,attrs:{dim:o}});return a.push(p),p}),l=K1({inputs:u,backend:e,attrs:{axis:o}});return a.forEach(c=>e.disposeData(c.dataId)),l}var C4={kernelName:Bi,backendName:\"wasm\",kernelFunc:Spt};var v4;function Npt(r){v4=r.wasm.cwrap(Rs,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function kpt(r){let{inputs:{x:t},backend:e,attrs:{paddings:n,constantValue:o}}=r,s=n.map((h,g)=>h[0]+t.shape[g]+h[1]);if(y.sizeFromShape(t.shape)===0)return X1({backend:e,attrs:{shape:s,value:o,dtype:t.dtype}});let i=e.dataIdMap.get(t.dataId).id,a=e.makeOutput(s,t.dtype),l=e.dataIdMap.get(a.dataId).id,c=new Uint8Array(new Int32Array(t.shape).buffer),p=n.map(h=>h[0]),m=n.map(h=>h[1]),f=new Uint8Array(new Int32Array(p).buffer),d=new Uint8Array(new Int32Array(m).buffer);return v4(i,c,t.shape.length,Nt[t.dtype],f,d,o,l),a}var _C={kernelName:Rs,backendName:\"wasm\",kernelFunc:kpt,setupFunc:Npt};var Tpt=!1,S4=ee(Fs,Tpt);var N4;function _pt(r){N4=r.wasm.cwrap(Os,null,[\"number\",\"number\",\"number\"])}function Ept(r){let{inputs:t,backend:e}=r,{x:n,alpha:o}=t,s=e.dataIdMap.get(n.dataId).id,i=e.dataIdMap.get(o.dataId).id,a=s,u=n,l=u;u.dtype!==\"float32\"&&(l=Fn({backend:e,inputs:{x:n},attrs:{dtype:\"float32\"}}),a=e.dataIdMap.get(l.dataId).id);let c=e.makeOutput(n.shape,\"float32\"),p=e.dataIdMap.get(c.dataId).id;return N4(a,i,p),u.dtype!==\"float32\"&&e.disposeData(l.dataId),c}var k4={kernelName:Os,backendName:\"wasm\",setupFunc:_pt,kernelFunc:Ept};var T4;function Apt(r){T4=r.wasm.cwrap(Ms,null,[\"number\",\"number\",\"number\",\"number\"])}function Dpt(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Cn(i,o,t),d=p;if(f){let w=t.dataIdMap.get(c.dataId).id;w!==a&&(l=c,u=w,d=S.getInnerMostAxes(d.length,l.shape.length))}S.assertAxesAreInnerMostDims(\"prod\",d,l.shape.length);let[h,g]=S.computeOutAndReduceShapes(l.shape,d),x=y.sizeFromShape(g),b=t.makeOutput(h,l.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;T4(u,x,Nt[b.dtype],w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var _4={kernelName:Ms,backendName:\"wasm\",setupFunc:Apt,kernelFunc:Dpt};var $pt=r=>{let{backend:t,attrs:e}=r,{start:n,stop:o,step:s,dtype:i}=e,a=tp(n,o,s,i),u=t.makeOutput([a.length],i);return t.typedArrayFromHeap(u).set(a),u},E4={kernelName:ru,backendName:\"wasm\",kernelFunc:$pt};var Rpt=!0,A4=ee(as,Rpt);var D4=yt(Ps);var $4=yt(Ls);var R4=yt(Vs);var F4;function Fpt(r){F4=r.wasm.cwrap(Bs,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Opt(r){let{backend:t,inputs:e,attrs:n}=r,{images:o}=e,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,[c,p,m,f]=o.shape,d=[c,u,l,f],h=t.dataIdMap.get(o.dataId),g;h.dtype!==\"float32\"&&(g=Fn({backend:t,inputs:{x:o},attrs:{dtype:\"float32\"}}),h=t.dataIdMap.get(g.dataId));let x=h.id,b=t.makeOutput(d,\"float32\");if(y.sizeFromShape(o.shape)===0)return b;let w=t.dataIdMap.get(b.dataId).id;return F4(x,c,p,m,f,u,l,s?1:0,i?1:0,w),g!=null&&t.disposeData(g.dataId),b}var O4={kernelName:Bs,backendName:\"wasm\",setupFunc:Fpt,kernelFunc:Opt};var M4;function Mpt(r){M4=r.wasm.cwrap(rl,null,[\"number\",\"number\",\"number\",\"array\",\"array\",\"boolean\"])}function Ppt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o,dy:s}=t,{alignCorners:i}=n,a=e.makeOutput(o.shape,\"float32\"),u=e.dataIdMap.get(o.dataId),l;return u.dtype!==\"float32\"&&(l=Fn({backend:e,inputs:{x:o},attrs:{dtype:\"float32\"}}),u=e.dataIdMap.get(l.dataId)),M4(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(a.dataId).id,new Uint8Array(new Int32Array(o.shape).buffer),new Uint8Array(new Int32Array(s.shape).buffer),i),l!=null&&e.disposeData(l.dataId),a}var P4={kernelName:rl,backendName:\"wasm\",setupFunc:Mpt,kernelFunc:Ppt};var L4;function Lpt(r){L4=r.wasm.cwrap(zs,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function zpt(r){let{backend:t,inputs:e,attrs:n}=r,{images:o}=e,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,[c,p,m,f]=o.shape,d=[c,u,l,f],h=t.makeOutput(d,\"float32\");if(y.sizeFromShape(o.shape)===0)return h;let g=t.dataIdMap.get(o.dataId),x;g.dtype!==\"float32\"&&(x=Fn({backend:t,inputs:{x:o},attrs:{dtype:\"float32\"}}),g=t.dataIdMap.get(x.dataId));let b=g.id,w=t.dataIdMap.get(h.dataId).id;return L4(b,c,p,m,f,u,l,s?1:0,i?1:0,w),x!=null&&t.disposeData(x.dataId),h}var z4={kernelName:zs,backendName:\"wasm\",setupFunc:Lpt,kernelFunc:zpt};var B4;function Bpt(r){B4=r.wasm.cwrap(el,null,[\"number\",\"number\",\"number\",\"array\",\"array\",\"boolean\"])}function Vpt(r){let{inputs:t,backend:e,attrs:n}=r,{images:o,dy:s}=t,{alignCorners:i}=n,a=e.makeOutput(o.shape,\"float32\"),u=e.dataIdMap.get(o.dataId),l;return u.dtype!==\"float32\"&&(l=Fn({backend:e,inputs:{x:o},attrs:{dtype:\"float32\"}}),u=e.dataIdMap.get(l.dataId)),B4(e.dataIdMap.get(o.dataId).id,e.dataIdMap.get(s.dataId).id,e.dataIdMap.get(a.dataId).id,new Uint8Array(new Int32Array(o.shape).buffer),new Uint8Array(new Int32Array(s.shape).buffer),i),l!=null&&e.disposeData(l.dataId),a}var V4={kernelName:el,backendName:\"wasm\",setupFunc:Bpt,kernelFunc:Vpt};var G4;function Gpt(r){G4=r.wasm.cwrap(Gs,null,[\"number\",\"array\",\"number\",\"array\",\"number\",\"number\"])}function Wpt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dims:s}=n,i=y.parseAxisParam(s,o.shape);if(o.shape.length===0)return yp({inputs:{x:o},backend:e});let a=e.makeOutput(o.shape,o.dtype),u=e.dataIdMap.get(o.dataId).id,l=e.dataIdMap.get(a.dataId).id,c=new Uint8Array(new Int32Array(i).buffer),p=new Uint8Array(new Int32Array(o.shape).buffer);G4(u,c,i.length,p,o.shape.length,l);let m=mr({inputs:{x:a},attrs:{shape:o.shape},backend:e});return e.disposeData(a.dataId),m}var W4={kernelName:Gs,backendName:\"wasm\",kernelFunc:Wpt,setupFunc:Gpt};var U4;function Upt(r){U4=r.wasm.cwrap(pl,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function Hpt(r){let{inputs:t,backend:e,attrs:n}=r,{image:o}=t,{radians:s,fillValue:i,center:a}=n,u=e.makeOutput(o.shape,o.dtype),l=e.dataIdMap.get(o.dataId).id,c=e.dataIdMap.get(u.dataId).id,[p,m,f,d]=o.shape,[h,g]=S.getImageCenter(a,m,f),x=i===0,b=255,w=typeof i==\"number\"?[i,i,i,x?0:b]:[...i,b],I=new Uint8Array(new Int32Array(w).buffer);return U4(l,p,m,f,d,s,h,g,I,w.length,c),u}var H4={kernelName:pl,backendName:\"wasm\",kernelFunc:Hpt,setupFunc:Upt};var q4=yt(Ws);var K4=yt(Us);var j4;function qpt(r){j4=r.wasm.cwrap(nl,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function Kpt(r){let{backend:t,inputs:e,attrs:n}=r,{indices:o,updates:s}=e,{shape:i}=n,a=t.makeOutput(i,s.dtype);if(y.sizeFromShape(i)===0)return a;let{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=$u.calculateShapes(s,o,i),d=t.dataIdMap.get(o.dataId).id,g=t.dataIdMap.get(s.dataId).id,x=new Uint8Array(new Int32Array(p).buffer),b=t.dataIdMap.get(a.dataId).id;return j4(d,g,Nt[s.dtype],u,l,c,x,m,b),a}var X4={kernelName:nl,backendName:\"wasm\",setupFunc:qpt,kernelFunc:Kpt};var Y4;function jpt(r){Y4=r.wasm.cwrap(sl,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"bool\",\"number\"])}function Xpt(r){let{inputs:t,backend:e,attrs:n}=r,{sortedSequence:o,values:s}=t,{side:i}=n;if(o.dtype!==s.dtype)throw new Error(`SearchSorted error: sorted_sequence must have the same dtype as values. Got ${o.dtype} and ${s.dtype}`);let a=e.makeOutput(s.shape,\"int32\");function u(l){return e.dataIdMap.get(l.dataId).id}return Y4(u(o),u(s),o.shape[0],o.shape[1],s.shape[1],Nt[o.dtype],i===\"left\",u(a)),a}var Z4={kernelName:sl,backendName:\"wasm\",setupFunc:jpt,kernelFunc:Xpt};var J4;function Ypt(r){J4=r.wasm.cwrap(\"SelectV2\",null,[\"number\",\"number\",\"number\",\"number\",\"number\"])}function Zpt(r){let{inputs:t,backend:e}=r,{condition:n,t:o,e:s}=t,i=e.dataIdMap.get(n.dataId).id,a=e.dataIdMap.get(o.dataId).id,u=e.dataIdMap.get(s.dataId).id,l=e.makeOutput(o.shape,o.dtype),c=e.dataIdMap.get(l.dataId).id,p=n.shape.length,m=o.shape.length,f=p===0||p>1||m===1?1:y.sizeFromShape(o.shape.slice(1));return J4(i,a,u,f,c),l}var Q4={kernelName:Gi,backendName:\"wasm\",kernelFunc:Zpt,setupFunc:Ypt};var tH=yt(Hs);var eH;function Jpt(r){eH=r.wasm.cwrap(Xs,null,[\"number\",\"number\"])}function Qpt(r){let{backend:t,inputs:{x:e}}=r,n=t.dataIdMap.get(e.dataId).id,o=t.makeOutput(e.shape,e.dtype),s=t.dataIdMap.get(o.dataId).id;return y.sizeFromShape(o.shape)===0||eH(n,s),o}var rH={kernelName:\"Sigmoid\",backendName:\"wasm\",setupFunc:Jpt,kernelFunc:Qpt};var nH=yt(js);var oH=yt(qs);var sH=yt(Ks);var iH=yt(Ys);function tmt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,paddings:i}=n,a=y.sizeFromShape(s),u=[[0,0]];u.push(...i);for(let E=1+s.length;E0?u+1:0;if(c<0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let p=o.shape.slice();p[0]=c;let m=e.dataIdMap.get(o.dataId).id,f=e.dataIdMap.get(s.dataId).id,d=e.dataIdMap.get(i.dataId).id,h=e.makeOutput(p,o.dtype),g=e.dataIdMap.get(h.dataId).id,x=e.makeOutput([4],\"int32\"),b=e.dataIdMap.get(x.dataId).id;mH(m,Nt[o.dtype],o.shape[0],f,d,g,b,t,0);let w=e.readSync(x.dataId),I;switch(w[0]){case 0:{I=S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{I=S.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:I=S.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(w[1],w[2]);break;case 3:I=S.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(w[1],w[2],w[3]);break;default:I=\"\"}if(e.disposeData(x.dataId),I)throw e.disposeData(h.dataId),new Error(I);return h}function smt(r){return AC(r,!0)}var fH={kernelName:ou,backendName:\"wasm\",setupFunc:EC,kernelFunc:smt};function imt(r){return AC(r,!1)}var dH={kernelName:su,backendName:\"wasm\",setupFunc:EC,kernelFunc:imt};var hH;function amt(r){hH=r.wasm.cwrap(al,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function lmt(r){let{backend:t,inputs:e,attrs:n}=r,{sparseIndices:o,sparseValues:s,defaultValue:i}=e,{outputShape:a}=n,u=t.makeOutput(a,i.dtype);if(y.sizeFromShape(a)===0)return u;let{sliceRank:l,numUpdates:c,sliceSize:p,strides:m,outputSize:f}=S.calculateShapes(s,o,a),d=t.dataIdMap.get(o.dataId).id,h=t.dataIdMap.get(s.dataId).id,g=t.dataIdMap.get(i.dataId).id,x=new Uint8Array(new Int32Array(m).buffer),b=t.dataIdMap.get(u.dataId).id;return hH(d,h,s.shape.length,g,Nt[i.dtype],l,c,p,x,f,b),u}var gH={kernelName:al,backendName:\"wasm\",setupFunc:amt,kernelFunc:lmt};function umt(r){let{inputs:t,attrs:e,backend:n}=r,{x:o}=t,{numOrSizeSplits:s,axis:i}=e,a=y.parseAxisParam(i,o.shape)[0],u=S.prepareSplitSize(o,s,a),l=new Array(o.shape.length).fill(0),c=o.shape.slice();return u.map(p=>{let m=[...c];m[a]=p;let f=Lo({inputs:{x:o},attrs:{begin:l,size:m},backend:n});return l[a]+=p,f})}var xH={kernelName:Hi,backendName:\"wasm\",kernelFunc:umt};var yH=yt(Zs);var bH=yt(iu);var cmt=!0,wH=ee(ti,cmt);var IH;function pmt(r){IH=r.wasm.cwrap(xo,null,[\"number\",\"number\",\"number\",\"number\"])}function mmt(r){let{backend:t,inputs:e,attrs:n}=r,{alpha:o}=n,{x:s}=e,i=t.dataIdMap.get(s.dataId).id,a=t.makeOutput(s.shape,s.dtype),u=t.dataIdMap.get(a.dataId).id;return IH(i,o,Nt[s.dtype],u),a}var CH={kernelName:xo,backendName:\"wasm\",setupFunc:pmt,kernelFunc:mmt};var vH;function fmt(r){vH=r.wasm.cwrap(ll,null,[\"number\",\"array\",\"number\",\"array\",\"array\",\"array\",\"array\",\"array\",\"number\",\"number\"])}function dmt(r){let{backend:t,inputs:e,attrs:n}=r,{x:o}=e,{begin:s,end:i,strides:a,beginMask:u,endMask:l,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n,{finalShapeSparse:f,finalShape:d,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:w,strides:I}=Be.sliceInfo(o.shape,s,i,a,u,l,c,p,m),N;if(h)N=mr({inputs:{x:o},backend:t,attrs:{shape:d}});else if(g||x){y.assert(o.shape.length>=1,()=>`Input must have rank at least 1, got: ${o.shape.length}`);let E=Be.computeOutShape(b,w,I),A=Lo({inputs:{x:o},backend:t,attrs:{begin:b,size:E}});N=mr({inputs:{x:A},backend:t,attrs:{shape:d}}),t.disposeData(A.dataId)}else{let E=t.makeOutput(f,\"float32\"),A=t.dataIdMap.get(o.dataId).id,D=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),F=new Uint8Array(new Int32Array(b).buffer),M=new Uint8Array(new Int32Array(w).buffer),V=new Uint8Array(new Int32Array(I).buffer),G=new Uint8Array(new Int32Array(f).buffer),W=new Uint8Array(new Int32Array(y.computeStrides(f)).buffer),q=t.dataIdMap.get(E.dataId).id;vH(A,D,o.shape.length,F,M,V,G,W,f.length,q),N=mr({inputs:{x:E},backend:t,attrs:{shape:d}}),t.disposeData(E.dataId)}return N}var SH={kernelName:ll,backendName:\"wasm\",setupFunc:fmt,kernelFunc:dmt};function hmt(r){let{backend:t,inputs:e,attrs:n}=r,{data:o,dataSplits:s}=e,{separator:i,nGramWidths:a,leftPad:u,rightPad:l,padWidth:c,preserveShortSequences:p}=n,m=t.readSync(o.dataId),f=t.readSync(s.dataId),[d,h]=rp(m,f,i,a,u,l,c,p),g=t.makeOutput([d.length],\"string\"),x=t.dataIdMap.get(g.dataId);x.stringBytes=d;let b=t.makeOutput(s.shape,\"int32\");return t.typedArrayFromHeap(b).set(h),[g,b]}var NH={kernelName:au,backendName:\"wasm\",kernelFunc:hmt};function gmt(r){let{backend:t,inputs:e,attrs:n}=r,{input:o,delimiter:s}=e,{skipEmpty:i}=n,a=t.readSync(o.dataId),u=t.readSync(s.dataId),[l,c,p]=np(a,u[0],i),m=c.length,f=t.makeOutput([m,2],\"int32\");t.typedArrayFromHeap(f).set(l);let h=t.makeOutput([m],\"string\"),g=t.dataIdMap.get(h.dataId);g.stringBytes=c;let x=t.makeOutput([2],\"int32\");return t.typedArrayFromHeap(x).set(p),[f,h,x]}var kH={kernelName:lu,backendName:\"wasm\",kernelFunc:gmt};function xmt(r){let{backend:t,inputs:e,attrs:n}=r,{input:o}=e,{numBuckets:s}=n,i=t.readSync(o.dataId),a=op(i,s),u=t.makeOutput(o.shape,\"int32\");return t.typedArrayFromHeap(u).set(a),u}var TH={kernelName:uu,backendName:\"wasm\",kernelFunc:xmt};var ymt=!0,_H=ee(ei,ymt);var EH;function bmt(r){EH=r.wasm.cwrap(Js,null,[\"number\",\"number\",\"number\",\"number\"])}function wmt(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Cn(i,o,t),d=p;if(f){let w=t.dataIdMap.get(c.dataId).id;w!==a&&(l=c,u=w,d=S.getInnerMostAxes(d.length,l.shape.length))}S.assertAxesAreInnerMostDims(\"sum\",d,l.shape.length);let[h,g]=S.computeOutAndReduceShapes(l.shape,d),x=y.sizeFromShape(g),b=t.makeOutput(h,l.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;EH(u,x,Nt[b.dtype],w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var AH={kernelName:Js,backendName:\"wasm\",setupFunc:bmt,kernelFunc:wmt};var DH=yt(ri);var $H=yt(ni);var RH;function Imt(r){RH=r.wasm.cwrap(ol,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\"])}function Cmt(r){let{backend:t,inputs:e,attrs:n}=r,{tensor:o,indices:s,updates:i}=e,{}=n,a=t.makeOutput(o.shape,o.dtype);if(y.sizeFromShape(o.shape)===0)return a;let{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=$u.calculateShapes(i,s,o.shape),d=t.dataIdMap.get(s.dataId).id,g=t.dataIdMap.get(i.dataId).id,b=t.dataIdMap.get(o.dataId).id,w=new Uint8Array(new Int32Array(p).buffer),I=t.dataIdMap.get(a.dataId).id;return RH(d,g,Nt[i.dtype],u,l,c,w,m,I,b),a}var FH={kernelName:ol,backendName:\"wasm\",setupFunc:Imt,kernelFunc:Cmt};var OH;function vmt(r){OH=r.wasm.cwrap(oo,null,[\"number\",\"array\",\"number\",\"array\",\"number\",\"number\"])}function Smt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,s=e.dataIdMap.get(o.dataId).id,{reps:i}=n,a=new Array(o.shape.length);for(let m=0;m{let{x:n}=r,{k:o,sorted:s}=e,i=t.dataIdMap.get(n.dataId).id,a=new Uint8Array(new Int32Array(n.shape).buffer),u=n.shape.slice();u[u.length-1]=o;let l=t.makeOutput(u,n.dtype),c=t.dataIdMap.get(l.dataId).id,p=t.makeOutput(u,\"int32\"),m=t.dataIdMap.get(p.dataId).id;return PH(i,a,n.shape.length,Nt[n.dtype],o,s,c,m),[l,p]},LH={kernelName:ul,backendName:\"wasm\",setupFunc:Nmt,kernelFunc:kmt};var zH;function Tmt(r){zH=r.wasm.cwrap(cl,null,[\"number\",\"number\",\"bool\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function _mt(r){let{backend:t,inputs:e,attrs:n}=r,{image:o,transforms:s}=e,{interpolation:i,fillMode:a,fillValue:u,outputShape:l}=n,[c,p,m,f]=o.shape,[d,h]=l!=null?l:[p,m],g=[c,d,h,f],x=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),b=new Uint8Array(new Int32Array(y.computeStrides(g)).buffer),w=t.makeOutput(g,o.dtype),I=t.dataIdMap.get(w.dataId).id,E=t.dataIdMap.get(o.dataId).id,D=t.dataIdMap.get(s.dataId).id,F=i===\"nearest\"?1:2,M;switch(a){case\"constant\":M=1;break;case\"reflect\":M=2;break;case\"wrap\":M=3;break;case\"nearest\":M=4;break;default:M=1;break}return zH(E,D,s.shape[0]>1,c,d,h,f,m,p,x,o.shape.length-1,b,g.length-1,F,M,u,I),w}var BH={kernelName:cl,backendName:\"wasm\",setupFunc:Tmt,kernelFunc:_mt};function Emt(r){let{inputs:t,attrs:e,backend:n}=r,{axis:o}=e,{x:s}=t,{outputValues:i,outputShape:a,indices:u}=sp(n.readSync(s.dataId),o,s.shape,s.dtype);return[n.makeOutput(a,s.dtype,void 0,i),n.makeOutput([u.length],\"int32\",void 0,u)]}var VH={kernelName:cu,backendName:\"wasm\",kernelFunc:Emt};function Amt(r){let{inputs:t,backend:e,attrs:n}=r,{value:o}=t,{axis:s}=n;s<0&&(s+=o.shape.length);let i=o.shape[s],a=o.shape.length,u=new Array(a-1),l=0;for(let f=0;f({dataId:f,dtype:d,shape:u}))}var GH={kernelName:qi,backendName:\"wasm\",kernelFunc:Amt};function Dmt(r){let{inputs:{x:t},backend:e}=r,n=e.makeOutput(t.shape,t.dtype);return e.typedArrayFromHeap(n).fill(0),n}var WH={kernelName:Ki,backendName:\"wasm\",kernelFunc:Dmt};var $mt=[_G,EG,AG,DG,$G,FG,zG,VG,GG,WG,UG,HG,qG,KG,jG,YG,rW,JG,tW,sW,aW,uW,cW,pW,mW,fW,hW,gW,yW,wW,CW,SW,kW,TW,_W,AW,$W,FW,MW,LW,BW,GW,UW,qW,jW,XW,ZW,JW,QW,tU,eU,rU,nU,sU,iU,aU,uU,pU,fU,hU,xU,yU,bU,OG,wU,IU,CU,SU,NU,kU,_U,AU,EU,DU,$U,RU,FU,MU,LU,BU,VU,WU,HU,KU,XU,ZU,QU,e4,r4,o4,l4,u4,c4,p4,f4,h4,x4,y4,w4,I4,C4,_C,S4,k4,_4,E4,A4,D4,$4,R4,nW,O4,P4,z4,V4,W4,H4,q4,K4,X4,Z4,Q4,tH,rH,nH,oH,sH,iW,i4,iH,aH,uH,pH,fH,dH,gH,xH,yH,bH,wH,CH,SH,NH,kH,TH,_H,AH,DH,$H,FH,MH,LH,BH,PG,VH,GH,WH];for(let r of $mt)rc(r);var J1=L();J1.registerFlag(\"WASM_HAS_SIMD_SUPPORT\",async()=>{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,9,1,7,0,65,0,253,15,26,11]))}catch(r){return!1}});J1.registerFlag(\"WASM_HAS_MULTITHREAD_SUPPORT\",async()=>{if(J1.get(\"IS_NODE\"))return!1;try{return 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(r){return!1}});var s_=Gl(KH()),QH=Gl(XH()),i_=Gl(YH());var ZH=s_.default||s_,Rmt=i_.default||i_,bg=class extends Bo{constructor(t){super(),this.wasm=t,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(eq),o_=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new Ta(this,Bn())}write(t,e,n){let o={id:this.dataIdNextNumber++};return this.move(o,t,e,n,1),o}numDataIds(){return this.dataIdMap.numDataIds()}async time(t){let e=y.now();return t(),{kernelMs:y.now()-e}}move(t,e,n,o,s){let i=this.dataIdNextNumber++;if(o===\"string\"){let c=e;this.dataIdMap.set(t,{id:i,stringBytes:c,shape:n,dtype:o,memoryOffset:null,refCount:s});return}let a=y.sizeFromShape(n),u=a*y.bytesPerElement(o),l=this.wasm._malloc(u)>>>0;this.dataIdMap.set(t,{id:i,memoryOffset:l,shape:n,dtype:o,refCount:s}),this.wasm.tfjs.registerTensor(i,a,l),e!=null&&this.wasm.HEAPU8.set(new Uint8Array(e.buffer,e.byteOffset,u),l)}async read(t){return this.readSync(t)}readSync(t,e,n){let{memoryOffset:o,dtype:s,shape:i,stringBytes:a}=this.dataIdMap.get(t);if(s===\"string\")return(e==null||e===0)&&(n==null||n>=a.length)?a:a.slice(e,n);e=e||0,n=n||y.sizeFromShape(i);let u=y.bytesPerElement(s),l=this.wasm.HEAPU8.slice(o+e*u,o+n*u);return Omt(l.buffer,s)}disposeData(t,e=!1){if(this.dataIdMap.has(t)){let n=this.dataIdMap.get(t);if(n.refCount--,!e&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(t)}return!0}refCount(t){return this.dataIdMap.has(t)?this.dataIdMap.get(t).refCount:0}incRef(t){let e=this.dataIdMap.get(t);e!=null&&e.refCount++}floatPrecision(){return 32}getMemoryOffset(t){return this.dataIdMap.get(t).memoryOffset}dispose(){this.wasm.tfjs.dispose(),\"PThread\"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(t,e,n,o){let s;if(n==null)s=this.write(o!=null?o:null,t,e);else{let i=this.dataIdNextNumber++;s={id:i},this.dataIdMap.set(s,{id:i,memoryOffset:n,shape:t,dtype:e,refCount:1});let a=y.sizeFromShape(t);this.wasm.tfjs.registerTensor(i,a,n)}return{dataId:s,shape:t,dtype:e}}typedArrayFromHeap({shape:t,dtype:e,dataId:n}){let o=this.wasm.HEAPU8.buffer,{memoryOffset:s}=this.dataIdMap.get(n),i=y.sizeFromShape(t);switch(e){case\"float32\":return new Float32Array(o,s,i);case\"int32\":return new Int32Array(o,s,i);case\"bool\":return new Uint8Array(o,s,i);default:throw new Error(`Unknown dtype ${e}`)}}};function Fmt(r){return(t,e)=>(y.fetch(r,{credentials:\"same-origin\"}).then(n=>{n.ok||t.env.a(`failed to load wasm binary file at '${r}'`),n.arrayBuffer().then(o=>{WebAssembly.instantiate(o,t).then(s=>{e(s.instance,s.module)})})}),{})}function JH(r,t,e){if(RC!=null)return RC;let n=\"tfjs-backend-wasm.wasm\";return r&&t?n=\"tfjs-backend-wasm-threaded-simd.wasm\":r&&(n=\"tfjs-backend-wasm-simd.wasm\"),xg!=null&&xg[n]!=null?xg[n]:e+n}async function tq(){let[r,t]=await Promise.all([L().getAsync(\"WASM_HAS_SIMD_SUPPORT\"),L().getAsync(\"WASM_HAS_MULTITHREAD_SUPPORT\")]);return new Promise((e,n)=>{let o={};o.locateFile=(a,u)=>{if(a.endsWith(\".worker.js\")){let l=QH.wasmWorkerContents.replace(/\\n/g,\"\\\\n\"),c=new Blob([l],{type:\"application/javascript\"});return URL.createObjectURL(c)}return a.endsWith(\".wasm\")?JH(r,t,gg!=null?gg:u):u+a},a_&&(o.instantiateWasm=Fmt(JH(r,t,gg!=null?gg:\"\")));let s=!1;o.onAbort=()=>{if(s||yg)return;yg=!0,n({message:\"Make sure the server can serve the `.wasm` file relative to the bundled js file. For more details see https://github.com/tensorflow/tfjs/blob/master/tfjs-backend-wasm/README.md#using-bundlers\"})};let i;t&&r&&RC==null?(o.mainScriptUrlOrBlob=new Blob([\"var WasmBackendModuleThreadedSimd = \"+ZH.toString()],{type:\"text/javascript\"}),i=ZH(o)):i=Rmt(o),i.then(a=>{s=!0,yg=!1;let u=null;a.tfjs={init:a.cwrap(\"init\",null,[]),initWithThreadsCount:a.cwrap(\"init_with_threads_count\",null,[\"number\"]),getThreadsCount:a.cwrap(\"get_threads_count\",\"number\",[]),registerTensor:a.cwrap(\"register_tensor\",null,[\"number\",\"number\",\"number\"]),disposeData:a.cwrap(\"dispose_data\",u,[\"number\"]),dispose:a.cwrap(\"dispose\",u,[])},e({wasm:a})}).catch(n)})}function Omt(r,t){switch(t){case\"float32\":return new Float32Array(r);case\"int32\":return new Int32Array(r);case\"bool\":return new Uint8Array(r);default:throw new Error(`Unknown dtype ${t}`)}}var Mmt=[\"tfjs-backend-wasm.wasm\",\"tfjs-backend-wasm-simd.wasm\",\"tfjs-backend-wasm-threaded-simd.wasm\"],RC=null,gg=null,xg={},yg=!1,a_=!1;function Pmt(r,t=!1){if(B0(\"setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release.\"),yg)throw new Error(\"The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`\");RC=r,a_=t}function Lmt(r,t=!1){if(yg)throw new Error(\"The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`\");if(typeof r==\"string\")gg=r;else{xg=r;let e=Mmt.filter(n=>xg[n]==null);if(e.length>0)throw new Error(`There were no entries found for the following binaries: ${e.join(\",\")}. Please either call setWasmPaths with a map providing a path for each binary, or with a string indicating the directory where all the binaries can be found.`)}a_=t}var eq=-1,o_=-1;function zmt(r){eq=r}function Bmt(){if(o_===-1)throw new Error(\"WASM backend not initialized.\");return o_}var Vmt=\"4.16.0\";var Gmt=2;Xp(\"wasm\",async()=>{let{wasm:r}=await tq();return new bg(r)},Gmt);var rq=\"4.16.0\",Wmt=\"4.16.0\",Umt=\"4.16.0\",Hmt=\"4.16.0\",qmt=\"4.16.0\",Kmt={tfjs:rq,\"tfjs-core\":rq,\"tfjs-converter\":Wmt,\"tfjs-backend-cpu\":Umt,\"tfjs-backend-webgl\":Hmt,\"tfjs-backend-wasm\":qmt};export{Ei as Abs,Go as Acos,Wo as Acosh,vc as AdadeltaOptimizer,Sc as AdagradOptimizer,Nc as AdamOptimizer,kc as AdamaxOptimizer,no as Add,Uo as AddN,Ea as All,Aa as Any,Ai as ArgMax,Di as ArgMin,Ho as Asin,qo as Asinh,Ko as Atan,Xo as Atan2,jo as Atanh,Yo as AvgPool,$i as AvgPool3D,Hl as AvgPool3DGrad,Ul as AvgPoolGrad,bg as BackendWasm,Zo as BatchMatMul,Ri as BatchToSpaceND,Da as Bincount,$a as BitwiseAnd,ql as BroadcastArgs,k_ as BroadcastTo,Pb as Callback,Xy as CallbackList,fo as Cast,Jo as Ceil,ho as ClipByValue,Ap as Complex,Kl as ComplexAbs,Fi as Concat,Qo as Conv2D,Dp as Conv2DBackpropFilter,ts as Conv2DBackpropInput,es as Conv3D,Ra as Conv3DBackpropFilterV2,Fa as Conv3DBackpropInputV2,rs as Cos,ns as Cosh,Ma as CropAndResize,Oa as Cumprod,os as Cumsum,Zy as CustomCallback,Ta as DataStorage,jl as DenseBincount,Pa as DepthToSpace,ss as DepthwiseConv2dNative,$p as DepthwiseConv2dNativeBackpropFilter,Rp as DepthwiseConv2dNativeBackpropInput,Xl as Diag,is as Dilation2D,Zl as Dilation2DBackpropFilter,Yl as Dilation2DBackpropInput,Jd as Draw,y0 as ENV,Lb as EarlyStopping,Fp as Einsum,ls as Elu,La as EluGrad,Yd as Environment,za as Equal,us as Erf,cs as Exp,Oi as ExpandDims,ps as Expm1,Op as FFT,Jl as Fill,Ba as FlipLeftRight,ms as Floor,fs as FloorDiv,Qd as FromPixels,ds as FusedBatchNorm,Xi as FusedConv2D,Yi as FusedDepthwiseConv2D,pp as GPGPUContext,Va as GatherNd,Mi as GatherV2,Hh as GraphModel,Ga as Greater,hs as GreaterEqual,Yy as History,Mp as IFFT,go as Identity,Pp as Imag,Ie as InputSpec,gs as IsFinite,xs as IsInf,ys as IsNan,Bo as KernelBackend,Cs as LRN,Xa as LRNGrad,kh as LayerVariable,Un as LayersModel,bs as LeakyRelu,Wa as Less,Ua as LessEqual,Ha as LinSpace,ws as Log,Is as Log1p,__ as LogSoftmax,qa as LogicalAnd,Ka as LogicalNot,ja as LogicalOr,T_ as LogicalXor,Qmt as LowerBound,cd as MathBackendCPU,Ad as MathBackendWebGL,tft as MatrixBandPart,vs as Max,Ns as MaxPool,Pi as MaxPool3D,tu as MaxPool3DGrad,Ql as MaxPoolGrad,eu as MaxPoolWithArgmax,Ss as Maximum,ks as Mean,Ts as Min,_s as Minimum,Es as MirrorPad,As as Mod,Tc as MomentumOptimizer,Ya as Multinomial,Ds as Multiply,Li as Neg,Ja as NonMaxSuppressionV3,Qa as NonMaxSuppressionV4,tl as NonMaxSuppressionV5,Za as NotEqual,z0 as OP_SCOPE_SUFFIX,$s as OneHot,zi as OnesLike,qr as Optimizer,wh as OptimizerConstructors,Bi as Pack,Rs as PadV2,eft as Pool,Fs as Pow,Os as Prelu,Ms as Prod,_c as RMSPropOptimizer,po as RNN,Lp as RaggedGather,zp as RaggedRange,Bp as RaggedTensorToTensor,ru as Range,E0 as Rank,Vp as Real,as as RealDiv,Ps as Reciprocal,Je as Reduction,Ls as Relu,Vs as Relu6,Vi as Reshape,Bs as ResizeBilinear,rl as ResizeBilinearGrad,zs as ResizeNearestNeighbor,el as ResizeNearestNeighborGrad,Gs as Reverse,pl as RotateWithOffset,Ws as Round,Us as Rsqrt,Il as SGDOptimizer,nl as ScatterNd,sl as SearchSorted,Gi as Select,Hs as Selu,Wc as Sequential,Xs as Sigmoid,js as Sign,qs as Sin,Ks as Sinh,Wi as Slice,Qs as Softmax,Ys as Softplus,Ui as SpaceToBatchND,nu as SparseFillEmptyRows,il as SparseReshape,ou as SparseSegmentMean,su as SparseSegmentSum,al as SparseToDense,Hi as SplitV,Zs as Sqrt,iu as Square,ti as SquaredDifference,ec as StaticRegexReplace,xo as Step,ll as StridedSlice,au as StringNGrams,lu as StringSplit,uu as StringToHashBucketFast,ei as Sub,Js as Sum,en as SymbolicTensor,ri as Tan,ni as Tanh,Lt as Tensor,le as TensorBuffer,ol as TensorScatterUpdate,oo as Tile,ul as TopK,cl as Transform,so as Transpose,cu as Unique,qi as Unpack,pu as UnsortedSegmentSum,rft as UpperBound,ml as Variable,Ki as ZerosLike,ji as _FusedMatMul,_e as abs,mx as acos,fx as acosh,X as add,TE as addN,tm as all,cc as any,ea as argMax,dx as argMin,hx as asin,gx as asinh,xx as atan,yx as atan2,bx as atanh,xu as avgPool,wx as avgPool3d,ox as backend,S as backend_util,AE as basicLSTMCell,oa as batchNorm,Ix as batchNorm2d,Cx as batchNorm3d,vx as batchNorm4d,yu as batchToSpaceND,Sx as bincount,$E as bitwiseAnd,W5 as booleanMaskAsync,RE as broadcastArgs,sa as broadcastTo,Ur as broadcast_util,_y as browser,wt as buffer,fQ as callbacks,J as cast,Nx as ceil,vr as clipByValue,ln as clone,Sn as complex,ie as concat,kx as concat1d,Tx as concat2d,_x as concat3d,Ex as concat4d,wR as constraints,rm as conv1d,Nn as conv2d,om as conv2dTranspose,Ax as conv3d,$x as conv3dTranspose,uft as copyRegisteredKernels,bu as cos,sm as cosh,gh as cosineWindow,mc as cumprod,im as cumsum,pn as customGrad,oO as data,ph as denseBincount,B0 as deprecationWarn,Rx as depthToSpace,ia as depthwiseConv2d,xQ as deregisterOp,du as device_util,FE as diag,Fx as dilation2d,wdt as disableDeprecationWarnings,Tt as dispose,Idt as disposeVariables,ct as div,Ox as divNoNan,Mx as dot,mN as dropout,wu as einsum,aa as elu,bdt as enableDebugMode,ydt as enableProdMode,fN as enclosingPowerOfTwo,Bn as engine,ME as ensureShape,L as env,$r as equal,Px as erf,Lx as euclideanNorm,Ke as exp,je as expandDims,zx as expm1,fc as eye,Au as fft,Co as fill,kdt as findBackend,Tdt as findBackendFactory,la as floor,Qp as floorDiv,Yz as forceHalfFloat,Ru as fused,ua as gather,Q5 as gatherND,Ey as gather_util,rE as getBackend,I0 as getGradient,Wp as getKernel,Xg as getKernelsForBackend,Bmt as getThreadsCount,S1 as gpgpu_util,q6 as grad,K6 as grads,Re as greater,cn as greaterEqual,wl as ifft,Iu as imag,fn as image,r8 as inTopKAsync,IR as initializers,YN as input,Mr as io,ym as irfft,Bx as isFinite,Vx as isInf,Gx as isNaN,De as keep,Kr as kernel_impls,eF as layers,Cu as leakyRelu,yl as less,Vn as lessEqual,hN as linalg,zE as linspace,ftt as loadGraphModel,dtt as loadGraphModelSync,VR as loadLayersModel,Wx as localResponseNormalization,Nr as log,vu as log1p,qx as logSigmoid,am as logSoftmax,Su as logSumExp,Fr as logicalAnd,Nu as logicalNot,lm as logicalOr,Kx as logicalXor,oY as losses,BE as lowerBound,Bt as matMul,R2 as math,Sr as max,ku as maxPool,Xx as maxPool3d,VE as maxPoolWithArgmax,kn as maximum,Ne as mean,ah as memory,GE as meshgrid,rF as metrics,gl as min,lo as minimum,Yx as mirrorPad,Zx as mod,fJ as model,nF as models,dc as moments,q5 as movingAverage,$ as mul,WE as multiRNNCell,UE as multinomial,Ut as neg,Ih as nextFrame,xl as norm,ui as notEqual,ca as oneHot,ar as ones,wr as onesLike,k as op,HE as outerProduct,mn as pad,qE as pad1d,KE as pad2d,jE as pad3d,XE as pad4d,Jx as pool,un as pow,_u as prelu,px as print,Qx as prod,Cdt as profile,YE as raggedGather,ZE as raggedRange,JE as raggedTensorToTensor,QE as rand,wA as randomGamma,xc as randomNormal,IA as randomStandardNormal,Gn as randomUniform,CA as randomUniformInt,pa as range,Sdt as ready,bl as real,sy as reciprocal,Xp as registerBackend,hJ as registerCallbackConstructor,A_ as registerGradient,rc as registerKernel,gQ as registerOp,oF as regularizers,Or as relu,um as relu6,Ndt as removeBackend,R as reshape,dr as reverse,vA as reverse1d,SA as reverse2d,NA as reverse3d,kA as reverse4d,Du as rfft,cm as round,pm as rsqrt,pt as scalar,j5 as scatterND,$u as scatter_util,fh as searchSorted,mm as selu,fm as separableConv2d,dJ as sequential,Q as serialization,$K as setBackend,_dt as setPlatform,zmt as setThreadsCount,Pmt as setWasmPath,Lmt as setWasmPaths,LT as setWebGLContext,TA as setdiff1dAsync,Tw as shared,Qr as sigmoid,iy as sign,nY as signal,dm as sin,hm as sinh,Ot as slice,gm as slice1d,hh as slice2d,xm as slice3d,yc as slice4d,Be as slice_util,Eu as softmax,li as softplus,Tu as spaceToBatchND,sY as sparse,Z5 as sparseToDense,rY as spectral,hr as split,Se as sqrt,Wt as square,bm as squaredDifference,Wn as squeeze,Fe as stack,So as step,ay as stridedSlice,iY as string,at as sub,mt as sum,lc as sumOutType,ly as tan,na as tanh,ir as tensor,Oe as tensor1d,ci as tensor2d,uy as tensor3d,_A as tensor4d,EA as tensor5d,AA as tensor6d,$A as tensorScatterUpdate,Io as tensor_util,bA as test_util,B as tidy,Rr as tile,vdt as time,cy as topk,Ac as train,Vt as transpose,Im as truncatedNormal,py as unique,lft as unregisterGradient,aft as unregisterKernel,Cm as unsortedSegmentSum,gr as unstack,ur as upcastType,RA as upperBound,y as util,j6 as valueAndGrad,X6 as valueAndGrads,my as variable,Ux as variableGrads,Kmt as version,LF as version_converter,K2 as version_core,UO as version_cpu,Km as version_layers,Vmt as version_wasm,Xz as version_webgl,N$e as webgl,Id as webgl_util,we as where,dy as whereAsync,ke as zeros,vt as zerosLike};\n", "export * from './drawContour';\nexport * from './drawDetections';\nexport * from './drawFaceExpressions';\nexport * from './DrawBox';\nexport * from './DrawFaceLandmarks';\nexport * from './DrawTextField';\n", "import { Point } from '../classes/index';\n\nexport function drawContour(\n ctx: CanvasRenderingContext2D,\n points: Point[],\n isClosed = false,\n) {\n ctx.beginPath();\n\n points.slice(1).forEach(({ x, y }, prevIdx) => {\n const from = points[prevIdx];\n ctx.moveTo(from.x, from.y);\n ctx.lineTo(x, y);\n });\n\n if (isClosed) {\n const from = points[points.length - 1];\n const to = points[0];\n if (!from || !to) {\n return;\n }\n\n ctx.moveTo(from.x, from.y);\n ctx.lineTo(to.x, to.y);\n }\n\n ctx.stroke();\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Point } from '../classes/index';\nimport { Dimensions, IDimensions } from '../classes/Dimensions';\n\nexport function isTensor(tensor: any, dim: number) {\n return tensor instanceof tf.Tensor && tensor.shape.length === dim;\n}\n\nexport function isTensor1D(tensor: any): tensor is tf.Tensor1D {\n return isTensor(tensor, 1);\n}\n\nexport function isTensor2D(tensor: any): tensor is tf.Tensor2D {\n return isTensor(tensor, 2);\n}\n\nexport function isTensor3D(tensor: any): tensor is tf.Tensor3D {\n return isTensor(tensor, 3);\n}\n\nexport function isTensor4D(tensor: any): tensor is tf.Tensor4D {\n return isTensor(tensor, 4);\n}\n\nexport function isFloat(num: number) {\n return num % 1 !== 0;\n}\n\nexport function isEven(num: number) {\n return num % 2 === 0;\n}\n\nexport function round(num: number, prec = 2) {\n const f = 10 ** prec;\n return Math.floor(num * f) / f;\n}\n\nexport function isDimensions(obj: any): boolean {\n return obj && obj.width && obj.height;\n}\n\nexport function computeReshapedDimensions({ width, height }: IDimensions, inputSize: number) {\n const scale = inputSize / Math.max(height, width);\n return new Dimensions(Math.round(width * scale), Math.round(height * scale));\n}\n\nexport function getCenterPoint(pts: Point[]): Point {\n return pts.reduce((sum, pt) => sum.add(pt), new Point(0, 0))\n .div(new Point(pts.length, pts.length));\n}\n\nexport function range(num: number, start: number, step: number): number[] {\n return Array(num).fill(0).map((_, i) => start + (i * step));\n}\n\nexport function isValidNumber(num: any) {\n return !!num && (num !== Infinity) && (num !== -Infinity) && !Number.isNaN(num) || num === 0;\n}\n\nexport function isValidProbablitiy(num: any) {\n return isValidNumber(num) && num >= 0 && num <= 1.0;\n}\n", "import { isValidNumber } from '../utils/index';\n\nexport interface IDimensions {\n width: number\n height: number\n}\n\nexport class Dimensions implements IDimensions {\n private _width: number;\n\n private _height: number;\n\n constructor(width: number, height: number) {\n if (!isValidNumber(width) || !isValidNumber(height)) {\n throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({ width, height })}`);\n }\n\n this._width = width;\n this._height = height;\n }\n\n public get width(): number { return this._width; }\n\n public get height(): number { return this._height; }\n\n public reverse(): Dimensions {\n return new Dimensions(1 / this.width, 1 / this.height);\n }\n}\n", "export interface IPoint {\n x: number\n y: number\n}\n\nexport class Point implements IPoint {\n private _x: number;\n\n private _y: number;\n\n constructor(x: number, y: number) {\n this._x = x;\n this._y = y;\n }\n\n get x(): number { return this._x; }\n\n get y(): number { return this._y; }\n\n public add(pt: IPoint): Point {\n return new Point(this.x + pt.x, this.y + pt.y);\n }\n\n public sub(pt: IPoint): Point {\n return new Point(this.x - pt.x, this.y - pt.y);\n }\n\n public mul(pt: IPoint): Point {\n return new Point(this.x * pt.x, this.y * pt.y);\n }\n\n public div(pt: IPoint): Point {\n return new Point(this.x / pt.x, this.y / pt.y);\n }\n\n public abs(): Point {\n return new Point(Math.abs(this.x), Math.abs(this.y));\n }\n\n public magnitude(): number {\n return Math.sqrt((this.x ** 2) + (this.y ** 2));\n }\n\n public floor(): Point {\n return new Point(Math.floor(this.x), Math.floor(this.y));\n }\n}\n", "import { isDimensions, isValidNumber } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { IDimensions } from './Dimensions';\nimport { Point } from './Point';\nimport { IRect } from './Rect';\n\nexport class Box implements IBoundingBox, IRect {\n public static isRect(rect: any): boolean {\n return !!rect && [rect.x, rect.y, rect.width, rect.height].every(isValidNumber);\n }\n\n public static assertIsValidBox(box: any, callee: string, allowNegativeDimensions = false) {\n if (!Box.isRect(box)) {\n throw new Error(`${callee} - invalid box: ${JSON.stringify(box)}, expected object with properties x, y, width, height`);\n }\n\n if (!allowNegativeDimensions && (box.width < 0 || box.height < 0)) {\n throw new Error(`${callee} - width (${box.width}) and height (${box.height}) must be positive numbers`);\n }\n }\n\n private _x: number;\n\n private _y: number;\n\n private _width: number;\n\n private _height: number;\n\n constructor(_box: IBoundingBox | IRect, allowNegativeDimensions = true) {\n const box = (_box || {}) as any;\n\n const isBbox = [box.left, box.top, box.right, box.bottom].every(isValidNumber);\n const isRect = [box.x, box.y, box.width, box.height].every(isValidNumber);\n\n if (!isRect && !isBbox) {\n throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(box)}`);\n }\n\n const [x, y, width, height] = isRect\n ? [box.x, box.y, box.width, box.height]\n : [box.left, box.top, box.right - box.left, box.bottom - box.top];\n\n Box.assertIsValidBox({\n x, y, width, height,\n }, 'Box.constructor', allowNegativeDimensions);\n\n this._x = x;\n this._y = y;\n this._width = width;\n this._height = height;\n }\n\n public get x(): number { return this._x; }\n\n public get y(): number { return this._y; }\n\n public get width(): number { return this._width; }\n\n public get height(): number { return this._height; }\n\n public get left(): number { return this.x; }\n\n public get top(): number { return this.y; }\n\n public get right(): number { return this.x + this.width; }\n\n public get bottom(): number { return this.y + this.height; }\n\n public get area(): number { return this.width * this.height; }\n\n public get topLeft(): Point { return new Point(this.left, this.top); }\n\n public get topRight(): Point { return new Point(this.right, this.top); }\n\n public get bottomLeft(): Point { return new Point(this.left, this.bottom); }\n\n public get bottomRight(): Point { return new Point(this.right, this.bottom); }\n\n public round(): Box {\n const [x, y, width, height] = [this.x, this.y, this.width, this.height]\n .map((val) => Math.round(val));\n return new Box({\n x, y, width, height,\n });\n }\n\n public floor(): Box {\n const [x, y, width, height] = [this.x, this.y, this.width, this.height]\n .map((val) => Math.floor(val));\n return new Box({\n x, y, width, height,\n });\n }\n\n public toSquare(): Box {\n let {\n x, y, width, height,\n } = this;\n const diff = Math.abs(width - height);\n if (width < height) {\n x -= (diff / 2);\n width += diff;\n }\n if (height < width) {\n y -= (diff / 2);\n height += diff;\n }\n\n return new Box({ x, y, width, height });\n }\n\n public rescale(s: IDimensions | number): Box {\n const scaleX = isDimensions(s) ? (s as IDimensions).width : s as number;\n const scaleY = isDimensions(s) ? (s as IDimensions).height : s as number;\n return new Box({\n x: this.x * scaleX,\n y: this.y * scaleY,\n width: this.width * scaleX,\n height: this.height * scaleY,\n });\n }\n\n public pad(padX: number, padY: number): Box {\n const [x, y, width, height] = [\n this.x - (padX / 2),\n this.y - (padY / 2),\n this.width + padX,\n this.height + padY,\n ];\n return new Box({ x, y, width, height });\n }\n\n public clipAtImageBorders(imgWidth: number, imgHeight: number): Box {\n const { x, y, right, bottom } = this;\n const clippedX = Math.max(x, 0);\n const clippedY = Math.max(y, 0);\n\n const newWidth = right - clippedX;\n const newHeight = bottom - clippedY;\n const clippedWidth = Math.min(newWidth, imgWidth - clippedX);\n const clippedHeight = Math.min(newHeight, imgHeight - clippedY);\n\n return (new Box({ x: clippedX, y: clippedY, width: clippedWidth, height: clippedHeight })).floor();\n }\n\n public shift(sx: number, sy: number): Box {\n const { width, height } = this;\n const x = this.x + sx;\n const y = this.y + sy;\n\n return new Box({ x, y, width, height });\n }\n\n public padAtBorders(imageHeight: number, imageWidth: number) {\n const w = this.width + 1;\n const h = this.height + 1;\n\n const dx = 1;\n const dy = 1;\n let edx = w;\n let edy = h;\n\n let x = this.left;\n let y = this.top;\n let ex = this.right;\n let ey = this.bottom;\n\n if (ex > imageWidth) {\n edx = -ex + imageWidth + w;\n ex = imageWidth;\n }\n if (ey > imageHeight) {\n edy = -ey + imageHeight + h;\n ey = imageHeight;\n }\n if (x < 1) {\n edy = 2 - x;\n x = 1;\n }\n if (y < 1) {\n edy = 2 - y;\n y = 1;\n }\n\n return { dy, edy, dx, edx, y, ey, x, ex, w, h };\n }\n\n public calibrate(region: Box) {\n return new Box({\n left: this.left + (region.left * this.width),\n top: this.top + (region.top * this.height),\n right: this.right + (region.right * this.width),\n bottom: this.bottom + (region.bottom * this.height),\n }).toSquare().round();\n }\n}\n", "import { Box } from './Box';\n\nexport interface IBoundingBox {\n left: number\n top: number\n right: number\n bottom: number\n}\n\nexport class BoundingBox extends Box implements IBoundingBox {\n constructor(left: number, top: number, right: number, bottom: number, allowNegativeDimensions = false) {\n super({ left, top, right, bottom }, allowNegativeDimensions);\n }\n}\n", "import { Box } from './Box';\nimport { Dimensions, IDimensions } from './Dimensions';\nimport { IRect, Rect } from './Rect';\n\nexport class ObjectDetection {\n private _score: number;\n\n private _classScore: number;\n\n private _className: string;\n\n private _box: Rect;\n\n private _imageDims: Dimensions;\n\n constructor(\n score: number,\n classScore: number,\n className: string,\n relativeBox: IRect,\n imageDims: IDimensions,\n ) {\n this._imageDims = new Dimensions(imageDims.width, imageDims.height);\n this._score = score;\n this._classScore = classScore;\n this._className = className;\n this._box = new Box(relativeBox).rescale(this._imageDims);\n }\n\n public get score(): number { return this._score; }\n\n public get classScore(): number { return this._classScore; }\n\n public get className(): string { return this._className; }\n\n public get box(): Box { return this._box; }\n\n public get imageDims(): Dimensions { return this._imageDims; }\n\n public get imageWidth(): number { return this.imageDims.width; }\n\n public get imageHeight(): number { return this.imageDims.height; }\n\n public get relativeBox(): Box { return new Box(this._box).rescale(this.imageDims.reverse()); }\n\n public forSize(width: number, height: number): ObjectDetection {\n return new ObjectDetection(\n this.score,\n this.classScore,\n this.className,\n this.relativeBox,\n { width, height },\n );\n }\n}\n", "import { Box } from './Box';\nimport { IDimensions } from './Dimensions';\nimport { ObjectDetection } from './ObjectDetection';\nimport { Rect } from './Rect';\n\nexport interface IFaceDetecion {\n score: number\n box: Box\n}\n\nexport class FaceDetection extends ObjectDetection implements IFaceDetecion {\n constructor(\n score: number,\n relativeBox: Rect,\n imageDims: IDimensions,\n ) {\n super(score, score, '', relativeBox, imageDims);\n }\n\n public override forSize(width: number, height: number): FaceDetection {\n const { score, relativeBox, imageDims } = super.forSize(width, height);\n return new FaceDetection(score, relativeBox, imageDims);\n }\n}\n", "import { Box } from '../classes/Box';\n\nexport function iou(box1: Box, box2: Box, isIOU = true) {\n const width = Math.max(0.0, Math.min(box1.right, box2.right) - Math.max(box1.left, box2.left));\n const height = Math.max(0.0, Math.min(box1.bottom, box2.bottom) - Math.max(box1.top, box2.top));\n const interSection = width * height;\n\n return isIOU\n ? interSection / (box1.area + box2.area - interSection)\n : interSection / Math.min(box1.area, box2.area);\n}\n", "import { BoundingBox, IPoint } from '../classes/index';\n\nexport function minBbox(pts: IPoint[]): BoundingBox {\n const xs = pts.map((pt) => pt.x);\n const ys = pts.map((pt) => pt.y);\n const minX = xs.reduce((min, x) => (x < min ? x : min), Infinity);\n const minY = ys.reduce((min, y) => (y < min ? y : min), Infinity);\n const maxX = xs.reduce((max, x) => (max < x ? x : max), 0);\n const maxY = ys.reduce((max, y) => (max < y ? y : max), 0);\n\n return new BoundingBox(minX, minY, maxX, maxY);\n}\n", "import { Box } from '../classes/Box';\nimport { iou } from './iou';\n\nexport function nonMaxSuppression(\n boxes: Box[],\n scores: number[],\n iouThreshold: number,\n isIOU = true,\n): number[] {\n let indicesSortedByScore = scores\n .map((score, boxIndex) => ({ score, boxIndex }))\n .sort((c1, c2) => c1.score - c2.score)\n .map((c) => c.boxIndex);\n\n const pick: number[] = [];\n\n while (indicesSortedByScore.length > 0) {\n const curr = indicesSortedByScore.pop() as number;\n pick.push(curr);\n\n const indices = indicesSortedByScore;\n\n const outputs: number[] = [];\n for (let i = 0; i < indices.length; i++) {\n const idx = indices[i];\n\n const currBox = boxes[curr];\n const idxBox = boxes[idx];\n\n outputs.push(iou(currBox, idxBox, isIOU));\n }\n\n indicesSortedByScore = indicesSortedByScore.filter(\n (_, j) => outputs[j] <= iouThreshold,\n );\n }\n\n return pick;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nexport function normalize(x: tf.Tensor4D, meanRgb: number[]): tf.Tensor4D {\n return tf.tidy(() => {\n const [r, g, b] = meanRgb;\n const avg_r = tf.fill([...x.shape.slice(0, 3), 1], r, 'float32');\n const avg_g = tf.fill([...x.shape.slice(0, 3), 1], g, 'float32');\n const avg_b = tf.fill([...x.shape.slice(0, 3), 1], b, 'float32');\n const avg_rgb = tf.concat([avg_r, avg_g, avg_b], 3);\n\n return tf.sub(x, avg_rgb);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\n/**\n * Pads the smaller dimension of an image tensor with zeros, such that width === height.\n *\n * @param imgTensor The image tensor.\n * @param isCenterImage (optional, default: false) If true, add an equal amount of padding on\n * both sides of the minor dimension oof the image.\n * @returns The padded tensor with width === height.\n */\nexport function padToSquare(imgTensor: tf.Tensor4D, isCenterImage = false): tf.Tensor4D {\n return tf.tidy(() => {\n const [height, width] = imgTensor.shape.slice(1);\n if (height === width) return imgTensor;\n const dimDiff = Math.abs(height - width);\n const paddingAmount = Math.round(dimDiff * (isCenterImage ? 0.5 : 1));\n const paddingAxis = height > width ? 2 : 1;\n const createPaddingTensor = (paddingAmountLocal: number): tf.Tensor => {\n const paddingTensorShape = imgTensor.shape.slice();\n paddingTensorShape[paddingAxis] = paddingAmountLocal;\n return tf.fill(paddingTensorShape, 0, 'float32');\n };\n const paddingTensorAppend = createPaddingTensor(paddingAmount);\n const remainingPaddingAmount = dimDiff - (paddingTensorAppend.shape[paddingAxis] as number);\n const paddingTensorPrepend = isCenterImage && remainingPaddingAmount ? createPaddingTensor(remainingPaddingAmount) : null;\n const tensorsToStack = [paddingTensorPrepend, imgTensor, paddingTensorAppend]\n .filter((t) => !!t)\n .map((t) => tf.cast(t as tf.Tensor4D, 'float32')) as tf.Tensor4D[];\n return tf.concat(tensorsToStack, paddingAxis);\n });\n}\n", "export function shuffleArray(inputArray: any[]) {\n const array = inputArray.slice();\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const x = array[i];\n array[i] = array[j];\n array[j] = x;\n }\n return array;\n}\n", "export * from './iou';\nexport * from './minBbox';\nexport * from './nonMaxSuppression';\nexport * from './normalize';\nexport * from './padToSquare';\nexport * from './shuffleArray';\n\nexport function sigmoid(x: number) {\n return 1 / (1 + Math.exp(-x));\n}\n\nexport function inverseSigmoid(x: number) {\n return Math.log(x / (1 - x));\n}\n", "import { Box } from './Box';\n\nexport interface IRect {\n x: number\n y: number\n width: number\n height: number\n}\n\nexport class Rect extends Box implements IRect {\n constructor(x: number, y: number, width: number, height: number, allowNegativeDimensions = false) {\n super({ x, y, width, height }, allowNegativeDimensions);\n }\n}\n", "import { minBbox } from '../ops/index';\nimport { getCenterPoint } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { Box } from './Box';\nimport { Dimensions, IDimensions } from './Dimensions';\nimport { FaceDetection } from './FaceDetection';\nimport { Point } from './Point';\nimport { IRect, Rect } from './Rect';\n\n// face alignment constants\nconst relX = 0.5;\nconst relY = 0.43;\nconst relScale = 0.45;\n\nexport interface IFaceLandmarks {\n positions: Point[]\n shift: Point\n}\n\nexport class FaceLandmarks implements IFaceLandmarks {\n protected _shift: Point;\n\n protected _positions: Point[];\n\n protected _imgDims: Dimensions;\n\n constructor(\n relativeFaceLandmarkPositions: Point[],\n imgDims: IDimensions,\n shift: Point = new Point(0, 0),\n ) {\n const { width, height } = imgDims;\n this._imgDims = new Dimensions(width, height);\n this._shift = shift;\n this._positions = relativeFaceLandmarkPositions.map(\n (pt) => pt.mul(new Point(width, height)).add(shift),\n );\n }\n\n public get shift(): Point { return new Point(this._shift.x, this._shift.y); }\n\n public get imageWidth(): number { return this._imgDims.width; }\n\n public get imageHeight(): number { return this._imgDims.height; }\n\n public get positions(): Point[] { return this._positions; }\n\n public get relativePositions(): Point[] {\n return this._positions.map(\n (pt) => pt.sub(this._shift).div(new Point(this.imageWidth, this.imageHeight)),\n );\n }\n\n public forSize(width: number, height: number): T {\n return new (this.constructor as any)(\n this.relativePositions,\n { width, height },\n );\n }\n\n public shiftBy(x: number, y: number): T {\n return new (this.constructor as any)(\n this.relativePositions,\n this._imgDims,\n new Point(x, y),\n );\n }\n\n public shiftByPoint(pt: Point): T {\n return this.shiftBy(pt.x, pt.y);\n }\n\n /**\n * Aligns the face landmarks after face detection from the relative positions of the faces\n * bounding box, or it's current shift. This function should be used to align the face images\n * after face detection has been performed, before they are passed to the face recognition net.\n * This will make the computed face descriptor more accurate.\n *\n * @param detection (optional) The bounding box of the face or the face detection result. If\n * no argument was passed the position of the face landmarks are assumed to be relative to\n * it's current shift.\n * @returns The bounding box of the aligned face.\n */\n public align(\n detection?: FaceDetection | IRect | IBoundingBox | null,\n options: { useDlibAlignment?: boolean, minBoxPadding?: number } = { },\n ): Box {\n if (detection) {\n const box = detection instanceof FaceDetection\n ? detection.box.floor()\n : new Box(detection);\n\n return this.shiftBy(box.x, box.y).align(null, options);\n }\n\n const { useDlibAlignment, minBoxPadding } = { useDlibAlignment: false, minBoxPadding: 0.2, ...options };\n\n if (useDlibAlignment) {\n return this.alignDlib();\n }\n\n return this.alignMinBbox(minBoxPadding);\n }\n\n private alignDlib(): Box {\n const centers = this.getRefPointsForAlignment();\n\n const [leftEyeCenter, rightEyeCenter, mouthCenter] = centers;\n const distToMouth = (pt: Point) => mouthCenter.sub(pt).magnitude();\n const eyeToMouthDist = (distToMouth(leftEyeCenter) + distToMouth(rightEyeCenter)) / 2;\n\n const size = Math.floor(eyeToMouthDist / relScale);\n\n const refPoint = getCenterPoint(centers);\n // TODO: pad in case rectangle is out of image bounds\n const x = Math.floor(Math.max(0, refPoint.x - (relX * size)));\n const y = Math.floor(Math.max(0, refPoint.y - (relY * size)));\n\n return new Rect(x, y, Math.min(size, this.imageWidth + x), Math.min(size, this.imageHeight + y));\n }\n\n private alignMinBbox(padding: number): Box {\n const box = minBbox(this.positions);\n return box.pad(box.width * padding, box.height * padding);\n }\n\n protected getRefPointsForAlignment(): Point[] {\n throw new Error('getRefPointsForAlignment not implemented by base class');\n }\n}\n", "import { getCenterPoint } from '../utils/index';\nimport { FaceLandmarks } from './FaceLandmarks';\nimport { Point } from './Point';\n\nexport class FaceLandmarks5 extends FaceLandmarks {\n protected override getRefPointsForAlignment(): Point[] {\n const pts = this.positions;\n return [\n pts[0],\n pts[1],\n getCenterPoint([pts[3], pts[4]]),\n ];\n }\n}\n", "import { getCenterPoint } from '../utils/index';\nimport { FaceLandmarks } from './FaceLandmarks';\nimport { Point } from './Point';\n\nexport class FaceLandmarks68 extends FaceLandmarks {\n public getJawOutline(): Point[] {\n return this.positions.slice(0, 17);\n }\n\n public getLeftEyeBrow(): Point[] {\n return this.positions.slice(17, 22);\n }\n\n public getRightEyeBrow(): Point[] {\n return this.positions.slice(22, 27);\n }\n\n public getNose(): Point[] {\n return this.positions.slice(27, 36);\n }\n\n public getLeftEye(): Point[] {\n return this.positions.slice(36, 42);\n }\n\n public getRightEye(): Point[] {\n return this.positions.slice(42, 48);\n }\n\n public getMouth(): Point[] {\n return this.positions.slice(48, 68);\n }\n\n protected override getRefPointsForAlignment(): Point[] {\n return [\n this.getLeftEye(),\n this.getRightEye(),\n this.getMouth(),\n ].map(getCenterPoint);\n }\n}\n", "import { round } from '../utils/index';\n\nexport interface IFaceMatch {\n label: string\n distance: number\n}\n\nexport class FaceMatch implements IFaceMatch {\n private _label: string;\n private _distance: number;\n\n constructor(label: string, distance: number) {\n this._label = label;\n this._distance = distance;\n }\n\n public get label(): string { return this._label; }\n\n public get distance(): number { return this._distance; }\n\n public toString(withDistance = true): string {\n return `${this.label}${withDistance ? ` (${round(this.distance)})` : ''}`;\n }\n}\n", "import { isValidNumber } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { Box } from './Box';\nimport { IRect } from './Rect';\n\nexport class LabeledBox extends Box {\n public static assertIsValidLabeledBox(box: any, callee: string) {\n Box.assertIsValidBox(box, callee);\n if (!isValidNumber(box.label)) {\n throw new Error(`${callee} - expected property label (${box.label}) to be a number`);\n }\n }\n\n private _label: number;\n\n constructor(box: IBoundingBox | IRect | any, label: number) {\n super(box);\n this._label = label;\n }\n\n public get label(): number { return this._label; }\n}\n", "export class LabeledFaceDescriptors {\n private _label: string;\n\n private _descriptors: Float32Array[];\n\n constructor(label: string, descriptors: Float32Array[]) {\n if (!(typeof label === 'string')) {\n throw new Error('LabeledFaceDescriptors - constructor expected label to be a string');\n }\n\n if (!Array.isArray(descriptors) || descriptors.some((desc) => !(desc instanceof Float32Array))) {\n throw new Error('LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array');\n }\n\n this._label = label;\n this._descriptors = descriptors;\n }\n\n public get label(): string { return this._label; }\n\n public get descriptors(): Float32Array[] { return this._descriptors; }\n\n public toJSON(): any {\n return {\n label: this.label,\n descriptors: this.descriptors.map((d) => Array.from(d)),\n };\n }\n\n public static fromJSON(json: any): LabeledFaceDescriptors {\n const descriptors = json.descriptors.map((d: any) => new Float32Array(d));\n return new LabeledFaceDescriptors(json.label, descriptors);\n }\n}\n", "import { isValidProbablitiy } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { LabeledBox } from './LabeledBox';\nimport { IRect } from './Rect';\n\nexport class PredictedBox extends LabeledBox {\n public static assertIsValidPredictedBox(box: any, callee: string) {\n LabeledBox.assertIsValidLabeledBox(box, callee);\n\n if (\n !isValidProbablitiy(box.score)\n || !isValidProbablitiy(box.classScore)\n ) {\n throw new Error(`${callee} - expected properties score (${box.score}) and (${box.classScore}) to be a number between [0, 1]`);\n }\n }\n\n private _score: number;\n\n private _classScore: number;\n\n constructor(box: IBoundingBox | IRect | any, label: number, score: number, classScore: number) {\n super(box, label);\n this._score = score;\n this._classScore = classScore;\n }\n\n public get score(): number { return this._score; }\n\n public get classScore(): number { return this._classScore; }\n}\n", "import { FaceDetection } from '../classes/FaceDetection';\n\nexport type WithFaceDetection = TSource & {\n detection: FaceDetection\n}\n\nexport function isWithFaceDetection(obj: any): obj is WithFaceDetection<{}> {\n return obj.detection instanceof FaceDetection;\n}\n\nexport function extendWithFaceDetection(sourceObj: TSource, detection: FaceDetection): WithFaceDetection {\n const extension = { detection };\n return { ...sourceObj, ...extension };\n}\n", "import { Environment } from './types';\n\nexport function createBrowserEnv(): Environment {\n const fetch = window.fetch;\n if (!fetch) throw new Error('fetch - missing fetch implementation for browser environment');\n\n const readFile = () => {\n throw new Error('readFile - filesystem not available for browser environment');\n };\n\n return {\n Canvas: HTMLCanvasElement,\n CanvasRenderingContext2D,\n Image: HTMLImageElement,\n ImageData,\n Video: HTMLVideoElement,\n createCanvasElement: () => document.createElement('canvas'),\n createImageElement: () => document.createElement('img'),\n createVideoElement: () => document.createElement('video'),\n fetch,\n readFile,\n };\n}\n", "export function isNodejs(): boolean {\n return typeof global === 'object'\n && typeof process !== 'undefined'\n && process.versions != null\n && process.versions.node != null;\n}\n", "import { FileSystem } from './types';\nimport { isNodejs } from './isNodejs';\n\nexport function createFileSystem(fs?: any): FileSystem {\n let requireFsError = '';\n if (!fs && isNodejs()) {\n try {\n // eslint-disable-next-line global-require\n fs = require('fs');\n } catch (err) {\n requireFsError = (err as any).toString();\n }\n }\n\n const readFile = fs\n // eslint-disable-next-line no-undef\n ? (filePath: string) => new Promise((resolve, reject) => { fs.readFile(filePath, (err: NodeJS.ErrnoException | null, buffer: string | Buffer) => (err ? reject(err) : resolve(buffer))); })\n : () => { throw new Error(`readFile - failed to require fs in nodejs environment with error: ${requireFsError}`); };\n return { readFile };\n}\n", "/* eslint-disable max-classes-per-file */\nimport { createFileSystem } from './createFileSystem';\nimport { Environment } from './types';\n\nexport function createNodejsEnv(): Environment {\n const Canvas: (new () => HTMLCanvasElement) = (global as any)['Canvas'] || global.HTMLCanvasElement;\n const Image = global.Image || global.HTMLImageElement;\n const Video: (new () => HTMLVideoElement) = (global as any)['Video'] || global.HTMLVideoElement;\n\n const createCanvasElement = () => {\n if (Canvas) return new Canvas();\n throw new Error('createCanvasElement - missing Canvas implementation for nodejs environment');\n };\n\n const createImageElement = () => {\n if (Image) return new Image();\n throw new Error('createImageElement - missing Image implementation for nodejs environment');\n };\n\n const createVideoElement = () => {\n if (Video) return new Video();\n throw new Error('createVideoElement - missing Video implementation for nodejs environment');\n };\n\n const fetch = global.fetch;\n // if (!fetch) throw new Error('fetch - missing fetch implementation for nodejs environment');\n\n const fileSystem = createFileSystem();\n\n return {\n Canvas: Canvas || class {},\n CanvasRenderingContext2D: global.CanvasRenderingContext2D || class {},\n Image: Image || class {},\n ImageData: global.ImageData || class {},\n Video: global.HTMLVideoElement || class {},\n createCanvasElement,\n createImageElement,\n createVideoElement,\n fetch,\n ...fileSystem,\n };\n}\n", "export function isBrowser(): boolean {\n return typeof window === 'object'\n && typeof document !== 'undefined'\n && typeof HTMLImageElement !== 'undefined'\n && typeof HTMLCanvasElement !== 'undefined'\n && typeof HTMLVideoElement !== 'undefined'\n && typeof ImageData !== 'undefined'\n && typeof CanvasRenderingContext2D !== 'undefined';\n}\n", "import { createBrowserEnv } from './createBrowserEnv';\nimport { createFileSystem } from './createFileSystem';\nimport { createNodejsEnv } from './createNodejsEnv';\nimport { isBrowser } from './isBrowser';\nimport { isNodejs } from './isNodejs';\nimport { Environment } from './types';\n\nlet environment: Environment | null;\n\nfunction getEnv(): Environment {\n if (!environment) {\n throw new Error('getEnv - environment is not defined, check isNodejs() and isBrowser()');\n }\n return environment;\n}\n\nfunction setEnv(env: Environment) {\n environment = env;\n}\n\nfunction initialize() {\n // check for isBrowser() first to prevent electron renderer process\n // to be initialized with wrong environment due to isNodejs() returning true\n if (isBrowser()) return setEnv(createBrowserEnv());\n if (isNodejs()) return setEnv(createNodejsEnv());\n return null;\n}\n\nfunction monkeyPatch(env: Partial) {\n if (!environment) {\n initialize();\n }\n\n if (!environment) {\n throw new Error('monkeyPatch - environment is not defined, check isNodejs() and isBrowser()');\n }\n\n const { Canvas = environment.Canvas, Image = environment.Image } = env;\n environment.Canvas = Canvas;\n environment.Image = Image;\n environment.createCanvasElement = env.createCanvasElement || (() => new Canvas());\n environment.createImageElement = env.createImageElement || (() => new Image());\n\n environment.ImageData = env.ImageData || environment.ImageData;\n environment.Video = env.Video || environment.Video;\n environment.fetch = env.fetch || environment.fetch;\n environment.readFile = env.readFile || environment.readFile;\n}\n\nexport const env = {\n getEnv,\n setEnv,\n initialize,\n createBrowserEnv,\n createFileSystem,\n createNodejsEnv,\n monkeyPatch,\n isBrowser,\n isNodejs,\n};\n\ninitialize();\n\nexport * from './types';\n", "import { env } from '../env/index';\n\nexport function resolveInput(arg: string | any) {\n if (!env.isNodejs() && typeof arg === 'string') {\n return document.getElementById(arg);\n }\n return arg;\n}\n", "import { env } from '../env/index';\nimport { resolveInput } from './resolveInput';\n\nexport function getContext2dOrThrow(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D): CanvasRenderingContext2D {\n const { Canvas, CanvasRenderingContext2D } = env.getEnv();\n if (canvasArg instanceof CanvasRenderingContext2D) return canvasArg;\n const canvas = resolveInput(canvasArg);\n if (!(canvas instanceof Canvas)) throw new Error('resolveContext2d - expected canvas to be of instance of Canvas');\n const ctx = canvas.getContext('2d', { willReadFrequently: true });\n if (!ctx) throw new Error('resolveContext2d - canvas 2d context is null');\n return ctx;\n}\n", "/* eslint-disable max-classes-per-file */\nimport { IDimensions, IPoint } from '../classes/index';\nimport { getContext2dOrThrow } from '../dom/getContext2dOrThrow';\nimport { resolveInput } from '../dom/resolveInput';\n\n// eslint-disable-next-line no-shadow\nexport enum AnchorPosition {\n // eslint-disable-next-line no-unused-vars\n TOP_LEFT = 'TOP_LEFT',\n // eslint-disable-next-line no-unused-vars\n TOP_RIGHT = 'TOP_RIGHT',\n // eslint-disable-next-line no-unused-vars\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n // eslint-disable-next-line no-unused-vars\n BOTTOM_RIGHT = 'BOTTOM_RIGHT'\n}\n\nexport interface IDrawTextFieldOptions {\n anchorPosition?: AnchorPosition\n backgroundColor?: string\n fontColor?: string\n fontSize?: number\n fontStyle?: string\n padding?: number\n}\n\nexport class DrawTextFieldOptions implements IDrawTextFieldOptions {\n public anchorPosition: AnchorPosition;\n\n public backgroundColor: string;\n\n public fontColor: string;\n\n public fontSize: number;\n\n public fontStyle: string;\n\n public padding: number;\n\n constructor(options: IDrawTextFieldOptions = {}) {\n const {\n anchorPosition, backgroundColor, fontColor, fontSize, fontStyle, padding,\n } = options;\n this.anchorPosition = anchorPosition || AnchorPosition.TOP_LEFT;\n this.backgroundColor = backgroundColor || 'rgba(0, 0, 0, 0.5)';\n this.fontColor = fontColor || 'rgba(255, 255, 255, 1)';\n this.fontSize = fontSize || 14;\n this.fontStyle = fontStyle || 'Georgia';\n this.padding = padding || 4;\n }\n}\n\nexport class DrawTextField {\n public text: string[];\n\n public anchor : IPoint;\n\n public options: DrawTextFieldOptions;\n\n constructor(\n text: string | string[] | DrawTextField,\n anchor: IPoint,\n options: IDrawTextFieldOptions = {},\n ) {\n // eslint-disable-next-line no-nested-ternary\n this.text = typeof text === 'string'\n ? [text]\n : (text instanceof DrawTextField ? text.text : text);\n this.anchor = anchor;\n this.options = new DrawTextFieldOptions(options);\n }\n\n measureWidth(ctx: CanvasRenderingContext2D): number {\n const { padding } = this.options;\n return this.text.map((l) => ctx.measureText(l).width).reduce((w0, w1) => (w0 < w1 ? w1 : w0), 0) + (2 * padding);\n }\n\n measureHeight(): number {\n const { fontSize, padding } = this.options;\n return this.text.length * fontSize + (2 * padding);\n }\n\n getUpperLeft(ctx: CanvasRenderingContext2D, canvasDims?: IDimensions): IPoint {\n const { anchorPosition } = this.options;\n const isShiftLeft = anchorPosition === AnchorPosition.BOTTOM_RIGHT || anchorPosition === AnchorPosition.TOP_RIGHT;\n const isShiftTop = anchorPosition === AnchorPosition.BOTTOM_LEFT || anchorPosition === AnchorPosition.BOTTOM_RIGHT;\n\n const textFieldWidth = this.measureWidth(ctx);\n const textFieldHeight = this.measureHeight();\n const x = (isShiftLeft ? this.anchor.x - textFieldWidth : this.anchor.x);\n const y = isShiftTop ? this.anchor.y - textFieldHeight : this.anchor.y;\n\n // adjust anchor if text box exceeds canvas borders\n if (canvasDims) {\n const { width, height } = canvasDims;\n const newX = Math.max(Math.min(x, width - textFieldWidth), 0);\n const newY = Math.max(Math.min(y, height - textFieldHeight), 0);\n return { x: newX, y: newY };\n }\n return { x, y };\n }\n\n draw(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D) {\n const canvas = resolveInput(canvasArg);\n const ctx = getContext2dOrThrow(canvas);\n\n const {\n backgroundColor, fontColor, fontSize, fontStyle, padding,\n } = this.options;\n\n ctx.font = `${fontSize}px ${fontStyle}`;\n const maxTextWidth = this.measureWidth(ctx);\n const textHeight = this.measureHeight();\n\n ctx.fillStyle = backgroundColor;\n const upperLeft = this.getUpperLeft(ctx, canvas);\n ctx.fillRect(upperLeft.x, upperLeft.y, maxTextWidth, textHeight);\n\n ctx.fillStyle = fontColor;\n this.text.forEach((textLine, i) => {\n const x = padding + upperLeft.x;\n const y = padding + upperLeft.y + ((i + 1) * fontSize);\n ctx.fillText(textLine, x, y);\n });\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport { Box, IBoundingBox, IRect } from '../classes/index';\nimport { getContext2dOrThrow } from '../dom/getContext2dOrThrow';\nimport { AnchorPosition, DrawTextField, DrawTextFieldOptions, IDrawTextFieldOptions } from './DrawTextField';\n\nexport interface IDrawBoxOptions {\n boxColor?: string\n lineWidth?: number\n drawLabelOptions?: IDrawTextFieldOptions\n label?: string\n}\n\nexport class DrawBoxOptions {\n public boxColor: string;\n\n public lineWidth: number;\n\n public drawLabelOptions: DrawTextFieldOptions;\n\n public label?: string;\n\n constructor(options: IDrawBoxOptions = {}) {\n const {\n boxColor, lineWidth, label, drawLabelOptions,\n } = options;\n this.boxColor = boxColor || 'rgba(0, 0, 255, 1)';\n this.lineWidth = lineWidth || 2;\n this.label = label;\n\n const defaultDrawLabelOptions = {\n anchorPosition: AnchorPosition.BOTTOM_LEFT,\n backgroundColor: this.boxColor,\n };\n this.drawLabelOptions = new DrawTextFieldOptions({ ...defaultDrawLabelOptions, ...drawLabelOptions });\n }\n}\n\nexport class DrawBox {\n public box: Box;\n\n public options: DrawBoxOptions;\n\n constructor(\n box: IBoundingBox | IRect,\n options: IDrawBoxOptions = {},\n ) {\n this.box = new Box(box);\n this.options = new DrawBoxOptions(options);\n }\n\n draw(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D) {\n const ctx = getContext2dOrThrow(canvasArg);\n\n const { boxColor, lineWidth } = this.options;\n\n const {\n x, y, width, height,\n } = this.box;\n ctx.strokeStyle = boxColor;\n ctx.lineWidth = lineWidth;\n ctx.strokeRect(x, y, width, height);\n\n const { label } = this.options;\n if (label) {\n new DrawTextField([label], { x: x - (lineWidth / 2), y }, this.options.drawLabelOptions).draw(canvasArg);\n }\n }\n}\n", "import { Box, IBoundingBox, IRect } from '../classes/index';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { isWithFaceDetection, WithFaceDetection } from '../factories/WithFaceDetection';\nimport { round } from '../utils/index';\nimport { DrawBox } from './DrawBox';\n\nexport type TDrawDetectionsInput = IRect | IBoundingBox | FaceDetection | WithFaceDetection<{}>\n\nexport function drawDetections(\n canvasArg: string | HTMLCanvasElement,\n detections: TDrawDetectionsInput | Array,\n) {\n const detectionsArray = Array.isArray(detections) ? detections : [detections];\n\n detectionsArray.forEach((det) => {\n // eslint-disable-next-line no-nested-ternary\n const score = det instanceof FaceDetection\n ? det.score\n : (isWithFaceDetection(det) ? det.detection.score : undefined);\n\n // eslint-disable-next-line no-nested-ternary\n const box = det instanceof FaceDetection\n ? det.box\n : (isWithFaceDetection(det) ? det.detection.box : new Box(det));\n\n const label = score ? `${round(score)}` : undefined;\n new DrawBox(box, { label }).draw(canvasArg);\n });\n}\n", "import { env } from '../env/index';\n\nexport function isMediaLoaded(media: HTMLImageElement | HTMLVideoElement) : boolean {\n const { Image, Video } = env.getEnv();\n\n return (media instanceof Image && media.complete)\n || (media instanceof Video && media.readyState >= 3);\n}\n", "import { env } from '../env/index';\nimport { isMediaLoaded } from './isMediaLoaded';\n\nexport function awaitMediaLoaded(media: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement) {\n // eslint-disable-next-line consistent-return\n return new Promise((resolve, reject) => {\n if (media instanceof env.getEnv().Canvas || isMediaLoaded(media)) {\n resolve(null);\n return;\n }\n\n function onError(e: Event) {\n if (!e.currentTarget) return;\n // eslint-disable-next-line no-use-before-define\n e.currentTarget.removeEventListener('load', onLoad);\n e.currentTarget.removeEventListener('error', onError);\n reject(e);\n }\n\n function onLoad(e: Event) {\n if (!e.currentTarget) return;\n e.currentTarget.removeEventListener('load', onLoad);\n e.currentTarget.removeEventListener('error', onError);\n resolve(e);\n }\n\n media.addEventListener('load', onLoad);\n media.addEventListener('error', onError);\n });\n}\n", "import { env } from '../env/index';\n\nexport function bufferToImage(buf: Blob): Promise {\n return new Promise((resolve, reject) => {\n if (!(buf instanceof Blob)) reject(new Error('bufferToImage - expected buf to be of type: Blob'));\n const reader = new FileReader();\n reader.onload = () => {\n if (typeof reader.result !== 'string') reject(new Error('bufferToImage - expected reader.result to be a string, in onload'));\n const img = env.getEnv().createImageElement();\n img.onload = () => resolve(img);\n img.onerror = reject;\n img.src = reader.result as string;\n };\n reader.onerror = reject;\n reader.readAsDataURL(buf);\n });\n}\n", "import { Dimensions, IDimensions } from '../classes/Dimensions';\nimport { env } from '../env/index';\n\nexport function getMediaDimensions(input: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | IDimensions): Dimensions {\n const { Image, Video } = env.getEnv();\n\n if (input instanceof Image) {\n return new Dimensions(input.naturalWidth, input.naturalHeight);\n }\n if (input instanceof Video) {\n return new Dimensions(input.videoWidth, input.videoHeight);\n }\n return new Dimensions(input.width, input.height);\n}\n", "import { IDimensions } from '../classes/Dimensions';\nimport { env } from '../env/index';\nimport { getContext2dOrThrow } from './getContext2dOrThrow';\nimport { getMediaDimensions } from './getMediaDimensions';\nimport { isMediaLoaded } from './isMediaLoaded';\n\nexport function createCanvas({ width, height }: IDimensions): HTMLCanvasElement {\n const { createCanvasElement } = env.getEnv();\n const canvas = createCanvasElement();\n canvas.width = width;\n canvas.height = height;\n return canvas;\n}\n\nexport function createCanvasFromMedia(media: HTMLImageElement | HTMLVideoElement | ImageData, dims?: IDimensions): HTMLCanvasElement {\n const { ImageData } = env.getEnv();\n\n if (!(media instanceof ImageData) && !isMediaLoaded(media)) {\n throw new Error('createCanvasFromMedia - media has not finished loading yet');\n }\n\n const { width, height } = dims || getMediaDimensions(media);\n const canvas = createCanvas({ width, height });\n\n if (media instanceof ImageData) {\n getContext2dOrThrow(canvas).putImageData(media, 0, 0);\n } else {\n getContext2dOrThrow(canvas).drawImage(media, 0, 0, width, height);\n }\n return canvas;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { env } from '../env/index';\nimport { isTensor4D } from '../utils/index';\n\nexport async function imageTensorToCanvas(\n imgTensor: tf.Tensor,\n canvas?: HTMLCanvasElement,\n): Promise {\n const targetCanvas = canvas || env.getEnv().createCanvasElement();\n\n const [height, width, numChannels] = imgTensor.shape.slice(isTensor4D(imgTensor) ? 1 : 0);\n const imgTensor3D = tf.tidy(() => imgTensor.as3D(height, width, numChannels).toInt());\n await tf['browser'].toPixels(imgTensor3D, targetCanvas);\n\n imgTensor3D.dispose();\n\n return targetCanvas;\n}\n", "import { env } from '../env/index';\n\nexport function isMediaElement(input: any) {\n const { Image, Canvas, Video } = env.getEnv();\n\n return input instanceof Image\n || input instanceof Canvas\n || input instanceof Video;\n}\n", "import { env } from '../env/index';\nimport { createCanvas, createCanvasFromMedia } from './createCanvas';\nimport { getContext2dOrThrow } from './getContext2dOrThrow';\nimport { getMediaDimensions } from './getMediaDimensions';\n\nexport function imageToSquare(input: HTMLImageElement | HTMLCanvasElement, inputSize: number, centerImage = false) {\n const { Image, Canvas } = env.getEnv();\n\n if (!(input instanceof Image || input instanceof Canvas)) {\n throw new Error('imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement');\n }\n\n if (inputSize <= 0) return createCanvas({ width: 1, height: 1 });\n const dims = getMediaDimensions(input);\n const scale = inputSize / Math.max(dims.height, dims.width);\n const width = scale * dims.width;\n const height = scale * dims.height;\n\n const targetCanvas = createCanvas({ width: inputSize, height: inputSize });\n const inputCanvas = input instanceof Canvas ? input : createCanvasFromMedia(input);\n\n const offset = Math.abs(width - height) / 2;\n const dx = centerImage && width < height ? offset : 0;\n const dy = centerImage && height < width ? offset : 0;\n if (inputCanvas.width > 0 && inputCanvas.height > 0) getContext2dOrThrow(targetCanvas).drawImage(inputCanvas, dx, dy, width, height);\n\n return targetCanvas;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Dimensions } from '../classes/Dimensions';\nimport { env } from '../env/index';\nimport { padToSquare } from '../ops/padToSquare';\nimport { computeReshapedDimensions, isTensor3D, isTensor4D, range } from '../utils/index';\nimport { createCanvasFromMedia } from './createCanvas';\nimport { imageToSquare } from './imageToSquare';\nimport { TResolvedNetInput } from './types';\n\nexport class NetInput {\n private _imageTensors: Array = [];\n\n private _canvases: HTMLCanvasElement[] = [];\n\n private _batchSize: number;\n\n private _treatAsBatchInput = false;\n\n private _inputDimensions: number[][] = [];\n\n private _inputSize = 0;\n\n constructor(inputs: Array, treatAsBatchInput = false) {\n if (!Array.isArray(inputs)) {\n throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${inputs}`);\n }\n\n this._treatAsBatchInput = treatAsBatchInput;\n this._batchSize = inputs.length;\n\n inputs.forEach((input, idx) => {\n if (isTensor3D(input)) {\n this._imageTensors[idx] = input;\n this._inputDimensions[idx] = input.shape;\n return;\n }\n\n if (isTensor4D(input)) {\n const batchSize = (input as any).shape[0];\n if (batchSize !== 1) {\n throw new Error(`NetInput - tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`);\n }\n\n this._imageTensors[idx] = input;\n this._inputDimensions[idx] = (input as any).shape.slice(1);\n return;\n }\n\n // @ts-ignore\n const canvas = (input as any) instanceof env.getEnv().Canvas ? input : createCanvasFromMedia(input);\n this._canvases[idx] = canvas as HTMLCanvasElement;\n this._inputDimensions[idx] = [canvas.height, canvas.width, 3];\n });\n }\n\n public get imageTensors(): Array {\n return this._imageTensors;\n }\n\n public get canvases(): HTMLCanvasElement[] {\n return this._canvases;\n }\n\n public get isBatchInput(): boolean {\n return this.batchSize > 1 || this._treatAsBatchInput;\n }\n\n public get batchSize(): number {\n return this._batchSize;\n }\n\n public get inputDimensions(): number[][] {\n return this._inputDimensions;\n }\n\n public get inputSize(): number | undefined {\n return this._inputSize;\n }\n\n public get reshapedInputDimensions(): Dimensions[] {\n return range(this.batchSize, 0, 1).map(\n (_, batchIdx) => this.getReshapedInputDimensions(batchIdx),\n );\n }\n\n public getInput(batchIdx: number): tf.Tensor3D | tf.Tensor4D | HTMLCanvasElement {\n return this.canvases[batchIdx] || this.imageTensors[batchIdx];\n }\n\n public getInputDimensions(batchIdx: number): number[] {\n return this._inputDimensions[batchIdx];\n }\n\n public getInputHeight(batchIdx: number): number {\n return this._inputDimensions[batchIdx][0];\n }\n\n public getInputWidth(batchIdx: number): number {\n return this._inputDimensions[batchIdx][1];\n }\n\n public getReshapedInputDimensions(batchIdx: number): Dimensions {\n if (typeof this.inputSize !== 'number') {\n throw new Error('getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet');\n }\n\n const width = this.getInputWidth(batchIdx);\n const height = this.getInputHeight(batchIdx);\n return computeReshapedDimensions({ width, height }, this.inputSize);\n }\n\n /**\n * Create a batch tensor from all input canvases and tensors\n * with size [batchSize, inputSize, inputSize, 3].\n *\n * @param inputSize Height and width of the tensor.\n * @param isCenterImage (optional, default: false) If true, add an equal amount of padding on\n * both sides of the minor dimension oof the image.\n * @returns The batch tensor.\n */\n public toBatchTensor(inputSize: number, isCenterInputs = true): tf.Tensor4D {\n this._inputSize = inputSize;\n\n return tf.tidy(() => {\n const inputTensors = range(this.batchSize, 0, 1).map((batchIdx) => {\n const input = this.getInput(batchIdx);\n\n if (input instanceof tf.Tensor) {\n let imgTensor = isTensor4D(input) ? input : tf.expandDims(input);\n imgTensor = padToSquare(imgTensor as tf.Tensor4D, isCenterInputs);\n\n if (imgTensor.shape[1] !== inputSize || imgTensor.shape[2] !== inputSize) {\n imgTensor = tf['image'].resizeBilinear(imgTensor as tf.Tensor4D, [inputSize, inputSize], false, false);\n }\n\n return imgTensor.as3D(inputSize, inputSize, 3);\n }\n\n if (input instanceof env.getEnv().Canvas) {\n const outputCanvas = imageToSquare(input, inputSize, isCenterInputs);\n const result = tf['browser'].fromPixels(outputCanvas);\n\n outputCanvas.width = 1;\n outputCanvas.height = 1;\n const ctx: CanvasRenderingContext2D | null = outputCanvas.getContext('2d');\n if (ctx) ctx.clearRect(0, 0, 1, 1);\n\n return result;\n }\n\n throw new Error(`toBatchTensor - at batchIdx ${batchIdx}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${input}`);\n });\n\n const batchTensor = tf.stack(inputTensors.map((t) => tf.cast(t, 'float32'))).as4D(this.batchSize, inputSize, inputSize, 3);\n // const batchTensor = tf.stack(inputTensors.map((t) => tf.cast(t, 'float32'))) as tf.Tensor4D;\n\n return batchTensor;\n });\n }\n}\n", "import { isTensor3D, isTensor4D } from '../utils/index';\nimport { awaitMediaLoaded } from './awaitMediaLoaded';\nimport { isMediaElement } from './isMediaElement';\nimport { NetInput } from './NetInput';\nimport { resolveInput } from './resolveInput';\nimport { TNetInput } from './types';\n\n/**\n * Validates the input to make sure, they are valid net inputs and awaits all media elements\n * to be finished loading.\n *\n * @param input The input, which can be a media element or an array of different media elements.\n * @returns A NetInput instance, which can be passed into one of the neural networks.\n */\nexport async function toNetInput(inputs: TNetInput): Promise {\n if (inputs instanceof NetInput) return inputs;\n const inputArgArray = Array.isArray(inputs) ? inputs : [inputs];\n if (!inputArgArray.length) throw new Error('toNetInput - empty array passed as input');\n const getIdxHint = (idx: number) => (Array.isArray(inputs) ? ` at input index ${idx}:` : '');\n const inputArray = inputArgArray.map(resolveInput);\n inputArray.forEach((input, i) => {\n if (!isMediaElement(input) && !isTensor3D(input) && !isTensor4D(input)) {\n if (typeof inputArgArray[i] === 'string') throw new Error(`toNetInput -${getIdxHint(i)} string passed, but could not resolve HTMLElement for element id ${inputArgArray[i]}`);\n throw new Error(`toNetInput -${getIdxHint(i)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);\n }\n if (isTensor4D(input)) {\n // if tf.Tensor4D is passed in the input array, the batch size has to be 1\n const batchSize = input.shape[0];\n if (batchSize !== 1) throw new Error(`toNetInput -${getIdxHint(i)} tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`);\n }\n });\n // wait for all media elements being loaded\n await Promise.all(inputArray.map((input) => isMediaElement(input) && awaitMediaLoaded(input)));\n return new NetInput(inputArray, Array.isArray(inputs));\n}\n", "import { FaceDetection } from '../classes/FaceDetection';\nimport { Rect } from '../classes/Rect';\nimport { env } from '../env/index';\nimport { createCanvas } from './createCanvas';\nimport { getContext2dOrThrow } from './getContext2dOrThrow';\nimport { imageTensorToCanvas } from './imageTensorToCanvas';\nimport { toNetInput } from './toNetInput';\nimport { TNetInput } from './types';\n\n/**\n * Extracts the image regions containing the detected faces.\n *\n * @param input The image that face detection has been performed on.\n * @param detections The face detection results or face bounding boxes for that image.\n * @returns The Canvases of the corresponding image region for each detected face.\n */\nexport async function extractFaces(input: TNetInput, detections: Array): Promise {\n const { Canvas } = env.getEnv();\n let canvas = input as HTMLCanvasElement;\n if (!(input instanceof Canvas)) {\n const netInput = await toNetInput(input);\n if (netInput.batchSize > 1) throw new Error('extractFaces - batchSize > 1 not supported');\n const tensorOrCanvas = netInput.getInput(0);\n canvas = tensorOrCanvas instanceof Canvas ? tensorOrCanvas : await imageTensorToCanvas(tensorOrCanvas);\n }\n const ctx = getContext2dOrThrow(canvas);\n const boxes = detections\n .map((det) => (det instanceof FaceDetection ? det.forSize(canvas.width, canvas.height).box.floor() : det))\n .map((box) => box.clipAtImageBorders(canvas.width, canvas.height));\n return boxes.map(({ x, y, width, height }) => {\n const faceImg = createCanvas({ width, height });\n if (width > 0 && height > 0) getContext2dOrThrow(faceImg).putImageData(ctx.getImageData(x, y, width, height), 0, 0);\n return faceImg;\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Rect } from '../classes/index';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { isTensor3D, isTensor4D } from '../utils/index';\n\n/**\n * Extracts the tensors of the image regions containing the detected faces.\n * Useful if you want to compute the face descriptors for the face images.\n * Using this method is faster then extracting a canvas for each face and\n * converting them to tensors individually.\n *\n * @param imageTensor The image tensor that face detection has been performed on.\n * @param detections The face detection results or face bounding boxes for that image.\n * @returns Tensors of the corresponding image region for each detected face.\n */\nexport async function extractFaceTensors(imageTensor: tf.Tensor3D | tf.Tensor4D, detections: Array): Promise {\n if (!isTensor3D(imageTensor) && !isTensor4D(imageTensor)) {\n throw new Error('extractFaceTensors - expected image tensor to be 3D or 4D');\n }\n\n if (isTensor4D(imageTensor) && imageTensor.shape[0] > 1) {\n throw new Error('extractFaceTensors - batchSize > 1 not supported');\n }\n\n return tf.tidy(() => {\n const [imgHeight, imgWidth, numChannels] = imageTensor.shape.slice(isTensor4D(imageTensor) ? 1 : 0);\n const boxes = detections.map((det) => (det instanceof FaceDetection ? det.forSize(imgWidth, imgHeight).box : det))\n .map((box) => box.clipAtImageBorders(imgWidth, imgHeight));\n const faceTensors = boxes\n .filter((box) => box.width > 0 && box.height > 0)\n .map(({ x, y, width, height }) => tf.slice3d(imageTensor.as3D(imgHeight, imgWidth, numChannels), [y, x, 0], [height, width, numChannels]));\n return faceTensors;\n });\n}\n", "import { env } from '../env/index';\n\nexport async function fetchOrThrow(\n url: string,\n // eslint-disable-next-line no-undef\n init?: RequestInit,\n): Promise {\n const { fetch } = env.getEnv();\n const res = await fetch(url, init);\n if (!(res.status < 400)) {\n throw new Error(`failed to fetch: (${res.status}) ${res.statusText}, from url: ${res.url}`);\n }\n return res;\n}\n", "import { bufferToImage } from './bufferToImage';\nimport { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchImage(uri: string): Promise {\n const res = await fetchOrThrow(uri);\n const blob = await (res).blob();\n\n if (!blob.type.startsWith('image/')) {\n throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${blob.type}, for url: ${res.url}`);\n }\n return bufferToImage(blob);\n}\n", "import { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchJson(uri: string): Promise {\n return (await fetchOrThrow(uri)).json();\n}\n", "import { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchNetWeights(uri: string): Promise {\n return new Float32Array(await (await fetchOrThrow(uri)).arrayBuffer());\n}\n", "import { env } from '../env/index';\n\nexport function bufferToVideo(buf: Blob): Promise {\n return new Promise((resolve, reject) => {\n if (!(buf instanceof Blob)) reject(new Error('bufferToVideo - expected buf to be of type: Blob'));\n\n const video = env.getEnv().createVideoElement();\n video.oncanplay = () => resolve(video);\n video.onerror = reject;\n video.playsInline = true;\n video.muted = true;\n video.src = URL.createObjectURL(buf);\n video.play();\n });\n}\n", "import { bufferToVideo } from './bufferToVideo';\nimport { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchVideo(uri: string): Promise {\n const res = await fetchOrThrow(uri);\n const blob = await (res).blob();\n\n if (!blob.type.startsWith('video/')) {\n throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${blob.type}, for url: ${res.url}`);\n }\n return bufferToVideo(blob);\n}\n", "export function getModelUris(uri: string | undefined, defaultModelName: string) {\n const defaultManifestFilename = `${defaultModelName}-weights_manifest.json`;\n\n if (!uri) {\n return {\n modelBaseUri: '',\n manifestUri: defaultManifestFilename,\n };\n }\n\n if (uri === '/') {\n return {\n modelBaseUri: '/',\n manifestUri: `/${defaultManifestFilename}`,\n };\n }\n // eslint-disable-next-line no-nested-ternary\n const protocol = uri.startsWith('http://') ? 'http://' : uri.startsWith('https://') ? 'https://' : '';\n uri = uri.replace(protocol, '');\n\n const parts = uri.split('/').filter((s) => s);\n\n const manifestFile = uri.endsWith('.json')\n ? parts[parts.length - 1]\n : defaultManifestFilename;\n\n let modelBaseUri = protocol + (uri.endsWith('.json') ? parts.slice(0, parts.length - 1) : parts).join('/');\n modelBaseUri = uri.startsWith('/') ? `/${modelBaseUri}` : modelBaseUri;\n\n return {\n modelBaseUri,\n manifestUri: modelBaseUri === '/' ? `/${manifestFile}` : `${modelBaseUri}/${manifestFile}`,\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { getModelUris } from '../common/getModelUris';\nimport { fetchJson } from './fetchJson';\n\nexport async function loadWeightMap(\n uri: string | undefined,\n defaultModelName: string,\n): Promise {\n const { manifestUri, modelBaseUri } = getModelUris(uri, defaultModelName);\n // @ts-ignore\n const manifest = await fetchJson(manifestUri);\n // if (manifest['weightsManifest']) manifest = manifest['weightsManifest'];\n return tf['io'].loadWeights(manifest, modelBaseUri);\n}\n", "import { IDimensions } from '../classes/index';\nimport { getMediaDimensions } from './getMediaDimensions';\n\nexport function matchDimensions(input: IDimensions, reference: IDimensions, useMediaDimensions = false) {\n const { width, height } = useMediaDimensions\n ? getMediaDimensions(reference)\n : reference;\n input.width = width;\n input.height = height;\n return { width, height };\n}\n", "import * as tf from '../dist/tfjs.esm';\n\nimport { ParamMapping } from './common/index';\nimport { getModelUris } from './common/getModelUris';\nimport { loadWeightMap } from './dom/index';\nimport { env } from './env/index';\n\nexport abstract class NeuralNetwork {\n constructor(name: string) {\n this._name = name;\n }\n\n protected _params: TNetParams | undefined = undefined;\n\n protected _paramMappings: ParamMapping[] = [];\n\n public _name: any;\n\n public get params(): TNetParams | undefined { return this._params; }\n\n public get paramMappings(): ParamMapping[] { return this._paramMappings; }\n\n public get isLoaded(): boolean { return !!this.params; }\n\n public getParamFromPath(paramPath: string): tf.Tensor {\n const { obj, objProp } = this.traversePropertyPath(paramPath);\n return obj[objProp];\n }\n\n public reassignParamFromPath(paramPath: string, tensor: tf.Tensor) {\n const { obj, objProp } = this.traversePropertyPath(paramPath);\n obj[objProp].dispose();\n obj[objProp] = tensor;\n }\n\n public getParamList() {\n return this._paramMappings.map(({ paramPath }) => ({\n path: paramPath,\n tensor: this.getParamFromPath(paramPath),\n }));\n }\n\n public getTrainableParams() {\n return this.getParamList().filter((param) => param.tensor instanceof tf.Variable);\n }\n\n public getFrozenParams() {\n return this.getParamList().filter((param) => !(param.tensor instanceof tf.Variable));\n }\n\n public variable() {\n this.getFrozenParams().forEach(({ path, tensor }) => {\n this.reassignParamFromPath(path, tensor.variable());\n });\n }\n\n public freeze() {\n this.getTrainableParams().forEach(({ path, tensor: variable }) => {\n const tensor = tf.tensor(variable.dataSync());\n variable.dispose();\n this.reassignParamFromPath(path, tensor);\n });\n }\n\n public dispose(throwOnRedispose = true) {\n this.getParamList().forEach((param) => {\n if (throwOnRedispose && param.tensor.isDisposed) {\n throw new Error(`param tensor has already been disposed for path ${param.path}`);\n }\n param.tensor.dispose();\n });\n this._params = undefined;\n }\n\n public serializeParams(): Float32Array {\n return new Float32Array(\n this.getParamList()\n .map(({ tensor }) => Array.from(tensor.dataSync()) as number[])\n .reduce((flat, arr) => flat.concat(arr)),\n );\n }\n\n public async load(weightsOrUrl: Float32Array | string | undefined): Promise {\n if (weightsOrUrl instanceof Float32Array) {\n this.extractWeights(weightsOrUrl);\n return;\n }\n await this.loadFromUri(weightsOrUrl);\n }\n\n public async loadFromUri(uri: string | undefined) {\n if (uri && typeof uri !== 'string') {\n throw new Error(`${this._name}.loadFromUri - expected model uri`);\n }\n const weightMap = await loadWeightMap(uri, this.getDefaultModelName());\n this.loadFromWeightMap(weightMap);\n }\n\n public async loadFromDisk(filePath: string | undefined) {\n if (filePath && typeof filePath !== 'string') {\n throw new Error(`${this._name}.loadFromDisk - expected model file path`);\n }\n const { readFile } = env.getEnv();\n const { manifestUri, modelBaseUri } = getModelUris(filePath, this.getDefaultModelName());\n const fetchWeightsFromDisk = (filePaths: string[]) => Promise.all(filePaths.map((fp) => readFile(fp).then((buf) => (typeof buf === 'string' ? Buffer.from(buf) : buf.buffer))));\n const loadWeights = tf['io'].weightsLoaderFactory(fetchWeightsFromDisk);\n const manifest = JSON.parse((await readFile(manifestUri)).toString());\n const weightMap = await loadWeights(manifest, modelBaseUri);\n this.loadFromWeightMap(weightMap);\n }\n\n public loadFromWeightMap(weightMap: tf.NamedTensorMap) {\n const { paramMappings, params } = this.extractParamsFromWeightMap(weightMap);\n this._paramMappings = paramMappings;\n this._params = params;\n }\n\n public extractWeights(weights: Float32Array) {\n const { paramMappings, params } = this.extractParams(weights);\n this._paramMappings = paramMappings;\n this._params = params;\n }\n\n private traversePropertyPath(paramPath: string) {\n if (!this.params) {\n throw new Error('traversePropertyPath - model has no loaded params');\n }\n\n const result = paramPath.split('/').reduce((res: { nextObj: any, obj?: any, objProp?: string }, objProp) => {\n // eslint-disable-next-line no-prototype-builtins\n if (!res.nextObj.hasOwnProperty(objProp)) {\n throw new Error(`traversePropertyPath - object does not have property ${objProp}, for path ${paramPath}`);\n }\n return { obj: res.nextObj, objProp, nextObj: res.nextObj[objProp] };\n }, { nextObj: this.params });\n\n const { obj, objProp } = result;\n if (!obj || !objProp || !(obj[objProp] instanceof tf.Tensor)) {\n throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${paramPath}`);\n }\n\n return { obj, objProp };\n }\n\n protected abstract getDefaultModelName(): string\n\n // eslint-disable-next-line no-unused-vars\n protected abstract extractParamsFromWeightMap(weightMap: tf.NamedTensorMap): { params: TNetParams, paramMappings: ParamMapping[] }\n\n // eslint-disable-next-line no-unused-vars\n protected abstract extractParams(weights: Float32Array): { params: TNetParams, paramMappings: ParamMapping[] }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { SeparableConvParams } from './types';\n\nexport function depthwiseSeparableConv(\n x: tf.Tensor4D,\n params: SeparableConvParams,\n stride: [number, number],\n): tf.Tensor4D {\n return tf.tidy(() => {\n let out = tf.separableConv2d(x, params.depthwise_filter, params.pointwise_filter, stride, 'same');\n out = tf.add(out, params.bias);\n return out;\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, SeparableConvParams } from '../common/index';\nimport { depthwiseSeparableConv } from '../common/depthwiseSeparableConv';\nimport { DenseBlock3Params, DenseBlock4Params } from './types';\n\nexport function denseBlock3(\n x: tf.Tensor4D,\n denseBlockParams: DenseBlock3Params,\n isFirstLayer = false,\n): tf.Tensor4D {\n return tf.tidy(() => {\n const out1 = tf.relu(\n isFirstLayer\n ? tf.add(\n tf.conv2d(x, (denseBlockParams.conv0 as ConvParams).filters, [2, 2], 'same'),\n denseBlockParams.conv0.bias,\n )\n : depthwiseSeparableConv(x, denseBlockParams.conv0 as SeparableConvParams, [2, 2]),\n ) as tf.Tensor4D;\n const out2 = depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]);\n\n const in3 = tf.relu(tf.add(out1, out2)) as tf.Tensor4D;\n const out3 = depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]);\n\n return tf.relu(tf.add(out1, tf.add(out2, out3))) as tf.Tensor4D;\n });\n}\n\nexport function denseBlock4(\n x: tf.Tensor4D,\n denseBlockParams: DenseBlock4Params,\n isFirstLayer = false,\n isScaleDown = true,\n): tf.Tensor4D {\n return tf.tidy(() => {\n const out1 = tf.relu(\n isFirstLayer\n ? tf.add(\n tf.conv2d(x, (denseBlockParams.conv0 as ConvParams).filters, isScaleDown ? [2, 2] : [1, 1], 'same'),\n denseBlockParams.conv0.bias,\n )\n : depthwiseSeparableConv(x, denseBlockParams.conv0 as SeparableConvParams, isScaleDown ? [2, 2] : [1, 1]),\n ) as tf.Tensor4D;\n const out2 = depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]);\n\n const in3 = tf.relu(tf.add(out1, out2)) as tf.Tensor4D;\n const out3 = depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]);\n\n const in4 = tf.relu(tf.add(out1, tf.add(out2, out3))) as tf.Tensor4D;\n const out4 = depthwiseSeparableConv(in4, denseBlockParams.conv3, [1, 1]);\n\n return tf.relu(tf.add(out1, tf.add(out2, tf.add(out3, out4)))) as tf.Tensor4D;\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams } from './types';\n\nexport function convLayer(\n x: tf.Tensor4D,\n params: ConvParams,\n padding: 'valid' | 'same' = 'same',\n withRelu = false,\n): tf.Tensor4D {\n return tf.tidy(() => {\n const out = tf.add(\n tf.conv2d(x, params.filters, [1, 1], padding),\n params.bias,\n ) as tf.Tensor4D;\n\n return withRelu ? tf.relu(out) : out;\n });\n}\n", "import { ParamMapping } from './types';\n\nexport function disposeUnusedWeightTensors(weightMap: any, paramMappings: ParamMapping[]) {\n Object.keys(weightMap).forEach((path) => {\n if (!paramMappings.some((pm) => pm.originalPath === path)) {\n weightMap[path].dispose();\n }\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, ExtractWeightsFunction, ParamMapping } from './types';\n\nexport function extractConvParamsFactory(\n extractWeights: ExtractWeightsFunction,\n paramMappings: ParamMapping[],\n) {\n return (\n channelsIn: number,\n channelsOut: number,\n filterSize: number,\n mappedPrefix: string,\n ): ConvParams => {\n const filters = tf.tensor4d(\n extractWeights(channelsIn * channelsOut * filterSize * filterSize),\n [filterSize, filterSize, channelsIn, channelsOut],\n );\n const bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return { filters, bias };\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ExtractWeightsFunction, FCParams, ParamMapping } from './types';\n\nexport function extractFCParamsFactory(\n extractWeights: ExtractWeightsFunction,\n paramMappings: ParamMapping[],\n) {\n return (\n channelsIn: number,\n channelsOut: number,\n mappedPrefix: string,\n ): FCParams => {\n const fc_weights = tf.tensor2d(extractWeights(channelsIn * channelsOut), [channelsIn, channelsOut]);\n const fc_bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/weights` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return {\n weights: fc_weights,\n bias: fc_bias,\n };\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\n// eslint-disable-next-line no-unused-vars\nexport type ExtractWeightsFunction = (numWeights: number) => Float32Array\n\nexport type ParamMapping = {\n originalPath?: string\n paramPath: string\n}\n\nexport type ConvParams = {\n filters: tf.Tensor4D\n bias: tf.Tensor1D\n}\n\nexport type FCParams = {\n weights: tf.Tensor2D\n bias: tf.Tensor1D\n}\n\nexport class SeparableConvParams {\n // eslint-disable-next-line no-useless-constructor\n constructor(\n // eslint-disable-next-line no-unused-vars\n public depthwise_filter: tf.Tensor4D,\n // eslint-disable-next-line no-unused-vars\n public pointwise_filter: tf.Tensor4D,\n // eslint-disable-next-line no-unused-vars\n public bias: tf.Tensor1D,\n // eslint-disable-next-line no-empty-function\n ) {}\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ExtractWeightsFunction, ParamMapping, SeparableConvParams } from './types';\n\nexport function extractSeparableConvParamsFactory(\n extractWeights: ExtractWeightsFunction,\n paramMappings: ParamMapping[],\n) {\n return (channelsIn: number, channelsOut: number, mappedPrefix: string): SeparableConvParams => {\n const depthwise_filter = tf.tensor4d(extractWeights(3 * 3 * channelsIn), [3, 3, channelsIn, 1]);\n const pointwise_filter = tf.tensor4d(extractWeights(channelsIn * channelsOut), [1, 1, channelsIn, channelsOut]);\n const bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/depthwise_filter` },\n { paramPath: `${mappedPrefix}/pointwise_filter` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return new SeparableConvParams(\n depthwise_filter,\n pointwise_filter,\n bias,\n );\n };\n}\n\nexport function loadSeparableConvParamsFactory(\n // eslint-disable-next-line no-unused-vars\n extractWeightEntry: (originalPath: string, paramRank: number) => T,\n) {\n return (prefix: string): SeparableConvParams => {\n const depthwise_filter = extractWeightEntry(`${prefix}/depthwise_filter`, 4);\n const pointwise_filter = extractWeightEntry(`${prefix}/pointwise_filter`, 4);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n\n return new SeparableConvParams(\n depthwise_filter,\n pointwise_filter,\n bias,\n );\n };\n}\n", "import { isTensor } from '../utils/index';\nimport { ParamMapping } from './types';\n\nexport function extractWeightEntryFactory(weightMap: any, paramMappings: ParamMapping[]) {\n return (originalPath: string, paramRank: number, mappedPath?: string) => {\n const tensor = weightMap[originalPath];\n\n if (!isTensor(tensor, paramRank)) {\n throw new Error(`expected weightMap[${originalPath}] to be a Tensor${paramRank}D, instead have ${tensor}`);\n }\n\n paramMappings.push(\n { originalPath, paramPath: mappedPath || originalPath },\n );\n\n return tensor;\n };\n}\n", "export function extractWeightsFactory(weights: Float32Array) {\n let remainingWeights = weights;\n\n function extractWeights(numWeights: number): Float32Array {\n const ret = remainingWeights.slice(0, numWeights);\n remainingWeights = remainingWeights.slice(numWeights);\n return ret;\n }\n\n function getRemainingWeights(): Float32Array {\n return remainingWeights;\n }\n\n return {\n extractWeights,\n getRemainingWeights,\n };\n}\n", "import { extractConvParamsFactory, extractSeparableConvParamsFactory, ExtractWeightsFunction, ParamMapping } from '../common/index';\nimport { DenseBlock3Params, DenseBlock4Params } from './types';\n\nexport function extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings);\n const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings);\n\n function extractDenseBlock3Params(channelsIn: number, channelsOut: number, mappedPrefix: string, isFirstLayer = false): DenseBlock3Params {\n const conv0 = isFirstLayer\n ? extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv0`)\n : extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/conv0`);\n const conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv1`);\n const conv2 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv2`);\n\n return { conv0, conv1, conv2 };\n }\n\n function extractDenseBlock4Params(channelsIn: number, channelsOut: number, mappedPrefix: string, isFirstLayer = false): DenseBlock4Params {\n const { conv0, conv1, conv2 } = extractDenseBlock3Params(channelsIn, channelsOut, mappedPrefix, isFirstLayer);\n const conv3 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv3`);\n\n return {\n conv0, conv1, conv2, conv3,\n };\n }\n\n return {\n extractDenseBlock3Params,\n extractDenseBlock4Params,\n };\n}\n", "import { extractWeightsFactory, ParamMapping } from '../common/index';\nimport { extractorsFactory } from './extractorsFactory';\nimport { FaceFeatureExtractorParams } from './types';\n\nexport function extractParams(weights: Float32Array): { params: FaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const {\n extractDenseBlock4Params,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const dense0 = extractDenseBlock4Params(3, 32, 'dense0', true);\n const dense1 = extractDenseBlock4Params(32, 64, 'dense1');\n const dense2 = extractDenseBlock4Params(64, 128, 'dense2');\n const dense3 = extractDenseBlock4Params(128, 256, 'dense3');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: {\n dense0, dense1, dense2, dense3,\n },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams } from './types';\n\n// eslint-disable-next-line no-unused-vars\nexport function loadConvParamsFactory(extractWeightEntry: (originalPath: string, paramRank: number) => T) {\n return (prefix: string): ConvParams => {\n const filters = extractWeightEntry(`${prefix}/filters`, 4);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n\n return { filters, bias };\n };\n}\n", "import { extractWeightEntryFactory, loadSeparableConvParamsFactory, ParamMapping } from '../common/index';\nimport { loadConvParamsFactory } from '../common/loadConvParamsFactory';\nimport { DenseBlock3Params, DenseBlock4Params } from './types';\n\nexport function loadParamsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n const extractConvParams = loadConvParamsFactory(extractWeightEntry);\n const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry);\n\n function extractDenseBlock3Params(prefix: string, isFirstLayer = false): DenseBlock3Params {\n const conv0 = isFirstLayer\n ? extractConvParams(`${prefix}/conv0`)\n : extractSeparableConvParams(`${prefix}/conv0`);\n const conv1 = extractSeparableConvParams(`${prefix}/conv1`);\n const conv2 = extractSeparableConvParams(`${prefix}/conv2`);\n\n return { conv0, conv1, conv2 };\n }\n\n function extractDenseBlock4Params(prefix: string, isFirstLayer = false): DenseBlock4Params {\n const conv0 = isFirstLayer\n ? extractConvParams(`${prefix}/conv0`)\n : extractSeparableConvParams(`${prefix}/conv0`);\n const conv1 = extractSeparableConvParams(`${prefix}/conv1`);\n const conv2 = extractSeparableConvParams(`${prefix}/conv2`);\n const conv3 = extractSeparableConvParams(`${prefix}/conv3`);\n\n return {\n conv0, conv1, conv2, conv3,\n };\n }\n\n return {\n extractDenseBlock3Params,\n extractDenseBlock4Params,\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, ParamMapping } from '../common/index';\nimport { loadParamsFactory } from './loadParamsFactory';\nimport { FaceFeatureExtractorParams } from './types';\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: FaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractDenseBlock4Params,\n } = loadParamsFactory(weightMap, paramMappings);\n\n const params = {\n dense0: extractDenseBlock4Params('dense0', true),\n dense1: extractDenseBlock4Params('dense1'),\n dense2: extractDenseBlock4Params('dense2'),\n dense3: extractDenseBlock4Params('dense3'),\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { denseBlock4 } from './denseBlock';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { FaceFeatureExtractorParams, IFaceFeatureExtractor } from './types';\n\nexport class FaceFeatureExtractor extends NeuralNetwork implements IFaceFeatureExtractor {\n constructor() {\n super('FaceFeatureExtractor');\n }\n\n public forwardInput(input: NetInput): tf.Tensor4D {\n const { params } = this;\n\n if (!params) {\n throw new Error('FaceFeatureExtractor - load model before inference');\n }\n\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(112, true), 'float32');\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n\n let out = denseBlock4(normalized, params.dense0, true);\n out = denseBlock4(out, params.dense1);\n out = denseBlock4(out, params.dense2);\n out = denseBlock4(out, params.dense3);\n out = tf.avgPool(out, [7, 7], [2, 2], 'valid');\n\n return out;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n protected getDefaultModelName(): string {\n return 'face_feature_extractor_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FCParams } from './types';\n\nexport function fullyConnectedLayer(\n x: tf.Tensor2D,\n params: FCParams,\n): tf.Tensor2D {\n return tf.tidy(() => tf.add(\n tf.matMul(x, params.weights),\n params.bias,\n ));\n}\n", "import { extractFCParamsFactory, extractWeightsFactory, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParams(weights: Float32Array, channelsIn: number, channelsOut: number): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings);\n\n const fc = extractFCParams(channelsIn, channelsOut, 'fc');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { fc },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, FCParams, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractFcParams(prefix: string): FCParams {\n const weights = extractWeightEntry(`${prefix}/weights`, 2);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n return { weights, bias };\n }\n\n const params = {\n fc: extractFcParams('fc'),\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nexport function seperateWeightMaps(weightMap: tf.NamedTensorMap) {\n const featureExtractorMap: tf.NamedTensorMap = {};\n const classifierMap: tf.NamedTensorMap = {};\n\n Object.keys(weightMap).forEach((key) => {\n const map = key.startsWith('fc') ? classifierMap : featureExtractorMap;\n map[key] = weightMap[key];\n });\n\n return { featureExtractorMap, classifierMap };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { fullyConnectedLayer } from '../common/fullyConnectedLayer';\nimport { NetInput } from '../dom/index';\nimport { FaceFeatureExtractorParams, IFaceFeatureExtractor, TinyFaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { NetParams } from './types';\nimport { seperateWeightMaps } from './util';\n\nexport abstract class FaceProcessor<\n TExtractorParams extends FaceFeatureExtractorParams | TinyFaceFeatureExtractorParams\n>\n extends NeuralNetwork {\n protected _faceFeatureExtractor: IFaceFeatureExtractor;\n\n constructor(_name: string, faceFeatureExtractor: IFaceFeatureExtractor) {\n super(_name);\n this._faceFeatureExtractor = faceFeatureExtractor;\n }\n\n public get faceFeatureExtractor(): IFaceFeatureExtractor {\n return this._faceFeatureExtractor;\n }\n\n protected abstract override getDefaultModelName(): string\n\n protected abstract getClassifierChannelsIn(): number\n\n protected abstract getClassifierChannelsOut(): number\n\n public runNet(input: NetInput | tf.Tensor4D): tf.Tensor2D {\n const { params } = this;\n\n if (!params) {\n throw new Error(`${this._name} - load model before inference`);\n }\n\n return tf.tidy(() => {\n const bottleneckFeatures = input instanceof NetInput\n ? this.faceFeatureExtractor.forwardInput(input)\n : input;\n return fullyConnectedLayer(bottleneckFeatures.as2D(bottleneckFeatures.shape[0], -1), params.fc);\n });\n }\n\n public override dispose(throwOnRedispose = true) {\n this.faceFeatureExtractor.dispose(throwOnRedispose);\n super.dispose(throwOnRedispose);\n }\n\n public loadClassifierParams(weights: Float32Array) {\n const { params, paramMappings } = this.extractClassifierParams(weights);\n this._params = params;\n this._paramMappings = paramMappings;\n }\n\n public extractClassifierParams(weights: Float32Array) {\n return extractParams(weights, this.getClassifierChannelsIn(), this.getClassifierChannelsOut());\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n const { featureExtractorMap, classifierMap } = seperateWeightMaps(weightMap);\n\n this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap);\n\n return extractParamsFromWeightMap(classifierMap);\n }\n\n protected extractParams(weights: Float32Array) {\n const cIn = this.getClassifierChannelsIn();\n const cOut = this.getClassifierChannelsOut();\n const classifierWeightSize = (cOut * cIn) + cOut;\n\n const featureExtractorWeights = weights.slice(0, weights.length - classifierWeightSize);\n const classifierWeights = weights.slice(weights.length - classifierWeightSize);\n\n this.faceFeatureExtractor.extractWeights(featureExtractorWeights);\n return this.extractClassifierParams(classifierWeights);\n }\n}\n", "export const FACE_EXPRESSION_LABELS = ['neutral', 'happy', 'sad', 'angry', 'fearful', 'disgusted', 'surprised'] as const;\n\nexport class FaceExpressions {\n public neutral = 0;\n public happy = 0;\n public sad = 0;\n public angry = 0;\n public fearful = 0;\n public disgusted = 0;\n public surprised = 0;\n\n constructor(probabilities: number[] | Float32Array) {\n if (probabilities.length !== 7) {\n throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${probabilities.length}`);\n }\n\n FACE_EXPRESSION_LABELS.forEach((expression, idx) => {\n this[expression] = probabilities[idx];\n });\n }\n\n asSortedArray() {\n return FACE_EXPRESSION_LABELS\n .map((expression) => ({ expression, probability: this[expression] as number }))\n .sort((e0, e1) => e1.probability - e0.probability);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { FaceFeatureExtractor } from '../faceFeatureExtractor/FaceFeatureExtractor';\nimport { FaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceProcessor } from '../faceProcessor/FaceProcessor';\nimport { FaceExpressions } from './FaceExpressions';\n\nexport class FaceExpressionNet extends FaceProcessor {\n constructor(faceFeatureExtractor: FaceFeatureExtractor = new FaceFeatureExtractor()) {\n super('FaceExpressionNet', faceFeatureExtractor);\n }\n\n public forwardInput(input: NetInput | tf.Tensor4D): tf.Tensor2D {\n return tf.tidy(() => tf.softmax(this.runNet(input)));\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async predictExpressions(input: TNetInput) {\n const netInput = await toNetInput(input);\n const out = await this.forwardInput(netInput);\n const probabilitesByBatch = await Promise.all(tf.unstack(out).map(async (t) => {\n const data = t.dataSync();\n t.dispose();\n return data;\n }));\n out.dispose();\n\n const predictionsByBatch = probabilitesByBatch\n .map((probabilites) => new FaceExpressions(probabilites as Float32Array));\n\n return netInput.isBatchInput\n ? predictionsByBatch\n : predictionsByBatch[0];\n }\n\n protected getDefaultModelName(): string {\n return 'face_expression_model';\n }\n\n protected getClassifierChannelsIn(): number {\n return 256;\n }\n\n protected getClassifierChannelsOut(): number {\n return 7;\n }\n}\n", "import { FaceExpressions } from '../faceExpressionNet/FaceExpressions';\n\nexport type WithFaceExpressions = TSource & { expressions: FaceExpressions }\n\nexport function isWithFaceExpressions(obj: any): obj is WithFaceExpressions<{}> {\n return obj.expressions instanceof FaceExpressions;\n}\n\nexport function extendWithFaceExpressions(sourceObj: TSource, expressions: FaceExpressions): WithFaceExpressions {\n const extension = { expressions };\n return { ...sourceObj, ...extension };\n}\n", "import { IPoint, Point } from '../classes/index';\nimport { FaceExpressions } from '../faceExpressionNet/index';\nimport { isWithFaceDetection } from '../factories/WithFaceDetection';\nimport { isWithFaceExpressions, WithFaceExpressions } from '../factories/WithFaceExpressions';\nimport { round } from '../utils/index';\nimport { DrawTextField } from './DrawTextField';\n\nexport type DrawFaceExpressionsInput = FaceExpressions | WithFaceExpressions<{}>\n\nexport function drawFaceExpressions(canvasArg: string | HTMLCanvasElement, faceExpressions: DrawFaceExpressionsInput | Array, minConfidence = 0.1, textFieldAnchor?: IPoint) {\n const faceExpressionsArray = Array.isArray(faceExpressions) ? faceExpressions : [faceExpressions];\n\n faceExpressionsArray.forEach((e) => {\n // eslint-disable-next-line no-nested-ternary\n const expr = e instanceof FaceExpressions\n ? e\n : (isWithFaceExpressions(e) ? e.expressions : undefined);\n if (!expr) {\n throw new Error('drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof');\n }\n\n const sorted = expr.asSortedArray();\n const resultsToDisplay = sorted.filter((exprLocal) => exprLocal.probability > minConfidence);\n\n const anchor = isWithFaceDetection(e)\n ? e.detection.box.bottomLeft\n : (textFieldAnchor || new Point(0, 0));\n\n const drawTextField = new DrawTextField(\n resultsToDisplay.map((exprLocal) => `${exprLocal.expression} (${round(exprLocal.probability)})`),\n anchor,\n );\n drawTextField.draw(canvasArg);\n });\n}\n", "import { Point } from '../classes';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { FaceLandmarks } from '../classes/FaceLandmarks';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { isWithFaceDetection, WithFaceDetection } from './WithFaceDetection';\n\nexport type WithFaceLandmarks<\n TSource extends WithFaceDetection<{}>,\n TFaceLandmarks extends FaceLandmarks = FaceLandmarks68\n> = TSource & {\n landmarks: TFaceLandmarks;\n unshiftedLandmarks: TFaceLandmarks;\n alignedRect: FaceDetection;\n angle: {\n roll: number | undefined;\n pitch: number | undefined;\n yaw: number | undefined;\n };\n};\n\nexport function isWithFaceLandmarks(\n obj: any,\n): obj is WithFaceLandmarks, FaceLandmarks> {\n return (\n isWithFaceDetection(obj)\n && (obj as any)['landmarks'] instanceof FaceLandmarks\n && (obj as any)['unshiftedLandmarks'] instanceof FaceLandmarks\n && (obj as any)['alignedRect'] instanceof FaceDetection\n );\n}\n\nfunction calculateFaceAngle(mesh: FaceLandmarks) {\n // Helper to convert radians to degrees\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n const degrees = (radians: number) => (radians * 180) / Math.PI;\n const calcLengthBetweenTwoPoints = (a: Point, b: Point) => Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2);\n\n const angle = {\n roll: undefined,\n pitch: undefined,\n yaw: undefined,\n };\n\n const calcYaw = (leftPoint: Point, midPoint: Point, rightPoint: Point) => {\n // Calc x-distance from left side of the face (\"ear\") to facial midpoint (\"nose\")\n const leftToMidpoint = Math.floor(leftPoint.x - midPoint.x);\n // Calc x-distance from facial midpoint (\"nose\") to the right side of the face (\"ear\")\n const rightToMidpoint = Math.floor(midPoint.x - rightPoint.x);\n // Difference in distances coincidentally approximates to angles\n return leftToMidpoint - rightToMidpoint;\n };\n\n const calcRoll = (lever: Point, pivot: Point) => {\n // When rolling, the head seems to pivot from the nose/lips/chin area.\n // So, we'll choose any two points from the facial midline, where the first point should be the pivot, and the other \"lever\"\n // Plan/Execution: get the hypotenuse & opposite sides of a 90deg triangle ==> Calculate angle in radians\n const hypotenuse = Math.hypot(pivot.x - lever.x, pivot.y - lever.y);\n const opposite = pivot.y - lever.y;\n const angleInRadians = Math.asin(opposite / hypotenuse);\n const angleInDegrees = degrees(angleInRadians);\n const normalizeAngle = Math.floor(90 - angleInDegrees);\n // If lever more to the left of the pivot, then we're tilting left\n // \"-\" is negative direction. \"+\", or absence of a sign is positive direction\n const tiltDirection = pivot.x - lever.x < 0 ? -1 : 1;\n const result = normalizeAngle * tiltDirection;\n return result;\n };\n\n const calcPitch = (leftPoint: Point, midPoint: Point, rightPoint: Point) => {\n // Theory: While pitching, the nose is the most salient point --> That's what we'll use to make a trianle.\n // The \"base\" is between point that don't move when we pitch our head (i.e. an imaginary line running ear to ear through the nose).\n // Executuin: Get the opposite & adjacent lengths of the triangle from the ear's perspective. Use it to get angle.\n\n const base = calcLengthBetweenTwoPoints(leftPoint, rightPoint);\n // adjecent is base/2 technically.\n const baseCoords = new Point((leftPoint.x + rightPoint.x) / 2, (leftPoint.y + rightPoint.y) / 2);\n const midToBaseLength = calcLengthBetweenTwoPoints(midPoint, baseCoords);\n const angleInRadians = Math.atan(midToBaseLength / base);\n const angleInDegrees = Math.floor(degrees(angleInRadians));\n // Account for directionality.\n // pitch forwards (_i.e. tilting your head forwards) is positive (or no sign); backward is negative.\n const direction = baseCoords.y - midPoint.y < 0 ? -1 : 1;\n const result = angleInDegrees * direction;\n return result;\n };\n\n if (!mesh || !mesh.positions || mesh.positions.length !== 68) return angle;\n const pt = mesh.positions;\n angle.roll = calcRoll(pt[27], pt[66]);\n angle.pitch = calcPitch(pt[14], pt[30], pt[2]);\n angle.yaw = calcYaw(pt[14], pt[33], pt[2]);\n return angle;\n}\n\nexport function extendWithFaceLandmarks, TFaceLandmarks extends FaceLandmarks = FaceLandmarks68>(\n sourceObj: TSource,\n unshiftedLandmarks: TFaceLandmarks,\n): WithFaceLandmarks {\n const { box: shift } = sourceObj.detection;\n const landmarks = unshiftedLandmarks.shiftBy(shift.x, shift.y);\n const rect = landmarks.align();\n const { imageDims } = sourceObj.detection;\n const alignedRect = new FaceDetection(\n sourceObj.detection.score,\n rect.rescale(imageDims.reverse()),\n imageDims,\n );\n const angle = calculateFaceAngle(unshiftedLandmarks);\n const extension = { landmarks, unshiftedLandmarks, alignedRect, angle };\n return { ...sourceObj, ...extension };\n}\n", "/* eslint-disable max-classes-per-file */\nimport { IPoint } from '../classes/index';\nimport { FaceLandmarks } from '../classes/FaceLandmarks';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { getContext2dOrThrow } from '../dom/getContext2dOrThrow';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { isWithFaceLandmarks, WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { drawContour } from './drawContour';\n\nexport interface IDrawFaceLandmarksOptions {\n drawLines?: boolean\n drawPoints?: boolean\n lineWidth?: number\n pointSize?: number\n lineColor?: string\n pointColor?: string\n}\n\nexport class DrawFaceLandmarksOptions {\n public drawLines: boolean;\n\n public drawPoints: boolean;\n\n public lineWidth: number;\n\n public pointSize: number;\n\n public lineColor: string;\n\n public pointColor: string;\n\n constructor(options: IDrawFaceLandmarksOptions = {}) {\n const {\n drawLines = true, drawPoints = true, lineWidth, lineColor, pointSize, pointColor,\n } = options;\n this.drawLines = drawLines;\n this.drawPoints = drawPoints;\n this.lineWidth = lineWidth || 1;\n this.pointSize = pointSize || 2;\n this.lineColor = lineColor || 'rgba(0, 255, 255, 1)';\n this.pointColor = pointColor || 'rgba(255, 0, 255, 1)';\n }\n}\n\nexport class DrawFaceLandmarks {\n public faceLandmarks: FaceLandmarks;\n\n public options: DrawFaceLandmarksOptions;\n\n constructor(\n faceLandmarks: FaceLandmarks,\n options: IDrawFaceLandmarksOptions = {},\n ) {\n this.faceLandmarks = faceLandmarks;\n this.options = new DrawFaceLandmarksOptions(options);\n }\n\n draw(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D) {\n const ctx = getContext2dOrThrow(canvasArg);\n\n const {\n drawLines, drawPoints, lineWidth, lineColor, pointSize, pointColor,\n } = this.options;\n\n if (drawLines && this.faceLandmarks instanceof FaceLandmarks68) {\n ctx.strokeStyle = lineColor;\n ctx.lineWidth = lineWidth;\n drawContour(ctx, this.faceLandmarks.getJawOutline());\n drawContour(ctx, this.faceLandmarks.getLeftEyeBrow());\n drawContour(ctx, this.faceLandmarks.getRightEyeBrow());\n drawContour(ctx, this.faceLandmarks.getNose());\n drawContour(ctx, this.faceLandmarks.getLeftEye(), true);\n drawContour(ctx, this.faceLandmarks.getRightEye(), true);\n drawContour(ctx, this.faceLandmarks.getMouth(), true);\n }\n\n if (drawPoints) {\n ctx.strokeStyle = pointColor;\n ctx.fillStyle = pointColor;\n\n const drawPoint = (pt: IPoint) => {\n ctx.beginPath();\n ctx.arc(pt.x, pt.y, pointSize, 0, 2 * Math.PI);\n ctx.fill();\n };\n this.faceLandmarks.positions.forEach(drawPoint);\n }\n }\n}\n\nexport type DrawFaceLandmarksInput = FaceLandmarks | WithFaceLandmarks>\n\nexport function drawFaceLandmarks(\n canvasArg: string | HTMLCanvasElement,\n faceLandmarks: DrawFaceLandmarksInput | Array,\n) {\n const faceLandmarksArray = Array.isArray(faceLandmarks) ? faceLandmarks : [faceLandmarks];\n faceLandmarksArray.forEach((f) => {\n // eslint-disable-next-line no-nested-ternary\n const landmarks = f instanceof FaceLandmarks\n ? f\n : (isWithFaceLandmarks(f) ? f.landmarks : undefined);\n if (!landmarks) {\n throw new Error('drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof');\n }\n\n new DrawFaceLandmarks(landmarks).draw(canvasArg);\n });\n}\n", "{\n \"name\": \"@vladmandic/face-api\",\n \"version\": \"1.7.13\",\n \"description\": \"FaceAPI: AI-powered Face Detection & Rotation Tracking, Face Description & Recognition, Age & Gender & Emotion Prediction for Browser and NodeJS using TensorFlow/JS\",\n \"sideEffects\": false,\n \"main\": \"dist/face-api.node.js\",\n \"module\": \"dist/face-api.esm.js\",\n \"browser\": \"dist/face-api.esm.js\",\n \"types\": \"types/face-api.d.ts\",\n \"author\": \"Vladimir Mandic \",\n \"bugs\": {\n \"url\": \"https://github.com/vladmandic/face-api/issues\"\n },\n \"homepage\": \"https://vladmandic.github.io/face-api/demo/webcam.html\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/vladmandic/face-api.git\"\n },\n \"scripts\": {\n \"start\": \"node --no-warnings demo/node.js\",\n \"build\": \"node build.js\",\n \"dev\": \"build --profile development\",\n \"typings\": \"build --profile typings\",\n \"lint\": \"eslint src/ demo/\",\n \"test\": \"node --trace-warnings test/test-node.js\",\n \"scan\": \"npx auditjs@latest ossi --dev --quiet\"\n },\n \"keywords\": [\n \"face-api\",\n \"faceapi\",\n \"face-detection\",\n \"age-gender\",\n \"emotion-detection\",\n \"face-recognition\",\n \"face\",\n \"face-description\",\n \"tensorflow\",\n \"tensorflowjs\",\n \"tfjs\"\n ],\n \"devDependencies\": {\n \"@canvas/image\": \"^2.0.0\",\n \"@microsoft/api-extractor\": \"^7.39.1\",\n \"@tensorflow/tfjs\": \"^4.16.0\",\n \"@tensorflow/tfjs-backend-cpu\": \"^4.16.0\",\n \"@tensorflow/tfjs-backend-wasm\": \"^4.16.0\",\n \"@tensorflow/tfjs-backend-webgl\": \"^4.16.0\",\n \"@tensorflow/tfjs-backend-webgpu\": \"4.16.0\",\n \"@tensorflow/tfjs-converter\": \"^4.16.0\",\n \"@tensorflow/tfjs-core\": \"^4.16.0\",\n \"@tensorflow/tfjs-data\": \"^4.16.0\",\n \"@tensorflow/tfjs-layers\": \"^4.16.0\",\n \"@tensorflow/tfjs-node\": \"^4.16.0\",\n \"@tensorflow/tfjs-node-gpu\": \"^4.16.0\",\n \"@types/node\": \"^20.11.5\",\n \"@types/offscreencanvas\": \"^2019.7.3\",\n \"@typescript-eslint/eslint-plugin\": \"^6.19.0\",\n \"@typescript-eslint/parser\": \"^6.19.0\",\n \"@vladmandic/build\": \"^0.9.3\",\n \"@vladmandic/pilogger\": \"^0.4.9\",\n \"esbuild\": \"^0.19.11\",\n \"eslint\": \"^8.56.0\",\n \"eslint-config-airbnb-base\": \"^15.0.0\",\n \"eslint-plugin-import\": \"^2.29.1\",\n \"eslint-plugin-json\": \"^3.1.0\",\n \"eslint-plugin-node\": \"^11.1.0\",\n \"eslint-plugin-promise\": \"^6.1.1\",\n \"node-fetch\": \"^3.3.2\",\n \"rimraf\": \"^5.0.5\",\n \"seedrandom\": \"^3.0.5\",\n \"tslib\": \"^2.6.2\",\n \"typedoc\": \"^0.25.7\",\n \"typescript\": \"5.3.3\"\n }\n}\n", "import { extractConvParamsFactory, extractSeparableConvParamsFactory, extractWeightsFactory } from '../common/index';\nimport { ExtractWeightsFunction, ParamMapping } from '../common/types';\nimport { range } from '../utils/index';\nimport { MainBlockParams, ReductionBlockParams, TinyXceptionParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings);\n const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings);\n\n function extractReductionBlockParams(channelsIn: number, channelsOut: number, mappedPrefix: string): ReductionBlockParams {\n const separable_conv0 = extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/separable_conv1`);\n const expansion_conv = extractConvParams(channelsIn, channelsOut, 1, `${mappedPrefix}/expansion_conv`);\n\n return { separable_conv0, separable_conv1, expansion_conv };\n }\n\n function extractMainBlockParams(channels: number, mappedPrefix: string): MainBlockParams {\n const separable_conv0 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv1`);\n const separable_conv2 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv2`);\n\n return { separable_conv0, separable_conv1, separable_conv2 };\n }\n\n return {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n };\n}\n\nexport function extractParams(weights: Float32Array, numMainBlocks: number): { params: TinyXceptionParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const entry_flow_conv_in = extractConvParams(3, 32, 3, 'entry_flow/conv_in');\n const entry_flow_reduction_block_0 = extractReductionBlockParams(32, 64, 'entry_flow/reduction_block_0');\n const entry_flow_reduction_block_1 = extractReductionBlockParams(64, 128, 'entry_flow/reduction_block_1');\n\n const entry_flow = {\n conv_in: entry_flow_conv_in,\n reduction_block_0: entry_flow_reduction_block_0,\n reduction_block_1: entry_flow_reduction_block_1,\n };\n\n const middle_flow: Record<`main_block_${number}`, MainBlockParams> = {};\n range(numMainBlocks, 0, 1).forEach((idx) => {\n middle_flow[`main_block_${idx}`] = extractMainBlockParams(128, `middle_flow/main_block_${idx}`);\n });\n\n const exit_flow_reduction_block = extractReductionBlockParams(128, 256, 'exit_flow/reduction_block');\n const exit_flow_separable_conv = extractSeparableConvParams(256, 512, 'exit_flow/separable_conv');\n\n const exit_flow = {\n reduction_block: exit_flow_reduction_block,\n separable_conv: exit_flow_separable_conv,\n };\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { entry_flow, middle_flow, exit_flow },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, loadSeparableConvParamsFactory, ParamMapping } from '../common/index';\nimport { loadConvParamsFactory } from '../common/loadConvParamsFactory';\nimport { range } from '../utils/index';\nimport { MainBlockParams, ReductionBlockParams, TinyXceptionParams } from './types';\n\nfunction loadParamsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n const extractConvParams = loadConvParamsFactory(extractWeightEntry);\n const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry);\n\n function extractReductionBlockParams(mappedPrefix: string): ReductionBlockParams {\n const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`);\n const expansion_conv = extractConvParams(`${mappedPrefix}/expansion_conv`);\n\n return { separable_conv0, separable_conv1, expansion_conv };\n }\n\n function extractMainBlockParams(mappedPrefix: string): MainBlockParams {\n const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`);\n const separable_conv2 = extractSeparableConvParams(`${mappedPrefix}/separable_conv2`);\n\n return { separable_conv0, separable_conv1, separable_conv2 };\n }\n\n return {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n numMainBlocks: number,\n): { params: TinyXceptionParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n } = loadParamsFactory(weightMap, paramMappings);\n\n const entry_flow_conv_in = extractConvParams('entry_flow/conv_in');\n const entry_flow_reduction_block_0 = extractReductionBlockParams('entry_flow/reduction_block_0');\n const entry_flow_reduction_block_1 = extractReductionBlockParams('entry_flow/reduction_block_1');\n\n const entry_flow = {\n conv_in: entry_flow_conv_in,\n reduction_block_0: entry_flow_reduction_block_0,\n reduction_block_1: entry_flow_reduction_block_1,\n };\n\n const middle_flow: Record<`main_block_${number}`, MainBlockParams> = {};\n range(numMainBlocks, 0, 1).forEach((idx) => {\n middle_flow[`main_block_${idx}`] = extractMainBlockParams(`middle_flow/main_block_${idx}`);\n });\n\n const exit_flow_reduction_block = extractReductionBlockParams('exit_flow/reduction_block');\n const exit_flow_separable_conv = extractSeparableConvParams('exit_flow/separable_conv');\n\n const exit_flow = {\n reduction_block: exit_flow_reduction_block,\n separable_conv: exit_flow_separable_conv,\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params: { entry_flow, middle_flow, exit_flow }, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, depthwiseSeparableConv } from '../common/index';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { range } from '../utils/index';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { MainBlockParams, ReductionBlockParams, TinyXceptionParams } from './types';\n\nfunction conv(x: tf.Tensor4D, params: ConvParams, stride: [number, number]): tf.Tensor4D {\n return tf.add(tf.conv2d(x, params.filters, stride, 'same'), params.bias);\n}\n\nfunction reductionBlock(x: tf.Tensor4D, params: ReductionBlockParams, isActivateInput = true): tf.Tensor4D {\n let out = isActivateInput ? tf.relu(x) : x;\n out = depthwiseSeparableConv(out, params.separable_conv0, [1, 1]);\n out = depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]);\n out = tf.maxPool(out, [3, 3], [2, 2], 'same');\n out = tf.add(out, conv(x, params.expansion_conv, [2, 2]));\n return out;\n}\n\nfunction mainBlock(x: tf.Tensor4D, params: MainBlockParams): tf.Tensor4D {\n let out = depthwiseSeparableConv(tf.relu(x), params.separable_conv0, [1, 1]);\n out = depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]);\n out = depthwiseSeparableConv(tf.relu(out), params.separable_conv2, [1, 1]);\n out = tf.add(out, x);\n return out;\n}\n\nexport class TinyXception extends NeuralNetwork {\n private _numMainBlocks: number;\n\n constructor(numMainBlocks: number) {\n super('TinyXception');\n this._numMainBlocks = numMainBlocks;\n }\n\n public forwardInput(input: NetInput): tf.Tensor4D {\n const { params } = this;\n if (!params) {\n throw new Error('TinyXception - load model before inference');\n }\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(112, true), 'float32');\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n let out = tf.relu(conv(normalized, params.entry_flow.conv_in, [2, 2]));\n out = reductionBlock(out, params.entry_flow.reduction_block_0, false);\n out = reductionBlock(out, params.entry_flow.reduction_block_1);\n range(this._numMainBlocks, 0, 1).forEach((idx) => {\n out = mainBlock(out, params.middle_flow[`main_block_${idx}`]);\n });\n out = reductionBlock(out, params.exit_flow.reduction_block);\n out = tf.relu(depthwiseSeparableConv(out, params.exit_flow.separable_conv, [1, 1]));\n return out;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n protected getDefaultModelName(): string {\n return 'tiny_xception_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap, this._numMainBlocks);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights, this._numMainBlocks);\n }\n}\n", "import { extractFCParamsFactory, extractWeightsFactory, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings);\n\n const age = extractFCParams(512, 1, 'fc/age');\n const gender = extractFCParams(512, 2, 'fc/gender');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { fc: { age, gender } },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, FCParams, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractFcParams(prefix: string): FCParams {\n const weights = extractWeightEntry(`${prefix}/weights`, 2);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n return { weights, bias };\n }\n\n const params = {\n fc: {\n age: extractFcParams('fc/age'),\n gender: extractFcParams('fc/gender'),\n },\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FCParams } from '../common/index';\n\n// eslint-disable-next-line no-shadow\nexport enum Gender {\n // eslint-disable-next-line no-unused-vars\n FEMALE = 'female',\n // eslint-disable-next-line no-unused-vars\n MALE = 'male'\n}\n\nexport type AgeAndGenderPrediction = {\n age: number\n gender: Gender\n genderProbability: number\n}\n\nexport type NetOutput = { age: tf.Tensor1D, gender: tf.Tensor2D }\n\nexport type NetParams = {\n fc: {\n age: FCParams\n gender: FCParams\n }\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport { fullyConnectedLayer } from '../common/fullyConnectedLayer';\nimport { seperateWeightMaps } from '../faceProcessor/util';\nimport { TinyXception } from '../xception/TinyXception';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { AgeAndGenderPrediction, Gender, NetOutput, NetParams } from './types';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\n\nexport class AgeGenderNet extends NeuralNetwork {\n private _faceFeatureExtractor: TinyXception;\n\n constructor(faceFeatureExtractor: TinyXception = new TinyXception(2)) {\n super('AgeGenderNet');\n this._faceFeatureExtractor = faceFeatureExtractor;\n }\n\n public get faceFeatureExtractor(): TinyXception {\n return this._faceFeatureExtractor;\n }\n\n public runNet(input: NetInput | tf.Tensor4D): NetOutput {\n const { params } = this;\n\n if (!params) {\n throw new Error(`${this._name} - load model before inference`);\n }\n\n return tf.tidy(() => {\n const bottleneckFeatures = input instanceof NetInput\n ? this.faceFeatureExtractor.forwardInput(input)\n : input;\n\n const pooled = tf.avgPool(bottleneckFeatures, [7, 7], [2, 2], 'valid').as2D(bottleneckFeatures.shape[0], -1);\n const age = fullyConnectedLayer(pooled, params.fc.age).as1D();\n const gender = fullyConnectedLayer(pooled, params.fc.gender);\n return { age, gender };\n });\n }\n\n public forwardInput(input: NetInput | tf.Tensor4D): NetOutput {\n return tf.tidy(() => {\n const { age, gender } = this.runNet(input);\n return { age, gender: tf.softmax(gender) };\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async predictAgeAndGender(input: TNetInput): Promise {\n const netInput = await toNetInput(input);\n const out = await this.forwardInput(netInput);\n\n const ages = tf.unstack(out.age);\n const genders = tf.unstack(out.gender);\n const ageAndGenderTensors = ages.map((ageTensor, i) => ({\n ageTensor,\n genderTensor: genders[i],\n }));\n\n const predictionsByBatch = await Promise.all(\n ageAndGenderTensors.map(async ({ ageTensor, genderTensor }) => {\n const age = (ageTensor.dataSync())[0];\n const probMale = (genderTensor.dataSync())[0];\n const isMale = probMale > 0.5;\n const gender = isMale ? Gender.MALE : Gender.FEMALE;\n const genderProbability = isMale ? probMale : (1 - probMale);\n\n ageTensor.dispose();\n genderTensor.dispose();\n return { age, gender, genderProbability };\n }),\n );\n out.age.dispose();\n out.gender.dispose();\n\n return netInput.isBatchInput ? predictionsByBatch as AgeAndGenderPrediction[] : predictionsByBatch[0] as AgeAndGenderPrediction;\n }\n\n protected getDefaultModelName(): string {\n return 'age_gender_model';\n }\n\n public override dispose(throwOnRedispose = true) {\n this.faceFeatureExtractor.dispose(throwOnRedispose);\n super.dispose(throwOnRedispose);\n }\n\n public loadClassifierParams(weights: Float32Array) {\n const { params, paramMappings } = this.extractClassifierParams(weights);\n this._params = params;\n this._paramMappings = paramMappings;\n }\n\n public extractClassifierParams(weights: Float32Array) {\n return extractParams(weights);\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n const { featureExtractorMap, classifierMap } = seperateWeightMaps(weightMap);\n\n this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap);\n\n return extractParamsFromWeightMap(classifierMap);\n }\n\n protected extractParams(weights: Float32Array) {\n const classifierWeightSize = (512 * 1 + 1) + (512 * 2 + 2);\n\n const featureExtractorWeights = weights.slice(0, weights.length - classifierWeightSize);\n const classifierWeights = weights.slice(weights.length - classifierWeightSize);\n\n this.faceFeatureExtractor.extractWeights(featureExtractorWeights);\n return this.extractClassifierParams(classifierWeights);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { IDimensions, Point } from '../classes/index';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { FaceFeatureExtractorParams, TinyFaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceProcessor } from '../faceProcessor/FaceProcessor';\nimport { isEven } from '../utils/index';\n\nexport abstract class FaceLandmark68NetBase<\n TExtractorParams extends FaceFeatureExtractorParams | TinyFaceFeatureExtractorParams\n>\n extends FaceProcessor {\n public postProcess(output: tf.Tensor2D, inputSize: number, originalDimensions: IDimensions[]): tf.Tensor2D {\n const inputDimensions = originalDimensions.map(({ width, height }) => {\n const scale = inputSize / Math.max(height, width);\n return {\n width: width * scale,\n height: height * scale,\n };\n });\n\n const batchSize = inputDimensions.length;\n\n return tf.tidy(() => {\n const createInterleavedTensor = (fillX: number, fillY: number) => tf.stack([tf.fill([68], fillX, 'float32'), tf.fill([68], fillY, 'float32')], 1).as2D(1, 136).as1D();\n\n // eslint-disable-next-line no-unused-vars\n const getPadding = (batchIdx: number, cond: (w: number, h: number) => boolean): number => {\n const { width, height } = inputDimensions[batchIdx];\n return cond(width, height) ? Math.abs(width - height) / 2 : 0;\n };\n\n const getPaddingX = (batchIdx: number) => getPadding(batchIdx, (w, h) => w < h);\n const getPaddingY = (batchIdx: number) => getPadding(batchIdx, (w, h) => h < w);\n\n const landmarkTensors = output\n .mul(tf.fill([batchSize, 136], inputSize, 'float32'))\n .sub(tf.stack(Array.from(Array(batchSize), (_, batchIdx) => createInterleavedTensor(\n getPaddingX(batchIdx),\n getPaddingY(batchIdx),\n ))))\n .div(tf.stack(Array.from(Array(batchSize), (_, batchIdx) => createInterleavedTensor(\n inputDimensions[batchIdx].width,\n inputDimensions[batchIdx].height,\n ))));\n\n return landmarkTensors as tf.Tensor2D;\n });\n }\n\n public forwardInput(input: NetInput): tf.Tensor2D {\n return tf.tidy(() => {\n const out = this.runNet(input);\n return this.postProcess(\n out,\n input.inputSize as number,\n input.inputDimensions.map(([height, width]) => ({ height, width })),\n );\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async detectLandmarks(input: TNetInput): Promise {\n const netInput = await toNetInput(input);\n const landmarkTensors = tf.tidy(\n () => tf.unstack(this.forwardInput(netInput)),\n );\n\n const landmarksForBatch = await Promise.all(landmarkTensors.map(\n async (landmarkTensor, batchIdx) => {\n const landmarksArray = Array.from(landmarkTensor.dataSync());\n const xCoords = landmarksArray.filter((_, i) => isEven(i));\n const yCoords = landmarksArray.filter((_, i) => !isEven(i));\n\n return new FaceLandmarks68(\n Array(68).fill(0).map((_, i) => new Point(xCoords[i] as number, yCoords[i] as number)),\n {\n height: netInput.getInputHeight(batchIdx),\n width: netInput.getInputWidth(batchIdx),\n },\n );\n },\n ));\n\n landmarkTensors.forEach((t) => t.dispose());\n\n return netInput.isBatchInput ? landmarksForBatch as FaceLandmarks68[] : landmarksForBatch[0] as FaceLandmarks68;\n }\n\n protected getClassifierChannelsOut(): number {\n return 136;\n }\n}\n", "import { FaceFeatureExtractor } from '../faceFeatureExtractor/FaceFeatureExtractor';\nimport { FaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceLandmark68NetBase } from './FaceLandmark68NetBase';\n\nexport class FaceLandmark68Net extends FaceLandmark68NetBase {\n constructor(faceFeatureExtractor: FaceFeatureExtractor = new FaceFeatureExtractor()) {\n super('FaceLandmark68Net', faceFeatureExtractor);\n }\n\n protected getDefaultModelName(): string {\n return 'face_landmark_68_model';\n }\n\n protected getClassifierChannelsIn(): number {\n return 256;\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, ParamMapping } from '../common/index';\nimport { loadParamsFactory } from './loadParamsFactory';\nimport { TinyFaceFeatureExtractorParams } from './types';\n\nexport function extractParamsFromWeightMapTiny(\n weightMap: tf.NamedTensorMap,\n): { params: TinyFaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractDenseBlock3Params,\n } = loadParamsFactory(weightMap, paramMappings);\n\n const params = {\n dense0: extractDenseBlock3Params('dense0', true),\n dense1: extractDenseBlock3Params('dense1'),\n dense2: extractDenseBlock3Params('dense2'),\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import { extractWeightsFactory, ParamMapping } from '../common/index';\nimport { extractorsFactory } from './extractorsFactory';\nimport { TinyFaceFeatureExtractorParams } from './types';\n\nexport function extractParamsTiny(weights: Float32Array): { params: TinyFaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const {\n extractDenseBlock3Params,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const dense0 = extractDenseBlock3Params(3, 32, 'dense0', true);\n const dense1 = extractDenseBlock3Params(32, 64, 'dense1');\n const dense2 = extractDenseBlock3Params(64, 128, 'dense2');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { dense0, dense1, dense2 },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { denseBlock3 } from './denseBlock';\nimport { extractParamsFromWeightMapTiny } from './extractParamsFromWeightMapTiny';\nimport { extractParamsTiny } from './extractParamsTiny';\nimport { IFaceFeatureExtractor, TinyFaceFeatureExtractorParams } from './types';\n\nexport class TinyFaceFeatureExtractor extends NeuralNetwork implements IFaceFeatureExtractor {\n constructor() {\n super('TinyFaceFeatureExtractor');\n }\n\n public forwardInput(input: NetInput): tf.Tensor4D {\n const { params } = this;\n\n if (!params) {\n throw new Error('TinyFaceFeatureExtractor - load model before inference');\n }\n\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(112, true), 'float32');\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n\n let out = denseBlock3(normalized, params.dense0, true);\n out = denseBlock3(out, params.dense1);\n out = denseBlock3(out, params.dense2);\n out = tf.avgPool(out, [14, 14], [2, 2], 'valid');\n\n return out;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n protected getDefaultModelName(): string {\n return 'face_feature_extractor_tiny_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMapTiny(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParamsTiny(weights);\n }\n}\n", "import { TinyFaceFeatureExtractor } from '../faceFeatureExtractor/TinyFaceFeatureExtractor';\nimport { TinyFaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceLandmark68NetBase } from './FaceLandmark68NetBase';\n\nexport class FaceLandmark68TinyNet extends FaceLandmark68NetBase {\n constructor(faceFeatureExtractor: TinyFaceFeatureExtractor = new TinyFaceFeatureExtractor()) {\n super('FaceLandmark68TinyNet', faceFeatureExtractor);\n }\n\n protected getDefaultModelName(): string {\n return 'face_landmark_68_tiny_model';\n }\n\n protected getClassifierChannelsIn(): number {\n return 128;\n }\n}\n", "import { FaceLandmark68Net } from './FaceLandmark68Net';\n\nexport * from './FaceLandmark68Net';\nexport * from './FaceLandmark68TinyNet';\nexport class FaceLandmarkNet extends FaceLandmark68Net {}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ScaleLayerParams } from './types';\n\nexport function scale(x: tf.Tensor4D, params: ScaleLayerParams): tf.Tensor4D {\n return tf.add(tf.mul(x, params.weights), params.biases);\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { scale } from './scaleLayer';\nimport { ConvLayerParams } from './types';\n\nfunction convLayer(\n x: tf.Tensor4D,\n params: ConvLayerParams,\n strides: [number, number],\n withRelu: boolean,\n padding: 'valid' | 'same' = 'same',\n): tf.Tensor4D {\n const { filters, bias } = params.conv;\n\n let out = tf.conv2d(x, filters, strides, padding);\n out = tf.add(out, bias);\n out = scale(out, params.scale);\n return withRelu ? tf.relu(out) : out;\n}\n\nexport function conv(x: tf.Tensor4D, params: ConvLayerParams) {\n return convLayer(x, params, [1, 1], true);\n}\n\nexport function convNoRelu(x: tf.Tensor4D, params: ConvLayerParams) {\n return convLayer(x, params, [1, 1], false);\n}\n\nexport function convDown(x: tf.Tensor4D, params: ConvLayerParams) {\n return convLayer(x, params, [2, 2], true, 'valid');\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, extractWeightsFactory, ExtractWeightsFunction, ParamMapping } from '../common/index';\nimport { isFloat } from '../utils/index';\nimport { ConvLayerParams, NetParams, ResidualLayerParams, ScaleLayerParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n function extractFilterValues(numFilterValues: number, numFilters: number, filterSize: number): tf.Tensor4D {\n const weights = extractWeights(numFilterValues);\n const depth = weights.length / (numFilters * filterSize * filterSize);\n\n if (isFloat(depth)) {\n throw new Error(`depth has to be an integer: ${depth}, weights.length: ${weights.length}, numFilters: ${numFilters}, filterSize: ${filterSize}`);\n }\n\n return tf.tidy(\n () => tf.transpose(\n tf.tensor4d(weights, [numFilters, depth, filterSize, filterSize]),\n [2, 3, 1, 0],\n ),\n );\n }\n\n function extractConvParams(\n numFilterValues: number,\n numFilters: number,\n filterSize: number,\n mappedPrefix: string,\n ): ConvParams {\n const filters = extractFilterValues(numFilterValues, numFilters, filterSize);\n const bias = tf.tensor1d(extractWeights(numFilters));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return { filters, bias };\n }\n\n function extractScaleLayerParams(numWeights: number, mappedPrefix: string): ScaleLayerParams {\n const weights = tf.tensor1d(extractWeights(numWeights));\n const biases = tf.tensor1d(extractWeights(numWeights));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/weights` },\n { paramPath: `${mappedPrefix}/biases` },\n );\n\n return {\n weights,\n biases,\n };\n }\n\n function extractConvLayerParams(\n numFilterValues: number,\n numFilters: number,\n filterSize: number,\n mappedPrefix: string,\n ): ConvLayerParams {\n const conv = extractConvParams(numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv`);\n const scale = extractScaleLayerParams(numFilters, `${mappedPrefix}/scale`);\n\n return { conv, scale };\n }\n\n function extractResidualLayerParams(\n numFilterValues: number,\n numFilters: number,\n filterSize: number,\n mappedPrefix: string,\n isDown = false,\n ): ResidualLayerParams {\n const conv1 = extractConvLayerParams((isDown ? 0.5 : 1) * numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv1`);\n const conv2 = extractConvLayerParams(numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv2`);\n\n return { conv1, conv2 };\n }\n\n return {\n extractConvLayerParams,\n extractResidualLayerParams,\n };\n}\n\nexport function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvLayerParams,\n extractResidualLayerParams,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const conv32_down = extractConvLayerParams(4704, 32, 7, 'conv32_down');\n const conv32_1 = extractResidualLayerParams(9216, 32, 3, 'conv32_1');\n const conv32_2 = extractResidualLayerParams(9216, 32, 3, 'conv32_2');\n const conv32_3 = extractResidualLayerParams(9216, 32, 3, 'conv32_3');\n\n const conv64_down = extractResidualLayerParams(36864, 64, 3, 'conv64_down', true);\n const conv64_1 = extractResidualLayerParams(36864, 64, 3, 'conv64_1');\n const conv64_2 = extractResidualLayerParams(36864, 64, 3, 'conv64_2');\n const conv64_3 = extractResidualLayerParams(36864, 64, 3, 'conv64_3');\n\n const conv128_down = extractResidualLayerParams(147456, 128, 3, 'conv128_down', true);\n const conv128_1 = extractResidualLayerParams(147456, 128, 3, 'conv128_1');\n const conv128_2 = extractResidualLayerParams(147456, 128, 3, 'conv128_2');\n\n const conv256_down = extractResidualLayerParams(589824, 256, 3, 'conv256_down', true);\n const conv256_1 = extractResidualLayerParams(589824, 256, 3, 'conv256_1');\n const conv256_2 = extractResidualLayerParams(589824, 256, 3, 'conv256_2');\n const conv256_down_out = extractResidualLayerParams(589824, 256, 3, 'conv256_down_out');\n\n const fc = tf.tidy(\n () => tf.transpose(tf.tensor2d(extractWeights(256 * 128), [128, 256]), [1, 0]),\n );\n paramMappings.push({ paramPath: 'fc' });\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n const params = {\n conv32_down,\n conv32_1,\n conv32_2,\n conv32_3,\n conv64_down,\n conv64_1,\n conv64_2,\n conv64_3,\n conv128_down,\n conv128_1,\n conv128_2,\n conv256_down,\n conv256_1,\n conv256_2,\n conv256_down_out,\n fc,\n };\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, ParamMapping } from '../common/index';\nimport { isTensor2D } from '../utils/index';\nimport { ConvLayerParams, NetParams, ResidualLayerParams, ScaleLayerParams } from './types';\n\nfunction extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractScaleLayerParams(prefix: string): ScaleLayerParams {\n const weights = extractWeightEntry(`${prefix}/scale/weights`, 1);\n const biases = extractWeightEntry(`${prefix}/scale/biases`, 1);\n\n return { weights, biases };\n }\n\n function extractConvLayerParams(prefix: string): ConvLayerParams {\n const filters = extractWeightEntry(`${prefix}/conv/filters`, 4);\n const bias = extractWeightEntry(`${prefix}/conv/bias`, 1);\n const scale = extractScaleLayerParams(prefix);\n\n return { conv: { filters, bias }, scale };\n }\n\n function extractResidualLayerParams(prefix: string): ResidualLayerParams {\n return {\n conv1: extractConvLayerParams(`${prefix}/conv1`),\n conv2: extractConvLayerParams(`${prefix}/conv2`),\n };\n }\n\n return {\n extractConvLayerParams,\n extractResidualLayerParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvLayerParams,\n extractResidualLayerParams,\n } = extractorsFactory(weightMap, paramMappings);\n\n const conv32_down = extractConvLayerParams('conv32_down');\n const conv32_1 = extractResidualLayerParams('conv32_1');\n const conv32_2 = extractResidualLayerParams('conv32_2');\n const conv32_3 = extractResidualLayerParams('conv32_3');\n\n const conv64_down = extractResidualLayerParams('conv64_down');\n const conv64_1 = extractResidualLayerParams('conv64_1');\n const conv64_2 = extractResidualLayerParams('conv64_2');\n const conv64_3 = extractResidualLayerParams('conv64_3');\n\n const conv128_down = extractResidualLayerParams('conv128_down');\n const conv128_1 = extractResidualLayerParams('conv128_1');\n const conv128_2 = extractResidualLayerParams('conv128_2');\n\n const conv256_down = extractResidualLayerParams('conv256_down');\n const conv256_1 = extractResidualLayerParams('conv256_1');\n const conv256_2 = extractResidualLayerParams('conv256_2');\n const conv256_down_out = extractResidualLayerParams('conv256_down_out');\n\n const { fc } = weightMap;\n paramMappings.push({ originalPath: 'fc', paramPath: 'fc' });\n\n if (!isTensor2D(fc)) {\n throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${fc}`);\n }\n\n const params = {\n conv32_down,\n conv32_1,\n conv32_2,\n conv32_3,\n conv64_down,\n conv64_1,\n conv64_2,\n conv64_3,\n conv128_down,\n conv128_1,\n conv128_2,\n conv256_down,\n conv256_1,\n conv256_2,\n conv256_down_out,\n fc,\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { conv, convDown, convNoRelu } from './convLayer';\nimport { ResidualLayerParams } from './types';\n\nexport function residual(x: tf.Tensor4D, params: ResidualLayerParams): tf.Tensor4D {\n let out = conv(x, params.conv1);\n out = convNoRelu(out, params.conv2);\n out = tf.add(out, x);\n out = tf.relu(out);\n return out;\n}\n\nexport function residualDown(x: tf.Tensor4D, params: ResidualLayerParams): tf.Tensor4D {\n let out = convDown(x, params.conv1);\n out = convNoRelu(out, params.conv2);\n\n let pooled = tf.avgPool(x, 2, 2, 'valid') as tf.Tensor4D;\n const zeros = tf.zeros(pooled.shape);\n const isPad = pooled.shape[3] !== out.shape[3];\n const isAdjustShape = pooled.shape[1] !== out.shape[1] || pooled.shape[2] !== out.shape[2];\n\n if (isAdjustShape) {\n const padShapeX = [...out.shape] as [number, number, number, number];\n padShapeX[1] = 1;\n const zerosW = tf.zeros(padShapeX);\n out = tf.concat([out, zerosW], 1);\n\n const padShapeY = [...out.shape] as [number, number, number, number];\n padShapeY[2] = 1;\n const zerosH = tf.zeros(padShapeY);\n out = tf.concat([out, zerosH], 2);\n }\n\n pooled = isPad ? tf.concat([pooled, zeros], 3) : pooled;\n out = tf.add(pooled, out) as tf.Tensor4D;\n\n out = tf.relu(out);\n return out;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { convDown } from './convLayer';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { residual, residualDown } from './residualLayer';\nimport { NetParams } from './types';\n\nexport class FaceRecognitionNet extends NeuralNetwork {\n constructor() {\n super('FaceRecognitionNet');\n }\n\n public forwardInput(input: NetInput): tf.Tensor2D {\n const { params } = this;\n\n if (!params) {\n throw new Error('FaceRecognitionNet - load model before inference');\n }\n\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(150, true), 'float32');\n\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n\n let out = convDown(normalized, params.conv32_down);\n out = tf.maxPool(out, 3, 2, 'valid');\n\n out = residual(out, params.conv32_1);\n out = residual(out, params.conv32_2);\n out = residual(out, params.conv32_3);\n\n out = residualDown(out, params.conv64_down);\n out = residual(out, params.conv64_1);\n out = residual(out, params.conv64_2);\n out = residual(out, params.conv64_3);\n\n out = residualDown(out, params.conv128_down);\n out = residual(out, params.conv128_1);\n out = residual(out, params.conv128_2);\n\n out = residualDown(out, params.conv256_down);\n out = residual(out, params.conv256_1);\n out = residual(out, params.conv256_2);\n out = residualDown(out, params.conv256_down_out);\n\n const globalAvg = out.mean([1, 2]) as tf.Tensor2D;\n const fullyConnected = tf.matMul(globalAvg, params.fc);\n\n return fullyConnected as tf.Tensor2D;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async computeFaceDescriptor(input: TNetInput): Promise {\n // @ts-ignore\n if (input?.shape?.some((dim) => dim <= 0)) return new Float32Array(128);\n const netInput = await toNetInput(input);\n const faceDescriptorTensors = tf.tidy(() => tf.unstack(this.forwardInput(netInput)));\n const faceDescriptorsForBatch = await Promise.all(faceDescriptorTensors.map((t) => t.data())) as Float32Array[];\n faceDescriptorTensors.forEach((t) => t.dispose());\n return netInput.isBatchInput ? faceDescriptorsForBatch : faceDescriptorsForBatch[0];\n }\n\n protected getDefaultModelName(): string {\n return 'face_recognition_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights);\n }\n}\n", "import { FaceRecognitionNet } from './FaceRecognitionNet';\n\nexport * from './FaceRecognitionNet';\n\nexport function createFaceRecognitionNet(weights: Float32Array) {\n const net = new FaceRecognitionNet();\n net.extractWeights(weights);\n return net;\n}\n", "export type WithFaceDescriptor = TSource & {\n descriptor: Float32Array\n}\n\nexport function extendWithFaceDescriptor<\n TSource\n>(\n sourceObj: TSource,\n descriptor: Float32Array,\n): WithFaceDescriptor {\n const extension = { descriptor };\n return { ...sourceObj, ...extension };\n}\n", "export type WithAge = TSource & {\n age: number\n}\n\nexport function isWithAge(obj: any): obj is WithAge<{}> {\n return typeof obj.age === 'number';\n}\n\nexport function extendWithAge<\n TSource\n>(\n sourceObj: TSource,\n age: number,\n): WithAge {\n const extension = { age };\n return { ...sourceObj, ...extension };\n}\n", "import { Gender } from '../ageGenderNet/types';\nimport { isValidProbablitiy } from '../utils/index';\n\nexport type WithGender = TSource & {\n gender: Gender\n genderProbability: number\n}\n\nexport function isWithGender(obj: any): obj is WithGender<{}> {\n return (obj.gender === Gender.MALE || obj.gender === Gender.FEMALE)\n && isValidProbablitiy(obj.genderProbability);\n}\n\nexport function extendWithGender<\n TSource\n>(\n sourceObj: TSource,\n gender: Gender,\n genderProbability: number,\n): WithGender {\n const extension = { gender, genderProbability };\n return { ...sourceObj, ...extension };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ExtractWeightsFunction, ParamMapping, ConvParams, extractWeightsFactory } from '../common/index';\nimport { MobileNetV1, NetParams, PointwiseConvParams, PredictionLayerParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n function extractDepthwiseConvParams(numChannels: number, mappedPrefix: string): MobileNetV1.DepthwiseConvParams {\n const filters = tf.tensor4d(extractWeights(3 * 3 * numChannels), [3, 3, numChannels, 1]);\n const batch_norm_scale = tf.tensor1d(extractWeights(numChannels));\n const batch_norm_offset = tf.tensor1d(extractWeights(numChannels));\n const batch_norm_mean = tf.tensor1d(extractWeights(numChannels));\n const batch_norm_variance = tf.tensor1d(extractWeights(numChannels));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/batch_norm_scale` },\n { paramPath: `${mappedPrefix}/batch_norm_offset` },\n { paramPath: `${mappedPrefix}/batch_norm_mean` },\n { paramPath: `${mappedPrefix}/batch_norm_variance` },\n );\n\n return {\n filters,\n batch_norm_scale,\n batch_norm_offset,\n batch_norm_mean,\n batch_norm_variance,\n };\n }\n\n function extractConvParams(\n channelsIn: number,\n channelsOut: number,\n filterSize: number,\n mappedPrefix: string,\n isPointwiseConv?: boolean,\n ): ConvParams {\n const filters = tf.tensor4d(\n extractWeights(channelsIn * channelsOut * filterSize * filterSize),\n [filterSize, filterSize, channelsIn, channelsOut],\n );\n const bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/${isPointwiseConv ? 'batch_norm_offset' : 'bias'}` },\n );\n\n return { filters, bias };\n }\n\n function extractPointwiseConvParams(\n channelsIn: number,\n channelsOut: number,\n filterSize: number,\n mappedPrefix: string,\n ): PointwiseConvParams {\n const {\n filters,\n bias,\n } = extractConvParams(channelsIn, channelsOut, filterSize, mappedPrefix, true);\n\n return {\n filters,\n batch_norm_offset: bias,\n };\n }\n\n function extractConvPairParams(\n channelsIn: number,\n channelsOut: number,\n mappedPrefix: string,\n ): MobileNetV1.ConvPairParams {\n const depthwise_conv = extractDepthwiseConvParams(channelsIn, `${mappedPrefix}/depthwise_conv`);\n const pointwise_conv = extractPointwiseConvParams(channelsIn, channelsOut, 1, `${mappedPrefix}/pointwise_conv`);\n\n return { depthwise_conv, pointwise_conv };\n }\n\n function extractMobilenetV1Params(): MobileNetV1.Params {\n const conv_0 = extractPointwiseConvParams(3, 32, 3, 'mobilenetv1/conv_0');\n const conv_1 = extractConvPairParams(32, 64, 'mobilenetv1/conv_1');\n const conv_2 = extractConvPairParams(64, 128, 'mobilenetv1/conv_2');\n const conv_3 = extractConvPairParams(128, 128, 'mobilenetv1/conv_3');\n const conv_4 = extractConvPairParams(128, 256, 'mobilenetv1/conv_4');\n const conv_5 = extractConvPairParams(256, 256, 'mobilenetv1/conv_5');\n const conv_6 = extractConvPairParams(256, 512, 'mobilenetv1/conv_6');\n const conv_7 = extractConvPairParams(512, 512, 'mobilenetv1/conv_7');\n const conv_8 = extractConvPairParams(512, 512, 'mobilenetv1/conv_8');\n const conv_9 = extractConvPairParams(512, 512, 'mobilenetv1/conv_9');\n const conv_10 = extractConvPairParams(512, 512, 'mobilenetv1/conv_10');\n const conv_11 = extractConvPairParams(512, 512, 'mobilenetv1/conv_11');\n const conv_12 = extractConvPairParams(512, 1024, 'mobilenetv1/conv_12');\n const conv_13 = extractConvPairParams(1024, 1024, 'mobilenetv1/conv_13');\n return {\n conv_0,\n conv_1,\n conv_2,\n conv_3,\n conv_4,\n conv_5,\n conv_6,\n conv_7,\n conv_8,\n conv_9,\n conv_10,\n conv_11,\n conv_12,\n conv_13,\n };\n }\n\n function extractPredictionLayerParams(): PredictionLayerParams {\n const conv_0 = extractPointwiseConvParams(1024, 256, 1, 'prediction_layer/conv_0');\n const conv_1 = extractPointwiseConvParams(256, 512, 3, 'prediction_layer/conv_1');\n const conv_2 = extractPointwiseConvParams(512, 128, 1, 'prediction_layer/conv_2');\n const conv_3 = extractPointwiseConvParams(128, 256, 3, 'prediction_layer/conv_3');\n const conv_4 = extractPointwiseConvParams(256, 128, 1, 'prediction_layer/conv_4');\n const conv_5 = extractPointwiseConvParams(128, 256, 3, 'prediction_layer/conv_5');\n const conv_6 = extractPointwiseConvParams(256, 64, 1, 'prediction_layer/conv_6');\n const conv_7 = extractPointwiseConvParams(64, 128, 3, 'prediction_layer/conv_7');\n const box_encoding_0_predictor = extractConvParams(512, 12, 1, 'prediction_layer/box_predictor_0/box_encoding_predictor');\n const class_predictor_0 = extractConvParams(512, 9, 1, 'prediction_layer/box_predictor_0/class_predictor');\n const box_encoding_1_predictor = extractConvParams(1024, 24, 1, 'prediction_layer/box_predictor_1/box_encoding_predictor');\n const class_predictor_1 = extractConvParams(1024, 18, 1, 'prediction_layer/box_predictor_1/class_predictor');\n const box_encoding_2_predictor = extractConvParams(512, 24, 1, 'prediction_layer/box_predictor_2/box_encoding_predictor');\n const class_predictor_2 = extractConvParams(512, 18, 1, 'prediction_layer/box_predictor_2/class_predictor');\n const box_encoding_3_predictor = extractConvParams(256, 24, 1, 'prediction_layer/box_predictor_3/box_encoding_predictor');\n const class_predictor_3 = extractConvParams(256, 18, 1, 'prediction_layer/box_predictor_3/class_predictor');\n const box_encoding_4_predictor = extractConvParams(256, 24, 1, 'prediction_layer/box_predictor_4/box_encoding_predictor');\n const class_predictor_4 = extractConvParams(256, 18, 1, 'prediction_layer/box_predictor_4/class_predictor');\n const box_encoding_5_predictor = extractConvParams(128, 24, 1, 'prediction_layer/box_predictor_5/box_encoding_predictor');\n const class_predictor_5 = extractConvParams(128, 18, 1, 'prediction_layer/box_predictor_5/class_predictor');\n\n const box_predictor_0 = {\n box_encoding_predictor: box_encoding_0_predictor,\n class_predictor: class_predictor_0,\n };\n const box_predictor_1 = {\n box_encoding_predictor: box_encoding_1_predictor,\n class_predictor: class_predictor_1,\n };\n const box_predictor_2 = {\n box_encoding_predictor: box_encoding_2_predictor,\n class_predictor: class_predictor_2,\n };\n const box_predictor_3 = {\n box_encoding_predictor: box_encoding_3_predictor,\n class_predictor: class_predictor_3,\n };\n const box_predictor_4 = {\n box_encoding_predictor: box_encoding_4_predictor,\n class_predictor: class_predictor_4,\n };\n const box_predictor_5 = {\n box_encoding_predictor: box_encoding_5_predictor,\n class_predictor: class_predictor_5,\n };\n return {\n conv_0,\n conv_1,\n conv_2,\n conv_3,\n conv_4,\n conv_5,\n conv_6,\n conv_7,\n box_predictor_0,\n box_predictor_1,\n box_predictor_2,\n box_predictor_3,\n box_predictor_4,\n box_predictor_5,\n };\n }\n\n return {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n };\n}\n\nexport function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n const {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n } = extractorsFactory(extractWeights, paramMappings);\n const mobilenetv1 = extractMobilenetV1Params();\n const prediction_layer = extractPredictionLayerParams();\n const extra_dim = tf.tensor3d(\n extractWeights(5118 * 4),\n [1, 5118, 4],\n );\n const output_layer = {\n extra_dim,\n };\n paramMappings.push({ paramPath: 'output_layer/extra_dim' });\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n params: {\n mobilenetv1,\n prediction_layer,\n output_layer,\n },\n paramMappings,\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, disposeUnusedWeightTensors, extractWeightEntryFactory, ParamMapping } from '../common/index';\nimport { isTensor3D } from '../utils/index';\nimport { BoxPredictionParams, MobileNetV1, NetParams, PointwiseConvParams, PredictionLayerParams } from './types';\n\nfunction extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractPointwiseConvParams(prefix: string, idx: number, mappedPrefix: string): PointwiseConvParams {\n const filters = extractWeightEntry(`${prefix}/Conv2d_${idx}_pointwise/weights`, 4, `${mappedPrefix}/filters`);\n const batch_norm_offset = extractWeightEntry(`${prefix}/Conv2d_${idx}_pointwise/convolution_bn_offset`, 1, `${mappedPrefix}/batch_norm_offset`);\n return { filters, batch_norm_offset };\n }\n\n function extractConvPairParams(idx: number): MobileNetV1.ConvPairParams {\n const mappedPrefix = `mobilenetv1/conv_${idx}`;\n const prefixDepthwiseConv = `MobilenetV1/Conv2d_${idx}_depthwise`;\n const mappedPrefixDepthwiseConv = `${mappedPrefix}/depthwise_conv`;\n const mappedPrefixPointwiseConv = `${mappedPrefix}/pointwise_conv`;\n\n const filters = extractWeightEntry(`${prefixDepthwiseConv}/depthwise_weights`, 4, `${mappedPrefixDepthwiseConv}/filters`);\n const batch_norm_scale = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/gamma`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_scale`);\n const batch_norm_offset = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/beta`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_offset`);\n const batch_norm_mean = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/moving_mean`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_mean`);\n const batch_norm_variance = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/moving_variance`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_variance`);\n\n return {\n depthwise_conv: {\n filters,\n batch_norm_scale,\n batch_norm_offset,\n batch_norm_mean,\n batch_norm_variance,\n },\n pointwise_conv: extractPointwiseConvParams('MobilenetV1', idx, mappedPrefixPointwiseConv),\n };\n }\n\n function extractMobilenetV1Params(): MobileNetV1.Params {\n return {\n conv_0: extractPointwiseConvParams('MobilenetV1', 0, 'mobilenetv1/conv_0'),\n conv_1: extractConvPairParams(1),\n conv_2: extractConvPairParams(2),\n conv_3: extractConvPairParams(3),\n conv_4: extractConvPairParams(4),\n conv_5: extractConvPairParams(5),\n conv_6: extractConvPairParams(6),\n conv_7: extractConvPairParams(7),\n conv_8: extractConvPairParams(8),\n conv_9: extractConvPairParams(9),\n conv_10: extractConvPairParams(10),\n conv_11: extractConvPairParams(11),\n conv_12: extractConvPairParams(12),\n conv_13: extractConvPairParams(13),\n };\n }\n\n function extractConvParams(prefix: string, mappedPrefix: string): ConvParams {\n const filters = extractWeightEntry(`${prefix}/weights`, 4, `${mappedPrefix}/filters`);\n const bias = extractWeightEntry(`${prefix}/biases`, 1, `${mappedPrefix}/bias`);\n return { filters, bias };\n }\n\n function extractBoxPredictorParams(idx: number): BoxPredictionParams {\n const box_encoding_predictor = extractConvParams(\n `Prediction/BoxPredictor_${idx}/BoxEncodingPredictor`,\n `prediction_layer/box_predictor_${idx}/box_encoding_predictor`,\n );\n const class_predictor = extractConvParams(\n `Prediction/BoxPredictor_${idx}/ClassPredictor`,\n `prediction_layer/box_predictor_${idx}/class_predictor`,\n );\n return { box_encoding_predictor, class_predictor };\n }\n\n function extractPredictionLayerParams(): PredictionLayerParams {\n return {\n conv_0: extractPointwiseConvParams('Prediction', 0, 'prediction_layer/conv_0'),\n conv_1: extractPointwiseConvParams('Prediction', 1, 'prediction_layer/conv_1'),\n conv_2: extractPointwiseConvParams('Prediction', 2, 'prediction_layer/conv_2'),\n conv_3: extractPointwiseConvParams('Prediction', 3, 'prediction_layer/conv_3'),\n conv_4: extractPointwiseConvParams('Prediction', 4, 'prediction_layer/conv_4'),\n conv_5: extractPointwiseConvParams('Prediction', 5, 'prediction_layer/conv_5'),\n conv_6: extractPointwiseConvParams('Prediction', 6, 'prediction_layer/conv_6'),\n conv_7: extractPointwiseConvParams('Prediction', 7, 'prediction_layer/conv_7'),\n box_predictor_0: extractBoxPredictorParams(0),\n box_predictor_1: extractBoxPredictorParams(1),\n box_predictor_2: extractBoxPredictorParams(2),\n box_predictor_3: extractBoxPredictorParams(3),\n box_predictor_4: extractBoxPredictorParams(4),\n box_predictor_5: extractBoxPredictorParams(5),\n };\n }\n\n return {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n const {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n } = extractorsFactory(weightMap, paramMappings);\n const extra_dim = weightMap['Output/extra_dim'];\n paramMappings.push({ originalPath: 'Output/extra_dim', paramPath: 'output_layer/extra_dim' });\n if (!isTensor3D(extra_dim)) {\n throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${extra_dim}`);\n }\n\n const params = {\n mobilenetv1: extractMobilenetV1Params(),\n prediction_layer: extractPredictionLayerParams(),\n output_layer: {\n extra_dim,\n },\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { PointwiseConvParams } from './types';\n\nexport function pointwiseConvLayer(x: tf.Tensor4D, params: PointwiseConvParams, strides: [number, number]) {\n return tf.tidy(() => {\n let out = tf.conv2d(x, params.filters, strides, 'same');\n out = tf.add(out, params.batch_norm_offset);\n return tf.clipByValue(out, 0, 6);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { pointwiseConvLayer } from './pointwiseConvLayer';\nimport { MobileNetV1 } from './types';\n\nconst epsilon = 0.0010000000474974513;\n\nfunction depthwiseConvLayer(x: tf.Tensor4D, params: MobileNetV1.DepthwiseConvParams, strides: [number, number]) {\n return tf.tidy(() => {\n let out = tf.depthwiseConv2d(x, params.filters, strides, 'same');\n out = tf.batchNorm(\n out,\n params.batch_norm_mean,\n params.batch_norm_variance,\n params.batch_norm_offset,\n params.batch_norm_scale,\n epsilon,\n );\n return tf.clipByValue(out, 0, 6);\n });\n}\n\nfunction getStridesForLayerIdx(layerIdx: number): [number, number] {\n return [2, 4, 6, 12].some((idx) => idx === layerIdx) ? [2, 2] : [1, 1];\n}\n\nexport function mobileNetV1(x: tf.Tensor4D, params: MobileNetV1.Params) {\n return tf.tidy(() => {\n let conv11;\n let out = pointwiseConvLayer(x, params.conv_0, [2, 2]);\n\n const convPairParams = [\n params.conv_1,\n params.conv_2,\n params.conv_3,\n params.conv_4,\n params.conv_5,\n params.conv_6,\n params.conv_7,\n params.conv_8,\n params.conv_9,\n params.conv_10,\n params.conv_11,\n params.conv_12,\n params.conv_13,\n ];\n\n convPairParams.forEach((param, i) => {\n const layerIdx = i + 1;\n const depthwiseConvStrides = getStridesForLayerIdx(layerIdx);\n out = depthwiseConvLayer(out, param.depthwise_conv, depthwiseConvStrides);\n out = pointwiseConvLayer(out, param.pointwise_conv, [1, 1]);\n if (layerIdx === 11) conv11 = out;\n });\n\n if (conv11 === null) {\n throw new Error('mobileNetV1 - output of conv layer 11 is null');\n }\n\n return {\n out,\n conv11: conv11 as any,\n };\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nfunction IOU(boxes: tf.Tensor2D, i: number, j: number) {\n const boxesData = boxes.arraySync();\n const yminI = Math.min(boxesData[i][0], boxesData[i][2]);\n const xminI = Math.min(boxesData[i][1], boxesData[i][3]);\n const ymaxI = Math.max(boxesData[i][0], boxesData[i][2]);\n const xmaxI = Math.max(boxesData[i][1], boxesData[i][3]);\n const yminJ = Math.min(boxesData[j][0], boxesData[j][2]);\n const xminJ = Math.min(boxesData[j][1], boxesData[j][3]);\n const ymaxJ = Math.max(boxesData[j][0], boxesData[j][2]);\n const xmaxJ = Math.max(boxesData[j][1], boxesData[j][3]);\n const areaI = (ymaxI - yminI) * (xmaxI - xminI);\n const areaJ = (ymaxJ - yminJ) * (xmaxJ - xminJ);\n if (areaI <= 0 || areaJ <= 0) return 0.0;\n const intersectionYmin = Math.max(yminI, yminJ);\n const intersectionXmin = Math.max(xminI, xminJ);\n const intersectionYmax = Math.min(ymaxI, ymaxJ);\n const intersectionXmax = Math.min(xmaxI, xmaxJ);\n const intersectionArea = Math.max(intersectionYmax - intersectionYmin, 0.0) * Math.max(intersectionXmax - intersectionXmin, 0.0);\n return intersectionArea / (areaI + areaJ - intersectionArea);\n}\n\nexport function nonMaxSuppression(\n boxes: tf.Tensor2D,\n scores: number[],\n maxOutputSize: number,\n iouThreshold: number,\n scoreThreshold: number,\n): number[] {\n const numBoxes = boxes.shape[0];\n const outputSize = Math.min(maxOutputSize, numBoxes);\n\n const candidates = scores\n .map((score, boxIndex) => ({ score, boxIndex }))\n .filter((c) => c.score > scoreThreshold)\n .sort((c1, c2) => c2.score - c1.score);\n\n const suppressFunc = (x: number) => (x <= iouThreshold ? 1 : 0);\n const selected: number[] = [];\n\n candidates.forEach((c) => {\n if (selected.length >= outputSize) return;\n const originalScore = c.score;\n for (let j = selected.length - 1; j >= 0; --j) {\n const iou = IOU(boxes, c.boxIndex, selected[j]);\n if (iou === 0.0) continue;\n c.score *= suppressFunc(iou);\n if (c.score <= scoreThreshold) break;\n }\n if (originalScore === c.score) {\n selected.push(c.boxIndex);\n }\n });\n return selected;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { OutputLayerParams } from './types';\n\nfunction getCenterCoordinatesAndSizesLayer(x: tf.Tensor2D) {\n const vec = tf.unstack(tf.transpose(x, [1, 0]));\n\n const sizes = [\n tf.sub(vec[2], vec[0]),\n tf.sub(vec[3], vec[1]),\n ];\n const centers = [\n tf.add(vec[0], tf.div(sizes[0], 2)),\n tf.add(vec[1], tf.div(sizes[1], 2)),\n ];\n return { sizes, centers };\n}\n\nfunction decodeBoxesLayer(x0: tf.Tensor2D, x1: tf.Tensor2D) {\n const { sizes, centers } = getCenterCoordinatesAndSizesLayer(x0);\n\n const vec = tf.unstack(tf.transpose(x1, [1, 0]));\n const div0_out = tf.div(tf.mul(tf.exp(tf.div(vec[2], 5)), sizes[0]), 2);\n const add0_out = tf.add(tf.mul(tf.div(vec[0], 10), sizes[0]), centers[0]);\n const div1_out = tf.div(tf.mul(tf.exp(tf.div(vec[3], 5)), sizes[1]), 2);\n const add1_out = tf.add(tf.mul(tf.div(vec[1], 10), sizes[1]), centers[1]);\n\n return tf.transpose(\n tf.stack([\n tf.sub(add0_out, div0_out),\n tf.sub(add1_out, div1_out),\n tf.add(add0_out, div0_out),\n tf.add(add1_out, div1_out),\n ]),\n [1, 0],\n );\n}\n\nexport function outputLayer(boxPredictions: tf.Tensor4D, classPredictions: tf.Tensor4D, params: OutputLayerParams) {\n return tf.tidy(() => {\n const batchSize = boxPredictions.shape[0];\n\n let boxes = decodeBoxesLayer(\n tf.reshape(tf.tile(params.extra_dim, [batchSize, 1, 1]), [-1, 4]) as tf.Tensor2D,\n tf.reshape(boxPredictions, [-1, 4]) as tf.Tensor2D,\n );\n boxes = tf.reshape(boxes, [batchSize, (boxes.shape[0] / batchSize), 4]);\n\n const scoresAndClasses = tf.sigmoid(tf.slice(classPredictions, [0, 0, 1], [-1, -1, -1]));\n let scores = tf.slice(scoresAndClasses, [0, 0, 0], [-1, -1, 1]) as tf.Tensor;\n\n scores = tf.reshape(scores, [batchSize, scores.shape[1] as number]);\n\n const boxesByBatch = tf.unstack(boxes) as tf.Tensor2D[];\n const scoresByBatch = tf.unstack(scores) as tf.Tensor1D[];\n\n return { boxes: boxesByBatch, scores: scoresByBatch };\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { convLayer } from '../common/index';\nimport { BoxPredictionParams } from './types';\n\nexport function boxPredictionLayer(\n x: tf.Tensor4D,\n params: BoxPredictionParams,\n) {\n return tf.tidy(() => {\n const batchSize = x.shape[0];\n const boxPredictionEncoding = tf.reshape(\n convLayer(x, params.box_encoding_predictor),\n [batchSize, -1, 1, 4],\n );\n const classPrediction = tf.reshape(\n convLayer(x, params.class_predictor),\n [batchSize, -1, 3],\n );\n return { boxPredictionEncoding, classPrediction };\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { boxPredictionLayer } from './boxPredictionLayer';\nimport { pointwiseConvLayer } from './pointwiseConvLayer';\nimport { PredictionLayerParams } from './types';\n\nexport function predictionLayer(\n x: tf.Tensor4D,\n conv11: tf.Tensor4D,\n params: PredictionLayerParams,\n) {\n return tf.tidy(() => {\n const conv0 = pointwiseConvLayer(x, params.conv_0, [1, 1]);\n const conv1 = pointwiseConvLayer(conv0, params.conv_1, [2, 2]);\n const conv2 = pointwiseConvLayer(conv1, params.conv_2, [1, 1]);\n const conv3 = pointwiseConvLayer(conv2, params.conv_3, [2, 2]);\n const conv4 = pointwiseConvLayer(conv3, params.conv_4, [1, 1]);\n const conv5 = pointwiseConvLayer(conv4, params.conv_5, [2, 2]);\n const conv6 = pointwiseConvLayer(conv5, params.conv_6, [1, 1]);\n const conv7 = pointwiseConvLayer(conv6, params.conv_7, [2, 2]);\n\n const boxPrediction0 = boxPredictionLayer(conv11, params.box_predictor_0);\n const boxPrediction1 = boxPredictionLayer(x, params.box_predictor_1);\n const boxPrediction2 = boxPredictionLayer(conv1, params.box_predictor_2);\n const boxPrediction3 = boxPredictionLayer(conv3, params.box_predictor_3);\n const boxPrediction4 = boxPredictionLayer(conv5, params.box_predictor_4);\n const boxPrediction5 = boxPredictionLayer(conv7, params.box_predictor_5);\n\n const boxPredictions = tf.concat([\n boxPrediction0.boxPredictionEncoding,\n boxPrediction1.boxPredictionEncoding,\n boxPrediction2.boxPredictionEncoding,\n boxPrediction3.boxPredictionEncoding,\n boxPrediction4.boxPredictionEncoding,\n boxPrediction5.boxPredictionEncoding,\n ], 1) as tf.Tensor4D;\n\n const classPredictions = tf.concat([\n boxPrediction0.classPrediction,\n boxPrediction1.classPrediction,\n boxPrediction2.classPrediction,\n boxPrediction3.classPrediction,\n boxPrediction4.classPrediction,\n boxPrediction5.classPrediction,\n ], 1) as tf.Tensor4D;\n\n return {\n boxPredictions,\n classPredictions,\n };\n });\n}\n", "export interface ISsdMobilenetv1Options {\n minConfidence?: number\n maxResults?: number\n}\n\nexport class SsdMobilenetv1Options {\n protected _name = 'SsdMobilenetv1Options';\n\n private _minConfidence: number;\n\n private _maxResults: number;\n\n constructor({ minConfidence, maxResults }: ISsdMobilenetv1Options = {}) {\n this._minConfidence = minConfidence || 0.5;\n this._maxResults = maxResults || 100;\n\n if (typeof this._minConfidence !== 'number' || this._minConfidence <= 0 || this._minConfidence >= 1) {\n throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);\n }\n\n if (typeof this._maxResults !== 'number') {\n throw new Error(`${this._name} - expected maxResults to be a number`);\n }\n }\n\n get minConfidence(): number { return this._minConfidence; }\n\n get maxResults(): number { return this._maxResults; }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Rect } from '../classes/index';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { mobileNetV1 } from './mobileNetV1';\nimport { nonMaxSuppression } from './nonMaxSuppression';\nimport { outputLayer } from './outputLayer';\nimport { predictionLayer } from './predictionLayer';\nimport { ISsdMobilenetv1Options, SsdMobilenetv1Options } from './SsdMobilenetv1Options';\nimport { NetParams } from './types';\n\nexport class SsdMobilenetv1 extends NeuralNetwork {\n constructor() {\n super('SsdMobilenetv1');\n }\n\n public forwardInput(input: NetInput) {\n const { params } = this;\n if (!params) throw new Error('SsdMobilenetv1 - load model before inference');\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(512, false), 'float32');\n const x = tf.sub(tf.div(batchTensor, 127.5), 1) as tf.Tensor4D; // input is normalized -1..1\n const features = mobileNetV1(x, params.mobilenetv1);\n const { boxPredictions, classPredictions } = predictionLayer(features.out, features.conv11, params.prediction_layer);\n return outputLayer(boxPredictions, classPredictions, params.output_layer);\n });\n }\n\n public async forward(input: TNetInput) {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async locateFaces(input: TNetInput, options: ISsdMobilenetv1Options = {}): Promise {\n const { maxResults, minConfidence } = new SsdMobilenetv1Options(options);\n const netInput = await toNetInput(input);\n const { boxes: _boxes, scores: _scores } = this.forwardInput(netInput);\n const boxes = _boxes[0];\n const scores = _scores[0];\n for (let i = 1; i < _boxes.length; i++) {\n _boxes[i].dispose();\n _scores[i].dispose();\n }\n const scoresData = Array.from(scores.dataSync());\n const iouThreshold = 0.5;\n const indices = nonMaxSuppression(boxes, scoresData as number[], maxResults, iouThreshold, minConfidence);\n const reshapedDims = netInput.getReshapedInputDimensions(0);\n const inputSize = netInput.inputSize as number;\n const padX = inputSize / reshapedDims.width;\n const padY = inputSize / reshapedDims.height;\n const boxesData = boxes.arraySync();\n const results = indices\n .map((idx) => {\n const [top, bottom] = [\n Math.max(0, boxesData[idx][0]),\n Math.min(1.0, boxesData[idx][2]),\n ].map((val) => val * padY);\n const [left, right] = [\n Math.max(0, boxesData[idx][1]),\n Math.min(1.0, boxesData[idx][3]),\n ].map((val) => val * padX);\n return new FaceDetection(\n scoresData[idx] as number,\n new Rect(left, top, right - left, bottom - top),\n { height: netInput.getInputHeight(0), width: netInput.getInputWidth(0) },\n );\n });\n boxes.dispose();\n scores.dispose();\n return results;\n }\n\n protected getDefaultModelName(): string {\n return 'ssd_mobilenetv1_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights);\n }\n}\n", "import { SsdMobilenetv1 } from './SsdMobilenetv1';\n\nexport * from './SsdMobilenetv1';\nexport * from './SsdMobilenetv1Options';\n\nexport function createSsdMobilenetv1(weights: Float32Array) {\n const net = new SsdMobilenetv1();\n net.extractWeights(weights);\n return net;\n}\n\nexport function createFaceDetectionNet(weights: Float32Array) {\n return createSsdMobilenetv1(weights);\n}\n\n// alias for backward compatibily\nexport class FaceDetectionNet extends SsdMobilenetv1 {}\n", "import { Point } from '../classes/index';\n\nexport const IOU_THRESHOLD = 0.4;\n\nexport const BOX_ANCHORS = [\n new Point(0.738768, 0.874946),\n new Point(2.42204, 2.65704),\n new Point(4.30971, 7.04493),\n new Point(10.246, 4.59428),\n new Point(12.6868, 11.8741),\n];\n\nexport const BOX_ANCHORS_SEPARABLE = [\n new Point(1.603231, 2.094468),\n new Point(6.041143, 7.080126),\n new Point(2.882459, 3.518061),\n new Point(4.266906, 5.178857),\n new Point(9.041765, 10.66308),\n];\n\nexport const MEAN_RGB_SEPARABLE: [number, number, number] = [117.001, 114.697, 97.404];\n\nexport const DEFAULT_MODEL_NAME = 'tiny_yolov2_model';\nexport const DEFAULT_MODEL_NAME_SEPARABLE_CONV = 'tiny_yolov2_separable_conv_model';\n", "import { Point } from '../classes/Point';\n\nexport type TinyYolov2Config = {\n withSeparableConvs: boolean\n iouThreshold: number\n anchors: Point[]\n classes: string[]\n meanRgb?: [number, number, number]\n withClassScores?: boolean,\n filterSizes?: number[]\n isFirstLayerConv2d?: boolean\n}\n\nconst isNumber = (arg: any) => typeof arg === 'number';\n\nexport function validateConfig(config: any) {\n if (!config) {\n throw new Error(`invalid config: ${config}`);\n }\n\n if (typeof config.withSeparableConvs !== 'boolean') {\n throw new Error(`config.withSeparableConvs has to be a boolean, have: ${config.withSeparableConvs}`);\n }\n\n if (!isNumber(config.iouThreshold) || config.iouThreshold < 0 || config.iouThreshold > 1.0) {\n throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${config.iouThreshold}`);\n }\n\n if (\n !Array.isArray(config.classes)\n || !config.classes.length\n || !config.classes.every((c: any) => typeof c === 'string')\n ) {\n throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(config.classes)}`);\n }\n\n if (\n !Array.isArray(config.anchors)\n || !config.anchors.length\n || !config.anchors.map((a: any) => a || {}).every((a: any) => isNumber(a.x) && isNumber(a.y))\n ) {\n throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(config.anchors)}`);\n }\n\n if (config.meanRgb && (\n !Array.isArray(config.meanRgb)\n || config.meanRgb.length !== 3\n || !config.meanRgb.every(isNumber)\n )) {\n throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(config.meanRgb)}`);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nexport function leaky(x: tf.Tensor4D): tf.Tensor4D {\n return tf.tidy(() => {\n const min = tf.mul(x, tf.scalar(0.10000000149011612));\n return tf.add(tf.relu(tf.sub(x, min)), min);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { leaky } from './leaky';\nimport { ConvWithBatchNorm } from './types';\n\nexport function convWithBatchNorm(x: tf.Tensor4D, params: ConvWithBatchNorm): tf.Tensor4D {\n return tf.tidy(() => {\n let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]) as tf.Tensor4D;\n out = tf.conv2d(out, params.conv.filters, [1, 1], 'valid');\n out = tf.sub(out, params.bn.sub);\n out = tf.mul(out, params.bn.truediv);\n out = tf.add(out, params.conv.bias);\n return leaky(out);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { SeparableConvParams } from '../common/types';\nimport { leaky } from './leaky';\n\nexport function depthwiseSeparableConv(x: tf.Tensor4D, params: SeparableConvParams): tf.Tensor4D {\n return tf.tidy(() => {\n let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]) as tf.Tensor4D;\n out = tf.separableConv2d(out, params.depthwise_filter, params.pointwise_filter, [1, 1], 'valid');\n out = tf.add(out, params.bias);\n return leaky(out);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { extractConvParamsFactory } from '../common/index';\nimport { extractSeparableConvParamsFactory } from '../common/extractSeparableConvParamsFactory';\nimport { extractWeightsFactory } from '../common/extractWeightsFactory';\nimport { ExtractWeightsFunction, ParamMapping } from '../common/types';\nimport { TinyYolov2Config } from './config';\nimport { BatchNorm, ConvWithBatchNorm, TinyYolov2NetParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings);\n\n function extractBatchNormParams(size: number, mappedPrefix: string): BatchNorm {\n const sub = tf.tensor1d(extractWeights(size));\n const truediv = tf.tensor1d(extractWeights(size));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/sub` },\n { paramPath: `${mappedPrefix}/truediv` },\n );\n return { sub, truediv };\n }\n\n function extractConvWithBatchNormParams(channelsIn: number, channelsOut: number, mappedPrefix: string): ConvWithBatchNorm {\n const conv = extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv`);\n const bn = extractBatchNormParams(channelsOut, `${mappedPrefix}/bn`);\n return { conv, bn };\n }\n const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings);\n\n return {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n };\n}\n\nexport function extractParams(\n weights: Float32Array,\n config: TinyYolov2Config,\n boxEncodingSize: number,\n filterSizes: number[],\n): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const paramMappings: ParamMapping[] = [];\n const {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n } = extractorsFactory(extractWeights, paramMappings);\n let params: TinyYolov2NetParams;\n\n if (config.withSeparableConvs) {\n const [s0, s1, s2, s3, s4, s5, s6, s7, s8] = filterSizes;\n const conv0 = config.isFirstLayerConv2d\n ? extractConvParams(s0, s1, 3, 'conv0')\n : extractSeparableConvParams(s0, s1, 'conv0');\n const conv1 = extractSeparableConvParams(s1, s2, 'conv1');\n const conv2 = extractSeparableConvParams(s2, s3, 'conv2');\n const conv3 = extractSeparableConvParams(s3, s4, 'conv3');\n const conv4 = extractSeparableConvParams(s4, s5, 'conv4');\n const conv5 = extractSeparableConvParams(s5, s6, 'conv5');\n const conv6 = s7 ? extractSeparableConvParams(s6, s7, 'conv6') : undefined;\n const conv7 = s8 ? extractSeparableConvParams(s7, s8, 'conv7') : undefined;\n const conv8 = extractConvParams(s8 || s7 || s6, 5 * boxEncodingSize, 1, 'conv8');\n params = {\n conv0, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8,\n };\n } else {\n const [s0, s1, s2, s3, s4, s5, s6, s7, s8] = filterSizes;\n const conv0 = extractConvWithBatchNormParams(s0, s1, 'conv0');\n const conv1 = extractConvWithBatchNormParams(s1, s2, 'conv1');\n const conv2 = extractConvWithBatchNormParams(s2, s3, 'conv2');\n const conv3 = extractConvWithBatchNormParams(s3, s4, 'conv3');\n const conv4 = extractConvWithBatchNormParams(s4, s5, 'conv4');\n const conv5 = extractConvWithBatchNormParams(s5, s6, 'conv5');\n const conv6 = extractConvWithBatchNormParams(s6, s7, 'conv6');\n const conv7 = extractConvWithBatchNormParams(s7, s8, 'conv7');\n const conv8 = extractConvParams(s8, 5 * boxEncodingSize, 1, 'conv8');\n params = {\n conv0, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8,\n };\n }\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams } from '../common/index';\nimport { disposeUnusedWeightTensors } from '../common/disposeUnusedWeightTensors';\nimport { loadSeparableConvParamsFactory } from '../common/extractSeparableConvParamsFactory';\nimport { extractWeightEntryFactory } from '../common/extractWeightEntryFactory';\nimport { ParamMapping } from '../common/types';\nimport { TinyYolov2Config } from './config';\nimport { BatchNorm, ConvWithBatchNorm, TinyYolov2NetParams } from './types';\n\nfunction extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractBatchNormParams(prefix: string): BatchNorm {\n const sub = extractWeightEntry(`${prefix}/sub`, 1);\n const truediv = extractWeightEntry(`${prefix}/truediv`, 1);\n return { sub, truediv };\n }\n\n function extractConvParams(prefix: string): ConvParams {\n const filters = extractWeightEntry(`${prefix}/filters`, 4);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n return { filters, bias };\n }\n\n function extractConvWithBatchNormParams(prefix: string): ConvWithBatchNorm {\n const conv = extractConvParams(`${prefix}/conv`);\n const bn = extractBatchNormParams(`${prefix}/bn`);\n return { conv, bn };\n }\n\n const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry);\n return {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n config: TinyYolov2Config,\n): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n } = extractorsFactory(weightMap, paramMappings);\n\n let params: TinyYolov2NetParams;\n\n if (config.withSeparableConvs) {\n // eslint-disable-next-line no-mixed-operators\n const numFilters = (config.filterSizes && config.filterSizes.length || 9);\n params = {\n conv0: config.isFirstLayerConv2d ? extractConvParams('conv0') : extractSeparableConvParams('conv0'),\n conv1: extractSeparableConvParams('conv1'),\n conv2: extractSeparableConvParams('conv2'),\n conv3: extractSeparableConvParams('conv3'),\n conv4: extractSeparableConvParams('conv4'),\n conv5: extractSeparableConvParams('conv5'),\n conv6: numFilters > 7 ? extractSeparableConvParams('conv6') : undefined,\n conv7: numFilters > 8 ? extractSeparableConvParams('conv7') : undefined,\n conv8: extractConvParams('conv8'),\n };\n } else {\n params = {\n conv0: extractConvWithBatchNormParams('conv0'),\n conv1: extractConvWithBatchNormParams('conv1'),\n conv2: extractConvWithBatchNormParams('conv2'),\n conv3: extractConvWithBatchNormParams('conv3'),\n conv4: extractConvWithBatchNormParams('conv4'),\n conv5: extractConvWithBatchNormParams('conv5'),\n conv6: extractConvWithBatchNormParams('conv6'),\n conv7: extractConvWithBatchNormParams('conv7'),\n conv8: extractConvParams('conv8'),\n };\n }\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n return { params, paramMappings };\n}\n", "export interface ITinyYolov2Options {\n inputSize?: number\n scoreThreshold?: number\n}\n\nexport class TinyYolov2Options {\n protected _name = 'TinyYolov2Options';\n\n private _inputSize: number;\n\n private _scoreThreshold: number;\n\n constructor({ inputSize, scoreThreshold }: ITinyYolov2Options = {}) {\n this._inputSize = inputSize || 416;\n this._scoreThreshold = scoreThreshold || 0.5;\n\n if (typeof this._inputSize !== 'number' || this._inputSize % 32 !== 0) {\n throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);\n }\n\n if (typeof this._scoreThreshold !== 'number' || this._scoreThreshold <= 0 || this._scoreThreshold >= 1) {\n throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`);\n }\n }\n\n get inputSize(): number { return this._inputSize; }\n\n get scoreThreshold(): number { return this._scoreThreshold; }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { BoundingBox } from '../classes/BoundingBox';\nimport { Dimensions } from '../classes/Dimensions';\nimport { ObjectDetection } from '../classes/ObjectDetection';\nimport { convLayer } from '../common/index';\nimport { ConvParams, SeparableConvParams } from '../common/types';\nimport { toNetInput } from '../dom/index';\nimport { NetInput } from '../dom/NetInput';\nimport { TNetInput } from '../dom/types';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { sigmoid } from '../ops/index';\nimport { nonMaxSuppression } from '../ops/nonMaxSuppression';\nimport { normalize } from '../ops/normalize';\nimport { TinyYolov2Config, validateConfig } from './config';\nimport { convWithBatchNorm } from './convWithBatchNorm';\nimport { depthwiseSeparableConv } from './depthwiseSeparableConv';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { leaky } from './leaky';\nimport { ITinyYolov2Options, TinyYolov2Options } from './TinyYolov2Options';\nimport { DefaultTinyYolov2NetParams, MobilenetParams, TinyYolov2ExtractBoxesResult, TinyYolov2NetParams } from './types';\n\nexport class TinyYolov2Base extends NeuralNetwork {\n public static DEFAULT_FILTER_SIZES = [3, 16, 32, 64, 128, 256, 512, 1024, 1024];\n\n private _config: TinyYolov2Config;\n\n constructor(config: TinyYolov2Config) {\n super('TinyYolov2');\n validateConfig(config);\n this._config = config;\n }\n\n public get config(): TinyYolov2Config {\n return this._config;\n }\n\n public get withClassScores(): boolean {\n return this.config.withClassScores || this.config.classes.length > 1;\n }\n\n public get boxEncodingSize(): number {\n return 5 + (this.withClassScores ? this.config.classes.length : 0);\n }\n\n public runTinyYolov2(x: tf.Tensor4D, params: DefaultTinyYolov2NetParams): tf.Tensor4D {\n let out = convWithBatchNorm(x, params.conv0);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv1);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv2);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv3);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv4);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv5);\n out = tf.maxPool(out, [2, 2], [1, 1], 'same');\n out = convWithBatchNorm(out, params.conv6);\n out = convWithBatchNorm(out, params.conv7);\n return convLayer(out, params.conv8, 'valid', false);\n }\n\n public runMobilenet(x: tf.Tensor4D, params: MobilenetParams): tf.Tensor4D {\n let out = this.config.isFirstLayerConv2d\n ? leaky(convLayer(x, params.conv0 as ConvParams, 'valid', false))\n : depthwiseSeparableConv(x, params.conv0 as SeparableConvParams);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv1);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv2);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv3);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv4);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv5);\n out = tf.maxPool(out, [2, 2], [1, 1], 'same');\n out = params.conv6 ? depthwiseSeparableConv(out, params.conv6) : out;\n out = params.conv7 ? depthwiseSeparableConv(out, params.conv7) : out;\n return convLayer(out, params.conv8, 'valid', false);\n }\n\n public forwardInput(input: NetInput, inputSize: number): tf.Tensor4D {\n const { params } = this;\n\n if (!params) {\n throw new Error('TinyYolov2 - load model before inference');\n }\n\n return tf.tidy(() => {\n let batchTensor = tf.cast(input.toBatchTensor(inputSize, false), 'float32');\n batchTensor = this.config.meanRgb\n ? normalize(batchTensor, this.config.meanRgb)\n : batchTensor;\n batchTensor = batchTensor.div(255) as tf.Tensor4D;\n return this.config.withSeparableConvs\n ? this.runMobilenet(batchTensor, params as MobilenetParams)\n : this.runTinyYolov2(batchTensor, params as DefaultTinyYolov2NetParams);\n });\n }\n\n public async forward(input: TNetInput, inputSize: number): Promise {\n return this.forwardInput(await toNetInput(input), inputSize);\n }\n\n public async detect(input: TNetInput, forwardParams: ITinyYolov2Options = {}): Promise {\n const { inputSize, scoreThreshold } = new TinyYolov2Options(forwardParams);\n const netInput = await toNetInput(input);\n const out = await this.forwardInput(netInput, inputSize);\n const out0 = tf.tidy(() => tf.unstack(out)[0].expandDims()) as tf.Tensor4D;\n const inputDimensions = {\n width: netInput.getInputWidth(0),\n height: netInput.getInputHeight(0),\n };\n\n const results = await this.extractBoxes(out0, netInput.getReshapedInputDimensions(0), scoreThreshold);\n out.dispose();\n out0.dispose();\n\n const boxes = results.map((res) => res.box);\n const scores = results.map((res) => res.score);\n const classScores = results.map((res) => res.classScore);\n const classNames = results.map((res) => this.config.classes[res.label]);\n\n const indices = nonMaxSuppression(\n boxes.map((box) => box.rescale(inputSize)),\n scores,\n this.config.iouThreshold,\n true,\n );\n\n const detections = indices.map((idx) => new ObjectDetection(\n scores[idx],\n classScores[idx],\n classNames[idx],\n boxes[idx],\n inputDimensions,\n ));\n return detections;\n }\n\n protected getDefaultModelName(): string {\n return '';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap, this.config);\n }\n\n protected extractParams(weights: Float32Array) {\n const filterSizes = this.config.filterSizes || TinyYolov2Base.DEFAULT_FILTER_SIZES;\n\n const numFilters = filterSizes ? filterSizes.length : undefined;\n if (numFilters !== 7 && numFilters !== 8 && numFilters !== 9) {\n throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${numFilters} filterSizes in config`);\n }\n return extractParams(weights, this.config, this.boxEncodingSize, filterSizes);\n }\n\n protected async extractBoxes(\n outputTensor: tf.Tensor4D,\n inputBlobDimensions: Dimensions,\n scoreThreshold?: number,\n ) {\n const { width, height } = inputBlobDimensions;\n const inputSize = Math.max(width, height);\n const correctionFactorX = inputSize / width;\n const correctionFactorY = inputSize / height;\n\n const numCells = outputTensor.shape[1];\n const numBoxes = this.config.anchors.length;\n\n const [boxesTensor, scoresTensor, classScoresTensor] = tf.tidy(() => {\n const reshaped = outputTensor.reshape([numCells, numCells, numBoxes, this.boxEncodingSize]);\n\n const boxes = reshaped.slice([0, 0, 0, 0], [numCells, numCells, numBoxes, 4]);\n const scores = reshaped.slice([0, 0, 0, 4], [numCells, numCells, numBoxes, 1]);\n const classScores = this.withClassScores\n ? tf.softmax(reshaped.slice([0, 0, 0, 5], [numCells, numCells, numBoxes, this.config.classes.length]), 3)\n : tf.scalar(0);\n return [boxes, scores, classScores];\n });\n\n const results: TinyYolov2ExtractBoxesResult[] = [];\n const scoresData = await scoresTensor.array() as number[][][][];\n const boxesData = await boxesTensor.array() as number[][][][];\n for (let row = 0; row < numCells; row++) {\n for (let col = 0; col < numCells; col++) {\n for (let anchor = 0; anchor < numBoxes; anchor++) {\n const score = sigmoid(scoresData[row][col][anchor][0]);\n if (!scoreThreshold || score > scoreThreshold) {\n const ctX = ((col + sigmoid(boxesData[row][col][anchor][0])) / numCells) * correctionFactorX;\n const ctY = ((row + sigmoid(boxesData[row][col][anchor][1])) / numCells) * correctionFactorY;\n const widthLocal = ((Math.exp(boxesData[row][col][anchor][2]) * this.config.anchors[anchor].x) / numCells) * correctionFactorX;\n const heightLocal = ((Math.exp(boxesData[row][col][anchor][3]) * this.config.anchors[anchor].y) / numCells) * correctionFactorY;\n const x = (ctX - (widthLocal / 2));\n const y = (ctY - (heightLocal / 2));\n const pos = { row, col, anchor };\n const { classScore, label } = this.withClassScores\n ? await this.extractPredictedClass(classScoresTensor as tf.Tensor4D, pos)\n : { classScore: 1, label: 0 };\n results.push({\n box: new BoundingBox(x, y, x + widthLocal, y + heightLocal),\n score,\n classScore: score * classScore,\n label,\n ...pos,\n });\n }\n }\n }\n }\n\n boxesTensor.dispose();\n scoresTensor.dispose();\n classScoresTensor.dispose();\n return results;\n }\n\n private async extractPredictedClass(classesTensor: tf.Tensor4D, pos: { row: number, col: number, anchor: number }) {\n const { row, col, anchor } = pos;\n const classesData = await classesTensor.array();\n return Array(this.config.classes.length).fill(0)\n .map((_, i) => classesData[row][col][anchor][i])\n .map((classScore, label) => ({\n classScore,\n label,\n }))\n .reduce((max, curr) => (max.classScore > curr.classScore ? max : curr));\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FaceDetection, Point } from '../classes/index';\nimport { ParamMapping } from '../common/types';\nimport { TNetInput } from '../dom/types';\nimport {\n BOX_ANCHORS,\n BOX_ANCHORS_SEPARABLE,\n DEFAULT_MODEL_NAME,\n DEFAULT_MODEL_NAME_SEPARABLE_CONV,\n IOU_THRESHOLD,\n MEAN_RGB_SEPARABLE,\n} from './const';\nimport { TinyYolov2Base } from './TinyYolov2Base';\nimport { ITinyYolov2Options } from './TinyYolov2Options';\nimport { TinyYolov2NetParams } from './types';\n\nexport class TinyYolov2 extends TinyYolov2Base {\n constructor(withSeparableConvs = true) {\n const config = {\n withSeparableConvs,\n iouThreshold: IOU_THRESHOLD,\n classes: ['face'],\n ...(withSeparableConvs\n ? {\n anchors: BOX_ANCHORS_SEPARABLE,\n meanRgb: MEAN_RGB_SEPARABLE,\n }\n : {\n anchors: BOX_ANCHORS,\n withClassScores: true,\n }),\n };\n\n super(config);\n }\n\n public get withSeparableConvs(): boolean {\n return this.config.withSeparableConvs;\n }\n\n public get anchors(): Point[] {\n return this.config.anchors;\n }\n\n public async locateFaces(input: TNetInput, forwardParams: ITinyYolov2Options): Promise {\n const objectDetections = await this.detect(input, forwardParams);\n return objectDetections.map((det) => new FaceDetection(det.score, det.relativeBox, { width: det.imageWidth, height: det.imageHeight }));\n }\n\n protected override getDefaultModelName(): string {\n return this.withSeparableConvs ? DEFAULT_MODEL_NAME_SEPARABLE_CONV : DEFAULT_MODEL_NAME;\n }\n\n protected override extractParamsFromWeightMap(weightMap: tf.NamedTensorMap): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n return super.extractParamsFromWeightMap(weightMap);\n }\n}\n", "import { TinyYolov2 } from './TinyYolov2';\n\nexport * from './TinyYolov2Options';\nexport * from './config';\nexport * from './types';\nexport { TinyYolov2 };\n\nexport function createTinyYolov2(weights: Float32Array, withSeparableConvs = true) {\n const net = new TinyYolov2(withSeparableConvs);\n net.extractWeights(weights);\n return net;\n}\n", "import { ITinyYolov2Options, TinyYolov2Options } from '../tinyYolov2/index';\n\nexport type ITinyFaceDetectorOptions = ITinyYolov2Options\n\nexport class TinyFaceDetectorOptions extends TinyYolov2Options {\n protected override _name = 'TinyFaceDetectorOptions';\n}\n", "export class ComposableTask {\n // eslint-disable-next-line no-unused-vars\n public async then(onfulfilled: (value: T) => T | PromiseLike): Promise {\n return onfulfilled(await this.run());\n }\n\n public async run(): Promise {\n throw new Error('ComposableTask - run is not implemented');\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { extractFaces, extractFaceTensors, TNetInput } from '../dom/index';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { isWithFaceLandmarks, WithFaceLandmarks } from '../factories/WithFaceLandmarks';\n\nexport async function extractAllFacesAndComputeResults, TResult>(\n parentResults: TSource[],\n input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n computeResults: (faces: Array) => Promise,\n extractedFaces?: Array | null,\n // eslint-disable-next-line no-unused-vars\n getRectForAlignment: (parentResult: WithFaceLandmarks) => FaceDetection = ({ alignedRect }) => alignedRect,\n) {\n const faceBoxes = parentResults.map((parentResult) => (isWithFaceLandmarks(parentResult)\n ? getRectForAlignment(parentResult)\n : parentResult.detection));\n const faces: Array = extractedFaces || (\n input instanceof tf.Tensor\n ? await extractFaceTensors(input, faceBoxes)\n : await extractFaces(input, faceBoxes)\n );\n const results = await computeResults(faces);\n faces.forEach((f) => f instanceof tf.Tensor && f.dispose());\n return results;\n}\n\nexport async function extractSingleFaceAndComputeResult, TResult>(\n parentResult: TSource,\n input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n computeResult: (face: HTMLCanvasElement | tf.Tensor3D) => Promise,\n extractedFaces?: Array | null,\n // eslint-disable-next-line no-unused-vars\n getRectForAlignment?: (parentResultLocal: WithFaceLandmarks) => FaceDetection,\n) {\n return extractAllFacesAndComputeResults(\n [parentResult],\n input,\n async (faces) => computeResult(faces[0]),\n extractedFaces,\n getRectForAlignment,\n );\n}\n", "import { Point } from '../classes/index';\n\nexport const IOU_THRESHOLD = 0.4;\n\nexport const BOX_ANCHORS = [\n new Point(1.603231, 2.094468),\n new Point(6.041143, 7.080126),\n new Point(2.882459, 3.518061),\n new Point(4.266906, 5.178857),\n new Point(9.041765, 10.66308),\n];\n\nexport const MEAN_RGB: [number, number, number] = [117.001, 114.697, 97.404];\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FaceDetection, Point } from '../classes/index';\nimport { ParamMapping } from '../common/index';\nimport { TNetInput } from '../dom/index';\nimport { ITinyYolov2Options } from '../tinyYolov2/index';\nimport { TinyYolov2Base } from '../tinyYolov2/TinyYolov2Base';\nimport { TinyYolov2NetParams } from '../tinyYolov2/types';\nimport { BOX_ANCHORS, IOU_THRESHOLD, MEAN_RGB } from './const';\n\nexport class TinyFaceDetector extends TinyYolov2Base {\n constructor() {\n const config = {\n withSeparableConvs: true,\n iouThreshold: IOU_THRESHOLD,\n classes: ['face'],\n anchors: BOX_ANCHORS,\n meanRgb: MEAN_RGB,\n isFirstLayerConv2d: true,\n filterSizes: [3, 16, 32, 64, 128, 256, 512],\n };\n\n super(config);\n }\n\n public get anchors(): Point[] {\n return this.config.anchors;\n }\n\n public async locateFaces(input: TNetInput, forwardParams: ITinyYolov2Options): Promise {\n const objectDetections = await this.detect(input, forwardParams);\n return objectDetections.map((det) => new FaceDetection(det.score, det.relativeBox, { width: det.imageWidth, height: det.imageHeight }));\n }\n\n protected override getDefaultModelName(): string {\n return 'tiny_face_detector_model';\n }\n\n protected override extractParamsFromWeightMap(weightMap: tf.NamedTensorMap): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n return super.extractParamsFromWeightMap(weightMap);\n }\n}\n", "import { AgeGenderNet } from '../ageGenderNet/AgeGenderNet';\nimport { AgeAndGenderPrediction } from '../ageGenderNet/types';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { TNetInput } from '../dom/index';\nimport { FaceExpressionNet } from '../faceExpressionNet/FaceExpressionNet';\nimport { FaceExpressions } from '../faceExpressionNet/FaceExpressions';\nimport { FaceLandmark68Net } from '../faceLandmarkNet/FaceLandmark68Net';\nimport { FaceLandmark68TinyNet } from '../faceLandmarkNet/FaceLandmark68TinyNet';\nimport { FaceRecognitionNet } from '../faceRecognitionNet/FaceRecognitionNet';\nimport { SsdMobilenetv1 } from '../ssdMobilenetv1/SsdMobilenetv1';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/SsdMobilenetv1Options';\nimport { TinyFaceDetector } from '../tinyFaceDetector/TinyFaceDetector';\nimport { TinyFaceDetectorOptions } from '../tinyFaceDetector/TinyFaceDetectorOptions';\nimport { ITinyYolov2Options, TinyYolov2 } from '../tinyYolov2/index';\n\nexport const nets = {\n ssdMobilenetv1: new SsdMobilenetv1(),\n tinyFaceDetector: new TinyFaceDetector(),\n tinyYolov2: new TinyYolov2(),\n faceLandmark68Net: new FaceLandmark68Net(),\n faceLandmark68TinyNet: new FaceLandmark68TinyNet(),\n faceRecognitionNet: new FaceRecognitionNet(),\n faceExpressionNet: new FaceExpressionNet(),\n ageGenderNet: new AgeGenderNet(),\n};\n\n/**\n * Attempts to detect all faces in an image using SSD Mobilenetv1 Network.\n *\n * @param input The input image.\n * @param options (optional, default: see SsdMobilenetv1Options constructor for default parameters).\n * @returns Bounding box of each face with score.\n */\nexport const ssdMobilenetv1 = (input: TNetInput, options: SsdMobilenetv1Options): Promise => nets.ssdMobilenetv1.locateFaces(input, options);\n\n/**\n * Attempts to detect all faces in an image using the Tiny Face Detector.\n *\n * @param input The input image.\n * @param options (optional, default: see TinyFaceDetectorOptions constructor for default parameters).\n * @returns Bounding box of each face with score.\n */\nexport const tinyFaceDetector = (input: TNetInput, options: TinyFaceDetectorOptions): Promise => nets.tinyFaceDetector.locateFaces(input, options);\n\n/**\n * Attempts to detect all faces in an image using the Tiny Yolov2 Network.\n *\n * @param input The input image.\n * @param options (optional, default: see TinyYolov2Options constructor for default parameters).\n * @returns Bounding box of each face with score.\n */\nexport const tinyYolov2 = (input: TNetInput, options: ITinyYolov2Options): Promise => nets.tinyYolov2.locateFaces(input, options);\n\n/**\n * Detects the 68 point face landmark positions of the face shown in an image.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns 68 point face landmarks or array thereof in case of batch input.\n */\nexport const detectFaceLandmarks = (input: TNetInput): Promise => nets.faceLandmark68Net.detectLandmarks(input);\n\n/**\n * Detects the 68 point face landmark positions of the face shown in an image\n * using a tinier version of the 68 point face landmark model, which is slightly\n * faster at inference, but also slightly less accurate.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns 68 point face landmarks or array thereof in case of batch input.\n */\nexport const detectFaceLandmarksTiny = (input: TNetInput): Promise => nets.faceLandmark68TinyNet.detectLandmarks(input);\n\n/**\n * Computes a 128 entry vector (face descriptor / face embeddings) from the face shown in an image,\n * which uniquely represents the features of that persons face. The computed face descriptor can\n * be used to measure the similarity between faces, by computing the euclidean distance of two\n * face descriptors.\n *\n * @param inputs The face image extracted from the aligned bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns Face descriptor with 128 entries or array thereof in case of batch input.\n */\nexport const computeFaceDescriptor = (input: TNetInput): Promise => nets.faceRecognitionNet.computeFaceDescriptor(input);\n\n/**\n * Recognizes the facial expressions from a face image.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns Facial expressions with corresponding probabilities or array thereof in case of batch input.\n */\nexport const recognizeFaceExpressions = (input: TNetInput): Promise => nets.faceExpressionNet.predictExpressions(input);\n\n/**\n * Predicts age and gender from a face image.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns Predictions with age, gender and gender probability or array thereof in case of batch input.\n */\nexport const predictAgeAndGender = (input: TNetInput): Promise => nets.ageGenderNet.predictAgeAndGender(input);\n\nexport const loadSsdMobilenetv1Model = (url: string) => nets.ssdMobilenetv1.load(url);\nexport const loadTinyFaceDetectorModel = (url: string) => nets.tinyFaceDetector.load(url);\nexport const loadTinyYolov2Model = (url: string) => nets.tinyYolov2.load(url);\nexport const loadFaceLandmarkModel = (url: string) => nets.faceLandmark68Net.load(url);\nexport const loadFaceLandmarkTinyModel = (url: string) => nets.faceLandmark68TinyNet.load(url);\nexport const loadFaceRecognitionModel = (url: string) => nets.faceRecognitionNet.load(url);\nexport const loadFaceExpressionModel = (url: string) => nets.faceExpressionNet.load(url);\nexport const loadAgeGenderModel = (url: string) => nets.ageGenderNet.load(url);\n\n// backward compatibility\nexport const loadFaceDetectionModel = loadSsdMobilenetv1Model;\nexport const locateFaces = ssdMobilenetv1;\nexport const detectLandmarks = detectFaceLandmarks;\n", "/* eslint-disable max-classes-per-file */\nimport * as tf from '../../dist/tfjs.esm';\n\nimport { TNetInput } from '../dom/index';\nimport { FaceExpressions } from '../faceExpressionNet/FaceExpressions';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { extendWithFaceExpressions, WithFaceExpressions } from '../factories/WithFaceExpressions';\nimport { WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { ComposableTask } from './ComposableTask';\nimport { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks';\nimport { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderTask, PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderTask, PredictSingleAgeAndGenderWithFaceAlignmentTask } from './PredictAgeAndGenderTask';\n\nexport class PredictFaceExpressionsTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n protected extractedFaces?: Array,\n ) {\n super();\n }\n}\n\nexport class PredictAllFaceExpressionsTask> extends PredictFaceExpressionsTaskBase[], TSource[]> {\n public override async run(): Promise[]> {\n const parentResults = await this.parentTask;\n\n const faceExpressionsByFace = await extractAllFacesAndComputeResults(\n parentResults,\n this.input,\n async (faces) => Promise.all(\n faces.map((face) => nets.faceExpressionNet.predictExpressions(face) as Promise),\n ),\n this.extractedFaces,\n );\n\n return parentResults.map(\n (parentResult, i) => extendWithFaceExpressions(parentResult, faceExpressionsByFace[i]),\n );\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderTask(this, this.input);\n }\n}\n\nexport class PredictSingleFaceExpressionsTask> extends PredictFaceExpressionsTaskBase | undefined, TSource | undefined> {\n public override async run(): Promise | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) {\n return undefined;\n }\n\n const faceExpressions = await extractSingleFaceAndComputeResult(\n parentResult,\n this.input,\n (face) => nets.faceExpressionNet.predictExpressions(face) as Promise,\n this.extractedFaces,\n );\n\n return extendWithFaceExpressions(parentResult, faceExpressions);\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderTask(this, this.input);\n }\n}\n\nexport class PredictAllFaceExpressionsWithFaceAlignmentTask>> extends PredictAllFaceExpressionsTask {\n override withAgeAndGender() {\n return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptors() {\n return new ComputeAllFaceDescriptorsTask(this, this.input);\n }\n}\n\nexport class PredictSingleFaceExpressionsWithFaceAlignmentTask>> extends PredictSingleFaceExpressionsTask {\n override withAgeAndGender() {\n return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptor() {\n return new ComputeSingleFaceDescriptorTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport * as tf from '../../dist/tfjs.esm';\n\nimport { AgeAndGenderPrediction } from '../ageGenderNet/types';\nimport { TNetInput } from '../dom/index';\nimport { extendWithAge, WithAge } from '../factories/WithAge';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { extendWithGender, WithGender } from '../factories/WithGender';\nimport { ComposableTask } from './ComposableTask';\nimport { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks';\nimport { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults';\nimport { nets } from './nets';\nimport { PredictAllFaceExpressionsTask, PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsTask, PredictSingleFaceExpressionsWithFaceAlignmentTask } from './PredictFaceExpressionsTask';\n\nexport class PredictAgeAndGenderTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n protected extractedFaces?: Array,\n ) {\n super();\n }\n}\n\nexport class PredictAllAgeAndGenderTask> extends PredictAgeAndGenderTaskBase>[], TSource[]> {\n public override async run(): Promise>[]> {\n const parentResults = await this.parentTask;\n const ageAndGenderByFace = await extractAllFacesAndComputeResults(\n parentResults,\n this.input,\n async (faces) => Promise.all(faces.map((face) => nets.ageGenderNet.predictAgeAndGender(face) as Promise)),\n this.extractedFaces,\n );\n return parentResults.map((parentResult, i) => {\n const { age, gender, genderProbability } = ageAndGenderByFace[i];\n return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age);\n });\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsTask(this, this.input);\n }\n}\n\nexport class PredictSingleAgeAndGenderTask> extends PredictAgeAndGenderTaskBase> | undefined, TSource | undefined> {\n public override async run(): Promise> | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) return undefined;\n const { age, gender, genderProbability } = await extractSingleFaceAndComputeResult(\n parentResult,\n this.input,\n (face) => nets.ageGenderNet.predictAgeAndGender(face) as Promise,\n this.extractedFaces,\n );\n return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age);\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsTask(this, this.input);\n }\n}\n\nexport class PredictAllAgeAndGenderWithFaceAlignmentTask>> extends PredictAllAgeAndGenderTask {\n override withFaceExpressions() {\n return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptors() {\n return new ComputeAllFaceDescriptorsTask(this, this.input);\n }\n}\n\nexport class PredictSingleAgeAndGenderWithFaceAlignmentTask>> extends PredictSingleAgeAndGenderTask {\n override withFaceExpressions() {\n return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptor() {\n return new ComputeSingleFaceDescriptorTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport { TNetInput } from '../dom/index';\nimport { extendWithFaceDescriptor, WithFaceDescriptor } from '../factories/WithFaceDescriptor';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { ComposableTask } from './ComposableTask';\nimport { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderWithFaceAlignmentTask } from './PredictAgeAndGenderTask';\nimport { PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsWithFaceAlignmentTask } from './PredictFaceExpressionsTask';\n\nexport class ComputeFaceDescriptorsTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n ) {\n super();\n }\n}\n\nexport class ComputeAllFaceDescriptorsTask>> extends ComputeFaceDescriptorsTaskBase[], TSource[]> {\n public override async run(): Promise[]> {\n const parentResults = await this.parentTask;\n const descriptors = await extractAllFacesAndComputeResults(\n parentResults,\n this.input,\n (faces) => Promise.all(faces.map((face) => nets.faceRecognitionNet.computeFaceDescriptor(face) as Promise)),\n null,\n (parentResult) => parentResult.landmarks.align(null, { useDlibAlignment: true }),\n );\n return descriptors.map((descriptor, i) => extendWithFaceDescriptor(parentResults[i], descriptor));\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n}\n\nexport class ComputeSingleFaceDescriptorTask>> extends ComputeFaceDescriptorsTaskBase | undefined, TSource | undefined> {\n public override async run(): Promise | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) return undefined;\n const descriptor = await extractSingleFaceAndComputeResult(\n parentResult,\n this.input,\n (face) => nets.faceRecognitionNet.computeFaceDescriptor(face) as Promise,\n null,\n // eslint-disable-next-line no-shadow, @typescript-eslint/no-shadow\n (parentResult) => parentResult.landmarks.align(null, { useDlibAlignment: true }),\n );\n return extendWithFaceDescriptor(parentResult, descriptor);\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport * as tf from '../../dist/tfjs.esm';\n\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { extractFaces, extractFaceTensors, TNetInput } from '../dom/index';\nimport { FaceLandmark68Net } from '../faceLandmarkNet/FaceLandmark68Net';\nimport { FaceLandmark68TinyNet } from '../faceLandmarkNet/FaceLandmark68TinyNet';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { extendWithFaceLandmarks, WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { ComposableTask } from './ComposableTask';\nimport { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderWithFaceAlignmentTask } from './PredictAgeAndGenderTask';\nimport { PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsWithFaceAlignmentTask } from './PredictFaceExpressionsTask';\n\nexport class DetectFaceLandmarksTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n protected useTinyLandmarkNet: boolean,\n ) {\n super();\n }\n\n protected get landmarkNet(): FaceLandmark68Net | FaceLandmark68TinyNet {\n return this.useTinyLandmarkNet\n ? nets.faceLandmark68TinyNet\n : nets.faceLandmark68Net;\n }\n}\n\nexport class DetectAllFaceLandmarksTask> extends DetectFaceLandmarksTaskBase[], TSource[]> {\n public override async run(): Promise[]> {\n const parentResults = await this.parentTask;\n const detections = parentResults.map((res) => res.detection);\n const faces: Array = this.input instanceof tf.Tensor\n ? await extractFaceTensors(this.input, detections)\n : await extractFaces(this.input, detections);\n const faceLandmarksByFace = await Promise.all(faces.map((face) => this.landmarkNet.detectLandmarks(face))) as FaceLandmarks68[];\n faces.forEach((f) => f instanceof tf.Tensor && f.dispose());\n const result = parentResults\n .filter((_parentResult, i) => faceLandmarksByFace[i])\n .map((parentResult, i) => extendWithFaceLandmarks(parentResult, faceLandmarksByFace[i]));\n return result;\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptors() {\n return new ComputeAllFaceDescriptorsTask(this, this.input);\n }\n}\n\nexport class DetectSingleFaceLandmarksTask> extends DetectFaceLandmarksTaskBase | undefined, TSource | undefined> {\n public override async run(): Promise | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) {\n return undefined;\n }\n const { detection } = parentResult;\n const faces: Array = this.input instanceof tf.Tensor\n ? await extractFaceTensors(this.input, [detection])\n : await extractFaces(this.input, [detection]);\n const landmarks = await this.landmarkNet.detectLandmarks(faces[0]) as FaceLandmarks68;\n faces.forEach((f) => f instanceof tf.Tensor && f.dispose());\n return extendWithFaceLandmarks(parentResult, landmarks);\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptor() {\n return new ComputeSingleFaceDescriptorTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { TNetInput } from '../dom/index';\nimport { extendWithFaceDetection, WithFaceDetection } from '../factories/WithFaceDetection';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/SsdMobilenetv1Options';\nimport { TinyFaceDetectorOptions } from '../tinyFaceDetector/TinyFaceDetectorOptions';\nimport { TinyYolov2Options } from '../tinyYolov2/index';\nimport { ComposableTask } from './ComposableTask';\nimport { DetectAllFaceLandmarksTask, DetectSingleFaceLandmarksTask } from './DetectFaceLandmarksTasks';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderTask, PredictSingleAgeAndGenderTask } from './PredictAgeAndGenderTask';\nimport { PredictAllFaceExpressionsTask, PredictSingleFaceExpressionsTask } from './PredictFaceExpressionsTask';\nimport { FaceDetectionOptions } from './types';\n\nexport class DetectFacesTaskBase extends ComposableTask {\n // eslint-disable-next-line no-unused-vars\n constructor(protected input: TNetInput, protected options: FaceDetectionOptions = new SsdMobilenetv1Options()) {\n super();\n }\n}\n\nexport class DetectAllFacesTask extends DetectFacesTaskBase {\n public override async run(): Promise {\n const { input, options } = this;\n let result;\n if (options instanceof TinyFaceDetectorOptions) result = nets.tinyFaceDetector.locateFaces(input, options);\n else if (options instanceof SsdMobilenetv1Options) result = nets.ssdMobilenetv1.locateFaces(input, options);\n else if (options instanceof TinyYolov2Options) result = nets.tinyYolov2.locateFaces(input, options);\n else throw new Error('detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options');\n return result;\n }\n\n private runAndExtendWithFaceDetections(): Promise[]> {\n return new Promise[]>((resolve, reject) => {\n this.run()\n .then((detections) => resolve(detections.map((detection) => extendWithFaceDetection({}, detection))))\n .catch((err) => reject(err));\n });\n }\n\n withFaceLandmarks(useTinyLandmarkNet = false) {\n return new DetectAllFaceLandmarksTask(\n this.runAndExtendWithFaceDetections(),\n this.input,\n useTinyLandmarkNet,\n );\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsTask(\n this.runAndExtendWithFaceDetections(),\n this.input,\n );\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderTask(\n this.runAndExtendWithFaceDetections(),\n this.input,\n );\n }\n}\n\nexport class DetectSingleFaceTask extends DetectFacesTaskBase {\n public override async run(): Promise {\n const faceDetections = await new DetectAllFacesTask(this.input, this.options);\n let faceDetectionWithHighestScore = faceDetections[0];\n faceDetections.forEach((faceDetection) => {\n if (faceDetection.score > faceDetectionWithHighestScore.score) faceDetectionWithHighestScore = faceDetection;\n });\n return faceDetectionWithHighestScore;\n }\n\n private runAndExtendWithFaceDetection(): Promise | undefined> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise | undefined>(async (resolve) => {\n const detection = await this.run();\n resolve(detection ? extendWithFaceDetection<{}>({}, detection) : undefined);\n });\n }\n\n withFaceLandmarks(useTinyLandmarkNet = false) {\n return new DetectSingleFaceLandmarksTask(\n this.runAndExtendWithFaceDetection(),\n this.input,\n useTinyLandmarkNet,\n );\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsTask(\n this.runAndExtendWithFaceDetection(),\n this.input,\n );\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderTask(\n this.runAndExtendWithFaceDetection(),\n this.input,\n );\n }\n}\n", "import { TNetInput } from '../dom/index';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/SsdMobilenetv1Options';\nimport { DetectAllFacesTask, DetectSingleFaceTask } from './DetectFacesTasks';\nimport { FaceDetectionOptions } from './types';\n\nexport function detectSingleFace(input: TNetInput, options: FaceDetectionOptions = new SsdMobilenetv1Options()): DetectSingleFaceTask {\n return new DetectSingleFaceTask(input, options);\n}\n\nexport function detectAllFaces(input: TNetInput, options: FaceDetectionOptions = new SsdMobilenetv1Options()): DetectAllFacesTask {\n return new DetectAllFacesTask(input, options);\n}\n", "import { TNetInput } from '../dom/index';\nimport { WithFaceDescriptor, WithFaceDetection, WithFaceLandmarks } from '../factories/index';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/index';\nimport { ITinyYolov2Options, TinyYolov2Options } from '../tinyYolov2/index';\nimport { detectAllFaces } from './detectFaces';\n\nexport async function allFacesSsdMobilenetv1(input: TNetInput, minConfidence?: number): Promise>>[]> {\n return detectAllFaces(input, new SsdMobilenetv1Options(minConfidence ? { minConfidence } : {}))\n .withFaceLandmarks()\n .withFaceDescriptors();\n}\n\nexport async function allFacesTinyYolov2(input: TNetInput, forwardParams: ITinyYolov2Options = {}): Promise>>[]> {\n return detectAllFaces(input, new TinyYolov2Options(forwardParams))\n .withFaceLandmarks()\n .withFaceDescriptors();\n}\n\nexport const allFaces = allFacesSsdMobilenetv1;\n", "export function euclideanDistance(arr1: number[] | Float32Array, arr2: number[] | Float32Array) {\n if (arr1.length !== arr2.length) throw new Error('euclideanDistance: arr1.length !== arr2.length');\n const desc1 = Array.from(arr1);\n const desc2 = Array.from(arr2);\n return Math.sqrt(\n desc1\n .map((val, i) => val - desc2[i])\n .reduce((res, diff) => res + (diff * diff), 0),\n );\n}\n", "import { FaceMatch } from '../classes/FaceMatch';\nimport { LabeledFaceDescriptors } from '../classes/LabeledFaceDescriptors';\nimport { euclideanDistance } from '../euclideanDistance';\nimport { WithFaceDescriptor } from '../factories/index';\n\nexport class FaceMatcher {\n private _labeledDescriptors: LabeledFaceDescriptors[];\n private _distanceThreshold: number;\n\n constructor(inputs: LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>, distanceThreshold = 0.6) {\n this._distanceThreshold = distanceThreshold;\n const inputArray = Array.isArray(inputs) ? inputs : [inputs];\n if (!inputArray.length) throw new Error('FaceRecognizer.constructor - expected atleast one input');\n let count = 1;\n const createUniqueLabel = () => `person ${count++}`;\n this._labeledDescriptors = inputArray.map((desc) => {\n if (desc instanceof LabeledFaceDescriptors) return desc;\n if (desc instanceof Float32Array) return new LabeledFaceDescriptors(createUniqueLabel(), [desc]);\n if (desc.descriptor && desc.descriptor instanceof Float32Array) return new LabeledFaceDescriptors(createUniqueLabel(), [desc.descriptor]);\n throw new Error('FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>');\n });\n }\n\n public get labeledDescriptors(): LabeledFaceDescriptors[] { return this._labeledDescriptors; }\n\n public get distanceThreshold(): number { return this._distanceThreshold; }\n\n public computeMeanDistance(queryDescriptor: Float32Array, descriptors: Float32Array[]): number {\n return descriptors\n .map((d) => euclideanDistance(d, queryDescriptor))\n .reduce((d1, d2) => d1 + d2, 0) / (descriptors.length || 1);\n }\n\n public matchDescriptor(queryDescriptor: Float32Array): FaceMatch {\n return this.labeledDescriptors\n .map(({ descriptors, label }) => new FaceMatch(label, this.computeMeanDistance(queryDescriptor, descriptors)))\n .reduce((best, curr) => (best.distance < curr.distance ? best : curr));\n }\n\n public findBestMatch(queryDescriptor: Float32Array): FaceMatch {\n const bestMatch = this.matchDescriptor(queryDescriptor);\n return (bestMatch.distance < this._distanceThreshold) ? bestMatch : new FaceMatch('unknown', bestMatch.distance);\n }\n\n public toJSON(): any {\n return {\n distanceThreshold: this._distanceThreshold,\n labeledDescriptors: this._labeledDescriptors.map((ld) => ld.toJSON()),\n };\n }\n\n public static fromJSON(json: any): FaceMatcher {\n const labeledDescriptors = json.labeledDescriptors.map((ld: any) => LabeledFaceDescriptors.fromJSON(ld));\n return new FaceMatcher(labeledDescriptors, json.distanceThreshold);\n }\n}\n", "import { TinyFaceDetector } from './TinyFaceDetector';\n\nexport * from './TinyFaceDetector';\nexport * from './TinyFaceDetectorOptions';\n\nexport function createTinyFaceDetector(weights: Float32Array) {\n const net = new TinyFaceDetector();\n net.extractWeights(weights);\n return net;\n}\n", "import { Dimensions, IDimensions } from './classes/index';\nimport { FaceDetection } from './classes/FaceDetection';\nimport { FaceLandmarks } from './classes/FaceLandmarks';\nimport { extendWithFaceDetection, isWithFaceDetection } from './factories/WithFaceDetection';\nimport { extendWithFaceLandmarks, isWithFaceLandmarks } from './factories/WithFaceLandmarks';\n\nexport function resizeResults(results: T, dimensions: IDimensions): T {\n const { width, height } = new Dimensions(dimensions.width, dimensions.height);\n\n if (width <= 0 || height <= 0) {\n throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({ width, height })}`);\n }\n\n if (Array.isArray(results)) {\n // return results.map(obj => resizeResults(obj, { width, height })) as any as T\n return (results as Array).map((obj) => resizeResults(obj, { width, height } as IDimensions)) as any as T;\n }\n\n if (isWithFaceLandmarks(results)) {\n const resizedDetection = results.detection.forSize(width, height);\n const resizedLandmarks = results.unshiftedLandmarks.forSize(resizedDetection.box.width, resizedDetection.box.height);\n return extendWithFaceLandmarks(extendWithFaceDetection(results, resizedDetection), resizedLandmarks);\n }\n\n if (isWithFaceDetection(results)) {\n return extendWithFaceDetection(results, results.detection.forSize(width, height));\n }\n\n if (results instanceof FaceLandmarks || results instanceof FaceDetection) {\n return (results as any).forSize(width, height);\n }\n\n return results;\n}\n", "import * as tf from '../dist/tfjs.esm';\nimport * as draw from './draw/index';\nimport * as utils from './utils/index';\nimport * as pkg from '../package.json';\n\nexport { tf, draw, utils };\n\nexport * from './ageGenderNet/index';\nexport * from './classes/index';\nexport * from './dom/index';\nexport * from './env/index';\nexport * from './faceExpressionNet/index';\nexport * from './faceLandmarkNet/index';\nexport * from './faceRecognitionNet/index';\nexport * from './factories/index';\nexport * from './globalApi/index';\nexport * from './ops/index';\nexport * from './ssdMobilenetv1/index';\nexport * from './tinyFaceDetector/index';\nexport * from './tinyYolov2/index';\nexport * from './euclideanDistance';\nexport * from './NeuralNetwork';\nexport * from './resizeResults';\n\nexport const version = pkg.version as string;\n\n// set webgl defaults\n// if (browser) tf.ENV.set('WEBGL_USE_SHAPES_UNIFORMS', true);\n"], + "mappings": "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AAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,aAAa,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,aAAa,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,K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", + "names": ["tfjs_esm_exports", "__export", "Ei", "Go", "Wo", "vc", "Sc", "Nc", "kc", "no", "Uo", "Ea", "Aa", "Ai", "Di", "Ho", "qo", "Ko", "Xo", "jo", "Yo", "$i", "Hl", "Ul", "bg", "Zo", "Ri", "Da", "$a", "ql", "k_", "Pb", "Xy", "fo", "Jo", "ho", "Ap", "Kl", "Fi", "Qo", "Dp", "ts", "es", "Ra", "Fa", "rs", "ns", "Ma", "Oa", "os", "Zy", "Ta", "jl", "Pa", "ss", "$p", "Rp", "Xl", "is", "Zl", "Yl", "Jd", "y0", "Lb", "Fp", "ls", "La", "Yd", "za", "us", "cs", "Oi", "ps", "Op", "Jl", "Ba", "ms", "fs", "Qd", "ds", "Xi", "Yi", "pp", "Va", "Mi", "Hh", "Ga", "hs", "Yy", "Mp", "go", "Pp", "Ie", "gs", "xs", "ys", "Bo", "Cs", "Xa", "kh", "Un", "bs", "Wa", "Ua", "Ha", "ws", "Is", "__", "qa", "Ka", "ja", "T_", "Qmt", "cd", "Ad", "tft", "vs", "Ns", "Pi", "tu", "Ql", "eu", "Ss", "ks", "Ts", "_s", "Es", "As", "Tc", "Ya", "Ds", "Li", "Ja", "Qa", "tl", "Za", "z0", "$s", "zi", "qr", "wh", "Bi", "Rs", "eft", "Fs", "Os", "Ms", "_c", "po", "Lp", "zp", "Bp", "ru", "E0", "Vp", "as", "Ps", "Je", "Ls", "Vs", "Vi", "Bs", "rl", "zs", "el", "Gs", "pl", "Ws", "Us", "Il", "nl", "sl", "Gi", "Hs", "Wc", "Xs", "js", "qs", "Ks", "Wi", "Qs", "Ys", "Ui", "nu", "il", "ou", "su", "al", "Hi", "Zs", "iu", "ti", "ec", "xo", "ll", "au", "lu", "uu", "ei", "Js", "en", "ri", "ni", "Lt", "le", "ol", "oo", "ul", "cl", "so", "cu", "qi", "pu", "rft", "ml", "Ki", "ji", "_e", "mx", "fx", "TE", "tm", "cc", "ea", "dx", "hx", "gx", "xx", "yx", "bx", "xu", "wx", "ox", "S", "AE", "oa", "Ix", "Cx", "vx", "yu", "Sx", "$E", "W5", "RE", "sa", "Ur", "_y", "wt", "fQ", "J", "Nx", "vr", "ln", "Sn", "ie", "kx", "Tx", "_x", "Ex", "wR", "rm", "Nn", "om", "Ax", "$x", "uft", "bu", "sm", "gh", "mc", "im", "pn", "oO", "ph", "B0", "Rx", "ia", "xQ", "du", "FE", "Fx", "wdt", "Tt", "Idt", "ct", "Ox", "Mx", "mN", "wu", "aa", "bdt", "ydt", "fN", "Bn", "ME", "L", "$r", "Px", "Lx", "Ke", "je", "zx", "fc", "Au", "Co", "kdt", "Tdt", "la", "Qp", "Yz", "Ru", "ua", "Q5", "Ey", "rE", "I0", "Wp", "Xg", "Bmt", "S1", "q6", "K6", "Re", "cn", "wl", "Iu", "fn", "r8", "IR", "YN", "Mr", "ym", "Bx", "Vx", "Gx", "De", "Kr", "eF", "Cu", "yl", "Vn", "hN", "zE", "ftt", "dtt", "VR", "Wx", "Nr", "vu", "qx", "am", "Su", "Fr", "Nu", "lm", "Kx", "oY", "BE", "Bt", "R2", "Sr", "ku", "Xx", "VE", "kn", "Ne", "ah", "GE", "rF", "gl", "lo", "Yx", "Zx", "fJ", "nF", "dc", "q5", "$", "WE", "UE", "Ut", "Ih", "xl", "ui", "ca", "ar", "wr", "k", "HE", "mn", "qE", "KE", "jE", "XE", "Jx", "un", "_u", "px", "Qx", "Cdt", "YE", "ZE", "JE", "QE", "wA", "xc", "IA", "Gn", "CA", "pa", "Sdt", "bl", "sy", "Xp", "hJ", "A_", "rc", "gQ", "oF", "Or", "um", "Ndt", "R", "dr", "vA", "SA", "NA", "kA", "Du", "cm", "pm", "pt", "j5", "$u", "fh", "mm", "fm", "dJ", "Q", "$K", "_dt", "zmt", "Pmt", "Lmt", "LT", "TA", "Tw", "Qr", "iy", "nY", "dm", "hm", "Ot", "gm", "hh", "xm", "yc", "Be", "Eu", "li", "Tu", "sY", "Z5", "rY", "hr", "Se", "Wt", "bm", "Wn", "Fe", "So", "ay", "iY", "at", "mt", "lc", "ly", "na", "ir", "Oe", "ci", "uy", "_A", "EA", "AA", "$A", "Io", "bA", "B", "Rr", "vdt", "cy", "Ac", "Vt", "Im", "py", "lft", "aft", "Cm", "gr", "ur", "RA", "y", "j6", "X6", "my", "Ux", "Kmt", "LF", "K2", "UO", "Km", "Vmt", "Xz", "N$e", "Id", "we", "dy", "ke", "vt", "Mq", "p0", "Pq", "Lq", "zq", "Bq", "br", "r", "Kt", "e", "Vq", "n", "o", "Gl", "V_", "mft", "B_", "He", "yo", "t", "zn", "D_", "$_", "oc", "qe", "bo", "nc", "wo", "M_", "z_", "F_", "Ln", "L_", "Hp", "Zg", "S0", "s", "i", "a", "u", "l", "oi", "R_", "cK", "O_", "Up", "P_", "v0", "xt", "c", "p", "m", "f", "d", "NE", "kE", "eA", "tA", "nN", "nA", "rA", "oN", "sA", "oA", "sN", "aA", "iA", "iN", "uA", "lA", "aN", "h", "g", "pA", "cA", "lN", "mA", "dA", "fA", "ty", "w", "I", "N", "E", "A", "b", "F", "M", "V", "G", "W", "q", "H", "dh", "i_t", "hA", "PX", "LX", "zX", "BX", "VX", "GX", "hc", "Ak", "fw", "Q1", "UH", "HH", "qH", "KH", "DC", "e_", "t_", "it", "re", "Xe", "ye", "de", "Ee", "On", "lr", "Zn", "zr", "P", "U", "x", "D", "Yu", "Y", "dt", "wp", "Pt", "Jt", "Zt", "zo", "K", "Z", "et", "nt", "st", "lt", "ot", "Xu", "ft", "gt", "Ct", "Rt", "Dt", "Ht", "bt", "$t", "or", "eo", "qt", "pe", "xe", "Ae", "Br", "Vr", "Jn", "Qn", "Zr", "Ca", "ki", "Bd", "Wd", "Er", "va", "l_", "Vd", "zl", "bp", "Sa", "FC", "wg", "OC", "Ig", "Jr", "Cg", "MC", "PC", "Og", "qC", "Yt", "ka", "u_", "c_", "vg", "LC", "l0", "zC", "Gd", "BC", "Sg", "Ng", "Bl", "VC", "Tg", "kg", "GC", "Vg", "Ud", "WC", "g_", "Gg", "Ip", "UC", "HC", "h_", "KC", "m_", "jC", "_g", "Eg", "XC", "YC", "ZC", "d_", "JC", "QC", "tv", "Zu", "ev", "rv", "Ag", "nv", "Hd", "ov", "sv", "iv", "u0", "Wg", "f_", "qd", "av", "gv", "lv", "uv", "cv", "Dg", "$g", "pv", "mv", "Rg", "Fg", "fv", "dv", "Mn", "Np", "b_", "y_", "c0", "Oq", "hv", "p_", "xv", "yv", "bv", "wv", "Iv", "Cv", "vv", "Sv", "Nv", "kv", "Tv", "_v", "Ev", "Av", "Dv", "$v", "Rv", "Fv", "Ov", "Mv", "Pv", "Lv", "zv", "Bv", "Vv", "Gv", "Wv", "Uv", "Hv", "qv", "Kv", "jv", "Xv", "Yv", "Zv", "Jv", "Qv", "tS", "eS", "rS", "nS", "oS", "sS", "iS", "aS", "lS", "uS", "cS", "pS", "mS", "fS", "dS", "hS", "gS", "xS", "yS", "bS", "wS", "IS", "CS", "vS", "SS", "NS", "kS", "TS", "_S", "ES", "AS", "DS", "$S", "RS", "FS", "OS", "MS", "PS", "LS", "zS", "BS", "VS", "GS", "WS", "US", "HS", "qS", "KS", "jS", "XS", "YS", "ZS", "JS", "QS", "t0", "e0", "r0", "n0", "Mg", "Pg", "Kd", "o0", "s0", "Cp", "Lg", "vp", "Sp", "i0", "j", "ut", "Ft", "me", "Ye", "Ze", "se", "ne", "yr", "to", "Na", "zg", "jd", "a0", "nn", "Vl", "Bg", "nq", "oq", "sq", "iq", "aq", "lq", "uq", "cq", "pq", "mq", "fq", "dq", "hq", "gq", "xq", "yq", "bq", "wq", "Iq", "Cq", "vq", "Sq", "Nq", "kq", "Tq", "_q", "Eq", "Aq", "Dq", "$q", "Rq", "Ug", "x_", "Hg", "qg", "Fq", "XH", "pnr", "jH", "YH", "$C", "n_", "r_", "Pn", "w_", "Kg", "Gq", "kp", "Wq", "Uq", "Hq", "qq", "_", "$e", "on", "ro", "jt", "Kq", "m0", "_a", "jq", "Xq", "Yq", "Qu", "Zq", "Jq", "fr", "f0", "d0", "jg", "h0", "g0", "Qq", "Tp", "x0", "Vo", "I_", "C_", "Wl", "Ti", "_p", "_i", "v_", "Ju", "tK", "Xd", "Ep", "eK", "Le", "rK", "nK", "tc", "S_", "sK", "aK", "iK", "N_", "b0", "w0", "lK", "Zd", "Zi", "uK", "Gp", "th", "C0", "gK", "Kp", "fu", "yK", "hK", "si", "eh", "sr", "ac", "qp", "Yg", "k0", "ic", "W_", "sc", "sn", "N0", "U_", "ze", "G_", "Ar", "mu", "pK", "Jg", "mK", "fK", "dK", "xK", "Qg", "T0", "bK", "H_", "q_", "K_", "rh", "_0", "j_", "wK", "tx", "oh", "nh", "X_", "ii", "jp", "IK", "Y_", "Z_", "J_", "O", "F0", "sh", "vK", "Xt", "A0", "D0", "$0", "R0", "CK", "ex", "rx", "Q_", "SK", "O0", "nx", "ih", "T", "NK", "kK", "M0", "L0", "EK", "_K", "TK", "P0", "vn", "Gr", "eE", "tE", "C", "fl", "AK", "an", "dl", "Wr", "DK", "hu", "sE", "OK", "sx", "RK", "iE", "FK", "zK", "nE", "ix", "V0", "oE", "aE", "lE", "uE", "G0", "ax", "W0", "Yp", "Ji", "lh", "MK", "PK", "LK", "Cr", "cE", "pE", "mE", "fE", "U0", "H0", "uc", "gu", "dE", "q0", "Qi", "hE", "BK", "VK", "lx", "hl", "Zp", "gE", "GK", "WK", "UK", "HK", "xE", "yE", "qK", "KK", "ta", "bE", "jK", "ux", "Jp", "ai", "cx", "wE", "IE", "CE", "vE", "SE", "K0", "XK", "j0", "X0", "YK", "ZK", "JK", "QK", "tj", "ej", "rj", "nj", "oj", "sj", "ij", "aj", "lj", "uj", "cj", "pj", "mj", "fj", "dj", "hj", "gj", "EE", "pc", "Z0", "uh", "xj", "Y0", "_E", "em", "wj", "Ij", "yj", "J0", "ch", "bj", "io", "Dr", "ra", "ve", "Cj", "vj", "Sj", "Nj", "kj", "Tj", "_j", "Ej", "Aj", "Dj", "DE", "$j", "Rj", "Fj", "Oj", "Mj", "Pj", "Lj", "zj", "Bj", "Vj", "Gj", "Wj", "Uj", "Hj", "qj", "Kj", "jj", "nm", "Xj", "Yj", "Zj", "Dx", "Jj", "Qj", "t6", "e6", "r6", "n6", "o6", "s6", "i6", "a6", "Mt", "OE", "be", "l6", "u6", "c6", "p6", "m6", "f6", "d6", "h6", "g6", "Q0", "PE", "tN", "vo", "x6", "eN", "mh", "y6", "b6", "w6", "I6", "C6", "v6", "S6", "N6", "LE", "k6", "T6", "_6", "E6", "A6", "D6", "$6", "R6", "F6", "O6", "M6", "P6", "L6", "z6", "B6", "V6", "G6", "W6", "U6", "H6", "Hx", "Y6", "Z6", "J6", "Q6", "tX", "eX", "rX", "nX", "oX", "sX", "jx", "iX", "aX", "lX", "uX", "cX", "pX", "mX", "fX", "dX", "hX", "gX", "xX", "yX", "bX", "wX", "IX", "CX", "vX", "SX", "NX", "kX", "TX", "_X", "AX", "EX", "DX", "$X", "RX", "FX", "OX", "MX", "oy", "gA", "XX", "yA", "jX", "UX", "qX", "xA", "HX", "KX", "YX", "ey", "WX", "uN", "cN", "gc", "ry", "ny", "ZX", "JX", "QX", "t5", "e5", "r5", "n5", "o5", "s5", "i5", "a5", "l5", "u5", "c5", "p5", "m5", "f5", "d5", "h5", "g5", "x5", "y5", "b5", "w5", "I5", "C5", "v5", "S5", "N5", "k5", "T5", "_5", "E5", "A5", "D5", "$5", "R5", "F5", "DA", "wm", "pN", "O5", "M5", "P5", "L5", "z5", "B5", "fy", "V5", "G5", "U5", "H5", "K5", "FA", "Y5", "J5", "OA", "t8", "e8", "MA", "PA", "LA", "n8", "vm", "bc", "wc", "Ic", "Cc", "o8", "s8", "hy", "i8", "gy", "a8", "l8", "u8", "zA", "c8", "xy", "p8", "yy", "m8", "BA", "f8", "VA", "d8", "GA", "h8", "WA", "g8", "UA", "x8", "HA", "No", "y8", "qA", "KA", "b8", "I8", "w8", "by", "dN", "wy", "Iy", "jA", "C8", "v8", "S8", "XA", "N8", "YA", "k8", "ZA", "T8", "JA", "_8", "QA", "E8", "Cy", "A8", "vy", "D8", "$8", "t2", "R8", "e2", "F8", "r2", "O8", "n2", "M8", "o2", "s2", "P8", "Hr", "L8", "i2", "z8", "a2", "B8", "l2", "V8", "u2", "G8", "c2", "W8", "p2", "U8", "H8", "m2", "q8", "K8", "f2", "j8", "d2", "X8", "h2", "Y8", "g2", "Z8", "x2", "J8", "y2", "Q8", "b2", "tY", "w2", "eY", "I2", "xh", "Sy", "lY", "xN", "aY", "gN", "uY", "C2", "S2", "_2", "E2", "vN", "ky", "Ny", "k2", "IN", "A2", "D2", "cY", "pY", "mY", "v2", "Sm", "yN", "fY", "dY", "bN", "wN", "N2", "hY", "gY", "yh", "xY", "T2", "bh", "Ty", "CN", "$2", "yY", "kY", "TY", "vY", "NY", "Ec", "F2", "O2", "bY", "wY", "IY", "CY", "M2", "SY", "P2", "EY", "FY", "DY", "$Y", "RY", "AY", "NN", "OY", "H2", "G2", "q2", "W2", "U2", "z2", "SN", "_Y", "B2", "V2", "MY", "L2", "PY", "JY", "QY", "tZ", "eZ", "rZ", "ZY", "Ay", "ma", "TN", "kN", "LY", "lZ", "dZ", "BY", "sZ", "iZ", "UY", "zY", "mZ", "cZ", "uZ", "OZ", "FZ", "aZ", "hZ", "fZ", "HY", "KY", "GY", "qY", "jY", "VY", "XY", "YY", "bZ", "wZ", "IZ", "SZ", "kZ", "NZ", "CZ", "vZ", "AZ", "TZ", "_Z", "EZ", "gZ", "nZ", "yZ", "EN", "oZ", "WY", "_N", "pZ", "j2", "X2", "xZ", "RZ", "$Z", "DZ", "Dy", "Y2", "Z2", "J2", "Q2", "tD", "eD", "rD", "nD", "oD", "sD", "iD", "MZ", "aD", "lD", "PZ", "uD", "cD", "pD", "mD", "fD", "dD", "hD", "gD", "xD", "yD", "bD", "wD", "LZ", "ID", "CD", "vD", "SD", "ND", "kD", "TD", "_D", "ED", "AD", "DD", "$D", "RD", "FD", "OD", "LD", "MD", "PD", "zD", "BD", "VD", "GD", "WD", "UD", "HD", "qD", "KD", "zZ", "jD", "XD", "$y", "AN", "YD", "BZ", "ZD", "JD", "VZ", "QD", "t$", "e$", "r$", "n$", "o$", "s$", "i$", "a$", "l$", "u$", "c$", "DN", "p$", "m$", "GZ", "WZ", "f$", "d$", "h$", "g$", "x$", "y$", "b$", "w$", "I$", "C$", "v$", "S$", "N$", "k$", "T$", "_$", "E$", "A$", "D$", "$$", "$N", "RN", "R$", "F$", "O$", "M$", "P$", "L$", "z$", "B$", "V$", "G$", "W$", "U$", "UZ", "H$", "HZ", "uo", "dn", "z", "_t", "Ry", "Ch", "To", "co", "ON", "kr", "ue", "_o", "Cl", "ko", "Nm", "FN", "fa", "qZ", "vh", "Eo", "q$", "da", "Fy", "tr", "K$", "j$", "Oy", "KZ", "Py", "My", "Fu", "X$", "Y$", "Z$", "J$", "Q$", "km", "Me", "eR", "hn", "MN", "Sh", "tR", "mi", "jZ", "Ly", "rR", "zy", "XZ", "nR", "Ao", "Dc", "fi", "gn", "PN", "cr", "xn", "tn", "Sl", "oR", "Vy", "sR", "iR", "vl", "LN", "Nh", "Tm", "BN", "_m", "Do", "zN", "Gy", "$c", "yn", "aR", "lR", "Wy", "uR", "Ou", "cR", "pR", "YZ", "ZZ", "bn", "Em", "Mu", "Am", "Dm", "$m", "Rm", "Fm", "JZ", "jr", "Rc", "Fc", "Oc", "Mc", "Pc", "Lc", "Om", "mR", "fR", "Te", "ge", "Uy", "Mm", "St", "Gt", "Pm", "hR", "t7", "Th", "Lm", "e7", "Nl", "r7", "Et", "s7", "i7", "n7", "o7", "VN", "di", "Hy", "a7", "ha", "qy", "Ky", "xR", "zc", "l7", "c7", "gR", "u7", "p7", "m7", "h7", "d7", "f7", "GN", "Bc", "zm", "Bm", "Vm", "Gm", "yR", "Ve", "bR", "Ge", "y7", "N7", "S7", "k7", "T7", "C7", "_7", "E7", "x7", "A7", "w7", "b7", "I7", "v7", "g7", "Tl", "XJ", "o9", "V9", "s9", "rk", "nk", "ok", "d9", "g9", "y9", "h9", "x9", "b9", "p9", "R9", "q9", "U9", "i9", "BJ", "VJ", "GJ", "WJ", "UJ", "E9", "A9", "qJ", "YJ", "jJ", "c9", "ZJ", "FJ", "n9", "QJ", "B9", "z9", "w9", "I9", "O9", "M9", "ZR", "JR", "v9", "S9", "RJ", "m9", "MJ", "N9", "k9", "G9", "P9", "L9", "QR", "tF", "C9", "a9", "l9", "u9", "r9", "PJ", "K9", "OJ", "t9", "W9", "e9", "H9", "D9", "HJ", "T9", "_9", "LJ", "JJ", "$9", "zJ", "F9", "KJ", "f9", "ga", "jy", "CR", "D7", "kl", "WN", "Jy", "Wm", "Qy", "wn", "_h", "xa", "Um", "Pu", "$7", "R7", "F7", "O7", "M7", "Vc", "Hm", "P7", "qm", "L7", "z7", "Ah", "Eh", "tb", "Dh", "$h", "SR", "B7", "V7", "UN", "NR", "rb", "nb", "G7", "W7", "U7", "H7", "q7", "K7", "Rh", "j7", "HN", "eb", "kR", "Fh", "_R", "KN", "qN", "ER", "Z7", "ob", "J7", "Q7", "Y7", "AR", "Gc", "sb", "tJ", "ib", "eJ", "ab", "lb", "DR", "rJ", "FR", "$R", "nJ", "OR", "RR", "oJ", "sJ", "MR", "ub", "jm", "cb", "pb", "jN", "$o", "iJ", "XN", "PR", "LR", "aJ", "lJ", "zR", "uJ", "cJ", "mb", "BR", "pJ", "mJ", "rn", "fb", "db", "hb", "gb", "xb", "yb", "bb", "wb", "Ib", "Cb", "Xm", "vb", "Sb", "Nb", "hi", "ZN", "gi", "JN", "kb", "Lu", "UR", "HR", "GR", "fe", "WR", "Ce", "Ym", "Zm", "Jm", "Qm", "tf", "ef", "zu", "Tn", "xi", "Mh", "QN", "xJ", "qR", "yJ", "Oh", "rf", "Uc", "Hc", "nf", "of", "Tb", "sf", "af", "lf", "uf", "bJ", "cf", "tk", "ek", "jc", "qc", "El", "pf", "Kc", "mf", "_l", "ff", "wJ", "_b", "Xc", "df", "Yc", "hf", "gf", "xf", "yf", "bf", "wf", "If", "Cf", "vf", "Al", "Sf", "Nf", "kf", "Tf", "_f", "Ef", "Ph", "IJ", "Af", "Df", "$f", "Rf", "Lh", "CJ", "vJ", "SJ", "Ff", "Of", "NJ", "Mf", "Fb", "KR", "Eb", "Pf", "Lf", "Ab", "zf", "Bf", "Db", "Vf", "Gf", "$b", "Wf", "Uf", "Rb", "Hf", "qf", "Ob", "Kf", "kJ", "TJ", "jf", "Xf", "_J", "EJ", "Yf", "jR", "Zf", "DJ", "XR", "Jf", "zh", "Bh", "$J", "YR", "Qf", "oQ", "aQ", "j9", "X9", "Z9", "J9", "eQ", "sQ", "rQ", "nQ", "iQ", "lQ", "Q9", "tQ", "Y9", "cQ", "uQ", "pQ", "Mb", "sF", "mQ", "dQ", "_n", "iF", "sk", "zb", "v", "pr", "In", "Bb", "ik", "yi", "Vh", "bi", "ak", "yQ", "lk", "bQ", "uk", "wQ", "ck", "IQ", "pk", "CQ", "mk", "vQ", "fk", "SQ", "dk", "NQ", "hk", "kQ", "gk", "TQ", "xk", "_Q", "yk", "EQ", "bk", "AQ", "wk", "DQ", "Ik", "$Q", "Ck", "RQ", "vk", "FQ", "Sk", "OQ", "Nk", "MQ", "Gh", "Vb", "jb", "Wb", "Kb", "Gb", "Yb", "qb", "Xb", "Ub", "Hb", "aF", "kk", "PQ", "lF", "uF", "Zb", "ae", "cF", "pF", "Hn", "mF", "td", "Jb", "Qb", "ed", "fF", "dF", "hF", "gF", "xF", "yF", "bF", "wF", "Tk", "IF", "CF", "vF", "tw", "SF", "NF", "kF", "TF", "_F", "EF", "AF", "DF", "$F", "RF", "FF", "OF", "_k", "Wh", "Ek", "Bu", "utt", "ctt", "MF", "ott", "stt", "rd", "PF", "itt", "att", "ltt", "Uh", "ew", "ptt", "mtt", "htt", "sd", "wi", "ld", "od", "ud", "jF", "QF", "tO", "eO", "nO", "Yk", "rO", "XF", "KF", "UF", "zF", "rw", "Vu", "BF", "Dk", "VF", "nw", "GF", "gtt", "WF", "xtt", "nd", "qh", "Uk", "$k", "Kh", "Rk", "HF", "sw", "qF", "Dl", "Gk", "er", "Bk", "Lk", "zk", "ow", "Vk", "Pk", "Mk", "Ok", "iw", "Wk", "Fk", "Zc", "En", "ytt", "btt", "aw", "jh", "YF", "lw", "Hk", "ZF", "uw", "cw", "id", "Xh", "qk", "Kk", "pw", "jk", "Xk", "ad", "JF", "wtt", "mw", "tt", "Itt", "Qk", "fd", "dw", "tT", "Jk", "eT", "Jc", "rT", "oT", "iT", "lT", "aT", "hw", "gw", "cT", "uT", "mT", "pT", "xw", "fT", "yw", "dT", "hT", "Yh", "gT", "xT", "yT", "bw", "ww", "Iw", "tp", "wT", "Ii", "OO", "Zk", "ep", "Cw", "vw", "hd", "LO", "CT", "vT", "Sw", "rp", "np", "op", "NT", "Nw", "kw", "dd", "sp", "Ctt", "sO", "Qt", "Ir", "iO", "pd", "Xr", "aO", "Ro", "lO", "Fo", "uO", "oe", "md", "vtt", "ya", "cO", "Stt", "pO", "_r", "At", "An", "Ntt", "mO", "nT", "fO", "sT", "dO", "ktt", "hO", "Ttt", "gO", "_tt", "xO", "Ett", "yO", "Att", "bO", "Dtt", "wO", "$tt", "IO", "Rtt", "CO", "Ftt", "vO", "Ott", "SO", "Mtt", "Qc", "NO", "Ptt", "kO", "Ltt", "TO", "We", "_O", "ztt", "EO", "Btt", "Vtt", "Gtt", "Wtt", "AO", "Utt", "Htt", "DO", "Oo", "bT", "RO", "$O", "qtt", "FO", "IT", "MO", "Mo", "PO", "Ktt", "zO", "jtt", "BO", "Xtt", "VO", "ST", "Ytt", "Ztt", "Zh", "GO", "Jh", "WO", "kT", "HO", "TT", "qO", "Jtt", "_T", "KO", "ET", "jO", "AT", "XO", "ip", "te", "YO", "DT", "ZO", "Qtt", "JO", "tet", "QO", "eet", "tM", "ret", "eM", "net", "rM", "oet", "nM", "set", "oM", "iet", "sM", "aet", "iM", "uet", "aM", "cet", "lM", "pet", "met", "uM", "fet", "cM", "gd", "_w", "Ew", "pM", "det", "mM", "het", "fM", "get", "dM", "xet", "hM", "yet", "gM", "bet", "xM", "wet", "yM", "Iet", "bM", "Cet", "wM", "vet", "IM", "ba", "CM", "Gu", "vM", "$T", "SM", "Net", "NM", "ket", "kM", "Tet", "TM", "_et", "_M", "Eet", "EM", "Aet", "AM", "Det", "DM", "$et", "$M", "Ret", "RM", "Fet", "FM", "Oet", "OM", "Met", "MM", "RT", "PM", "Pet", "LM", "Let", "zM", "zet", "BM", "VM", "GM", "WM", "Bet", "UM", "$l", "HM", "Vet", "qM", "Get", "KM", "Wet", "Uet", "Het", "qet", "Ket", "jet", "Xet", "jM", "xd", "XM", "Yet", "Qh", "tg", "Aw", "Zet", "Jet", "FT", "Qet", "trt", "YM", "eg", "ert", "ZM", "JM", "rrt", "QM", "nrt", "tP", "ort", "eP", "srt", "rP", "irt", "nP", "art", "oP", "lrt", "sP", "urt", "iP", "crt", "aP", "prt", "lP", "mrt", "frt", "uP", "drt", "cP", "hrt", "grt", "pP", "xrt", "mP", "yrt", "fP", "OT", "dP", "brt", "hP", "wrt", "gP", "Irt", "xP", "Crt", "yP", "bP", "wP", "vrt", "IP", "Srt", "CP", "Nrt", "vP", "krt", "Trt", "SP", "kP", "MT", "NP", "_rt", "TP", "Ert", "Art", "_P", "Drt", "$rt", "EP", "Rrt", "Frt", "AP", "Ort", "DP", "rg", "$P", "RP", "FP", "PT", "OP", "Mrt", "Dw", "Prt", "Lrt", "MP", "zrt", "PP", "Brt", "LP", "Vrt", "zP", "Grt", "BP", "Wrt", "VP", "Urt", "GP", "Hrt", "WP", "qrt", "UP", "Krt", "HP", "jrt", "qP", "KP", "Xrt", "jP", "Yrt", "XP", "Zrt", "Jrt", "YP", "Qrt", "ZP", "tnt", "JP", "ent", "rnt", "nnt", "QP", "ont", "tL", "snt", "eL", "int", "rL", "ant", "nL", "lnt", "oL", "unt", "sL", "cnt", "iL", "pnt", "aL", "mnt", "lL", "fnt", "uL", "dnt", "cL", "hnt", "pL", "mL", "gnt", "fL", "xnt", "dL", "ynt", "hL", "bnt", "gL", "wnt", "xL", "Int", "yL", "Cnt", "bL", "vnt", "wL", "Snt", "IL", "Nnt", "CL", "knt", "vL", "Dnt", "$nt", "SL", "Tnt", "_nt", "Ant", "Ent", "ng", "Rnt", "NL", "Fnt", "kL", "Ont", "TL", "Mnt", "Ci", "Hnt", "ag", "QT", "DL", "Pw", "ht", "VT", "WT", "YT", "UT", "KT", "qT", "jT", "GT", "Fl", "yd", "$L", "r1", "Wnt", "JT", "ZT", "Ol", "wd", "t1", "n1", "AL", "e1", "Kn", "o1", "s1", "Uu", "i1", "zw", "HT", "Mw", "qnt", "Knt", "Lw", "Unt", "bd", "ig", "XT", "ap", "$w", "qn", "Lnt", "Pnt", "Wu", "Yr", "Pr", "lp", "_L", "og", "wa", "EL", "sg", "znt", "Bnt", "Vnt", "Rl", "Gnt", "RL", "Rw", "Fw", "Ow", "BT", "jnt", "kt", "Ue", "vi", "up", "Xnt", "FL", "Cd", "vd", "Bw", "OL", "ML", "Vw", "Ynt", "Qnt", "rot", "Znt", "eot", "Jnt", "tot", "iot", "Nd", "yot", "wot", "Cot", "Sot", "kot", "Tot", "_ot", "PL", "xot", "bot", "Iot", "vot", "Not", "Eot", "Aot", "LL", "aot", "hot", "uot", "pot", "lot", "got", "cot", "mot", "fot", "dot", "not", "oot", "sot", "cp", "kd", "Td", "_d", "zt", "BL", "a1", "zL", "VL", "GL", "he", "Gw", "Ww", "Uw", "Hw", "Rot", "lg", "qw", "g1", "b1", "m1", "h1", "p1", "c1", "d1", "f1", "u1", "l1", "I1", "w1", "v1", "C1", "jw", "Zw", "Kw", "Yw", "Xw", "x1", "y1", "ug", "Fot", "WL", "Jw", "UL", "HL", "qL", "KL", "jL", "XL", "YL", "ZL", "JL", "QL", "tz", "ez", "rz", "nz", "oz", "sz", "iz", "az", "lz", "uz", "cz", "pz", "mz", "fz", "dz", "hz", "gz", "xz", "yz", "bz", "wz", "Qw", "Iz", "Cz", "vz", "tI", "Sz", "Nz", "kz", "Tz", "_z", "Ez", "Az", "Dz", "$z", "mp", "Rz", "N1", "rr", "Fz", "eI", "Ed", "Oot", "rI", "Mz", "Pz", "Oz", "Mot", "Pot", "Lot", "Lr", "xr", "Lz", "k1", "zz", "Bz", "Vz", "Ia", "Gz", "Uz", "Hz", "qz", "Kz", "jz", "Dn", "nI", "Bot", "Vot", "Got", "oI", "Wot", "Uot", "Hot", "qot", "Kot", "Dd", "$n", "Xn", "jn", "nr", "Zz", "Rn", "Jz", "T1", "_1", "jot", "Qz", "E1", "A1", "Xot", "t3", "Po", "It", "ce", "Ml", "$d", "D1", "cg", "e3", "pg", "r3", "n3", "rt", "o3", "mg", "sI", "Zot", "Yn", "iI", "Jot", "aI", "Hu", "s3", "fp", "i3", "Pe", "a3", "$1", "dp", "Qot", "l3", "u3", "tst", "c3", "est", "rst", "p3", "nst", "ost", "m3", "f3", "sst", "d3", "lI", "uI", "cI", "h3", "ist", "g3", "ast", "x3", "pI", "mI", "y3", "b3", "fI", "lst", "w3", "ust", "I3", "cst", "pst", "C3", "mst", "fst", "v3", "dst", "hst", "S3", "gst", "xst", "yst", "N3", "bst", "wst", "k3", "Si", "qu", "Ist", "T3", "Cst", "_3", "dI", "hI", "vst", "E3", "Sst", "A3", "Nst", "D3", "gI", "xI", "kst", "$3", "yI", "Tst", "R1", "bI", "_st", "Ni", "R3", "Est", "F3", "Ast", "O3", "Dst", "$st", "Rst", "M3", "Fst", "P3", "Ost", "F1", "L3", "Pl", "z3", "Mst", "B3", "O1", "V3", "G3", "Pst", "W3", "wI", "II", "Lst", "U3", "CI", "H3", "zst", "q3", "vI", "NI", "SI", "hp", "K3", "Rd", "Bst", "M1", "j3", "Fd", "kI", "Od", "TI", "_I", "EI", "AI", "Vst", "X3", "DI", "$I", "RI", "FI", "Gst", "Y3", "OI", "Wst", "Z3", "Ust", "J3", "Hst", "Q3", "qst", "tB", "Kst", "jst", "Xst", "eB", "Yst", "Zst", "rB", "MI", "Jst", "nB", "gp", "fg", "oB", "sB", "PI", "Qst", "iB", "tit", "aB", "eit", "lB", "LI", "rit", "uB", "Md", "Pd", "nit", "cB", "zI", "BI", "oit", "pB", "sit", "mB", "VI", "iit", "fB", "GI", "ait", "dB", "lit", "hB", "uit", "cit", "pit", "gB", "mit", "fit", "dit", "xB", "hit", "git", "xit", "yB", "yit", "bit", "bB", "wit", "Iit", "P1", "wB", "WI", "IB", "CB", "Cit", "vB", "dg", "UI", "vit", "SB", "HI", "Ll", "NB", "qI", "kB", "TB", "Sit", "_B", "Nit", "kit", "Tit", "EB", "KI", "jI", "AB", "_it", "Ld", "L1", "Eit", "DB", "Ait", "$B", "XI", "Dit", "RB", "YI", "$it", "z1", "FB", "Rit", "Fit", "Oit", "OB", "Mit", "Pit", "Lit", "MB", "zit", "PB", "Bit", "Vit", "LB", "Git", "Wit", "zB", "Uit", "Hit", "BB", "qit", "Kit", "jit", "VB", "Xit", "Yit", "Zit", "GB", "Jit", "WB", "Qit", "tat", "eat", "UB", "rat", "nat", "HB", "oat", "sat", "iat", "qB", "aat", "lat", "KB", "uat", "cat", "pat", "jB", "ZI", "JI", "mat", "XB", "QI", "fat", "YB", "ZB", "B1", "JB", "dat", "hat", "gat", "QB", "xat", "tV", "yat", "eV", "tC", "eC", "bat", "rV", "wat", "nV", "oV", "sV", "iV", "aV", "Iat", "lV", "Cat", "vat", "Sat", "uV", "rC", "nC", "Nat", "cV", "kat", "Tat", "_at", "pV", "oC", "Eat", "Aat", "V1", "mV", "fV", "G1", "dV", "W1", "hV", "Dat", "gV", "$at", "Rat", "Fat", "xV", "Oat", "Mat", "yV", "Pat", "Lat", "bV", "zat", "Bat", "wV", "sC", "Vat", "IV", "hg", "CV", "vV", "SV", "Gat", "NV", "iC", "aC", "U1", "kV", "Wat", "Uat", "Hat", "TV", "qat", "_V", "Kat", "EV", "jat", "AV", "Xat", "DV", "H1", "$V", "Yat", "Zat", "RV", "Jat", "Qat", "tlt", "FV", "elt", "rlt", "nlt", "OV", "lC", "uC", "olt", "MV", "cC", "slt", "PV", "pC", "mC", "ilt", "LV", "fC", "alt", "zV", "dC", "hC", "llt", "BV", "gC", "VV", "ult", "clt", "GV", "plt", "mlt", "WV", "Ku", "xC", "flt", "UV", "yC", "dlt", "HV", "bC", "hlt", "qV", "glt", "xlt", "KV", "ylt", "blt", "wlt", "jV", "Ilt", "Clt", "XV", "vlt", "Slt", "Nlt", "YV", "klt", "Tlt", "ZV", "_lt", "Elt", "JV", "Alt", "QV", "Dlt", "tG", "$lt", "eG", "Rlt", "rG", "Flt", "nG", "Olt", "oG", "Mlt", "sG", "iG", "Plt", "aG", "Llt", "zlt", "lG", "uG", "Blt", "cG", "Vlt", "pG", "Glt", "mG", "wC", "Wlt", "fG", "Ult", "dG", "Hlt", "hG", "qlt", "gG", "Klt", "jlt", "xG", "Xlt", "Ylt", "yG", "Zlt", "bG", "IC", "Jlt", "q1", "wG", "CC", "vC", "xp", "IG", "Qlt", "CG", "SC", "tut", "vG", "eut", "SG", "rut", "NG", "NC", "nut", "kG", "out", "Nt", "ju", "TG", "sut", "iut", "_G", "yt", "EG", "AG", "DG", "ee", "aut", "$G", "RG", "lut", "uut", "FG", "yp", "OG", "MG", "cut", "mo", "mut", "put", "PG", "Cn", "LG", "fut", "dut", "zG", "BG", "hut", "gut", "VG", "kC", "GG", "WG", "UG", "HG", "qG", "KG", "jG", "XG", "xut", "yut", "YG", "ZG", "but", "wut", "JG", "QG", "Iut", "Cut", "tW", "eW", "vut", "Sut", "rW", "mr", "nW", "oW", "Nut", "kut", "sW", "Lo", "Tut", "_ut", "Eut", "iW", "Aut", "aW", "lW", "Dut", "$ut", "uW", "Rut", "cW", "Fut", "pW", "Fn", "mW", "fW", "dW", "Out", "Mut", "hW", "K1", "gW", "xW", "Put", "Lut", "yW", "bW", "zut", "But", "wW", "IW", "Vut", "Gut", "CW", "vW", "Wut", "Uut", "SW", "NW", "Hut", "qut", "kW", "TW", "_W", "j1", "EW", "Kut", "jut", "AW", "DW", "Xut", "Yut", "$W", "RW", "Zut", "Jut", "FW", "OW", "Qut", "tct", "MW", "PW", "ect", "rct", "LW", "zW", "nct", "oct", "BW", "VW", "sct", "ict", "GW", "WW", "act", "lct", "UW", "HW", "uct", "cct", "qW", "KW", "pct", "mct", "jW", "XW", "YW", "fct", "dct", "ZW", "hct", "JW", "QW", "tU", "TC", "eU", "rU", "X1", "nU", "oU", "gct", "xct", "sU", "iU", "yct", "aU", "lU", "bct", "wct", "uU", "cU", "Ict", "Cct", "pU", "mU", "vct", "Sct", "fU", "dU", "Nct", "kct", "hU", "gU", "Tct", "_ct", "xU", "Ect", "yU", "Act", "bU", "wU", "IU", "CU", "vU", "Dct", "$ct", "SU", "Rct", "NU", "Fct", "kU", "TU", "Oct", "Mct", "_U", "EU", "AU", "Pct", "DU", "$U", "Lct", "RU", "zct", "FU", "OU", "Bct", "Vct", "MU", "PU", "Gct", "Wct", "LU", "zU", "Uct", "Hct", "BU", "qct", "VU", "GU", "Kct", "jct", "WU", "UU", "Xct", "Yct", "HU", "qU", "Zct", "Jct", "KU", "jU", "Qct", "tpt", "XU", "YU", "ept", "rpt", "ZU", "JU", "npt", "opt", "QU", "t4", "spt", "ipt", "e4", "apt", "r4", "Y1", "n4", "lpt", "upt", "o4", "s4", "cpt", "Z1", "i4", "a4", "ppt", "mpt", "l4", "u4", "fpt", "c4", "p4", "zd", "m4", "dpt", "hpt", "f4", "d4", "gpt", "xpt", "h4", "g4", "ypt", "bpt", "x4", "wpt", "y4", "b4", "Ipt", "Cpt", "w4", "vpt", "I4", "Spt", "C4", "v4", "Npt", "kpt", "_C", "Tpt", "S4", "N4", "_pt", "Ept", "k4", "T4", "Apt", "Dpt", "_4", "$pt", "E4", "Rpt", "A4", "D4", "$4", "R4", "F4", "Fpt", "Opt", "O4", "M4", "Mpt", "Ppt", "P4", "L4", "Lpt", "zpt", "z4", "B4", "Bpt", "Vpt", "V4", "G4", "Gpt", "Wpt", "W4", "U4", "Upt", "Hpt", "H4", "q4", "K4", "j4", "qpt", "Kpt", "X4", "Y4", "jpt", "Xpt", "Z4", "J4", "Ypt", "Zpt", "Q4", "tH", "eH", "Jpt", "Qpt", "rH", "nH", "oH", "sH", "iH", "tmt", "aH", "lH", "emt", "rmt", "uH", "cH", "nmt", "omt", "pH", "mH", "EC", "AC", "smt", "fH", "imt", "dH", "hH", "amt", "lmt", "gH", "umt", "xH", "yH", "bH", "cmt", "wH", "IH", "pmt", "mmt", "CH", "vH", "fmt", "dmt", "SH", "hmt", "NH", "gmt", "kH", "xmt", "TH", "ymt", "_H", "EH", "bmt", "wmt", "AH", "DH", "$H", "RH", "Imt", "Cmt", "FH", "OH", "vmt", "Smt", "MH", "PH", "Nmt", "kmt", "LH", "zH", "Tmt", "_mt", "BH", "Emt", "VH", "Amt", "GH", "Dmt", "WH", "$mt", "J1", "s_", "QH", "i_", "ZH", "Rmt", "eq", "o_", "Omt", "Fmt", "JH", "RC", "xg", "tq", "gg", "a_", "yg", "Mmt", "Gmt", "rq", "Wmt", "Umt", "Hmt", "qmt", "draw_exports", "__export", "AnchorPosition", "DrawBox", "DrawBoxOptions", "DrawFaceLandmarks", "DrawFaceLandmarksOptions", "DrawTextField", "DrawTextFieldOptions", "drawContour", "drawDetections", "drawFaceExpressions", "drawFaceLandmarks", "drawContour", "ctx", "points", "isClosed", "x", "y", "prevIdx", "from", "to", "utils_exports", "__export", "computeReshapedDimensions", "getCenterPoint", "isDimensions", "isEven", "isFloat", "isTensor", "isTensor1D", "isTensor2D", "isTensor3D", "isTensor4D", "isValidNumber", "isValidProbablitiy", "range", "round", "Dimensions", "_Dimensions", "width", "height", "isValidNumber", "isTensor", "tensor", "dim", "Lt", "isTensor1D", "isTensor2D", "isTensor3D", "isTensor4D", "isFloat", "num", "isEven", "round", "prec", "f", "isDimensions", "obj", "computeReshapedDimensions", "width", "height", "inputSize", "scale", "Dimensions", "getCenterPoint", "pts", "sum", "pt", "Point", "range", "start", "step", "_", "i", "isValidNumber", "isValidProbablitiy", "Point", "_Point", "x", "y", "pt", "Box", "_Box", "rect", "isValidNumber", "box", "callee", "allowNegativeDimensions", "_box", "isBbox", "isRect", "x", "y", "width", "height", "Point", "val", "diff", "s", "scaleX", "isDimensions", "scaleY", "padX", "padY", "imgWidth", "imgHeight", "right", "bottom", "clippedX", "clippedY", "newWidth", "newHeight", "clippedWidth", "clippedHeight", "sx", "sy", "imageHeight", "imageWidth", "w", "h", "dx", "dy", "edx", "edy", "ex", "ey", "region", "BoundingBox", "Box", "left", "top", "right", "bottom", "allowNegativeDimensions", "ObjectDetection", "_ObjectDetection", "score", "classScore", "className", "relativeBox", "imageDims", "Dimensions", "Box", "width", "height", "FaceDetection", "_FaceDetection", "ObjectDetection", "score", "relativeBox", "imageDims", "width", "height", "iou", "box1", "box2", "isIOU", "width", "height", "interSection", "minBbox", "pts", "xs", "pt", "ys", "minX", "min", "x", "minY", "y", "maxX", "max", "maxY", "BoundingBox", "nonMaxSuppression", "boxes", "scores", "iouThreshold", "isIOU", "indicesSortedByScore", "score", "boxIndex", "c1", "c2", "c", "pick", "curr", "indices", "outputs", "i", "idx", "currBox", "idxBox", "iou", "_", "j", "normalize", "x", "meanRgb", "B", "r", "g", "b", "avg_r", "Co", "avg_g", "avg_b", "avg_rgb", "ie", "at", "padToSquare", "imgTensor", "isCenterImage", "B", "height", "width", "dimDiff", "paddingAmount", "paddingAxis", "createPaddingTensor", "paddingAmountLocal", "paddingTensorShape", "Co", "paddingTensorAppend", "remainingPaddingAmount", "tensorsToStack", "t", "J", "ie", "shuffleArray", "inputArray", "array", "i", "j", "x", "sigmoid", "x", "inverseSigmoid", "Rect", "Box", "x", "y", "width", "height", "allowNegativeDimensions", "relX", "relY", "relScale", "FaceLandmarks", "relativeFaceLandmarkPositions", "imgDims", "shift", "Point", "width", "height", "Dimensions", "pt", "x", "y", "detection", "options", "box", "FaceDetection", "Box", "useDlibAlignment", "minBoxPadding", "centers", "leftEyeCenter", "rightEyeCenter", "mouthCenter", "distToMouth", "eyeToMouthDist", "size", "refPoint", "getCenterPoint", "Rect", "padding", "minBbox", "FaceLandmarks5", "FaceLandmarks", "pts", "getCenterPoint", "FaceLandmarks68", "FaceLandmarks", "getCenterPoint", "FaceMatch", "label", "distance", "withDistance", "round", "LabeledBox", "Box", "box", "callee", "isValidNumber", "label", "LabeledFaceDescriptors", "_LabeledFaceDescriptors", "label", "descriptors", "desc", "d", "json", "PredictedBox", "LabeledBox", "box", "callee", "isValidProbablitiy", "label", "score", "classScore", "isWithFaceDetection", "obj", "FaceDetection", "extendWithFaceDetection", "sourceObj", "detection", "createBrowserEnv", "fetch", "isNodejs", "createFileSystem", "fs", "requireFsError", "isNodejs", "err", "filePath", "resolve", "reject", "buffer", "createNodejsEnv", "Canvas", "Image", "Video", "createCanvasElement", "createImageElement", "createVideoElement", "fetch", "fileSystem", "createFileSystem", "isBrowser", "environment", "getEnv", "setEnv", "env", "initialize", "isBrowser", "createBrowserEnv", "isNodejs", "createNodejsEnv", "monkeyPatch", "Canvas", "Image", "createFileSystem", "resolveInput", "arg", "env", "getContext2dOrThrow", "canvasArg", "Canvas", "CanvasRenderingContext2D", "env", "canvas", "resolveInput", "ctx", "AnchorPosition", "DrawTextFieldOptions", "options", "anchorPosition", "backgroundColor", "fontColor", "fontSize", "fontStyle", "padding", "DrawTextField", "_DrawTextField", "text", "anchor", "ctx", "l", "w0", "w1", "canvasDims", "isShiftLeft", "isShiftTop", "textFieldWidth", "textFieldHeight", "x", "y", "width", "height", "newX", "newY", "canvasArg", "canvas", "resolveInput", "getContext2dOrThrow", "maxTextWidth", "textHeight", "upperLeft", "textLine", "i", "DrawBoxOptions", "options", "boxColor", "lineWidth", "label", "drawLabelOptions", "defaultDrawLabelOptions", "DrawTextFieldOptions", "DrawBox", "box", "Box", "canvasArg", "ctx", "getContext2dOrThrow", "x", "y", "width", "height", "DrawTextField", "drawDetections", "canvasArg", "detections", "det", "score", "FaceDetection", "isWithFaceDetection", "box", "Box", "label", "round", "DrawBox", "isMediaLoaded", "media", "Image", "Video", "env", "awaitMediaLoaded", "media", "resolve", "reject", "env", "isMediaLoaded", "onError", "e", "onLoad", "bufferToImage", "buf", "resolve", "reject", "reader", "img", "env", "getMediaDimensions", "input", "Image", "Video", "env", "Dimensions", "createCanvas", "width", "height", "createCanvasElement", "env", "canvas", "createCanvasFromMedia", "media", "dims", "ImageData", "isMediaLoaded", "getMediaDimensions", "getContext2dOrThrow", "imageTensorToCanvas", "imgTensor", "canvas", "targetCanvas", "env", "height", "width", "numChannels", "isTensor4D", "imgTensor3D", "B", "_y", "isMediaElement", "input", "Image", "Canvas", "Video", "env", "imageToSquare", "input", "inputSize", "centerImage", "Image", "Canvas", "env", "createCanvas", "dims", "getMediaDimensions", "scale", "width", "height", "targetCanvas", "inputCanvas", "createCanvasFromMedia", "offset", "dx", "dy", "getContext2dOrThrow", "NetInput", "inputs", "treatAsBatchInput", "input", "idx", "isTensor3D", "isTensor4D", "batchSize", "canvas", "env", "createCanvasFromMedia", "range", "_", "batchIdx", "width", "height", "computeReshapedDimensions", "inputSize", "isCenterInputs", "B", "inputTensors", "Lt", "imgTensor", "je", "padToSquare", "fn", "outputCanvas", "imageToSquare", "result", "_y", "ctx", "Fe", "t", "J", "toNetInput", "inputs", "NetInput", "inputArgArray", "getIdxHint", "idx", "inputArray", "resolveInput", "input", "i", "isMediaElement", "isTensor3D", "isTensor4D", "batchSize", "awaitMediaLoaded", "extractFaces", "input", "detections", "Canvas", "env", "canvas", "netInput", "toNetInput", "tensorOrCanvas", "imageTensorToCanvas", "ctx", "getContext2dOrThrow", "det", "FaceDetection", "box", "x", "y", "width", "height", "faceImg", "createCanvas", "extractFaceTensors", "imageTensor", "detections", "isTensor3D", "isTensor4D", "B", "imgHeight", "imgWidth", "numChannels", "det", "FaceDetection", "box", "x", "y", "width", "height", "xm", "fetchOrThrow", "url", "init", "fetch", "env", "res", "fetchImage", "uri", "res", "fetchOrThrow", "blob", "bufferToImage", "fetchJson", "uri", "fetchOrThrow", "fetchNetWeights", "uri", "fetchOrThrow", "bufferToVideo", "buf", "resolve", "reject", "video", "env", "fetchVideo", "uri", "res", "fetchOrThrow", "blob", "bufferToVideo", "getModelUris", "uri", "defaultModelName", "defaultManifestFilename", "protocol", "parts", "s", "manifestFile", "modelBaseUri", "loadWeightMap", "uri", "defaultModelName", "manifestUri", "modelBaseUri", "getModelUris", "manifest", "fetchJson", "Mr", "matchDimensions", "input", "reference", "useMediaDimensions", "width", "height", "getMediaDimensions", "NeuralNetwork", "name", "paramPath", "obj", "objProp", "tensor", "param", "ml", "path", "variable", "ir", "throwOnRedispose", "flat", "arr", "weightsOrUrl", "uri", "weightMap", "loadWeightMap", "filePath", "readFile", "env", "manifestUri", "modelBaseUri", "getModelUris", "fetchWeightsFromDisk", "filePaths", "fp", "buf", "loadWeights", "Mr", "manifest", "paramMappings", "params", "weights", "result", "res", "Lt", "depthwiseSeparableConv", "x", "params", "stride", "B", "out", "fm", "denseBlock3", "x", "denseBlockParams", "isFirstLayer", "B", "out1", "Or", "Nn", "depthwiseSeparableConv", "out2", "in3", "out3", "denseBlock4", "isScaleDown", "in4", "out4", "convLayer", "x", "params", "padding", "withRelu", "B", "out", "Nn", "Or", "disposeUnusedWeightTensors", "weightMap", "paramMappings", "path", "pm", "extractConvParamsFactory", "extractWeights", "paramMappings", "channelsIn", "channelsOut", "filterSize", "mappedPrefix", "filters", "_A", "bias", "Oe", "extractFCParamsFactory", "extractWeights", "paramMappings", "channelsIn", "channelsOut", "mappedPrefix", "fc_weights", "ci", "fc_bias", "Oe", "SeparableConvParams", "depthwise_filter", "pointwise_filter", "bias", "extractSeparableConvParamsFactory", "extractWeights", "paramMappings", "channelsIn", "channelsOut", "mappedPrefix", "depthwise_filter", "_A", "pointwise_filter", "bias", "Oe", "SeparableConvParams", "loadSeparableConvParamsFactory", "extractWeightEntry", "prefix", "extractWeightEntryFactory", "weightMap", "paramMappings", "originalPath", "paramRank", "mappedPath", "tensor", "isTensor", "extractWeightsFactory", "weights", "remainingWeights", "extractWeights", "numWeights", "ret", "getRemainingWeights", "extractorsFactory", "extractWeights", "paramMappings", "extractConvParams", "extractConvParamsFactory", "extractSeparableConvParams", "extractSeparableConvParamsFactory", "extractDenseBlock3Params", "channelsIn", "channelsOut", "mappedPrefix", "isFirstLayer", "conv0", "conv1", "conv2", "extractDenseBlock4Params", "conv3", "extractParams", "weights", "paramMappings", "extractWeights", "getRemainingWeights", "extractWeightsFactory", "extractDenseBlock4Params", "extractorsFactory", "dense0", "dense1", "dense2", "dense3", "loadConvParamsFactory", "extractWeightEntry", "prefix", "filters", "bias", "loadParamsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractConvParams", "loadConvParamsFactory", "extractSeparableConvParams", "loadSeparableConvParamsFactory", "extractDenseBlock3Params", "prefix", "isFirstLayer", "conv0", "conv1", "conv2", "extractDenseBlock4Params", "conv3", "extractParamsFromWeightMap", "weightMap", "paramMappings", "extractDenseBlock4Params", "loadParamsFactory", "params", "disposeUnusedWeightTensors", "FaceFeatureExtractor", "NeuralNetwork", "input", "params", "B", "batchTensor", "J", "normalized", "normalize", "out", "denseBlock4", "xu", "toNetInput", "weightMap", "extractParamsFromWeightMap", "weights", "extractParams", "fullyConnectedLayer", "x", "params", "B", "Bt", "extractParams", "weights", "channelsIn", "channelsOut", "paramMappings", "extractWeights", "getRemainingWeights", "extractWeightsFactory", "fc", "extractFCParamsFactory", "extractParamsFromWeightMap", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractFcParams", "prefix", "weights", "bias", "params", "disposeUnusedWeightTensors", "seperateWeightMaps", "weightMap", "featureExtractorMap", "classifierMap", "key", "map", "FaceProcessor", "NeuralNetwork", "_name", "faceFeatureExtractor", "input", "params", "B", "bottleneckFeatures", "NetInput", "fullyConnectedLayer", "throwOnRedispose", "weights", "paramMappings", "extractParams", "weightMap", "featureExtractorMap", "classifierMap", "seperateWeightMaps", "extractParamsFromWeightMap", "cIn", "cOut", "classifierWeightSize", "featureExtractorWeights", "classifierWeights", "FACE_EXPRESSION_LABELS", "FaceExpressions", "probabilities", "expression", "idx", "e0", "e1", "FaceExpressionNet", "FaceProcessor", "faceFeatureExtractor", "FaceFeatureExtractor", "input", "B", "Eu", "toNetInput", "netInput", "out", "probabilitesByBatch", "gr", "t", "data", "predictionsByBatch", "probabilites", "FaceExpressions", "isWithFaceExpressions", "obj", "FaceExpressions", "extendWithFaceExpressions", "sourceObj", "expressions", "drawFaceExpressions", "canvasArg", "faceExpressions", "minConfidence", "textFieldAnchor", "e", "expr", "FaceExpressions", "isWithFaceExpressions", "resultsToDisplay", "exprLocal", "anchor", "isWithFaceDetection", "Point", "DrawTextField", "round", "isWithFaceLandmarks", "obj", "isWithFaceDetection", "FaceLandmarks", "FaceDetection", "calculateFaceAngle", "mesh", "degrees", "radians", "calcLengthBetweenTwoPoints", "a", "b", "angle", "calcYaw", "leftPoint", "midPoint", "rightPoint", "leftToMidpoint", "rightToMidpoint", "calcRoll", "lever", "pivot", "hypotenuse", "opposite", "angleInRadians", "angleInDegrees", "normalizeAngle", "tiltDirection", "calcPitch", "base", "baseCoords", "Point", "midToBaseLength", "direction", "pt", "extendWithFaceLandmarks", "sourceObj", "unshiftedLandmarks", "shift", "landmarks", "rect", "imageDims", "alignedRect", "DrawFaceLandmarksOptions", "options", "drawLines", "drawPoints", "lineWidth", "lineColor", "pointSize", "pointColor", "DrawFaceLandmarks", "faceLandmarks", "canvasArg", "ctx", "getContext2dOrThrow", "FaceLandmarks68", "drawContour", "drawPoint", "pt", "drawFaceLandmarks", "f", "landmarks", "FaceLandmarks", "isWithFaceLandmarks", "version", "extractorsFactory", "extractWeights", "paramMappings", "extractConvParams", "extractConvParamsFactory", "extractSeparableConvParams", "extractSeparableConvParamsFactory", "extractReductionBlockParams", "channelsIn", "channelsOut", "mappedPrefix", "separable_conv0", "separable_conv1", "expansion_conv", "extractMainBlockParams", "channels", "separable_conv2", "extractParams", "weights", "numMainBlocks", "getRemainingWeights", "extractWeightsFactory", "entry_flow_conv_in", "entry_flow_reduction_block_0", "entry_flow_reduction_block_1", "entry_flow", "middle_flow", "range", "idx", "exit_flow_reduction_block", "exit_flow_separable_conv", "exit_flow", "loadParamsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractConvParams", "loadConvParamsFactory", "extractSeparableConvParams", "loadSeparableConvParamsFactory", "extractReductionBlockParams", "mappedPrefix", "separable_conv0", "separable_conv1", "expansion_conv", "extractMainBlockParams", "separable_conv2", "extractParamsFromWeightMap", "numMainBlocks", "entry_flow_conv_in", "entry_flow_reduction_block_0", "entry_flow_reduction_block_1", "entry_flow", "middle_flow", "range", "idx", "exit_flow_reduction_block", "exit_flow_separable_conv", "exit_flow", "disposeUnusedWeightTensors", "conv", "x", "params", "stride", "Nn", "reductionBlock", "isActivateInput", "out", "Or", "depthwiseSeparableConv", "ku", "mainBlock", "TinyXception", "NeuralNetwork", "numMainBlocks", "input", "B", "batchTensor", "J", "normalized", "normalize", "range", "idx", "toNetInput", "weightMap", "extractParamsFromWeightMap", "weights", "extractParams", "extractParams", "weights", "paramMappings", "extractWeights", "getRemainingWeights", "extractWeightsFactory", "extractFCParams", "extractFCParamsFactory", "age", "gender", "extractParamsFromWeightMap", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractFcParams", "prefix", "weights", "bias", "params", "disposeUnusedWeightTensors", "Gender", "AgeGenderNet", "NeuralNetwork", "faceFeatureExtractor", "TinyXception", "input", "params", "B", "bottleneckFeatures", "NetInput", "pooled", "xu", "age", "fullyConnectedLayer", "gender", "Eu", "toNetInput", "netInput", "out", "ages", "gr", "genders", "ageAndGenderTensors", "ageTensor", "i", "predictionsByBatch", "genderTensor", "probMale", "isMale", "genderProbability", "throwOnRedispose", "weights", "paramMappings", "extractParams", "weightMap", "featureExtractorMap", "classifierMap", "seperateWeightMaps", "extractParamsFromWeightMap", "featureExtractorWeights", "classifierWeights", "FaceLandmark68NetBase", "FaceProcessor", "output", "inputSize", "originalDimensions", "inputDimensions", "width", "height", "scale", "batchSize", "B", "createInterleavedTensor", "fillX", "fillY", "Fe", "Co", "getPadding", "batchIdx", "cond", "getPaddingX", "w", "getPaddingY", "_", "input", "out", "toNetInput", "netInput", "landmarkTensors", "gr", "landmarksForBatch", "landmarkTensor", "landmarksArray", "xCoords", "i", "isEven", "yCoords", "FaceLandmarks68", "Point", "t", "FaceLandmark68Net", "FaceLandmark68NetBase", "faceFeatureExtractor", "FaceFeatureExtractor", "extractParamsFromWeightMapTiny", "weightMap", "paramMappings", "extractDenseBlock3Params", "loadParamsFactory", "params", "disposeUnusedWeightTensors", "extractParamsTiny", "weights", "paramMappings", "extractWeights", "getRemainingWeights", "extractWeightsFactory", "extractDenseBlock3Params", "extractorsFactory", "dense0", "dense1", "dense2", "TinyFaceFeatureExtractor", "NeuralNetwork", "input", "params", "B", "batchTensor", "J", "normalized", "normalize", "out", "denseBlock3", "xu", "toNetInput", "weightMap", "extractParamsFromWeightMapTiny", "weights", "extractParamsTiny", "FaceLandmark68TinyNet", "FaceLandmark68NetBase", "faceFeatureExtractor", "TinyFaceFeatureExtractor", "FaceLandmarkNet", "FaceLandmark68Net", "scale", "x", "params", "$", "convLayer", "x", "params", "strides", "withRelu", "padding", "filters", "bias", "out", "Nn", "scale", "Or", "conv", "convNoRelu", "convDown", "extractorsFactory", "extractWeights", "paramMappings", "extractFilterValues", "numFilterValues", "numFilters", "filterSize", "weights", "depth", "isFloat", "B", "Vt", "_A", "extractConvParams", "mappedPrefix", "filters", "bias", "Oe", "extractScaleLayerParams", "numWeights", "biases", "extractConvLayerParams", "conv", "scale", "extractResidualLayerParams", "isDown", "conv1", "conv2", "extractParams", "getRemainingWeights", "extractWeightsFactory", "conv32_down", "conv32_1", "conv32_2", "conv32_3", "conv64_down", "conv64_1", "conv64_2", "conv64_3", "conv128_down", "conv128_1", "conv128_2", "conv256_down", "conv256_1", "conv256_2", "conv256_down_out", "fc", "ci", "extractorsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractScaleLayerParams", "prefix", "weights", "biases", "extractConvLayerParams", "filters", "bias", "scale", "extractResidualLayerParams", "extractParamsFromWeightMap", "conv32_down", "conv32_1", "conv32_2", "conv32_3", "conv64_down", "conv64_1", "conv64_2", "conv64_3", "conv128_down", "conv128_1", "conv128_2", "conv256_down", "conv256_1", "conv256_2", "conv256_down_out", "fc", "isTensor2D", "params", "disposeUnusedWeightTensors", "residual", "x", "params", "out", "conv", "convNoRelu", "Or", "residualDown", "convDown", "pooled", "xu", "zeros", "ke", "isPad", "padShapeX", "zerosW", "ie", "padShapeY", "zerosH", "FaceRecognitionNet", "NeuralNetwork", "input", "params", "B", "batchTensor", "J", "normalized", "normalize", "out", "convDown", "ku", "residual", "residualDown", "globalAvg", "Bt", "toNetInput", "_a", "dim", "netInput", "faceDescriptorTensors", "gr", "faceDescriptorsForBatch", "t", "weightMap", "extractParamsFromWeightMap", "weights", "extractParams", "createFaceRecognitionNet", "weights", "net", "FaceRecognitionNet", "extendWithFaceDescriptor", "sourceObj", "descriptor", "isWithAge", "obj", "extendWithAge", "sourceObj", "age", "isWithGender", "obj", "isValidProbablitiy", "extendWithGender", "sourceObj", "gender", "genderProbability", "extractorsFactory", "extractWeights", "paramMappings", "extractDepthwiseConvParams", "numChannels", "mappedPrefix", "filters", "_A", "batch_norm_scale", "Oe", "batch_norm_offset", "batch_norm_mean", "batch_norm_variance", "extractConvParams", "channelsIn", "channelsOut", "filterSize", "isPointwiseConv", "bias", "extractPointwiseConvParams", "extractConvPairParams", "depthwise_conv", "pointwise_conv", "extractMobilenetV1Params", "conv_0", "conv_1", "conv_2", "conv_3", "conv_4", "conv_5", "conv_6", "conv_7", "conv_8", "conv_9", "conv_10", "conv_11", "conv_12", "conv_13", "extractPredictionLayerParams", "box_encoding_0_predictor", "class_predictor_0", "box_encoding_1_predictor", "class_predictor_1", "box_encoding_2_predictor", "class_predictor_2", "box_encoding_3_predictor", "class_predictor_3", "box_encoding_4_predictor", "class_predictor_4", "box_encoding_5_predictor", "class_predictor_5", "extractParams", "weights", "getRemainingWeights", "extractWeightsFactory", "mobilenetv1", "prediction_layer", "output_layer", "uy", "extractorsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractPointwiseConvParams", "prefix", "idx", "mappedPrefix", "filters", "batch_norm_offset", "extractConvPairParams", "prefixDepthwiseConv", "mappedPrefixDepthwiseConv", "mappedPrefixPointwiseConv", "batch_norm_scale", "batch_norm_mean", "batch_norm_variance", "extractMobilenetV1Params", "extractConvParams", "bias", "extractBoxPredictorParams", "box_encoding_predictor", "class_predictor", "extractPredictionLayerParams", "extractParamsFromWeightMap", "extra_dim", "isTensor3D", "params", "disposeUnusedWeightTensors", "pointwiseConvLayer", "x", "params", "strides", "B", "out", "Nn", "vr", "epsilon", "depthwiseConvLayer", "x", "params", "strides", "B", "out", "ia", "oa", "vr", "getStridesForLayerIdx", "layerIdx", "idx", "mobileNetV1", "conv11", "pointwiseConvLayer", "param", "depthwiseConvStrides", "IOU", "boxes", "i", "j", "boxesData", "yminI", "xminI", "ymaxI", "xmaxI", "yminJ", "xminJ", "ymaxJ", "xmaxJ", "areaI", "areaJ", "intersectionYmin", "intersectionXmin", "intersectionYmax", "intersectionXmax", "intersectionArea", "nonMaxSuppression", "scores", "maxOutputSize", "iouThreshold", "scoreThreshold", "numBoxes", "outputSize", "candidates", "score", "boxIndex", "c", "c1", "c2", "suppressFunc", "x", "selected", "originalScore", "iou", "getCenterCoordinatesAndSizesLayer", "x", "vec", "gr", "Vt", "sizes", "at", "centers", "ct", "decodeBoxesLayer", "x0", "x1", "div0_out", "$", "Ke", "add0_out", "div1_out", "add1_out", "Fe", "outputLayer", "boxPredictions", "classPredictions", "params", "B", "batchSize", "boxes", "R", "Rr", "scoresAndClasses", "Qr", "Ot", "scores", "boxesByBatch", "scoresByBatch", "boxPredictionLayer", "x", "params", "B", "batchSize", "boxPredictionEncoding", "R", "convLayer", "classPrediction", "predictionLayer", "x", "conv11", "params", "B", "conv0", "pointwiseConvLayer", "conv1", "conv2", "conv3", "conv4", "conv5", "conv6", "conv7", "boxPrediction0", "boxPredictionLayer", "boxPrediction1", "boxPrediction2", "boxPrediction3", "boxPrediction4", "boxPrediction5", "boxPredictions", "ie", "classPredictions", "SsdMobilenetv1Options", "minConfidence", "maxResults", "SsdMobilenetv1", "NeuralNetwork", "input", "params", "B", "batchTensor", "J", "x", "at", "ct", "features", "mobileNetV1", "boxPredictions", "classPredictions", "predictionLayer", "outputLayer", "toNetInput", "options", "maxResults", "minConfidence", "SsdMobilenetv1Options", "netInput", "_boxes", "_scores", "boxes", "scores", "i", "scoresData", "indices", "nonMaxSuppression", "reshapedDims", "inputSize", "padX", "padY", "boxesData", "results", "idx", "top", "bottom", "val", "left", "right", "FaceDetection", "Rect", "weightMap", "extractParamsFromWeightMap", "weights", "extractParams", "createSsdMobilenetv1", "weights", "net", "SsdMobilenetv1", "createFaceDetectionNet", "FaceDetectionNet", "IOU_THRESHOLD", "BOX_ANCHORS", "Point", "BOX_ANCHORS_SEPARABLE", "MEAN_RGB_SEPARABLE", "DEFAULT_MODEL_NAME", "DEFAULT_MODEL_NAME_SEPARABLE_CONV", "isNumber", "arg", "validateConfig", "config", "c", "a", "leaky", "x", "B", "min", "$", "pt", "Or", "at", "convWithBatchNorm", "x", "params", "B", "out", "mn", "Nn", "at", "$", "leaky", "depthwiseSeparableConv", "x", "params", "B", "out", "mn", "fm", "leaky", "extractorsFactory", "extractWeights", "paramMappings", "extractConvParams", "extractConvParamsFactory", "extractBatchNormParams", "size", "mappedPrefix", "sub", "Oe", "truediv", "extractConvWithBatchNormParams", "channelsIn", "channelsOut", "conv", "bn", "extractSeparableConvParams", "extractSeparableConvParamsFactory", "extractParams", "weights", "config", "boxEncodingSize", "filterSizes", "getRemainingWeights", "extractWeightsFactory", "params", "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", "s8", "conv0", "conv1", "conv2", "conv3", "conv4", "conv5", "conv6", "conv7", "conv8", "extractorsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractBatchNormParams", "prefix", "sub", "truediv", "extractConvParams", "filters", "bias", "extractConvWithBatchNormParams", "conv", "bn", "extractSeparableConvParams", "loadSeparableConvParamsFactory", "extractParamsFromWeightMap", "config", "params", "numFilters", "disposeUnusedWeightTensors", "TinyYolov2Options", "inputSize", "scoreThreshold", "_TinyYolov2Base", "NeuralNetwork", "config", "validateConfig", "x", "params", "out", "convWithBatchNorm", "ku", "convLayer", "leaky", "depthwiseSeparableConv", "input", "inputSize", "B", "batchTensor", "J", "normalize", "toNetInput", "forwardParams", "scoreThreshold", "TinyYolov2Options", "netInput", "out0", "gr", "inputDimensions", "results", "boxes", "res", "scores", "classScores", "classNames", "nonMaxSuppression", "box", "idx", "ObjectDetection", "weightMap", "extractParamsFromWeightMap", "weights", "filterSizes", "numFilters", "extractParams", "outputTensor", "inputBlobDimensions", "width", "height", "correctionFactorX", "correctionFactorY", "numCells", "numBoxes", "boxesTensor", "scoresTensor", "classScoresTensor", "reshaped", "Eu", "pt", "scoresData", "boxesData", "row", "col", "anchor", "score", "sigmoid", "ctX", "ctY", "widthLocal", "heightLocal", "y", "pos", "classScore", "label", "BoundingBox", "classesTensor", "classesData", "_", "i", "max", "curr", "TinyYolov2Base", "TinyYolov2", "TinyYolov2Base", "withSeparableConvs", "config", "IOU_THRESHOLD", "BOX_ANCHORS_SEPARABLE", "MEAN_RGB_SEPARABLE", "BOX_ANCHORS", "input", "forwardParams", "det", "FaceDetection", "DEFAULT_MODEL_NAME_SEPARABLE_CONV", "DEFAULT_MODEL_NAME", "weightMap", "createTinyYolov2", "weights", "withSeparableConvs", "net", "TinyYolov2", "TinyFaceDetectorOptions", "TinyYolov2Options", "ComposableTask", "onfulfilled", "extractAllFacesAndComputeResults", "parentResults", "input", "computeResults", "extractedFaces", "getRectForAlignment", "alignedRect", "faceBoxes", "parentResult", "isWithFaceLandmarks", "faces", "Lt", "extractFaceTensors", "extractFaces", "results", "f", "extractSingleFaceAndComputeResult", "computeResult", "IOU_THRESHOLD", "BOX_ANCHORS", "Point", "MEAN_RGB", "TinyFaceDetector", "TinyYolov2Base", "config", "IOU_THRESHOLD", "BOX_ANCHORS", "MEAN_RGB", "input", "forwardParams", "det", "FaceDetection", "weightMap", "nets", "SsdMobilenetv1", "TinyFaceDetector", "TinyYolov2", "FaceLandmark68Net", "FaceLandmark68TinyNet", "FaceRecognitionNet", "FaceExpressionNet", "AgeGenderNet", "ssdMobilenetv1", "input", "options", "tinyFaceDetector", "tinyYolov2", "detectFaceLandmarks", "detectFaceLandmarksTiny", "computeFaceDescriptor", "recognizeFaceExpressions", "predictAgeAndGender", "loadSsdMobilenetv1Model", "url", "loadTinyFaceDetectorModel", "loadTinyYolov2Model", "loadFaceLandmarkModel", "loadFaceLandmarkTinyModel", "loadFaceRecognitionModel", "loadFaceExpressionModel", "loadAgeGenderModel", "loadFaceDetectionModel", "locateFaces", "detectLandmarks", "PredictFaceExpressionsTaskBase", "ComposableTask", "parentTask", "input", "extractedFaces", "PredictAllFaceExpressionsTask", "parentResults", "faceExpressionsByFace", "extractAllFacesAndComputeResults", "faces", "face", "nets", "parentResult", "i", "extendWithFaceExpressions", "PredictAllAgeAndGenderTask", "PredictSingleFaceExpressionsTask", "faceExpressions", "extractSingleFaceAndComputeResult", "PredictSingleAgeAndGenderTask", "PredictAllFaceExpressionsWithFaceAlignmentTask", "PredictAllAgeAndGenderWithFaceAlignmentTask", "ComputeAllFaceDescriptorsTask", "PredictSingleFaceExpressionsWithFaceAlignmentTask", "PredictSingleAgeAndGenderWithFaceAlignmentTask", "ComputeSingleFaceDescriptorTask", "PredictAgeAndGenderTaskBase", "ComposableTask", "parentTask", "input", "extractedFaces", "PredictAllAgeAndGenderTask", "parentResults", "ageAndGenderByFace", "extractAllFacesAndComputeResults", "faces", "face", "nets", "parentResult", "i", "age", "gender", "genderProbability", "extendWithAge", "extendWithGender", "PredictAllFaceExpressionsTask", "PredictSingleAgeAndGenderTask", "extractSingleFaceAndComputeResult", "PredictSingleFaceExpressionsTask", "PredictAllAgeAndGenderWithFaceAlignmentTask", "PredictAllFaceExpressionsWithFaceAlignmentTask", "ComputeAllFaceDescriptorsTask", "PredictSingleAgeAndGenderWithFaceAlignmentTask", "PredictSingleFaceExpressionsWithFaceAlignmentTask", "ComputeSingleFaceDescriptorTask", "ComputeFaceDescriptorsTaskBase", "ComposableTask", "parentTask", "input", "ComputeAllFaceDescriptorsTask", "parentResults", "extractAllFacesAndComputeResults", "faces", "face", "nets", "parentResult", "descriptor", "i", "extendWithFaceDescriptor", "PredictAllFaceExpressionsWithFaceAlignmentTask", "PredictAllAgeAndGenderWithFaceAlignmentTask", "ComputeSingleFaceDescriptorTask", "extractSingleFaceAndComputeResult", "PredictSingleFaceExpressionsWithFaceAlignmentTask", "PredictSingleAgeAndGenderWithFaceAlignmentTask", "DetectFaceLandmarksTaskBase", "ComposableTask", "parentTask", "input", "useTinyLandmarkNet", "nets", "DetectAllFaceLandmarksTask", "parentResults", "detections", "res", "faces", "Lt", "extractFaceTensors", "extractFaces", "faceLandmarksByFace", "face", "f", "_parentResult", "i", "parentResult", "extendWithFaceLandmarks", "PredictAllFaceExpressionsWithFaceAlignmentTask", "PredictAllAgeAndGenderWithFaceAlignmentTask", "ComputeAllFaceDescriptorsTask", "DetectSingleFaceLandmarksTask", "detection", "landmarks", "PredictSingleFaceExpressionsWithFaceAlignmentTask", "PredictSingleAgeAndGenderWithFaceAlignmentTask", "ComputeSingleFaceDescriptorTask", "DetectFacesTaskBase", "ComposableTask", "input", "options", "SsdMobilenetv1Options", "DetectAllFacesTask", "result", "TinyFaceDetectorOptions", "nets", "TinyYolov2Options", "resolve", "reject", "detections", "detection", "extendWithFaceDetection", "err", "useTinyLandmarkNet", "DetectAllFaceLandmarksTask", "PredictAllFaceExpressionsTask", "PredictAllAgeAndGenderTask", "DetectSingleFaceTask", "faceDetections", "faceDetectionWithHighestScore", "faceDetection", "DetectSingleFaceLandmarksTask", "PredictSingleFaceExpressionsTask", "PredictSingleAgeAndGenderTask", "detectSingleFace", "input", "options", "SsdMobilenetv1Options", "DetectSingleFaceTask", "detectAllFaces", "DetectAllFacesTask", "allFacesSsdMobilenetv1", "input", "minConfidence", "detectAllFaces", "SsdMobilenetv1Options", "allFacesTinyYolov2", "forwardParams", "TinyYolov2Options", "allFaces", "euclideanDistance", "arr1", "arr2", "desc1", "desc2", "val", "i", "res", "diff", "FaceMatcher", "_FaceMatcher", "inputs", "distanceThreshold", "inputArray", "count", "createUniqueLabel", "desc", "LabeledFaceDescriptors", "queryDescriptor", "descriptors", "d", "euclideanDistance", "d1", "d2", "label", "FaceMatch", "best", "curr", "bestMatch", "ld", "json", "labeledDescriptors", "createTinyFaceDetector", "weights", "net", "TinyFaceDetector", "resizeResults", "results", "dimensions", "width", "height", "Dimensions", "obj", "isWithFaceLandmarks", "resizedDetection", "resizedLandmarks", "extendWithFaceLandmarks", "extendWithFaceDetection", "isWithFaceDetection", "FaceLandmarks", "FaceDetection", "version"] } diff --git a/dist/face-api.js b/dist/face-api.js index 465030c..312e4c1 100644 --- a/dist/face-api.js +++ b/dist/face-api.js @@ -5006,4 +5006,4 @@ return a / b;`,Qse=` } `}};function nue(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,segmentIds:s}=t,{numSegments:i}=a,o=r.shape.length,l=[],u=0,p=T.getAxesPermutation([u],o),d=r;p!=null&&(d=In({inputs:{x:r},backend:n,attrs:{perm:p}}),l.push(d),u=T.getInnerMostAxes(1,o)[0]);let c=T.segment_util.computeOutShape(d.shape,u,i),h=w.sizeFromShape([d.shape[u]]),m=ce({inputs:{x:d},backend:n,attrs:{shape:[-1,h]}});l.push(m);let f=Xm(r.dtype),g=(v,I,N,C,_)=>{let F=v.shape[0],D=v.shape[1],$=T.segment_util.segOpComputeOptimalWindowSize(D,_),S={windowSize:$,inSize:D,batchSize:F,numSegments:_},M=new tue(S,I),B=n.compileAndRun(M,[v,N],C);if(l.push(B),B.shape[1]===_)return B;let U=TF({backend:n,attrs:{start:0,stop:_,step:1,dtype:"float32"}}),H=CF({inputs:{x:U},backend:n,attrs:{reps:[D/$]}});return l.push(U),l.push(H),g(B,I,H,C,_)},b=g(m,"unsortedSegmentSum",s,f,i),y=ce({inputs:{x:b},backend:n,attrs:{shape:c}}),x=y;if(p!=null){l.push(y);let v=T.getUndoAxesPermutation(p);x=In({inputs:{x},backend:n,attrs:{perm:v}})}return l.forEach(v=>n.disposeIntermediateTensorInfo(v)),x}var aue={kernelName:sd,backendName:"webgl",kernelFunc:nue},rue=[Bee,Uee,qee,Xee,Zee,ete,nte,rte,lte,pte,hte,gte,xte,Ite,Tte,Ete,Ate,Rte,Ote,Lte,Vte,Xte,Zte,tne,ane,une,cne,fne,See,yne,Ine,Cne,Dne,One,Lne,Wne,Vne,qne,Xne,Jne,eae,nae,rae,oae,uae,hae,fae,yae,wae,Iae,Cae,Fae,Mae,Lae,Bae,Vae,Gae,qae,Kae,Yae,Jae,nre,sre,lre,pre,hre,gre,vre,Sre,Iee,Tre,wne,_re,$re,Mre,Tee,zre,Ure,Hre,Xre,Jre,nse,sse,use,hse,gse,yse,kse,Sse,Tse,Ase,$se,Rse,Ose,Lse,Vse,qse,Yse,rie,_ee,lie,cie,mie,bie,sne,vie,kie,Sie,Cie,Fie,Eee,Die,Mie,Pie,zie,Wie,ine,eie,Uie,jie,Zie,Fee,toe,roe,loe,coe,foe,boe,voe,Ioe,Toe,_oe,$oe,Moe,zoe,Voe,qoe,Xoe,jte,nie,Joe,ele,nle,rle,ile,lle,ple,dle,mle,ble,xle,wle,Ile,Tle,Ele,Ale,$le,tie,Lee,Mle,Lle,Wle,Ule,jle,Yle,zee,Jle,eue,aue,wie];for(let e of rue)id(e);var Qe;(function(e){e[e.float32=0]="float32",e[e.int32=1]="int32",e[e.bool=2]="bool",e[e.string=3]="string",e[e.complex64=4]="complex64"})(Qe||(Qe={}));var Oc;(function(e){e[e.linear=0]="linear",e[e.relu=1]="relu",e[e.relu6=2]="relu6",e[e.prelu=3]="prelu",e[e.leakyrelu=4]="leakyrelu",e[e.sigmoid=5]="sigmoid",e[e.elu=6]="elu"})(Oc||(Oc={}));var EF;function sue(e){EF=e.wasm.cwrap(oi,null,["number","array","number","number","array","number","number","number","number","number","number","number","number"])}function iue(e){let{inputs:t,backend:n,attrs:a}=e,{a:r,b:s,bias:i,preluActivationWeights:o}=t;if(r.dtype!=="float32"||s.dtype!=="float32")throw new Error("_FusedMatMul for non non-float32 tensors not yet supported.");let{transposeA:l,transposeB:u,activation:p,leakyreluAlpha:d}=a,c=n.dataIdMap.get(r.dataId).id,h=n.dataIdMap.get(s.dataId).id,m=0;if(i!=null){let _=n.dataIdMap.get(i.dataId);if(_.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${_.shape.length}.`);m=_.id}let f=o==null?0:n.dataIdMap.get(o.dataId).id,g=Oc[p];if(g==null)throw new Error(`${p} activation not yet supported for FusedConv2D in the wasm backend.`);let b=l?r.shape[2]:r.shape[1],y=u?s.shape[1]:s.shape[2],x=cp.assertAndGetBroadcastShape(r.shape.slice(0,-2),s.shape.slice(0,-2)),v=n.makeOutput([...x,b,y],r.dtype),I=n.dataIdMap.get(v.dataId).id,N=new Uint8Array(new Int32Array(r.shape).buffer),C=new Uint8Array(new Int32Array(s.shape).buffer);return EF(c,N,r.shape.length,h,C,s.shape.length,l,u,g,m,f,d||0,I),v}var oue={kernelName:oi,backendName:"wasm",setupFunc:sue,kernelFunc:iue};function Xe(e,t){let n;function a(s){n=s.wasm.cwrap(e,null,["number","number","number"])}function r(s){let{backend:i,inputs:{x:o}}=s,l=i.dataIdMap.get(o.dataId).id,u=i.makeOutput(o.shape,t||o.dtype),p=i.dataIdMap.get(u.dataId).id;return w.sizeFromShape(u.shape)===0||n(l,Qe[o.dtype],p),u}return{kernelName:e,backendName:"wasm",setupFunc:a,kernelFunc:r}}var lue=Xe(uu),uue=Xe(Ci),pue=Xe(Ei);function Ut(e,t,n){let a;function r(i){a=i.wasm.cwrap(e,null,["number","array","number","number","array","number","number","number"])}function s(i){let{backend:o,inputs:l}=i,{a:u,b:p}=l,d=o.dataIdMap.get(u.dataId).id,c=o.dataIdMap.get(p.dataId).id,h=n!=null?n:u.dtype,m=T.assertAndGetBroadcastShape(u.shape,p.shape),f=o.makeOutput(m,h);if(w.sizeFromShape(m)===0)return f;let g=new Uint8Array(new Int32Array(u.shape).buffer),b=new Uint8Array(new Int32Array(p.shape).buffer),y=o.dataIdMap.get(f.dataId).id;return a(d,g,u.shape.length,c,b,p.shape.length,Qe[u.dtype],y),f}return{kernelName:e,backendName:"wasm",setupFunc:r,kernelFunc:s}}var cue=!0,due=Ut(Is,cue),_F;function hue(e){_F=e.wasm.cwrap(_i,null,["array","number","number","number"])}function mue(e){let{inputs:t,backend:n}=e,a=n.makeOutput(t[0].shape,t[0].dtype);if(w.sizeFromShape(a.shape)===0)return a;let r=t.map(o=>n.dataIdMap.get(o.dataId).id),s=new Uint8Array(new Int32Array(r).buffer),i=n.dataIdMap.get(a.dataId).id;return _F(s,r.length,Qe[a.dtype],i),a}var fue={kernelName:_i,backendName:"wasm",setupFunc:hue,kernelFunc:mue};function ag(e){let{inputs:{x:t},backend:n}=e;if(t.dtype==="string")return bn(n.readSync(t.dataId),t.shape,t.dtype);let a=n.makeOutput(t.shape,t.dtype),r=n.typedArrayFromHeap(t);return n.typedArrayFromHeap(a).set(r),a}var gue={kernelName:no,backendName:"wasm",kernelFunc:ag},AF;function bue(e){AF=e.wasm.cwrap(Er,null,["number","array","number","number","number","array","number"])}function ws(e){let{inputs:t,backend:n,attrs:a}=e,[r,s]=xue(t.x.shape,a.perm),i=!0;for(let m=0;m=r&&(s===-1||a[s]>a[i])&&(s=i);a[s]=r}return[n,a]}var vue={kernelName:Er,backendName:"wasm",kernelFunc:ws,setupFunc:bue};function Os(e,t,n){let a=e.shape,r=e.shape.length,s=w.parseAxisParam(t,a),i=s,o=T.getAxesPermutation(i,r),l=null,u=!1;if(o!=null){let p=new Array(r);for(let c=0;c`new shape: ${i}, old shape: ${a.shape}. New shape and old shape must have the same number of elements.`),e.backend.incRef(a.dataId),{dataId:a.dataId,shape:i,dtype:a.dtype}}var que={kernelName:ju,backendName:"wasm",kernelFunc:Ln},LF;function jue(e){LF=e.wasm.cwrap(Oi,null,["number","array","number","number","array","number","number","number","number"])}function Kue(e){let{inputs:t,backend:n,attrs:a}=e,{a:r,b:s}=t,{transposeA:i,transposeB:o}=a;if(r.dtype!=="float32"||s.dtype!=="float32")throw new Error("BatchMatMul for non non-float32 tensors not yet supported.");let l=r.shape.length,u=s.shape.length,p=i?r.shape[l-2]:r.shape[l-1],d=o?s.shape[u-1]:s.shape[u-2],c=i?r.shape[l-1]:r.shape[l-2],h=o?s.shape[u-2]:s.shape[u-1],m=r.shape.slice(0,-2),f=s.shape.slice(0,-2),g=w.sizeFromShape(m),b=w.sizeFromShape(f),y=cp.assertAndGetBroadcastShape(r.shape.slice(0,-2),s.shape.slice(0,-2)).concat([c,h]);w.assert(p===d,()=>`Error in matMul: inner shapes (${p}) and (${d}) of Tensors with shapes ${r.shape} and ${s.shape} and transposeA=${i} and transposeB=${o} must match.`);let x=i?[g,p,c]:[g,c,p],v=o?[b,h,d]:[b,d,h],I=Ln({inputs:{x:r},backend:n,attrs:{shape:x}}),N=Ln({inputs:{x:s},backend:n,attrs:{shape:v}}),C=n.dataIdMap.get(I.dataId).id,_=n.dataIdMap.get(N.dataId).id,F=i?I.shape[2]:I.shape[1],D=o?N.shape[1]:N.shape[2],$=Math.max(g,b),S=n.makeOutput([$,F,D],I.dtype),M=n.dataIdMap.get(S.dataId).id,B=new Uint8Array(new Int32Array(I.shape).buffer),U=new Uint8Array(new Int32Array(N.shape).buffer);return LF(C,B,I.shape.length,_,U,N.shape.length,i,o,M),n.disposeData(I.dataId),n.disposeData(N.dataId),S.shape=y,S}var Xue={kernelName:Oi,backendName:"wasm",setupFunc:jue,kernelFunc:Kue};function Ni(e){let{inputs:{x:t},attrs:{begin:n,size:a},backend:r}=e,[s,i]=Kt.parseSliceParams(t,n,a),o=Kt.isSliceContinous(t.shape,s,i),l=r.readSync(t.dataId),u=r.makeOutput(i,t.dtype),p=w.computeStrides(t.shape),d=r.dataIdMap.get(u.dataId);if(o){let m=Kt.computeFlatOffset(s,p);return t.dtype==="string"?d.stringBytes=l.slice(m,m+w.sizeFromShape(i)):r.typedArrayFromHeap(u).set(l.subarray(m,m+w.sizeFromShape(i))),u}if(t.dtype==="string"){let m=Im(l,s,i,t.shape,t.dtype);return d.stringBytes=m,u}let c=r.typedArrayFromHeap(u),h=t.shape.length;if(h===2)Yue(l,p[0],c,s,i);else if(h===3)Zue(l,p[0],p[1],c,s,i);else if(h===4)Jue(l,p[0],p[1],p[2],c,s,i);else{let m=Im(l,s,i,t.shape,t.dtype);c.set(m)}return u}function Yue(e,t,n,a,r){let s=0,i=a[0],o=a[1],l=i+r[0];for(let u=i;ub*y),l=T.getReshaped(r.shape,s,o),u=T.getPermuted(l.length,s.length),p=T.getReshapedPermuted(r.shape,s,o),d=T.getSliceBeginCoords(i,s.length),c=T.getSliceSize(p,i,s.length),h=Ln({inputs:{x:r},backend:n,attrs:{shape:l}}),m=ws({inputs:{x:h},backend:n,attrs:{perm:u}}),f=Ln({inputs:{x:m},backend:n,attrs:{shape:p}}),g=Ni({inputs:{x:f},backend:n,attrs:{begin:d,size:c}});return n.disposeData(h.dataId),n.disposeData(m.dataId),n.disposeData(f.dataId),g}var tpe={kernelName:fu,backendName:"wasm",kernelFunc:epe},zF;function npe(e){zF=e.wasm.cwrap(gu,null,["number","number","boolean","number","number","number"])}function ape(e){let{backend:t,inputs:n,attrs:a}=e,{x:r,weights:s}=n,{size:i}=a,o=s.shape.reduce((d,c)=>d*c,1)!==0,l=r.shape.length===1?[i]:[r.shape[0],i],u=t.makeOutput(l,s.dtype);function p(d){return t.dataIdMap.get(d.dataId).id}return zF(p(r),i,o,p(s),Qe[s.dtype],p(u)),u}var rpe={kernelName:gu,backendName:"wasm",setupFunc:npe,kernelFunc:ape},spe=!0,ipe=Ut(bu,spe);function ope(e){let{inputs:t,backend:n}=e,{s0:a,s1:r}=t,s=n.typedArrayFromHeap(a),i=n.typedArrayFromHeap(r),o=T.assertAndGetBroadcastShape(Array.from(s),Array.from(i));return n.makeOutput([o.length],"int32",void 0,new Int32Array(o))}var lpe={kernelName:Bc,backendName:"wasm",kernelFunc:ope};function Ps(e){let{inputs:{x:t},attrs:{dtype:n},backend:a}=e,r=a.makeOutput(t.shape,n),s=a.typedArrayFromHeap(t);return a.typedArrayFromHeap(r).set(s),r}var upe={kernelName:Pi,backendName:"wasm",kernelFunc:Ps},ppe=Xe(Li),WF;function cpe(e){WF=e.wasm.cwrap(Ss,null,["number","number","number","number"])}function dpe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{clipValueMin:s,clipValueMax:i}=a,o=n.dataIdMap.get(r.dataId).id,l=n.makeOutput(r.shape,r.dtype),u=n.dataIdMap.get(l.dataId).id;return WF(o,s,i,u),l}var hpe={kernelName:Ss,backendName:"wasm",setupFunc:cpe,kernelFunc:dpe};function BF(e){let{inputs:t,backend:n}=e,a=w.parseAxisParam(e.attrs.axis,t[0].shape)[0],r=t.map(h=>h.shape);T.assertParamsConsistent(r,a);let s=T.computeOutShape(t.map(h=>h.shape),a),i=t.filter(h=>w.sizeFromShape(h.shape)>0);if(i.length===1)return ag({inputs:{x:i[0]},backend:n});let o=n.makeOutput(s,t[0].dtype);if(w.sizeFromShape(s)===0)return o;if(i[0].dtype==="string"){let h=i.map(x=>{let v=[-1,w.sizeFromShape(x.shape.slice(a))];return Ln({inputs:{x},backend:n,attrs:{shape:v}})}),m=h.map(x=>({vals:n.readSync(x.dataId),shape:x.shape}));s=T.computeOutShape(h.map(x=>x.shape),1);let f=h[0].shape[0]===1,g=q1(m,s,t[0].dtype,f),b=T.computeOutShape(i.map(x=>x.shape),a);o.shape=b;let y=n.dataIdMap.get(o.dataId);return y.stringBytes=T.fromStringArrayToUint8(g),h.forEach(x=>n.disposeData(x.dataId)),o}let l=w.sizeFromShape(i[0].shape.slice(0,a)),u=0,p=i.map(h=>{let m=w.sizeFromShape(h.shape.slice(a));return u+=m,m}),d=i.map(h=>n.typedArrayFromHeap(h)),c=n.typedArrayFromHeap(o);for(let h=0;h`cumprod does not support ${r.dtype} tensors in the WASM backend`);let u=T.getAxesPermutation([s],l),p=r;u!==null&&(p=ws({inputs:{x:r},attrs:{perm:u},backend:n}));let d=T.getInnerMostAxes(1,l)[0];T.assertAxesAreInnerMostDims("cumprod",[d],l);let c=n.makeOutput(p.shape,p.dtype),h=p.shape[d],m=n.dataIdMap.get(p.dataId).id,f=n.dataIdMap.get(c.dataId).id;KF(m,i?1:0,o?1:0,h,f,Qe[r.dtype]);let g=c;if(u!==null){let b=T.getUndoAxesPermutation(u);g=ws({inputs:{x:c},attrs:{perm:b},backend:n}),n.disposeData(p.dataId),n.disposeData(c.dataId)}return g}var Ppe={kernelName:wu,backendName:"wasm",setupFunc:Mpe,kernelFunc:Ope},XF;function Lpe(e){XF=e.wasm.cwrap(Gi,null,["number","number","number","number","number","number"])}function zpe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{axis:s,exclusive:i,reverse:o}=a,l=r.shape.length;w.assert(r.dtype==="float32"||r.dtype==="int32",()=>`cumsum does not support ${r.dtype} tensors in the WASM backend`);let u=T.getAxesPermutation([s],l),p=r;u!==null&&(p=ws({inputs:{x:r},attrs:{perm:u},backend:n}));let d=T.getInnerMostAxes(1,l)[0];T.assertAxesAreInnerMostDims("cumsum",[d],l);let c=n.makeOutput(p.shape,p.dtype),h=p.shape[d],m=n.dataIdMap.get(p.dataId).id,f=n.dataIdMap.get(c.dataId).id;XF(m,i?1:0,o?1:0,h,f,Qe[r.dtype]);let g=c;if(u!==null){let b=T.getUndoAxesPermutation(u);g=ws({inputs:{x:c},attrs:{perm:b},backend:n}),n.disposeData(p.dataId),n.disposeData(c.dataId)}return g}var Wpe={kernelName:Gi,backendName:"wasm",setupFunc:Lpe,kernelFunc:zpe},YF;function Bpe(e){YF=e.wasm.cwrap("DenseBincount",null,["number","array","number","number","boolean","number","number","boolean","number"])}function Vpe(e){let{backend:t,inputs:n,attrs:a}=e,{x:r,weights:s}=n,{size:i,binaryOutput:o}=a,l=s.shape.reduce((c,h)=>c*h,1)!==0,u=r.shape.length===1?[i]:[r.shape[0],i],p=t.makeOutput(u,s.dtype);function d(c){return t.dataIdMap.get(c.dataId).id}return YF(d(r),new Uint8Array(new Int32Array(r.shape).buffer),r.shape.length,i,l,d(s),Qe[s.dtype],o,d(p)),p}var Upe={kernelName:Uc,backendName:"wasm",setupFunc:Bpe,kernelFunc:Vpe},ZF;function Gpe(e){ZF=e.wasm.cwrap(Iu,null,["number","number","number","array","number","array","array","number","number"])}function Hpe(e){let{backend:t,inputs:n,attrs:a}=e,{x:r}=n,{blockSize:s,dataFormat:i}=a,o=r.shape[0],l=i==="NHWC"?r.shape[1]:r.shape[2],u=i==="NHWC"?r.shape[2]:r.shape[3],p=i==="NHWC"?r.shape[3]:r.shape[1],d=l*s,c=u*s,h=p/(s*s),m=i==="NHWC"?[o,d,c,h]:[o,h,d,c],f=t.makeOutput(m,"float32"),g=t.dataIdMap.get(r.dataId).id,b=new Uint8Array(new Int32Array(w.computeStrides(r.shape)).buffer),y=new Uint8Array(new Int32Array(m).buffer),x=new Uint8Array(new Int32Array(w.computeStrides(m)).buffer),v=t.dataIdMap.get(f.dataId).id;return ZF(g,s,i==="NHWC"?1:0,b,r.shape.length-1,y,x,m.length,v),f}var qpe={kernelName:Iu,backendName:"wasm",setupFunc:Gpe,kernelFunc:Hpe},JF;function jpe(e){JF=e.wasm.cwrap(Hi,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Kpe(e){let{inputs:t,attrs:n,backend:a}=e,{x:r,filter:s}=t,i=a.dataIdMap.get(r.dataId).id,o=a.dataIdMap.get(s.dataId).id,{strides:l,dilations:u,pad:p,dimRoundingMode:d}=n,c=u==null?[1,1]:u,h=T.computeConv2DInfo(r.shape,s.shape,l,c,p,d,!0),m=h.filterHeight,f=h.filterWidth,g=h.padInfo.top,b=h.padInfo.right,y=h.padInfo.bottom,x=h.padInfo.left,v=h.dilationHeight,I=h.dilationWidth,N=h.strideHeight,C=h.strideWidth,_=h.inChannels,F=h.outChannels,D=h.padInfo.type==="SAME"?1:0;if(h.dataFormat!=="channelsLast")throw new Error(`wasm backend DepthwiseConv2dNative does not support dataFormat:'${h.dataFormat}'. Please use 'channelsLast'.`);let $=a.makeOutput(h.outShape,"float32"),S=a.dataIdMap.get($.dataId).id;return JF(i,r.shape[0],r.shape[1],r.shape[2],o,m,f,g,b,y,x,D,v,I,N,C,_,F,S),$}var Xpe={kernelName:Hi,backendName:"wasm",setupFunc:jpe,kernelFunc:Kpe},QF;function Ype(e){QF=e.wasm.cwrap("Diag",null,["number","number","number","number"])}function Zpe(e){let{inputs:t,backend:n}=e,{x:a}=t,r=w.sizeFromShape(a.shape),s=n.makeOutput([...a.shape,...a.shape],a.dtype);return QF(n.dataIdMap.get(a.dataId).id,Qe[a.dtype],r,n.dataIdMap.get(s.dataId).id),s}var Jpe={kernelName:Gc,backendName:"wasm",setupFunc:Ype,kernelFunc:Zpe},e$;function Qpe(e){e$=e.wasm.cwrap(qi,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ece(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,filter:s}=t,{strides:i,pad:o,dilations:l}=a;if(r.dtype!==s.dtype)throw new Error(`Dilation2D error: x must have the same dtype as filter. Got ${r.dtype} and ${s.dtype}`);let u=T.computeDilation2DInfo(r.shape,s.shape,i,o,"NHWC",l),p=n.makeOutput(u.outShape,r.dtype);return e$(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(p.dataId).id,Qe[r.dtype],u.batchSize,u.inChannels,u.inHeight,u.inWidth,u.outHeight,u.outWidth,u.strideHeight,u.strideWidth,u.dilationHeight,u.dilationWidth,u.filterHeight,u.filterWidth,u.padInfo.top,u.padInfo.left),p}var tce={kernelName:qi,backendName:"wasm",setupFunc:Qpe,kernelFunc:ece},t$;function nce(e){t$=e.wasm.cwrap(jl,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ace(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,filter:s,dy:i}=t,{strides:o,pad:l,dilations:u}=a;if(r.dtype!==s.dtype||r.dtype!==i.dtype)throw new Error(`Dilation2DBackpropFilter error: x must have the same dtype as filter and dy. Got ${r.dtype}, ${s.dtype}, and ${i.dtype}`);let p=T.computeDilation2DInfo(r.shape,s.shape,o,l,"NHWC",u),d=n.makeOutput(s.shape,s.dtype);return t$(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(d.dataId).id,Qe[r.dtype],p.batchSize,p.inChannels,p.inHeight,p.inWidth,p.outHeight,p.outWidth,p.strideHeight,p.strideWidth,p.dilationHeight,p.dilationWidth,p.filterHeight,p.filterWidth,p.padInfo.top,p.padInfo.left),d}var rce={kernelName:jl,backendName:"wasm",setupFunc:nce,kernelFunc:ace},n$;function sce(e){n$=e.wasm.cwrap(ql,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function ice(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,filter:s,dy:i}=t,{strides:o,pad:l,dilations:u}=a;if(r.dtype!==s.dtype||r.dtype!==i.dtype)throw new Error(`Dilation2DBackpropInput error: x must have the same dtype as filter and dy. Got ${r.dtype}, ${s.dtype}, and ${i.dtype}`);let p=T.computeDilation2DInfo(r.shape,s.shape,o,l,"NHWC",u),d=n.makeOutput(r.shape,r.dtype);return n$(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(d.dataId).id,Qe[r.dtype],p.batchSize,p.inChannels,p.inHeight,p.inWidth,p.outHeight,p.outWidth,p.strideHeight,p.strideWidth,p.dilationHeight,p.dilationWidth,p.filterHeight,p.filterWidth,p.padInfo.top,p.padInfo.left),d}var oce={kernelName:ql,backendName:"wasm",setupFunc:sce,kernelFunc:ice},lce=Xe(Ki),a$;function uce(e){a$=e.wasm.cwrap(Su,null,["number","number","number"])}function pce(e){let{inputs:t,backend:n}=e,{dy:a,y:r}=t,s=n.makeOutput(r.shape,"float32"),i=o=>n.dataIdMap.get(o.dataId).id;return a$(i(r),i(a),i(s)),s}var cce={kernelName:Su,backendName:"wasm",setupFunc:uce,kernelFunc:pce},dce=!1,hce=Ut(Nu,dce,"bool"),mce=Xe(Xi),fce=Xe(Yi,"float32");function Nv(e){let{inputs:t,attrs:n,backend:a}=e,{input:r}=t,{dim:s}=n,i=r.shape.length,o=r.shape.slice(),l=s;return s<0&&(w.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),l=i+s+1),o.splice(l,0,1),Ln({inputs:{x:r},backend:a,attrs:{shape:o}})}var gce={kernelName:Tu,backendName:"wasm",kernelFunc:Nv},bce=Xe(Zi,"float32");function r$(e){let{attrs:{shape:t,value:n},backend:a}=e,{attrs:{dtype:r}}=e;r=r||w.inferDtype(n);let s=a.makeOutput(t,r);return a.typedArrayFromHeap(s).fill(n),s}var yce={kernelName:Hc,backendName:"wasm",kernelFunc:r$},s$;function xce(e){s$=e.wasm.cwrap(Cu,null,["number","number","number","number","number","number"])}function vce(e){let{inputs:t,backend:n}=e,{image:a}=t,r=n.makeOutput(a.shape,a.dtype),s=n.dataIdMap.get(a.dataId).id,i=n.dataIdMap.get(r.dataId).id,[o,l,u,p]=a.shape;return s$(s,o,l,u,p,i),r}var wce={kernelName:Cu,backendName:"wasm",kernelFunc:vce,setupFunc:xce},kce=Xe(Ji),Ice=!1,Sce=Ut(Qi,Ice),i$;function Nce(e){i$=e.wasm.cwrap(eo,null,["number","number","number","number","number","number","number"])}function Tce(e){let{backend:t,inputs:n,attrs:a}=e,{varianceEpsilon:r}=a,{x:s,mean:i,variance:o,offset:l,scale:u}=n,p=t.dataIdMap.get(s.dataId).id,d=t.dataIdMap.get(i.dataId).id,c=t.dataIdMap.get(o.dataId).id,h=l!=null?t.dataIdMap.get(l.dataId).id:0,m=u!=null?t.dataIdMap.get(u.dataId).id:0,f=t.makeOutput(s.shape,s.dtype);if(w.sizeFromShape(s.shape)===0)return f;let g=t.dataIdMap.get(f.dataId).id;return i$(p,d,c,h,m,r,g),f}var Cce={kernelName:eo,backendName:"wasm",setupFunc:Nce,kernelFunc:Tce},o$;function Ece(e){o$=e.wasm.cwrap(li,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function _ce(e){let{inputs:t,attrs:n,backend:a}=e,{x:r,filter:s,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dilations:p,dataFormat:d,dimRoundingMode:c,activation:h,leakyreluAlpha:m}=n,f=T.computeConv2DInfo(r.shape,s.shape,l,p,u,c),g=Oc[h];if(g==null)throw new Error(`${h} activation not yet supported for FusedConv2D in the wasm backend.`);let b=a.dataIdMap.get(r.dataId).id,y=a.dataIdMap.get(s.dataId).id,x=f.outChannels,v=0;if(i!=null){let te=a.dataIdMap.get(i.dataId);if(te.shape.length!==1)throw new Error(`FusedConv2D only supports rank-1 bias but got rank ${te.shape.length}.`);if(te.shape[0]!==x)throw new Error(`FusedConv2D bias shape (${te.shape}) does not match the number of output channels (${x})`);v=te.id}let I=f.filterHeight,N=f.filterWidth,C=f.padInfo.top,_=f.padInfo.right,F=f.padInfo.bottom,D=f.padInfo.left,$=f.dilationHeight,S=f.dilationWidth,M=f.strideHeight,B=f.strideWidth,U=f.inChannels,H=f.padInfo.type==="SAME"?1:0,j=f.batchSize,K=f.inHeight,Z=f.inWidth;if(d!=="NHWC")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${d}'. Please use 'NHWC'.`);let J=a.makeOutput(f.outShape,"float32"),ee=a.dataIdMap.get(J.dataId).id,ae=o==null?0:a.dataIdMap.get(o.dataId).id;return o$(b,j,K,Z,y,I,N,v,C,_,F,D,H,$,S,M,B,U,x,g,ae,m||0,ee),J}var Ace={kernelName:li,backendName:"wasm",setupFunc:Ece,kernelFunc:_ce},l$;function Fce(e){l$=e.wasm.cwrap(ui,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function $ce(e){let{inputs:t,attrs:n,backend:a}=e,{x:r,filter:s,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dilations:p,dataFormat:d,dimRoundingMode:c,activation:h,leakyreluAlpha:m}=n,f=T.computeConv2DInfo(r.shape,s.shape,l,p,u,c,!0),g=Oc[h];if(g==null)throw new Error(`${h} activation not yet supported for FusedDepthwiseConv2D in the wasm backend.`);let b=a.dataIdMap.get(r.dataId).id,y=a.dataIdMap.get(s.dataId).id,x=f.outChannels,v=0;if(i!=null){let te=a.dataIdMap.get(i.dataId);if(te.shape.length!==1)throw new Error(`FusedDepthwiseConv2D only supports rank-1 bias but got rank ${te.shape.length}.`);if(te.shape[0]!==x)throw new Error(`FusedDepthwiseConv2D bias shape (${te.shape}) does not match the number of output channels (${x})`);v=te.id}let I=f.filterHeight,N=f.filterWidth,C=f.padInfo.top,_=f.padInfo.right,F=f.padInfo.bottom,D=f.padInfo.left,$=f.dilationHeight,S=f.dilationWidth,M=f.strideHeight,B=f.strideWidth,U=f.inChannels,H=f.padInfo.type==="SAME"?1:0,j=f.batchSize,K=f.inHeight,Z=f.inWidth;if(d!=="NHWC")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${d}'. Please use 'NHWC'.`);let J=a.makeOutput(f.outShape,"float32"),ee=a.dataIdMap.get(J.dataId).id,ae=o==null?0:a.dataIdMap.get(o.dataId).id;return l$(b,j,K,Z,y,I,N,v,C,_,F,D,H,$,S,M,B,U,x,g,ae,m||0,ee),J}var Dce={kernelName:ui,backendName:"wasm",setupFunc:Fce,kernelFunc:$ce},u$;function Rce(e){u$=e.wasm.cwrap(_u,null,["number","number","number","number","number","number","array","number"])}function Mce(e){let{backend:t,inputs:n}=e,{params:a,indices:r}=n,[s,i,o,l]=r0.prepareAndValidate(a,r),u=t.makeOutput(s,a.dtype);if(i===0)return u;let p=r.shape,d=p[p.length-1],c=t.dataIdMap.get(a.dataId).id,h=t.dataIdMap.get(r.dataId).id,m=new Uint8Array(new Int32Array(l).buffer),f=t.dataIdMap.get(u.dataId).id;return u$(c,Qe[a.dtype],h,i,d,o,m,f),u}var Oce={kernelName:_u,backendName:"wasm",setupFunc:Rce,kernelFunc:Mce},p$;function Pce(e){p$=e.wasm.cwrap("Gather",null,["number","number","array","number","number","number","array","number"])}function Lce(e){let{backend:t,inputs:n,attrs:a}=e,{x:r,indices:s}=n,{axis:i,batchDims:o}=a,l=w.parseAxisParam(i,r.shape)[0],u=t.readSync(s.dataId),p=r.shape[l];for(let C=0;C=0,()=>`GatherV2: the index value ${_} is not in [0, ${p-1}]`)}let d=T.segment_util.collectGatherOpShapeInfo(r,s,l,o),c=Ln({inputs:{x:r},attrs:{shape:[d.batchSize,d.outerSize,d.dimSize,d.sliceSize]},backend:t}),h=w.sizeFromShape(s.shape),m=Ln({inputs:{x:s},attrs:{shape:[d.batchSize,h/d.batchSize]},backend:t}),f=[d.batchSize,d.outerSize,h/d.batchSize,d.sliceSize],g=t.makeOutput(f,r.dtype);if(w.sizeFromShape(r.shape)===0)return g;let b=c.shape.length-1,y=t.dataIdMap.get(c.dataId).id,x=t.dataIdMap.get(m.dataId).id,v=t.dataIdMap.get(g.dataId).id,I=new Uint8Array(new Int32Array(w.computeStrides(c.shape)).buffer),N=new Uint8Array(new Int32Array(w.computeStrides(f)).buffer);return p$(y,Qe[r.dtype],I,b,x,d.batchSize,N,v),t.disposeData(c.dataId),t.disposeData(m.dataId),g.shape=d.outputShape,g}var zce={kernelName:Eu,backendName:"wasm",setupFunc:Pce,kernelFunc:Lce},Wce=!1,Bce=Ut(Au,Wce,"bool"),Vce=!1,Uce=Ut(to,Vce,"bool"),Gce=Xe(ao,"bool"),Hce=Xe(ro,"bool"),qce=Xe(so,"bool"),c$;function jce(e){c$=e.wasm.cwrap(io,null,["number","number","number","number"])}function Kce(e){let{inputs:{x:t},attrs:{alpha:n},backend:a}=e,r=a.dataIdMap.get(t.dataId).id,s=a.makeOutput(t.shape,"float32");if(w.sizeFromShape(t.shape)!==0){let i=a.dataIdMap.get(s.dataId).id;c$(r,Qe[t.dtype],n,i)}return s}var Xce={kernelName:io,backendName:"wasm",setupFunc:jce,kernelFunc:Kce},Yce=!1,Zce=Ut(Fu,Yce,"bool"),Jce=!1,Qce=Ut($u,Jce,"bool"),d$;function ede(e){d$=e.wasm.cwrap(Du,null,["number","number","number","number"])}function tde(e){let{attrs:t,backend:n}=e,{start:a,stop:r,num:s}=t,i=Math.floor(s),o=n.makeOutput([i],"float32");return d$(n.dataIdMap.get(o.dataId).id,a,r,i),o}var nde={kernelName:Du,backendName:"wasm",setupFunc:ede,kernelFunc:tde},ade=Xe(oo),rde=Xe(lo),sde=!1,ide=Ut(Ru,sde,"bool"),ode=Xe(Mu),lde=!1,ude=Ut(Ou,lde,"bool"),pde=!1,cde=Ut(mN,pde,"bool"),h$;function dde(e){h$=e.wasm.cwrap(uo,null,["number","number","number","number","number","number","number"])}function hde(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{depthRadius:s,bias:i,alpha:o,beta:l}=a;if(r.dtype!=="float32")throw new Error("LRN error: x must have dtype float32");let u=n.makeOutput(r.shape,r.dtype);return h$(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(u.dataId).id,r.shape[3],s,i,o,l),u}var mde={kernelName:uo,backendName:"wasm",setupFunc:dde,kernelFunc:hde},m$;function fde(e){m$=e.wasm.cwrap(Pu,null,["number","number","number","number","number","number","number","number","number"])}function gde(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,y:s,dy:i}=t,{depthRadius:o,bias:l,alpha:u,beta:p}=a;if(r.dtype!=="float32"||s.dtype!=="float32"||i.dtype!=="float32")throw new Error("LRNGrad error: x, y, and dy must have dtype float32");let d=n.makeOutput(r.shape,r.dtype);return m$(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(d.dataId).id,i.shape[3],o,l,u,p),d}var bde={kernelName:Pu,backendName:"wasm",setupFunc:fde,kernelFunc:gde},f$;function yde(e){f$=e.wasm.cwrap(po,null,["number","number","number","number"])}function xde(e){let{backend:t,inputs:n,attrs:a}=e,{reductionIndices:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=i,{transposed:u,axes:p,originalAxes:d,inputWasTransposed:c}=Os(i,r,t);if(c){let y=t.dataIdMap.get(u.dataId).id;l=u,o=y}let h=l.shape.length;T.assertAxesAreInnerMostDims("max",p,h);let[m,f]=T.computeOutAndReduceShapes(l.shape,p),g=w.sizeFromShape(f),b=t.makeOutput(m,i.dtype);if(w.sizeFromShape(l.shape)!==0){let y=t.dataIdMap.get(b.dataId).id;f$(o,Qe[i.dtype],g,y)}if(c&&t.disposeData(u.dataId),s){let y=T.expandShapeToKeepDim(b.shape,d);b.shape=y}return b}var vde={kernelName:po,backendName:"wasm",setupFunc:yde,kernelFunc:xde},wde=!1,kde=Ut(co,wde),g$;function Ide(e){g$=e.wasm.cwrap(ho,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Sde(e){let{inputs:t,attrs:n,backend:a}=e,r=t.x,s=a.dataIdMap.get(r.dataId).id;w.assert(r.dtype==="float32",()=>`Error in MaxPool: only float32 input is supported. Got ${r.dtype}.`);let{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=n,p=T.computePool2DInfo(r.shape,i,o,1,l,u),d=p.filterHeight,c=p.filterWidth,h=p.padInfo.top,m=p.padInfo.right,f=p.padInfo.bottom,g=p.padInfo.left,b=p.dilationHeight,y=p.dilationWidth,x=p.strideHeight,v=p.strideWidth,I=p.inChannels,N=p.outChannels;if(p.dataFormat!=="channelsLast")throw new Error(`wasm backend does not support dataFormat:'${p.dataFormat}'. Please use 'channelsLast'.`);let C=a.makeOutput(p.outShape,"float32"),_=a.dataIdMap.get(C.dataId).id;return g$(s,r.shape[0],r.shape[1],r.shape[2],d,c,h,m,f,g,b,y,x,v,I,N,_),C}var Nde={kernelName:ho,backendName:"wasm",setupFunc:Ide,kernelFunc:Sde},b$;function Tde(e){b$=e.wasm.cwrap("MaxPool3D",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Cde(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{filterSize:s,strides:i,pad:o,dimRoundingMode:l,dataFormat:u}=a,p=T.computePool3DInfo(r.shape,s,i,1,o,l,u),d=n.makeOutput(p.outShape,r.dtype);return b$(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(d.dataId).id,p.batchSize,p.inChannels,p.inDepth,p.inHeight,p.inWidth,p.outDepth,p.outHeight,p.outWidth,p.strideDepth,p.strideHeight,p.strideWidth,p.dilationDepth,p.dilationHeight,p.dilationWidth,p.effectiveFilterDepth,p.effectiveFilterHeight,p.effectiveFilterWidth,p.padInfo.front,p.padInfo.top,p.padInfo.left),d}var Ede={kernelName:Lu,backendName:"wasm",setupFunc:Tde,kernelFunc:Cde},y$;function _de(e){y$=e.wasm.cwrap("MaxPool3DGrad",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Ade(e){let{inputs:t,backend:n,attrs:a}=e,{dy:r,input:s}=t,{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=a,p=T.computePool3DInfo(s.shape,i,o,1,l,u),d=n.makeOutput(s.shape,s.dtype);return y$(n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(d.dataId).id,p.batchSize,p.inChannels,p.inDepth,p.inHeight,p.inWidth,p.outDepth,p.outHeight,p.outWidth,p.strideDepth,p.strideHeight,p.strideWidth,p.dilationDepth,p.dilationHeight,p.dilationWidth,p.effectiveFilterDepth,p.effectiveFilterHeight,p.effectiveFilterWidth,p.padInfo.front,p.padInfo.top,p.padInfo.left),d}var Fde={kernelName:jc,backendName:"wasm",setupFunc:_de,kernelFunc:Ade},x$;function $de(e){x$=e.wasm.cwrap("MaxPoolGrad",null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Dde(e){let{inputs:t,backend:n,attrs:a}=e,{dy:r,input:s}=t,{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=a,p=T.computePool2DInfo(s.shape,i,o,1,l,u),d=n.makeOutput(s.shape,s.dtype);return x$(n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(d.dataId).id,p.batchSize,p.inChannels,p.inHeight,p.inWidth,p.outHeight,p.outWidth,p.strideHeight,p.strideWidth,p.dilationHeight,p.dilationWidth,p.effectiveFilterHeight,p.effectiveFilterWidth,p.padInfo.top,p.padInfo.left),d}var Rde={kernelName:qc,backendName:"wasm",setupFunc:$de,kernelFunc:Dde},v$;function Mde(e){v$=e.wasm.cwrap("MaxPoolWithArgmax",null,["number","number","number","number","boolean","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Ode(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{filterSize:s,strides:i,pad:o,includeBatchInIndex:l}=a;w.assert(r.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${r.shape.length}.`);let u=[1,1];w.assert(T.eitherStridesOrDilationsAreOne(i,u),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${u}'`);let p=T.computePool2DInfo(r.shape,s,i,[1,1],o),d=n.makeOutput(p.outShape,r.dtype),c=n.makeOutput(p.outShape,"int32");return v$(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(d.dataId).id,n.dataIdMap.get(c.dataId).id,Qe[r.dtype],l,p.batchSize,p.inChannels,p.inHeight,p.inWidth,p.outHeight,p.outWidth,p.strideHeight,p.strideWidth,p.dilationHeight,p.dilationWidth,p.effectiveFilterHeight,p.effectiveFilterWidth,p.padInfo.top,p.padInfo.left),[d,c]}var Pde={kernelName:Kc,backendName:"wasm",setupFunc:Mde,kernelFunc:Ode},w$;function Lde(e){w$=e.wasm.cwrap(mo,null,["number, number, number"])}function zde(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=Os(i,r,t),m=d;if(h){let v=t.dataIdMap.get(p.dataId).id;v!==o&&(u=p,l=v,m=T.getInnerMostAxes(m.length,u.shape.length))}T.assertAxesAreInnerMostDims("mean",m,u.shape.length);let[f,g]=T.computeOutAndReduceShapes(u.shape,m),b=w.sizeFromShape(g),y=u;u.dtype!=="float32"&&(y=Ps({backend:t,inputs:{x:u},attrs:{dtype:"float32"}}),l=t.dataIdMap.get(y.dataId).id);let x=t.makeOutput(f,"float32");if(w.sizeFromShape(u.shape)!==0){let v=t.dataIdMap.get(x.dataId).id;w$(l,b,v)}if(h&&t.disposeData(p.dataId),s){let v=T.expandShapeToKeepDim(x.shape,c);x.shape=v}return u.dtype!=="float32"&&t.disposeData(y.dataId),x}var Wde={kernelName:mo,backendName:"wasm",setupFunc:Lde,kernelFunc:zde},k$;function Bde(e){k$=e.wasm.cwrap(fo,null,["number","number","number","number"])}function Vde(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=Os(i,r,t);if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x)}let m=u.shape.length;T.assertAxesAreInnerMostDims("min",d,m);let[f,g]=T.computeOutAndReduceShapes(u.shape,d),b=w.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(w.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;k$(l,Qe[i.dtype],b,x)}if(h&&t.disposeData(p.dataId),s){let x=T.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var Ude={kernelName:fo,backendName:"wasm",setupFunc:Bde,kernelFunc:Vde},Gde=!1,Hde=Ut(go,Gde),Tv;(function(e){e[e.reflect=0]="reflect",e[e.symmetric=1]="symmetric"})(Tv||(Tv={}));var I$;function qde(e){I$=e.wasm.cwrap(bo,null,["number","array","number","number","array","array","number","number"])}function jde(e){let{inputs:{x:t},backend:n,attrs:{paddings:a,mode:r}}=e,s=a.map((m,f)=>m[0]+t.shape[f]+m[1]),i=n.dataIdMap.get(t.dataId).id,o=n.makeOutput(s,t.dtype),l=n.dataIdMap.get(o.dataId).id,u=new Uint8Array(new Int32Array(t.shape).buffer),p=a.map(m=>m[0]),d=a.map(m=>m[1]),c=new Uint8Array(new Int32Array(p).buffer),h=new Uint8Array(new Int32Array(d).buffer);return I$(i,u,t.shape.length,Qe[t.dtype],c,h,Tv[r],l),o}var Kde={kernelName:bo,backendName:"wasm",kernelFunc:jde,setupFunc:qde},S$;function Xde(e){S$=e.wasm.cwrap(Bo,null,["number","number","number","number"])}function N$(e){let{backend:t,inputs:{logits:n},attrs:{dim:a}}=e,r=t.dataIdMap.get(n.dataId).id,s=t.makeOutput(n.shape,n.dtype),i=t.dataIdMap.get(s.dataId).id,o=n.shape[a],l=w.sizeFromShape(n.shape)/o;return w.sizeFromShape(s.shape)===0||S$(r,i,o,l),s}var Yde={kernelName:Bo,backendName:"wasm",setupFunc:Xde,kernelFunc:N$},T$;function Zde(e){T$=e.wasm.cwrap(zu,null,["number","number","number","number","number","number"])}function Jde(e){let{inputs:t,backend:n,attrs:a}=e,{logits:r}=t,{numSamples:s,seed:i,normalized:o}=a;if(r.dtype!=="float32")throw new Error(`Tensor logits must have dtype float32, got ${r.dtype}`);let l=o?r:N$({inputs:{logits:r},backend:n,attrs:{dim:r.shape.length-1}}),[u,p]=l.shape,d=n.makeOutput([u,s],"int32");return T$(n.dataIdMap.get(l.dataId).id,u,p,s,i,n.dataIdMap.get(d.dataId).id),o||n.disposeData(l.dataId),d}var Qde={kernelName:zu,backendName:"wasm",setupFunc:Zde,kernelFunc:Jde},ehe=Ut(yo,!0),the=!0,nhe=Ut(xo,the),ahe=Xe(Wu);function wk(e,t){let n=new Int32Array(e.wasm.HEAPU8.buffer,t,4),a=n[0],r=n[1],s=n[2],i=n[3];return e.wasm._free(t),{pSelectedIndices:a,selectedSize:r,pSelectedScores:s,pValidOutputs:i}}var C$;function rhe(e){C$=e.wasm.cwrap(Vu,"number",["number","number","number","number","number"])}function she(e){let{backend:t,inputs:n,attrs:a}=e,{iouThreshold:r,maxOutputSize:s,scoreThreshold:i}=a,{boxes:o,scores:l}=n,u=t.dataIdMap.get(o.dataId).id,p=t.dataIdMap.get(l.dataId).id,d=C$(u,p,s,r,i),{pSelectedIndices:c,selectedSize:h,pSelectedScores:m,pValidOutputs:f}=wk(t,d);return t.wasm._free(m),t.wasm._free(f),t.makeOutput([h],"int32",c)}var ihe={kernelName:Vu,backendName:"wasm",setupFunc:rhe,kernelFunc:she},E$;function ohe(e){E$=e.wasm.cwrap(Uu,"number",["number","number","number","number","number","bool"])}function lhe(e){let{backend:t,inputs:n,attrs:a}=e,{iouThreshold:r,maxOutputSize:s,scoreThreshold:i,padToMaxOutputSize:o}=a,{boxes:l,scores:u}=n,p=t.dataIdMap.get(l.dataId).id,d=t.dataIdMap.get(u.dataId).id,c=E$(p,d,s,r,i,o),{pSelectedIndices:h,selectedSize:m,pSelectedScores:f,pValidOutputs:g}=wk(t,c);t.wasm._free(f);let b=t.makeOutput([m],"int32",h),y=t.makeOutput([],"int32",g);return[b,y]}var uhe={kernelName:Uu,backendName:"wasm",setupFunc:ohe,kernelFunc:lhe},_$;function phe(e){_$=e.wasm.cwrap(Gu,"number",["number","number","number","number","number","number"])}function che(e){let{backend:t,inputs:n,attrs:a}=e,{iouThreshold:r,maxOutputSize:s,scoreThreshold:i,softNmsSigma:o}=a,{boxes:l,scores:u}=n,p=t.dataIdMap.get(l.dataId).id,d=t.dataIdMap.get(u.dataId).id,c=_$(p,d,s,r,i,o),{pSelectedIndices:h,selectedSize:m,pSelectedScores:f,pValidOutputs:g}=wk(t,c);t.wasm._free(g);let b=t.makeOutput([m],"int32",h),y=t.makeOutput([m],"float32",f);return[b,y]}var dhe={kernelName:Gu,backendName:"wasm",setupFunc:phe,kernelFunc:che},hhe=!1,mhe=Ut(Bu,hhe,"bool"),A$;function fhe(e){A$=e.wasm.cwrap(vo,null,["number","number","number","number","number"])}function ghe(e){let{inputs:t,backend:n,attrs:a}=e,{indices:r}=t,{dtype:s,depth:i,onValue:o,offValue:l}=a,u=n.makeOutput([...r.shape,i],s),p=n.dataIdMap.get(u.dataId).id,d=n.dataIdMap.get(r.dataId).id;return A$(d,i,o,l,p),u}var bhe={kernelName:vo,backendName:"wasm",setupFunc:fhe,kernelFunc:ghe};function yhe(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(a).fill(1),a}var xhe={kernelName:Hu,backendName:"wasm",kernelFunc:yhe};function vhe(e){let{inputs:t,backend:n,attrs:a}=e,{axis:r}=a;if(t.length===1)return Nv({inputs:{input:t[0]},backend:n,attrs:{dim:r}});let s=t[0].shape,i=t[0].dtype;t.forEach(p=>{w.assertShapesMatch(s,p.shape,"All tensors passed to stack must have matching shapes"),w.assert(i===p.dtype,()=>"All tensors passed to stack must have matching dtypes")});let o=[],l=t.map(p=>{let d=Nv({inputs:{input:p},backend:n,attrs:{dim:r}});return o.push(d),d}),u=BF({inputs:l,backend:n,attrs:{axis:r}});return o.forEach(p=>n.disposeData(p.dataId)),u}var whe={kernelName:qu,backendName:"wasm",kernelFunc:vhe},F$;function khe(e){F$=e.wasm.cwrap(wo,null,["number","array","number","number","array","array","number","number"])}function Ihe(e){let{inputs:{x:t},backend:n,attrs:{paddings:a,constantValue:r}}=e,s=a.map((m,f)=>m[0]+t.shape[f]+m[1]);if(w.sizeFromShape(t.shape)===0)return r$({backend:n,attrs:{shape:s,value:r,dtype:t.dtype}});let i=n.dataIdMap.get(t.dataId).id,o=n.makeOutput(s,t.dtype),l=n.dataIdMap.get(o.dataId).id,u=new Uint8Array(new Int32Array(t.shape).buffer),p=a.map(m=>m[0]),d=a.map(m=>m[1]),c=new Uint8Array(new Int32Array(p).buffer),h=new Uint8Array(new Int32Array(d).buffer);return F$(i,u,t.shape.length,Qe[t.dtype],c,h,r,l),o}var $$={kernelName:wo,backendName:"wasm",kernelFunc:Ihe,setupFunc:khe},She=!1,Nhe=Ut(ko,She),D$;function The(e){D$=e.wasm.cwrap(Io,null,["number","number","number"])}function Che(e){let{inputs:t,backend:n}=e,{x:a,alpha:r}=t,s=n.dataIdMap.get(a.dataId).id,i=n.dataIdMap.get(r.dataId).id,o=s,l=a,u=l;l.dtype!=="float32"&&(u=Ps({backend:n,inputs:{x:a},attrs:{dtype:"float32"}}),o=n.dataIdMap.get(u.dataId).id);let p=n.makeOutput(a.shape,"float32"),d=n.dataIdMap.get(p.dataId).id;return D$(o,i,d),l.dtype!=="float32"&&n.disposeData(u.dataId),p}var Ehe={kernelName:Io,backendName:"wasm",setupFunc:The,kernelFunc:Che},R$;function _he(e){R$=e.wasm.cwrap(So,null,["number","number","number","number"])}function Ahe(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=Os(i,r,t),m=d;if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x,m=T.getInnerMostAxes(m.length,u.shape.length))}T.assertAxesAreInnerMostDims("prod",m,u.shape.length);let[f,g]=T.computeOutAndReduceShapes(u.shape,m),b=w.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(w.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;R$(l,b,Qe[y.dtype],x)}if(h&&t.disposeData(p.dataId),s){let x=T.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var Fhe={kernelName:So,backendName:"wasm",setupFunc:_he,kernelFunc:Ahe},$he=e=>{let{backend:t,attrs:n}=e,{start:a,stop:r,step:s,dtype:i}=n,o=X1(a,r,s,i),l=t.makeOutput([o.length],i);return t.typedArrayFromHeap(l).set(o),l},Dhe={kernelName:Xc,backendName:"wasm",kernelFunc:$he},Rhe=!0,Mhe=Ut(ji,Rhe),Ohe=Xe(No),Phe=Xe(To),Lhe=Xe(_o),M$;function zhe(e){M$=e.wasm.cwrap(Eo,null,["number","number","number","number","number","number","number","number","number","number"])}function Whe(e){let{backend:t,inputs:n,attrs:a}=e,{images:r}=n,{alignCorners:s,halfPixelCenters:i,size:o}=a,[l,u]=o,[p,d,c,h]=r.shape,m=[p,l,u,h],f=t.dataIdMap.get(r.dataId),g;f.dtype!=="float32"&&(g=Ps({backend:t,inputs:{x:r},attrs:{dtype:"float32"}}),f=t.dataIdMap.get(g.dataId));let b=f.id,y=t.makeOutput(m,"float32");if(w.sizeFromShape(r.shape)===0)return y;let x=t.dataIdMap.get(y.dataId).id;return M$(b,p,d,c,h,l,u,s?1:0,i?1:0,x),g!=null&&t.disposeData(g.dataId),y}var Bhe={kernelName:Eo,backendName:"wasm",setupFunc:zhe,kernelFunc:Whe},O$;function Vhe(e){O$=e.wasm.cwrap(Xu,null,["number","number","number","array","array","boolean"])}function Uhe(e){let{inputs:t,backend:n,attrs:a}=e,{images:r,dy:s}=t,{alignCorners:i}=a,o=n.makeOutput(r.shape,"float32"),l=n.dataIdMap.get(r.dataId),u;return l.dtype!=="float32"&&(u=Ps({backend:n,inputs:{x:r},attrs:{dtype:"float32"}}),l=n.dataIdMap.get(u.dataId)),O$(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(o.dataId).id,new Uint8Array(new Int32Array(r.shape).buffer),new Uint8Array(new Int32Array(s.shape).buffer),i),u!=null&&n.disposeData(u.dataId),o}var Ghe={kernelName:Xu,backendName:"wasm",setupFunc:Vhe,kernelFunc:Uhe},P$;function Hhe(e){P$=e.wasm.cwrap(Co,null,["number","number","number","number","number","number","number","number","number","number"])}function qhe(e){let{backend:t,inputs:n,attrs:a}=e,{images:r}=n,{alignCorners:s,halfPixelCenters:i,size:o}=a,[l,u]=o,[p,d,c,h]=r.shape,m=[p,l,u,h],f=t.makeOutput(m,"float32");if(w.sizeFromShape(r.shape)===0)return f;let g=t.dataIdMap.get(r.dataId),b;g.dtype!=="float32"&&(b=Ps({backend:t,inputs:{x:r},attrs:{dtype:"float32"}}),g=t.dataIdMap.get(b.dataId));let y=g.id,x=t.dataIdMap.get(f.dataId).id;return P$(y,p,d,c,h,l,u,s?1:0,i?1:0,x),b!=null&&t.disposeData(b.dataId),f}var jhe={kernelName:Co,backendName:"wasm",setupFunc:Hhe,kernelFunc:qhe},L$;function Khe(e){L$=e.wasm.cwrap(Ku,null,["number","number","number","array","array","boolean"])}function Xhe(e){let{inputs:t,backend:n,attrs:a}=e,{images:r,dy:s}=t,{alignCorners:i}=a,o=n.makeOutput(r.shape,"float32"),l=n.dataIdMap.get(r.dataId),u;return l.dtype!=="float32"&&(u=Ps({backend:n,inputs:{x:r},attrs:{dtype:"float32"}}),l=n.dataIdMap.get(u.dataId)),L$(n.dataIdMap.get(r.dataId).id,n.dataIdMap.get(s.dataId).id,n.dataIdMap.get(o.dataId).id,new Uint8Array(new Int32Array(r.shape).buffer),new Uint8Array(new Int32Array(s.shape).buffer),i),u!=null&&n.disposeData(u.dataId),o}var Yhe={kernelName:Ku,backendName:"wasm",setupFunc:Khe,kernelFunc:Xhe},z$;function Zhe(e){z$=e.wasm.cwrap(Ao,null,["number","array","number","array","number","number"])}function Jhe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{dims:s}=a,i=w.parseAxisParam(s,r.shape);if(r.shape.length===0)return ag({inputs:{x:r},backend:n});let o=n.makeOutput(r.shape,r.dtype),l=n.dataIdMap.get(r.dataId).id,u=n.dataIdMap.get(o.dataId).id,p=new Uint8Array(new Int32Array(i).buffer),d=new Uint8Array(new Int32Array(r.shape).buffer);z$(l,p,i.length,d,r.shape.length,u);let c=Ln({inputs:{x:o},attrs:{shape:r.shape},backend:n});return n.disposeData(o.dataId),c}var Qhe={kernelName:Ao,backendName:"wasm",kernelFunc:Jhe,setupFunc:Zhe},W$;function eme(e){W$=e.wasm.cwrap(pp,null,["number","number","number","number","number","number","number","number","array","number","number"])}function tme(e){let{inputs:t,backend:n,attrs:a}=e,{image:r}=t,{radians:s,fillValue:i,center:o}=a,l=n.makeOutput(r.shape,r.dtype),u=n.dataIdMap.get(r.dataId).id,p=n.dataIdMap.get(l.dataId).id,[d,c,h,m]=r.shape,[f,g]=T.getImageCenter(o,c,h),b=i===0,y=255,x=typeof i=="number"?[i,i,i,b?0:y]:[...i,y],v=new Uint8Array(new Int32Array(x).buffer);return W$(u,d,c,h,m,s,f,g,v,x.length,p),l}var nme={kernelName:pp,backendName:"wasm",kernelFunc:tme,setupFunc:eme},ame=Xe(Fo),rme=Xe($o),B$;function sme(e){B$=e.wasm.cwrap(Yu,null,["number","number","number","number","number","number","array","number","number"])}function ime(e){let{backend:t,inputs:n,attrs:a}=e,{indices:r,updates:s}=n,{shape:i}=a,o=t.makeOutput(i,s.dtype);if(w.sizeFromShape(i)===0)return o;let{sliceRank:l,numUpdates:u,sliceSize:p,strides:d,outputSize:c}=xf.calculateShapes(s,r,i),h=t.dataIdMap.get(r.dataId).id,m=t.dataIdMap.get(s.dataId).id,f=new Uint8Array(new Int32Array(d).buffer),g=t.dataIdMap.get(o.dataId).id;return B$(h,m,Qe[s.dtype],l,u,p,f,c,g),o}var ome={kernelName:Yu,backendName:"wasm",setupFunc:sme,kernelFunc:ime},V$;function lme(e){V$=e.wasm.cwrap(Ju,null,["number","number","number","number","number","number","bool","number"])}function ume(e){let{inputs:t,backend:n,attrs:a}=e,{sortedSequence:r,values:s}=t,{side:i}=a;if(r.dtype!==s.dtype)throw new Error(`SearchSorted error: sorted_sequence must have the same dtype as values. Got ${r.dtype} and ${s.dtype}`);let o=n.makeOutput(s.shape,"int32");function l(u){return n.dataIdMap.get(u.dataId).id}return V$(l(r),l(s),r.shape[0],r.shape[1],s.shape[1],Qe[r.dtype],i==="left",l(o)),o}var pme={kernelName:Ju,backendName:"wasm",setupFunc:lme,kernelFunc:ume},U$;function cme(e){U$=e.wasm.cwrap("SelectV2",null,["number","number","number","number","number"])}function dme(e){let{inputs:t,backend:n}=e,{condition:a,t:r,e:s}=t,i=n.dataIdMap.get(a.dataId).id,o=n.dataIdMap.get(r.dataId).id,l=n.dataIdMap.get(s.dataId).id,u=n.makeOutput(r.shape,r.dtype),p=n.dataIdMap.get(u.dataId).id,d=a.shape.length,c=r.shape.length,h=d===0||d>1||c===1?1:w.sizeFromShape(r.shape.slice(1));return U$(i,o,l,h,p),u}var hme={kernelName:Qu,backendName:"wasm",kernelFunc:dme,setupFunc:cme},mme=Xe(Do),G$;function fme(e){G$=e.wasm.cwrap(Po,null,["number","number"])}function gme(e){let{backend:t,inputs:{x:n}}=e,a=t.dataIdMap.get(n.dataId).id,r=t.makeOutput(n.shape,n.dtype),s=t.dataIdMap.get(r.dataId).id;return w.sizeFromShape(r.shape)===0||G$(a,s),r}var bme={kernelName:"Sigmoid",backendName:"wasm",setupFunc:fme,kernelFunc:gme},yme=Xe(Oo),xme=Xe(Ro),vme=Xe(Mo),wme=Xe(Lo);function kme(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{blockShape:s,paddings:i}=a,o=w.sizeFromShape(s),l=[[0,0]];l.push(...i);for(let g=1+s.length;g0?l+1:0;if(u<0)throw new Error(T.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let p=r.shape.slice();p[0]=u;let d=n.dataIdMap.get(r.dataId).id,c=n.dataIdMap.get(s.dataId).id,h=n.dataIdMap.get(i.dataId).id,m=n.makeOutput(p,r.dtype),f=n.dataIdMap.get(m.dataId).id,g=n.makeOutput([4],"int32"),b=n.dataIdMap.get(g.dataId).id;j$(d,Qe[r.dtype],r.shape[0],c,h,f,b,t,0);let y=n.readSync(g.dataId),x;switch(y[0]){case 0:{x=T.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{x=T.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:x=T.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(y[1],y[2]);break;case 3:x=T.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(y[1],y[2],y[3]);break;default:x=""}if(n.disposeData(g.dataId),x)throw n.disposeData(m.dataId),new Error(x);return m}function Ame(e){return X$(e,!0)}var Fme={kernelName:Zc,backendName:"wasm",setupFunc:K$,kernelFunc:Ame};function $me(e){return X$(e,!1)}var Dme={kernelName:Jc,backendName:"wasm",setupFunc:K$,kernelFunc:$me},Y$;function Rme(e){Y$=e.wasm.cwrap(rp,null,["number","number","number","number","number","number","number","number","array","number","number"])}function Mme(e){let{backend:t,inputs:n,attrs:a}=e,{sparseIndices:r,sparseValues:s,defaultValue:i}=n,{outputShape:o}=a,l=t.makeOutput(o,i.dtype);if(w.sizeFromShape(o)===0)return l;let{sliceRank:u,numUpdates:p,sliceSize:d,strides:c,outputSize:h}=T.calculateShapes(s,r,o),m=t.dataIdMap.get(r.dataId).id,f=t.dataIdMap.get(s.dataId).id,g=t.dataIdMap.get(i.dataId).id,b=new Uint8Array(new Int32Array(c).buffer),y=t.dataIdMap.get(l.dataId).id;return Y$(m,f,s.shape.length,g,Qe[i.dtype],u,p,d,b,h,y),l}var Ome={kernelName:rp,backendName:"wasm",setupFunc:Rme,kernelFunc:Mme};function Pme(e){let{inputs:t,attrs:n,backend:a}=e,{x:r}=t,{numOrSizeSplits:s,axis:i}=n,o=w.parseAxisParam(i,r.shape)[0],l=T.prepareSplitSize(r,s,o),u=new Array(r.shape.length).fill(0),p=r.shape.slice();return l.map(d=>{let c=[...p];c[o]=d;let h=Ni({inputs:{x:r},attrs:{begin:u,size:c},backend:a});return u[o]+=d,h})}var Lme={kernelName:np,backendName:"wasm",kernelFunc:Pme},zme=Xe(zo),Wme=Xe(Qc),Bme=!0,Vme=Ut(Vo,Bme),Z$;function Ume(e){Z$=e.wasm.cwrap(Ts,null,["number","number","number","number"])}function Gme(e){let{backend:t,inputs:n,attrs:a}=e,{alpha:r}=a,{x:s}=n,i=t.dataIdMap.get(s.dataId).id,o=t.makeOutput(s.shape,s.dtype),l=t.dataIdMap.get(o.dataId).id;return Z$(i,r,Qe[s.dtype],l),o}var Hme={kernelName:Ts,backendName:"wasm",setupFunc:Ume,kernelFunc:Gme},J$;function qme(e){J$=e.wasm.cwrap(sp,null,["number","array","number","array","array","array","array","array","number","number"])}function jme(e){let{backend:t,inputs:n,attrs:a}=e,{x:r}=n,{begin:s,end:i,strides:o,beginMask:l,endMask:u,ellipsisMask:p,newAxisMask:d,shrinkAxisMask:c}=a,{finalShapeSparse:h,finalShape:m,isIdentity:f,sliceDim0:g,isSimpleSlice:b,begin:y,end:x,strides:v}=Kt.sliceInfo(r.shape,s,i,o,l,u,p,d,c),I;if(f)I=Ln({inputs:{x:r},backend:t,attrs:{shape:m}});else if(g||b){w.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);let N=Kt.computeOutShape(y,x,v),C=Ni({inputs:{x:r},backend:t,attrs:{begin:y,size:N}});I=Ln({inputs:{x:C},backend:t,attrs:{shape:m}}),t.disposeData(C.dataId)}else{let N=t.makeOutput(h,"float32"),C=t.dataIdMap.get(r.dataId).id,_=new Uint8Array(new Int32Array(w.computeStrides(r.shape)).buffer),F=new Uint8Array(new Int32Array(y).buffer),D=new Uint8Array(new Int32Array(x).buffer),$=new Uint8Array(new Int32Array(v).buffer),S=new Uint8Array(new Int32Array(h).buffer),M=new Uint8Array(new Int32Array(w.computeStrides(h)).buffer),B=t.dataIdMap.get(N.dataId).id;J$(C,_,r.shape.length,F,D,$,S,M,h.length,B),I=Ln({inputs:{x:N},backend:t,attrs:{shape:m}}),t.disposeData(N.dataId)}return I}var Kme={kernelName:sp,backendName:"wasm",setupFunc:qme,kernelFunc:jme};function Xme(e){let{backend:t,inputs:n,attrs:a}=e,{data:r,dataSplits:s}=n,{separator:i,nGramWidths:o,leftPad:l,rightPad:u,padWidth:p,preserveShortSequences:d}=a,c=t.readSync(r.dataId),h=t.readSync(s.dataId),[m,f]=Z1(c,h,i,o,l,u,p,d),g=t.makeOutput([m.length],"string"),b=t.dataIdMap.get(g.dataId);b.stringBytes=m;let y=t.makeOutput(s.shape,"int32");return t.typedArrayFromHeap(y).set(f),[g,y]}var Yme={kernelName:td,backendName:"wasm",kernelFunc:Xme};function Zme(e){let{backend:t,inputs:n,attrs:a}=e,{input:r,delimiter:s}=n,{skipEmpty:i}=a,o=t.readSync(r.dataId),l=t.readSync(s.dataId),[u,p,d]=J1(o,l[0],i),c=p.length,h=t.makeOutput([c,2],"int32");t.typedArrayFromHeap(h).set(u);let m=t.makeOutput([c],"string"),f=t.dataIdMap.get(m.dataId);f.stringBytes=p;let g=t.makeOutput([2],"int32");return t.typedArrayFromHeap(g).set(d),[h,m,g]}var Jme={kernelName:nd,backendName:"wasm",kernelFunc:Zme};function Qme(e){let{backend:t,inputs:n,attrs:a}=e,{input:r}=n,{numBuckets:s}=a,i=t.readSync(r.dataId),o=Q1(i,s),l=t.makeOutput(r.shape,"int32");return t.typedArrayFromHeap(l).set(o),l}var efe={kernelName:ad,backendName:"wasm",kernelFunc:Qme},tfe=!0,nfe=Ut(Uo,tfe),Q$;function afe(e){Q$=e.wasm.cwrap(Wo,null,["number","number","number","number"])}function rfe(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=Os(i,r,t),m=d;if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x,m=T.getInnerMostAxes(m.length,u.shape.length))}T.assertAxesAreInnerMostDims("sum",m,u.shape.length);let[f,g]=T.computeOutAndReduceShapes(u.shape,m),b=w.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(w.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;Q$(l,b,Qe[y.dtype],x)}if(h&&t.disposeData(p.dataId),s){let x=T.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var sfe={kernelName:Wo,backendName:"wasm",setupFunc:afe,kernelFunc:rfe},ife=Xe(Go),ofe=Xe(Ho),eD;function lfe(e){eD=e.wasm.cwrap(Zu,null,["number","number","number","number","number","number","array","number","number","number"])}function ufe(e){let{backend:t,inputs:n,attrs:a}=e,{tensor:r,indices:s,updates:i}=n,{}=a,o=t.makeOutput(r.shape,r.dtype);if(w.sizeFromShape(r.shape)===0)return o;let{sliceRank:l,numUpdates:u,sliceSize:p,strides:d,outputSize:c}=xf.calculateShapes(i,s,r.shape),h=t.dataIdMap.get(s.dataId).id,m=t.dataIdMap.get(i.dataId).id,f=t.dataIdMap.get(r.dataId).id,g=new Uint8Array(new Int32Array(d).buffer),b=t.dataIdMap.get(o.dataId).id;return eD(h,m,Qe[i.dtype],l,u,p,g,c,b,f),o}var pfe={kernelName:Zu,backendName:"wasm",setupFunc:lfe,kernelFunc:ufe},tD;function cfe(e){tD=e.wasm.cwrap(Ns,null,["number","array","number","array","number","number"])}function dfe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,s=n.dataIdMap.get(r.dataId).id,{reps:i}=a,o=new Array(r.shape.length);for(let c=0;c{let{x:a}=e,{k:r,sorted:s}=n,i=t.dataIdMap.get(a.dataId).id,o=new Uint8Array(new Int32Array(a.shape).buffer),l=a.shape.slice();l[l.length-1]=r;let u=t.makeOutput(l,a.dtype),p=t.dataIdMap.get(u.dataId).id,d=t.makeOutput(l,"int32"),c=t.dataIdMap.get(d.dataId).id;return nD(i,o,a.shape.length,Qe[a.dtype],r,s,p,c),[u,d]},gfe={kernelName:ip,backendName:"wasm",setupFunc:mfe,kernelFunc:ffe},aD;function bfe(e){aD=e.wasm.cwrap(op,null,["number","number","bool","number","number","number","number","number","number","array","number","array","number","number","number","number","number"])}function yfe(e){let{backend:t,inputs:n,attrs:a}=e,{image:r,transforms:s}=n,{interpolation:i,fillMode:o,fillValue:l,outputShape:u}=a,[p,d,c,h]=r.shape,[m,f]=u!=null?u:[d,c],g=[p,m,f,h],b=new Uint8Array(new Int32Array(w.computeStrides(r.shape)).buffer),y=new Uint8Array(new Int32Array(w.computeStrides(g)).buffer),x=t.makeOutput(g,r.dtype),v=t.dataIdMap.get(x.dataId).id,I=t.dataIdMap.get(r.dataId).id,N=t.dataIdMap.get(s.dataId).id,C=i==="nearest"?1:2,_;switch(o){case"constant":_=1;break;case"reflect":_=2;break;case"wrap":_=3;break;case"nearest":_=4;break;default:_=1;break}return aD(I,N,s.shape[0]>1,p,m,f,h,c,d,b,r.shape.length-1,y,g.length-1,C,_,l,v),x}var xfe={kernelName:op,backendName:"wasm",setupFunc:bfe,kernelFunc:yfe};function vfe(e){let{inputs:t,attrs:n,backend:a}=e,{axis:r}=n,{x:s}=t,{outputValues:i,outputShape:o,indices:l}=tk(a.readSync(s.dataId),r,s.shape,s.dtype);return[a.makeOutput(o,s.dtype,void 0,i),a.makeOutput([l.length],"int32",void 0,l)]}var wfe={kernelName:rd,backendName:"wasm",kernelFunc:vfe};function kfe(e){let{inputs:t,backend:n,attrs:a}=e,{value:r}=t,{axis:s}=a;s<0&&(s+=r.shape.length);let i=r.shape[s],o=r.shape.length,l=new Array(o-1),u=0;for(let h=0;h({dataId:h,dtype:m,shape:l}))}var Ife={kernelName:lp,backendName:"wasm",kernelFunc:kfe};function Sfe(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(a).fill(0),a}var Nfe={kernelName:up,backendName:"wasm",kernelFunc:Sfe},Tfe=[oue,lue,uue,pue,due,fue,Iue,Tue,Cue,Eue,_ue,Aue,Fue,$ue,Due,Oue,Hue,zue,Vue,Xue,tpe,rpe,ipe,lpe,upe,ppe,hpe,mpe,bpe,vpe,Ipe,Tpe,_pe,Ape,Fpe,Rpe,Ppe,Wpe,Upe,qpe,Xpe,Jpe,tce,rce,oce,lce,cce,hce,mce,fce,gce,bce,yce,wce,kce,Sce,Cce,Ace,Dce,Oce,zce,Bce,Uce,gue,Gce,Hce,qce,Xce,Zce,Qce,nde,rde,ade,ide,ode,ude,cde,mde,bde,vde,kde,Nde,Ede,Fde,Rde,Pde,Wde,Ude,Hde,Kde,Qde,ehe,nhe,ahe,ihe,uhe,dhe,mhe,bhe,xhe,whe,$$,Nhe,Ehe,Fhe,Dhe,Mhe,Ohe,Phe,Lhe,que,Bhe,Ghe,jhe,Yhe,Qhe,nme,ame,rme,ome,pme,hme,mme,bme,yme,xme,vme,Que,Yde,wme,Ime,Tme,_me,Fme,Dme,Ome,Lme,zme,Wme,Vme,Hme,Kme,Yme,Jme,efe,nfe,sfe,ife,ofe,pfe,hfe,gfe,xfe,vue,wfe,Ife,Nfe];for(let e of Tfe)id(e);var Cv=G();Cv.registerFlag("WASM_HAS_SIMD_SUPPORT",async()=>{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,9,1,7,0,65,0,253,15,26,11]))}catch(e){return!1}});Cv.registerFlag("WASM_HAS_MULTITHREAD_SUPPORT",async()=>{if(Cv.get("IS_NODE"))return!1;try{return 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(e){return!1}});var KS=ks(ZR()),Cfe=ks(JR()),XS=ks(QR()),YS=KS.default||KS,Efe=XS.default||XS,rD=class extends Pc{constructor(e){super(),this.wasm=e,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(sD),Ev=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new $m(this,Ea())}write(e,t,n){let a={id:this.dataIdNextNumber++};return this.move(a,e,t,n,1),a}numDataIds(){return this.dataIdMap.numDataIds()}async time(e){let t=w.now();return e(),{kernelMs:w.now()-t}}move(e,t,n,a,r){let s=this.dataIdNextNumber++;if(a==="string"){let u=t;this.dataIdMap.set(e,{id:s,stringBytes:u,shape:n,dtype:a,memoryOffset:null,refCount:r});return}let i=w.sizeFromShape(n),o=i*w.bytesPerElement(a),l=this.wasm._malloc(o)>>>0;this.dataIdMap.set(e,{id:s,memoryOffset:l,shape:n,dtype:a,refCount:r}),this.wasm.tfjs.registerTensor(s,i,l),t!=null&&this.wasm.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,o),l)}async read(e){return this.readSync(e)}readSync(e,t,n){let{memoryOffset:a,dtype:r,shape:s,stringBytes:i}=this.dataIdMap.get(e);if(r==="string")return(t==null||t===0)&&(n==null||n>=i.length)?i:i.slice(t,n);t=t||0,n=n||w.sizeFromShape(s);let o=w.bytesPerElement(r),l=this.wasm.HEAPU8.slice(a+t*o,a+n*o);return Ffe(l.buffer,r)}disposeData(e,t=!1){if(this.dataIdMap.has(e)){let n=this.dataIdMap.get(e);if(n.refCount--,!t&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(e)}return!0}refCount(e){return this.dataIdMap.has(e)?this.dataIdMap.get(e).refCount:0}incRef(e){let t=this.dataIdMap.get(e);t!=null&&t.refCount++}floatPrecision(){return 32}getMemoryOffset(e){return this.dataIdMap.get(e).memoryOffset}dispose(){this.wasm.tfjs.dispose(),"PThread"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(e,t,n,a){let r;if(n==null)r=this.write(a!=null?a:null,e,t);else{let s=this.dataIdNextNumber++;r={id:s},this.dataIdMap.set(r,{id:s,memoryOffset:n,shape:e,dtype:t,refCount:1});let i=w.sizeFromShape(e);this.wasm.tfjs.registerTensor(s,i,n)}return{dataId:r,shape:e,dtype:t}}typedArrayFromHeap({shape:e,dtype:t,dataId:n}){let a=this.wasm.HEAPU8.buffer,{memoryOffset:r}=this.dataIdMap.get(n),s=w.sizeFromShape(e);switch(t){case"float32":return new Float32Array(a,r,s);case"int32":return new Int32Array(a,r,s);case"bool":return new Uint8Array(a,r,s);default:throw new Error(`Unknown dtype ${t}`)}}};function _fe(e){return(t,n)=>(w.fetch(e,{credentials:"same-origin"}).then(a=>{a.ok||t.env.a(`failed to load wasm binary file at '${e}'`),a.arrayBuffer().then(r=>{WebAssembly.instantiate(r,t).then(s=>{n(s.instance,s.module)})})}),{})}function ZS(e,t,n){if(Am!=null)return Am;let a="tfjs-backend-wasm.wasm";return e&&t?a="tfjs-backend-wasm-threaded-simd.wasm":e&&(a="tfjs-backend-wasm-simd.wasm"),bc!=null&&bc[a]!=null?bc[a]:n+a}async function Afe(){let[e,t]=await Promise.all([G().getAsync("WASM_HAS_SIMD_SUPPORT"),G().getAsync("WASM_HAS_MULTITHREAD_SUPPORT")]);return new Promise((n,a)=>{let r={};r.locateFile=(o,l)=>{if(o.endsWith(".worker.js")){let u=Cfe.wasmWorkerContents.replace(/\n/g,"\\n"),p=new Blob([u],{type:"application/javascript"});return URL.createObjectURL(p)}return o.endsWith(".wasm")?ZS(e,t,mc!=null?mc:l):l+o},kk&&(r.instantiateWasm=_fe(ZS(e,t,mc!=null?mc:"")));let s=!1;r.onAbort=()=>{s||yc||(yc=!0,a({message:"Make sure the server can serve the `.wasm` file relative to the bundled js file. For more details see https://github.com/tensorflow/tfjs/blob/master/tfjs-backend-wasm/README.md#using-bundlers"}))};let i;t&&e&&Am==null?(r.mainScriptUrlOrBlob=new Blob(["var WasmBackendModuleThreadedSimd = "+YS.toString()],{type:"text/javascript"}),i=YS(r)):i=Efe(r),i.then(o=>{s=!0,yc=!1;let l=null;o.tfjs={init:o.cwrap("init",null,[]),initWithThreadsCount:o.cwrap("init_with_threads_count",null,["number"]),getThreadsCount:o.cwrap("get_threads_count","number",[]),registerTensor:o.cwrap("register_tensor",null,["number","number","number"]),disposeData:o.cwrap("dispose_data",l,["number"]),dispose:o.cwrap("dispose",l,[])},n({wasm:o})}).catch(a)})}function Ffe(e,t){switch(t){case"float32":return new Float32Array(e);case"int32":return new Int32Array(e);case"bool":return new Uint8Array(e);default:throw new Error(`Unknown dtype ${t}`)}}var $fe=["tfjs-backend-wasm.wasm","tfjs-backend-wasm-simd.wasm","tfjs-backend-wasm-threaded-simd.wasm"],Am=null,mc=null,bc={},yc=!1,kk=!1;function Dfe(e,t=!1){if(zv("setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release."),yc)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`");Am=e,kk=t}function Rfe(e,t=!1){if(yc)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`");if(typeof e=="string")mc=e;else{bc=e;let n=$fe.filter(a=>bc[a]==null);if(n.length>0)throw new Error(`There were no entries found for the following binaries: ${n.join(",")}. Please either call setWasmPaths with a map providing a path for each binary, or with a string indicating the directory where all the binaries can be found.`)}kk=t}var sD=-1,Ev=-1;function Mfe(e){sD=e}function Ofe(){if(Ev===-1)throw new Error("WASM backend not initialized.");return Ev}var Pfe="4.16.0",Lfe=2;Ym("wasm",async()=>{let{wasm:e}=await Afe();return new rD(e)},Lfe);var JS="4.16.0",zfe="4.16.0",Wfe="4.16.0",Bfe="4.16.0",Vfe="4.16.0",Ufe={tfjs:JS,"tfjs-core":JS,"tfjs-converter":zfe,"tfjs-backend-cpu":Wfe,"tfjs-backend-webgl":Bfe,"tfjs-backend-wasm":Vfe};var jk={};$h(jk,{AnchorPosition:()=>Lk,DrawBox:()=>Bd,DrawBoxOptions:()=>og,DrawFaceLandmarks:()=>yg,DrawFaceLandmarksOptions:()=>bg,DrawTextField:()=>dl,DrawTextFieldOptions:()=>$p,drawContour:()=>zr,drawDetections:()=>Jfe,drawFaceExpressions:()=>age,drawFaceLandmarks:()=>sge});function zr(e,t,n=!1){if(e.beginPath(),t.slice(1).forEach(({x:a,y:r},s)=>{let i=t[s];e.moveTo(i.x,i.y),e.lineTo(a,r)}),n){let a=t[t.length-1],r=t[0];if(!a||!r)return;e.moveTo(a.x,a.y),e.lineTo(r.x,r.y)}e.stroke()}var Tk={};$h(Tk,{computeReshapedDimensions:()=>Nk,getCenterPoint:()=>sl,isDimensions:()=>sg,isEven:()=>rg,isFloat:()=>Sk,isTensor:()=>al,isTensor1D:()=>Gfe,isTensor2D:()=>Ik,isTensor3D:()=>Wr,isTensor4D:()=>ka,isValidNumber:()=>Xa,isValidProbablitiy:()=>_p,range:()=>br,round:()=>rl});var Un=class e{constructor(t,n){if(!Xa(t)||!Xa(n))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:n})}`);this._width=t,this._height=n}get width(){return this._width}get height(){return this._height}reverse(){return new e(1/this.width,1/this.height)}};function al(e,t){return e instanceof Ce&&e.shape.length===t}function Gfe(e){return al(e,1)}function Ik(e){return al(e,2)}function Wr(e){return al(e,3)}function ka(e){return al(e,4)}function Sk(e){return e%1!==0}function rg(e){return e%2===0}function rl(e,t=2){let n=10**t;return Math.floor(e*n)/n}function sg(e){return e&&e.width&&e.height}function Nk({width:e,height:t},n){let a=n/Math.max(t,e);return new Un(Math.round(e*a),Math.round(t*a))}function sl(e){return e.reduce((t,n)=>t.add(n),new Ue(0,0)).div(new Ue(e.length,e.length))}function br(e,t,n){return Array(e).fill(0).map((a,r)=>t+r*n)}function Xa(e){return!!e&&e!==1/0&&e!==-1/0&&!Number.isNaN(e)||e===0}function _p(e){return Xa(e)&&e>=0&&e<=1}var Ue=class e{constructor(t,n){this._x=t,this._y=n}get x(){return this._x}get y(){return this._y}add(t){return new e(this.x+t.x,this.y+t.y)}sub(t){return new e(this.x-t.x,this.y-t.y)}mul(t){return new e(this.x*t.x,this.y*t.y)}div(t){return new e(this.x/t.x,this.y/t.y)}abs(){return new e(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new e(Math.floor(this.x),Math.floor(this.y))}};var on=class e{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(Xa)}static assertIsValidBox(t,n,a=!1){if(!e.isRect(t))throw new Error(`${n} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!a&&(t.width<0||t.height<0))throw new Error(`${n} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,n=!0){let a=t||{},r=[a.left,a.top,a.right,a.bottom].every(Xa),s=[a.x,a.y,a.width,a.height].every(Xa);if(!s&&!r)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(a)}`);let[i,o,l,u]=s?[a.x,a.y,a.width,a.height]:[a.left,a.top,a.right-a.left,a.bottom-a.top];e.assertIsValidBox({x:i,y:o,width:l,height:u},"Box.constructor",n),this._x=i,this._y=o,this._width=l,this._height=u}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new Ue(this.left,this.top)}get topRight(){return new Ue(this.right,this.top)}get bottomLeft(){return new Ue(this.left,this.bottom)}get bottomRight(){return new Ue(this.right,this.bottom)}round(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new e({x:t,y:n,width:a,height:r})}floor(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new e({x:t,y:n,width:a,height:r})}toSquare(){let{x:t,y:n,width:a,height:r}=this,s=Math.abs(a-r);return an&&(o=-d+n+a,d=n),c>t&&(l=-c+t+r,c=t),u<1&&(l=2-u,u=1),p<1&&(l=2-p,p=1),{dy:i,edy:l,dx:s,edx:o,y:p,ey:c,x:u,ex:d,w:a,h:r}}calibrate(t){return new e({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var il=class extends on{constructor(t,n,a,r,s=!1){super({left:t,top:n,right:a,bottom:r},s)}};var ol=class e{constructor(t,n,a,r,s){this._imageDims=new Un(s.width,s.height),this._score=t,this._classScore=n,this._className=a,this._box=new on(r).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new on(this._box).rescale(this.imageDims.reverse())}forSize(t,n){return new e(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:n})}};var Tt=class e extends ol{constructor(t,n,a){super(t,t,"",n,a)}forSize(t,n){let{score:a,relativeBox:r,imageDims:s}=super.forSize(t,n);return new e(a,r,s)}};function Ck(e,t,n=!0){let a=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),r=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),s=a*r;return n?s/(e.area+t.area-s):s/Math.min(e.area,t.area)}function Ek(e){let t=e.map(o=>o.x),n=e.map(o=>o.y),a=t.reduce((o,l)=>lloo({score:i,boxIndex:o})).sort((i,o)=>i.score-o.score).map(i=>i.boxIndex),s=[];for(;r.length>0;){let i=r.pop();s.push(i);let o=r,l=[];for(let u=0;ul[p]<=n)}return s}function Ya(e,t){return O(()=>{let[n,a,r]=t,s=yn([...e.shape.slice(0,3),1],n,"float32"),i=yn([...e.shape.slice(0,3),1],a,"float32"),o=yn([...e.shape.slice(0,3),1],r,"float32"),l=et([s,i,o],3);return pe(e,l)})}function Ak(e,t=!1){return O(()=>{let[n,a]=e.shape.slice(1);if(n===a)return e;let r=Math.abs(n-a),s=Math.round(r*(t?.5:1)),i=n>a?2:1,o=c=>{let h=e.shape.slice();return h[i]=c,yn(h,0,"float32")},l=o(s),u=r-l.shape[i],d=[t&&u?o(u):null,e,l].filter(c=>!!c).map(c=>re(c,"float32"));return et(d,i)})}function Hfe(e){let t=e.slice();for(let n=t.length-1;n>0;n--){let a=Math.floor(Math.random()*(n+1)),r=t[n];t[n]=t[a],t[a]=r}return t}function zd(e){return 1/(1+Math.exp(-e))}function qfe(e){return Math.log(e/(1-e))}var ll=class extends on{constructor(t,n,a,r,s=!1){super({x:t,y:n,width:a,height:r},s)}};var jfe=.5,Kfe=.43,Xfe=.45,sa=class{constructor(t,n,a=new Ue(0,0)){let{width:r,height:s}=n;this._imgDims=new Un(r,s),this._shift=a,this._positions=t.map(i=>i.mul(new Ue(r,s)).add(a))}get shift(){return new Ue(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new Ue(this.imageWidth,this.imageHeight)))}forSize(t,n){return new this.constructor(this.relativePositions,{width:t,height:n})}shiftBy(t,n){return new this.constructor(this.relativePositions,this._imgDims,new Ue(t,n))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,n={}){if(t){let s=t instanceof Tt?t.box.floor():new on(t);return this.shiftBy(s.x,s.y).align(null,n)}let{useDlibAlignment:a,minBoxPadding:r}={useDlibAlignment:!1,minBoxPadding:.2,...n};return a?this.alignDlib():this.alignMinBbox(r)}alignDlib(){let t=this.getRefPointsForAlignment(),[n,a,r]=t,s=d=>r.sub(d).magnitude(),i=(s(n)+s(a))/2,o=Math.floor(i/Xfe),l=sl(t),u=Math.floor(Math.max(0,l.x-jfe*o)),p=Math.floor(Math.max(0,l.y-Kfe*o));return new ll(u,p,Math.min(o,this.imageWidth+u),Math.min(o,this.imageHeight+p))}alignMinBbox(t){let n=Ek(this.positions);return n.pad(n.width*t,n.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var Fk=class extends sa{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],sl([t[3],t[4]])]}};var ul=class extends sa{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(sl)}};var Ap=class{constructor(t,n){this._label=t,this._distance=n}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${rl(this.distance)})`:""}`}};var Fp=class extends on{static assertIsValidLabeledBox(t,n){if(on.assertIsValidBox(t,n),!Xa(t.label))throw new Error(`${n} - expected property label (${t.label}) to be a number`)}constructor(t,n){super(t),this._label=n}get label(){return this._label}};var Ls=class e{constructor(t,n){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(n)||n.some(a=>!(a instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=n}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let n=t.descriptors.map(a=>new Float32Array(a));return new e(t.label,n)}};var $k=class extends Fp{static assertIsValidPredictedBox(t,n){if(Fp.assertIsValidLabeledBox(t,n),!_p(t.score)||!_p(t.classScore))throw new Error(`${n} - expected properties score (${t.score}) and (${t.classScore}) to be a number between [0, 1]`)}constructor(t,n,a,r){super(t,n),this._score=a,this._classScore=r}get score(){return this._score}get classScore(){return this._classScore}};function yr(e){return e.detection instanceof Tt}function pl(e,t){return{...e,...{detection:t}}}function Dk(){let e=window.fetch;if(!e)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:e,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Wd(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function ig(e){let t="";if(!e&&Wd())try{e=ER("fs")}catch(a){t=a.toString()}return{readFile:e?a=>new Promise((r,s)=>{e.readFile(a,(i,o)=>i?s(i):r(o))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Rk(){let e=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,n=global.Video||global.HTMLVideoElement,a=()=>{if(e)return new e;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},r=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(n)return new n;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},i=global.fetch,o=ig();return{Canvas:e||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:a,createImageElement:r,createVideoElement:s,fetch:i,...o}}function Mk(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var ln;function Yfe(){if(!ln)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return ln}function Ok(e){ln=e}function Pk(){return Mk()?Ok(Dk()):Wd()?Ok(Rk()):null}function Zfe(e){if(ln||Pk(),!ln)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=ln.Canvas,Image:n=ln.Image}=e;ln.Canvas=t,ln.Image=n,ln.createCanvasElement=e.createCanvasElement||(()=>new t),ln.createImageElement=e.createImageElement||(()=>new n),ln.ImageData=e.ImageData||ln.ImageData,ln.Video=e.Video||ln.Video,ln.fetch=e.fetch||ln.fetch,ln.readFile=e.readFile||ln.readFile}var tt={getEnv:Yfe,setEnv:Ok,initialize:Pk,createBrowserEnv:Dk,createFileSystem:ig,createNodejsEnv:Rk,monkeyPatch:Zfe,isBrowser:Mk,isNodejs:Wd};Pk();function cl(e){return!tt.isNodejs()&&typeof e=="string"?document.getElementById(e):e}function Gn(e){let{Canvas:t,CanvasRenderingContext2D:n}=tt.getEnv();if(e instanceof n)return e;let a=cl(e);if(!(a instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let r=a.getContext("2d",{willReadFrequently:!0});if(!r)throw new Error("resolveContext2d - canvas 2d context is null");return r}var Lk=(r=>(r.TOP_LEFT="TOP_LEFT",r.TOP_RIGHT="TOP_RIGHT",r.BOTTOM_LEFT="BOTTOM_LEFT",r.BOTTOM_RIGHT="BOTTOM_RIGHT",r))(Lk||{}),$p=class{constructor(t={}){let{anchorPosition:n,backgroundColor:a,fontColor:r,fontSize:s,fontStyle:i,padding:o}=t;this.anchorPosition=n||"TOP_LEFT",this.backgroundColor=a||"rgba(0, 0, 0, 0.5)",this.fontColor=r||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=i||"Georgia",this.padding=o||4}},dl=class e{constructor(t,n,a={}){this.text=typeof t=="string"?[t]:t instanceof e?t.text:t,this.anchor=n,this.options=new $p(a)}measureWidth(t){let{padding:n}=this.options;return this.text.map(a=>t.measureText(a).width).reduce((a,r)=>a{let m=l+d.x,f=l+d.y+(h+1)*i;a.fillText(c,m,f)})}};var og=class{constructor(t={}){let{boxColor:n,lineWidth:a,label:r,drawLabelOptions:s}=t;this.boxColor=n||"rgba(0, 0, 255, 1)",this.lineWidth=a||2,this.label=r;let i={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new $p({...i,...s})}},Bd=class{constructor(t,n={}){this.box=new on(t),this.options=new og(n)}draw(t){let n=Gn(t),{boxColor:a,lineWidth:r}=this.options,{x:s,y:i,width:o,height:l}=this.box;n.strokeStyle=a,n.lineWidth=r,n.strokeRect(s,i,o,l);let{label:u}=this.options;u&&new dl([u],{x:s-r/2,y:i},this.options.drawLabelOptions).draw(t)}};function Jfe(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof Tt?a.score:yr(a)?a.detection.score:void 0,s=a instanceof Tt?a.box:yr(a)?a.detection.box:new on(a),i=r?`${rl(r)}`:void 0;new Bd(s,{label:i}).draw(e)})}function Vd(e){let{Image:t,Video:n}=tt.getEnv();return e instanceof t&&e.complete||e instanceof n&&e.readyState>=3}function zk(e){return new Promise((t,n)=>{if(e instanceof tt.getEnv().Canvas||Vd(e)){t(null);return}function a(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),n(s))}function r(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),t(s))}e.addEventListener("load",r),e.addEventListener("error",a)})}function Wk(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToImage - expected buf to be of type: Blob"));let a=new FileReader;a.onload=()=>{typeof a.result!="string"&&n(new Error("bufferToImage - expected reader.result to be a string, in onload"));let r=tt.getEnv().createImageElement();r.onload=()=>t(r),r.onerror=n,r.src=a.result},a.onerror=n,a.readAsDataURL(e)})}function hl(e){let{Image:t,Video:n}=tt.getEnv();return e instanceof t?new Un(e.naturalWidth,e.naturalHeight):e instanceof n?new Un(e.videoWidth,e.videoHeight):new Un(e.width,e.height)}function ml({width:e,height:t}){let{createCanvasElement:n}=tt.getEnv(),a=n();return a.width=e,a.height=t,a}function Ud(e,t){let{ImageData:n}=tt.getEnv();if(!(e instanceof n)&&!Vd(e))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:a,height:r}=t||hl(e),s=ml({width:a,height:r});return e instanceof n?Gn(s).putImageData(e,0,0):Gn(s).drawImage(e,0,0,a,r),s}async function Bk(e,t){let n=t||tt.getEnv().createCanvasElement(),[a,r,s]=e.shape.slice(ka(e)?1:0),i=O(()=>e.as3D(a,r,s).toInt());return await Xo.toPixels(i,n),i.dispose(),n}function lg(e){let{Image:t,Canvas:n,Video:a}=tt.getEnv();return e instanceof t||e instanceof n||e instanceof a}function Vk(e,t,n=!1){let{Image:a,Canvas:r}=tt.getEnv();if(!(e instanceof a||e instanceof r))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return ml({width:1,height:1});let s=hl(e),i=t/Math.max(s.height,s.width),o=i*s.width,l=i*s.height,u=ml({width:t,height:t}),p=e instanceof r?e:Ud(e),d=Math.abs(o-l)/2,c=n&&o0&&p.height>0&&Gn(u).drawImage(p,c,h,o,l),u}var xr=class{constructor(t,n=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=n,this._batchSize=t.length,t.forEach((a,r)=>{if(Wr(a)){this._imageTensors[r]=a,this._inputDimensions[r]=a.shape;return}if(ka(a)){let i=a.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[r]=a,this._inputDimensions[r]=a.shape.slice(1);return}let s=a instanceof tt.getEnv().Canvas?a:Ud(a);this._canvases[r]=s,this._inputDimensions[r]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return br(this.batchSize,0,1).map((t,n)=>this.getReshapedInputDimensions(n))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let n=this.getInputWidth(t),a=this.getInputHeight(t);return Nk({width:n,height:a},this.inputSize)}toBatchTensor(t,n=!0){return this._inputSize=t,O(()=>{let a=br(this.batchSize,0,1).map(s=>{let i=this.getInput(s);if(i instanceof Ce){let o=ka(i)?i:Gt(i);return o=Ak(o,n),(o.shape[1]!==t||o.shape[2]!==t)&&(o=Qn.resizeBilinear(o,[t,t],!1,!1)),o.as3D(t,t,3)}if(i instanceof tt.getEnv().Canvas)return Xo.fromPixels(Vk(i,t,n));throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)});return Ft(a.map(s=>re(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function vt(e){if(e instanceof xr)return e;let t=Array.isArray(e)?e:[e];if(!t.length)throw new Error("toNetInput - empty array passed as input");let n=r=>Array.isArray(e)?` at input index ${r}:`:"",a=t.map(cl);return a.forEach((r,s)=>{if(!lg(r)&&!Wr(r)&&!ka(r))throw typeof t[s]=="string"?new Error(`toNetInput -${n(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${n(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(ka(r)){let i=r.shape[0];if(i!==1)throw new Error(`toNetInput -${n(s)} tf.Tensor4D with batchSize ${i} passed, but not supported in input array`)}}),await Promise.all(a.map(r=>lg(r)&&zk(r))),new xr(a,Array.isArray(e))}async function Dp(e,t){let{Canvas:n}=tt.getEnv(),a=e;if(!(e instanceof n)){let i=await vt(e);if(i.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let o=i.getInput(0);a=o instanceof n?o:await Bk(o)}let r=Gn(a);return t.map(i=>i instanceof Tt?i.forSize(a.width,a.height).box.floor():i).map(i=>i.clipAtImageBorders(a.width,a.height)).map(({x:i,y:o,width:l,height:u})=>{let p=ml({width:l,height:u});return l>0&&u>0&&Gn(p).putImageData(r.getImageData(i,o,l,u),0,0),p})}async function Rp(e,t){if(!Wr(e)&&!ka(e))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(ka(e)&&e.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return O(()=>{let[n,a,r]=e.shape.slice(ka(e)?1:0);return t.map(o=>o instanceof Tt?o.forSize(a,n).box:o).map(o=>o.clipAtImageBorders(a,n)).filter(o=>o.width>0&&o.height>0).map(({x:o,y:l,width:u,height:p})=>jo(e.as3D(n,a,r),[l,o,0],[p,u,r]))})}async function Br(e,t){let{fetch:n}=tt.getEnv(),a=await n(e,t);if(!(a.status<400))throw new Error(`failed to fetch: (${a.status}) ${a.statusText}, from url: ${a.url}`);return a}async function Qfe(e){let t=await Br(e),n=await t.blob();if(!n.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${n.type}, for url: ${t.url}`);return Wk(n)}async function Uk(e){return(await Br(e)).json()}async function ege(e){return new Float32Array(await(await Br(e)).arrayBuffer())}function iD(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToVideo - expected buf to be of type: Blob"));let a=tt.getEnv().createVideoElement();a.oncanplay=()=>t(a),a.onerror=n,a.playsInline=!0,a.muted=!0,a.src=URL.createObjectURL(e),a.play()})}async function tge(e){let t=await Br(e),n=await t.blob();if(!n.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${n.type}, for url: ${t.url}`);return iD(n)}function ug(e,t){let n=`${t}-weights_manifest.json`;if(!e)return{modelBaseUri:"",manifestUri:n};if(e==="/")return{modelBaseUri:"/",manifestUri:`/${n}`};let a=e.startsWith("http://")?"http://":e.startsWith("https://")?"https://":"";e=e.replace(a,"");let r=e.split("/").filter(o=>o),s=e.endsWith(".json")?r[r.length-1]:n,i=a+(e.endsWith(".json")?r.slice(0,r.length-1):r).join("/");return i=e.startsWith("/")?`/${i}`:i,{modelBaseUri:i,manifestUri:i==="/"?`/${s}`:`${i}/${s}`}}async function Gk(e,t){let{manifestUri:n,modelBaseUri:a}=ug(e,t),r=await Uk(n);return qt.loadWeights(r,a)}function nge(e,t,n=!1){let{width:a,height:r}=n?hl(t):t;return e.width=a,e.height=r,{width:a,height:r}}var un=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:n,objProp:a}=this.traversePropertyPath(t);return n[a]}reassignParamFromPath(t,n){let{obj:a,objProp:r}=this.traversePropertyPath(t);a[r].dispose(),a[r]=n}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof cs)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof cs))}variable(){this.getFrozenParams().forEach(({path:t,tensor:n})=>{this.reassignParamFromPath(t,n.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:n})=>{let a=bn(n.dataSync());n.dispose(),this.reassignParamFromPath(t,a)})}dispose(t=!0){this.getParamList().forEach(n=>{if(t&&n.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${n.path}`);n.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,n)=>t.concat(n)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let n=await Gk(t,this.getDefaultModelName());this.loadFromWeightMap(n)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:n}=tt.getEnv(),{manifestUri:a,modelBaseUri:r}=ug(t,this.getDefaultModelName()),s=u=>Promise.all(u.map(p=>n(p).then(d=>typeof d=="string"?Buffer.from(d):d.buffer))),i=qt.weightsLoaderFactory(s),o=JSON.parse((await n(a)).toString()),l=await i(o,r);this.loadFromWeightMap(l)}loadFromWeightMap(t){let{paramMappings:n,params:a}=this.extractParamsFromWeightMap(t);this._paramMappings=n,this._params=a}extractWeights(t){let{paramMappings:n,params:a}=this.extractParams(t);this._paramMappings=n,this._params=a}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let n=t.split("/").reduce((s,i)=>{if(!s.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${t}`);return{obj:s.nextObj,objProp:i,nextObj:s.nextObj[i]}},{nextObj:this.params}),{obj:a,objProp:r}=n;if(!a||!r||!(a[r]instanceof Ce))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:a,objProp:r}}};function Hn(e,t,n){return O(()=>{let a=$s(e,t.depthwise_filter,t.pointwise_filter,n,"same");return a=X(a,t.bias),a})}function pg(e,t,n=!1){return O(()=>{let a=Ke(n?X($t(e,t.conv0.filters,[2,2],"same"),t.conv0.bias):Hn(e,t.conv0,[2,2])),r=Hn(a,t.conv1,[1,1]),s=Ke(X(a,r)),i=Hn(s,t.conv2,[1,1]);return Ke(X(a,X(r,i)))})}function Gd(e,t,n=!1,a=!0){return O(()=>{let r=Ke(n?X($t(e,t.conv0.filters,a?[2,2]:[1,1],"same"),t.conv0.bias):Hn(e,t.conv0,a?[2,2]:[1,1])),s=Hn(r,t.conv1,[1,1]),i=Ke(X(r,s)),o=Hn(i,t.conv2,[1,1]),l=Ke(X(r,X(s,o))),u=Hn(l,t.conv3,[1,1]);return Ke(X(r,X(s,X(o,u))))})}function fl(e,t,n="same",a=!1){return O(()=>{let r=X($t(e,t.filters,[1,1],n),t.bias);return a?Ke(r):r})}function En(e,t){Object.keys(e).forEach(n=>{t.some(a=>a.originalPath===n)||e[n].dispose()})}function Mp(e,t){return(n,a,r,s)=>{let i=Da(e(n*a*r*r),[r,r,n,a]),o=qe(e(a));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:i,bias:o}}}function cg(e,t){return(n,a,r)=>{let s=Aa(e(n*a),[n,a]),i=qe(e(a));return t.push({paramPath:`${r}/weights`},{paramPath:`${r}/bias`}),{weights:s,bias:i}}}var Hd=class{constructor(t,n,a){this.depthwise_filter=t;this.pointwise_filter=n;this.bias=a}};function Op(e,t){return(n,a,r)=>{let s=Da(e(9*n),[3,3,n,1]),i=Da(e(n*a),[1,1,n,a]),o=qe(e(a));return t.push({paramPath:`${r}/depthwise_filter`},{paramPath:`${r}/pointwise_filter`},{paramPath:`${r}/bias`}),new Hd(s,i,o)}}function Pp(e){return t=>{let n=e(`${t}/depthwise_filter`,4),a=e(`${t}/pointwise_filter`,4),r=e(`${t}/bias`,1);return new Hd(n,a,r)}}function ia(e,t){return(n,a,r)=>{let s=e[n];if(!al(s,a))throw new Error(`expected weightMap[${n}] to be a Tensor${a}D, instead have ${s}`);return t.push({originalPath:n,paramPath:r||n}),s}}function _n(e){let t=e;function n(r){let s=t.slice(0,r);return t=t.slice(r),s}function a(){return t}return{extractWeights:n,getRemainingWeights:a}}function dg(e,t){let n=Mp(e,t),a=Op(e,t);function r(i,o,l,u=!1){let p=u?n(i,o,3,`${l}/conv0`):a(i,o,`${l}/conv0`),d=a(o,o,`${l}/conv1`),c=a(o,o,`${l}/conv2`);return{conv0:p,conv1:d,conv2:c}}function s(i,o,l,u=!1){let{conv0:p,conv1:d,conv2:c}=r(i,o,l,u),h=a(o,o,`${l}/conv3`);return{conv0:p,conv1:d,conv2:c,conv3:h}}return{extractDenseBlock3Params:r,extractDenseBlock4Params:s}}function oD(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),{extractDenseBlock4Params:r}=dg(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2"),l=r(128,256,"dense3");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o,dense3:l}}}function hg(e){return t=>{let n=e(`${t}/filters`,4),a=e(`${t}/bias`,1);return{filters:n,bias:a}}}function mg(e,t){let n=ia(e,t),a=hg(n),r=Pp(n);function s(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`);return{conv0:u,conv1:p,conv2:d}}function i(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`),c=r(`${o}/conv3`);return{conv0:u,conv1:p,conv2:d,conv3:c}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:i}}function lD(e){let t=[],{extractDenseBlock4Params:n}=mg(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2"),dense3:n("dense3")};return En(e,t),{params:a,paramMappings:t}}var Lp=class extends un{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceFeatureExtractor - load model before inference");return O(()=>{let a=re(t.toBatchTensor(112,!0),"float32"),s=Ya(a,[122.782,117.001,104.298]).div(255),i=Gd(s,n.dense0,!0);return i=Gd(i,n.dense1),i=Gd(i,n.dense2),i=Gd(i,n.dense3),i=xa(i,[7,7],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return lD(t)}extractParams(t){return oD(t)}};function qd(e,t){return O(()=>X($e(e,t.weights),t.bias))}function uD(e,t,n){let a=[],{extractWeights:r,getRemainingWeights:s}=_n(e),o=cg(r,a)(t,n,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:a,params:{fc:o}}}function pD(e){let t=[],n=ia(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:a("fc")};return En(e,t),{params:r,paramMappings:t}}function fg(e){let t={},n={};return Object.keys(e).forEach(a=>{let r=a.startsWith("fc")?n:t;r[a]=e[a]}),{featureExtractorMap:t,classifierMap:n}}var zp=class extends un{constructor(t,n){super(t),this._faceFeatureExtractor=n}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:n}=this;if(!n)throw new Error(`${this._name} - load model before inference`);return O(()=>{let a=t instanceof xr?this.faceFeatureExtractor.forwardInput(t):t;return qd(a.as2D(a.shape[0],-1),n.fc)})}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:n,paramMappings:a}=this.extractClassifierParams(t);this._params=n,this._paramMappings=a}extractClassifierParams(t){return uD(t,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(t){let{featureExtractorMap:n,classifierMap:a}=fg(t);return this.faceFeatureExtractor.loadFromWeightMap(n),pD(a)}extractParams(t){let n=this.getClassifierChannelsIn(),a=this.getClassifierChannelsOut(),r=a*n+a,s=t.slice(0,t.length-r),i=t.slice(t.length-r);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(i)}};var Hk=["neutral","happy","sad","angry","fearful","disgusted","surprised"],Vr=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);Hk.forEach((n,a)=>{this[n]=t[a]})}asSortedArray(){return Hk.map(t=>({expression:t,probability:this[t]})).sort((t,n)=>n.probability-t.probability)}};var jd=class extends zp{constructor(t=new Lp){super("FaceExpressionNet",t)}forwardInput(t){return O(()=>ja(this.runNet(t)))}async forward(t){return this.forwardInput(await vt(t))}async predictExpressions(t){let n=await vt(t),a=await this.forwardInput(n),r=await Promise.all(dt(a).map(async i=>{let o=i.dataSync();return i.dispose(),o}));a.dispose();let s=r.map(i=>new Vr(i));return n.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function qk(e){return e.expressions instanceof Vr}function gg(e,t){return{...e,...{expressions:t}}}function age(e,t,n=.1,a){(Array.isArray(t)?t:[t]).forEach(s=>{let i=s instanceof Vr?s:qk(s)?s.expressions:void 0;if(!i)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let l=i.asSortedArray().filter(d=>d.probability>n),u=yr(s)?s.detection.box.bottomLeft:a||new Ue(0,0);new dl(l.map(d=>`${d.expression} (${rl(d.probability)})`),u).draw(e)})}function gl(e){return yr(e)&&e.landmarks instanceof sa&&e.unshiftedLandmarks instanceof sa&&e.alignedRect instanceof Tt}function rge(e){let t=l=>l*180/Math.PI,n=(l,u)=>Math.sqrt((l.x-u.x)**2+(l.y-u.y)**2),a={roll:void 0,pitch:void 0,yaw:void 0},r=(l,u,p)=>{let d=Math.floor(l.x-u.x),c=Math.floor(u.x-p.x);return d-c},s=(l,u)=>{let p=Math.hypot(u.x-l.x,u.y-l.y),d=u.y-l.y,c=Math.asin(d/p),h=t(c),m=Math.floor(90-h),f=u.x-l.x<0?-1:1;return m*f},i=(l,u,p)=>{let d=n(l,p),c=new Ue((l.x+p.x)/2,(l.y+p.y)/2),h=n(u,c),m=Math.atan(h/d),f=Math.floor(t(m)),g=c.y-u.y<0?-1:1;return f*g};if(!e||!e.positions||e.positions.length!==68)return a;let o=e.positions;return a.roll=s(o[27],o[66]),a.pitch=i(o[14],o[30],o[2]),a.yaw=r(o[14],o[33],o[2]),a}function Wp(e,t){let{box:n}=e.detection,a=t.shiftBy(n.x,n.y),r=a.align(),{imageDims:s}=e.detection,i=new Tt(e.detection.score,r.rescale(s.reverse()),s),o=rge(t);return{...e,...{landmarks:a,unshiftedLandmarks:t,alignedRect:i,angle:o}}}var bg=class{constructor(t={}){let{drawLines:n=!0,drawPoints:a=!0,lineWidth:r,lineColor:s,pointSize:i,pointColor:o}=t;this.drawLines=n,this.drawPoints=a,this.lineWidth=r||1,this.pointSize=i||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=o||"rgba(255, 0, 255, 1)"}},yg=class{constructor(t,n={}){this.faceLandmarks=t,this.options=new bg(n)}draw(t){let n=Gn(t),{drawLines:a,drawPoints:r,lineWidth:s,lineColor:i,pointSize:o,pointColor:l}=this.options;if(a&&this.faceLandmarks instanceof ul&&(n.strokeStyle=i,n.lineWidth=s,zr(n,this.faceLandmarks.getJawOutline()),zr(n,this.faceLandmarks.getLeftEyeBrow()),zr(n,this.faceLandmarks.getRightEyeBrow()),zr(n,this.faceLandmarks.getNose()),zr(n,this.faceLandmarks.getLeftEye(),!0),zr(n,this.faceLandmarks.getRightEye(),!0),zr(n,this.faceLandmarks.getMouth(),!0)),r){n.strokeStyle=l,n.fillStyle=l;let u=p=>{n.beginPath(),n.arc(p.x,p.y,o,0,2*Math.PI),n.fill()};this.faceLandmarks.positions.forEach(u)}}};function sge(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof sa?a:gl(a)?a.landmarks:void 0;if(!r)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new yg(r).draw(e)})}var cD="1.7.13";function lge(e,t){let n=Mp(e,t),a=Op(e,t);function r(i,o,l){let u=a(i,o,`${l}/separable_conv0`),p=a(o,o,`${l}/separable_conv1`),d=n(i,o,1,`${l}/expansion_conv`);return{separable_conv0:u,separable_conv1:p,expansion_conv:d}}function s(i,o){let l=a(i,i,`${o}/separable_conv0`),u=a(i,i,`${o}/separable_conv1`),p=a(i,i,`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:n,extractSeparableConvParams:a,extractReductionBlockParams:r,extractMainBlockParams:s}}function dD(e,t){let n=[],{extractWeights:a,getRemainingWeights:r}=_n(e),{extractConvParams:s,extractSeparableConvParams:i,extractReductionBlockParams:o,extractMainBlockParams:l}=lge(a,n),u=s(3,32,3,"entry_flow/conv_in"),p=o(32,64,"entry_flow/reduction_block_0"),d=o(64,128,"entry_flow/reduction_block_1"),c={conv_in:u,reduction_block_0:p,reduction_block_1:d},h={};br(t,0,1).forEach(b=>{h[`main_block_${b}`]=l(128,`middle_flow/main_block_${b}`)});let m=o(128,256,"exit_flow/reduction_block"),f=i(256,512,"exit_flow/separable_conv"),g={reduction_block:m,separable_conv:f};if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:n,params:{entry_flow:c,middle_flow:h,exit_flow:g}}}function uge(e,t){let n=ia(e,t),a=hg(n),r=Pp(n);function s(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=a(`${o}/expansion_conv`);return{separable_conv0:l,separable_conv1:u,expansion_conv:p}}function i(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=r(`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}}function hD(e,t){let n=[],{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}=uge(e,n),o=a("entry_flow/conv_in"),l=s("entry_flow/reduction_block_0"),u=s("entry_flow/reduction_block_1"),p={conv_in:o,reduction_block_0:l,reduction_block_1:u},d={};br(t,0,1).forEach(f=>{d[`main_block_${f}`]=i(`middle_flow/main_block_${f}`)});let c=s("exit_flow/reduction_block"),h=r("exit_flow/separable_conv"),m={reduction_block:c,separable_conv:h};return En(e,n),{params:{entry_flow:p,middle_flow:d,exit_flow:m},paramMappings:n}}function mD(e,t,n){return X($t(e,t.filters,n,"same"),t.bias)}function Kk(e,t,n=!0){let a=n?Ke(e):e;return a=Hn(a,t.separable_conv0,[1,1]),a=Hn(Ke(a),t.separable_conv1,[1,1]),a=Dt(a,[3,3],[2,2],"same"),a=X(a,mD(e,t.expansion_conv,[2,2])),a}function pge(e,t){let n=Hn(Ke(e),t.separable_conv0,[1,1]);return n=Hn(Ke(n),t.separable_conv1,[1,1]),n=Hn(Ke(n),t.separable_conv2,[1,1]),n=X(n,e),n}var xg=class extends un{constructor(t){super("TinyXception"),this._numMainBlocks=t}forwardInput(t){let{params:n}=this;if(!n)throw new Error("TinyXception - load model before inference");return O(()=>{let a=re(t.toBatchTensor(112,!0),"float32"),s=Ya(a,[122.782,117.001,104.298]).div(255),i=Ke(mD(s,n.entry_flow.conv_in,[2,2]));return i=Kk(i,n.entry_flow.reduction_block_0,!1),i=Kk(i,n.entry_flow.reduction_block_1),br(this._numMainBlocks,0,1).forEach(o=>{i=pge(i,n.middle_flow[`main_block_${o}`])}),i=Kk(i,n.exit_flow.reduction_block),i=Ke(Hn(i,n.exit_flow.separable_conv,[1,1])),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(t){return hD(t,this._numMainBlocks)}extractParams(t){return dD(t,this._numMainBlocks)}};function fD(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),r=cg(n,t),s=r(512,1,"fc/age"),i=r(512,2,"fc/gender");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{fc:{age:s,gender:i}}}}function gD(e){let t=[],n=ia(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:{age:a("fc/age"),gender:a("fc/gender")}};return En(e,t),{params:r,paramMappings:t}}var vg=(n=>(n.FEMALE="female",n.MALE="male",n))(vg||{});var Kd=class extends un{constructor(t=new xg(2)){super("AgeGenderNet"),this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:n}=this;if(!n)throw new Error(`${this._name} - load model before inference`);return O(()=>{let a=t instanceof xr?this.faceFeatureExtractor.forwardInput(t):t,r=xa(a,[7,7],[2,2],"valid").as2D(a.shape[0],-1),s=qd(r,n.fc.age).as1D(),i=qd(r,n.fc.gender);return{age:s,gender:i}})}forwardInput(t){return O(()=>{let{age:n,gender:a}=this.runNet(t);return{age:n,gender:ja(a)}})}async forward(t){return this.forwardInput(await vt(t))}async predictAgeAndGender(t){let n=await vt(t),a=await this.forwardInput(n),r=dt(a.age),s=dt(a.gender),i=r.map((l,u)=>({ageTensor:l,genderTensor:s[u]})),o=await Promise.all(i.map(async({ageTensor:l,genderTensor:u})=>{let p=l.dataSync()[0],d=u.dataSync()[0],c=d>.5,h=c?"male":"female",m=c?d:1-d;return l.dispose(),u.dispose(),{age:p,gender:h,genderProbability:m}}));return a.age.dispose(),a.gender.dispose(),n.isBatchInput?o:o[0]}getDefaultModelName(){return"age_gender_model"}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:n,paramMappings:a}=this.extractClassifierParams(t);this._params=n,this._paramMappings=a}extractClassifierParams(t){return fD(t)}extractParamsFromWeightMap(t){let{featureExtractorMap:n,classifierMap:a}=fg(t);return this.faceFeatureExtractor.loadFromWeightMap(n),gD(a)}extractParams(t){let a=t.slice(0,t.length-1539),r=t.slice(t.length-1539);return this.faceFeatureExtractor.extractWeights(a),this.extractClassifierParams(r)}};var Bp=class extends zp{postProcess(t,n,a){let r=a.map(({width:i,height:o})=>{let l=n/Math.max(o,i);return{width:i*l,height:o*l}}),s=r.length;return O(()=>{let i=(d,c)=>Ft([yn([68],d,"float32"),yn([68],c,"float32")],1).as2D(1,136).as1D(),o=(d,c)=>{let{width:h,height:m}=r[d];return c(h,m)?Math.abs(h-m)/2:0},l=d=>o(d,(c,h)=>co(d,(c,h)=>hi(l(c),u(c))))).div(Ft(Array.from(Array(s),(d,c)=>i(r[c].width,r[c].height))))})}forwardInput(t){return O(()=>{let n=this.runNet(t);return this.postProcess(n,t.inputSize,t.inputDimensions.map(([a,r])=>({height:a,width:r})))})}async forward(t){return this.forwardInput(await vt(t))}async detectLandmarks(t){let n=await vt(t),a=O(()=>dt(this.forwardInput(n))),r=await Promise.all(a.map(async(s,i)=>{let o=Array.from(s.dataSync()),l=o.filter((p,d)=>rg(d)),u=o.filter((p,d)=>!rg(d));return new ul(Array(68).fill(0).map((p,d)=>new Ue(l[d],u[d])),{height:n.getInputHeight(i),width:n.getInputWidth(i)})}));return a.forEach(s=>s.dispose()),n.isBatchInput?r:r[0]}getClassifierChannelsOut(){return 136}};var bl=class extends Bp{constructor(t=new Lp){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};function bD(e){let t=[],{extractDenseBlock3Params:n}=mg(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2")};return En(e,t),{params:a,paramMappings:t}}function yD(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),{extractDenseBlock3Params:r}=dg(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o}}}var wg=class extends un{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("TinyFaceFeatureExtractor - load model before inference");return O(()=>{let a=re(t.toBatchTensor(112,!0),"float32"),s=Ya(a,[122.782,117.001,104.298]).div(255),i=pg(s,n.dense0,!0);return i=pg(i,n.dense1),i=pg(i,n.dense2),i=xa(i,[14,14],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return bD(t)}extractParams(t){return yD(t)}};var Xd=class extends Bp{constructor(t=new wg){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var Xk=class extends bl{};function xD(e,t){return X(z(e,t.weights),t.biases)}function Yk(e,t,n,a,r="same"){let{filters:s,bias:i}=t.conv,o=$t(e,s,n,r);return o=X(o,i),o=xD(o,t.scale),a?Ke(o):o}function vD(e,t){return Yk(e,t,[1,1],!0)}function Zk(e,t){return Yk(e,t,[1,1],!1)}function kg(e,t){return Yk(e,t,[2,2],!0,"valid")}function cge(e,t){function n(o,l,u){let p=e(o),d=p.length/(l*u*u);if(Sk(d))throw new Error(`depth has to be an integer: ${d}, weights.length: ${p.length}, numFilters: ${l}, filterSize: ${u}`);return O(()=>De(Da(p,[l,d,u,u]),[2,3,1,0]))}function a(o,l,u,p){let d=n(o,l,u),c=qe(e(l));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:d,bias:c}}function r(o,l){let u=qe(e(o)),p=qe(e(o));return t.push({paramPath:`${l}/weights`},{paramPath:`${l}/biases`}),{weights:u,biases:p}}function s(o,l,u,p){let d=a(o,l,u,`${p}/conv`),c=r(l,`${p}/scale`);return{conv:d,scale:c}}function i(o,l,u,p,d=!1){let c=s((d?.5:1)*o,l,u,`${p}/conv1`),h=s(o,l,u,`${p}/conv2`);return{conv1:c,conv2:h}}return{extractConvLayerParams:s,extractResidualLayerParams:i}}function wD(e){let{extractWeights:t,getRemainingWeights:n}=_n(e),a=[],{extractConvLayerParams:r,extractResidualLayerParams:s}=cge(t,a),i=r(4704,32,7,"conv32_down"),o=s(9216,32,3,"conv32_1"),l=s(9216,32,3,"conv32_2"),u=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),d=s(36864,64,3,"conv64_1"),c=s(36864,64,3,"conv64_2"),h=s(36864,64,3,"conv64_3"),m=s(147456,128,3,"conv128_down",!0),f=s(147456,128,3,"conv128_1"),g=s(147456,128,3,"conv128_2"),b=s(589824,256,3,"conv256_down",!0),y=s(589824,256,3,"conv256_1"),x=s(589824,256,3,"conv256_2"),v=s(589824,256,3,"conv256_down_out"),I=O(()=>De(Aa(t(256*128),[128,256]),[1,0]));if(a.push({paramPath:"fc"}),n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{params:{conv32_down:i,conv32_1:o,conv32_2:l,conv32_3:u,conv64_down:p,conv64_1:d,conv64_2:c,conv64_3:h,conv128_down:m,conv128_1:f,conv128_2:g,conv256_down:b,conv256_1:y,conv256_2:x,conv256_down_out:v,fc:I},paramMappings:a}}function dge(e,t){let n=ia(e,t);function a(i){let o=n(`${i}/scale/weights`,1),l=n(`${i}/scale/biases`,1);return{weights:o,biases:l}}function r(i){let o=n(`${i}/conv/filters`,4),l=n(`${i}/conv/bias`,1),u=a(i);return{conv:{filters:o,bias:l},scale:u}}function s(i){return{conv1:r(`${i}/conv1`),conv2:r(`${i}/conv2`)}}return{extractConvLayerParams:r,extractResidualLayerParams:s}}function kD(e){let t=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=dge(e,t),r=n("conv32_down"),s=a("conv32_1"),i=a("conv32_2"),o=a("conv32_3"),l=a("conv64_down"),u=a("conv64_1"),p=a("conv64_2"),d=a("conv64_3"),c=a("conv128_down"),h=a("conv128_1"),m=a("conv128_2"),f=a("conv256_down"),g=a("conv256_1"),b=a("conv256_2"),y=a("conv256_down_out"),{fc:x}=e;if(t.push({originalPath:"fc",paramPath:"fc"}),!Ik(x))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${x}`);let v={conv32_down:r,conv32_1:s,conv32_2:i,conv32_3:o,conv64_down:l,conv64_1:u,conv64_2:p,conv64_3:d,conv128_down:c,conv128_1:h,conv128_2:m,conv256_down:f,conv256_1:g,conv256_2:b,conv256_down_out:y,fc:x};return En(e,t),{params:v,paramMappings:t}}function Za(e,t){let n=vD(e,t.conv1);return n=Zk(n,t.conv2),n=X(n,e),n=Ke(n),n}function Yd(e,t){let n=kg(e,t.conv1);n=Zk(n,t.conv2);let a=xa(e,2,2,"valid"),r=It(a.shape),s=a.shape[3]!==n.shape[3];if(a.shape[1]!==n.shape[1]||a.shape[2]!==n.shape[2]){let o=[...n.shape];o[1]=1;let l=It(o);n=et([n,l],1);let u=[...n.shape];u[2]=1;let p=It(u);n=et([n,p],2)}return a=s?et([a,r],3):a,n=X(a,n),n=Ke(n),n}var yl=class extends un{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceRecognitionNet - load model before inference");return O(()=>{let a=re(t.toBatchTensor(150,!0),"float32"),s=Ya(a,[122.782,117.001,104.298]).div(255),i=kg(s,n.conv32_down);i=Dt(i,3,2,"valid"),i=Za(i,n.conv32_1),i=Za(i,n.conv32_2),i=Za(i,n.conv32_3),i=Yd(i,n.conv64_down),i=Za(i,n.conv64_1),i=Za(i,n.conv64_2),i=Za(i,n.conv64_3),i=Yd(i,n.conv128_down),i=Za(i,n.conv128_1),i=Za(i,n.conv128_2),i=Yd(i,n.conv256_down),i=Za(i,n.conv256_1),i=Za(i,n.conv256_2),i=Yd(i,n.conv256_down_out);let o=i.mean([1,2]);return $e(o,n.fc)})}async forward(t){return this.forwardInput(await vt(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(i=>i<=0))return new Float32Array(128);let n=await vt(t),a=O(()=>dt(this.forwardInput(n))),r=await Promise.all(a.map(i=>i.data()));return a.forEach(i=>i.dispose()),n.isBatchInput?r:r[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return kD(t)}extractParams(t){return wD(t)}};function hge(e){let t=new yl;return t.extractWeights(e),t}function Ig(e,t){return{...e,...{descriptor:t}}}function mge(e){return typeof e.age=="number"}function Sg(e,t){return{...e,...{age:t}}}function fge(e){return(e.gender==="male"||e.gender==="female")&&_p(e.genderProbability)}function Ng(e,t,n){return{...e,...{gender:t,genderProbability:n}}}function gge(e,t){function n(l,u){let p=Da(e(9*l),[3,3,l,1]),d=qe(e(l)),c=qe(e(l)),h=qe(e(l)),m=qe(e(l));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/batch_norm_scale`},{paramPath:`${u}/batch_norm_offset`},{paramPath:`${u}/batch_norm_mean`},{paramPath:`${u}/batch_norm_variance`}),{filters:p,batch_norm_scale:d,batch_norm_offset:c,batch_norm_mean:h,batch_norm_variance:m}}function a(l,u,p,d,c){let h=Da(e(l*u*p*p),[p,p,l,u]),m=qe(e(u));return t.push({paramPath:`${d}/filters`},{paramPath:`${d}/${c?"batch_norm_offset":"bias"}`}),{filters:h,bias:m}}function r(l,u,p,d){let{filters:c,bias:h}=a(l,u,p,d,!0);return{filters:c,batch_norm_offset:h}}function s(l,u,p){let d=n(l,`${p}/depthwise_conv`),c=r(l,u,1,`${p}/pointwise_conv`);return{depthwise_conv:d,pointwise_conv:c}}function i(){let l=r(3,32,3,"mobilenetv1/conv_0"),u=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),d=s(128,128,"mobilenetv1/conv_3"),c=s(128,256,"mobilenetv1/conv_4"),h=s(256,256,"mobilenetv1/conv_5"),m=s(256,512,"mobilenetv1/conv_6"),f=s(512,512,"mobilenetv1/conv_7"),g=s(512,512,"mobilenetv1/conv_8"),b=s(512,512,"mobilenetv1/conv_9"),y=s(512,512,"mobilenetv1/conv_10"),x=s(512,512,"mobilenetv1/conv_11"),v=s(512,1024,"mobilenetv1/conv_12"),I=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,conv_8:g,conv_9:b,conv_10:y,conv_11:x,conv_12:v,conv_13:I}}function o(){let l=r(1024,256,1,"prediction_layer/conv_0"),u=r(256,512,3,"prediction_layer/conv_1"),p=r(512,128,1,"prediction_layer/conv_2"),d=r(128,256,3,"prediction_layer/conv_3"),c=r(256,128,1,"prediction_layer/conv_4"),h=r(128,256,3,"prediction_layer/conv_5"),m=r(256,64,1,"prediction_layer/conv_6"),f=r(64,128,3,"prediction_layer/conv_7"),g=a(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),b=a(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),y=a(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),x=a(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),v=a(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),I=a(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),N=a(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),C=a(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),_=a(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),F=a(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),D=a(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),$=a(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,box_predictor_0:{box_encoding_predictor:g,class_predictor:b},box_predictor_1:{box_encoding_predictor:y,class_predictor:x},box_predictor_2:{box_encoding_predictor:v,class_predictor:I},box_predictor_3:{box_encoding_predictor:N,class_predictor:C},box_predictor_4:{box_encoding_predictor:_,class_predictor:F},box_predictor_5:{box_encoding_predictor:D,class_predictor:$}}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:o}}function ID(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),{extractMobilenetV1Params:r,extractPredictionLayerParams:s}=gge(n,t),i=r(),o=s(),u={extra_dim:Nd(n(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:{mobilenetv1:i,prediction_layer:o,output_layer:u},paramMappings:t}}function bge(e,t){let n=ia(e,t);function a(u,p,d){let c=n(`${u}/Conv2d_${p}_pointwise/weights`,4,`${d}/filters`),h=n(`${u}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${d}/batch_norm_offset`);return{filters:c,batch_norm_offset:h}}function r(u){let p=`mobilenetv1/conv_${u}`,d=`MobilenetV1/Conv2d_${u}_depthwise`,c=`${p}/depthwise_conv`,h=`${p}/pointwise_conv`,m=n(`${d}/depthwise_weights`,4,`${c}/filters`),f=n(`${d}/BatchNorm/gamma`,1,`${c}/batch_norm_scale`),g=n(`${d}/BatchNorm/beta`,1,`${c}/batch_norm_offset`),b=n(`${d}/BatchNorm/moving_mean`,1,`${c}/batch_norm_mean`),y=n(`${d}/BatchNorm/moving_variance`,1,`${c}/batch_norm_variance`);return{depthwise_conv:{filters:m,batch_norm_scale:f,batch_norm_offset:g,batch_norm_mean:b,batch_norm_variance:y},pointwise_conv:a("MobilenetV1",u,h)}}function s(){return{conv_0:a("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:r(1),conv_2:r(2),conv_3:r(3),conv_4:r(4),conv_5:r(5),conv_6:r(6),conv_7:r(7),conv_8:r(8),conv_9:r(9),conv_10:r(10),conv_11:r(11),conv_12:r(12),conv_13:r(13)}}function i(u,p){let d=n(`${u}/weights`,4,`${p}/filters`),c=n(`${u}/biases`,1,`${p}/bias`);return{filters:d,bias:c}}function o(u){let p=i(`Prediction/BoxPredictor_${u}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${u}/box_encoding_predictor`),d=i(`Prediction/BoxPredictor_${u}/ClassPredictor`,`prediction_layer/box_predictor_${u}/class_predictor`);return{box_encoding_predictor:p,class_predictor:d}}function l(){return{conv_0:a("Prediction",0,"prediction_layer/conv_0"),conv_1:a("Prediction",1,"prediction_layer/conv_1"),conv_2:a("Prediction",2,"prediction_layer/conv_2"),conv_3:a("Prediction",3,"prediction_layer/conv_3"),conv_4:a("Prediction",4,"prediction_layer/conv_4"),conv_5:a("Prediction",5,"prediction_layer/conv_5"),conv_6:a("Prediction",6,"prediction_layer/conv_6"),conv_7:a("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:o(0),box_predictor_1:o(1),box_predictor_2:o(2),box_predictor_3:o(3),box_predictor_4:o(4),box_predictor_5:o(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:l}}function SD(e){let t=[],{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=bge(e,t),r=e["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!Wr(r))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${r}`);let s={mobilenetv1:n(),prediction_layer:a(),output_layer:{extra_dim:r}};return En(e,t),{params:s,paramMappings:t}}function Oa(e,t,n){return O(()=>{let a=$t(e,t.filters,n,"same");return a=X(a,t.batch_norm_offset),an(a,0,6)})}var yge=.0010000000474974513;function xge(e,t,n){return O(()=>{let a=_s(e,t.filters,n,"same");return a=Es(a,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,yge),an(a,0,6)})}function vge(e){return[2,4,6,12].some(t=>t===e)?[2,2]:[1,1]}function ND(e,t){return O(()=>{let n,a=Oa(e,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,i)=>{let o=i+1,l=vge(o);a=xge(a,s.depthwise_conv,l),a=Oa(a,s.pointwise_conv,[1,1]),o===11&&(n=a)}),n===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:a,conv11:n}})}function wge(e,t,n){let a=e.arraySync(),r=Math.min(a[t][0],a[t][2]),s=Math.min(a[t][1],a[t][3]),i=Math.max(a[t][0],a[t][2]),o=Math.max(a[t][1],a[t][3]),l=Math.min(a[n][0],a[n][2]),u=Math.min(a[n][1],a[n][3]),p=Math.max(a[n][0],a[n][2]),d=Math.max(a[n][1],a[n][3]),c=(i-r)*(o-s),h=(p-l)*(d-u);if(c<=0||h<=0)return 0;let m=Math.max(r,l),f=Math.max(s,u),g=Math.min(i,p),b=Math.min(o,d),y=Math.max(g-m,0)*Math.max(b-f,0);return y/(c+h-y)}function TD(e,t,n,a,r){let s=e.shape[0],i=Math.min(n,s),o=t.map((p,d)=>({score:p,boxIndex:d})).filter(p=>p.score>r).sort((p,d)=>d.score-p.score),l=p=>p<=a?1:0,u=[];return o.forEach(p=>{if(u.length>=i)return;let d=p.score;for(let c=u.length-1;c>=0;--c){let h=wge(e,p.boxIndex,u[c]);if(h!==0&&(p.score*=l(h),p.score<=r))break}d===p.score&&u.push(p.boxIndex)}),u}function kge(e){let t=dt(De(e,[1,0])),n=[pe(t[2],t[0]),pe(t[3],t[1])],a=[X(t[0],he(n[0],2)),X(t[1],he(n[1],2))];return{sizes:n,centers:a}}function Ige(e,t){let{sizes:n,centers:a}=kge(e),r=dt(De(t,[1,0])),s=he(z(mn(he(r[2],5)),n[0]),2),i=X(z(he(r[0],10),n[0]),a[0]),o=he(z(mn(he(r[3],5)),n[1]),2),l=X(z(he(r[1],10),n[1]),a[1]);return De(Ft([pe(i,s),pe(l,o),X(i,s),X(l,o)]),[1,0])}function CD(e,t,n){return O(()=>{let a=e.shape[0],r=Ige(W(Mn(n.extra_dim,[a,1,1]),[-1,4]),W(e,[-1,4]));r=W(r,[a,r.shape[0]/a,4]);let s=ma(Ve(t,[0,0,1],[-1,-1,-1])),i=Ve(s,[0,0,0],[-1,-1,1]);i=W(i,[a,i.shape[1]]);let o=dt(r),l=dt(i);return{boxes:o,scores:l}})}function xl(e,t){return O(()=>{let n=e.shape[0],a=W(fl(e,t.box_encoding_predictor),[n,-1,1,4]),r=W(fl(e,t.class_predictor),[n,-1,3]);return{boxPredictionEncoding:a,classPrediction:r}})}function ED(e,t,n){return O(()=>{let a=Oa(e,n.conv_0,[1,1]),r=Oa(a,n.conv_1,[2,2]),s=Oa(r,n.conv_2,[1,1]),i=Oa(s,n.conv_3,[2,2]),o=Oa(i,n.conv_4,[1,1]),l=Oa(o,n.conv_5,[2,2]),u=Oa(l,n.conv_6,[1,1]),p=Oa(u,n.conv_7,[2,2]),d=xl(t,n.box_predictor_0),c=xl(e,n.box_predictor_1),h=xl(r,n.box_predictor_2),m=xl(i,n.box_predictor_3),f=xl(l,n.box_predictor_4),g=xl(p,n.box_predictor_5),b=et([d.boxPredictionEncoding,c.boxPredictionEncoding,h.boxPredictionEncoding,m.boxPredictionEncoding,f.boxPredictionEncoding,g.boxPredictionEncoding],1),y=et([d.classPrediction,c.classPrediction,h.classPrediction,m.classPrediction,f.classPrediction,g.classPrediction],1);return{boxPredictions:b,classPredictions:y}})}var Ia=class{constructor({minConfidence:t,maxResults:n}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=n||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var zs=class extends un{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("SsdMobilenetv1 - load model before inference");return O(()=>{let a=re(t.toBatchTensor(512,!1),"float32"),r=pe(he(a,127.5),1),s=ND(r,n.mobilenetv1),{boxPredictions:i,classPredictions:o}=ED(s.out,s.conv11,n.prediction_layer);return CD(i,o,n.output_layer)})}async forward(t){return this.forwardInput(await vt(t))}async locateFaces(t,n={}){let{maxResults:a,minConfidence:r}=new Ia(n),s=await vt(t),{boxes:i,scores:o}=this.forwardInput(s),l=i[0],u=o[0];for(let x=1;x{let[v,I]=[Math.max(0,b[x][0]),Math.min(1,b[x][2])].map(_=>_*g),[N,C]=[Math.max(0,b[x][1]),Math.min(1,b[x][3])].map(_=>_*f);return new Tt(p[x],new ll(N,v,C-N,I-v),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return l.dispose(),u.dispose(),y}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return SD(t)}extractParams(t){return ID(t)}};function _D(e){let t=new zs;return t.extractWeights(e),t}function Sge(e){return _D(e)}var Jk=class extends zs{};var AD=.4,FD=[new Ue(.738768,.874946),new Ue(2.42204,2.65704),new Ue(4.30971,7.04493),new Ue(10.246,4.59428),new Ue(12.6868,11.8741)],$D=[new Ue(1.603231,2.094468),new Ue(6.041143,7.080126),new Ue(2.882459,3.518061),new Ue(4.266906,5.178857),new Ue(9.041765,10.66308)],DD=[117.001,114.697,97.404],RD="tiny_yolov2_model",MD="tiny_yolov2_separable_conv_model";var Tg=e=>typeof e=="number";function Qk(e){if(!e)throw new Error(`invalid config: ${e}`);if(typeof e.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${e.withSeparableConvs}`);if(!Tg(e.iouThreshold)||e.iouThreshold<0||e.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${e.iouThreshold}`);if(!Array.isArray(e.classes)||!e.classes.length||!e.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(e.classes)}`);if(!Array.isArray(e.anchors)||!e.anchors.length||!e.anchors.map(t=>t||{}).every(t=>Tg(t.x)&&Tg(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(e.anchors)}`);if(e.meanRgb&&(!Array.isArray(e.meanRgb)||e.meanRgb.length!==3||!e.meanRgb.every(Tg)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(e.meanRgb)}`)}function Vp(e){return O(()=>{let t=z(e,ve(.10000000149011612));return X(Ke(pe(e,t)),t)})}function Ur(e,t){return O(()=>{let n=va(e,[[0,0],[1,1],[1,1],[0,0]]);return n=$t(n,t.conv.filters,[1,1],"valid"),n=pe(n,t.bn.sub),n=z(n,t.bn.truediv),n=X(n,t.conv.bias),Vp(n)})}function Gr(e,t){return O(()=>{let n=va(e,[[0,0],[1,1],[1,1],[0,0]]);return n=$s(n,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),n=X(n,t.bias),Vp(n)})}function Nge(e,t){let n=Mp(e,t);function a(i,o){let l=qe(e(i)),u=qe(e(i));return t.push({paramPath:`${o}/sub`},{paramPath:`${o}/truediv`}),{sub:l,truediv:u}}function r(i,o,l){let u=n(i,o,3,`${l}/conv`),p=a(o,`${l}/bn`);return{conv:u,bn:p}}let s=Op(e,t);return{extractConvParams:n,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}}function OD(e,t,n,a){let{extractWeights:r,getRemainingWeights:s}=_n(e),i=[],{extractConvParams:o,extractConvWithBatchNormParams:l,extractSeparableConvParams:u}=Nge(r,i),p;if(t.withSeparableConvs){let[d,c,h,m,f,g,b,y,x]=a,v=t.isFirstLayerConv2d?o(d,c,3,"conv0"):u(d,c,"conv0"),I=u(c,h,"conv1"),N=u(h,m,"conv2"),C=u(m,f,"conv3"),_=u(f,g,"conv4"),F=u(g,b,"conv5"),D=y?u(b,y,"conv6"):void 0,$=x?u(y,x,"conv7"):void 0,S=o(x||y||b,5*n,1,"conv8");p={conv0:v,conv1:I,conv2:N,conv3:C,conv4:_,conv5:F,conv6:D,conv7:$,conv8:S}}else{let[d,c,h,m,f,g,b,y,x]=a,v=l(d,c,"conv0"),I=l(c,h,"conv1"),N=l(h,m,"conv2"),C=l(m,f,"conv3"),_=l(f,g,"conv4"),F=l(g,b,"conv5"),D=l(b,y,"conv6"),$=l(y,x,"conv7"),S=o(x,5*n,1,"conv8");p={conv0:v,conv1:I,conv2:N,conv3:C,conv4:_,conv5:F,conv6:D,conv7:$,conv8:S}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:i}}function Tge(e,t){let n=ia(e,t);function a(o){let l=n(`${o}/sub`,1),u=n(`${o}/truediv`,1);return{sub:l,truediv:u}}function r(o){let l=n(`${o}/filters`,4),u=n(`${o}/bias`,1);return{filters:l,bias:u}}function s(o){let l=r(`${o}/conv`),u=a(`${o}/bn`);return{conv:l,bn:u}}let i=Pp(n);return{extractConvParams:r,extractConvWithBatchNormParams:s,extractSeparableConvParams:i}}function PD(e,t){let n=[],{extractConvParams:a,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}=Tge(e,n),i;if(t.withSeparableConvs){let o=t.filterSizes&&t.filterSizes.length||9;i={conv0:t.isFirstLayerConv2d?a("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:o>7?s("conv6"):void 0,conv7:o>8?s("conv7"):void 0,conv8:a("conv8")}}else i={conv0:r("conv0"),conv1:r("conv1"),conv2:r("conv2"),conv3:r("conv3"),conv4:r("conv4"),conv5:r("conv5"),conv6:r("conv6"),conv7:r("conv7"),conv8:a("conv8")};return En(e,n),{params:i,paramMappings:n}}var Ja=class{constructor({inputSize:t,scoreThreshold:n}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=n||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var Cg=class Cg extends un{constructor(t){super("TinyYolov2"),Qk(t),this._config=t}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(t,n){let a=Ur(t,n.conv0);return a=Dt(a,[2,2],[2,2],"same"),a=Ur(a,n.conv1),a=Dt(a,[2,2],[2,2],"same"),a=Ur(a,n.conv2),a=Dt(a,[2,2],[2,2],"same"),a=Ur(a,n.conv3),a=Dt(a,[2,2],[2,2],"same"),a=Ur(a,n.conv4),a=Dt(a,[2,2],[2,2],"same"),a=Ur(a,n.conv5),a=Dt(a,[2,2],[1,1],"same"),a=Ur(a,n.conv6),a=Ur(a,n.conv7),fl(a,n.conv8,"valid",!1)}runMobilenet(t,n){let a=this.config.isFirstLayerConv2d?Vp(fl(t,n.conv0,"valid",!1)):Gr(t,n.conv0);return a=Dt(a,[2,2],[2,2],"same"),a=Gr(a,n.conv1),a=Dt(a,[2,2],[2,2],"same"),a=Gr(a,n.conv2),a=Dt(a,[2,2],[2,2],"same"),a=Gr(a,n.conv3),a=Dt(a,[2,2],[2,2],"same"),a=Gr(a,n.conv4),a=Dt(a,[2,2],[2,2],"same"),a=Gr(a,n.conv5),a=Dt(a,[2,2],[1,1],"same"),a=n.conv6?Gr(a,n.conv6):a,a=n.conv7?Gr(a,n.conv7):a,fl(a,n.conv8,"valid",!1)}forwardInput(t,n){let{params:a}=this;if(!a)throw new Error("TinyYolov2 - load model before inference");return O(()=>{let r=re(t.toBatchTensor(n,!1),"float32");return r=this.config.meanRgb?Ya(r,this.config.meanRgb):r,r=r.div(255),this.config.withSeparableConvs?this.runMobilenet(r,a):this.runTinyYolov2(r,a)})}async forward(t,n){return this.forwardInput(await vt(t),n)}async detect(t,n={}){let{inputSize:a,scoreThreshold:r}=new Ja(n),s=await vt(t),i=await this.forwardInput(s,a),o=O(()=>dt(i)[0].expandDims()),l={width:s.getInputWidth(0),height:s.getInputHeight(0)},u=await this.extractBoxes(o,s.getReshapedInputDimensions(0),r);i.dispose(),o.dispose();let p=u.map(g=>g.box),d=u.map(g=>g.score),c=u.map(g=>g.classScore),h=u.map(g=>this.config.classes[g.label]);return _k(p.map(g=>g.rescale(a)),d,this.config.iouThreshold,!0).map(g=>new ol(d[g],c[g],h[g],p[g],l))}getDefaultModelName(){return""}extractParamsFromWeightMap(t){return PD(t,this.config)}extractParams(t){let n=this.config.filterSizes||Cg.DEFAULT_FILTER_SIZES,a=n?n.length:void 0;if(a!==7&&a!==8&&a!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${a} filterSizes in config`);return OD(t,this.config,this.boxEncodingSize,n)}async extractBoxes(t,n,a){let{width:r,height:s}=n,i=Math.max(r,s),o=i/r,l=i/s,u=t.shape[1],p=this.config.anchors.length,[d,c,h]=O(()=>{let b=t.reshape([u,u,p,this.boxEncodingSize]),y=b.slice([0,0,0,0],[u,u,p,4]),x=b.slice([0,0,0,4],[u,u,p,1]),v=this.withClassScores?ja(b.slice([0,0,0,5],[u,u,p,this.config.classes.length]),3):ve(0);return[y,x,v]}),m=[],f=await c.array(),g=await d.array();for(let b=0;ba){let I=(y+zd(g[b][y][x][0]))/u*o,N=(b+zd(g[b][y][x][1]))/u*l,C=Math.exp(g[b][y][x][2])*this.config.anchors[x].x/u*o,_=Math.exp(g[b][y][x][3])*this.config.anchors[x].y/u*l,F=I-C/2,D=N-_/2,$={row:b,col:y,anchor:x},{classScore:S,label:M}=this.withClassScores?await this.extractPredictedClass(h,$):{classScore:1,label:0};m.push({box:new il(F,D,F+C,D+_),score:v,classScore:v*S,label:M,...$})}}return d.dispose(),c.dispose(),h.dispose(),m}async extractPredictedClass(t,n){let{row:a,col:r,anchor:s}=n,i=await t.array();return Array(this.config.classes.length).fill(0).map((o,l)=>i[a][r][s][l]).map((o,l)=>({classScore:o,label:l})).reduce((o,l)=>o.classScore>l.classScore?o:l)}};Cg.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Up=Cg;var vl=class extends Up{constructor(t=!0){let n={withSeparableConvs:t,iouThreshold:AD,classes:["face"],...t?{anchors:$D,meanRgb:DD}:{anchors:FD,withClassScores:!0}};super(n)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new Tt(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?MD:RD}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function Cge(e,t=!0){let n=new vl(t);return n.extractWeights(e),n}var Zd=class extends Ja{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var Sa=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};async function wl(e,t,n,a,r=({alignedRect:s})=>s){let s=e.map(l=>gl(l)?r(l):l.detection),i=a||(t instanceof Ce?await Rp(t,s):await Dp(t,s)),o=await n(i);return i.forEach(l=>l instanceof Ce&&l.dispose()),o}async function Gp(e,t,n,a,r){return wl([e],t,async s=>n(s[0]),a,r)}var LD=.4,zD=[new Ue(1.603231,2.094468),new Ue(6.041143,7.080126),new Ue(2.882459,3.518061),new Ue(4.266906,5.178857),new Ue(9.041765,10.66308)],WD=[117.001,114.697,97.404];var kl=class extends Up{constructor(){let t={withSeparableConvs:!0,iouThreshold:LD,classes:["face"],anchors:zD,meanRgb:WD,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new Tt(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var nt={ssdMobilenetv1:new zs,tinyFaceDetector:new kl,tinyYolov2:new vl,faceLandmark68Net:new bl,faceLandmark68TinyNet:new Xd,faceRecognitionNet:new yl,faceExpressionNet:new jd,ageGenderNet:new Kd},BD=(e,t)=>nt.ssdMobilenetv1.locateFaces(e,t),Ege=(e,t)=>nt.tinyFaceDetector.locateFaces(e,t),_ge=(e,t)=>nt.tinyYolov2.locateFaces(e,t),VD=e=>nt.faceLandmark68Net.detectLandmarks(e),Age=e=>nt.faceLandmark68TinyNet.detectLandmarks(e),Fge=e=>nt.faceRecognitionNet.computeFaceDescriptor(e),$ge=e=>nt.faceExpressionNet.predictExpressions(e),Dge=e=>nt.ageGenderNet.predictAgeAndGender(e),UD=e=>nt.ssdMobilenetv1.load(e),Rge=e=>nt.tinyFaceDetector.load(e),Mge=e=>nt.tinyYolov2.load(e),Oge=e=>nt.faceLandmark68Net.load(e),Pge=e=>nt.faceLandmark68TinyNet.load(e),Lge=e=>nt.faceRecognitionNet.load(e),zge=e=>nt.faceExpressionNet.load(e),Wge=e=>nt.ageGenderNet.load(e),Bge=UD,Vge=BD,Uge=VD;var Eg=class extends Sa{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},Il=class extends Eg{async run(){let t=await this.parentTask,n=await wl(t,this.input,async a=>Promise.all(a.map(r=>nt.faceExpressionNet.predictExpressions(r))),this.extractedFaces);return t.map((a,r)=>gg(a,n[r]))}withAgeAndGender(){return new Nl(this,this.input)}},Sl=class extends Eg{async run(){let t=await this.parentTask;if(!t)return;let n=await Gp(t,this.input,a=>nt.faceExpressionNet.predictExpressions(a),this.extractedFaces);return gg(t,n)}withAgeAndGender(){return new Tl(this,this.input)}},Ws=class extends Il{withAgeAndGender(){return new Vs(this,this.input)}withFaceDescriptors(){return new Hr(this,this.input)}},Bs=class extends Sl{withAgeAndGender(){return new Us(this,this.input)}withFaceDescriptor(){return new qr(this,this.input)}};var _g=class extends Sa{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},Nl=class extends _g{async run(){let t=await this.parentTask,n=await wl(t,this.input,async a=>Promise.all(a.map(r=>nt.ageGenderNet.predictAgeAndGender(r))),this.extractedFaces);return t.map((a,r)=>{let{age:s,gender:i,genderProbability:o}=n[r];return Sg(Ng(a,i,o),s)})}withFaceExpressions(){return new Il(this,this.input)}},Tl=class extends _g{async run(){let t=await this.parentTask;if(!t)return;let{age:n,gender:a,genderProbability:r}=await Gp(t,this.input,s=>nt.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return Sg(Ng(t,a,r),n)}withFaceExpressions(){return new Sl(this,this.input)}},Vs=class extends Nl{withFaceExpressions(){return new Ws(this,this.input)}withFaceDescriptors(){return new Hr(this,this.input)}},Us=class extends Tl{withFaceExpressions(){return new Bs(this,this.input)}withFaceDescriptor(){return new qr(this,this.input)}};var Jd=class extends Sa{constructor(n,a){super();this.parentTask=n;this.input=a}},Hr=class extends Jd{async run(){let t=await this.parentTask;return(await wl(t,this.input,a=>Promise.all(a.map(r=>nt.faceRecognitionNet.computeFaceDescriptor(r))),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}))).map((a,r)=>Ig(t[r],a))}withFaceExpressions(){return new Ws(this,this.input)}withAgeAndGender(){return new Vs(this,this.input)}},qr=class extends Jd{async run(){let t=await this.parentTask;if(!t)return;let n=await Gp(t,this.input,a=>nt.faceRecognitionNet.computeFaceDescriptor(a),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}));return Ig(t,n)}withFaceExpressions(){return new Bs(this,this.input)}withAgeAndGender(){return new Us(this,this.input)}};var Qd=class extends Sa{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.useTinyLandmarkNet=r}get landmarkNet(){return this.useTinyLandmarkNet?nt.faceLandmark68TinyNet:nt.faceLandmark68Net}},eh=class extends Qd{async run(){let t=await this.parentTask,n=t.map(i=>i.detection),a=this.input instanceof Ce?await Rp(this.input,n):await Dp(this.input,n),r=await Promise.all(a.map(i=>this.landmarkNet.detectLandmarks(i)));return a.forEach(i=>i instanceof Ce&&i.dispose()),t.filter((i,o)=>r[o]).map((i,o)=>Wp(i,r[o]))}withFaceExpressions(){return new Ws(this,this.input)}withAgeAndGender(){return new Vs(this,this.input)}withFaceDescriptors(){return new Hr(this,this.input)}},th=class extends Qd{async run(){let t=await this.parentTask;if(!t)return;let{detection:n}=t,a=this.input instanceof Ce?await Rp(this.input,[n]):await Dp(this.input,[n]),r=await this.landmarkNet.detectLandmarks(a[0]);return a.forEach(s=>s instanceof Ce&&s.dispose()),Wp(t,r)}withFaceExpressions(){return new Bs(this,this.input)}withAgeAndGender(){return new Us(this,this.input)}withFaceDescriptor(){return new qr(this,this.input)}};var nh=class extends Sa{constructor(n,a=new Ia){super();this.input=n;this.options=a}},Hp=class extends nh{async run(){let{input:t,options:n}=this,a;if(n instanceof Zd)a=nt.tinyFaceDetector.locateFaces(t,n);else if(n instanceof Ia)a=nt.ssdMobilenetv1.locateFaces(t,n);else if(n instanceof Ja)a=nt.tinyYolov2.locateFaces(t,n);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return a}runAndExtendWithFaceDetections(){return new Promise((t,n)=>{this.run().then(a=>t(a.map(r=>pl({},r)))).catch(a=>n(a))})}withFaceLandmarks(t=!1){return new eh(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new Il(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new Nl(this.runAndExtendWithFaceDetections(),this.input)}},ah=class extends nh{async run(){let t=await new Hp(this.input,this.options),n=t[0];return t.forEach(a=>{a.score>n.score&&(n=a)}),n}runAndExtendWithFaceDetection(){return new Promise(async t=>{let n=await this.run();t(n?pl({},n):void 0)})}withFaceLandmarks(t=!1){return new th(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new Sl(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new Tl(this.runAndExtendWithFaceDetection(),this.input)}};function Gge(e,t=new Ia){return new ah(e,t)}function Ag(e,t=new Ia){return new Hp(e,t)}async function GD(e,t){return Ag(e,new Ia(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function Hge(e,t={}){return Ag(e,new Ja(t)).withFaceLandmarks().withFaceDescriptors()}var qge=GD;function eI(e,t){if(e.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let n=Array.from(e),a=Array.from(t);return Math.sqrt(n.map((r,s)=>r-a[s]).reduce((r,s)=>r+s*s,0))}var tI=class e{constructor(t,n=.6){this._distanceThreshold=n;let a=Array.isArray(t)?t:[t];if(!a.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let r=1,s=()=>`person ${r++}`;this._labeledDescriptors=a.map(i=>{if(i instanceof Ls)return i;if(i instanceof Float32Array)return new Ls(s(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new Ls(s(),[i.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,n){return n.map(a=>eI(a,t)).reduce((a,r)=>a+r,0)/(n.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:n,label:a})=>new Ap(a,this.computeMeanDistance(t,n))).reduce((n,a)=>n.distancet.toJSON())}}static fromJSON(t){let n=t.labeledDescriptors.map(a=>Ls.fromJSON(a));return new e(n,t.distanceThreshold)}};function jge(e){let t=new kl;return t.extractWeights(e),t}function HD(e,t){let{width:n,height:a}=new Un(t.width,t.height);if(n<=0||a<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:n,height:a})}`);if(Array.isArray(e))return e.map(r=>HD(r,{width:n,height:a}));if(gl(e)){let r=e.detection.forSize(n,a),s=e.unshiftedLandmarks.forSize(r.box.width,r.box.height);return Wp(pl(e,r),s)}return yr(e)?pl(e,e.detection.forSize(n,a)):e instanceof sa||e instanceof Tt?e.forSize(n,a):e}var Kge=cD;return AR(Xge);})(); + ${r.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=t.dataIdMap.get(a.dataId).id,o=t.dataIdMap.get(r.dataId).id,l=t.dataIdMap.get(s.dataId).id,u=a.shape[0],p=w.sizeFromShape(s.shape),d=t.makeOutput([u,p],a.dtype),c=t.dataIdMap.get(d.dataId).id,h=t.makeOutput([p],s.dtype),m=t.dataIdMap.get(h.dataId).id,f=t.makeOutput([3],"int32"),g=t.dataIdMap.get(f.dataId).id;q$(i,o,l,u,c,m,g);let b=t.readSync(f.dataId),y;switch(b[0]){case 0:{y=T.getSparseReshapeMultipleNegativeOneOutputDimErrorMessage(b[1],b[2]);break}case 1:{y=T.getSparseReshapeNegativeOutputDimErrorMessage(b[1],b[2]);break}case 2:y=T.getSparseReshapeEmptyTensorZeroOutputDimErrorMessage();break;case 3:{let x=Array.from(t.readSync(r.dataId)),v=Array.from(t.readSync(h.dataId));y=T.getSparseReshapeInputOutputMultipleErrorMessage(x,v);break}case 4:{let x=Array.from(t.readSync(r.dataId)),v=Array.from(t.readSync(h.dataId));y=T.getSparseReshapeInputOutputMismatchErrorMessage(x,v);break}default:y=""}if(t.disposeData(f.dataId),y)throw t.disposeData(d.dataId),t.disposeData(h.dataId),new Error(y);return[d,h]}var _me={kernelName:ap,backendName:"wasm",setupFunc:Cme,kernelFunc:Eme},j$;function K$(e){j$=e.wasm.cwrap("SparseSegmentReduction",null,["number","number","number","number","number","number","number","number","number"])}function X$(e,t){let{backend:n,inputs:a}=e,{data:r,indices:s,segmentIds:i}=a,o=s.shape[0],l=n.readSync(i.dataId,o-1,o)[0],u=o>0?l+1:0;if(u<0)throw new Error(T.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let p=r.shape.slice();p[0]=u;let d=n.dataIdMap.get(r.dataId).id,c=n.dataIdMap.get(s.dataId).id,h=n.dataIdMap.get(i.dataId).id,m=n.makeOutput(p,r.dtype),f=n.dataIdMap.get(m.dataId).id,g=n.makeOutput([4],"int32"),b=n.dataIdMap.get(g.dataId).id;j$(d,Qe[r.dtype],r.shape[0],c,h,f,b,t,0);let y=n.readSync(g.dataId),x;switch(y[0]){case 0:{x=T.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{x=T.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:x=T.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(y[1],y[2]);break;case 3:x=T.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(y[1],y[2],y[3]);break;default:x=""}if(n.disposeData(g.dataId),x)throw n.disposeData(m.dataId),new Error(x);return m}function Ame(e){return X$(e,!0)}var Fme={kernelName:Zc,backendName:"wasm",setupFunc:K$,kernelFunc:Ame};function $me(e){return X$(e,!1)}var Dme={kernelName:Jc,backendName:"wasm",setupFunc:K$,kernelFunc:$me},Y$;function Rme(e){Y$=e.wasm.cwrap(rp,null,["number","number","number","number","number","number","number","number","array","number","number"])}function Mme(e){let{backend:t,inputs:n,attrs:a}=e,{sparseIndices:r,sparseValues:s,defaultValue:i}=n,{outputShape:o}=a,l=t.makeOutput(o,i.dtype);if(w.sizeFromShape(o)===0)return l;let{sliceRank:u,numUpdates:p,sliceSize:d,strides:c,outputSize:h}=T.calculateShapes(s,r,o),m=t.dataIdMap.get(r.dataId).id,f=t.dataIdMap.get(s.dataId).id,g=t.dataIdMap.get(i.dataId).id,b=new Uint8Array(new Int32Array(c).buffer),y=t.dataIdMap.get(l.dataId).id;return Y$(m,f,s.shape.length,g,Qe[i.dtype],u,p,d,b,h,y),l}var Ome={kernelName:rp,backendName:"wasm",setupFunc:Rme,kernelFunc:Mme};function Pme(e){let{inputs:t,attrs:n,backend:a}=e,{x:r}=t,{numOrSizeSplits:s,axis:i}=n,o=w.parseAxisParam(i,r.shape)[0],l=T.prepareSplitSize(r,s,o),u=new Array(r.shape.length).fill(0),p=r.shape.slice();return l.map(d=>{let c=[...p];c[o]=d;let h=Ni({inputs:{x:r},attrs:{begin:u,size:c},backend:a});return u[o]+=d,h})}var Lme={kernelName:np,backendName:"wasm",kernelFunc:Pme},zme=Xe(zo),Wme=Xe(Qc),Bme=!0,Vme=Ut(Vo,Bme),Z$;function Ume(e){Z$=e.wasm.cwrap(Ts,null,["number","number","number","number"])}function Gme(e){let{backend:t,inputs:n,attrs:a}=e,{alpha:r}=a,{x:s}=n,i=t.dataIdMap.get(s.dataId).id,o=t.makeOutput(s.shape,s.dtype),l=t.dataIdMap.get(o.dataId).id;return Z$(i,r,Qe[s.dtype],l),o}var Hme={kernelName:Ts,backendName:"wasm",setupFunc:Ume,kernelFunc:Gme},J$;function qme(e){J$=e.wasm.cwrap(sp,null,["number","array","number","array","array","array","array","array","number","number"])}function jme(e){let{backend:t,inputs:n,attrs:a}=e,{x:r}=n,{begin:s,end:i,strides:o,beginMask:l,endMask:u,ellipsisMask:p,newAxisMask:d,shrinkAxisMask:c}=a,{finalShapeSparse:h,finalShape:m,isIdentity:f,sliceDim0:g,isSimpleSlice:b,begin:y,end:x,strides:v}=Kt.sliceInfo(r.shape,s,i,o,l,u,p,d,c),I;if(f)I=Ln({inputs:{x:r},backend:t,attrs:{shape:m}});else if(g||b){w.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);let N=Kt.computeOutShape(y,x,v),C=Ni({inputs:{x:r},backend:t,attrs:{begin:y,size:N}});I=Ln({inputs:{x:C},backend:t,attrs:{shape:m}}),t.disposeData(C.dataId)}else{let N=t.makeOutput(h,"float32"),C=t.dataIdMap.get(r.dataId).id,_=new Uint8Array(new Int32Array(w.computeStrides(r.shape)).buffer),F=new Uint8Array(new Int32Array(y).buffer),D=new Uint8Array(new Int32Array(x).buffer),$=new Uint8Array(new Int32Array(v).buffer),S=new Uint8Array(new Int32Array(h).buffer),M=new Uint8Array(new Int32Array(w.computeStrides(h)).buffer),B=t.dataIdMap.get(N.dataId).id;J$(C,_,r.shape.length,F,D,$,S,M,h.length,B),I=Ln({inputs:{x:N},backend:t,attrs:{shape:m}}),t.disposeData(N.dataId)}return I}var Kme={kernelName:sp,backendName:"wasm",setupFunc:qme,kernelFunc:jme};function Xme(e){let{backend:t,inputs:n,attrs:a}=e,{data:r,dataSplits:s}=n,{separator:i,nGramWidths:o,leftPad:l,rightPad:u,padWidth:p,preserveShortSequences:d}=a,c=t.readSync(r.dataId),h=t.readSync(s.dataId),[m,f]=Z1(c,h,i,o,l,u,p,d),g=t.makeOutput([m.length],"string"),b=t.dataIdMap.get(g.dataId);b.stringBytes=m;let y=t.makeOutput(s.shape,"int32");return t.typedArrayFromHeap(y).set(f),[g,y]}var Yme={kernelName:td,backendName:"wasm",kernelFunc:Xme};function Zme(e){let{backend:t,inputs:n,attrs:a}=e,{input:r,delimiter:s}=n,{skipEmpty:i}=a,o=t.readSync(r.dataId),l=t.readSync(s.dataId),[u,p,d]=J1(o,l[0],i),c=p.length,h=t.makeOutput([c,2],"int32");t.typedArrayFromHeap(h).set(u);let m=t.makeOutput([c],"string"),f=t.dataIdMap.get(m.dataId);f.stringBytes=p;let g=t.makeOutput([2],"int32");return t.typedArrayFromHeap(g).set(d),[h,m,g]}var Jme={kernelName:nd,backendName:"wasm",kernelFunc:Zme};function Qme(e){let{backend:t,inputs:n,attrs:a}=e,{input:r}=n,{numBuckets:s}=a,i=t.readSync(r.dataId),o=Q1(i,s),l=t.makeOutput(r.shape,"int32");return t.typedArrayFromHeap(l).set(o),l}var efe={kernelName:ad,backendName:"wasm",kernelFunc:Qme},tfe=!0,nfe=Ut(Uo,tfe),Q$;function afe(e){Q$=e.wasm.cwrap(Wo,null,["number","number","number","number"])}function rfe(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=Os(i,r,t),m=d;if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x,m=T.getInnerMostAxes(m.length,u.shape.length))}T.assertAxesAreInnerMostDims("sum",m,u.shape.length);let[f,g]=T.computeOutAndReduceShapes(u.shape,m),b=w.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(w.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;Q$(l,b,Qe[y.dtype],x)}if(h&&t.disposeData(p.dataId),s){let x=T.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var sfe={kernelName:Wo,backendName:"wasm",setupFunc:afe,kernelFunc:rfe},ife=Xe(Go),ofe=Xe(Ho),eD;function lfe(e){eD=e.wasm.cwrap(Zu,null,["number","number","number","number","number","number","array","number","number","number"])}function ufe(e){let{backend:t,inputs:n,attrs:a}=e,{tensor:r,indices:s,updates:i}=n,{}=a,o=t.makeOutput(r.shape,r.dtype);if(w.sizeFromShape(r.shape)===0)return o;let{sliceRank:l,numUpdates:u,sliceSize:p,strides:d,outputSize:c}=xf.calculateShapes(i,s,r.shape),h=t.dataIdMap.get(s.dataId).id,m=t.dataIdMap.get(i.dataId).id,f=t.dataIdMap.get(r.dataId).id,g=new Uint8Array(new Int32Array(d).buffer),b=t.dataIdMap.get(o.dataId).id;return eD(h,m,Qe[i.dtype],l,u,p,g,c,b,f),o}var pfe={kernelName:Zu,backendName:"wasm",setupFunc:lfe,kernelFunc:ufe},tD;function cfe(e){tD=e.wasm.cwrap(Ns,null,["number","array","number","array","number","number"])}function dfe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,s=n.dataIdMap.get(r.dataId).id,{reps:i}=a,o=new Array(r.shape.length);for(let c=0;c{let{x:a}=e,{k:r,sorted:s}=n,i=t.dataIdMap.get(a.dataId).id,o=new Uint8Array(new Int32Array(a.shape).buffer),l=a.shape.slice();l[l.length-1]=r;let u=t.makeOutput(l,a.dtype),p=t.dataIdMap.get(u.dataId).id,d=t.makeOutput(l,"int32"),c=t.dataIdMap.get(d.dataId).id;return nD(i,o,a.shape.length,Qe[a.dtype],r,s,p,c),[u,d]},gfe={kernelName:ip,backendName:"wasm",setupFunc:mfe,kernelFunc:ffe},aD;function bfe(e){aD=e.wasm.cwrap(op,null,["number","number","bool","number","number","number","number","number","number","array","number","array","number","number","number","number","number"])}function yfe(e){let{backend:t,inputs:n,attrs:a}=e,{image:r,transforms:s}=n,{interpolation:i,fillMode:o,fillValue:l,outputShape:u}=a,[p,d,c,h]=r.shape,[m,f]=u!=null?u:[d,c],g=[p,m,f,h],b=new Uint8Array(new Int32Array(w.computeStrides(r.shape)).buffer),y=new Uint8Array(new Int32Array(w.computeStrides(g)).buffer),x=t.makeOutput(g,r.dtype),v=t.dataIdMap.get(x.dataId).id,I=t.dataIdMap.get(r.dataId).id,N=t.dataIdMap.get(s.dataId).id,C=i==="nearest"?1:2,_;switch(o){case"constant":_=1;break;case"reflect":_=2;break;case"wrap":_=3;break;case"nearest":_=4;break;default:_=1;break}return aD(I,N,s.shape[0]>1,p,m,f,h,c,d,b,r.shape.length-1,y,g.length-1,C,_,l,v),x}var xfe={kernelName:op,backendName:"wasm",setupFunc:bfe,kernelFunc:yfe};function vfe(e){let{inputs:t,attrs:n,backend:a}=e,{axis:r}=n,{x:s}=t,{outputValues:i,outputShape:o,indices:l}=tk(a.readSync(s.dataId),r,s.shape,s.dtype);return[a.makeOutput(o,s.dtype,void 0,i),a.makeOutput([l.length],"int32",void 0,l)]}var wfe={kernelName:rd,backendName:"wasm",kernelFunc:vfe};function kfe(e){let{inputs:t,backend:n,attrs:a}=e,{value:r}=t,{axis:s}=a;s<0&&(s+=r.shape.length);let i=r.shape[s],o=r.shape.length,l=new Array(o-1),u=0;for(let h=0;h({dataId:h,dtype:m,shape:l}))}var Ife={kernelName:lp,backendName:"wasm",kernelFunc:kfe};function Sfe(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(a).fill(0),a}var Nfe={kernelName:up,backendName:"wasm",kernelFunc:Sfe},Tfe=[oue,lue,uue,pue,due,fue,Iue,Tue,Cue,Eue,_ue,Aue,Fue,$ue,Due,Oue,Hue,zue,Vue,Xue,tpe,rpe,ipe,lpe,upe,ppe,hpe,mpe,bpe,vpe,Ipe,Tpe,_pe,Ape,Fpe,Rpe,Ppe,Wpe,Upe,qpe,Xpe,Jpe,tce,rce,oce,lce,cce,hce,mce,fce,gce,bce,yce,wce,kce,Sce,Cce,Ace,Dce,Oce,zce,Bce,Uce,gue,Gce,Hce,qce,Xce,Zce,Qce,nde,rde,ade,ide,ode,ude,cde,mde,bde,vde,kde,Nde,Ede,Fde,Rde,Pde,Wde,Ude,Hde,Kde,Qde,ehe,nhe,ahe,ihe,uhe,dhe,mhe,bhe,xhe,whe,$$,Nhe,Ehe,Fhe,Dhe,Mhe,Ohe,Phe,Lhe,que,Bhe,Ghe,jhe,Yhe,Qhe,nme,ame,rme,ome,pme,hme,mme,bme,yme,xme,vme,Que,Yde,wme,Ime,Tme,_me,Fme,Dme,Ome,Lme,zme,Wme,Vme,Hme,Kme,Yme,Jme,efe,nfe,sfe,ife,ofe,pfe,hfe,gfe,xfe,vue,wfe,Ife,Nfe];for(let e of Tfe)id(e);var Cv=G();Cv.registerFlag("WASM_HAS_SIMD_SUPPORT",async()=>{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,9,1,7,0,65,0,253,15,26,11]))}catch(e){return!1}});Cv.registerFlag("WASM_HAS_MULTITHREAD_SUPPORT",async()=>{if(Cv.get("IS_NODE"))return!1;try{return 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(e){return!1}});var KS=ks(ZR()),Cfe=ks(JR()),XS=ks(QR()),YS=KS.default||KS,Efe=XS.default||XS,rD=class extends Pc{constructor(e){super(),this.wasm=e,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(sD),Ev=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new $m(this,Ea())}write(e,t,n){let a={id:this.dataIdNextNumber++};return this.move(a,e,t,n,1),a}numDataIds(){return this.dataIdMap.numDataIds()}async time(e){let t=w.now();return e(),{kernelMs:w.now()-t}}move(e,t,n,a,r){let s=this.dataIdNextNumber++;if(a==="string"){let u=t;this.dataIdMap.set(e,{id:s,stringBytes:u,shape:n,dtype:a,memoryOffset:null,refCount:r});return}let i=w.sizeFromShape(n),o=i*w.bytesPerElement(a),l=this.wasm._malloc(o)>>>0;this.dataIdMap.set(e,{id:s,memoryOffset:l,shape:n,dtype:a,refCount:r}),this.wasm.tfjs.registerTensor(s,i,l),t!=null&&this.wasm.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,o),l)}async read(e){return this.readSync(e)}readSync(e,t,n){let{memoryOffset:a,dtype:r,shape:s,stringBytes:i}=this.dataIdMap.get(e);if(r==="string")return(t==null||t===0)&&(n==null||n>=i.length)?i:i.slice(t,n);t=t||0,n=n||w.sizeFromShape(s);let o=w.bytesPerElement(r),l=this.wasm.HEAPU8.slice(a+t*o,a+n*o);return Ffe(l.buffer,r)}disposeData(e,t=!1){if(this.dataIdMap.has(e)){let n=this.dataIdMap.get(e);if(n.refCount--,!t&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(e)}return!0}refCount(e){return this.dataIdMap.has(e)?this.dataIdMap.get(e).refCount:0}incRef(e){let t=this.dataIdMap.get(e);t!=null&&t.refCount++}floatPrecision(){return 32}getMemoryOffset(e){return this.dataIdMap.get(e).memoryOffset}dispose(){this.wasm.tfjs.dispose(),"PThread"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(e,t,n,a){let r;if(n==null)r=this.write(a!=null?a:null,e,t);else{let s=this.dataIdNextNumber++;r={id:s},this.dataIdMap.set(r,{id:s,memoryOffset:n,shape:e,dtype:t,refCount:1});let i=w.sizeFromShape(e);this.wasm.tfjs.registerTensor(s,i,n)}return{dataId:r,shape:e,dtype:t}}typedArrayFromHeap({shape:e,dtype:t,dataId:n}){let a=this.wasm.HEAPU8.buffer,{memoryOffset:r}=this.dataIdMap.get(n),s=w.sizeFromShape(e);switch(t){case"float32":return new Float32Array(a,r,s);case"int32":return new Int32Array(a,r,s);case"bool":return new Uint8Array(a,r,s);default:throw new Error(`Unknown dtype ${t}`)}}};function _fe(e){return(t,n)=>(w.fetch(e,{credentials:"same-origin"}).then(a=>{a.ok||t.env.a(`failed to load wasm binary file at '${e}'`),a.arrayBuffer().then(r=>{WebAssembly.instantiate(r,t).then(s=>{n(s.instance,s.module)})})}),{})}function ZS(e,t,n){if(Am!=null)return Am;let a="tfjs-backend-wasm.wasm";return e&&t?a="tfjs-backend-wasm-threaded-simd.wasm":e&&(a="tfjs-backend-wasm-simd.wasm"),bc!=null&&bc[a]!=null?bc[a]:n+a}async function Afe(){let[e,t]=await Promise.all([G().getAsync("WASM_HAS_SIMD_SUPPORT"),G().getAsync("WASM_HAS_MULTITHREAD_SUPPORT")]);return new Promise((n,a)=>{let r={};r.locateFile=(o,l)=>{if(o.endsWith(".worker.js")){let u=Cfe.wasmWorkerContents.replace(/\n/g,"\\n"),p=new Blob([u],{type:"application/javascript"});return URL.createObjectURL(p)}return o.endsWith(".wasm")?ZS(e,t,mc!=null?mc:l):l+o},kk&&(r.instantiateWasm=_fe(ZS(e,t,mc!=null?mc:"")));let s=!1;r.onAbort=()=>{s||yc||(yc=!0,a({message:"Make sure the server can serve the `.wasm` file relative to the bundled js file. For more details see https://github.com/tensorflow/tfjs/blob/master/tfjs-backend-wasm/README.md#using-bundlers"}))};let i;t&&e&&Am==null?(r.mainScriptUrlOrBlob=new Blob(["var WasmBackendModuleThreadedSimd = "+YS.toString()],{type:"text/javascript"}),i=YS(r)):i=Efe(r),i.then(o=>{s=!0,yc=!1;let l=null;o.tfjs={init:o.cwrap("init",null,[]),initWithThreadsCount:o.cwrap("init_with_threads_count",null,["number"]),getThreadsCount:o.cwrap("get_threads_count","number",[]),registerTensor:o.cwrap("register_tensor",null,["number","number","number"]),disposeData:o.cwrap("dispose_data",l,["number"]),dispose:o.cwrap("dispose",l,[])},n({wasm:o})}).catch(a)})}function Ffe(e,t){switch(t){case"float32":return new Float32Array(e);case"int32":return new Int32Array(e);case"bool":return new Uint8Array(e);default:throw new Error(`Unknown dtype ${t}`)}}var $fe=["tfjs-backend-wasm.wasm","tfjs-backend-wasm-simd.wasm","tfjs-backend-wasm-threaded-simd.wasm"],Am=null,mc=null,bc={},yc=!1,kk=!1;function Dfe(e,t=!1){if(zv("setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release."),yc)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`");Am=e,kk=t}function Rfe(e,t=!1){if(yc)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`");if(typeof e=="string")mc=e;else{bc=e;let n=$fe.filter(a=>bc[a]==null);if(n.length>0)throw new Error(`There were no entries found for the following binaries: ${n.join(",")}. Please either call setWasmPaths with a map providing a path for each binary, or with a string indicating the directory where all the binaries can be found.`)}kk=t}var sD=-1,Ev=-1;function Mfe(e){sD=e}function Ofe(){if(Ev===-1)throw new Error("WASM backend not initialized.");return Ev}var Pfe="4.16.0",Lfe=2;Ym("wasm",async()=>{let{wasm:e}=await Afe();return new rD(e)},Lfe);var JS="4.16.0",zfe="4.16.0",Wfe="4.16.0",Bfe="4.16.0",Vfe="4.16.0",Ufe={tfjs:JS,"tfjs-core":JS,"tfjs-converter":zfe,"tfjs-backend-cpu":Wfe,"tfjs-backend-webgl":Bfe,"tfjs-backend-wasm":Vfe};var jk={};$h(jk,{AnchorPosition:()=>Lk,DrawBox:()=>Bd,DrawBoxOptions:()=>og,DrawFaceLandmarks:()=>yg,DrawFaceLandmarksOptions:()=>bg,DrawTextField:()=>dl,DrawTextFieldOptions:()=>$p,drawContour:()=>zr,drawDetections:()=>Jfe,drawFaceExpressions:()=>age,drawFaceLandmarks:()=>sge});function zr(e,t,n=!1){if(e.beginPath(),t.slice(1).forEach(({x:a,y:r},s)=>{let i=t[s];e.moveTo(i.x,i.y),e.lineTo(a,r)}),n){let a=t[t.length-1],r=t[0];if(!a||!r)return;e.moveTo(a.x,a.y),e.lineTo(r.x,r.y)}e.stroke()}var Tk={};$h(Tk,{computeReshapedDimensions:()=>Nk,getCenterPoint:()=>sl,isDimensions:()=>sg,isEven:()=>rg,isFloat:()=>Sk,isTensor:()=>al,isTensor1D:()=>Gfe,isTensor2D:()=>Ik,isTensor3D:()=>Wr,isTensor4D:()=>ka,isValidNumber:()=>Xa,isValidProbablitiy:()=>_p,range:()=>br,round:()=>rl});var Un=class e{constructor(t,n){if(!Xa(t)||!Xa(n))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:n})}`);this._width=t,this._height=n}get width(){return this._width}get height(){return this._height}reverse(){return new e(1/this.width,1/this.height)}};function al(e,t){return e instanceof Ce&&e.shape.length===t}function Gfe(e){return al(e,1)}function Ik(e){return al(e,2)}function Wr(e){return al(e,3)}function ka(e){return al(e,4)}function Sk(e){return e%1!==0}function rg(e){return e%2===0}function rl(e,t=2){let n=10**t;return Math.floor(e*n)/n}function sg(e){return e&&e.width&&e.height}function Nk({width:e,height:t},n){let a=n/Math.max(t,e);return new Un(Math.round(e*a),Math.round(t*a))}function sl(e){return e.reduce((t,n)=>t.add(n),new Ue(0,0)).div(new Ue(e.length,e.length))}function br(e,t,n){return Array(e).fill(0).map((a,r)=>t+r*n)}function Xa(e){return!!e&&e!==1/0&&e!==-1/0&&!Number.isNaN(e)||e===0}function _p(e){return Xa(e)&&e>=0&&e<=1}var Ue=class e{constructor(t,n){this._x=t,this._y=n}get x(){return this._x}get y(){return this._y}add(t){return new e(this.x+t.x,this.y+t.y)}sub(t){return new e(this.x-t.x,this.y-t.y)}mul(t){return new e(this.x*t.x,this.y*t.y)}div(t){return new e(this.x/t.x,this.y/t.y)}abs(){return new e(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new e(Math.floor(this.x),Math.floor(this.y))}};var on=class e{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(Xa)}static assertIsValidBox(t,n,a=!1){if(!e.isRect(t))throw new Error(`${n} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!a&&(t.width<0||t.height<0))throw new Error(`${n} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,n=!0){let a=t||{},r=[a.left,a.top,a.right,a.bottom].every(Xa),s=[a.x,a.y,a.width,a.height].every(Xa);if(!s&&!r)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(a)}`);let[i,o,l,u]=s?[a.x,a.y,a.width,a.height]:[a.left,a.top,a.right-a.left,a.bottom-a.top];e.assertIsValidBox({x:i,y:o,width:l,height:u},"Box.constructor",n),this._x=i,this._y=o,this._width=l,this._height=u}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new Ue(this.left,this.top)}get topRight(){return new Ue(this.right,this.top)}get bottomLeft(){return new Ue(this.left,this.bottom)}get bottomRight(){return new Ue(this.right,this.bottom)}round(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new e({x:t,y:n,width:a,height:r})}floor(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new e({x:t,y:n,width:a,height:r})}toSquare(){let{x:t,y:n,width:a,height:r}=this,s=Math.abs(a-r);return an&&(o=-d+n+a,d=n),c>t&&(l=-c+t+r,c=t),u<1&&(l=2-u,u=1),p<1&&(l=2-p,p=1),{dy:i,edy:l,dx:s,edx:o,y:p,ey:c,x:u,ex:d,w:a,h:r}}calibrate(t){return new e({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var il=class extends on{constructor(t,n,a,r,s=!1){super({left:t,top:n,right:a,bottom:r},s)}};var ol=class e{constructor(t,n,a,r,s){this._imageDims=new Un(s.width,s.height),this._score=t,this._classScore=n,this._className=a,this._box=new on(r).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new on(this._box).rescale(this.imageDims.reverse())}forSize(t,n){return new e(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:n})}};var Tt=class e extends ol{constructor(t,n,a){super(t,t,"",n,a)}forSize(t,n){let{score:a,relativeBox:r,imageDims:s}=super.forSize(t,n);return new e(a,r,s)}};function Ck(e,t,n=!0){let a=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),r=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),s=a*r;return n?s/(e.area+t.area-s):s/Math.min(e.area,t.area)}function Ek(e){let t=e.map(o=>o.x),n=e.map(o=>o.y),a=t.reduce((o,l)=>lloo({score:i,boxIndex:o})).sort((i,o)=>i.score-o.score).map(i=>i.boxIndex),s=[];for(;r.length>0;){let i=r.pop();s.push(i);let o=r,l=[];for(let u=0;ul[p]<=n)}return s}function Ya(e,t){return O(()=>{let[n,a,r]=t,s=yn([...e.shape.slice(0,3),1],n,"float32"),i=yn([...e.shape.slice(0,3),1],a,"float32"),o=yn([...e.shape.slice(0,3),1],r,"float32"),l=et([s,i,o],3);return pe(e,l)})}function Ak(e,t=!1){return O(()=>{let[n,a]=e.shape.slice(1);if(n===a)return e;let r=Math.abs(n-a),s=Math.round(r*(t?.5:1)),i=n>a?2:1,o=c=>{let h=e.shape.slice();return h[i]=c,yn(h,0,"float32")},l=o(s),u=r-l.shape[i],d=[t&&u?o(u):null,e,l].filter(c=>!!c).map(c=>re(c,"float32"));return et(d,i)})}function Hfe(e){let t=e.slice();for(let n=t.length-1;n>0;n--){let a=Math.floor(Math.random()*(n+1)),r=t[n];t[n]=t[a],t[a]=r}return t}function zd(e){return 1/(1+Math.exp(-e))}function qfe(e){return Math.log(e/(1-e))}var ll=class extends on{constructor(t,n,a,r,s=!1){super({x:t,y:n,width:a,height:r},s)}};var jfe=.5,Kfe=.43,Xfe=.45,sa=class{constructor(t,n,a=new Ue(0,0)){let{width:r,height:s}=n;this._imgDims=new Un(r,s),this._shift=a,this._positions=t.map(i=>i.mul(new Ue(r,s)).add(a))}get shift(){return new Ue(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new Ue(this.imageWidth,this.imageHeight)))}forSize(t,n){return new this.constructor(this.relativePositions,{width:t,height:n})}shiftBy(t,n){return new this.constructor(this.relativePositions,this._imgDims,new Ue(t,n))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,n={}){if(t){let s=t instanceof Tt?t.box.floor():new on(t);return this.shiftBy(s.x,s.y).align(null,n)}let{useDlibAlignment:a,minBoxPadding:r}={useDlibAlignment:!1,minBoxPadding:.2,...n};return a?this.alignDlib():this.alignMinBbox(r)}alignDlib(){let t=this.getRefPointsForAlignment(),[n,a,r]=t,s=d=>r.sub(d).magnitude(),i=(s(n)+s(a))/2,o=Math.floor(i/Xfe),l=sl(t),u=Math.floor(Math.max(0,l.x-jfe*o)),p=Math.floor(Math.max(0,l.y-Kfe*o));return new ll(u,p,Math.min(o,this.imageWidth+u),Math.min(o,this.imageHeight+p))}alignMinBbox(t){let n=Ek(this.positions);return n.pad(n.width*t,n.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var Fk=class extends sa{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],sl([t[3],t[4]])]}};var ul=class extends sa{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(sl)}};var Ap=class{constructor(t,n){this._label=t,this._distance=n}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${rl(this.distance)})`:""}`}};var Fp=class extends on{static assertIsValidLabeledBox(t,n){if(on.assertIsValidBox(t,n),!Xa(t.label))throw new Error(`${n} - expected property label (${t.label}) to be a number`)}constructor(t,n){super(t),this._label=n}get label(){return this._label}};var Ls=class e{constructor(t,n){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(n)||n.some(a=>!(a instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=n}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let n=t.descriptors.map(a=>new Float32Array(a));return new e(t.label,n)}};var $k=class extends Fp{static assertIsValidPredictedBox(t,n){if(Fp.assertIsValidLabeledBox(t,n),!_p(t.score)||!_p(t.classScore))throw new Error(`${n} - expected properties score (${t.score}) and (${t.classScore}) to be a number between [0, 1]`)}constructor(t,n,a,r){super(t,n),this._score=a,this._classScore=r}get score(){return this._score}get classScore(){return this._classScore}};function yr(e){return e.detection instanceof Tt}function pl(e,t){return{...e,...{detection:t}}}function Dk(){let e=window.fetch;if(!e)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:e,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Wd(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function ig(e){let t="";if(!e&&Wd())try{e=ER("fs")}catch(a){t=a.toString()}return{readFile:e?a=>new Promise((r,s)=>{e.readFile(a,(i,o)=>i?s(i):r(o))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Rk(){let e=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,n=global.Video||global.HTMLVideoElement,a=()=>{if(e)return new e;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},r=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(n)return new n;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},i=global.fetch,o=ig();return{Canvas:e||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:a,createImageElement:r,createVideoElement:s,fetch:i,...o}}function Mk(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var ln;function Yfe(){if(!ln)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return ln}function Ok(e){ln=e}function Pk(){return Mk()?Ok(Dk()):Wd()?Ok(Rk()):null}function Zfe(e){if(ln||Pk(),!ln)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=ln.Canvas,Image:n=ln.Image}=e;ln.Canvas=t,ln.Image=n,ln.createCanvasElement=e.createCanvasElement||(()=>new t),ln.createImageElement=e.createImageElement||(()=>new n),ln.ImageData=e.ImageData||ln.ImageData,ln.Video=e.Video||ln.Video,ln.fetch=e.fetch||ln.fetch,ln.readFile=e.readFile||ln.readFile}var tt={getEnv:Yfe,setEnv:Ok,initialize:Pk,createBrowserEnv:Dk,createFileSystem:ig,createNodejsEnv:Rk,monkeyPatch:Zfe,isBrowser:Mk,isNodejs:Wd};Pk();function cl(e){return!tt.isNodejs()&&typeof e=="string"?document.getElementById(e):e}function Gn(e){let{Canvas:t,CanvasRenderingContext2D:n}=tt.getEnv();if(e instanceof n)return e;let a=cl(e);if(!(a instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let r=a.getContext("2d",{willReadFrequently:!0});if(!r)throw new Error("resolveContext2d - canvas 2d context is null");return r}var Lk=(r=>(r.TOP_LEFT="TOP_LEFT",r.TOP_RIGHT="TOP_RIGHT",r.BOTTOM_LEFT="BOTTOM_LEFT",r.BOTTOM_RIGHT="BOTTOM_RIGHT",r))(Lk||{}),$p=class{constructor(t={}){let{anchorPosition:n,backgroundColor:a,fontColor:r,fontSize:s,fontStyle:i,padding:o}=t;this.anchorPosition=n||"TOP_LEFT",this.backgroundColor=a||"rgba(0, 0, 0, 0.5)",this.fontColor=r||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=i||"Georgia",this.padding=o||4}},dl=class e{constructor(t,n,a={}){this.text=typeof t=="string"?[t]:t instanceof e?t.text:t,this.anchor=n,this.options=new $p(a)}measureWidth(t){let{padding:n}=this.options;return this.text.map(a=>t.measureText(a).width).reduce((a,r)=>a{let m=l+d.x,f=l+d.y+(h+1)*i;a.fillText(c,m,f)})}};var og=class{constructor(t={}){let{boxColor:n,lineWidth:a,label:r,drawLabelOptions:s}=t;this.boxColor=n||"rgba(0, 0, 255, 1)",this.lineWidth=a||2,this.label=r;let i={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new $p({...i,...s})}},Bd=class{constructor(t,n={}){this.box=new on(t),this.options=new og(n)}draw(t){let n=Gn(t),{boxColor:a,lineWidth:r}=this.options,{x:s,y:i,width:o,height:l}=this.box;n.strokeStyle=a,n.lineWidth=r,n.strokeRect(s,i,o,l);let{label:u}=this.options;u&&new dl([u],{x:s-r/2,y:i},this.options.drawLabelOptions).draw(t)}};function Jfe(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof Tt?a.score:yr(a)?a.detection.score:void 0,s=a instanceof Tt?a.box:yr(a)?a.detection.box:new on(a),i=r?`${rl(r)}`:void 0;new Bd(s,{label:i}).draw(e)})}function Vd(e){let{Image:t,Video:n}=tt.getEnv();return e instanceof t&&e.complete||e instanceof n&&e.readyState>=3}function zk(e){return new Promise((t,n)=>{if(e instanceof tt.getEnv().Canvas||Vd(e)){t(null);return}function a(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),n(s))}function r(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),t(s))}e.addEventListener("load",r),e.addEventListener("error",a)})}function Wk(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToImage - expected buf to be of type: Blob"));let a=new FileReader;a.onload=()=>{typeof a.result!="string"&&n(new Error("bufferToImage - expected reader.result to be a string, in onload"));let r=tt.getEnv().createImageElement();r.onload=()=>t(r),r.onerror=n,r.src=a.result},a.onerror=n,a.readAsDataURL(e)})}function hl(e){let{Image:t,Video:n}=tt.getEnv();return e instanceof t?new Un(e.naturalWidth,e.naturalHeight):e instanceof n?new Un(e.videoWidth,e.videoHeight):new Un(e.width,e.height)}function ml({width:e,height:t}){let{createCanvasElement:n}=tt.getEnv(),a=n();return a.width=e,a.height=t,a}function Ud(e,t){let{ImageData:n}=tt.getEnv();if(!(e instanceof n)&&!Vd(e))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:a,height:r}=t||hl(e),s=ml({width:a,height:r});return e instanceof n?Gn(s).putImageData(e,0,0):Gn(s).drawImage(e,0,0,a,r),s}async function Bk(e,t){let n=t||tt.getEnv().createCanvasElement(),[a,r,s]=e.shape.slice(ka(e)?1:0),i=O(()=>e.as3D(a,r,s).toInt());return await Xo.toPixels(i,n),i.dispose(),n}function lg(e){let{Image:t,Canvas:n,Video:a}=tt.getEnv();return e instanceof t||e instanceof n||e instanceof a}function Vk(e,t,n=!1){let{Image:a,Canvas:r}=tt.getEnv();if(!(e instanceof a||e instanceof r))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return ml({width:1,height:1});let s=hl(e),i=t/Math.max(s.height,s.width),o=i*s.width,l=i*s.height,u=ml({width:t,height:t}),p=e instanceof r?e:Ud(e),d=Math.abs(o-l)/2,c=n&&o0&&p.height>0&&Gn(u).drawImage(p,c,h,o,l),u}var xr=class{constructor(t,n=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=n,this._batchSize=t.length,t.forEach((a,r)=>{if(Wr(a)){this._imageTensors[r]=a,this._inputDimensions[r]=a.shape;return}if(ka(a)){let i=a.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[r]=a,this._inputDimensions[r]=a.shape.slice(1);return}let s=a instanceof tt.getEnv().Canvas?a:Ud(a);this._canvases[r]=s,this._inputDimensions[r]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return br(this.batchSize,0,1).map((t,n)=>this.getReshapedInputDimensions(n))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let n=this.getInputWidth(t),a=this.getInputHeight(t);return Nk({width:n,height:a},this.inputSize)}toBatchTensor(t,n=!0){return this._inputSize=t,O(()=>{let a=br(this.batchSize,0,1).map(s=>{let i=this.getInput(s);if(i instanceof Ce){let o=ka(i)?i:Gt(i);return o=Ak(o,n),(o.shape[1]!==t||o.shape[2]!==t)&&(o=Qn.resizeBilinear(o,[t,t],!1,!1)),o.as3D(t,t,3)}if(i instanceof tt.getEnv().Canvas){let o=Vk(i,t,n),l=Xo.fromPixels(o);o.width=1,o.height=1;let u=o.getContext("2d");return u&&u.clearRect(0,0,1,1),l}throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)});return Ft(a.map(s=>re(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function vt(e){if(e instanceof xr)return e;let t=Array.isArray(e)?e:[e];if(!t.length)throw new Error("toNetInput - empty array passed as input");let n=r=>Array.isArray(e)?` at input index ${r}:`:"",a=t.map(cl);return a.forEach((r,s)=>{if(!lg(r)&&!Wr(r)&&!ka(r))throw typeof t[s]=="string"?new Error(`toNetInput -${n(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${n(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(ka(r)){let i=r.shape[0];if(i!==1)throw new Error(`toNetInput -${n(s)} tf.Tensor4D with batchSize ${i} passed, but not supported in input array`)}}),await Promise.all(a.map(r=>lg(r)&&zk(r))),new xr(a,Array.isArray(e))}async function Dp(e,t){let{Canvas:n}=tt.getEnv(),a=e;if(!(e instanceof n)){let i=await vt(e);if(i.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let o=i.getInput(0);a=o instanceof n?o:await Bk(o)}let r=Gn(a);return t.map(i=>i instanceof Tt?i.forSize(a.width,a.height).box.floor():i).map(i=>i.clipAtImageBorders(a.width,a.height)).map(({x:i,y:o,width:l,height:u})=>{let p=ml({width:l,height:u});return l>0&&u>0&&Gn(p).putImageData(r.getImageData(i,o,l,u),0,0),p})}async function Rp(e,t){if(!Wr(e)&&!ka(e))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(ka(e)&&e.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return O(()=>{let[n,a,r]=e.shape.slice(ka(e)?1:0);return t.map(o=>o instanceof Tt?o.forSize(a,n).box:o).map(o=>o.clipAtImageBorders(a,n)).filter(o=>o.width>0&&o.height>0).map(({x:o,y:l,width:u,height:p})=>jo(e.as3D(n,a,r),[l,o,0],[p,u,r]))})}async function Br(e,t){let{fetch:n}=tt.getEnv(),a=await n(e,t);if(!(a.status<400))throw new Error(`failed to fetch: (${a.status}) ${a.statusText}, from url: ${a.url}`);return a}async function Qfe(e){let t=await Br(e),n=await t.blob();if(!n.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${n.type}, for url: ${t.url}`);return Wk(n)}async function Uk(e){return(await Br(e)).json()}async function ege(e){return new Float32Array(await(await Br(e)).arrayBuffer())}function iD(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToVideo - expected buf to be of type: Blob"));let a=tt.getEnv().createVideoElement();a.oncanplay=()=>t(a),a.onerror=n,a.playsInline=!0,a.muted=!0,a.src=URL.createObjectURL(e),a.play()})}async function tge(e){let t=await Br(e),n=await t.blob();if(!n.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${n.type}, for url: ${t.url}`);return iD(n)}function ug(e,t){let n=`${t}-weights_manifest.json`;if(!e)return{modelBaseUri:"",manifestUri:n};if(e==="/")return{modelBaseUri:"/",manifestUri:`/${n}`};let a=e.startsWith("http://")?"http://":e.startsWith("https://")?"https://":"";e=e.replace(a,"");let r=e.split("/").filter(o=>o),s=e.endsWith(".json")?r[r.length-1]:n,i=a+(e.endsWith(".json")?r.slice(0,r.length-1):r).join("/");return i=e.startsWith("/")?`/${i}`:i,{modelBaseUri:i,manifestUri:i==="/"?`/${s}`:`${i}/${s}`}}async function Gk(e,t){let{manifestUri:n,modelBaseUri:a}=ug(e,t),r=await Uk(n);return qt.loadWeights(r,a)}function nge(e,t,n=!1){let{width:a,height:r}=n?hl(t):t;return e.width=a,e.height=r,{width:a,height:r}}var un=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:n,objProp:a}=this.traversePropertyPath(t);return n[a]}reassignParamFromPath(t,n){let{obj:a,objProp:r}=this.traversePropertyPath(t);a[r].dispose(),a[r]=n}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof cs)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof cs))}variable(){this.getFrozenParams().forEach(({path:t,tensor:n})=>{this.reassignParamFromPath(t,n.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:n})=>{let a=bn(n.dataSync());n.dispose(),this.reassignParamFromPath(t,a)})}dispose(t=!0){this.getParamList().forEach(n=>{if(t&&n.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${n.path}`);n.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,n)=>t.concat(n)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let n=await Gk(t,this.getDefaultModelName());this.loadFromWeightMap(n)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:n}=tt.getEnv(),{manifestUri:a,modelBaseUri:r}=ug(t,this.getDefaultModelName()),s=u=>Promise.all(u.map(p=>n(p).then(d=>typeof d=="string"?Buffer.from(d):d.buffer))),i=qt.weightsLoaderFactory(s),o=JSON.parse((await n(a)).toString()),l=await i(o,r);this.loadFromWeightMap(l)}loadFromWeightMap(t){let{paramMappings:n,params:a}=this.extractParamsFromWeightMap(t);this._paramMappings=n,this._params=a}extractWeights(t){let{paramMappings:n,params:a}=this.extractParams(t);this._paramMappings=n,this._params=a}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let n=t.split("/").reduce((s,i)=>{if(!s.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${t}`);return{obj:s.nextObj,objProp:i,nextObj:s.nextObj[i]}},{nextObj:this.params}),{obj:a,objProp:r}=n;if(!a||!r||!(a[r]instanceof Ce))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:a,objProp:r}}};function Hn(e,t,n){return O(()=>{let a=$s(e,t.depthwise_filter,t.pointwise_filter,n,"same");return a=X(a,t.bias),a})}function pg(e,t,n=!1){return O(()=>{let a=Ke(n?X($t(e,t.conv0.filters,[2,2],"same"),t.conv0.bias):Hn(e,t.conv0,[2,2])),r=Hn(a,t.conv1,[1,1]),s=Ke(X(a,r)),i=Hn(s,t.conv2,[1,1]);return Ke(X(a,X(r,i)))})}function Gd(e,t,n=!1,a=!0){return O(()=>{let r=Ke(n?X($t(e,t.conv0.filters,a?[2,2]:[1,1],"same"),t.conv0.bias):Hn(e,t.conv0,a?[2,2]:[1,1])),s=Hn(r,t.conv1,[1,1]),i=Ke(X(r,s)),o=Hn(i,t.conv2,[1,1]),l=Ke(X(r,X(s,o))),u=Hn(l,t.conv3,[1,1]);return Ke(X(r,X(s,X(o,u))))})}function fl(e,t,n="same",a=!1){return O(()=>{let r=X($t(e,t.filters,[1,1],n),t.bias);return a?Ke(r):r})}function En(e,t){Object.keys(e).forEach(n=>{t.some(a=>a.originalPath===n)||e[n].dispose()})}function Mp(e,t){return(n,a,r,s)=>{let i=Da(e(n*a*r*r),[r,r,n,a]),o=qe(e(a));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:i,bias:o}}}function cg(e,t){return(n,a,r)=>{let s=Aa(e(n*a),[n,a]),i=qe(e(a));return t.push({paramPath:`${r}/weights`},{paramPath:`${r}/bias`}),{weights:s,bias:i}}}var Hd=class{constructor(t,n,a){this.depthwise_filter=t;this.pointwise_filter=n;this.bias=a}};function Op(e,t){return(n,a,r)=>{let s=Da(e(9*n),[3,3,n,1]),i=Da(e(n*a),[1,1,n,a]),o=qe(e(a));return t.push({paramPath:`${r}/depthwise_filter`},{paramPath:`${r}/pointwise_filter`},{paramPath:`${r}/bias`}),new Hd(s,i,o)}}function Pp(e){return t=>{let n=e(`${t}/depthwise_filter`,4),a=e(`${t}/pointwise_filter`,4),r=e(`${t}/bias`,1);return new Hd(n,a,r)}}function ia(e,t){return(n,a,r)=>{let s=e[n];if(!al(s,a))throw new Error(`expected weightMap[${n}] to be a Tensor${a}D, instead have ${s}`);return t.push({originalPath:n,paramPath:r||n}),s}}function _n(e){let t=e;function n(r){let s=t.slice(0,r);return t=t.slice(r),s}function a(){return t}return{extractWeights:n,getRemainingWeights:a}}function dg(e,t){let n=Mp(e,t),a=Op(e,t);function r(i,o,l,u=!1){let p=u?n(i,o,3,`${l}/conv0`):a(i,o,`${l}/conv0`),d=a(o,o,`${l}/conv1`),c=a(o,o,`${l}/conv2`);return{conv0:p,conv1:d,conv2:c}}function s(i,o,l,u=!1){let{conv0:p,conv1:d,conv2:c}=r(i,o,l,u),h=a(o,o,`${l}/conv3`);return{conv0:p,conv1:d,conv2:c,conv3:h}}return{extractDenseBlock3Params:r,extractDenseBlock4Params:s}}function oD(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),{extractDenseBlock4Params:r}=dg(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2"),l=r(128,256,"dense3");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o,dense3:l}}}function hg(e){return t=>{let n=e(`${t}/filters`,4),a=e(`${t}/bias`,1);return{filters:n,bias:a}}}function mg(e,t){let n=ia(e,t),a=hg(n),r=Pp(n);function s(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`);return{conv0:u,conv1:p,conv2:d}}function i(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`),c=r(`${o}/conv3`);return{conv0:u,conv1:p,conv2:d,conv3:c}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:i}}function lD(e){let t=[],{extractDenseBlock4Params:n}=mg(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2"),dense3:n("dense3")};return En(e,t),{params:a,paramMappings:t}}var Lp=class extends un{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceFeatureExtractor - load model before inference");return O(()=>{let a=re(t.toBatchTensor(112,!0),"float32"),s=Ya(a,[122.782,117.001,104.298]).div(255),i=Gd(s,n.dense0,!0);return i=Gd(i,n.dense1),i=Gd(i,n.dense2),i=Gd(i,n.dense3),i=xa(i,[7,7],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return lD(t)}extractParams(t){return oD(t)}};function qd(e,t){return O(()=>X($e(e,t.weights),t.bias))}function uD(e,t,n){let a=[],{extractWeights:r,getRemainingWeights:s}=_n(e),o=cg(r,a)(t,n,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:a,params:{fc:o}}}function pD(e){let t=[],n=ia(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:a("fc")};return En(e,t),{params:r,paramMappings:t}}function fg(e){let t={},n={};return Object.keys(e).forEach(a=>{let r=a.startsWith("fc")?n:t;r[a]=e[a]}),{featureExtractorMap:t,classifierMap:n}}var zp=class extends un{constructor(t,n){super(t),this._faceFeatureExtractor=n}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:n}=this;if(!n)throw new Error(`${this._name} - load model before inference`);return O(()=>{let a=t instanceof xr?this.faceFeatureExtractor.forwardInput(t):t;return qd(a.as2D(a.shape[0],-1),n.fc)})}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:n,paramMappings:a}=this.extractClassifierParams(t);this._params=n,this._paramMappings=a}extractClassifierParams(t){return uD(t,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(t){let{featureExtractorMap:n,classifierMap:a}=fg(t);return this.faceFeatureExtractor.loadFromWeightMap(n),pD(a)}extractParams(t){let n=this.getClassifierChannelsIn(),a=this.getClassifierChannelsOut(),r=a*n+a,s=t.slice(0,t.length-r),i=t.slice(t.length-r);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(i)}};var Hk=["neutral","happy","sad","angry","fearful","disgusted","surprised"],Vr=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);Hk.forEach((n,a)=>{this[n]=t[a]})}asSortedArray(){return Hk.map(t=>({expression:t,probability:this[t]})).sort((t,n)=>n.probability-t.probability)}};var jd=class extends zp{constructor(t=new Lp){super("FaceExpressionNet",t)}forwardInput(t){return O(()=>ja(this.runNet(t)))}async forward(t){return this.forwardInput(await vt(t))}async predictExpressions(t){let n=await vt(t),a=await this.forwardInput(n),r=await Promise.all(dt(a).map(async i=>{let o=i.dataSync();return i.dispose(),o}));a.dispose();let s=r.map(i=>new Vr(i));return n.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function qk(e){return e.expressions instanceof Vr}function gg(e,t){return{...e,...{expressions:t}}}function age(e,t,n=.1,a){(Array.isArray(t)?t:[t]).forEach(s=>{let i=s instanceof Vr?s:qk(s)?s.expressions:void 0;if(!i)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let l=i.asSortedArray().filter(d=>d.probability>n),u=yr(s)?s.detection.box.bottomLeft:a||new Ue(0,0);new dl(l.map(d=>`${d.expression} (${rl(d.probability)})`),u).draw(e)})}function gl(e){return yr(e)&&e.landmarks instanceof sa&&e.unshiftedLandmarks instanceof sa&&e.alignedRect instanceof Tt}function rge(e){let t=l=>l*180/Math.PI,n=(l,u)=>Math.sqrt((l.x-u.x)**2+(l.y-u.y)**2),a={roll:void 0,pitch:void 0,yaw:void 0},r=(l,u,p)=>{let d=Math.floor(l.x-u.x),c=Math.floor(u.x-p.x);return d-c},s=(l,u)=>{let p=Math.hypot(u.x-l.x,u.y-l.y),d=u.y-l.y,c=Math.asin(d/p),h=t(c),m=Math.floor(90-h),f=u.x-l.x<0?-1:1;return m*f},i=(l,u,p)=>{let d=n(l,p),c=new Ue((l.x+p.x)/2,(l.y+p.y)/2),h=n(u,c),m=Math.atan(h/d),f=Math.floor(t(m)),g=c.y-u.y<0?-1:1;return f*g};if(!e||!e.positions||e.positions.length!==68)return a;let o=e.positions;return a.roll=s(o[27],o[66]),a.pitch=i(o[14],o[30],o[2]),a.yaw=r(o[14],o[33],o[2]),a}function Wp(e,t){let{box:n}=e.detection,a=t.shiftBy(n.x,n.y),r=a.align(),{imageDims:s}=e.detection,i=new Tt(e.detection.score,r.rescale(s.reverse()),s),o=rge(t);return{...e,...{landmarks:a,unshiftedLandmarks:t,alignedRect:i,angle:o}}}var bg=class{constructor(t={}){let{drawLines:n=!0,drawPoints:a=!0,lineWidth:r,lineColor:s,pointSize:i,pointColor:o}=t;this.drawLines=n,this.drawPoints=a,this.lineWidth=r||1,this.pointSize=i||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=o||"rgba(255, 0, 255, 1)"}},yg=class{constructor(t,n={}){this.faceLandmarks=t,this.options=new bg(n)}draw(t){let n=Gn(t),{drawLines:a,drawPoints:r,lineWidth:s,lineColor:i,pointSize:o,pointColor:l}=this.options;if(a&&this.faceLandmarks instanceof ul&&(n.strokeStyle=i,n.lineWidth=s,zr(n,this.faceLandmarks.getJawOutline()),zr(n,this.faceLandmarks.getLeftEyeBrow()),zr(n,this.faceLandmarks.getRightEyeBrow()),zr(n,this.faceLandmarks.getNose()),zr(n,this.faceLandmarks.getLeftEye(),!0),zr(n,this.faceLandmarks.getRightEye(),!0),zr(n,this.faceLandmarks.getMouth(),!0)),r){n.strokeStyle=l,n.fillStyle=l;let u=p=>{n.beginPath(),n.arc(p.x,p.y,o,0,2*Math.PI),n.fill()};this.faceLandmarks.positions.forEach(u)}}};function sge(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof sa?a:gl(a)?a.landmarks:void 0;if(!r)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new yg(r).draw(e)})}var cD="1.7.13";function lge(e,t){let n=Mp(e,t),a=Op(e,t);function r(i,o,l){let u=a(i,o,`${l}/separable_conv0`),p=a(o,o,`${l}/separable_conv1`),d=n(i,o,1,`${l}/expansion_conv`);return{separable_conv0:u,separable_conv1:p,expansion_conv:d}}function s(i,o){let l=a(i,i,`${o}/separable_conv0`),u=a(i,i,`${o}/separable_conv1`),p=a(i,i,`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:n,extractSeparableConvParams:a,extractReductionBlockParams:r,extractMainBlockParams:s}}function dD(e,t){let n=[],{extractWeights:a,getRemainingWeights:r}=_n(e),{extractConvParams:s,extractSeparableConvParams:i,extractReductionBlockParams:o,extractMainBlockParams:l}=lge(a,n),u=s(3,32,3,"entry_flow/conv_in"),p=o(32,64,"entry_flow/reduction_block_0"),d=o(64,128,"entry_flow/reduction_block_1"),c={conv_in:u,reduction_block_0:p,reduction_block_1:d},h={};br(t,0,1).forEach(b=>{h[`main_block_${b}`]=l(128,`middle_flow/main_block_${b}`)});let m=o(128,256,"exit_flow/reduction_block"),f=i(256,512,"exit_flow/separable_conv"),g={reduction_block:m,separable_conv:f};if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:n,params:{entry_flow:c,middle_flow:h,exit_flow:g}}}function uge(e,t){let n=ia(e,t),a=hg(n),r=Pp(n);function s(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=a(`${o}/expansion_conv`);return{separable_conv0:l,separable_conv1:u,expansion_conv:p}}function i(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=r(`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}}function hD(e,t){let n=[],{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}=uge(e,n),o=a("entry_flow/conv_in"),l=s("entry_flow/reduction_block_0"),u=s("entry_flow/reduction_block_1"),p={conv_in:o,reduction_block_0:l,reduction_block_1:u},d={};br(t,0,1).forEach(f=>{d[`main_block_${f}`]=i(`middle_flow/main_block_${f}`)});let c=s("exit_flow/reduction_block"),h=r("exit_flow/separable_conv"),m={reduction_block:c,separable_conv:h};return En(e,n),{params:{entry_flow:p,middle_flow:d,exit_flow:m},paramMappings:n}}function mD(e,t,n){return X($t(e,t.filters,n,"same"),t.bias)}function Kk(e,t,n=!0){let a=n?Ke(e):e;return a=Hn(a,t.separable_conv0,[1,1]),a=Hn(Ke(a),t.separable_conv1,[1,1]),a=Dt(a,[3,3],[2,2],"same"),a=X(a,mD(e,t.expansion_conv,[2,2])),a}function pge(e,t){let n=Hn(Ke(e),t.separable_conv0,[1,1]);return n=Hn(Ke(n),t.separable_conv1,[1,1]),n=Hn(Ke(n),t.separable_conv2,[1,1]),n=X(n,e),n}var xg=class extends un{constructor(t){super("TinyXception"),this._numMainBlocks=t}forwardInput(t){let{params:n}=this;if(!n)throw new Error("TinyXception - load model before inference");return O(()=>{let a=re(t.toBatchTensor(112,!0),"float32"),s=Ya(a,[122.782,117.001,104.298]).div(255),i=Ke(mD(s,n.entry_flow.conv_in,[2,2]));return i=Kk(i,n.entry_flow.reduction_block_0,!1),i=Kk(i,n.entry_flow.reduction_block_1),br(this._numMainBlocks,0,1).forEach(o=>{i=pge(i,n.middle_flow[`main_block_${o}`])}),i=Kk(i,n.exit_flow.reduction_block),i=Ke(Hn(i,n.exit_flow.separable_conv,[1,1])),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(t){return hD(t,this._numMainBlocks)}extractParams(t){return dD(t,this._numMainBlocks)}};function fD(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),r=cg(n,t),s=r(512,1,"fc/age"),i=r(512,2,"fc/gender");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{fc:{age:s,gender:i}}}}function gD(e){let t=[],n=ia(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:{age:a("fc/age"),gender:a("fc/gender")}};return En(e,t),{params:r,paramMappings:t}}var vg=(n=>(n.FEMALE="female",n.MALE="male",n))(vg||{});var Kd=class extends un{constructor(t=new xg(2)){super("AgeGenderNet"),this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:n}=this;if(!n)throw new Error(`${this._name} - load model before inference`);return O(()=>{let a=t instanceof xr?this.faceFeatureExtractor.forwardInput(t):t,r=xa(a,[7,7],[2,2],"valid").as2D(a.shape[0],-1),s=qd(r,n.fc.age).as1D(),i=qd(r,n.fc.gender);return{age:s,gender:i}})}forwardInput(t){return O(()=>{let{age:n,gender:a}=this.runNet(t);return{age:n,gender:ja(a)}})}async forward(t){return this.forwardInput(await vt(t))}async predictAgeAndGender(t){let n=await vt(t),a=await this.forwardInput(n),r=dt(a.age),s=dt(a.gender),i=r.map((l,u)=>({ageTensor:l,genderTensor:s[u]})),o=await Promise.all(i.map(async({ageTensor:l,genderTensor:u})=>{let p=l.dataSync()[0],d=u.dataSync()[0],c=d>.5,h=c?"male":"female",m=c?d:1-d;return l.dispose(),u.dispose(),{age:p,gender:h,genderProbability:m}}));return a.age.dispose(),a.gender.dispose(),n.isBatchInput?o:o[0]}getDefaultModelName(){return"age_gender_model"}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:n,paramMappings:a}=this.extractClassifierParams(t);this._params=n,this._paramMappings=a}extractClassifierParams(t){return fD(t)}extractParamsFromWeightMap(t){let{featureExtractorMap:n,classifierMap:a}=fg(t);return this.faceFeatureExtractor.loadFromWeightMap(n),gD(a)}extractParams(t){let a=t.slice(0,t.length-1539),r=t.slice(t.length-1539);return this.faceFeatureExtractor.extractWeights(a),this.extractClassifierParams(r)}};var Bp=class extends zp{postProcess(t,n,a){let r=a.map(({width:i,height:o})=>{let l=n/Math.max(o,i);return{width:i*l,height:o*l}}),s=r.length;return O(()=>{let i=(d,c)=>Ft([yn([68],d,"float32"),yn([68],c,"float32")],1).as2D(1,136).as1D(),o=(d,c)=>{let{width:h,height:m}=r[d];return c(h,m)?Math.abs(h-m)/2:0},l=d=>o(d,(c,h)=>co(d,(c,h)=>hi(l(c),u(c))))).div(Ft(Array.from(Array(s),(d,c)=>i(r[c].width,r[c].height))))})}forwardInput(t){return O(()=>{let n=this.runNet(t);return this.postProcess(n,t.inputSize,t.inputDimensions.map(([a,r])=>({height:a,width:r})))})}async forward(t){return this.forwardInput(await vt(t))}async detectLandmarks(t){let n=await vt(t),a=O(()=>dt(this.forwardInput(n))),r=await Promise.all(a.map(async(s,i)=>{let o=Array.from(s.dataSync()),l=o.filter((p,d)=>rg(d)),u=o.filter((p,d)=>!rg(d));return new ul(Array(68).fill(0).map((p,d)=>new Ue(l[d],u[d])),{height:n.getInputHeight(i),width:n.getInputWidth(i)})}));return a.forEach(s=>s.dispose()),n.isBatchInput?r:r[0]}getClassifierChannelsOut(){return 136}};var bl=class extends Bp{constructor(t=new Lp){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};function bD(e){let t=[],{extractDenseBlock3Params:n}=mg(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2")};return En(e,t),{params:a,paramMappings:t}}function yD(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),{extractDenseBlock3Params:r}=dg(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o}}}var wg=class extends un{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("TinyFaceFeatureExtractor - load model before inference");return O(()=>{let a=re(t.toBatchTensor(112,!0),"float32"),s=Ya(a,[122.782,117.001,104.298]).div(255),i=pg(s,n.dense0,!0);return i=pg(i,n.dense1),i=pg(i,n.dense2),i=xa(i,[14,14],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return bD(t)}extractParams(t){return yD(t)}};var Xd=class extends Bp{constructor(t=new wg){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var Xk=class extends bl{};function xD(e,t){return X(z(e,t.weights),t.biases)}function Yk(e,t,n,a,r="same"){let{filters:s,bias:i}=t.conv,o=$t(e,s,n,r);return o=X(o,i),o=xD(o,t.scale),a?Ke(o):o}function vD(e,t){return Yk(e,t,[1,1],!0)}function Zk(e,t){return Yk(e,t,[1,1],!1)}function kg(e,t){return Yk(e,t,[2,2],!0,"valid")}function cge(e,t){function n(o,l,u){let p=e(o),d=p.length/(l*u*u);if(Sk(d))throw new Error(`depth has to be an integer: ${d}, weights.length: ${p.length}, numFilters: ${l}, filterSize: ${u}`);return O(()=>De(Da(p,[l,d,u,u]),[2,3,1,0]))}function a(o,l,u,p){let d=n(o,l,u),c=qe(e(l));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:d,bias:c}}function r(o,l){let u=qe(e(o)),p=qe(e(o));return t.push({paramPath:`${l}/weights`},{paramPath:`${l}/biases`}),{weights:u,biases:p}}function s(o,l,u,p){let d=a(o,l,u,`${p}/conv`),c=r(l,`${p}/scale`);return{conv:d,scale:c}}function i(o,l,u,p,d=!1){let c=s((d?.5:1)*o,l,u,`${p}/conv1`),h=s(o,l,u,`${p}/conv2`);return{conv1:c,conv2:h}}return{extractConvLayerParams:s,extractResidualLayerParams:i}}function wD(e){let{extractWeights:t,getRemainingWeights:n}=_n(e),a=[],{extractConvLayerParams:r,extractResidualLayerParams:s}=cge(t,a),i=r(4704,32,7,"conv32_down"),o=s(9216,32,3,"conv32_1"),l=s(9216,32,3,"conv32_2"),u=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),d=s(36864,64,3,"conv64_1"),c=s(36864,64,3,"conv64_2"),h=s(36864,64,3,"conv64_3"),m=s(147456,128,3,"conv128_down",!0),f=s(147456,128,3,"conv128_1"),g=s(147456,128,3,"conv128_2"),b=s(589824,256,3,"conv256_down",!0),y=s(589824,256,3,"conv256_1"),x=s(589824,256,3,"conv256_2"),v=s(589824,256,3,"conv256_down_out"),I=O(()=>De(Aa(t(256*128),[128,256]),[1,0]));if(a.push({paramPath:"fc"}),n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{params:{conv32_down:i,conv32_1:o,conv32_2:l,conv32_3:u,conv64_down:p,conv64_1:d,conv64_2:c,conv64_3:h,conv128_down:m,conv128_1:f,conv128_2:g,conv256_down:b,conv256_1:y,conv256_2:x,conv256_down_out:v,fc:I},paramMappings:a}}function dge(e,t){let n=ia(e,t);function a(i){let o=n(`${i}/scale/weights`,1),l=n(`${i}/scale/biases`,1);return{weights:o,biases:l}}function r(i){let o=n(`${i}/conv/filters`,4),l=n(`${i}/conv/bias`,1),u=a(i);return{conv:{filters:o,bias:l},scale:u}}function s(i){return{conv1:r(`${i}/conv1`),conv2:r(`${i}/conv2`)}}return{extractConvLayerParams:r,extractResidualLayerParams:s}}function kD(e){let t=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=dge(e,t),r=n("conv32_down"),s=a("conv32_1"),i=a("conv32_2"),o=a("conv32_3"),l=a("conv64_down"),u=a("conv64_1"),p=a("conv64_2"),d=a("conv64_3"),c=a("conv128_down"),h=a("conv128_1"),m=a("conv128_2"),f=a("conv256_down"),g=a("conv256_1"),b=a("conv256_2"),y=a("conv256_down_out"),{fc:x}=e;if(t.push({originalPath:"fc",paramPath:"fc"}),!Ik(x))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${x}`);let v={conv32_down:r,conv32_1:s,conv32_2:i,conv32_3:o,conv64_down:l,conv64_1:u,conv64_2:p,conv64_3:d,conv128_down:c,conv128_1:h,conv128_2:m,conv256_down:f,conv256_1:g,conv256_2:b,conv256_down_out:y,fc:x};return En(e,t),{params:v,paramMappings:t}}function Za(e,t){let n=vD(e,t.conv1);return n=Zk(n,t.conv2),n=X(n,e),n=Ke(n),n}function Yd(e,t){let n=kg(e,t.conv1);n=Zk(n,t.conv2);let a=xa(e,2,2,"valid"),r=It(a.shape),s=a.shape[3]!==n.shape[3];if(a.shape[1]!==n.shape[1]||a.shape[2]!==n.shape[2]){let o=[...n.shape];o[1]=1;let l=It(o);n=et([n,l],1);let u=[...n.shape];u[2]=1;let p=It(u);n=et([n,p],2)}return a=s?et([a,r],3):a,n=X(a,n),n=Ke(n),n}var yl=class extends un{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceRecognitionNet - load model before inference");return O(()=>{let a=re(t.toBatchTensor(150,!0),"float32"),s=Ya(a,[122.782,117.001,104.298]).div(255),i=kg(s,n.conv32_down);i=Dt(i,3,2,"valid"),i=Za(i,n.conv32_1),i=Za(i,n.conv32_2),i=Za(i,n.conv32_3),i=Yd(i,n.conv64_down),i=Za(i,n.conv64_1),i=Za(i,n.conv64_2),i=Za(i,n.conv64_3),i=Yd(i,n.conv128_down),i=Za(i,n.conv128_1),i=Za(i,n.conv128_2),i=Yd(i,n.conv256_down),i=Za(i,n.conv256_1),i=Za(i,n.conv256_2),i=Yd(i,n.conv256_down_out);let o=i.mean([1,2]);return $e(o,n.fc)})}async forward(t){return this.forwardInput(await vt(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(i=>i<=0))return new Float32Array(128);let n=await vt(t),a=O(()=>dt(this.forwardInput(n))),r=await Promise.all(a.map(i=>i.data()));return a.forEach(i=>i.dispose()),n.isBatchInput?r:r[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return kD(t)}extractParams(t){return wD(t)}};function hge(e){let t=new yl;return t.extractWeights(e),t}function Ig(e,t){return{...e,...{descriptor:t}}}function mge(e){return typeof e.age=="number"}function Sg(e,t){return{...e,...{age:t}}}function fge(e){return(e.gender==="male"||e.gender==="female")&&_p(e.genderProbability)}function Ng(e,t,n){return{...e,...{gender:t,genderProbability:n}}}function gge(e,t){function n(l,u){let p=Da(e(9*l),[3,3,l,1]),d=qe(e(l)),c=qe(e(l)),h=qe(e(l)),m=qe(e(l));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/batch_norm_scale`},{paramPath:`${u}/batch_norm_offset`},{paramPath:`${u}/batch_norm_mean`},{paramPath:`${u}/batch_norm_variance`}),{filters:p,batch_norm_scale:d,batch_norm_offset:c,batch_norm_mean:h,batch_norm_variance:m}}function a(l,u,p,d,c){let h=Da(e(l*u*p*p),[p,p,l,u]),m=qe(e(u));return t.push({paramPath:`${d}/filters`},{paramPath:`${d}/${c?"batch_norm_offset":"bias"}`}),{filters:h,bias:m}}function r(l,u,p,d){let{filters:c,bias:h}=a(l,u,p,d,!0);return{filters:c,batch_norm_offset:h}}function s(l,u,p){let d=n(l,`${p}/depthwise_conv`),c=r(l,u,1,`${p}/pointwise_conv`);return{depthwise_conv:d,pointwise_conv:c}}function i(){let l=r(3,32,3,"mobilenetv1/conv_0"),u=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),d=s(128,128,"mobilenetv1/conv_3"),c=s(128,256,"mobilenetv1/conv_4"),h=s(256,256,"mobilenetv1/conv_5"),m=s(256,512,"mobilenetv1/conv_6"),f=s(512,512,"mobilenetv1/conv_7"),g=s(512,512,"mobilenetv1/conv_8"),b=s(512,512,"mobilenetv1/conv_9"),y=s(512,512,"mobilenetv1/conv_10"),x=s(512,512,"mobilenetv1/conv_11"),v=s(512,1024,"mobilenetv1/conv_12"),I=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,conv_8:g,conv_9:b,conv_10:y,conv_11:x,conv_12:v,conv_13:I}}function o(){let l=r(1024,256,1,"prediction_layer/conv_0"),u=r(256,512,3,"prediction_layer/conv_1"),p=r(512,128,1,"prediction_layer/conv_2"),d=r(128,256,3,"prediction_layer/conv_3"),c=r(256,128,1,"prediction_layer/conv_4"),h=r(128,256,3,"prediction_layer/conv_5"),m=r(256,64,1,"prediction_layer/conv_6"),f=r(64,128,3,"prediction_layer/conv_7"),g=a(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),b=a(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),y=a(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),x=a(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),v=a(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),I=a(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),N=a(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),C=a(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),_=a(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),F=a(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),D=a(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),$=a(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,box_predictor_0:{box_encoding_predictor:g,class_predictor:b},box_predictor_1:{box_encoding_predictor:y,class_predictor:x},box_predictor_2:{box_encoding_predictor:v,class_predictor:I},box_predictor_3:{box_encoding_predictor:N,class_predictor:C},box_predictor_4:{box_encoding_predictor:_,class_predictor:F},box_predictor_5:{box_encoding_predictor:D,class_predictor:$}}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:o}}function ID(e){let t=[],{extractWeights:n,getRemainingWeights:a}=_n(e),{extractMobilenetV1Params:r,extractPredictionLayerParams:s}=gge(n,t),i=r(),o=s(),u={extra_dim:Nd(n(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:{mobilenetv1:i,prediction_layer:o,output_layer:u},paramMappings:t}}function bge(e,t){let n=ia(e,t);function a(u,p,d){let c=n(`${u}/Conv2d_${p}_pointwise/weights`,4,`${d}/filters`),h=n(`${u}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${d}/batch_norm_offset`);return{filters:c,batch_norm_offset:h}}function r(u){let p=`mobilenetv1/conv_${u}`,d=`MobilenetV1/Conv2d_${u}_depthwise`,c=`${p}/depthwise_conv`,h=`${p}/pointwise_conv`,m=n(`${d}/depthwise_weights`,4,`${c}/filters`),f=n(`${d}/BatchNorm/gamma`,1,`${c}/batch_norm_scale`),g=n(`${d}/BatchNorm/beta`,1,`${c}/batch_norm_offset`),b=n(`${d}/BatchNorm/moving_mean`,1,`${c}/batch_norm_mean`),y=n(`${d}/BatchNorm/moving_variance`,1,`${c}/batch_norm_variance`);return{depthwise_conv:{filters:m,batch_norm_scale:f,batch_norm_offset:g,batch_norm_mean:b,batch_norm_variance:y},pointwise_conv:a("MobilenetV1",u,h)}}function s(){return{conv_0:a("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:r(1),conv_2:r(2),conv_3:r(3),conv_4:r(4),conv_5:r(5),conv_6:r(6),conv_7:r(7),conv_8:r(8),conv_9:r(9),conv_10:r(10),conv_11:r(11),conv_12:r(12),conv_13:r(13)}}function i(u,p){let d=n(`${u}/weights`,4,`${p}/filters`),c=n(`${u}/biases`,1,`${p}/bias`);return{filters:d,bias:c}}function o(u){let p=i(`Prediction/BoxPredictor_${u}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${u}/box_encoding_predictor`),d=i(`Prediction/BoxPredictor_${u}/ClassPredictor`,`prediction_layer/box_predictor_${u}/class_predictor`);return{box_encoding_predictor:p,class_predictor:d}}function l(){return{conv_0:a("Prediction",0,"prediction_layer/conv_0"),conv_1:a("Prediction",1,"prediction_layer/conv_1"),conv_2:a("Prediction",2,"prediction_layer/conv_2"),conv_3:a("Prediction",3,"prediction_layer/conv_3"),conv_4:a("Prediction",4,"prediction_layer/conv_4"),conv_5:a("Prediction",5,"prediction_layer/conv_5"),conv_6:a("Prediction",6,"prediction_layer/conv_6"),conv_7:a("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:o(0),box_predictor_1:o(1),box_predictor_2:o(2),box_predictor_3:o(3),box_predictor_4:o(4),box_predictor_5:o(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:l}}function SD(e){let t=[],{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=bge(e,t),r=e["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!Wr(r))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${r}`);let s={mobilenetv1:n(),prediction_layer:a(),output_layer:{extra_dim:r}};return En(e,t),{params:s,paramMappings:t}}function Oa(e,t,n){return O(()=>{let a=$t(e,t.filters,n,"same");return a=X(a,t.batch_norm_offset),an(a,0,6)})}var yge=.0010000000474974513;function xge(e,t,n){return O(()=>{let a=_s(e,t.filters,n,"same");return a=Es(a,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,yge),an(a,0,6)})}function vge(e){return[2,4,6,12].some(t=>t===e)?[2,2]:[1,1]}function ND(e,t){return O(()=>{let n,a=Oa(e,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,i)=>{let o=i+1,l=vge(o);a=xge(a,s.depthwise_conv,l),a=Oa(a,s.pointwise_conv,[1,1]),o===11&&(n=a)}),n===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:a,conv11:n}})}function wge(e,t,n){let a=e.arraySync(),r=Math.min(a[t][0],a[t][2]),s=Math.min(a[t][1],a[t][3]),i=Math.max(a[t][0],a[t][2]),o=Math.max(a[t][1],a[t][3]),l=Math.min(a[n][0],a[n][2]),u=Math.min(a[n][1],a[n][3]),p=Math.max(a[n][0],a[n][2]),d=Math.max(a[n][1],a[n][3]),c=(i-r)*(o-s),h=(p-l)*(d-u);if(c<=0||h<=0)return 0;let m=Math.max(r,l),f=Math.max(s,u),g=Math.min(i,p),b=Math.min(o,d),y=Math.max(g-m,0)*Math.max(b-f,0);return y/(c+h-y)}function TD(e,t,n,a,r){let s=e.shape[0],i=Math.min(n,s),o=t.map((p,d)=>({score:p,boxIndex:d})).filter(p=>p.score>r).sort((p,d)=>d.score-p.score),l=p=>p<=a?1:0,u=[];return o.forEach(p=>{if(u.length>=i)return;let d=p.score;for(let c=u.length-1;c>=0;--c){let h=wge(e,p.boxIndex,u[c]);if(h!==0&&(p.score*=l(h),p.score<=r))break}d===p.score&&u.push(p.boxIndex)}),u}function kge(e){let t=dt(De(e,[1,0])),n=[pe(t[2],t[0]),pe(t[3],t[1])],a=[X(t[0],he(n[0],2)),X(t[1],he(n[1],2))];return{sizes:n,centers:a}}function Ige(e,t){let{sizes:n,centers:a}=kge(e),r=dt(De(t,[1,0])),s=he(z(mn(he(r[2],5)),n[0]),2),i=X(z(he(r[0],10),n[0]),a[0]),o=he(z(mn(he(r[3],5)),n[1]),2),l=X(z(he(r[1],10),n[1]),a[1]);return De(Ft([pe(i,s),pe(l,o),X(i,s),X(l,o)]),[1,0])}function CD(e,t,n){return O(()=>{let a=e.shape[0],r=Ige(W(Mn(n.extra_dim,[a,1,1]),[-1,4]),W(e,[-1,4]));r=W(r,[a,r.shape[0]/a,4]);let s=ma(Ve(t,[0,0,1],[-1,-1,-1])),i=Ve(s,[0,0,0],[-1,-1,1]);i=W(i,[a,i.shape[1]]);let o=dt(r),l=dt(i);return{boxes:o,scores:l}})}function xl(e,t){return O(()=>{let n=e.shape[0],a=W(fl(e,t.box_encoding_predictor),[n,-1,1,4]),r=W(fl(e,t.class_predictor),[n,-1,3]);return{boxPredictionEncoding:a,classPrediction:r}})}function ED(e,t,n){return O(()=>{let a=Oa(e,n.conv_0,[1,1]),r=Oa(a,n.conv_1,[2,2]),s=Oa(r,n.conv_2,[1,1]),i=Oa(s,n.conv_3,[2,2]),o=Oa(i,n.conv_4,[1,1]),l=Oa(o,n.conv_5,[2,2]),u=Oa(l,n.conv_6,[1,1]),p=Oa(u,n.conv_7,[2,2]),d=xl(t,n.box_predictor_0),c=xl(e,n.box_predictor_1),h=xl(r,n.box_predictor_2),m=xl(i,n.box_predictor_3),f=xl(l,n.box_predictor_4),g=xl(p,n.box_predictor_5),b=et([d.boxPredictionEncoding,c.boxPredictionEncoding,h.boxPredictionEncoding,m.boxPredictionEncoding,f.boxPredictionEncoding,g.boxPredictionEncoding],1),y=et([d.classPrediction,c.classPrediction,h.classPrediction,m.classPrediction,f.classPrediction,g.classPrediction],1);return{boxPredictions:b,classPredictions:y}})}var Ia=class{constructor({minConfidence:t,maxResults:n}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=n||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var zs=class extends un{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("SsdMobilenetv1 - load model before inference");return O(()=>{let a=re(t.toBatchTensor(512,!1),"float32"),r=pe(he(a,127.5),1),s=ND(r,n.mobilenetv1),{boxPredictions:i,classPredictions:o}=ED(s.out,s.conv11,n.prediction_layer);return CD(i,o,n.output_layer)})}async forward(t){return this.forwardInput(await vt(t))}async locateFaces(t,n={}){let{maxResults:a,minConfidence:r}=new Ia(n),s=await vt(t),{boxes:i,scores:o}=this.forwardInput(s),l=i[0],u=o[0];for(let x=1;x{let[v,I]=[Math.max(0,b[x][0]),Math.min(1,b[x][2])].map(_=>_*g),[N,C]=[Math.max(0,b[x][1]),Math.min(1,b[x][3])].map(_=>_*f);return new Tt(p[x],new ll(N,v,C-N,I-v),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return l.dispose(),u.dispose(),y}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return SD(t)}extractParams(t){return ID(t)}};function _D(e){let t=new zs;return t.extractWeights(e),t}function Sge(e){return _D(e)}var Jk=class extends zs{};var AD=.4,FD=[new Ue(.738768,.874946),new Ue(2.42204,2.65704),new Ue(4.30971,7.04493),new Ue(10.246,4.59428),new Ue(12.6868,11.8741)],$D=[new Ue(1.603231,2.094468),new Ue(6.041143,7.080126),new Ue(2.882459,3.518061),new Ue(4.266906,5.178857),new Ue(9.041765,10.66308)],DD=[117.001,114.697,97.404],RD="tiny_yolov2_model",MD="tiny_yolov2_separable_conv_model";var Tg=e=>typeof e=="number";function Qk(e){if(!e)throw new Error(`invalid config: ${e}`);if(typeof e.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${e.withSeparableConvs}`);if(!Tg(e.iouThreshold)||e.iouThreshold<0||e.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${e.iouThreshold}`);if(!Array.isArray(e.classes)||!e.classes.length||!e.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(e.classes)}`);if(!Array.isArray(e.anchors)||!e.anchors.length||!e.anchors.map(t=>t||{}).every(t=>Tg(t.x)&&Tg(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(e.anchors)}`);if(e.meanRgb&&(!Array.isArray(e.meanRgb)||e.meanRgb.length!==3||!e.meanRgb.every(Tg)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(e.meanRgb)}`)}function Vp(e){return O(()=>{let t=z(e,ve(.10000000149011612));return X(Ke(pe(e,t)),t)})}function Ur(e,t){return O(()=>{let n=va(e,[[0,0],[1,1],[1,1],[0,0]]);return n=$t(n,t.conv.filters,[1,1],"valid"),n=pe(n,t.bn.sub),n=z(n,t.bn.truediv),n=X(n,t.conv.bias),Vp(n)})}function Gr(e,t){return O(()=>{let n=va(e,[[0,0],[1,1],[1,1],[0,0]]);return n=$s(n,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),n=X(n,t.bias),Vp(n)})}function Nge(e,t){let n=Mp(e,t);function a(i,o){let l=qe(e(i)),u=qe(e(i));return t.push({paramPath:`${o}/sub`},{paramPath:`${o}/truediv`}),{sub:l,truediv:u}}function r(i,o,l){let u=n(i,o,3,`${l}/conv`),p=a(o,`${l}/bn`);return{conv:u,bn:p}}let s=Op(e,t);return{extractConvParams:n,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}}function OD(e,t,n,a){let{extractWeights:r,getRemainingWeights:s}=_n(e),i=[],{extractConvParams:o,extractConvWithBatchNormParams:l,extractSeparableConvParams:u}=Nge(r,i),p;if(t.withSeparableConvs){let[d,c,h,m,f,g,b,y,x]=a,v=t.isFirstLayerConv2d?o(d,c,3,"conv0"):u(d,c,"conv0"),I=u(c,h,"conv1"),N=u(h,m,"conv2"),C=u(m,f,"conv3"),_=u(f,g,"conv4"),F=u(g,b,"conv5"),D=y?u(b,y,"conv6"):void 0,$=x?u(y,x,"conv7"):void 0,S=o(x||y||b,5*n,1,"conv8");p={conv0:v,conv1:I,conv2:N,conv3:C,conv4:_,conv5:F,conv6:D,conv7:$,conv8:S}}else{let[d,c,h,m,f,g,b,y,x]=a,v=l(d,c,"conv0"),I=l(c,h,"conv1"),N=l(h,m,"conv2"),C=l(m,f,"conv3"),_=l(f,g,"conv4"),F=l(g,b,"conv5"),D=l(b,y,"conv6"),$=l(y,x,"conv7"),S=o(x,5*n,1,"conv8");p={conv0:v,conv1:I,conv2:N,conv3:C,conv4:_,conv5:F,conv6:D,conv7:$,conv8:S}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:i}}function Tge(e,t){let n=ia(e,t);function a(o){let l=n(`${o}/sub`,1),u=n(`${o}/truediv`,1);return{sub:l,truediv:u}}function r(o){let l=n(`${o}/filters`,4),u=n(`${o}/bias`,1);return{filters:l,bias:u}}function s(o){let l=r(`${o}/conv`),u=a(`${o}/bn`);return{conv:l,bn:u}}let i=Pp(n);return{extractConvParams:r,extractConvWithBatchNormParams:s,extractSeparableConvParams:i}}function PD(e,t){let n=[],{extractConvParams:a,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}=Tge(e,n),i;if(t.withSeparableConvs){let o=t.filterSizes&&t.filterSizes.length||9;i={conv0:t.isFirstLayerConv2d?a("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:o>7?s("conv6"):void 0,conv7:o>8?s("conv7"):void 0,conv8:a("conv8")}}else i={conv0:r("conv0"),conv1:r("conv1"),conv2:r("conv2"),conv3:r("conv3"),conv4:r("conv4"),conv5:r("conv5"),conv6:r("conv6"),conv7:r("conv7"),conv8:a("conv8")};return En(e,n),{params:i,paramMappings:n}}var Ja=class{constructor({inputSize:t,scoreThreshold:n}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=n||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var Cg=class Cg extends un{constructor(t){super("TinyYolov2"),Qk(t),this._config=t}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(t,n){let a=Ur(t,n.conv0);return a=Dt(a,[2,2],[2,2],"same"),a=Ur(a,n.conv1),a=Dt(a,[2,2],[2,2],"same"),a=Ur(a,n.conv2),a=Dt(a,[2,2],[2,2],"same"),a=Ur(a,n.conv3),a=Dt(a,[2,2],[2,2],"same"),a=Ur(a,n.conv4),a=Dt(a,[2,2],[2,2],"same"),a=Ur(a,n.conv5),a=Dt(a,[2,2],[1,1],"same"),a=Ur(a,n.conv6),a=Ur(a,n.conv7),fl(a,n.conv8,"valid",!1)}runMobilenet(t,n){let a=this.config.isFirstLayerConv2d?Vp(fl(t,n.conv0,"valid",!1)):Gr(t,n.conv0);return a=Dt(a,[2,2],[2,2],"same"),a=Gr(a,n.conv1),a=Dt(a,[2,2],[2,2],"same"),a=Gr(a,n.conv2),a=Dt(a,[2,2],[2,2],"same"),a=Gr(a,n.conv3),a=Dt(a,[2,2],[2,2],"same"),a=Gr(a,n.conv4),a=Dt(a,[2,2],[2,2],"same"),a=Gr(a,n.conv5),a=Dt(a,[2,2],[1,1],"same"),a=n.conv6?Gr(a,n.conv6):a,a=n.conv7?Gr(a,n.conv7):a,fl(a,n.conv8,"valid",!1)}forwardInput(t,n){let{params:a}=this;if(!a)throw new Error("TinyYolov2 - load model before inference");return O(()=>{let r=re(t.toBatchTensor(n,!1),"float32");return r=this.config.meanRgb?Ya(r,this.config.meanRgb):r,r=r.div(255),this.config.withSeparableConvs?this.runMobilenet(r,a):this.runTinyYolov2(r,a)})}async forward(t,n){return this.forwardInput(await vt(t),n)}async detect(t,n={}){let{inputSize:a,scoreThreshold:r}=new Ja(n),s=await vt(t),i=await this.forwardInput(s,a),o=O(()=>dt(i)[0].expandDims()),l={width:s.getInputWidth(0),height:s.getInputHeight(0)},u=await this.extractBoxes(o,s.getReshapedInputDimensions(0),r);i.dispose(),o.dispose();let p=u.map(g=>g.box),d=u.map(g=>g.score),c=u.map(g=>g.classScore),h=u.map(g=>this.config.classes[g.label]);return _k(p.map(g=>g.rescale(a)),d,this.config.iouThreshold,!0).map(g=>new ol(d[g],c[g],h[g],p[g],l))}getDefaultModelName(){return""}extractParamsFromWeightMap(t){return PD(t,this.config)}extractParams(t){let n=this.config.filterSizes||Cg.DEFAULT_FILTER_SIZES,a=n?n.length:void 0;if(a!==7&&a!==8&&a!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${a} filterSizes in config`);return OD(t,this.config,this.boxEncodingSize,n)}async extractBoxes(t,n,a){let{width:r,height:s}=n,i=Math.max(r,s),o=i/r,l=i/s,u=t.shape[1],p=this.config.anchors.length,[d,c,h]=O(()=>{let b=t.reshape([u,u,p,this.boxEncodingSize]),y=b.slice([0,0,0,0],[u,u,p,4]),x=b.slice([0,0,0,4],[u,u,p,1]),v=this.withClassScores?ja(b.slice([0,0,0,5],[u,u,p,this.config.classes.length]),3):ve(0);return[y,x,v]}),m=[],f=await c.array(),g=await d.array();for(let b=0;ba){let I=(y+zd(g[b][y][x][0]))/u*o,N=(b+zd(g[b][y][x][1]))/u*l,C=Math.exp(g[b][y][x][2])*this.config.anchors[x].x/u*o,_=Math.exp(g[b][y][x][3])*this.config.anchors[x].y/u*l,F=I-C/2,D=N-_/2,$={row:b,col:y,anchor:x},{classScore:S,label:M}=this.withClassScores?await this.extractPredictedClass(h,$):{classScore:1,label:0};m.push({box:new il(F,D,F+C,D+_),score:v,classScore:v*S,label:M,...$})}}return d.dispose(),c.dispose(),h.dispose(),m}async extractPredictedClass(t,n){let{row:a,col:r,anchor:s}=n,i=await t.array();return Array(this.config.classes.length).fill(0).map((o,l)=>i[a][r][s][l]).map((o,l)=>({classScore:o,label:l})).reduce((o,l)=>o.classScore>l.classScore?o:l)}};Cg.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Up=Cg;var vl=class extends Up{constructor(t=!0){let n={withSeparableConvs:t,iouThreshold:AD,classes:["face"],...t?{anchors:$D,meanRgb:DD}:{anchors:FD,withClassScores:!0}};super(n)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new Tt(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?MD:RD}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function Cge(e,t=!0){let n=new vl(t);return n.extractWeights(e),n}var Zd=class extends Ja{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var Sa=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};async function wl(e,t,n,a,r=({alignedRect:s})=>s){let s=e.map(l=>gl(l)?r(l):l.detection),i=a||(t instanceof Ce?await Rp(t,s):await Dp(t,s)),o=await n(i);return i.forEach(l=>l instanceof Ce&&l.dispose()),o}async function Gp(e,t,n,a,r){return wl([e],t,async s=>n(s[0]),a,r)}var LD=.4,zD=[new Ue(1.603231,2.094468),new Ue(6.041143,7.080126),new Ue(2.882459,3.518061),new Ue(4.266906,5.178857),new Ue(9.041765,10.66308)],WD=[117.001,114.697,97.404];var kl=class extends Up{constructor(){let t={withSeparableConvs:!0,iouThreshold:LD,classes:["face"],anchors:zD,meanRgb:WD,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new Tt(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var nt={ssdMobilenetv1:new zs,tinyFaceDetector:new kl,tinyYolov2:new vl,faceLandmark68Net:new bl,faceLandmark68TinyNet:new Xd,faceRecognitionNet:new yl,faceExpressionNet:new jd,ageGenderNet:new Kd},BD=(e,t)=>nt.ssdMobilenetv1.locateFaces(e,t),Ege=(e,t)=>nt.tinyFaceDetector.locateFaces(e,t),_ge=(e,t)=>nt.tinyYolov2.locateFaces(e,t),VD=e=>nt.faceLandmark68Net.detectLandmarks(e),Age=e=>nt.faceLandmark68TinyNet.detectLandmarks(e),Fge=e=>nt.faceRecognitionNet.computeFaceDescriptor(e),$ge=e=>nt.faceExpressionNet.predictExpressions(e),Dge=e=>nt.ageGenderNet.predictAgeAndGender(e),UD=e=>nt.ssdMobilenetv1.load(e),Rge=e=>nt.tinyFaceDetector.load(e),Mge=e=>nt.tinyYolov2.load(e),Oge=e=>nt.faceLandmark68Net.load(e),Pge=e=>nt.faceLandmark68TinyNet.load(e),Lge=e=>nt.faceRecognitionNet.load(e),zge=e=>nt.faceExpressionNet.load(e),Wge=e=>nt.ageGenderNet.load(e),Bge=UD,Vge=BD,Uge=VD;var Eg=class extends Sa{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},Il=class extends Eg{async run(){let t=await this.parentTask,n=await wl(t,this.input,async a=>Promise.all(a.map(r=>nt.faceExpressionNet.predictExpressions(r))),this.extractedFaces);return t.map((a,r)=>gg(a,n[r]))}withAgeAndGender(){return new Nl(this,this.input)}},Sl=class extends Eg{async run(){let t=await this.parentTask;if(!t)return;let n=await Gp(t,this.input,a=>nt.faceExpressionNet.predictExpressions(a),this.extractedFaces);return gg(t,n)}withAgeAndGender(){return new Tl(this,this.input)}},Ws=class extends Il{withAgeAndGender(){return new Vs(this,this.input)}withFaceDescriptors(){return new Hr(this,this.input)}},Bs=class extends Sl{withAgeAndGender(){return new Us(this,this.input)}withFaceDescriptor(){return new qr(this,this.input)}};var _g=class extends Sa{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},Nl=class extends _g{async run(){let t=await this.parentTask,n=await wl(t,this.input,async a=>Promise.all(a.map(r=>nt.ageGenderNet.predictAgeAndGender(r))),this.extractedFaces);return t.map((a,r)=>{let{age:s,gender:i,genderProbability:o}=n[r];return Sg(Ng(a,i,o),s)})}withFaceExpressions(){return new Il(this,this.input)}},Tl=class extends _g{async run(){let t=await this.parentTask;if(!t)return;let{age:n,gender:a,genderProbability:r}=await Gp(t,this.input,s=>nt.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return Sg(Ng(t,a,r),n)}withFaceExpressions(){return new Sl(this,this.input)}},Vs=class extends Nl{withFaceExpressions(){return new Ws(this,this.input)}withFaceDescriptors(){return new Hr(this,this.input)}},Us=class extends Tl{withFaceExpressions(){return new Bs(this,this.input)}withFaceDescriptor(){return new qr(this,this.input)}};var Jd=class extends Sa{constructor(n,a){super();this.parentTask=n;this.input=a}},Hr=class extends Jd{async run(){let t=await this.parentTask;return(await wl(t,this.input,a=>Promise.all(a.map(r=>nt.faceRecognitionNet.computeFaceDescriptor(r))),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}))).map((a,r)=>Ig(t[r],a))}withFaceExpressions(){return new Ws(this,this.input)}withAgeAndGender(){return new Vs(this,this.input)}},qr=class extends Jd{async run(){let t=await this.parentTask;if(!t)return;let n=await Gp(t,this.input,a=>nt.faceRecognitionNet.computeFaceDescriptor(a),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}));return Ig(t,n)}withFaceExpressions(){return new Bs(this,this.input)}withAgeAndGender(){return new Us(this,this.input)}};var Qd=class extends Sa{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.useTinyLandmarkNet=r}get landmarkNet(){return this.useTinyLandmarkNet?nt.faceLandmark68TinyNet:nt.faceLandmark68Net}},eh=class extends Qd{async run(){let t=await this.parentTask,n=t.map(i=>i.detection),a=this.input instanceof Ce?await Rp(this.input,n):await Dp(this.input,n),r=await Promise.all(a.map(i=>this.landmarkNet.detectLandmarks(i)));return a.forEach(i=>i instanceof Ce&&i.dispose()),t.filter((i,o)=>r[o]).map((i,o)=>Wp(i,r[o]))}withFaceExpressions(){return new Ws(this,this.input)}withAgeAndGender(){return new Vs(this,this.input)}withFaceDescriptors(){return new Hr(this,this.input)}},th=class extends Qd{async run(){let t=await this.parentTask;if(!t)return;let{detection:n}=t,a=this.input instanceof Ce?await Rp(this.input,[n]):await Dp(this.input,[n]),r=await this.landmarkNet.detectLandmarks(a[0]);return a.forEach(s=>s instanceof Ce&&s.dispose()),Wp(t,r)}withFaceExpressions(){return new Bs(this,this.input)}withAgeAndGender(){return new Us(this,this.input)}withFaceDescriptor(){return new qr(this,this.input)}};var nh=class extends Sa{constructor(n,a=new Ia){super();this.input=n;this.options=a}},Hp=class extends nh{async run(){let{input:t,options:n}=this,a;if(n instanceof Zd)a=nt.tinyFaceDetector.locateFaces(t,n);else if(n instanceof Ia)a=nt.ssdMobilenetv1.locateFaces(t,n);else if(n instanceof Ja)a=nt.tinyYolov2.locateFaces(t,n);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return a}runAndExtendWithFaceDetections(){return new Promise((t,n)=>{this.run().then(a=>t(a.map(r=>pl({},r)))).catch(a=>n(a))})}withFaceLandmarks(t=!1){return new eh(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new Il(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new Nl(this.runAndExtendWithFaceDetections(),this.input)}},ah=class extends nh{async run(){let t=await new Hp(this.input,this.options),n=t[0];return t.forEach(a=>{a.score>n.score&&(n=a)}),n}runAndExtendWithFaceDetection(){return new Promise(async t=>{let n=await this.run();t(n?pl({},n):void 0)})}withFaceLandmarks(t=!1){return new th(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new Sl(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new Tl(this.runAndExtendWithFaceDetection(),this.input)}};function Gge(e,t=new Ia){return new ah(e,t)}function Ag(e,t=new Ia){return new Hp(e,t)}async function GD(e,t){return Ag(e,new Ia(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function Hge(e,t={}){return Ag(e,new Ja(t)).withFaceLandmarks().withFaceDescriptors()}var qge=GD;function eI(e,t){if(e.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let n=Array.from(e),a=Array.from(t);return Math.sqrt(n.map((r,s)=>r-a[s]).reduce((r,s)=>r+s*s,0))}var tI=class e{constructor(t,n=.6){this._distanceThreshold=n;let a=Array.isArray(t)?t:[t];if(!a.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let r=1,s=()=>`person ${r++}`;this._labeledDescriptors=a.map(i=>{if(i instanceof Ls)return i;if(i instanceof Float32Array)return new Ls(s(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new Ls(s(),[i.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,n){return n.map(a=>eI(a,t)).reduce((a,r)=>a+r,0)/(n.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:n,label:a})=>new Ap(a,this.computeMeanDistance(t,n))).reduce((n,a)=>n.distancet.toJSON())}}static fromJSON(t){let n=t.labeledDescriptors.map(a=>Ls.fromJSON(a));return new e(n,t.distanceThreshold)}};function jge(e){let t=new kl;return t.extractWeights(e),t}function HD(e,t){let{width:n,height:a}=new Un(t.width,t.height);if(n<=0||a<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:n,height:a})}`);if(Array.isArray(e))return e.map(r=>HD(r,{width:n,height:a}));if(gl(e)){let r=e.detection.forSize(n,a),s=e.unshiftedLandmarks.forSize(r.box.width,r.box.height);return Wp(pl(e,r),s)}return yr(e)?pl(e,e.detection.forSize(n,a)):e instanceof sa||e instanceof Tt?e.forSize(n,a):e}var Kge=cD;return AR(Xge);})(); diff --git a/dist/face-api.node-gpu.js b/dist/face-api.node-gpu.js index 06f8a7a..5a08186 100644 --- a/dist/face-api.node-gpu.js +++ b/dist/face-api.node-gpu.js @@ -4,4 +4,4 @@ author: ' */ -"use strict";var ln=Object.create;var tr=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var hn=Object.getOwnPropertyNames;var bn=Object.getPrototypeOf,gn=Object.prototype.hasOwnProperty;var xn=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),Sr=(o,t)=>{for(var e in t)tr(o,e,{get:t[e],enumerable:!0})},_o=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of hn(t))!gn.call(o,n)&&n!==e&&tr(o,n,{get:()=>t[n],enumerable:!(r=dn(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?ln(bn(o)):{},_o(t||!o||!o.__esModule?tr(e,"default",{value:o,enumerable:!0}):e,o)),vn=o=>_o(tr({},"__esModule",{value:!0}),o);var x=xn((Ya,Br)=>{"use strict";var Wr=Object.defineProperty,yn=Object.getOwnPropertyDescriptor,_n=Object.getOwnPropertyNames,Tn=Object.prototype.hasOwnProperty,Pn=(o,t)=>{for(var e in t)Wr(o,e,{get:t[e],enumerable:!0})},Ar=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of _n(t))!Tn.call(o,n)&&n!==e&&Wr(o,n,{get:()=>t[n],enumerable:!(r=yn(t,n))||r.enumerable});return o},wn=(o,t,e)=>(Ar(o,t,"default"),e&&Ar(e,t,"default")),Fn=o=>Ar(Wr({},"__esModule",{value:!0}),o),kr={};Pn(kr,{version:()=>In});Br.exports=Fn(kr);wn(kr,require("@tensorflow/tfjs-node-gpu"),Br.exports);var To="4.16.0",Dn="4.16.0",En="4.16.0",Mn="4.16.0",Cn="4.16.0",In={tfjs:To,"tfjs-core":To,"tfjs-converter":Dn,"tfjs-backend-cpu":En,"tfjs-backend-webgl":Mn,"tfjs-backend-wasm":Cn}});var Ba={};Sr(Ba,{AgeGenderNet:()=>He,BoundingBox:()=>Ot,Box:()=>L,ComposableTask:()=>J,ComputeAllFaceDescriptorsTask:()=>_t,ComputeFaceDescriptorsTaskBase:()=>Ue,ComputeSingleFaceDescriptorTask:()=>Tt,DetectAllFaceLandmarksTask:()=>qe,DetectAllFacesTask:()=>Ie,DetectFaceLandmarksTaskBase:()=>Je,DetectFacesTaskBase:()=>Ke,DetectSingleFaceLandmarksTask:()=>Ze,DetectSingleFaceTask:()=>Qe,Dimensions:()=>R,FACE_EXPRESSION_LABELS:()=>so,FaceDetection:()=>M,FaceDetectionNet:()=>lo,FaceExpressionNet:()=>Oe,FaceExpressions:()=>gt,FaceLandmark68Net:()=>Zt,FaceLandmark68TinyNet:()=>ze,FaceLandmarkNet:()=>po,FaceLandmarks:()=>H,FaceLandmarks5:()=>jr,FaceLandmarks68:()=>Yt,FaceMatch:()=>me,FaceMatcher:()=>vo,FaceRecognitionNet:()=>Kt,Gender:()=>_r,LabeledBox:()=>pe,LabeledFaceDescriptors:()=>Et,NetInput:()=>ut,NeuralNetwork:()=>A,ObjectDetection:()=>Ht,Point:()=>_,PredictedBox:()=>Ur,Rect:()=>zt,SsdMobilenetv1:()=>It,SsdMobilenetv1Options:()=>X,TinyFaceDetector:()=>re,TinyFaceDetectorOptions:()=>je,TinyYolov2:()=>te,TinyYolov2Options:()=>st,allFaces:()=>Sa,allFacesSsdMobilenetv1:()=>un,allFacesTinyYolov2:()=>La,awaitMediaLoaded:()=>to,bufferToImage:()=>eo,computeFaceDescriptor:()=>xa,createCanvas:()=>Xt,createCanvasFromMedia:()=>We,createFaceDetectionNet:()=>ua,createFaceRecognitionNet:()=>ta,createSsdMobilenetv1:()=>Jo,createTinyFaceDetector:()=>Aa,createTinyYolov2:()=>da,detectAllFaces:()=>Lr,detectFaceLandmarks:()=>mn,detectFaceLandmarksTiny:()=>ga,detectLandmarks:()=>Ia,detectSingleFace:()=>Na,draw:()=>co,env:()=>w,euclideanDistance:()=>xo,extendWithAge:()=>Dr,extendWithFaceDescriptor:()=>Fr,extendWithFaceDetection:()=>Vt,extendWithFaceExpressions:()=>gr,extendWithFaceLandmarks:()=>Pe,extendWithGender:()=>Er,extractFaceTensors:()=>le,extractFaces:()=>fe,fetchImage:()=>On,fetchJson:()=>no,fetchNetWeights:()=>Hn,fetchOrThrow:()=>ht,fetchVideo:()=>zn,getContext2dOrThrow:()=>$,getMediaDimensions:()=>Ut,imageTensorToCanvas:()=>ro,imageToSquare:()=>oo,inverseSigmoid:()=>Sn,iou:()=>zr,isMediaElement:()=>sr,isMediaLoaded:()=>Ae,isWithAge:()=>ea,isWithFaceDetection:()=>pt,isWithFaceExpressions:()=>io,isWithFaceLandmarks:()=>qt,isWithGender:()=>ra,loadAgeGenderModel:()=>Ea,loadFaceDetectionModel:()=>Ma,loadFaceExpressionModel:()=>Da,loadFaceLandmarkModel:()=>Pa,loadFaceLandmarkTinyModel:()=>wa,loadFaceRecognitionModel:()=>Fa,loadSsdMobilenetv1Model:()=>pn,loadTinyFaceDetectorModel:()=>_a,loadTinyYolov2Model:()=>Ta,loadWeightMap:()=>ao,locateFaces:()=>Ca,matchDimensions:()=>Yn,minBbox:()=>Yr,nets:()=>F,nonMaxSuppression:()=>Vr,normalize:()=>rt,padToSquare:()=>Gr,predictAgeAndGender:()=>ya,recognizeFaceExpressions:()=>va,resizeResults:()=>fn,resolveInput:()=>Gt,shuffleArray:()=>Ln,sigmoid:()=>Ne,ssdMobilenetv1:()=>cn,tf:()=>Wa,tinyFaceDetector:()=>ha,tinyYolov2:()=>ba,toNetInput:()=>D,utils:()=>Hr,validateConfig:()=>ho,version:()=>ka});module.exports=vn(Ba);var Wa=v(x());var co={};Sr(co,{AnchorPosition:()=>Qr,DrawBox:()=>Se,DrawBoxOptions:()=>nr,DrawFaceLandmarks:()=>vr,DrawFaceLandmarksOptions:()=>xr,DrawTextField:()=>jt,DrawTextFieldOptions:()=>ue,drawContour:()=>lt,drawDetections:()=>$n,drawFaceExpressions:()=>Vn,drawFaceLandmarks:()=>jn});function lt(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:n},s)=>{let a=t[s];o.moveTo(a.x,a.y),o.lineTo(r,n)}),e){let r=t[t.length-1],n=t[0];if(!r||!n)return;o.moveTo(r.x,r.y),o.lineTo(n.x,n.y)}o.stroke()}var Hr={};Sr(Hr,{computeReshapedDimensions:()=>Or,getCenterPoint:()=>$t,isDimensions:()=>rr,isEven:()=>er,isFloat:()=>$r,isTensor:()=>Bt,isTensor1D:()=>Nn,isTensor2D:()=>Rr,isTensor3D:()=>dt,isTensor4D:()=>U,isValidNumber:()=>et,isValidProbablitiy:()=>ce,range:()=>ct,round:()=>Rt});var Po=v(x());var R=class o{constructor(t,e){if(!et(t)||!et(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new o(1/this.width,1/this.height)}};function Bt(o,t){return o instanceof Po.Tensor&&o.shape.length===t}function Nn(o){return Bt(o,1)}function Rr(o){return Bt(o,2)}function dt(o){return Bt(o,3)}function U(o){return Bt(o,4)}function $r(o){return o%1!==0}function er(o){return o%2===0}function Rt(o,t=2){let e=10**t;return Math.floor(o*e)/e}function rr(o){return o&&o.width&&o.height}function Or({width:o,height:t},e){let r=e/Math.max(t,o);return new R(Math.round(o*r),Math.round(t*r))}function $t(o){return o.reduce((t,e)=>t.add(e),new _(0,0)).div(new _(o.length,o.length))}function ct(o,t,e){return Array(o).fill(0).map((r,n)=>t+n*e)}function et(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function ce(o){return et(o)&&o>=0&&o<=1}var _=class o{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new o(this.x+t.x,this.y+t.y)}sub(t){return new o(this.x-t.x,this.y-t.y)}mul(t){return new o(this.x*t.x,this.y*t.y)}div(t){return new o(this.x/t.x,this.y/t.y)}abs(){return new o(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new o(Math.floor(this.x),Math.floor(this.y))}};var L=class o{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(et)}static assertIsValidBox(t,e,r=!1){if(!o.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},n=[r.left,r.top,r.right,r.bottom].every(et),s=[r.x,r.y,r.width,r.height].every(et);if(!s&&!n)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[a,i,c,m]=s?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];o.assertIsValidBox({x:a,y:i,width:c,height:m},"Box.constructor",e),this._x=a,this._y=i,this._width=c,this._height=m}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new _(this.left,this.top)}get topRight(){return new _(this.right,this.top)}get bottomLeft(){return new _(this.left,this.bottom)}get bottomRight(){return new _(this.right,this.bottom)}round(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new o({x:t,y:e,width:r,height:n})}floor(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new o({x:t,y:e,width:r,height:n})}toSquare(){let{x:t,y:e,width:r,height:n}=this,s=Math.abs(r-n);return re&&(i=-u+e+r,u=e),f>t&&(c=-f+t+n,f=t),m<1&&(c=2-m,m=1),p<1&&(c=2-p,p=1),{dy:a,edy:c,dx:s,edx:i,y:p,ey:f,x:m,ex:u,w:r,h:n}}calibrate(t){return new o({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Ot=class extends L{constructor(t,e,r,n,s=!1){super({left:t,top:e,right:r,bottom:n},s)}};var Ht=class o{constructor(t,e,r,n,s){this._imageDims=new R(s.width,s.height),this._score=t,this._classScore=e,this._className=r,this._box=new L(n).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new L(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new o(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var M=class o extends Ht{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:n,imageDims:s}=super.forSize(t,e);return new o(r,n,s)}};function zr(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),n=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),s=r*n;return e?s/(o.area+t.area-s):s/Math.min(o.area,t.area)}function Yr(o){let t=o.map(i=>i.x),e=o.map(i=>i.y),r=t.reduce((i,c)=>ccii({score:a,boxIndex:i})).sort((a,i)=>a.score-i.score).map(a=>a.boxIndex),s=[];for(;n.length>0;){let a=n.pop();s.push(a);let i=n,c=[];for(let m=0;mc[p]<=e)}return s}var mt=v(x());function rt(o,t){return mt.tidy(()=>{let[e,r,n]=t,s=mt.fill([...o.shape.slice(0,3),1],e,"float32"),a=mt.fill([...o.shape.slice(0,3),1],r,"float32"),i=mt.fill([...o.shape.slice(0,3),1],n,"float32"),c=mt.concat([s,a,i],3);return mt.sub(o,c)})}var Dt=v(x());function Gr(o,t=!1){return Dt.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let n=Math.abs(e-r),s=Math.round(n*(t?.5:1)),a=e>r?2:1,i=f=>{let l=o.shape.slice();return l[a]=f,Dt.fill(l,0,"float32")},c=i(s),m=n-c.shape[a],u=[t&&m?i(m):null,o,c].filter(f=>!!f).map(f=>Dt.cast(f,"float32"));return Dt.concat(u,a)})}function Ln(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function Ne(o){return 1/(1+Math.exp(-o))}function Sn(o){return Math.log(o/(1-o))}var zt=class extends L{constructor(t,e,r,n,s=!1){super({x:t,y:e,width:r,height:n},s)}};var An=.5,Wn=.43,kn=.45,H=class{constructor(t,e,r=new _(0,0)){let{width:n,height:s}=e;this._imgDims=new R(n,s),this._shift=r,this._positions=t.map(a=>a.mul(new _(n,s)).add(r))}get shift(){return new _(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new _(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new _(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let s=t instanceof M?t.box.floor():new L(t);return this.shiftBy(s.x,s.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:n}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(n)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,n]=t,s=u=>n.sub(u).magnitude(),a=(s(e)+s(r))/2,i=Math.floor(a/kn),c=$t(t),m=Math.floor(Math.max(0,c.x-An*i)),p=Math.floor(Math.max(0,c.y-Wn*i));return new zt(m,p,Math.min(i,this.imageWidth+m),Math.min(i,this.imageHeight+p))}alignMinBbox(t){let e=Yr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var jr=class extends H{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],$t([t[3],t[4]])]}};var Yt=class extends H{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map($t)}};var me=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Rt(this.distance)})`:""}`}};var pe=class extends L{static assertIsValidLabeledBox(t,e){if(L.assertIsValidBox(t,e),!et(t.label))throw new Error(`${e} - expected property label (${t.label}) to be a number`)}constructor(t,e){super(t),this._label=e}get label(){return this._label}};var Et=class o{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new o(t.label,e)}};var Ur=class extends pe{static assertIsValidPredictedBox(t,e){if(pe.assertIsValidLabeledBox(t,e),!ce(t.score)||!ce(t.classScore))throw new Error(`${e} - expected properties score (${t.score}) and (${t.classScore}) to be a number between [0, 1]`)}constructor(t,e,r,n){super(t,e),this._score=r,this._classScore=n}get score(){return this._score}get classScore(){return this._classScore}};function pt(o){return o.detection instanceof M}function Vt(o,t){return{...o,...{detection:t}}}function Xr(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Le(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function or(o){let t="";if(!o&&Le())try{o=require("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((n,s)=>{o.readFile(r,(a,i)=>a?s(a):n(i))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Jr(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},n=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},a=global.fetch,i=or();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:n,createVideoElement:s,fetch:a,...i}}function qr(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var S;function Bn(){if(!S)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return S}function Zr(o){S=o}function Kr(){return qr()?Zr(Xr()):Le()?Zr(Jr()):null}function Rn(o){if(S||Kr(),!S)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=S.Canvas,Image:e=S.Image}=o;S.Canvas=t,S.Image=e,S.createCanvasElement=o.createCanvasElement||(()=>new t),S.createImageElement=o.createImageElement||(()=>new e),S.ImageData=o.ImageData||S.ImageData,S.Video=o.Video||S.Video,S.fetch=o.fetch||S.fetch,S.readFile=o.readFile||S.readFile}var w={getEnv:Bn,setEnv:Zr,initialize:Kr,createBrowserEnv:Xr,createFileSystem:or,createNodejsEnv:Jr,monkeyPatch:Rn,isBrowser:qr,isNodejs:Le};Kr();function Gt(o){return!w.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function $(o){let{Canvas:t,CanvasRenderingContext2D:e}=w.getEnv();if(o instanceof e)return o;let r=Gt(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let n=r.getContext("2d",{willReadFrequently:!0});if(!n)throw new Error("resolveContext2d - canvas 2d context is null");return n}var Qr=(n=>(n.TOP_LEFT="TOP_LEFT",n.TOP_RIGHT="TOP_RIGHT",n.BOTTOM_LEFT="BOTTOM_LEFT",n.BOTTOM_RIGHT="BOTTOM_RIGHT",n))(Qr||{}),ue=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:n,fontSize:s,fontStyle:a,padding:i}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=n||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=a||"Georgia",this.padding=i||4}},jt=class o{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof o?t.text:t,this.anchor=e,this.options=new ue(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,n)=>r{let b=c+u.x,T=c+u.y+(l+1)*a;r.fillText(f,b,T)})}};var nr=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:n,drawLabelOptions:s}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=n;let a={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new ue({...a,...s})}},Se=class{constructor(t,e={}){this.box=new L(t),this.options=new nr(e)}draw(t){let e=$(t),{boxColor:r,lineWidth:n}=this.options,{x:s,y:a,width:i,height:c}=this.box;e.strokeStyle=r,e.lineWidth=n,e.strokeRect(s,a,i,c);let{label:m}=this.options;m&&new jt([m],{x:s-n/2,y:a},this.options.drawLabelOptions).draw(t)}};function $n(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof M?r.score:pt(r)?r.detection.score:void 0,s=r instanceof M?r.box:pt(r)?r.detection.box:new L(r),a=n?`${Rt(n)}`:void 0;new Se(s,{label:a}).draw(o)})}var Te=v(x());function Ae(o){let{Image:t,Video:e}=w.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function to(o){return new Promise((t,e)=>{if(o instanceof w.getEnv().Canvas||Ae(o)){t(null);return}function r(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",n),s.currentTarget.removeEventListener("error",r),e(s))}function n(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",n),s.currentTarget.removeEventListener("error",r),t(s))}o.addEventListener("load",n),o.addEventListener("error",r)})}function eo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let n=w.getEnv().createImageElement();n.onload=()=>t(n),n.onerror=e,n.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Ut(o){let{Image:t,Video:e}=w.getEnv();return o instanceof t?new R(o.naturalWidth,o.naturalHeight):o instanceof e?new R(o.videoWidth,o.videoHeight):new R(o.width,o.height)}function Xt({width:o,height:t}){let{createCanvasElement:e}=w.getEnv(),r=e();return r.width=o,r.height=t,r}function We(o,t){let{ImageData:e}=w.getEnv();if(!(o instanceof e)&&!Ae(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:n}=t||Ut(o),s=Xt({width:r,height:n});return o instanceof e?$(s).putImageData(o,0,0):$(s).drawImage(o,0,0,r,n),s}var ar=v(x());async function ro(o,t){let e=t||w.getEnv().createCanvasElement(),[r,n,s]=o.shape.slice(U(o)?1:0),a=ar.tidy(()=>o.as3D(r,n,s).toInt());return await ar.browser.toPixels(a,e),a.dispose(),e}function sr(o){let{Image:t,Canvas:e,Video:r}=w.getEnv();return o instanceof t||o instanceof e||o instanceof r}var z=v(x());function oo(o,t,e=!1){let{Image:r,Canvas:n}=w.getEnv();if(!(o instanceof r||o instanceof n))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Xt({width:1,height:1});let s=Ut(o),a=t/Math.max(s.height,s.width),i=a*s.width,c=a*s.height,m=Xt({width:t,height:t}),p=o instanceof n?o:We(o),u=Math.abs(i-c)/2,f=e&&i0&&p.height>0&&$(m).drawImage(p,f,l,i,c),m}var ut=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,n)=>{if(dt(r)){this._imageTensors[n]=r,this._inputDimensions[n]=r.shape;return}if(U(r)){let a=r.shape[0];if(a!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${a} passed, but not supported in input array`);this._imageTensors[n]=r,this._inputDimensions[n]=r.shape.slice(1);return}let s=r instanceof w.getEnv().Canvas?r:We(r);this._canvases[n]=s,this._inputDimensions[n]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return ct(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return Or({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,z.tidy(()=>{let r=ct(this.batchSize,0,1).map(s=>{let a=this.getInput(s);if(a instanceof z.Tensor){let i=U(a)?a:z.expandDims(a);return i=Gr(i,e),(i.shape[1]!==t||i.shape[2]!==t)&&(i=z.image.resizeBilinear(i,[t,t],!1,!1)),i.as3D(t,t,3)}if(a instanceof w.getEnv().Canvas)return z.browser.fromPixels(oo(a,t,e));throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${a}`)});return z.stack(r.map(s=>z.cast(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function D(o){if(o instanceof ut)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=n=>Array.isArray(o)?` at input index ${n}:`:"",r=t.map(Gt);return r.forEach((n,s)=>{if(!sr(n)&&!dt(n)&&!U(n))throw typeof t[s]=="string"?new Error(`toNetInput -${e(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${e(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(U(n)){let a=n.shape[0];if(a!==1)throw new Error(`toNetInput -${e(s)} tf.Tensor4D with batchSize ${a} passed, but not supported in input array`)}}),await Promise.all(r.map(n=>sr(n)&&to(n))),new ut(r,Array.isArray(o))}async function fe(o,t){let{Canvas:e}=w.getEnv(),r=o;if(!(o instanceof e)){let a=await D(o);if(a.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let i=a.getInput(0);r=i instanceof e?i:await ro(i)}let n=$(r);return t.map(a=>a instanceof M?a.forSize(r.width,r.height).box.floor():a).map(a=>a.clipAtImageBorders(r.width,r.height)).map(({x:a,y:i,width:c,height:m})=>{let p=Xt({width:c,height:m});return c>0&&m>0&&$(p).putImageData(n.getImageData(a,i,c,m),0,0),p})}var ir=v(x());async function le(o,t){if(!dt(o)&&!U(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(U(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return ir.tidy(()=>{let[e,r,n]=o.shape.slice(U(o)?1:0);return t.map(i=>i instanceof M?i.forSize(r,e).box:i).map(i=>i.clipAtImageBorders(r,e)).filter(i=>i.width>0&&i.height>0).map(({x:i,y:c,width:m,height:p})=>ir.slice3d(o.as3D(e,r,n),[c,i,0],[p,m,n]))})}async function ht(o,t){let{fetch:e}=w.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function On(o){let t=await ht(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return eo(e)}async function no(o){return(await ht(o)).json()}async function Hn(o){return new Float32Array(await(await ht(o)).arrayBuffer())}function wo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=w.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function zn(o){let t=await ht(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return wo(e)}var Fo=v(x());function cr(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let n=o.split("/").filter(i=>i),s=o.endsWith(".json")?n[n.length-1]:e,a=r+(o.endsWith(".json")?n.slice(0,n.length-1):n).join("/");return a=o.startsWith("/")?`/${a}`:a,{modelBaseUri:a,manifestUri:a==="/"?`/${s}`:`${a}/${s}`}}async function ao(o,t){let{manifestUri:e,modelBaseUri:r}=cr(o,t),n=await no(e);return Fo.io.loadWeights(n,r)}function Yn(o,t,e=!1){let{width:r,height:n}=e?Ut(t):t;return o.width=r,o.height=n,{width:r,height:n}}var ve=v(x());var bt=v(x());var A=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:n}=this.traversePropertyPath(t);r[n].dispose(),r[n]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof bt.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof bt.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=bt.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await ao(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=w.getEnv(),{manifestUri:r,modelBaseUri:n}=cr(t,this.getDefaultModelName()),s=m=>Promise.all(m.map(p=>e(p).then(u=>typeof u=="string"?Buffer.from(u):u.buffer))),a=bt.io.weightsLoaderFactory(s),i=JSON.parse((await e(r)).toString()),c=await a(i,n);this.loadFromWeightMap(c)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((s,a)=>{if(!s.nextObj.hasOwnProperty(a))throw new Error(`traversePropertyPath - object does not have property ${a}, for path ${t}`);return{obj:s.nextObj,objProp:a,nextObj:s.nextObj[a]}},{nextObj:this.params}),{obj:r,objProp:n}=e;if(!r||!n||!(r[n]instanceof bt.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:n}}};var E=v(x());var de=v(x());function O(o,t,e){return de.tidy(()=>{let r=de.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=de.add(r,t.bias),r})}function mr(o,t,e=!1){return E.tidy(()=>{let r=E.relu(e?E.add(E.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):O(o,t.conv0,[2,2])),n=O(r,t.conv1,[1,1]),s=E.relu(E.add(r,n)),a=O(s,t.conv2,[1,1]);return E.relu(E.add(r,E.add(n,a)))})}function ke(o,t,e=!1,r=!0){return E.tidy(()=>{let n=E.relu(e?E.add(E.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):O(o,t.conv0,r?[2,2]:[1,1])),s=O(n,t.conv1,[1,1]),a=E.relu(E.add(n,s)),i=O(a,t.conv2,[1,1]),c=E.relu(E.add(n,E.add(s,i))),m=O(c,t.conv3,[1,1]);return E.relu(E.add(n,E.add(s,E.add(i,m))))})}var Mt=v(x());function Jt(o,t,e="same",r=!1){return Mt.tidy(()=>{let n=Mt.add(Mt.conv2d(o,t.filters,[1,1],e),t.bias);return r?Mt.relu(n):n})}function W(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}var pr=v(x());function he(o,t){return(e,r,n,s)=>{let a=pr.tensor4d(o(e*r*n*n),[n,n,e,r]),i=pr.tensor1d(o(r));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:a,bias:i}}}var ur=v(x());function fr(o,t){return(e,r,n)=>{let s=ur.tensor2d(o(e*r),[e,r]),a=ur.tensor1d(o(r));return t.push({paramPath:`${n}/weights`},{paramPath:`${n}/bias`}),{weights:s,bias:a}}}var Re=v(x());var Be=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function be(o,t){return(e,r,n)=>{let s=Re.tensor4d(o(9*e),[3,3,e,1]),a=Re.tensor4d(o(e*r),[1,1,e,r]),i=Re.tensor1d(o(r));return t.push({paramPath:`${n}/depthwise_filter`},{paramPath:`${n}/pointwise_filter`},{paramPath:`${n}/bias`}),new Be(s,a,i)}}function ge(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),n=o(`${t}/bias`,1);return new Be(e,r,n)}}function Y(o,t){return(e,r,n)=>{let s=o[e];if(!Bt(s,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${s}`);return t.push({originalPath:e,paramPath:n||e}),s}}function k(o){let t=o;function e(n){let s=t.slice(0,n);return t=t.slice(n),s}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function lr(o,t){let e=he(o,t),r=be(o,t);function n(a,i,c,m=!1){let p=m?e(a,i,3,`${c}/conv0`):r(a,i,`${c}/conv0`),u=r(i,i,`${c}/conv1`),f=r(i,i,`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function s(a,i,c,m=!1){let{conv0:p,conv1:u,conv2:f}=n(a,i,c,m),l=r(i,i,`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:n,extractDenseBlock4Params:s}}function Do(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractDenseBlock4Params:n}=lr(e,t),s=n(3,32,"dense0",!0),a=n(32,64,"dense1"),i=n(64,128,"dense2"),c=n(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:a,dense2:i,dense3:c}}}function dr(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function hr(o,t){let e=Y(o,t),r=dr(e),n=ge(e);function s(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`);return{conv0:m,conv1:p,conv2:u}}function a(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`),f=n(`${i}/conv3`);return{conv0:m,conv1:p,conv2:u,conv3:f}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:a}}function Eo(o){let t=[],{extractDenseBlock4Params:e}=hr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return W(o,t),{params:r,paramMappings:t}}var xe=class extends A{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return ve.tidy(()=>{let r=ve.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=ke(s,e.dense0,!0);return a=ke(a,e.dense1),a=ke(a,e.dense2),a=ke(a,e.dense3),a=ve.avgPool(a,[7,7],[2,2],"valid"),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Eo(t)}extractParams(t){return Do(t)}};var Io=v(x());var ye=v(x());function $e(o,t){return ye.tidy(()=>ye.add(ye.matMul(o,t.weights),t.bias))}function Mo(o,t,e){let r=[],{extractWeights:n,getRemainingWeights:s}=k(o),i=fr(n,r)(t,e,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:r,params:{fc:i}}}function Co(o){let t=[],e=Y(o,t);function r(s){let a=e(`${s}/weights`,2),i=e(`${s}/bias`,1);return{weights:a,bias:i}}let n={fc:r("fc")};return W(o,t),{params:n,paramMappings:t}}function br(o){let t={},e={};return Object.keys(o).forEach(r=>{let n=r.startsWith("fc")?e:t;n[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var _e=class extends A{constructor(t,e){super(t),this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return Io.tidy(()=>{let r=t instanceof ut?this.faceFeatureExtractor.forwardInput(t):t;return $e(r.as2D(r.shape[0],-1),e.fc)})}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Mo(t,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=br(t);return this.faceFeatureExtractor.loadFromWeightMap(e),Co(r)}extractParams(t){let e=this.getClassifierChannelsIn(),r=this.getClassifierChannelsOut(),n=r*e+r,s=t.slice(0,t.length-n),a=t.slice(t.length-n);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(a)}};var so=["neutral","happy","sad","angry","fearful","disgusted","surprised"],gt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);so.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return so.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var Oe=class extends _e{constructor(t=new xe){super("FaceExpressionNet",t)}forwardInput(t){return Te.tidy(()=>Te.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await D(t))}async predictExpressions(t){let e=await D(t),r=await this.forwardInput(e),n=await Promise.all(Te.unstack(r).map(async a=>{let i=a.dataSync();return a.dispose(),i}));r.dispose();let s=n.map(a=>new gt(a));return e.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function io(o){return o.expressions instanceof gt}function gr(o,t){return{...o,...{expressions:t}}}function Vn(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(s=>{let a=s instanceof gt?s:io(s)?s.expressions:void 0;if(!a)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let c=a.asSortedArray().filter(u=>u.probability>e),m=pt(s)?s.detection.box.bottomLeft:r||new _(0,0);new jt(c.map(u=>`${u.expression} (${Rt(u.probability)})`),m).draw(o)})}function qt(o){return pt(o)&&o.landmarks instanceof H&&o.unshiftedLandmarks instanceof H&&o.alignedRect instanceof M}function Gn(o){let t=c=>c*180/Math.PI,e=(c,m)=>Math.sqrt((c.x-m.x)**2+(c.y-m.y)**2),r={roll:void 0,pitch:void 0,yaw:void 0},n=(c,m,p)=>{let u=Math.floor(c.x-m.x),f=Math.floor(m.x-p.x);return u-f},s=(c,m)=>{let p=Math.hypot(m.x-c.x,m.y-c.y),u=m.y-c.y,f=Math.asin(u/p),l=t(f),b=Math.floor(90-l),T=m.x-c.x<0?-1:1;return b*T},a=(c,m,p)=>{let u=e(c,p),f=new _((c.x+p.x)/2,(c.y+p.y)/2),l=e(m,f),b=Math.atan(l/u),T=Math.floor(t(b)),h=f.y-m.y<0?-1:1;return T*h};if(!o||!o.positions||o.positions.length!==68)return r;let i=o.positions;return r.roll=s(i[27],i[66]),r.pitch=a(i[14],i[30],i[2]),r.yaw=n(i[14],i[33],i[2]),r}function Pe(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),n=r.align(),{imageDims:s}=o.detection,a=new M(o.detection.score,n.rescale(s.reverse()),s),i=Gn(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:a,angle:i}}}var xr=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:n,lineColor:s,pointSize:a,pointColor:i}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=n||1,this.pointSize=a||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=i||"rgba(255, 0, 255, 1)"}},vr=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new xr(e)}draw(t){let e=$(t),{drawLines:r,drawPoints:n,lineWidth:s,lineColor:a,pointSize:i,pointColor:c}=this.options;if(r&&this.faceLandmarks instanceof Yt&&(e.strokeStyle=a,e.lineWidth=s,lt(e,this.faceLandmarks.getJawOutline()),lt(e,this.faceLandmarks.getLeftEyeBrow()),lt(e,this.faceLandmarks.getRightEyeBrow()),lt(e,this.faceLandmarks.getNose()),lt(e,this.faceLandmarks.getLeftEye(),!0),lt(e,this.faceLandmarks.getRightEye(),!0),lt(e,this.faceLandmarks.getMouth(),!0)),n){e.strokeStyle=c,e.fillStyle=c;let m=p=>{e.beginPath(),e.arc(p.x,p.y,i,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(m)}}};function jn(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof H?r:qt(r)?r.landmarks:void 0;if(!n)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new vr(n).draw(o)})}var No="1.7.13";var ft=v(x());var N=v(x());function Jn(o,t){let e=he(o,t),r=be(o,t);function n(a,i,c){let m=r(a,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=e(a,i,1,`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function s(a,i){let c=r(a,a,`${i}/separable_conv0`),m=r(a,a,`${i}/separable_conv1`),p=r(a,a,`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:n,extractMainBlockParams:s}}function Lo(o,t){let e=[],{extractWeights:r,getRemainingWeights:n}=k(o),{extractConvParams:s,extractSeparableConvParams:a,extractReductionBlockParams:i,extractMainBlockParams:c}=Jn(r,e),m=s(3,32,3,"entry_flow/conv_in"),p=i(32,64,"entry_flow/reduction_block_0"),u=i(64,128,"entry_flow/reduction_block_1"),f={conv_in:m,reduction_block_0:p,reduction_block_1:u},l={};ct(t,0,1).forEach(g=>{l[`main_block_${g}`]=c(128,`middle_flow/main_block_${g}`)});let b=i(128,256,"exit_flow/reduction_block"),T=a(256,512,"exit_flow/separable_conv"),h={reduction_block:b,separable_conv:T};if(n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{paramMappings:e,params:{entry_flow:f,middle_flow:l,exit_flow:h}}}function qn(o,t){let e=Y(o,t),r=dr(e),n=ge(e);function s(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=r(`${i}/expansion_conv`);return{separable_conv0:c,separable_conv1:m,expansion_conv:p}}function a(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=n(`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:s,extractMainBlockParams:a}}function So(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:s,extractMainBlockParams:a}=qn(o,e),i=r("entry_flow/conv_in"),c=s("entry_flow/reduction_block_0"),m=s("entry_flow/reduction_block_1"),p={conv_in:i,reduction_block_0:c,reduction_block_1:m},u={};ct(t,0,1).forEach(T=>{u[`main_block_${T}`]=a(`middle_flow/main_block_${T}`)});let f=s("exit_flow/reduction_block"),l=n("exit_flow/separable_conv"),b={reduction_block:f,separable_conv:l};return W(o,e),{params:{entry_flow:p,middle_flow:u,exit_flow:b},paramMappings:e}}function Ao(o,t,e){return N.add(N.conv2d(o,t.filters,e,"same"),t.bias)}function mo(o,t,e=!0){let r=e?N.relu(o):o;return r=O(r,t.separable_conv0,[1,1]),r=O(N.relu(r),t.separable_conv1,[1,1]),r=N.maxPool(r,[3,3],[2,2],"same"),r=N.add(r,Ao(o,t.expansion_conv,[2,2])),r}function Zn(o,t){let e=O(N.relu(o),t.separable_conv0,[1,1]);return e=O(N.relu(e),t.separable_conv1,[1,1]),e=O(N.relu(e),t.separable_conv2,[1,1]),e=N.add(e,o),e}var yr=class extends A{constructor(t){super("TinyXception"),this._numMainBlocks=t}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyXception - load model before inference");return N.tidy(()=>{let r=N.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=N.relu(Ao(s,e.entry_flow.conv_in,[2,2]));return a=mo(a,e.entry_flow.reduction_block_0,!1),a=mo(a,e.entry_flow.reduction_block_1),ct(this._numMainBlocks,0,1).forEach(i=>{a=Zn(a,e.middle_flow[`main_block_${i}`])}),a=mo(a,e.exit_flow.reduction_block),a=N.relu(O(a,e.exit_flow.separable_conv,[1,1])),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(t){return So(t,this._numMainBlocks)}extractParams(t){return Lo(t,this._numMainBlocks)}};function Wo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),n=fr(e,t),s=n(512,1,"fc/age"),a=n(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:s,gender:a}}}}function ko(o){let t=[],e=Y(o,t);function r(s){let a=e(`${s}/weights`,2),i=e(`${s}/bias`,1);return{weights:a,bias:i}}let n={fc:{age:r("fc/age"),gender:r("fc/gender")}};return W(o,t),{params:n,paramMappings:t}}var _r=(e=>(e.FEMALE="female",e.MALE="male",e))(_r||{});var He=class extends A{constructor(t=new yr(2)){super("AgeGenderNet"),this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return ft.tidy(()=>{let r=t instanceof ut?this.faceFeatureExtractor.forwardInput(t):t,n=ft.avgPool(r,[7,7],[2,2],"valid").as2D(r.shape[0],-1),s=$e(n,e.fc.age).as1D(),a=$e(n,e.fc.gender);return{age:s,gender:a}})}forwardInput(t){return ft.tidy(()=>{let{age:e,gender:r}=this.runNet(t);return{age:e,gender:ft.softmax(r)}})}async forward(t){return this.forwardInput(await D(t))}async predictAgeAndGender(t){let e=await D(t),r=await this.forwardInput(e),n=ft.unstack(r.age),s=ft.unstack(r.gender),a=n.map((c,m)=>({ageTensor:c,genderTensor:s[m]})),i=await Promise.all(a.map(async({ageTensor:c,genderTensor:m})=>{let p=c.dataSync()[0],u=m.dataSync()[0],f=u>.5,l=f?"male":"female",b=f?u:1-u;return c.dispose(),m.dispose(),{age:p,gender:l,genderProbability:b}}));return r.age.dispose(),r.gender.dispose(),e.isBatchInput?i:i[0]}getDefaultModelName(){return"age_gender_model"}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Wo(t)}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=br(t);return this.faceFeatureExtractor.loadFromWeightMap(e),ko(r)}extractParams(t){let r=t.slice(0,t.length-1539),n=t.slice(t.length-1539);return this.faceFeatureExtractor.extractWeights(r),this.extractClassifierParams(n)}};var V=v(x());var we=class extends _e{postProcess(t,e,r){let n=r.map(({width:a,height:i})=>{let c=e/Math.max(i,a);return{width:a*c,height:i*c}}),s=n.length;return V.tidy(()=>{let a=(u,f)=>V.stack([V.fill([68],u,"float32"),V.fill([68],f,"float32")],1).as2D(1,136).as1D(),i=(u,f)=>{let{width:l,height:b}=n[u];return f(l,b)?Math.abs(l-b)/2:0},c=u=>i(u,(f,l)=>fi(u,(f,l)=>la(c(f),m(f))))).div(V.stack(Array.from(Array(s),(u,f)=>a(n[f].width,n[f].height))))})}forwardInput(t){return V.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,n])=>({height:r,width:n})))})}async forward(t){return this.forwardInput(await D(t))}async detectLandmarks(t){let e=await D(t),r=V.tidy(()=>V.unstack(this.forwardInput(e))),n=await Promise.all(r.map(async(s,a)=>{let i=Array.from(s.dataSync()),c=i.filter((p,u)=>er(u)),m=i.filter((p,u)=>!er(u));return new Yt(Array(68).fill(0).map((p,u)=>new _(c[u],m[u])),{height:e.getInputHeight(a),width:e.getInputWidth(a)})}));return r.forEach(s=>s.dispose()),e.isBatchInput?n:n[0]}getClassifierChannelsOut(){return 136}};var Zt=class extends we{constructor(t=new xe){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};var Fe=v(x());function Bo(o){let t=[],{extractDenseBlock3Params:e}=hr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return W(o,t),{params:r,paramMappings:t}}function Ro(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractDenseBlock3Params:n}=lr(e,t),s=n(3,32,"dense0",!0),a=n(32,64,"dense1"),i=n(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:a,dense2:i}}}var Tr=class extends A{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return Fe.tidy(()=>{let r=Fe.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=mr(s,e.dense0,!0);return a=mr(a,e.dense1),a=mr(a,e.dense2),a=Fe.avgPool(a,[14,14],[2,2],"valid"),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Bo(t)}extractParams(t){return Ro(t)}};var ze=class extends we{constructor(t=new Tr){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var po=class extends Zt{};var nt=v(x());var De=v(x());var Pr=v(x());function $o(o,t){return Pr.add(Pr.mul(o,t.weights),t.biases)}function uo(o,t,e,r,n="same"){let{filters:s,bias:a}=t.conv,i=De.conv2d(o,s,e,n);return i=De.add(i,a),i=$o(i,t.scale),r?De.relu(i):i}function Oo(o,t){return uo(o,t,[1,1],!0)}function fo(o,t){return uo(o,t,[1,1],!1)}function wr(o,t){return uo(o,t,[2,2],!0,"valid")}var G=v(x());function Kn(o,t){function e(i,c,m){let p=o(i),u=p.length/(c*m*m);if($r(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${p.length}, numFilters: ${c}, filterSize: ${m}`);return G.tidy(()=>G.transpose(G.tensor4d(p,[c,u,m,m]),[2,3,1,0]))}function r(i,c,m,p){let u=e(i,c,m),f=G.tensor1d(o(c));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:u,bias:f}}function n(i,c){let m=G.tensor1d(o(i)),p=G.tensor1d(o(i));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:m,biases:p}}function s(i,c,m,p){let u=r(i,c,m,`${p}/conv`),f=n(c,`${p}/scale`);return{conv:u,scale:f}}function a(i,c,m,p,u=!1){let f=s((u?.5:1)*i,c,m,`${p}/conv1`),l=s(i,c,m,`${p}/conv2`);return{conv1:f,conv2:l}}return{extractConvLayerParams:s,extractResidualLayerParams:a}}function Ho(o){let{extractWeights:t,getRemainingWeights:e}=k(o),r=[],{extractConvLayerParams:n,extractResidualLayerParams:s}=Kn(t,r),a=n(4704,32,7,"conv32_down"),i=s(9216,32,3,"conv32_1"),c=s(9216,32,3,"conv32_2"),m=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),u=s(36864,64,3,"conv64_1"),f=s(36864,64,3,"conv64_2"),l=s(36864,64,3,"conv64_3"),b=s(147456,128,3,"conv128_down",!0),T=s(147456,128,3,"conv128_1"),h=s(147456,128,3,"conv128_2"),g=s(589824,256,3,"conv256_down",!0),P=s(589824,256,3,"conv256_1"),y=s(589824,256,3,"conv256_2"),I=s(589824,256,3,"conv256_down_out"),j=G.tidy(()=>G.transpose(G.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:a,conv32_1:i,conv32_2:c,conv32_3:m,conv64_down:p,conv64_1:u,conv64_2:f,conv64_3:l,conv128_down:b,conv128_1:T,conv128_2:h,conv256_down:g,conv256_1:P,conv256_2:y,conv256_down_out:I,fc:j},paramMappings:r}}function Qn(o,t){let e=Y(o,t);function r(a){let i=e(`${a}/scale/weights`,1),c=e(`${a}/scale/biases`,1);return{weights:i,biases:c}}function n(a){let i=e(`${a}/conv/filters`,4),c=e(`${a}/conv/bias`,1),m=r(a);return{conv:{filters:i,bias:c},scale:m}}function s(a){return{conv1:n(`${a}/conv1`),conv2:n(`${a}/conv2`)}}return{extractConvLayerParams:n,extractResidualLayerParams:s}}function zo(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Qn(o,t),n=e("conv32_down"),s=r("conv32_1"),a=r("conv32_2"),i=r("conv32_3"),c=r("conv64_down"),m=r("conv64_1"),p=r("conv64_2"),u=r("conv64_3"),f=r("conv128_down"),l=r("conv128_1"),b=r("conv128_2"),T=r("conv256_down"),h=r("conv256_1"),g=r("conv256_2"),P=r("conv256_down_out"),{fc:y}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!Rr(y))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${y}`);let I={conv32_down:n,conv32_1:s,conv32_2:a,conv32_3:i,conv64_down:c,conv64_1:m,conv64_2:p,conv64_3:u,conv128_down:f,conv128_1:l,conv128_2:b,conv256_down:T,conv256_1:h,conv256_2:g,conv256_down_out:P,fc:y};return W(o,t),{params:I,paramMappings:t}}var B=v(x());function ot(o,t){let e=Oo(o,t.conv1);return e=fo(e,t.conv2),e=B.add(e,o),e=B.relu(e),e}function Ye(o,t){let e=wr(o,t.conv1);e=fo(e,t.conv2);let r=B.avgPool(o,2,2,"valid"),n=B.zeros(r.shape),s=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let i=[...e.shape];i[1]=1;let c=B.zeros(i);e=B.concat([e,c],1);let m=[...e.shape];m[2]=1;let p=B.zeros(m);e=B.concat([e,p],2)}return r=s?B.concat([r,n],3):r,e=B.add(r,e),e=B.relu(e),e}var Kt=class extends A{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return nt.tidy(()=>{let r=nt.cast(t.toBatchTensor(150,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=wr(s,e.conv32_down);a=nt.maxPool(a,3,2,"valid"),a=ot(a,e.conv32_1),a=ot(a,e.conv32_2),a=ot(a,e.conv32_3),a=Ye(a,e.conv64_down),a=ot(a,e.conv64_1),a=ot(a,e.conv64_2),a=ot(a,e.conv64_3),a=Ye(a,e.conv128_down),a=ot(a,e.conv128_1),a=ot(a,e.conv128_2),a=Ye(a,e.conv256_down),a=ot(a,e.conv256_1),a=ot(a,e.conv256_2),a=Ye(a,e.conv256_down_out);let i=a.mean([1,2]);return nt.matMul(i,e.fc)})}async forward(t){return this.forwardInput(await D(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(a=>a<=0))return new Float32Array(128);let e=await D(t),r=nt.tidy(()=>nt.unstack(this.forwardInput(e))),n=await Promise.all(r.map(a=>a.data()));return r.forEach(a=>a.dispose()),e.isBatchInput?n:n[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return zo(t)}extractParams(t){return Ho(t)}};function ta(o){let t=new Kt;return t.extractWeights(o),t}function Fr(o,t){return{...o,...{descriptor:t}}}function ea(o){return typeof o.age=="number"}function Dr(o,t){return{...o,...{age:t}}}function ra(o){return(o.gender==="male"||o.gender==="female")&&ce(o.genderProbability)}function Er(o,t,e){return{...o,...{gender:t,genderProbability:e}}}var Nt=v(x());var at=v(x());function oa(o,t){function e(c,m){let p=at.tensor4d(o(9*c),[3,3,c,1]),u=at.tensor1d(o(c)),f=at.tensor1d(o(c)),l=at.tensor1d(o(c)),b=at.tensor1d(o(c));return t.push({paramPath:`${m}/filters`},{paramPath:`${m}/batch_norm_scale`},{paramPath:`${m}/batch_norm_offset`},{paramPath:`${m}/batch_norm_mean`},{paramPath:`${m}/batch_norm_variance`}),{filters:p,batch_norm_scale:u,batch_norm_offset:f,batch_norm_mean:l,batch_norm_variance:b}}function r(c,m,p,u,f){let l=at.tensor4d(o(c*m*p*p),[p,p,c,m]),b=at.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/${f?"batch_norm_offset":"bias"}`}),{filters:l,bias:b}}function n(c,m,p,u){let{filters:f,bias:l}=r(c,m,p,u,!0);return{filters:f,batch_norm_offset:l}}function s(c,m,p){let u=e(c,`${p}/depthwise_conv`),f=n(c,m,1,`${p}/pointwise_conv`);return{depthwise_conv:u,pointwise_conv:f}}function a(){let c=n(3,32,3,"mobilenetv1/conv_0"),m=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),u=s(128,128,"mobilenetv1/conv_3"),f=s(128,256,"mobilenetv1/conv_4"),l=s(256,256,"mobilenetv1/conv_5"),b=s(256,512,"mobilenetv1/conv_6"),T=s(512,512,"mobilenetv1/conv_7"),h=s(512,512,"mobilenetv1/conv_8"),g=s(512,512,"mobilenetv1/conv_9"),P=s(512,512,"mobilenetv1/conv_10"),y=s(512,512,"mobilenetv1/conv_11"),I=s(512,1024,"mobilenetv1/conv_12"),j=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:b,conv_7:T,conv_8:h,conv_9:g,conv_10:P,conv_11:y,conv_12:I,conv_13:j}}function i(){let c=n(1024,256,1,"prediction_layer/conv_0"),m=n(256,512,3,"prediction_layer/conv_1"),p=n(512,128,1,"prediction_layer/conv_2"),u=n(128,256,3,"prediction_layer/conv_3"),f=n(256,128,1,"prediction_layer/conv_4"),l=n(128,256,3,"prediction_layer/conv_5"),b=n(256,64,1,"prediction_layer/conv_6"),T=n(64,128,3,"prediction_layer/conv_7"),h=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),g=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),P=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),y=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),I=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),j=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),tt=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),it=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),q=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),Pt=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),wt=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),Ft=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:b,conv_7:T,box_predictor_0:{box_encoding_predictor:h,class_predictor:g},box_predictor_1:{box_encoding_predictor:P,class_predictor:y},box_predictor_2:{box_encoding_predictor:I,class_predictor:j},box_predictor_3:{box_encoding_predictor:tt,class_predictor:it},box_predictor_4:{box_encoding_predictor:q,class_predictor:Pt},box_predictor_5:{box_encoding_predictor:wt,class_predictor:Ft}}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:i}}function Yo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractMobilenetV1Params:n,extractPredictionLayerParams:s}=oa(e,t),a=n(),i=s(),m={extra_dim:at.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:a,prediction_layer:i,output_layer:m},paramMappings:t}}function na(o,t){let e=Y(o,t);function r(m,p,u){let f=e(`${m}/Conv2d_${p}_pointwise/weights`,4,`${u}/filters`),l=e(`${m}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${u}/batch_norm_offset`);return{filters:f,batch_norm_offset:l}}function n(m){let p=`mobilenetv1/conv_${m}`,u=`MobilenetV1/Conv2d_${m}_depthwise`,f=`${p}/depthwise_conv`,l=`${p}/pointwise_conv`,b=e(`${u}/depthwise_weights`,4,`${f}/filters`),T=e(`${u}/BatchNorm/gamma`,1,`${f}/batch_norm_scale`),h=e(`${u}/BatchNorm/beta`,1,`${f}/batch_norm_offset`),g=e(`${u}/BatchNorm/moving_mean`,1,`${f}/batch_norm_mean`),P=e(`${u}/BatchNorm/moving_variance`,1,`${f}/batch_norm_variance`);return{depthwise_conv:{filters:b,batch_norm_scale:T,batch_norm_offset:h,batch_norm_mean:g,batch_norm_variance:P},pointwise_conv:r("MobilenetV1",m,l)}}function s(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:n(1),conv_2:n(2),conv_3:n(3),conv_4:n(4),conv_5:n(5),conv_6:n(6),conv_7:n(7),conv_8:n(8),conv_9:n(9),conv_10:n(10),conv_11:n(11),conv_12:n(12),conv_13:n(13)}}function a(m,p){let u=e(`${m}/weights`,4,`${p}/filters`),f=e(`${m}/biases`,1,`${p}/bias`);return{filters:u,bias:f}}function i(m){let p=a(`Prediction/BoxPredictor_${m}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${m}/box_encoding_predictor`),u=a(`Prediction/BoxPredictor_${m}/ClassPredictor`,`prediction_layer/box_predictor_${m}/class_predictor`);return{box_encoding_predictor:p,class_predictor:u}}function c(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:i(0),box_predictor_1:i(1),box_predictor_2:i(2),box_predictor_3:i(3),box_predictor_4:i(4),box_predictor_5:i(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:c}}function Vo(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=na(o,t),n=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!dt(n))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${n}`);let s={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:n}};return W(o,t),{params:s,paramMappings:t}}var xt=v(x());var Ct=v(x());function Z(o,t,e){return Ct.tidy(()=>{let r=Ct.conv2d(o,t.filters,e,"same");return r=Ct.add(r,t.batch_norm_offset),Ct.clipByValue(r,0,6)})}var aa=.0010000000474974513;function sa(o,t,e){return xt.tidy(()=>{let r=xt.depthwiseConv2d(o,t.filters,e,"same");return r=xt.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,aa),xt.clipByValue(r,0,6)})}function ia(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function Go(o,t){return xt.tidy(()=>{let e,r=Z(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,a)=>{let i=a+1,c=ia(i);r=sa(r,s.depthwise_conv,c),r=Z(r,s.pointwise_conv,[1,1]),i===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function ca(o,t,e){let r=o.arraySync(),n=Math.min(r[t][0],r[t][2]),s=Math.min(r[t][1],r[t][3]),a=Math.max(r[t][0],r[t][2]),i=Math.max(r[t][1],r[t][3]),c=Math.min(r[e][0],r[e][2]),m=Math.min(r[e][1],r[e][3]),p=Math.max(r[e][0],r[e][2]),u=Math.max(r[e][1],r[e][3]),f=(a-n)*(i-s),l=(p-c)*(u-m);if(f<=0||l<=0)return 0;let b=Math.max(n,c),T=Math.max(s,m),h=Math.min(a,p),g=Math.min(i,u),P=Math.max(h-b,0)*Math.max(g-T,0);return P/(f+l-P)}function jo(o,t,e,r,n){let s=o.shape[0],a=Math.min(e,s),i=t.map((p,u)=>({score:p,boxIndex:u})).filter(p=>p.score>n).sort((p,u)=>u.score-p.score),c=p=>p<=r?1:0,m=[];return i.forEach(p=>{if(m.length>=a)return;let u=p.score;for(let f=m.length-1;f>=0;--f){let l=ca(o,p.boxIndex,m[f]);if(l!==0&&(p.score*=c(l),p.score<=n))break}u===p.score&&m.push(p.boxIndex)}),m}var d=v(x());function ma(o){let t=d.unstack(d.transpose(o,[1,0])),e=[d.sub(t[2],t[0]),d.sub(t[3],t[1])],r=[d.add(t[0],d.div(e[0],2)),d.add(t[1],d.div(e[1],2))];return{sizes:e,centers:r}}function pa(o,t){let{sizes:e,centers:r}=ma(o),n=d.unstack(d.transpose(t,[1,0])),s=d.div(d.mul(d.exp(d.div(n[2],5)),e[0]),2),a=d.add(d.mul(d.div(n[0],10),e[0]),r[0]),i=d.div(d.mul(d.exp(d.div(n[3],5)),e[1]),2),c=d.add(d.mul(d.div(n[1],10),e[1]),r[1]);return d.transpose(d.stack([d.sub(a,s),d.sub(c,i),d.add(a,s),d.add(c,i)]),[1,0])}function Uo(o,t,e){return d.tidy(()=>{let r=o.shape[0],n=pa(d.reshape(d.tile(e.extra_dim,[r,1,1]),[-1,4]),d.reshape(o,[-1,4]));n=d.reshape(n,[r,n.shape[0]/r,4]);let s=d.sigmoid(d.slice(t,[0,0,1],[-1,-1,-1])),a=d.slice(s,[0,0,0],[-1,-1,1]);a=d.reshape(a,[r,a.shape[1]]);let i=d.unstack(n),c=d.unstack(a);return{boxes:i,scores:c}})}var Ge=v(x());var Ve=v(x());function Qt(o,t){return Ve.tidy(()=>{let e=o.shape[0],r=Ve.reshape(Jt(o,t.box_encoding_predictor),[e,-1,1,4]),n=Ve.reshape(Jt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:n}})}function Xo(o,t,e){return Ge.tidy(()=>{let r=Z(o,e.conv_0,[1,1]),n=Z(r,e.conv_1,[2,2]),s=Z(n,e.conv_2,[1,1]),a=Z(s,e.conv_3,[2,2]),i=Z(a,e.conv_4,[1,1]),c=Z(i,e.conv_5,[2,2]),m=Z(c,e.conv_6,[1,1]),p=Z(m,e.conv_7,[2,2]),u=Qt(t,e.box_predictor_0),f=Qt(o,e.box_predictor_1),l=Qt(n,e.box_predictor_2),b=Qt(a,e.box_predictor_3),T=Qt(c,e.box_predictor_4),h=Qt(p,e.box_predictor_5),g=Ge.concat([u.boxPredictionEncoding,f.boxPredictionEncoding,l.boxPredictionEncoding,b.boxPredictionEncoding,T.boxPredictionEncoding,h.boxPredictionEncoding],1),P=Ge.concat([u.classPrediction,f.classPrediction,l.classPrediction,b.classPrediction,T.classPrediction,h.classPrediction],1);return{boxPredictions:g,classPredictions:P}})}var X=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var It=class extends A{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return Nt.tidy(()=>{let r=Nt.cast(t.toBatchTensor(512,!1),"float32"),n=Nt.sub(Nt.div(r,127.5),1),s=Go(n,e.mobilenetv1),{boxPredictions:a,classPredictions:i}=Xo(s.out,s.conv11,e.prediction_layer);return Uo(a,i,e.output_layer)})}async forward(t){return this.forwardInput(await D(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:n}=new X(e),s=await D(t),{boxes:a,scores:i}=this.forwardInput(s),c=a[0],m=i[0];for(let y=1;y{let[I,j]=[Math.max(0,g[y][0]),Math.min(1,g[y][2])].map(q=>q*h),[tt,it]=[Math.max(0,g[y][1]),Math.min(1,g[y][3])].map(q=>q*T);return new M(p[y],new zt(tt,I,it-tt,j-I),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return c.dispose(),m.dispose(),P}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Vo(t)}extractParams(t){return Yo(t)}};function Jo(o){let t=new It;return t.extractWeights(o),t}function ua(o){return Jo(o)}var lo=class extends It{};var qo=.4,Zo=[new _(.738768,.874946),new _(2.42204,2.65704),new _(4.30971,7.04493),new _(10.246,4.59428),new _(12.6868,11.8741)],Ko=[new _(1.603231,2.094468),new _(6.041143,7.080126),new _(2.882459,3.518061),new _(4.266906,5.178857),new _(9.041765,10.66308)],Qo=[117.001,114.697,97.404],tn="tiny_yolov2_model",en="tiny_yolov2_separable_conv_model";var C=v(x());var Mr=o=>typeof o=="number";function ho(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Mr(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Mr(t.x)&&Mr(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Mr)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}var Q=v(x());var K=v(x());function Ee(o){return K.tidy(()=>{let t=K.mul(o,K.scalar(.10000000149011612));return K.add(K.relu(K.sub(o,t)),t)})}function vt(o,t){return Q.tidy(()=>{let e=Q.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Q.conv2d(e,t.conv.filters,[1,1],"valid"),e=Q.sub(e,t.bn.sub),e=Q.mul(e,t.bn.truediv),e=Q.add(e,t.conv.bias),Ee(e)})}var Lt=v(x());function yt(o,t){return Lt.tidy(()=>{let e=Lt.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Lt.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=Lt.add(e,t.bias),Ee(e)})}var bo=v(x());function fa(o,t){let e=he(o,t);function r(a,i){let c=bo.tensor1d(o(a)),m=bo.tensor1d(o(a));return t.push({paramPath:`${i}/sub`},{paramPath:`${i}/truediv`}),{sub:c,truediv:m}}function n(a,i,c){let m=e(a,i,3,`${c}/conv`),p=r(i,`${c}/bn`);return{conv:m,bn:p}}let s=be(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:n,extractSeparableConvParams:s}}function rn(o,t,e,r){let{extractWeights:n,getRemainingWeights:s}=k(o),a=[],{extractConvParams:i,extractConvWithBatchNormParams:c,extractSeparableConvParams:m}=fa(n,a),p;if(t.withSeparableConvs){let[u,f,l,b,T,h,g,P,y]=r,I=t.isFirstLayerConv2d?i(u,f,3,"conv0"):m(u,f,"conv0"),j=m(f,l,"conv1"),tt=m(l,b,"conv2"),it=m(b,T,"conv3"),q=m(T,h,"conv4"),Pt=m(h,g,"conv5"),wt=P?m(g,P,"conv6"):void 0,Ft=y?m(P,y,"conv7"):void 0,ie=i(y||P||g,5*e,1,"conv8");p={conv0:I,conv1:j,conv2:tt,conv3:it,conv4:q,conv5:Pt,conv6:wt,conv7:Ft,conv8:ie}}else{let[u,f,l,b,T,h,g,P,y]=r,I=c(u,f,"conv0"),j=c(f,l,"conv1"),tt=c(l,b,"conv2"),it=c(b,T,"conv3"),q=c(T,h,"conv4"),Pt=c(h,g,"conv5"),wt=c(g,P,"conv6"),Ft=c(P,y,"conv7"),ie=i(y,5*e,1,"conv8");p={conv0:I,conv1:j,conv2:tt,conv3:it,conv4:q,conv5:Pt,conv6:wt,conv7:Ft,conv8:ie}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:a}}function la(o,t){let e=Y(o,t);function r(i){let c=e(`${i}/sub`,1),m=e(`${i}/truediv`,1);return{sub:c,truediv:m}}function n(i){let c=e(`${i}/filters`,4),m=e(`${i}/bias`,1);return{filters:c,bias:m}}function s(i){let c=n(`${i}/conv`),m=r(`${i}/bn`);return{conv:c,bn:m}}let a=ge(e);return{extractConvParams:n,extractConvWithBatchNormParams:s,extractSeparableConvParams:a}}function on(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:n,extractSeparableConvParams:s}=la(o,e),a;if(t.withSeparableConvs){let i=t.filterSizes&&t.filterSizes.length||9;a={conv0:t.isFirstLayerConv2d?r("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:i>7?s("conv6"):void 0,conv7:i>8?s("conv7"):void 0,conv8:r("conv8")}}else a={conv0:n("conv0"),conv1:n("conv1"),conv2:n("conv2"),conv3:n("conv3"),conv4:n("conv4"),conv5:n("conv5"),conv6:n("conv6"),conv7:n("conv7"),conv8:r("conv8")};return W(o,e),{params:a,paramMappings:e}}var st=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var Cr=class Cr extends A{constructor(t){super("TinyYolov2"),ho(t),this._config=t}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(t,e){let r=vt(t,e.conv0);return r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv1),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv2),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv3),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv4),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv5),r=C.maxPool(r,[2,2],[1,1],"same"),r=vt(r,e.conv6),r=vt(r,e.conv7),Jt(r,e.conv8,"valid",!1)}runMobilenet(t,e){let r=this.config.isFirstLayerConv2d?Ee(Jt(t,e.conv0,"valid",!1)):yt(t,e.conv0);return r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv1),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv2),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv3),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv4),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv5),r=C.maxPool(r,[2,2],[1,1],"same"),r=e.conv6?yt(r,e.conv6):r,r=e.conv7?yt(r,e.conv7):r,Jt(r,e.conv8,"valid",!1)}forwardInput(t,e){let{params:r}=this;if(!r)throw new Error("TinyYolov2 - load model before inference");return C.tidy(()=>{let n=C.cast(t.toBatchTensor(e,!1),"float32");return n=this.config.meanRgb?rt(n,this.config.meanRgb):n,n=n.div(255),this.config.withSeparableConvs?this.runMobilenet(n,r):this.runTinyYolov2(n,r)})}async forward(t,e){return this.forwardInput(await D(t),e)}async detect(t,e={}){let{inputSize:r,scoreThreshold:n}=new st(e),s=await D(t),a=await this.forwardInput(s,r),i=C.tidy(()=>C.unstack(a)[0].expandDims()),c={width:s.getInputWidth(0),height:s.getInputHeight(0)},m=await this.extractBoxes(i,s.getReshapedInputDimensions(0),n);a.dispose(),i.dispose();let p=m.map(h=>h.box),u=m.map(h=>h.score),f=m.map(h=>h.classScore),l=m.map(h=>this.config.classes[h.label]);return Vr(p.map(h=>h.rescale(r)),u,this.config.iouThreshold,!0).map(h=>new Ht(u[h],f[h],l[h],p[h],c))}getDefaultModelName(){return""}extractParamsFromWeightMap(t){return on(t,this.config)}extractParams(t){let e=this.config.filterSizes||Cr.DEFAULT_FILTER_SIZES,r=e?e.length:void 0;if(r!==7&&r!==8&&r!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${r} filterSizes in config`);return rn(t,this.config,this.boxEncodingSize,e)}async extractBoxes(t,e,r){let{width:n,height:s}=e,a=Math.max(n,s),i=a/n,c=a/s,m=t.shape[1],p=this.config.anchors.length,[u,f,l]=C.tidy(()=>{let g=t.reshape([m,m,p,this.boxEncodingSize]),P=g.slice([0,0,0,0],[m,m,p,4]),y=g.slice([0,0,0,4],[m,m,p,1]),I=this.withClassScores?C.softmax(g.slice([0,0,0,5],[m,m,p,this.config.classes.length]),3):C.scalar(0);return[P,y,I]}),b=[],T=await f.array(),h=await u.array();for(let g=0;gr){let j=(P+Ne(h[g][P][y][0]))/m*i,tt=(g+Ne(h[g][P][y][1]))/m*c,it=Math.exp(h[g][P][y][2])*this.config.anchors[y].x/m*i,q=Math.exp(h[g][P][y][3])*this.config.anchors[y].y/m*c,Pt=j-it/2,wt=tt-q/2,Ft={row:g,col:P,anchor:y},{classScore:ie,label:yo}=this.withClassScores?await this.extractPredictedClass(l,Ft):{classScore:1,label:0};b.push({box:new Ot(Pt,wt,Pt+it,wt+q),score:I,classScore:I*ie,label:yo,...Ft})}}return u.dispose(),f.dispose(),l.dispose(),b}async extractPredictedClass(t,e){let{row:r,col:n,anchor:s}=e,a=await t.array();return Array(this.config.classes.length).fill(0).map((i,c)=>a[r][n][s][c]).map((i,c)=>({classScore:i,label:c})).reduce((i,c)=>i.classScore>c.classScore?i:c)}};Cr.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Me=Cr;var te=class extends Me{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:qo,classes:["face"],...t?{anchors:Ko,meanRgb:Qo}:{anchors:Zo,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?en:tn}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function da(o,t=!0){let e=new te(t);return e.extractWeights(o),e}var je=class extends st{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var J=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};var Xe=v(x());var go=v(x());async function ee(o,t,e,r,n=({alignedRect:s})=>s){let s=o.map(c=>qt(c)?n(c):c.detection),a=r||(t instanceof go.Tensor?await le(t,s):await fe(t,s)),i=await e(a);return a.forEach(c=>c instanceof go.Tensor&&c.dispose()),i}async function Ce(o,t,e,r,n){return ee([o],t,async s=>e(s[0]),r,n)}var nn=.4,an=[new _(1.603231,2.094468),new _(6.041143,7.080126),new _(2.882459,3.518061),new _(4.266906,5.178857),new _(9.041765,10.66308)],sn=[117.001,114.697,97.404];var re=class extends Me{constructor(){let t={withSeparableConvs:!0,iouThreshold:nn,classes:["face"],anchors:an,meanRgb:sn,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var F={ssdMobilenetv1:new It,tinyFaceDetector:new re,tinyYolov2:new te,faceLandmark68Net:new Zt,faceLandmark68TinyNet:new ze,faceRecognitionNet:new Kt,faceExpressionNet:new Oe,ageGenderNet:new He},cn=(o,t)=>F.ssdMobilenetv1.locateFaces(o,t),ha=(o,t)=>F.tinyFaceDetector.locateFaces(o,t),ba=(o,t)=>F.tinyYolov2.locateFaces(o,t),mn=o=>F.faceLandmark68Net.detectLandmarks(o),ga=o=>F.faceLandmark68TinyNet.detectLandmarks(o),xa=o=>F.faceRecognitionNet.computeFaceDescriptor(o),va=o=>F.faceExpressionNet.predictExpressions(o),ya=o=>F.ageGenderNet.predictAgeAndGender(o),pn=o=>F.ssdMobilenetv1.load(o),_a=o=>F.tinyFaceDetector.load(o),Ta=o=>F.tinyYolov2.load(o),Pa=o=>F.faceLandmark68Net.load(o),wa=o=>F.faceLandmark68TinyNet.load(o),Fa=o=>F.faceRecognitionNet.load(o),Da=o=>F.faceExpressionNet.load(o),Ea=o=>F.ageGenderNet.load(o),Ma=pn,Ca=cn,Ia=mn;var Ir=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},oe=class extends Ir{async run(){let t=await this.parentTask,e=await ee(t,this.input,async r=>Promise.all(r.map(n=>F.faceExpressionNet.predictExpressions(n))),this.extractedFaces);return t.map((r,n)=>gr(r,e[n]))}withAgeAndGender(){return new ae(this,this.input)}},ne=class extends Ir{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>F.faceExpressionNet.predictExpressions(r),this.extractedFaces);return gr(t,e)}withAgeAndGender(){return new se(this,this.input)}},St=class extends oe{withAgeAndGender(){return new Wt(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},At=class extends ne{withAgeAndGender(){return new kt(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Nr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ae=class extends Nr{async run(){let t=await this.parentTask,e=await ee(t,this.input,async r=>Promise.all(r.map(n=>F.ageGenderNet.predictAgeAndGender(n))),this.extractedFaces);return t.map((r,n)=>{let{age:s,gender:a,genderProbability:i}=e[n];return Dr(Er(r,a,i),s)})}withFaceExpressions(){return new oe(this,this.input)}},se=class extends Nr{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:n}=await Ce(t,this.input,s=>F.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return Dr(Er(t,r,n),e)}withFaceExpressions(){return new ne(this,this.input)}},Wt=class extends ae{withFaceExpressions(){return new St(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},kt=class extends se{withFaceExpressions(){return new At(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Ue=class extends J{constructor(e,r){super();this.parentTask=e;this.input=r}},_t=class extends Ue{async run(){let t=await this.parentTask;return(await ee(t,this.input,r=>Promise.all(r.map(n=>F.faceRecognitionNet.computeFaceDescriptor(n))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,n)=>Fr(t[n],r))}withFaceExpressions(){return new St(this,this.input)}withAgeAndGender(){return new Wt(this,this.input)}},Tt=class extends Ue{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>F.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return Fr(t,e)}withFaceExpressions(){return new At(this,this.input)}withAgeAndGender(){return new kt(this,this.input)}};var Je=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?F.faceLandmark68TinyNet:F.faceLandmark68Net}},qe=class extends Je{async run(){let t=await this.parentTask,e=t.map(a=>a.detection),r=this.input instanceof Xe.Tensor?await le(this.input,e):await fe(this.input,e),n=await Promise.all(r.map(a=>this.landmarkNet.detectLandmarks(a)));return r.forEach(a=>a instanceof Xe.Tensor&&a.dispose()),t.filter((a,i)=>n[i]).map((a,i)=>Pe(a,n[i]))}withFaceExpressions(){return new St(this,this.input)}withAgeAndGender(){return new Wt(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},Ze=class extends Je{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof Xe.Tensor?await le(this.input,[e]):await fe(this.input,[e]),n=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(s=>s instanceof Xe.Tensor&&s.dispose()),Pe(t,n)}withFaceExpressions(){return new At(this,this.input)}withAgeAndGender(){return new kt(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Ke=class extends J{constructor(e,r=new X){super();this.input=e;this.options=r}},Ie=class extends Ke{async run(){let{input:t,options:e}=this,r;if(e instanceof je)r=F.tinyFaceDetector.locateFaces(t,e);else if(e instanceof X)r=F.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof st)r=F.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(n=>Vt({},n)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new qe(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new oe(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new ae(this.runAndExtendWithFaceDetections(),this.input)}},Qe=class extends Ke{async run(){let t=await new Ie(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?Vt({},e):void 0)})}withFaceLandmarks(t=!1){return new Ze(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new ne(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new se(this.runAndExtendWithFaceDetection(),this.input)}};function Na(o,t=new X){return new Qe(o,t)}function Lr(o,t=new X){return new Ie(o,t)}async function un(o,t){return Lr(o,new X(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function La(o,t={}){return Lr(o,new st(t)).withFaceLandmarks().withFaceDescriptors()}var Sa=un;function xo(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((n,s)=>n-r[s]).reduce((n,s)=>n+s*s,0))}var vo=class o{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let n=1,s=()=>`person ${n++}`;this._labeledDescriptors=r.map(a=>{if(a instanceof Et)return a;if(a instanceof Float32Array)return new Et(s(),[a]);if(a.descriptor&&a.descriptor instanceof Float32Array)return new Et(s(),[a.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>xo(r,t)).reduce((r,n)=>r+n,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new me(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>Et.fromJSON(r));return new o(e,t.distanceThreshold)}};function Aa(o){let t=new re;return t.extractWeights(o),t}function fn(o,t){let{width:e,height:r}=new R(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(n=>fn(n,{width:e,height:r}));if(qt(o)){let n=o.detection.forSize(e,r),s=o.unshiftedLandmarks.forSize(n.box.width,n.box.height);return Pe(Vt(o,n),s)}return pt(o)?Vt(o,o.detection.forSize(e,r)):o instanceof H||o instanceof M?o.forSize(e,r):o}var ka=No;0&&(module.exports={AgeGenderNet,BoundingBox,Box,ComposableTask,ComputeAllFaceDescriptorsTask,ComputeFaceDescriptorsTaskBase,ComputeSingleFaceDescriptorTask,DetectAllFaceLandmarksTask,DetectAllFacesTask,DetectFaceLandmarksTaskBase,DetectFacesTaskBase,DetectSingleFaceLandmarksTask,DetectSingleFaceTask,Dimensions,FACE_EXPRESSION_LABELS,FaceDetection,FaceDetectionNet,FaceExpressionNet,FaceExpressions,FaceLandmark68Net,FaceLandmark68TinyNet,FaceLandmarkNet,FaceLandmarks,FaceLandmarks5,FaceLandmarks68,FaceMatch,FaceMatcher,FaceRecognitionNet,Gender,LabeledBox,LabeledFaceDescriptors,NetInput,NeuralNetwork,ObjectDetection,Point,PredictedBox,Rect,SsdMobilenetv1,SsdMobilenetv1Options,TinyFaceDetector,TinyFaceDetectorOptions,TinyYolov2,TinyYolov2Options,allFaces,allFacesSsdMobilenetv1,allFacesTinyYolov2,awaitMediaLoaded,bufferToImage,computeFaceDescriptor,createCanvas,createCanvasFromMedia,createFaceDetectionNet,createFaceRecognitionNet,createSsdMobilenetv1,createTinyFaceDetector,createTinyYolov2,detectAllFaces,detectFaceLandmarks,detectFaceLandmarksTiny,detectLandmarks,detectSingleFace,draw,env,euclideanDistance,extendWithAge,extendWithFaceDescriptor,extendWithFaceDetection,extendWithFaceExpressions,extendWithFaceLandmarks,extendWithGender,extractFaceTensors,extractFaces,fetchImage,fetchJson,fetchNetWeights,fetchOrThrow,fetchVideo,getContext2dOrThrow,getMediaDimensions,imageTensorToCanvas,imageToSquare,inverseSigmoid,iou,isMediaElement,isMediaLoaded,isWithAge,isWithFaceDetection,isWithFaceExpressions,isWithFaceLandmarks,isWithGender,loadAgeGenderModel,loadFaceDetectionModel,loadFaceExpressionModel,loadFaceLandmarkModel,loadFaceLandmarkTinyModel,loadFaceRecognitionModel,loadSsdMobilenetv1Model,loadTinyFaceDetectorModel,loadTinyYolov2Model,loadWeightMap,locateFaces,matchDimensions,minBbox,nets,nonMaxSuppression,normalize,padToSquare,predictAgeAndGender,recognizeFaceExpressions,resizeResults,resolveInput,shuffleArray,sigmoid,ssdMobilenetv1,tf,tinyFaceDetector,tinyYolov2,toNetInput,utils,validateConfig,version}); +"use strict";var ln=Object.create;var tr=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var hn=Object.getOwnPropertyNames;var bn=Object.getPrototypeOf,gn=Object.prototype.hasOwnProperty;var xn=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),Sr=(o,t)=>{for(var e in t)tr(o,e,{get:t[e],enumerable:!0})},_o=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of hn(t))!gn.call(o,n)&&n!==e&&tr(o,n,{get:()=>t[n],enumerable:!(r=dn(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?ln(bn(o)):{},_o(t||!o||!o.__esModule?tr(e,"default",{value:o,enumerable:!0}):e,o)),vn=o=>_o(tr({},"__esModule",{value:!0}),o);var x=xn((Ya,Br)=>{"use strict";var Wr=Object.defineProperty,yn=Object.getOwnPropertyDescriptor,_n=Object.getOwnPropertyNames,Tn=Object.prototype.hasOwnProperty,Pn=(o,t)=>{for(var e in t)Wr(o,e,{get:t[e],enumerable:!0})},Ar=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of _n(t))!Tn.call(o,n)&&n!==e&&Wr(o,n,{get:()=>t[n],enumerable:!(r=yn(t,n))||r.enumerable});return o},wn=(o,t,e)=>(Ar(o,t,"default"),e&&Ar(e,t,"default")),Fn=o=>Ar(Wr({},"__esModule",{value:!0}),o),kr={};Pn(kr,{version:()=>In});Br.exports=Fn(kr);wn(kr,require("@tensorflow/tfjs-node-gpu"),Br.exports);var To="4.16.0",Dn="4.16.0",En="4.16.0",Mn="4.16.0",Cn="4.16.0",In={tfjs:To,"tfjs-core":To,"tfjs-converter":Dn,"tfjs-backend-cpu":En,"tfjs-backend-webgl":Mn,"tfjs-backend-wasm":Cn}});var Ba={};Sr(Ba,{AgeGenderNet:()=>He,BoundingBox:()=>Ot,Box:()=>L,ComposableTask:()=>J,ComputeAllFaceDescriptorsTask:()=>_t,ComputeFaceDescriptorsTaskBase:()=>Ue,ComputeSingleFaceDescriptorTask:()=>Tt,DetectAllFaceLandmarksTask:()=>qe,DetectAllFacesTask:()=>Ie,DetectFaceLandmarksTaskBase:()=>Je,DetectFacesTaskBase:()=>Ke,DetectSingleFaceLandmarksTask:()=>Ze,DetectSingleFaceTask:()=>Qe,Dimensions:()=>R,FACE_EXPRESSION_LABELS:()=>so,FaceDetection:()=>M,FaceDetectionNet:()=>lo,FaceExpressionNet:()=>Oe,FaceExpressions:()=>gt,FaceLandmark68Net:()=>Zt,FaceLandmark68TinyNet:()=>ze,FaceLandmarkNet:()=>po,FaceLandmarks:()=>H,FaceLandmarks5:()=>jr,FaceLandmarks68:()=>Yt,FaceMatch:()=>me,FaceMatcher:()=>vo,FaceRecognitionNet:()=>Kt,Gender:()=>_r,LabeledBox:()=>pe,LabeledFaceDescriptors:()=>Et,NetInput:()=>ut,NeuralNetwork:()=>A,ObjectDetection:()=>Ht,Point:()=>_,PredictedBox:()=>Ur,Rect:()=>zt,SsdMobilenetv1:()=>It,SsdMobilenetv1Options:()=>X,TinyFaceDetector:()=>re,TinyFaceDetectorOptions:()=>je,TinyYolov2:()=>te,TinyYolov2Options:()=>st,allFaces:()=>Sa,allFacesSsdMobilenetv1:()=>un,allFacesTinyYolov2:()=>La,awaitMediaLoaded:()=>to,bufferToImage:()=>eo,computeFaceDescriptor:()=>xa,createCanvas:()=>Xt,createCanvasFromMedia:()=>We,createFaceDetectionNet:()=>ua,createFaceRecognitionNet:()=>ta,createSsdMobilenetv1:()=>Jo,createTinyFaceDetector:()=>Aa,createTinyYolov2:()=>da,detectAllFaces:()=>Lr,detectFaceLandmarks:()=>mn,detectFaceLandmarksTiny:()=>ga,detectLandmarks:()=>Ia,detectSingleFace:()=>Na,draw:()=>co,env:()=>w,euclideanDistance:()=>xo,extendWithAge:()=>Dr,extendWithFaceDescriptor:()=>Fr,extendWithFaceDetection:()=>Vt,extendWithFaceExpressions:()=>gr,extendWithFaceLandmarks:()=>Pe,extendWithGender:()=>Er,extractFaceTensors:()=>le,extractFaces:()=>fe,fetchImage:()=>On,fetchJson:()=>no,fetchNetWeights:()=>Hn,fetchOrThrow:()=>ht,fetchVideo:()=>zn,getContext2dOrThrow:()=>$,getMediaDimensions:()=>Ut,imageTensorToCanvas:()=>ro,imageToSquare:()=>oo,inverseSigmoid:()=>Sn,iou:()=>zr,isMediaElement:()=>sr,isMediaLoaded:()=>Ae,isWithAge:()=>ea,isWithFaceDetection:()=>pt,isWithFaceExpressions:()=>io,isWithFaceLandmarks:()=>qt,isWithGender:()=>ra,loadAgeGenderModel:()=>Ea,loadFaceDetectionModel:()=>Ma,loadFaceExpressionModel:()=>Da,loadFaceLandmarkModel:()=>Pa,loadFaceLandmarkTinyModel:()=>wa,loadFaceRecognitionModel:()=>Fa,loadSsdMobilenetv1Model:()=>pn,loadTinyFaceDetectorModel:()=>_a,loadTinyYolov2Model:()=>Ta,loadWeightMap:()=>ao,locateFaces:()=>Ca,matchDimensions:()=>Yn,minBbox:()=>Yr,nets:()=>F,nonMaxSuppression:()=>Vr,normalize:()=>rt,padToSquare:()=>Gr,predictAgeAndGender:()=>ya,recognizeFaceExpressions:()=>va,resizeResults:()=>fn,resolveInput:()=>Gt,shuffleArray:()=>Ln,sigmoid:()=>Ne,ssdMobilenetv1:()=>cn,tf:()=>Wa,tinyFaceDetector:()=>ha,tinyYolov2:()=>ba,toNetInput:()=>D,utils:()=>Hr,validateConfig:()=>ho,version:()=>ka});module.exports=vn(Ba);var Wa=v(x());var co={};Sr(co,{AnchorPosition:()=>Qr,DrawBox:()=>Se,DrawBoxOptions:()=>nr,DrawFaceLandmarks:()=>vr,DrawFaceLandmarksOptions:()=>xr,DrawTextField:()=>jt,DrawTextFieldOptions:()=>ue,drawContour:()=>lt,drawDetections:()=>$n,drawFaceExpressions:()=>Vn,drawFaceLandmarks:()=>jn});function lt(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:n},s)=>{let a=t[s];o.moveTo(a.x,a.y),o.lineTo(r,n)}),e){let r=t[t.length-1],n=t[0];if(!r||!n)return;o.moveTo(r.x,r.y),o.lineTo(n.x,n.y)}o.stroke()}var Hr={};Sr(Hr,{computeReshapedDimensions:()=>Or,getCenterPoint:()=>$t,isDimensions:()=>rr,isEven:()=>er,isFloat:()=>$r,isTensor:()=>Bt,isTensor1D:()=>Nn,isTensor2D:()=>Rr,isTensor3D:()=>dt,isTensor4D:()=>U,isValidNumber:()=>et,isValidProbablitiy:()=>ce,range:()=>ct,round:()=>Rt});var Po=v(x());var R=class o{constructor(t,e){if(!et(t)||!et(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new o(1/this.width,1/this.height)}};function Bt(o,t){return o instanceof Po.Tensor&&o.shape.length===t}function Nn(o){return Bt(o,1)}function Rr(o){return Bt(o,2)}function dt(o){return Bt(o,3)}function U(o){return Bt(o,4)}function $r(o){return o%1!==0}function er(o){return o%2===0}function Rt(o,t=2){let e=10**t;return Math.floor(o*e)/e}function rr(o){return o&&o.width&&o.height}function Or({width:o,height:t},e){let r=e/Math.max(t,o);return new R(Math.round(o*r),Math.round(t*r))}function $t(o){return o.reduce((t,e)=>t.add(e),new _(0,0)).div(new _(o.length,o.length))}function ct(o,t,e){return Array(o).fill(0).map((r,n)=>t+n*e)}function et(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function ce(o){return et(o)&&o>=0&&o<=1}var _=class o{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new o(this.x+t.x,this.y+t.y)}sub(t){return new o(this.x-t.x,this.y-t.y)}mul(t){return new o(this.x*t.x,this.y*t.y)}div(t){return new o(this.x/t.x,this.y/t.y)}abs(){return new o(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new o(Math.floor(this.x),Math.floor(this.y))}};var L=class o{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(et)}static assertIsValidBox(t,e,r=!1){if(!o.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},n=[r.left,r.top,r.right,r.bottom].every(et),s=[r.x,r.y,r.width,r.height].every(et);if(!s&&!n)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[a,i,c,m]=s?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];o.assertIsValidBox({x:a,y:i,width:c,height:m},"Box.constructor",e),this._x=a,this._y=i,this._width=c,this._height=m}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new _(this.left,this.top)}get topRight(){return new _(this.right,this.top)}get bottomLeft(){return new _(this.left,this.bottom)}get bottomRight(){return new _(this.right,this.bottom)}round(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new o({x:t,y:e,width:r,height:n})}floor(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new o({x:t,y:e,width:r,height:n})}toSquare(){let{x:t,y:e,width:r,height:n}=this,s=Math.abs(r-n);return re&&(i=-u+e+r,u=e),f>t&&(c=-f+t+n,f=t),m<1&&(c=2-m,m=1),p<1&&(c=2-p,p=1),{dy:a,edy:c,dx:s,edx:i,y:p,ey:f,x:m,ex:u,w:r,h:n}}calibrate(t){return new o({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Ot=class extends L{constructor(t,e,r,n,s=!1){super({left:t,top:e,right:r,bottom:n},s)}};var Ht=class o{constructor(t,e,r,n,s){this._imageDims=new R(s.width,s.height),this._score=t,this._classScore=e,this._className=r,this._box=new L(n).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new L(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new o(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var M=class o extends Ht{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:n,imageDims:s}=super.forSize(t,e);return new o(r,n,s)}};function zr(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),n=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),s=r*n;return e?s/(o.area+t.area-s):s/Math.min(o.area,t.area)}function Yr(o){let t=o.map(i=>i.x),e=o.map(i=>i.y),r=t.reduce((i,c)=>ccii({score:a,boxIndex:i})).sort((a,i)=>a.score-i.score).map(a=>a.boxIndex),s=[];for(;n.length>0;){let a=n.pop();s.push(a);let i=n,c=[];for(let m=0;mc[p]<=e)}return s}var mt=v(x());function rt(o,t){return mt.tidy(()=>{let[e,r,n]=t,s=mt.fill([...o.shape.slice(0,3),1],e,"float32"),a=mt.fill([...o.shape.slice(0,3),1],r,"float32"),i=mt.fill([...o.shape.slice(0,3),1],n,"float32"),c=mt.concat([s,a,i],3);return mt.sub(o,c)})}var Dt=v(x());function Gr(o,t=!1){return Dt.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let n=Math.abs(e-r),s=Math.round(n*(t?.5:1)),a=e>r?2:1,i=f=>{let l=o.shape.slice();return l[a]=f,Dt.fill(l,0,"float32")},c=i(s),m=n-c.shape[a],u=[t&&m?i(m):null,o,c].filter(f=>!!f).map(f=>Dt.cast(f,"float32"));return Dt.concat(u,a)})}function Ln(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function Ne(o){return 1/(1+Math.exp(-o))}function Sn(o){return Math.log(o/(1-o))}var zt=class extends L{constructor(t,e,r,n,s=!1){super({x:t,y:e,width:r,height:n},s)}};var An=.5,Wn=.43,kn=.45,H=class{constructor(t,e,r=new _(0,0)){let{width:n,height:s}=e;this._imgDims=new R(n,s),this._shift=r,this._positions=t.map(a=>a.mul(new _(n,s)).add(r))}get shift(){return new _(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new _(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new _(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let s=t instanceof M?t.box.floor():new L(t);return this.shiftBy(s.x,s.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:n}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(n)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,n]=t,s=u=>n.sub(u).magnitude(),a=(s(e)+s(r))/2,i=Math.floor(a/kn),c=$t(t),m=Math.floor(Math.max(0,c.x-An*i)),p=Math.floor(Math.max(0,c.y-Wn*i));return new zt(m,p,Math.min(i,this.imageWidth+m),Math.min(i,this.imageHeight+p))}alignMinBbox(t){let e=Yr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var jr=class extends H{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],$t([t[3],t[4]])]}};var Yt=class extends H{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map($t)}};var me=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Rt(this.distance)})`:""}`}};var pe=class extends L{static assertIsValidLabeledBox(t,e){if(L.assertIsValidBox(t,e),!et(t.label))throw new Error(`${e} - expected property label (${t.label}) to be a number`)}constructor(t,e){super(t),this._label=e}get label(){return this._label}};var Et=class o{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new o(t.label,e)}};var Ur=class extends pe{static assertIsValidPredictedBox(t,e){if(pe.assertIsValidLabeledBox(t,e),!ce(t.score)||!ce(t.classScore))throw new Error(`${e} - expected properties score (${t.score}) and (${t.classScore}) to be a number between [0, 1]`)}constructor(t,e,r,n){super(t,e),this._score=r,this._classScore=n}get score(){return this._score}get classScore(){return this._classScore}};function pt(o){return o.detection instanceof M}function Vt(o,t){return{...o,...{detection:t}}}function Xr(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Le(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function or(o){let t="";if(!o&&Le())try{o=require("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((n,s)=>{o.readFile(r,(a,i)=>a?s(a):n(i))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Jr(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},n=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},a=global.fetch,i=or();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:n,createVideoElement:s,fetch:a,...i}}function qr(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var S;function Bn(){if(!S)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return S}function Zr(o){S=o}function Kr(){return qr()?Zr(Xr()):Le()?Zr(Jr()):null}function Rn(o){if(S||Kr(),!S)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=S.Canvas,Image:e=S.Image}=o;S.Canvas=t,S.Image=e,S.createCanvasElement=o.createCanvasElement||(()=>new t),S.createImageElement=o.createImageElement||(()=>new e),S.ImageData=o.ImageData||S.ImageData,S.Video=o.Video||S.Video,S.fetch=o.fetch||S.fetch,S.readFile=o.readFile||S.readFile}var w={getEnv:Bn,setEnv:Zr,initialize:Kr,createBrowserEnv:Xr,createFileSystem:or,createNodejsEnv:Jr,monkeyPatch:Rn,isBrowser:qr,isNodejs:Le};Kr();function Gt(o){return!w.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function $(o){let{Canvas:t,CanvasRenderingContext2D:e}=w.getEnv();if(o instanceof e)return o;let r=Gt(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let n=r.getContext("2d",{willReadFrequently:!0});if(!n)throw new Error("resolveContext2d - canvas 2d context is null");return n}var Qr=(n=>(n.TOP_LEFT="TOP_LEFT",n.TOP_RIGHT="TOP_RIGHT",n.BOTTOM_LEFT="BOTTOM_LEFT",n.BOTTOM_RIGHT="BOTTOM_RIGHT",n))(Qr||{}),ue=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:n,fontSize:s,fontStyle:a,padding:i}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=n||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=a||"Georgia",this.padding=i||4}},jt=class o{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof o?t.text:t,this.anchor=e,this.options=new ue(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,n)=>r{let b=c+u.x,T=c+u.y+(l+1)*a;r.fillText(f,b,T)})}};var nr=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:n,drawLabelOptions:s}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=n;let a={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new ue({...a,...s})}},Se=class{constructor(t,e={}){this.box=new L(t),this.options=new nr(e)}draw(t){let e=$(t),{boxColor:r,lineWidth:n}=this.options,{x:s,y:a,width:i,height:c}=this.box;e.strokeStyle=r,e.lineWidth=n,e.strokeRect(s,a,i,c);let{label:m}=this.options;m&&new jt([m],{x:s-n/2,y:a},this.options.drawLabelOptions).draw(t)}};function $n(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof M?r.score:pt(r)?r.detection.score:void 0,s=r instanceof M?r.box:pt(r)?r.detection.box:new L(r),a=n?`${Rt(n)}`:void 0;new Se(s,{label:a}).draw(o)})}var Te=v(x());function Ae(o){let{Image:t,Video:e}=w.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function to(o){return new Promise((t,e)=>{if(o instanceof w.getEnv().Canvas||Ae(o)){t(null);return}function r(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",n),s.currentTarget.removeEventListener("error",r),e(s))}function n(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",n),s.currentTarget.removeEventListener("error",r),t(s))}o.addEventListener("load",n),o.addEventListener("error",r)})}function eo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let n=w.getEnv().createImageElement();n.onload=()=>t(n),n.onerror=e,n.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Ut(o){let{Image:t,Video:e}=w.getEnv();return o instanceof t?new R(o.naturalWidth,o.naturalHeight):o instanceof e?new R(o.videoWidth,o.videoHeight):new R(o.width,o.height)}function Xt({width:o,height:t}){let{createCanvasElement:e}=w.getEnv(),r=e();return r.width=o,r.height=t,r}function We(o,t){let{ImageData:e}=w.getEnv();if(!(o instanceof e)&&!Ae(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:n}=t||Ut(o),s=Xt({width:r,height:n});return o instanceof e?$(s).putImageData(o,0,0):$(s).drawImage(o,0,0,r,n),s}var ar=v(x());async function ro(o,t){let e=t||w.getEnv().createCanvasElement(),[r,n,s]=o.shape.slice(U(o)?1:0),a=ar.tidy(()=>o.as3D(r,n,s).toInt());return await ar.browser.toPixels(a,e),a.dispose(),e}function sr(o){let{Image:t,Canvas:e,Video:r}=w.getEnv();return o instanceof t||o instanceof e||o instanceof r}var z=v(x());function oo(o,t,e=!1){let{Image:r,Canvas:n}=w.getEnv();if(!(o instanceof r||o instanceof n))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Xt({width:1,height:1});let s=Ut(o),a=t/Math.max(s.height,s.width),i=a*s.width,c=a*s.height,m=Xt({width:t,height:t}),p=o instanceof n?o:We(o),u=Math.abs(i-c)/2,f=e&&i0&&p.height>0&&$(m).drawImage(p,f,l,i,c),m}var ut=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,n)=>{if(dt(r)){this._imageTensors[n]=r,this._inputDimensions[n]=r.shape;return}if(U(r)){let a=r.shape[0];if(a!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${a} passed, but not supported in input array`);this._imageTensors[n]=r,this._inputDimensions[n]=r.shape.slice(1);return}let s=r instanceof w.getEnv().Canvas?r:We(r);this._canvases[n]=s,this._inputDimensions[n]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return ct(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return Or({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,z.tidy(()=>{let r=ct(this.batchSize,0,1).map(s=>{let a=this.getInput(s);if(a instanceof z.Tensor){let i=U(a)?a:z.expandDims(a);return i=Gr(i,e),(i.shape[1]!==t||i.shape[2]!==t)&&(i=z.image.resizeBilinear(i,[t,t],!1,!1)),i.as3D(t,t,3)}if(a instanceof w.getEnv().Canvas){let i=oo(a,t,e),c=z.browser.fromPixels(i);i.width=1,i.height=1;let m=i.getContext("2d");return m&&m.clearRect(0,0,1,1),c}throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${a}`)});return z.stack(r.map(s=>z.cast(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function D(o){if(o instanceof ut)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=n=>Array.isArray(o)?` at input index ${n}:`:"",r=t.map(Gt);return r.forEach((n,s)=>{if(!sr(n)&&!dt(n)&&!U(n))throw typeof t[s]=="string"?new Error(`toNetInput -${e(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${e(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(U(n)){let a=n.shape[0];if(a!==1)throw new Error(`toNetInput -${e(s)} tf.Tensor4D with batchSize ${a} passed, but not supported in input array`)}}),await Promise.all(r.map(n=>sr(n)&&to(n))),new ut(r,Array.isArray(o))}async function fe(o,t){let{Canvas:e}=w.getEnv(),r=o;if(!(o instanceof e)){let a=await D(o);if(a.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let i=a.getInput(0);r=i instanceof e?i:await ro(i)}let n=$(r);return t.map(a=>a instanceof M?a.forSize(r.width,r.height).box.floor():a).map(a=>a.clipAtImageBorders(r.width,r.height)).map(({x:a,y:i,width:c,height:m})=>{let p=Xt({width:c,height:m});return c>0&&m>0&&$(p).putImageData(n.getImageData(a,i,c,m),0,0),p})}var ir=v(x());async function le(o,t){if(!dt(o)&&!U(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(U(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return ir.tidy(()=>{let[e,r,n]=o.shape.slice(U(o)?1:0);return t.map(i=>i instanceof M?i.forSize(r,e).box:i).map(i=>i.clipAtImageBorders(r,e)).filter(i=>i.width>0&&i.height>0).map(({x:i,y:c,width:m,height:p})=>ir.slice3d(o.as3D(e,r,n),[c,i,0],[p,m,n]))})}async function ht(o,t){let{fetch:e}=w.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function On(o){let t=await ht(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return eo(e)}async function no(o){return(await ht(o)).json()}async function Hn(o){return new Float32Array(await(await ht(o)).arrayBuffer())}function wo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=w.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function zn(o){let t=await ht(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return wo(e)}var Fo=v(x());function cr(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let n=o.split("/").filter(i=>i),s=o.endsWith(".json")?n[n.length-1]:e,a=r+(o.endsWith(".json")?n.slice(0,n.length-1):n).join("/");return a=o.startsWith("/")?`/${a}`:a,{modelBaseUri:a,manifestUri:a==="/"?`/${s}`:`${a}/${s}`}}async function ao(o,t){let{manifestUri:e,modelBaseUri:r}=cr(o,t),n=await no(e);return Fo.io.loadWeights(n,r)}function Yn(o,t,e=!1){let{width:r,height:n}=e?Ut(t):t;return o.width=r,o.height=n,{width:r,height:n}}var ve=v(x());var bt=v(x());var A=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:n}=this.traversePropertyPath(t);r[n].dispose(),r[n]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof bt.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof bt.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=bt.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await ao(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=w.getEnv(),{manifestUri:r,modelBaseUri:n}=cr(t,this.getDefaultModelName()),s=m=>Promise.all(m.map(p=>e(p).then(u=>typeof u=="string"?Buffer.from(u):u.buffer))),a=bt.io.weightsLoaderFactory(s),i=JSON.parse((await e(r)).toString()),c=await a(i,n);this.loadFromWeightMap(c)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((s,a)=>{if(!s.nextObj.hasOwnProperty(a))throw new Error(`traversePropertyPath - object does not have property ${a}, for path ${t}`);return{obj:s.nextObj,objProp:a,nextObj:s.nextObj[a]}},{nextObj:this.params}),{obj:r,objProp:n}=e;if(!r||!n||!(r[n]instanceof bt.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:n}}};var E=v(x());var de=v(x());function O(o,t,e){return de.tidy(()=>{let r=de.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=de.add(r,t.bias),r})}function mr(o,t,e=!1){return E.tidy(()=>{let r=E.relu(e?E.add(E.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):O(o,t.conv0,[2,2])),n=O(r,t.conv1,[1,1]),s=E.relu(E.add(r,n)),a=O(s,t.conv2,[1,1]);return E.relu(E.add(r,E.add(n,a)))})}function ke(o,t,e=!1,r=!0){return E.tidy(()=>{let n=E.relu(e?E.add(E.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):O(o,t.conv0,r?[2,2]:[1,1])),s=O(n,t.conv1,[1,1]),a=E.relu(E.add(n,s)),i=O(a,t.conv2,[1,1]),c=E.relu(E.add(n,E.add(s,i))),m=O(c,t.conv3,[1,1]);return E.relu(E.add(n,E.add(s,E.add(i,m))))})}var Mt=v(x());function Jt(o,t,e="same",r=!1){return Mt.tidy(()=>{let n=Mt.add(Mt.conv2d(o,t.filters,[1,1],e),t.bias);return r?Mt.relu(n):n})}function W(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}var pr=v(x());function he(o,t){return(e,r,n,s)=>{let a=pr.tensor4d(o(e*r*n*n),[n,n,e,r]),i=pr.tensor1d(o(r));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:a,bias:i}}}var ur=v(x());function fr(o,t){return(e,r,n)=>{let s=ur.tensor2d(o(e*r),[e,r]),a=ur.tensor1d(o(r));return t.push({paramPath:`${n}/weights`},{paramPath:`${n}/bias`}),{weights:s,bias:a}}}var Re=v(x());var Be=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function be(o,t){return(e,r,n)=>{let s=Re.tensor4d(o(9*e),[3,3,e,1]),a=Re.tensor4d(o(e*r),[1,1,e,r]),i=Re.tensor1d(o(r));return t.push({paramPath:`${n}/depthwise_filter`},{paramPath:`${n}/pointwise_filter`},{paramPath:`${n}/bias`}),new Be(s,a,i)}}function ge(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),n=o(`${t}/bias`,1);return new Be(e,r,n)}}function Y(o,t){return(e,r,n)=>{let s=o[e];if(!Bt(s,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${s}`);return t.push({originalPath:e,paramPath:n||e}),s}}function k(o){let t=o;function e(n){let s=t.slice(0,n);return t=t.slice(n),s}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function lr(o,t){let e=he(o,t),r=be(o,t);function n(a,i,c,m=!1){let p=m?e(a,i,3,`${c}/conv0`):r(a,i,`${c}/conv0`),u=r(i,i,`${c}/conv1`),f=r(i,i,`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function s(a,i,c,m=!1){let{conv0:p,conv1:u,conv2:f}=n(a,i,c,m),l=r(i,i,`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:n,extractDenseBlock4Params:s}}function Do(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractDenseBlock4Params:n}=lr(e,t),s=n(3,32,"dense0",!0),a=n(32,64,"dense1"),i=n(64,128,"dense2"),c=n(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:a,dense2:i,dense3:c}}}function dr(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function hr(o,t){let e=Y(o,t),r=dr(e),n=ge(e);function s(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`);return{conv0:m,conv1:p,conv2:u}}function a(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`),f=n(`${i}/conv3`);return{conv0:m,conv1:p,conv2:u,conv3:f}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:a}}function Eo(o){let t=[],{extractDenseBlock4Params:e}=hr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return W(o,t),{params:r,paramMappings:t}}var xe=class extends A{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return ve.tidy(()=>{let r=ve.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=ke(s,e.dense0,!0);return a=ke(a,e.dense1),a=ke(a,e.dense2),a=ke(a,e.dense3),a=ve.avgPool(a,[7,7],[2,2],"valid"),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Eo(t)}extractParams(t){return Do(t)}};var Io=v(x());var ye=v(x());function $e(o,t){return ye.tidy(()=>ye.add(ye.matMul(o,t.weights),t.bias))}function Mo(o,t,e){let r=[],{extractWeights:n,getRemainingWeights:s}=k(o),i=fr(n,r)(t,e,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:r,params:{fc:i}}}function Co(o){let t=[],e=Y(o,t);function r(s){let a=e(`${s}/weights`,2),i=e(`${s}/bias`,1);return{weights:a,bias:i}}let n={fc:r("fc")};return W(o,t),{params:n,paramMappings:t}}function br(o){let t={},e={};return Object.keys(o).forEach(r=>{let n=r.startsWith("fc")?e:t;n[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var _e=class extends A{constructor(t,e){super(t),this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return Io.tidy(()=>{let r=t instanceof ut?this.faceFeatureExtractor.forwardInput(t):t;return $e(r.as2D(r.shape[0],-1),e.fc)})}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Mo(t,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=br(t);return this.faceFeatureExtractor.loadFromWeightMap(e),Co(r)}extractParams(t){let e=this.getClassifierChannelsIn(),r=this.getClassifierChannelsOut(),n=r*e+r,s=t.slice(0,t.length-n),a=t.slice(t.length-n);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(a)}};var so=["neutral","happy","sad","angry","fearful","disgusted","surprised"],gt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);so.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return so.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var Oe=class extends _e{constructor(t=new xe){super("FaceExpressionNet",t)}forwardInput(t){return Te.tidy(()=>Te.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await D(t))}async predictExpressions(t){let e=await D(t),r=await this.forwardInput(e),n=await Promise.all(Te.unstack(r).map(async a=>{let i=a.dataSync();return a.dispose(),i}));r.dispose();let s=n.map(a=>new gt(a));return e.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function io(o){return o.expressions instanceof gt}function gr(o,t){return{...o,...{expressions:t}}}function Vn(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(s=>{let a=s instanceof gt?s:io(s)?s.expressions:void 0;if(!a)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let c=a.asSortedArray().filter(u=>u.probability>e),m=pt(s)?s.detection.box.bottomLeft:r||new _(0,0);new jt(c.map(u=>`${u.expression} (${Rt(u.probability)})`),m).draw(o)})}function qt(o){return pt(o)&&o.landmarks instanceof H&&o.unshiftedLandmarks instanceof H&&o.alignedRect instanceof M}function Gn(o){let t=c=>c*180/Math.PI,e=(c,m)=>Math.sqrt((c.x-m.x)**2+(c.y-m.y)**2),r={roll:void 0,pitch:void 0,yaw:void 0},n=(c,m,p)=>{let u=Math.floor(c.x-m.x),f=Math.floor(m.x-p.x);return u-f},s=(c,m)=>{let p=Math.hypot(m.x-c.x,m.y-c.y),u=m.y-c.y,f=Math.asin(u/p),l=t(f),b=Math.floor(90-l),T=m.x-c.x<0?-1:1;return b*T},a=(c,m,p)=>{let u=e(c,p),f=new _((c.x+p.x)/2,(c.y+p.y)/2),l=e(m,f),b=Math.atan(l/u),T=Math.floor(t(b)),h=f.y-m.y<0?-1:1;return T*h};if(!o||!o.positions||o.positions.length!==68)return r;let i=o.positions;return r.roll=s(i[27],i[66]),r.pitch=a(i[14],i[30],i[2]),r.yaw=n(i[14],i[33],i[2]),r}function Pe(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),n=r.align(),{imageDims:s}=o.detection,a=new M(o.detection.score,n.rescale(s.reverse()),s),i=Gn(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:a,angle:i}}}var xr=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:n,lineColor:s,pointSize:a,pointColor:i}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=n||1,this.pointSize=a||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=i||"rgba(255, 0, 255, 1)"}},vr=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new xr(e)}draw(t){let e=$(t),{drawLines:r,drawPoints:n,lineWidth:s,lineColor:a,pointSize:i,pointColor:c}=this.options;if(r&&this.faceLandmarks instanceof Yt&&(e.strokeStyle=a,e.lineWidth=s,lt(e,this.faceLandmarks.getJawOutline()),lt(e,this.faceLandmarks.getLeftEyeBrow()),lt(e,this.faceLandmarks.getRightEyeBrow()),lt(e,this.faceLandmarks.getNose()),lt(e,this.faceLandmarks.getLeftEye(),!0),lt(e,this.faceLandmarks.getRightEye(),!0),lt(e,this.faceLandmarks.getMouth(),!0)),n){e.strokeStyle=c,e.fillStyle=c;let m=p=>{e.beginPath(),e.arc(p.x,p.y,i,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(m)}}};function jn(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof H?r:qt(r)?r.landmarks:void 0;if(!n)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new vr(n).draw(o)})}var No="1.7.13";var ft=v(x());var N=v(x());function Jn(o,t){let e=he(o,t),r=be(o,t);function n(a,i,c){let m=r(a,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=e(a,i,1,`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function s(a,i){let c=r(a,a,`${i}/separable_conv0`),m=r(a,a,`${i}/separable_conv1`),p=r(a,a,`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:n,extractMainBlockParams:s}}function Lo(o,t){let e=[],{extractWeights:r,getRemainingWeights:n}=k(o),{extractConvParams:s,extractSeparableConvParams:a,extractReductionBlockParams:i,extractMainBlockParams:c}=Jn(r,e),m=s(3,32,3,"entry_flow/conv_in"),p=i(32,64,"entry_flow/reduction_block_0"),u=i(64,128,"entry_flow/reduction_block_1"),f={conv_in:m,reduction_block_0:p,reduction_block_1:u},l={};ct(t,0,1).forEach(g=>{l[`main_block_${g}`]=c(128,`middle_flow/main_block_${g}`)});let b=i(128,256,"exit_flow/reduction_block"),T=a(256,512,"exit_flow/separable_conv"),h={reduction_block:b,separable_conv:T};if(n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{paramMappings:e,params:{entry_flow:f,middle_flow:l,exit_flow:h}}}function qn(o,t){let e=Y(o,t),r=dr(e),n=ge(e);function s(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=r(`${i}/expansion_conv`);return{separable_conv0:c,separable_conv1:m,expansion_conv:p}}function a(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=n(`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:s,extractMainBlockParams:a}}function So(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:s,extractMainBlockParams:a}=qn(o,e),i=r("entry_flow/conv_in"),c=s("entry_flow/reduction_block_0"),m=s("entry_flow/reduction_block_1"),p={conv_in:i,reduction_block_0:c,reduction_block_1:m},u={};ct(t,0,1).forEach(T=>{u[`main_block_${T}`]=a(`middle_flow/main_block_${T}`)});let f=s("exit_flow/reduction_block"),l=n("exit_flow/separable_conv"),b={reduction_block:f,separable_conv:l};return W(o,e),{params:{entry_flow:p,middle_flow:u,exit_flow:b},paramMappings:e}}function Ao(o,t,e){return N.add(N.conv2d(o,t.filters,e,"same"),t.bias)}function mo(o,t,e=!0){let r=e?N.relu(o):o;return r=O(r,t.separable_conv0,[1,1]),r=O(N.relu(r),t.separable_conv1,[1,1]),r=N.maxPool(r,[3,3],[2,2],"same"),r=N.add(r,Ao(o,t.expansion_conv,[2,2])),r}function Zn(o,t){let e=O(N.relu(o),t.separable_conv0,[1,1]);return e=O(N.relu(e),t.separable_conv1,[1,1]),e=O(N.relu(e),t.separable_conv2,[1,1]),e=N.add(e,o),e}var yr=class extends A{constructor(t){super("TinyXception"),this._numMainBlocks=t}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyXception - load model before inference");return N.tidy(()=>{let r=N.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=N.relu(Ao(s,e.entry_flow.conv_in,[2,2]));return a=mo(a,e.entry_flow.reduction_block_0,!1),a=mo(a,e.entry_flow.reduction_block_1),ct(this._numMainBlocks,0,1).forEach(i=>{a=Zn(a,e.middle_flow[`main_block_${i}`])}),a=mo(a,e.exit_flow.reduction_block),a=N.relu(O(a,e.exit_flow.separable_conv,[1,1])),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(t){return So(t,this._numMainBlocks)}extractParams(t){return Lo(t,this._numMainBlocks)}};function Wo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),n=fr(e,t),s=n(512,1,"fc/age"),a=n(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:s,gender:a}}}}function ko(o){let t=[],e=Y(o,t);function r(s){let a=e(`${s}/weights`,2),i=e(`${s}/bias`,1);return{weights:a,bias:i}}let n={fc:{age:r("fc/age"),gender:r("fc/gender")}};return W(o,t),{params:n,paramMappings:t}}var _r=(e=>(e.FEMALE="female",e.MALE="male",e))(_r||{});var He=class extends A{constructor(t=new yr(2)){super("AgeGenderNet"),this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return ft.tidy(()=>{let r=t instanceof ut?this.faceFeatureExtractor.forwardInput(t):t,n=ft.avgPool(r,[7,7],[2,2],"valid").as2D(r.shape[0],-1),s=$e(n,e.fc.age).as1D(),a=$e(n,e.fc.gender);return{age:s,gender:a}})}forwardInput(t){return ft.tidy(()=>{let{age:e,gender:r}=this.runNet(t);return{age:e,gender:ft.softmax(r)}})}async forward(t){return this.forwardInput(await D(t))}async predictAgeAndGender(t){let e=await D(t),r=await this.forwardInput(e),n=ft.unstack(r.age),s=ft.unstack(r.gender),a=n.map((c,m)=>({ageTensor:c,genderTensor:s[m]})),i=await Promise.all(a.map(async({ageTensor:c,genderTensor:m})=>{let p=c.dataSync()[0],u=m.dataSync()[0],f=u>.5,l=f?"male":"female",b=f?u:1-u;return c.dispose(),m.dispose(),{age:p,gender:l,genderProbability:b}}));return r.age.dispose(),r.gender.dispose(),e.isBatchInput?i:i[0]}getDefaultModelName(){return"age_gender_model"}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Wo(t)}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=br(t);return this.faceFeatureExtractor.loadFromWeightMap(e),ko(r)}extractParams(t){let r=t.slice(0,t.length-1539),n=t.slice(t.length-1539);return this.faceFeatureExtractor.extractWeights(r),this.extractClassifierParams(n)}};var V=v(x());var we=class extends _e{postProcess(t,e,r){let n=r.map(({width:a,height:i})=>{let c=e/Math.max(i,a);return{width:a*c,height:i*c}}),s=n.length;return V.tidy(()=>{let a=(u,f)=>V.stack([V.fill([68],u,"float32"),V.fill([68],f,"float32")],1).as2D(1,136).as1D(),i=(u,f)=>{let{width:l,height:b}=n[u];return f(l,b)?Math.abs(l-b)/2:0},c=u=>i(u,(f,l)=>fi(u,(f,l)=>la(c(f),m(f))))).div(V.stack(Array.from(Array(s),(u,f)=>a(n[f].width,n[f].height))))})}forwardInput(t){return V.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,n])=>({height:r,width:n})))})}async forward(t){return this.forwardInput(await D(t))}async detectLandmarks(t){let e=await D(t),r=V.tidy(()=>V.unstack(this.forwardInput(e))),n=await Promise.all(r.map(async(s,a)=>{let i=Array.from(s.dataSync()),c=i.filter((p,u)=>er(u)),m=i.filter((p,u)=>!er(u));return new Yt(Array(68).fill(0).map((p,u)=>new _(c[u],m[u])),{height:e.getInputHeight(a),width:e.getInputWidth(a)})}));return r.forEach(s=>s.dispose()),e.isBatchInput?n:n[0]}getClassifierChannelsOut(){return 136}};var Zt=class extends we{constructor(t=new xe){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};var Fe=v(x());function Bo(o){let t=[],{extractDenseBlock3Params:e}=hr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return W(o,t),{params:r,paramMappings:t}}function Ro(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractDenseBlock3Params:n}=lr(e,t),s=n(3,32,"dense0",!0),a=n(32,64,"dense1"),i=n(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:a,dense2:i}}}var Tr=class extends A{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return Fe.tidy(()=>{let r=Fe.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=mr(s,e.dense0,!0);return a=mr(a,e.dense1),a=mr(a,e.dense2),a=Fe.avgPool(a,[14,14],[2,2],"valid"),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Bo(t)}extractParams(t){return Ro(t)}};var ze=class extends we{constructor(t=new Tr){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var po=class extends Zt{};var nt=v(x());var De=v(x());var Pr=v(x());function $o(o,t){return Pr.add(Pr.mul(o,t.weights),t.biases)}function uo(o,t,e,r,n="same"){let{filters:s,bias:a}=t.conv,i=De.conv2d(o,s,e,n);return i=De.add(i,a),i=$o(i,t.scale),r?De.relu(i):i}function Oo(o,t){return uo(o,t,[1,1],!0)}function fo(o,t){return uo(o,t,[1,1],!1)}function wr(o,t){return uo(o,t,[2,2],!0,"valid")}var G=v(x());function Kn(o,t){function e(i,c,m){let p=o(i),u=p.length/(c*m*m);if($r(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${p.length}, numFilters: ${c}, filterSize: ${m}`);return G.tidy(()=>G.transpose(G.tensor4d(p,[c,u,m,m]),[2,3,1,0]))}function r(i,c,m,p){let u=e(i,c,m),f=G.tensor1d(o(c));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:u,bias:f}}function n(i,c){let m=G.tensor1d(o(i)),p=G.tensor1d(o(i));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:m,biases:p}}function s(i,c,m,p){let u=r(i,c,m,`${p}/conv`),f=n(c,`${p}/scale`);return{conv:u,scale:f}}function a(i,c,m,p,u=!1){let f=s((u?.5:1)*i,c,m,`${p}/conv1`),l=s(i,c,m,`${p}/conv2`);return{conv1:f,conv2:l}}return{extractConvLayerParams:s,extractResidualLayerParams:a}}function Ho(o){let{extractWeights:t,getRemainingWeights:e}=k(o),r=[],{extractConvLayerParams:n,extractResidualLayerParams:s}=Kn(t,r),a=n(4704,32,7,"conv32_down"),i=s(9216,32,3,"conv32_1"),c=s(9216,32,3,"conv32_2"),m=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),u=s(36864,64,3,"conv64_1"),f=s(36864,64,3,"conv64_2"),l=s(36864,64,3,"conv64_3"),b=s(147456,128,3,"conv128_down",!0),T=s(147456,128,3,"conv128_1"),h=s(147456,128,3,"conv128_2"),g=s(589824,256,3,"conv256_down",!0),P=s(589824,256,3,"conv256_1"),y=s(589824,256,3,"conv256_2"),I=s(589824,256,3,"conv256_down_out"),j=G.tidy(()=>G.transpose(G.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:a,conv32_1:i,conv32_2:c,conv32_3:m,conv64_down:p,conv64_1:u,conv64_2:f,conv64_3:l,conv128_down:b,conv128_1:T,conv128_2:h,conv256_down:g,conv256_1:P,conv256_2:y,conv256_down_out:I,fc:j},paramMappings:r}}function Qn(o,t){let e=Y(o,t);function r(a){let i=e(`${a}/scale/weights`,1),c=e(`${a}/scale/biases`,1);return{weights:i,biases:c}}function n(a){let i=e(`${a}/conv/filters`,4),c=e(`${a}/conv/bias`,1),m=r(a);return{conv:{filters:i,bias:c},scale:m}}function s(a){return{conv1:n(`${a}/conv1`),conv2:n(`${a}/conv2`)}}return{extractConvLayerParams:n,extractResidualLayerParams:s}}function zo(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Qn(o,t),n=e("conv32_down"),s=r("conv32_1"),a=r("conv32_2"),i=r("conv32_3"),c=r("conv64_down"),m=r("conv64_1"),p=r("conv64_2"),u=r("conv64_3"),f=r("conv128_down"),l=r("conv128_1"),b=r("conv128_2"),T=r("conv256_down"),h=r("conv256_1"),g=r("conv256_2"),P=r("conv256_down_out"),{fc:y}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!Rr(y))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${y}`);let I={conv32_down:n,conv32_1:s,conv32_2:a,conv32_3:i,conv64_down:c,conv64_1:m,conv64_2:p,conv64_3:u,conv128_down:f,conv128_1:l,conv128_2:b,conv256_down:T,conv256_1:h,conv256_2:g,conv256_down_out:P,fc:y};return W(o,t),{params:I,paramMappings:t}}var B=v(x());function ot(o,t){let e=Oo(o,t.conv1);return e=fo(e,t.conv2),e=B.add(e,o),e=B.relu(e),e}function Ye(o,t){let e=wr(o,t.conv1);e=fo(e,t.conv2);let r=B.avgPool(o,2,2,"valid"),n=B.zeros(r.shape),s=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let i=[...e.shape];i[1]=1;let c=B.zeros(i);e=B.concat([e,c],1);let m=[...e.shape];m[2]=1;let p=B.zeros(m);e=B.concat([e,p],2)}return r=s?B.concat([r,n],3):r,e=B.add(r,e),e=B.relu(e),e}var Kt=class extends A{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return nt.tidy(()=>{let r=nt.cast(t.toBatchTensor(150,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=wr(s,e.conv32_down);a=nt.maxPool(a,3,2,"valid"),a=ot(a,e.conv32_1),a=ot(a,e.conv32_2),a=ot(a,e.conv32_3),a=Ye(a,e.conv64_down),a=ot(a,e.conv64_1),a=ot(a,e.conv64_2),a=ot(a,e.conv64_3),a=Ye(a,e.conv128_down),a=ot(a,e.conv128_1),a=ot(a,e.conv128_2),a=Ye(a,e.conv256_down),a=ot(a,e.conv256_1),a=ot(a,e.conv256_2),a=Ye(a,e.conv256_down_out);let i=a.mean([1,2]);return nt.matMul(i,e.fc)})}async forward(t){return this.forwardInput(await D(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(a=>a<=0))return new Float32Array(128);let e=await D(t),r=nt.tidy(()=>nt.unstack(this.forwardInput(e))),n=await Promise.all(r.map(a=>a.data()));return r.forEach(a=>a.dispose()),e.isBatchInput?n:n[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return zo(t)}extractParams(t){return Ho(t)}};function ta(o){let t=new Kt;return t.extractWeights(o),t}function Fr(o,t){return{...o,...{descriptor:t}}}function ea(o){return typeof o.age=="number"}function Dr(o,t){return{...o,...{age:t}}}function ra(o){return(o.gender==="male"||o.gender==="female")&&ce(o.genderProbability)}function Er(o,t,e){return{...o,...{gender:t,genderProbability:e}}}var Nt=v(x());var at=v(x());function oa(o,t){function e(c,m){let p=at.tensor4d(o(9*c),[3,3,c,1]),u=at.tensor1d(o(c)),f=at.tensor1d(o(c)),l=at.tensor1d(o(c)),b=at.tensor1d(o(c));return t.push({paramPath:`${m}/filters`},{paramPath:`${m}/batch_norm_scale`},{paramPath:`${m}/batch_norm_offset`},{paramPath:`${m}/batch_norm_mean`},{paramPath:`${m}/batch_norm_variance`}),{filters:p,batch_norm_scale:u,batch_norm_offset:f,batch_norm_mean:l,batch_norm_variance:b}}function r(c,m,p,u,f){let l=at.tensor4d(o(c*m*p*p),[p,p,c,m]),b=at.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/${f?"batch_norm_offset":"bias"}`}),{filters:l,bias:b}}function n(c,m,p,u){let{filters:f,bias:l}=r(c,m,p,u,!0);return{filters:f,batch_norm_offset:l}}function s(c,m,p){let u=e(c,`${p}/depthwise_conv`),f=n(c,m,1,`${p}/pointwise_conv`);return{depthwise_conv:u,pointwise_conv:f}}function a(){let c=n(3,32,3,"mobilenetv1/conv_0"),m=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),u=s(128,128,"mobilenetv1/conv_3"),f=s(128,256,"mobilenetv1/conv_4"),l=s(256,256,"mobilenetv1/conv_5"),b=s(256,512,"mobilenetv1/conv_6"),T=s(512,512,"mobilenetv1/conv_7"),h=s(512,512,"mobilenetv1/conv_8"),g=s(512,512,"mobilenetv1/conv_9"),P=s(512,512,"mobilenetv1/conv_10"),y=s(512,512,"mobilenetv1/conv_11"),I=s(512,1024,"mobilenetv1/conv_12"),j=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:b,conv_7:T,conv_8:h,conv_9:g,conv_10:P,conv_11:y,conv_12:I,conv_13:j}}function i(){let c=n(1024,256,1,"prediction_layer/conv_0"),m=n(256,512,3,"prediction_layer/conv_1"),p=n(512,128,1,"prediction_layer/conv_2"),u=n(128,256,3,"prediction_layer/conv_3"),f=n(256,128,1,"prediction_layer/conv_4"),l=n(128,256,3,"prediction_layer/conv_5"),b=n(256,64,1,"prediction_layer/conv_6"),T=n(64,128,3,"prediction_layer/conv_7"),h=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),g=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),P=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),y=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),I=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),j=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),tt=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),it=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),q=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),Pt=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),wt=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),Ft=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:b,conv_7:T,box_predictor_0:{box_encoding_predictor:h,class_predictor:g},box_predictor_1:{box_encoding_predictor:P,class_predictor:y},box_predictor_2:{box_encoding_predictor:I,class_predictor:j},box_predictor_3:{box_encoding_predictor:tt,class_predictor:it},box_predictor_4:{box_encoding_predictor:q,class_predictor:Pt},box_predictor_5:{box_encoding_predictor:wt,class_predictor:Ft}}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:i}}function Yo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractMobilenetV1Params:n,extractPredictionLayerParams:s}=oa(e,t),a=n(),i=s(),m={extra_dim:at.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:a,prediction_layer:i,output_layer:m},paramMappings:t}}function na(o,t){let e=Y(o,t);function r(m,p,u){let f=e(`${m}/Conv2d_${p}_pointwise/weights`,4,`${u}/filters`),l=e(`${m}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${u}/batch_norm_offset`);return{filters:f,batch_norm_offset:l}}function n(m){let p=`mobilenetv1/conv_${m}`,u=`MobilenetV1/Conv2d_${m}_depthwise`,f=`${p}/depthwise_conv`,l=`${p}/pointwise_conv`,b=e(`${u}/depthwise_weights`,4,`${f}/filters`),T=e(`${u}/BatchNorm/gamma`,1,`${f}/batch_norm_scale`),h=e(`${u}/BatchNorm/beta`,1,`${f}/batch_norm_offset`),g=e(`${u}/BatchNorm/moving_mean`,1,`${f}/batch_norm_mean`),P=e(`${u}/BatchNorm/moving_variance`,1,`${f}/batch_norm_variance`);return{depthwise_conv:{filters:b,batch_norm_scale:T,batch_norm_offset:h,batch_norm_mean:g,batch_norm_variance:P},pointwise_conv:r("MobilenetV1",m,l)}}function s(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:n(1),conv_2:n(2),conv_3:n(3),conv_4:n(4),conv_5:n(5),conv_6:n(6),conv_7:n(7),conv_8:n(8),conv_9:n(9),conv_10:n(10),conv_11:n(11),conv_12:n(12),conv_13:n(13)}}function a(m,p){let u=e(`${m}/weights`,4,`${p}/filters`),f=e(`${m}/biases`,1,`${p}/bias`);return{filters:u,bias:f}}function i(m){let p=a(`Prediction/BoxPredictor_${m}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${m}/box_encoding_predictor`),u=a(`Prediction/BoxPredictor_${m}/ClassPredictor`,`prediction_layer/box_predictor_${m}/class_predictor`);return{box_encoding_predictor:p,class_predictor:u}}function c(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:i(0),box_predictor_1:i(1),box_predictor_2:i(2),box_predictor_3:i(3),box_predictor_4:i(4),box_predictor_5:i(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:c}}function Vo(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=na(o,t),n=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!dt(n))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${n}`);let s={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:n}};return W(o,t),{params:s,paramMappings:t}}var xt=v(x());var Ct=v(x());function Z(o,t,e){return Ct.tidy(()=>{let r=Ct.conv2d(o,t.filters,e,"same");return r=Ct.add(r,t.batch_norm_offset),Ct.clipByValue(r,0,6)})}var aa=.0010000000474974513;function sa(o,t,e){return xt.tidy(()=>{let r=xt.depthwiseConv2d(o,t.filters,e,"same");return r=xt.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,aa),xt.clipByValue(r,0,6)})}function ia(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function Go(o,t){return xt.tidy(()=>{let e,r=Z(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,a)=>{let i=a+1,c=ia(i);r=sa(r,s.depthwise_conv,c),r=Z(r,s.pointwise_conv,[1,1]),i===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function ca(o,t,e){let r=o.arraySync(),n=Math.min(r[t][0],r[t][2]),s=Math.min(r[t][1],r[t][3]),a=Math.max(r[t][0],r[t][2]),i=Math.max(r[t][1],r[t][3]),c=Math.min(r[e][0],r[e][2]),m=Math.min(r[e][1],r[e][3]),p=Math.max(r[e][0],r[e][2]),u=Math.max(r[e][1],r[e][3]),f=(a-n)*(i-s),l=(p-c)*(u-m);if(f<=0||l<=0)return 0;let b=Math.max(n,c),T=Math.max(s,m),h=Math.min(a,p),g=Math.min(i,u),P=Math.max(h-b,0)*Math.max(g-T,0);return P/(f+l-P)}function jo(o,t,e,r,n){let s=o.shape[0],a=Math.min(e,s),i=t.map((p,u)=>({score:p,boxIndex:u})).filter(p=>p.score>n).sort((p,u)=>u.score-p.score),c=p=>p<=r?1:0,m=[];return i.forEach(p=>{if(m.length>=a)return;let u=p.score;for(let f=m.length-1;f>=0;--f){let l=ca(o,p.boxIndex,m[f]);if(l!==0&&(p.score*=c(l),p.score<=n))break}u===p.score&&m.push(p.boxIndex)}),m}var d=v(x());function ma(o){let t=d.unstack(d.transpose(o,[1,0])),e=[d.sub(t[2],t[0]),d.sub(t[3],t[1])],r=[d.add(t[0],d.div(e[0],2)),d.add(t[1],d.div(e[1],2))];return{sizes:e,centers:r}}function pa(o,t){let{sizes:e,centers:r}=ma(o),n=d.unstack(d.transpose(t,[1,0])),s=d.div(d.mul(d.exp(d.div(n[2],5)),e[0]),2),a=d.add(d.mul(d.div(n[0],10),e[0]),r[0]),i=d.div(d.mul(d.exp(d.div(n[3],5)),e[1]),2),c=d.add(d.mul(d.div(n[1],10),e[1]),r[1]);return d.transpose(d.stack([d.sub(a,s),d.sub(c,i),d.add(a,s),d.add(c,i)]),[1,0])}function Uo(o,t,e){return d.tidy(()=>{let r=o.shape[0],n=pa(d.reshape(d.tile(e.extra_dim,[r,1,1]),[-1,4]),d.reshape(o,[-1,4]));n=d.reshape(n,[r,n.shape[0]/r,4]);let s=d.sigmoid(d.slice(t,[0,0,1],[-1,-1,-1])),a=d.slice(s,[0,0,0],[-1,-1,1]);a=d.reshape(a,[r,a.shape[1]]);let i=d.unstack(n),c=d.unstack(a);return{boxes:i,scores:c}})}var Ge=v(x());var Ve=v(x());function Qt(o,t){return Ve.tidy(()=>{let e=o.shape[0],r=Ve.reshape(Jt(o,t.box_encoding_predictor),[e,-1,1,4]),n=Ve.reshape(Jt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:n}})}function Xo(o,t,e){return Ge.tidy(()=>{let r=Z(o,e.conv_0,[1,1]),n=Z(r,e.conv_1,[2,2]),s=Z(n,e.conv_2,[1,1]),a=Z(s,e.conv_3,[2,2]),i=Z(a,e.conv_4,[1,1]),c=Z(i,e.conv_5,[2,2]),m=Z(c,e.conv_6,[1,1]),p=Z(m,e.conv_7,[2,2]),u=Qt(t,e.box_predictor_0),f=Qt(o,e.box_predictor_1),l=Qt(n,e.box_predictor_2),b=Qt(a,e.box_predictor_3),T=Qt(c,e.box_predictor_4),h=Qt(p,e.box_predictor_5),g=Ge.concat([u.boxPredictionEncoding,f.boxPredictionEncoding,l.boxPredictionEncoding,b.boxPredictionEncoding,T.boxPredictionEncoding,h.boxPredictionEncoding],1),P=Ge.concat([u.classPrediction,f.classPrediction,l.classPrediction,b.classPrediction,T.classPrediction,h.classPrediction],1);return{boxPredictions:g,classPredictions:P}})}var X=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var It=class extends A{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return Nt.tidy(()=>{let r=Nt.cast(t.toBatchTensor(512,!1),"float32"),n=Nt.sub(Nt.div(r,127.5),1),s=Go(n,e.mobilenetv1),{boxPredictions:a,classPredictions:i}=Xo(s.out,s.conv11,e.prediction_layer);return Uo(a,i,e.output_layer)})}async forward(t){return this.forwardInput(await D(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:n}=new X(e),s=await D(t),{boxes:a,scores:i}=this.forwardInput(s),c=a[0],m=i[0];for(let y=1;y{let[I,j]=[Math.max(0,g[y][0]),Math.min(1,g[y][2])].map(q=>q*h),[tt,it]=[Math.max(0,g[y][1]),Math.min(1,g[y][3])].map(q=>q*T);return new M(p[y],new zt(tt,I,it-tt,j-I),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return c.dispose(),m.dispose(),P}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Vo(t)}extractParams(t){return Yo(t)}};function Jo(o){let t=new It;return t.extractWeights(o),t}function ua(o){return Jo(o)}var lo=class extends It{};var qo=.4,Zo=[new _(.738768,.874946),new _(2.42204,2.65704),new _(4.30971,7.04493),new _(10.246,4.59428),new _(12.6868,11.8741)],Ko=[new _(1.603231,2.094468),new _(6.041143,7.080126),new _(2.882459,3.518061),new _(4.266906,5.178857),new _(9.041765,10.66308)],Qo=[117.001,114.697,97.404],tn="tiny_yolov2_model",en="tiny_yolov2_separable_conv_model";var C=v(x());var Mr=o=>typeof o=="number";function ho(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Mr(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Mr(t.x)&&Mr(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Mr)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}var Q=v(x());var K=v(x());function Ee(o){return K.tidy(()=>{let t=K.mul(o,K.scalar(.10000000149011612));return K.add(K.relu(K.sub(o,t)),t)})}function vt(o,t){return Q.tidy(()=>{let e=Q.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Q.conv2d(e,t.conv.filters,[1,1],"valid"),e=Q.sub(e,t.bn.sub),e=Q.mul(e,t.bn.truediv),e=Q.add(e,t.conv.bias),Ee(e)})}var Lt=v(x());function yt(o,t){return Lt.tidy(()=>{let e=Lt.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Lt.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=Lt.add(e,t.bias),Ee(e)})}var bo=v(x());function fa(o,t){let e=he(o,t);function r(a,i){let c=bo.tensor1d(o(a)),m=bo.tensor1d(o(a));return t.push({paramPath:`${i}/sub`},{paramPath:`${i}/truediv`}),{sub:c,truediv:m}}function n(a,i,c){let m=e(a,i,3,`${c}/conv`),p=r(i,`${c}/bn`);return{conv:m,bn:p}}let s=be(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:n,extractSeparableConvParams:s}}function rn(o,t,e,r){let{extractWeights:n,getRemainingWeights:s}=k(o),a=[],{extractConvParams:i,extractConvWithBatchNormParams:c,extractSeparableConvParams:m}=fa(n,a),p;if(t.withSeparableConvs){let[u,f,l,b,T,h,g,P,y]=r,I=t.isFirstLayerConv2d?i(u,f,3,"conv0"):m(u,f,"conv0"),j=m(f,l,"conv1"),tt=m(l,b,"conv2"),it=m(b,T,"conv3"),q=m(T,h,"conv4"),Pt=m(h,g,"conv5"),wt=P?m(g,P,"conv6"):void 0,Ft=y?m(P,y,"conv7"):void 0,ie=i(y||P||g,5*e,1,"conv8");p={conv0:I,conv1:j,conv2:tt,conv3:it,conv4:q,conv5:Pt,conv6:wt,conv7:Ft,conv8:ie}}else{let[u,f,l,b,T,h,g,P,y]=r,I=c(u,f,"conv0"),j=c(f,l,"conv1"),tt=c(l,b,"conv2"),it=c(b,T,"conv3"),q=c(T,h,"conv4"),Pt=c(h,g,"conv5"),wt=c(g,P,"conv6"),Ft=c(P,y,"conv7"),ie=i(y,5*e,1,"conv8");p={conv0:I,conv1:j,conv2:tt,conv3:it,conv4:q,conv5:Pt,conv6:wt,conv7:Ft,conv8:ie}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:a}}function la(o,t){let e=Y(o,t);function r(i){let c=e(`${i}/sub`,1),m=e(`${i}/truediv`,1);return{sub:c,truediv:m}}function n(i){let c=e(`${i}/filters`,4),m=e(`${i}/bias`,1);return{filters:c,bias:m}}function s(i){let c=n(`${i}/conv`),m=r(`${i}/bn`);return{conv:c,bn:m}}let a=ge(e);return{extractConvParams:n,extractConvWithBatchNormParams:s,extractSeparableConvParams:a}}function on(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:n,extractSeparableConvParams:s}=la(o,e),a;if(t.withSeparableConvs){let i=t.filterSizes&&t.filterSizes.length||9;a={conv0:t.isFirstLayerConv2d?r("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:i>7?s("conv6"):void 0,conv7:i>8?s("conv7"):void 0,conv8:r("conv8")}}else a={conv0:n("conv0"),conv1:n("conv1"),conv2:n("conv2"),conv3:n("conv3"),conv4:n("conv4"),conv5:n("conv5"),conv6:n("conv6"),conv7:n("conv7"),conv8:r("conv8")};return W(o,e),{params:a,paramMappings:e}}var st=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var Cr=class Cr extends A{constructor(t){super("TinyYolov2"),ho(t),this._config=t}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(t,e){let r=vt(t,e.conv0);return r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv1),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv2),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv3),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv4),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv5),r=C.maxPool(r,[2,2],[1,1],"same"),r=vt(r,e.conv6),r=vt(r,e.conv7),Jt(r,e.conv8,"valid",!1)}runMobilenet(t,e){let r=this.config.isFirstLayerConv2d?Ee(Jt(t,e.conv0,"valid",!1)):yt(t,e.conv0);return r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv1),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv2),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv3),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv4),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv5),r=C.maxPool(r,[2,2],[1,1],"same"),r=e.conv6?yt(r,e.conv6):r,r=e.conv7?yt(r,e.conv7):r,Jt(r,e.conv8,"valid",!1)}forwardInput(t,e){let{params:r}=this;if(!r)throw new Error("TinyYolov2 - load model before inference");return C.tidy(()=>{let n=C.cast(t.toBatchTensor(e,!1),"float32");return n=this.config.meanRgb?rt(n,this.config.meanRgb):n,n=n.div(255),this.config.withSeparableConvs?this.runMobilenet(n,r):this.runTinyYolov2(n,r)})}async forward(t,e){return this.forwardInput(await D(t),e)}async detect(t,e={}){let{inputSize:r,scoreThreshold:n}=new st(e),s=await D(t),a=await this.forwardInput(s,r),i=C.tidy(()=>C.unstack(a)[0].expandDims()),c={width:s.getInputWidth(0),height:s.getInputHeight(0)},m=await this.extractBoxes(i,s.getReshapedInputDimensions(0),n);a.dispose(),i.dispose();let p=m.map(h=>h.box),u=m.map(h=>h.score),f=m.map(h=>h.classScore),l=m.map(h=>this.config.classes[h.label]);return Vr(p.map(h=>h.rescale(r)),u,this.config.iouThreshold,!0).map(h=>new Ht(u[h],f[h],l[h],p[h],c))}getDefaultModelName(){return""}extractParamsFromWeightMap(t){return on(t,this.config)}extractParams(t){let e=this.config.filterSizes||Cr.DEFAULT_FILTER_SIZES,r=e?e.length:void 0;if(r!==7&&r!==8&&r!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${r} filterSizes in config`);return rn(t,this.config,this.boxEncodingSize,e)}async extractBoxes(t,e,r){let{width:n,height:s}=e,a=Math.max(n,s),i=a/n,c=a/s,m=t.shape[1],p=this.config.anchors.length,[u,f,l]=C.tidy(()=>{let g=t.reshape([m,m,p,this.boxEncodingSize]),P=g.slice([0,0,0,0],[m,m,p,4]),y=g.slice([0,0,0,4],[m,m,p,1]),I=this.withClassScores?C.softmax(g.slice([0,0,0,5],[m,m,p,this.config.classes.length]),3):C.scalar(0);return[P,y,I]}),b=[],T=await f.array(),h=await u.array();for(let g=0;gr){let j=(P+Ne(h[g][P][y][0]))/m*i,tt=(g+Ne(h[g][P][y][1]))/m*c,it=Math.exp(h[g][P][y][2])*this.config.anchors[y].x/m*i,q=Math.exp(h[g][P][y][3])*this.config.anchors[y].y/m*c,Pt=j-it/2,wt=tt-q/2,Ft={row:g,col:P,anchor:y},{classScore:ie,label:yo}=this.withClassScores?await this.extractPredictedClass(l,Ft):{classScore:1,label:0};b.push({box:new Ot(Pt,wt,Pt+it,wt+q),score:I,classScore:I*ie,label:yo,...Ft})}}return u.dispose(),f.dispose(),l.dispose(),b}async extractPredictedClass(t,e){let{row:r,col:n,anchor:s}=e,a=await t.array();return Array(this.config.classes.length).fill(0).map((i,c)=>a[r][n][s][c]).map((i,c)=>({classScore:i,label:c})).reduce((i,c)=>i.classScore>c.classScore?i:c)}};Cr.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Me=Cr;var te=class extends Me{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:qo,classes:["face"],...t?{anchors:Ko,meanRgb:Qo}:{anchors:Zo,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?en:tn}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function da(o,t=!0){let e=new te(t);return e.extractWeights(o),e}var je=class extends st{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var J=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};var Xe=v(x());var go=v(x());async function ee(o,t,e,r,n=({alignedRect:s})=>s){let s=o.map(c=>qt(c)?n(c):c.detection),a=r||(t instanceof go.Tensor?await le(t,s):await fe(t,s)),i=await e(a);return a.forEach(c=>c instanceof go.Tensor&&c.dispose()),i}async function Ce(o,t,e,r,n){return ee([o],t,async s=>e(s[0]),r,n)}var nn=.4,an=[new _(1.603231,2.094468),new _(6.041143,7.080126),new _(2.882459,3.518061),new _(4.266906,5.178857),new _(9.041765,10.66308)],sn=[117.001,114.697,97.404];var re=class extends Me{constructor(){let t={withSeparableConvs:!0,iouThreshold:nn,classes:["face"],anchors:an,meanRgb:sn,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var F={ssdMobilenetv1:new It,tinyFaceDetector:new re,tinyYolov2:new te,faceLandmark68Net:new Zt,faceLandmark68TinyNet:new ze,faceRecognitionNet:new Kt,faceExpressionNet:new Oe,ageGenderNet:new He},cn=(o,t)=>F.ssdMobilenetv1.locateFaces(o,t),ha=(o,t)=>F.tinyFaceDetector.locateFaces(o,t),ba=(o,t)=>F.tinyYolov2.locateFaces(o,t),mn=o=>F.faceLandmark68Net.detectLandmarks(o),ga=o=>F.faceLandmark68TinyNet.detectLandmarks(o),xa=o=>F.faceRecognitionNet.computeFaceDescriptor(o),va=o=>F.faceExpressionNet.predictExpressions(o),ya=o=>F.ageGenderNet.predictAgeAndGender(o),pn=o=>F.ssdMobilenetv1.load(o),_a=o=>F.tinyFaceDetector.load(o),Ta=o=>F.tinyYolov2.load(o),Pa=o=>F.faceLandmark68Net.load(o),wa=o=>F.faceLandmark68TinyNet.load(o),Fa=o=>F.faceRecognitionNet.load(o),Da=o=>F.faceExpressionNet.load(o),Ea=o=>F.ageGenderNet.load(o),Ma=pn,Ca=cn,Ia=mn;var Ir=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},oe=class extends Ir{async run(){let t=await this.parentTask,e=await ee(t,this.input,async r=>Promise.all(r.map(n=>F.faceExpressionNet.predictExpressions(n))),this.extractedFaces);return t.map((r,n)=>gr(r,e[n]))}withAgeAndGender(){return new ae(this,this.input)}},ne=class extends Ir{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>F.faceExpressionNet.predictExpressions(r),this.extractedFaces);return gr(t,e)}withAgeAndGender(){return new se(this,this.input)}},St=class extends oe{withAgeAndGender(){return new Wt(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},At=class extends ne{withAgeAndGender(){return new kt(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Nr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ae=class extends Nr{async run(){let t=await this.parentTask,e=await ee(t,this.input,async r=>Promise.all(r.map(n=>F.ageGenderNet.predictAgeAndGender(n))),this.extractedFaces);return t.map((r,n)=>{let{age:s,gender:a,genderProbability:i}=e[n];return Dr(Er(r,a,i),s)})}withFaceExpressions(){return new oe(this,this.input)}},se=class extends Nr{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:n}=await Ce(t,this.input,s=>F.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return Dr(Er(t,r,n),e)}withFaceExpressions(){return new ne(this,this.input)}},Wt=class extends ae{withFaceExpressions(){return new St(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},kt=class extends se{withFaceExpressions(){return new At(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Ue=class extends J{constructor(e,r){super();this.parentTask=e;this.input=r}},_t=class extends Ue{async run(){let t=await this.parentTask;return(await ee(t,this.input,r=>Promise.all(r.map(n=>F.faceRecognitionNet.computeFaceDescriptor(n))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,n)=>Fr(t[n],r))}withFaceExpressions(){return new St(this,this.input)}withAgeAndGender(){return new Wt(this,this.input)}},Tt=class extends Ue{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>F.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return Fr(t,e)}withFaceExpressions(){return new At(this,this.input)}withAgeAndGender(){return new kt(this,this.input)}};var Je=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?F.faceLandmark68TinyNet:F.faceLandmark68Net}},qe=class extends Je{async run(){let t=await this.parentTask,e=t.map(a=>a.detection),r=this.input instanceof Xe.Tensor?await le(this.input,e):await fe(this.input,e),n=await Promise.all(r.map(a=>this.landmarkNet.detectLandmarks(a)));return r.forEach(a=>a instanceof Xe.Tensor&&a.dispose()),t.filter((a,i)=>n[i]).map((a,i)=>Pe(a,n[i]))}withFaceExpressions(){return new St(this,this.input)}withAgeAndGender(){return new Wt(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},Ze=class extends Je{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof Xe.Tensor?await le(this.input,[e]):await fe(this.input,[e]),n=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(s=>s instanceof Xe.Tensor&&s.dispose()),Pe(t,n)}withFaceExpressions(){return new At(this,this.input)}withAgeAndGender(){return new kt(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Ke=class extends J{constructor(e,r=new X){super();this.input=e;this.options=r}},Ie=class extends Ke{async run(){let{input:t,options:e}=this,r;if(e instanceof je)r=F.tinyFaceDetector.locateFaces(t,e);else if(e instanceof X)r=F.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof st)r=F.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(n=>Vt({},n)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new qe(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new oe(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new ae(this.runAndExtendWithFaceDetections(),this.input)}},Qe=class extends Ke{async run(){let t=await new Ie(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?Vt({},e):void 0)})}withFaceLandmarks(t=!1){return new Ze(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new ne(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new se(this.runAndExtendWithFaceDetection(),this.input)}};function Na(o,t=new X){return new Qe(o,t)}function Lr(o,t=new X){return new Ie(o,t)}async function un(o,t){return Lr(o,new X(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function La(o,t={}){return Lr(o,new st(t)).withFaceLandmarks().withFaceDescriptors()}var Sa=un;function xo(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((n,s)=>n-r[s]).reduce((n,s)=>n+s*s,0))}var vo=class o{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let n=1,s=()=>`person ${n++}`;this._labeledDescriptors=r.map(a=>{if(a instanceof Et)return a;if(a instanceof Float32Array)return new Et(s(),[a]);if(a.descriptor&&a.descriptor instanceof Float32Array)return new Et(s(),[a.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>xo(r,t)).reduce((r,n)=>r+n,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new me(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>Et.fromJSON(r));return new o(e,t.distanceThreshold)}};function Aa(o){let t=new re;return t.extractWeights(o),t}function fn(o,t){let{width:e,height:r}=new R(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(n=>fn(n,{width:e,height:r}));if(qt(o)){let n=o.detection.forSize(e,r),s=o.unshiftedLandmarks.forSize(n.box.width,n.box.height);return Pe(Vt(o,n),s)}return pt(o)?Vt(o,o.detection.forSize(e,r)):o instanceof H||o instanceof M?o.forSize(e,r):o}var ka=No;0&&(module.exports={AgeGenderNet,BoundingBox,Box,ComposableTask,ComputeAllFaceDescriptorsTask,ComputeFaceDescriptorsTaskBase,ComputeSingleFaceDescriptorTask,DetectAllFaceLandmarksTask,DetectAllFacesTask,DetectFaceLandmarksTaskBase,DetectFacesTaskBase,DetectSingleFaceLandmarksTask,DetectSingleFaceTask,Dimensions,FACE_EXPRESSION_LABELS,FaceDetection,FaceDetectionNet,FaceExpressionNet,FaceExpressions,FaceLandmark68Net,FaceLandmark68TinyNet,FaceLandmarkNet,FaceLandmarks,FaceLandmarks5,FaceLandmarks68,FaceMatch,FaceMatcher,FaceRecognitionNet,Gender,LabeledBox,LabeledFaceDescriptors,NetInput,NeuralNetwork,ObjectDetection,Point,PredictedBox,Rect,SsdMobilenetv1,SsdMobilenetv1Options,TinyFaceDetector,TinyFaceDetectorOptions,TinyYolov2,TinyYolov2Options,allFaces,allFacesSsdMobilenetv1,allFacesTinyYolov2,awaitMediaLoaded,bufferToImage,computeFaceDescriptor,createCanvas,createCanvasFromMedia,createFaceDetectionNet,createFaceRecognitionNet,createSsdMobilenetv1,createTinyFaceDetector,createTinyYolov2,detectAllFaces,detectFaceLandmarks,detectFaceLandmarksTiny,detectLandmarks,detectSingleFace,draw,env,euclideanDistance,extendWithAge,extendWithFaceDescriptor,extendWithFaceDetection,extendWithFaceExpressions,extendWithFaceLandmarks,extendWithGender,extractFaceTensors,extractFaces,fetchImage,fetchJson,fetchNetWeights,fetchOrThrow,fetchVideo,getContext2dOrThrow,getMediaDimensions,imageTensorToCanvas,imageToSquare,inverseSigmoid,iou,isMediaElement,isMediaLoaded,isWithAge,isWithFaceDetection,isWithFaceExpressions,isWithFaceLandmarks,isWithGender,loadAgeGenderModel,loadFaceDetectionModel,loadFaceExpressionModel,loadFaceLandmarkModel,loadFaceLandmarkTinyModel,loadFaceRecognitionModel,loadSsdMobilenetv1Model,loadTinyFaceDetectorModel,loadTinyYolov2Model,loadWeightMap,locateFaces,matchDimensions,minBbox,nets,nonMaxSuppression,normalize,padToSquare,predictAgeAndGender,recognizeFaceExpressions,resizeResults,resolveInput,shuffleArray,sigmoid,ssdMobilenetv1,tf,tinyFaceDetector,tinyYolov2,toNetInput,utils,validateConfig,version}); diff --git a/dist/face-api.node-wasm.js b/dist/face-api.node-wasm.js index 7477f90..e6b067b 100644 --- a/dist/face-api.node-wasm.js +++ b/dist/face-api.node-wasm.js @@ -4,4 +4,4 @@ author: ' */ -"use strict";var dn=Object.create;var tr=Object.defineProperty;var hn=Object.getOwnPropertyDescriptor;var bn=Object.getOwnPropertyNames;var gn=Object.getPrototypeOf,xn=Object.prototype.hasOwnProperty;var vn=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),Wr=(o,t)=>{for(var e in t)tr(o,e,{get:t[e],enumerable:!0})},_o=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of bn(t))!xn.call(o,n)&&n!==e&&tr(o,n,{get:()=>t[n],enumerable:!(r=hn(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?dn(gn(o)):{},_o(t||!o||!o.__esModule?tr(e,"default",{value:o,enumerable:!0}):e,o)),yn=o=>_o(tr({},"__esModule",{value:!0}),o);var x=vn((Ya,rr)=>{"use strict";var Br=Object.defineProperty,_n=Object.getOwnPropertyDescriptor,Tn=Object.getOwnPropertyNames,Pn=Object.prototype.hasOwnProperty,wn=(o,t)=>{for(var e in t)Br(o,e,{get:t[e],enumerable:!0})},kr=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Tn(t))!Pn.call(o,n)&&n!==e&&Br(o,n,{get:()=>t[n],enumerable:!(r=_n(t,n))||r.enumerable});return o},Po=(o,t,e)=>(kr(o,t,"default"),e&&kr(e,t,"default")),Fn=o=>kr(Br({},"__esModule",{value:!0}),o),er={};wn(er,{version:()=>In});rr.exports=Fn(er);Po(er,require("@tensorflow/tfjs"),rr.exports);Po(er,require("@tensorflow/tfjs-backend-wasm"),rr.exports);var To="4.16.0",Dn="4.16.0",En="4.16.0",Mn="4.16.0",Cn="4.16.0",In={tfjs:To,"tfjs-core":To,"tfjs-converter":Dn,"tfjs-backend-cpu":En,"tfjs-backend-webgl":Mn,"tfjs-backend-wasm":Cn}});var Ba={};Wr(Ba,{AgeGenderNet:()=>He,BoundingBox:()=>Ot,Box:()=>L,ComposableTask:()=>J,ComputeAllFaceDescriptorsTask:()=>_t,ComputeFaceDescriptorsTaskBase:()=>Ue,ComputeSingleFaceDescriptorTask:()=>Tt,DetectAllFaceLandmarksTask:()=>qe,DetectAllFacesTask:()=>Ie,DetectFaceLandmarksTaskBase:()=>Je,DetectFacesTaskBase:()=>Ke,DetectSingleFaceLandmarksTask:()=>Ze,DetectSingleFaceTask:()=>Qe,Dimensions:()=>R,FACE_EXPRESSION_LABELS:()=>so,FaceDetection:()=>M,FaceDetectionNet:()=>lo,FaceExpressionNet:()=>Oe,FaceExpressions:()=>gt,FaceLandmark68Net:()=>Zt,FaceLandmark68TinyNet:()=>ze,FaceLandmarkNet:()=>po,FaceLandmarks:()=>H,FaceLandmarks5:()=>jr,FaceLandmarks68:()=>Yt,FaceMatch:()=>me,FaceMatcher:()=>vo,FaceRecognitionNet:()=>Kt,Gender:()=>Pr,LabeledBox:()=>pe,LabeledFaceDescriptors:()=>Et,NetInput:()=>ut,NeuralNetwork:()=>A,ObjectDetection:()=>Ht,Point:()=>_,PredictedBox:()=>Ur,Rect:()=>zt,SsdMobilenetv1:()=>It,SsdMobilenetv1Options:()=>X,TinyFaceDetector:()=>re,TinyFaceDetectorOptions:()=>je,TinyYolov2:()=>te,TinyYolov2Options:()=>st,allFaces:()=>Sa,allFacesSsdMobilenetv1:()=>fn,allFacesTinyYolov2:()=>La,awaitMediaLoaded:()=>to,bufferToImage:()=>eo,computeFaceDescriptor:()=>xa,createCanvas:()=>Xt,createCanvasFromMedia:()=>We,createFaceDetectionNet:()=>ua,createFaceRecognitionNet:()=>ta,createSsdMobilenetv1:()=>qo,createTinyFaceDetector:()=>Aa,createTinyYolov2:()=>da,detectAllFaces:()=>Ar,detectFaceLandmarks:()=>pn,detectFaceLandmarksTiny:()=>ga,detectLandmarks:()=>Ia,detectSingleFace:()=>Na,draw:()=>co,env:()=>w,euclideanDistance:()=>xo,extendWithAge:()=>Mr,extendWithFaceDescriptor:()=>Er,extendWithFaceDetection:()=>Vt,extendWithFaceExpressions:()=>vr,extendWithFaceLandmarks:()=>Pe,extendWithGender:()=>Cr,extractFaceTensors:()=>le,extractFaces:()=>fe,fetchImage:()=>On,fetchJson:()=>no,fetchNetWeights:()=>Hn,fetchOrThrow:()=>ht,fetchVideo:()=>zn,getContext2dOrThrow:()=>$,getMediaDimensions:()=>Ut,imageTensorToCanvas:()=>ro,imageToSquare:()=>oo,inverseSigmoid:()=>Sn,iou:()=>zr,isMediaElement:()=>cr,isMediaLoaded:()=>Ae,isWithAge:()=>ea,isWithFaceDetection:()=>pt,isWithFaceExpressions:()=>io,isWithFaceLandmarks:()=>qt,isWithGender:()=>ra,loadAgeGenderModel:()=>Ea,loadFaceDetectionModel:()=>Ma,loadFaceExpressionModel:()=>Da,loadFaceLandmarkModel:()=>Pa,loadFaceLandmarkTinyModel:()=>wa,loadFaceRecognitionModel:()=>Fa,loadSsdMobilenetv1Model:()=>un,loadTinyFaceDetectorModel:()=>_a,loadTinyYolov2Model:()=>Ta,loadWeightMap:()=>ao,locateFaces:()=>Ca,matchDimensions:()=>Yn,minBbox:()=>Yr,nets:()=>F,nonMaxSuppression:()=>Vr,normalize:()=>rt,padToSquare:()=>Gr,predictAgeAndGender:()=>ya,recognizeFaceExpressions:()=>va,resizeResults:()=>ln,resolveInput:()=>Gt,shuffleArray:()=>Ln,sigmoid:()=>Ne,ssdMobilenetv1:()=>mn,tf:()=>Wa,tinyFaceDetector:()=>ha,tinyYolov2:()=>ba,toNetInput:()=>D,utils:()=>Hr,validateConfig:()=>ho,version:()=>ka});module.exports=yn(Ba);var Wa=v(x());var co={};Wr(co,{AnchorPosition:()=>Qr,DrawBox:()=>Se,DrawBoxOptions:()=>sr,DrawFaceLandmarks:()=>_r,DrawFaceLandmarksOptions:()=>yr,DrawTextField:()=>jt,DrawTextFieldOptions:()=>ue,drawContour:()=>lt,drawDetections:()=>$n,drawFaceExpressions:()=>Vn,drawFaceLandmarks:()=>jn});function lt(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:n},s)=>{let a=t[s];o.moveTo(a.x,a.y),o.lineTo(r,n)}),e){let r=t[t.length-1],n=t[0];if(!r||!n)return;o.moveTo(r.x,r.y),o.lineTo(n.x,n.y)}o.stroke()}var Hr={};Wr(Hr,{computeReshapedDimensions:()=>Or,getCenterPoint:()=>$t,isDimensions:()=>nr,isEven:()=>or,isFloat:()=>$r,isTensor:()=>Bt,isTensor1D:()=>Nn,isTensor2D:()=>Rr,isTensor3D:()=>dt,isTensor4D:()=>U,isValidNumber:()=>et,isValidProbablitiy:()=>ce,range:()=>ct,round:()=>Rt});var wo=v(x());var R=class o{constructor(t,e){if(!et(t)||!et(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new o(1/this.width,1/this.height)}};function Bt(o,t){return o instanceof wo.Tensor&&o.shape.length===t}function Nn(o){return Bt(o,1)}function Rr(o){return Bt(o,2)}function dt(o){return Bt(o,3)}function U(o){return Bt(o,4)}function $r(o){return o%1!==0}function or(o){return o%2===0}function Rt(o,t=2){let e=10**t;return Math.floor(o*e)/e}function nr(o){return o&&o.width&&o.height}function Or({width:o,height:t},e){let r=e/Math.max(t,o);return new R(Math.round(o*r),Math.round(t*r))}function $t(o){return o.reduce((t,e)=>t.add(e),new _(0,0)).div(new _(o.length,o.length))}function ct(o,t,e){return Array(o).fill(0).map((r,n)=>t+n*e)}function et(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function ce(o){return et(o)&&o>=0&&o<=1}var _=class o{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new o(this.x+t.x,this.y+t.y)}sub(t){return new o(this.x-t.x,this.y-t.y)}mul(t){return new o(this.x*t.x,this.y*t.y)}div(t){return new o(this.x/t.x,this.y/t.y)}abs(){return new o(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new o(Math.floor(this.x),Math.floor(this.y))}};var L=class o{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(et)}static assertIsValidBox(t,e,r=!1){if(!o.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},n=[r.left,r.top,r.right,r.bottom].every(et),s=[r.x,r.y,r.width,r.height].every(et);if(!s&&!n)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[a,i,c,m]=s?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];o.assertIsValidBox({x:a,y:i,width:c,height:m},"Box.constructor",e),this._x=a,this._y=i,this._width=c,this._height=m}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new _(this.left,this.top)}get topRight(){return new _(this.right,this.top)}get bottomLeft(){return new _(this.left,this.bottom)}get bottomRight(){return new _(this.right,this.bottom)}round(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new o({x:t,y:e,width:r,height:n})}floor(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new o({x:t,y:e,width:r,height:n})}toSquare(){let{x:t,y:e,width:r,height:n}=this,s=Math.abs(r-n);return re&&(i=-u+e+r,u=e),f>t&&(c=-f+t+n,f=t),m<1&&(c=2-m,m=1),p<1&&(c=2-p,p=1),{dy:a,edy:c,dx:s,edx:i,y:p,ey:f,x:m,ex:u,w:r,h:n}}calibrate(t){return new o({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Ot=class extends L{constructor(t,e,r,n,s=!1){super({left:t,top:e,right:r,bottom:n},s)}};var Ht=class o{constructor(t,e,r,n,s){this._imageDims=new R(s.width,s.height),this._score=t,this._classScore=e,this._className=r,this._box=new L(n).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new L(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new o(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var M=class o extends Ht{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:n,imageDims:s}=super.forSize(t,e);return new o(r,n,s)}};function zr(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),n=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),s=r*n;return e?s/(o.area+t.area-s):s/Math.min(o.area,t.area)}function Yr(o){let t=o.map(i=>i.x),e=o.map(i=>i.y),r=t.reduce((i,c)=>ccii({score:a,boxIndex:i})).sort((a,i)=>a.score-i.score).map(a=>a.boxIndex),s=[];for(;n.length>0;){let a=n.pop();s.push(a);let i=n,c=[];for(let m=0;mc[p]<=e)}return s}var mt=v(x());function rt(o,t){return mt.tidy(()=>{let[e,r,n]=t,s=mt.fill([...o.shape.slice(0,3),1],e,"float32"),a=mt.fill([...o.shape.slice(0,3),1],r,"float32"),i=mt.fill([...o.shape.slice(0,3),1],n,"float32"),c=mt.concat([s,a,i],3);return mt.sub(o,c)})}var Dt=v(x());function Gr(o,t=!1){return Dt.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let n=Math.abs(e-r),s=Math.round(n*(t?.5:1)),a=e>r?2:1,i=f=>{let l=o.shape.slice();return l[a]=f,Dt.fill(l,0,"float32")},c=i(s),m=n-c.shape[a],u=[t&&m?i(m):null,o,c].filter(f=>!!f).map(f=>Dt.cast(f,"float32"));return Dt.concat(u,a)})}function Ln(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function Ne(o){return 1/(1+Math.exp(-o))}function Sn(o){return Math.log(o/(1-o))}var zt=class extends L{constructor(t,e,r,n,s=!1){super({x:t,y:e,width:r,height:n},s)}};var An=.5,Wn=.43,kn=.45,H=class{constructor(t,e,r=new _(0,0)){let{width:n,height:s}=e;this._imgDims=new R(n,s),this._shift=r,this._positions=t.map(a=>a.mul(new _(n,s)).add(r))}get shift(){return new _(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new _(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new _(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let s=t instanceof M?t.box.floor():new L(t);return this.shiftBy(s.x,s.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:n}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(n)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,n]=t,s=u=>n.sub(u).magnitude(),a=(s(e)+s(r))/2,i=Math.floor(a/kn),c=$t(t),m=Math.floor(Math.max(0,c.x-An*i)),p=Math.floor(Math.max(0,c.y-Wn*i));return new zt(m,p,Math.min(i,this.imageWidth+m),Math.min(i,this.imageHeight+p))}alignMinBbox(t){let e=Yr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var jr=class extends H{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],$t([t[3],t[4]])]}};var Yt=class extends H{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map($t)}};var me=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Rt(this.distance)})`:""}`}};var pe=class extends L{static assertIsValidLabeledBox(t,e){if(L.assertIsValidBox(t,e),!et(t.label))throw new Error(`${e} - expected property label (${t.label}) to be a number`)}constructor(t,e){super(t),this._label=e}get label(){return this._label}};var Et=class o{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new o(t.label,e)}};var Ur=class extends pe{static assertIsValidPredictedBox(t,e){if(pe.assertIsValidLabeledBox(t,e),!ce(t.score)||!ce(t.classScore))throw new Error(`${e} - expected properties score (${t.score}) and (${t.classScore}) to be a number between [0, 1]`)}constructor(t,e,r,n){super(t,e),this._score=r,this._classScore=n}get score(){return this._score}get classScore(){return this._classScore}};function pt(o){return o.detection instanceof M}function Vt(o,t){return{...o,...{detection:t}}}function Xr(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Le(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function ar(o){let t="";if(!o&&Le())try{o=require("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((n,s)=>{o.readFile(r,(a,i)=>a?s(a):n(i))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Jr(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},n=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},a=global.fetch,i=ar();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:n,createVideoElement:s,fetch:a,...i}}function qr(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var S;function Bn(){if(!S)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return S}function Zr(o){S=o}function Kr(){return qr()?Zr(Xr()):Le()?Zr(Jr()):null}function Rn(o){if(S||Kr(),!S)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=S.Canvas,Image:e=S.Image}=o;S.Canvas=t,S.Image=e,S.createCanvasElement=o.createCanvasElement||(()=>new t),S.createImageElement=o.createImageElement||(()=>new e),S.ImageData=o.ImageData||S.ImageData,S.Video=o.Video||S.Video,S.fetch=o.fetch||S.fetch,S.readFile=o.readFile||S.readFile}var w={getEnv:Bn,setEnv:Zr,initialize:Kr,createBrowserEnv:Xr,createFileSystem:ar,createNodejsEnv:Jr,monkeyPatch:Rn,isBrowser:qr,isNodejs:Le};Kr();function Gt(o){return!w.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function $(o){let{Canvas:t,CanvasRenderingContext2D:e}=w.getEnv();if(o instanceof e)return o;let r=Gt(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let n=r.getContext("2d",{willReadFrequently:!0});if(!n)throw new Error("resolveContext2d - canvas 2d context is null");return n}var Qr=(n=>(n.TOP_LEFT="TOP_LEFT",n.TOP_RIGHT="TOP_RIGHT",n.BOTTOM_LEFT="BOTTOM_LEFT",n.BOTTOM_RIGHT="BOTTOM_RIGHT",n))(Qr||{}),ue=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:n,fontSize:s,fontStyle:a,padding:i}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=n||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=a||"Georgia",this.padding=i||4}},jt=class o{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof o?t.text:t,this.anchor=e,this.options=new ue(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,n)=>r{let b=c+u.x,T=c+u.y+(l+1)*a;r.fillText(f,b,T)})}};var sr=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:n,drawLabelOptions:s}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=n;let a={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new ue({...a,...s})}},Se=class{constructor(t,e={}){this.box=new L(t),this.options=new sr(e)}draw(t){let e=$(t),{boxColor:r,lineWidth:n}=this.options,{x:s,y:a,width:i,height:c}=this.box;e.strokeStyle=r,e.lineWidth=n,e.strokeRect(s,a,i,c);let{label:m}=this.options;m&&new jt([m],{x:s-n/2,y:a},this.options.drawLabelOptions).draw(t)}};function $n(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof M?r.score:pt(r)?r.detection.score:void 0,s=r instanceof M?r.box:pt(r)?r.detection.box:new L(r),a=n?`${Rt(n)}`:void 0;new Se(s,{label:a}).draw(o)})}var Te=v(x());function Ae(o){let{Image:t,Video:e}=w.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function to(o){return new Promise((t,e)=>{if(o instanceof w.getEnv().Canvas||Ae(o)){t(null);return}function r(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",n),s.currentTarget.removeEventListener("error",r),e(s))}function n(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",n),s.currentTarget.removeEventListener("error",r),t(s))}o.addEventListener("load",n),o.addEventListener("error",r)})}function eo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let n=w.getEnv().createImageElement();n.onload=()=>t(n),n.onerror=e,n.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Ut(o){let{Image:t,Video:e}=w.getEnv();return o instanceof t?new R(o.naturalWidth,o.naturalHeight):o instanceof e?new R(o.videoWidth,o.videoHeight):new R(o.width,o.height)}function Xt({width:o,height:t}){let{createCanvasElement:e}=w.getEnv(),r=e();return r.width=o,r.height=t,r}function We(o,t){let{ImageData:e}=w.getEnv();if(!(o instanceof e)&&!Ae(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:n}=t||Ut(o),s=Xt({width:r,height:n});return o instanceof e?$(s).putImageData(o,0,0):$(s).drawImage(o,0,0,r,n),s}var ir=v(x());async function ro(o,t){let e=t||w.getEnv().createCanvasElement(),[r,n,s]=o.shape.slice(U(o)?1:0),a=ir.tidy(()=>o.as3D(r,n,s).toInt());return await ir.browser.toPixels(a,e),a.dispose(),e}function cr(o){let{Image:t,Canvas:e,Video:r}=w.getEnv();return o instanceof t||o instanceof e||o instanceof r}var z=v(x());function oo(o,t,e=!1){let{Image:r,Canvas:n}=w.getEnv();if(!(o instanceof r||o instanceof n))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Xt({width:1,height:1});let s=Ut(o),a=t/Math.max(s.height,s.width),i=a*s.width,c=a*s.height,m=Xt({width:t,height:t}),p=o instanceof n?o:We(o),u=Math.abs(i-c)/2,f=e&&i0&&p.height>0&&$(m).drawImage(p,f,l,i,c),m}var ut=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,n)=>{if(dt(r)){this._imageTensors[n]=r,this._inputDimensions[n]=r.shape;return}if(U(r)){let a=r.shape[0];if(a!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${a} passed, but not supported in input array`);this._imageTensors[n]=r,this._inputDimensions[n]=r.shape.slice(1);return}let s=r instanceof w.getEnv().Canvas?r:We(r);this._canvases[n]=s,this._inputDimensions[n]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return ct(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return Or({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,z.tidy(()=>{let r=ct(this.batchSize,0,1).map(s=>{let a=this.getInput(s);if(a instanceof z.Tensor){let i=U(a)?a:z.expandDims(a);return i=Gr(i,e),(i.shape[1]!==t||i.shape[2]!==t)&&(i=z.image.resizeBilinear(i,[t,t],!1,!1)),i.as3D(t,t,3)}if(a instanceof w.getEnv().Canvas)return z.browser.fromPixels(oo(a,t,e));throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${a}`)});return z.stack(r.map(s=>z.cast(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function D(o){if(o instanceof ut)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=n=>Array.isArray(o)?` at input index ${n}:`:"",r=t.map(Gt);return r.forEach((n,s)=>{if(!cr(n)&&!dt(n)&&!U(n))throw typeof t[s]=="string"?new Error(`toNetInput -${e(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${e(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(U(n)){let a=n.shape[0];if(a!==1)throw new Error(`toNetInput -${e(s)} tf.Tensor4D with batchSize ${a} passed, but not supported in input array`)}}),await Promise.all(r.map(n=>cr(n)&&to(n))),new ut(r,Array.isArray(o))}async function fe(o,t){let{Canvas:e}=w.getEnv(),r=o;if(!(o instanceof e)){let a=await D(o);if(a.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let i=a.getInput(0);r=i instanceof e?i:await ro(i)}let n=$(r);return t.map(a=>a instanceof M?a.forSize(r.width,r.height).box.floor():a).map(a=>a.clipAtImageBorders(r.width,r.height)).map(({x:a,y:i,width:c,height:m})=>{let p=Xt({width:c,height:m});return c>0&&m>0&&$(p).putImageData(n.getImageData(a,i,c,m),0,0),p})}var mr=v(x());async function le(o,t){if(!dt(o)&&!U(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(U(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return mr.tidy(()=>{let[e,r,n]=o.shape.slice(U(o)?1:0);return t.map(i=>i instanceof M?i.forSize(r,e).box:i).map(i=>i.clipAtImageBorders(r,e)).filter(i=>i.width>0&&i.height>0).map(({x:i,y:c,width:m,height:p})=>mr.slice3d(o.as3D(e,r,n),[c,i,0],[p,m,n]))})}async function ht(o,t){let{fetch:e}=w.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function On(o){let t=await ht(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return eo(e)}async function no(o){return(await ht(o)).json()}async function Hn(o){return new Float32Array(await(await ht(o)).arrayBuffer())}function Fo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=w.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function zn(o){let t=await ht(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return Fo(e)}var Do=v(x());function pr(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let n=o.split("/").filter(i=>i),s=o.endsWith(".json")?n[n.length-1]:e,a=r+(o.endsWith(".json")?n.slice(0,n.length-1):n).join("/");return a=o.startsWith("/")?`/${a}`:a,{modelBaseUri:a,manifestUri:a==="/"?`/${s}`:`${a}/${s}`}}async function ao(o,t){let{manifestUri:e,modelBaseUri:r}=pr(o,t),n=await no(e);return Do.io.loadWeights(n,r)}function Yn(o,t,e=!1){let{width:r,height:n}=e?Ut(t):t;return o.width=r,o.height=n,{width:r,height:n}}var ve=v(x());var bt=v(x());var A=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:n}=this.traversePropertyPath(t);r[n].dispose(),r[n]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof bt.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof bt.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=bt.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await ao(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=w.getEnv(),{manifestUri:r,modelBaseUri:n}=pr(t,this.getDefaultModelName()),s=m=>Promise.all(m.map(p=>e(p).then(u=>typeof u=="string"?Buffer.from(u):u.buffer))),a=bt.io.weightsLoaderFactory(s),i=JSON.parse((await e(r)).toString()),c=await a(i,n);this.loadFromWeightMap(c)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((s,a)=>{if(!s.nextObj.hasOwnProperty(a))throw new Error(`traversePropertyPath - object does not have property ${a}, for path ${t}`);return{obj:s.nextObj,objProp:a,nextObj:s.nextObj[a]}},{nextObj:this.params}),{obj:r,objProp:n}=e;if(!r||!n||!(r[n]instanceof bt.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:n}}};var E=v(x());var de=v(x());function O(o,t,e){return de.tidy(()=>{let r=de.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=de.add(r,t.bias),r})}function ur(o,t,e=!1){return E.tidy(()=>{let r=E.relu(e?E.add(E.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):O(o,t.conv0,[2,2])),n=O(r,t.conv1,[1,1]),s=E.relu(E.add(r,n)),a=O(s,t.conv2,[1,1]);return E.relu(E.add(r,E.add(n,a)))})}function ke(o,t,e=!1,r=!0){return E.tidy(()=>{let n=E.relu(e?E.add(E.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):O(o,t.conv0,r?[2,2]:[1,1])),s=O(n,t.conv1,[1,1]),a=E.relu(E.add(n,s)),i=O(a,t.conv2,[1,1]),c=E.relu(E.add(n,E.add(s,i))),m=O(c,t.conv3,[1,1]);return E.relu(E.add(n,E.add(s,E.add(i,m))))})}var Mt=v(x());function Jt(o,t,e="same",r=!1){return Mt.tidy(()=>{let n=Mt.add(Mt.conv2d(o,t.filters,[1,1],e),t.bias);return r?Mt.relu(n):n})}function W(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}var fr=v(x());function he(o,t){return(e,r,n,s)=>{let a=fr.tensor4d(o(e*r*n*n),[n,n,e,r]),i=fr.tensor1d(o(r));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:a,bias:i}}}var lr=v(x());function dr(o,t){return(e,r,n)=>{let s=lr.tensor2d(o(e*r),[e,r]),a=lr.tensor1d(o(r));return t.push({paramPath:`${n}/weights`},{paramPath:`${n}/bias`}),{weights:s,bias:a}}}var Re=v(x());var Be=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function be(o,t){return(e,r,n)=>{let s=Re.tensor4d(o(9*e),[3,3,e,1]),a=Re.tensor4d(o(e*r),[1,1,e,r]),i=Re.tensor1d(o(r));return t.push({paramPath:`${n}/depthwise_filter`},{paramPath:`${n}/pointwise_filter`},{paramPath:`${n}/bias`}),new Be(s,a,i)}}function ge(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),n=o(`${t}/bias`,1);return new Be(e,r,n)}}function Y(o,t){return(e,r,n)=>{let s=o[e];if(!Bt(s,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${s}`);return t.push({originalPath:e,paramPath:n||e}),s}}function k(o){let t=o;function e(n){let s=t.slice(0,n);return t=t.slice(n),s}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function hr(o,t){let e=he(o,t),r=be(o,t);function n(a,i,c,m=!1){let p=m?e(a,i,3,`${c}/conv0`):r(a,i,`${c}/conv0`),u=r(i,i,`${c}/conv1`),f=r(i,i,`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function s(a,i,c,m=!1){let{conv0:p,conv1:u,conv2:f}=n(a,i,c,m),l=r(i,i,`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:n,extractDenseBlock4Params:s}}function Eo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractDenseBlock4Params:n}=hr(e,t),s=n(3,32,"dense0",!0),a=n(32,64,"dense1"),i=n(64,128,"dense2"),c=n(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:a,dense2:i,dense3:c}}}function br(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function gr(o,t){let e=Y(o,t),r=br(e),n=ge(e);function s(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`);return{conv0:m,conv1:p,conv2:u}}function a(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`),f=n(`${i}/conv3`);return{conv0:m,conv1:p,conv2:u,conv3:f}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:a}}function Mo(o){let t=[],{extractDenseBlock4Params:e}=gr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return W(o,t),{params:r,paramMappings:t}}var xe=class extends A{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return ve.tidy(()=>{let r=ve.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=ke(s,e.dense0,!0);return a=ke(a,e.dense1),a=ke(a,e.dense2),a=ke(a,e.dense3),a=ve.avgPool(a,[7,7],[2,2],"valid"),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Mo(t)}extractParams(t){return Eo(t)}};var No=v(x());var ye=v(x());function $e(o,t){return ye.tidy(()=>ye.add(ye.matMul(o,t.weights),t.bias))}function Co(o,t,e){let r=[],{extractWeights:n,getRemainingWeights:s}=k(o),i=dr(n,r)(t,e,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:r,params:{fc:i}}}function Io(o){let t=[],e=Y(o,t);function r(s){let a=e(`${s}/weights`,2),i=e(`${s}/bias`,1);return{weights:a,bias:i}}let n={fc:r("fc")};return W(o,t),{params:n,paramMappings:t}}function xr(o){let t={},e={};return Object.keys(o).forEach(r=>{let n=r.startsWith("fc")?e:t;n[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var _e=class extends A{constructor(t,e){super(t),this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return No.tidy(()=>{let r=t instanceof ut?this.faceFeatureExtractor.forwardInput(t):t;return $e(r.as2D(r.shape[0],-1),e.fc)})}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Co(t,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=xr(t);return this.faceFeatureExtractor.loadFromWeightMap(e),Io(r)}extractParams(t){let e=this.getClassifierChannelsIn(),r=this.getClassifierChannelsOut(),n=r*e+r,s=t.slice(0,t.length-n),a=t.slice(t.length-n);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(a)}};var so=["neutral","happy","sad","angry","fearful","disgusted","surprised"],gt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);so.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return so.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var Oe=class extends _e{constructor(t=new xe){super("FaceExpressionNet",t)}forwardInput(t){return Te.tidy(()=>Te.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await D(t))}async predictExpressions(t){let e=await D(t),r=await this.forwardInput(e),n=await Promise.all(Te.unstack(r).map(async a=>{let i=a.dataSync();return a.dispose(),i}));r.dispose();let s=n.map(a=>new gt(a));return e.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function io(o){return o.expressions instanceof gt}function vr(o,t){return{...o,...{expressions:t}}}function Vn(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(s=>{let a=s instanceof gt?s:io(s)?s.expressions:void 0;if(!a)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let c=a.asSortedArray().filter(u=>u.probability>e),m=pt(s)?s.detection.box.bottomLeft:r||new _(0,0);new jt(c.map(u=>`${u.expression} (${Rt(u.probability)})`),m).draw(o)})}function qt(o){return pt(o)&&o.landmarks instanceof H&&o.unshiftedLandmarks instanceof H&&o.alignedRect instanceof M}function Gn(o){let t=c=>c*180/Math.PI,e=(c,m)=>Math.sqrt((c.x-m.x)**2+(c.y-m.y)**2),r={roll:void 0,pitch:void 0,yaw:void 0},n=(c,m,p)=>{let u=Math.floor(c.x-m.x),f=Math.floor(m.x-p.x);return u-f},s=(c,m)=>{let p=Math.hypot(m.x-c.x,m.y-c.y),u=m.y-c.y,f=Math.asin(u/p),l=t(f),b=Math.floor(90-l),T=m.x-c.x<0?-1:1;return b*T},a=(c,m,p)=>{let u=e(c,p),f=new _((c.x+p.x)/2,(c.y+p.y)/2),l=e(m,f),b=Math.atan(l/u),T=Math.floor(t(b)),h=f.y-m.y<0?-1:1;return T*h};if(!o||!o.positions||o.positions.length!==68)return r;let i=o.positions;return r.roll=s(i[27],i[66]),r.pitch=a(i[14],i[30],i[2]),r.yaw=n(i[14],i[33],i[2]),r}function Pe(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),n=r.align(),{imageDims:s}=o.detection,a=new M(o.detection.score,n.rescale(s.reverse()),s),i=Gn(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:a,angle:i}}}var yr=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:n,lineColor:s,pointSize:a,pointColor:i}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=n||1,this.pointSize=a||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=i||"rgba(255, 0, 255, 1)"}},_r=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new yr(e)}draw(t){let e=$(t),{drawLines:r,drawPoints:n,lineWidth:s,lineColor:a,pointSize:i,pointColor:c}=this.options;if(r&&this.faceLandmarks instanceof Yt&&(e.strokeStyle=a,e.lineWidth=s,lt(e,this.faceLandmarks.getJawOutline()),lt(e,this.faceLandmarks.getLeftEyeBrow()),lt(e,this.faceLandmarks.getRightEyeBrow()),lt(e,this.faceLandmarks.getNose()),lt(e,this.faceLandmarks.getLeftEye(),!0),lt(e,this.faceLandmarks.getRightEye(),!0),lt(e,this.faceLandmarks.getMouth(),!0)),n){e.strokeStyle=c,e.fillStyle=c;let m=p=>{e.beginPath(),e.arc(p.x,p.y,i,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(m)}}};function jn(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof H?r:qt(r)?r.landmarks:void 0;if(!n)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new _r(n).draw(o)})}var Lo="1.7.13";var ft=v(x());var N=v(x());function Jn(o,t){let e=he(o,t),r=be(o,t);function n(a,i,c){let m=r(a,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=e(a,i,1,`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function s(a,i){let c=r(a,a,`${i}/separable_conv0`),m=r(a,a,`${i}/separable_conv1`),p=r(a,a,`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:n,extractMainBlockParams:s}}function So(o,t){let e=[],{extractWeights:r,getRemainingWeights:n}=k(o),{extractConvParams:s,extractSeparableConvParams:a,extractReductionBlockParams:i,extractMainBlockParams:c}=Jn(r,e),m=s(3,32,3,"entry_flow/conv_in"),p=i(32,64,"entry_flow/reduction_block_0"),u=i(64,128,"entry_flow/reduction_block_1"),f={conv_in:m,reduction_block_0:p,reduction_block_1:u},l={};ct(t,0,1).forEach(g=>{l[`main_block_${g}`]=c(128,`middle_flow/main_block_${g}`)});let b=i(128,256,"exit_flow/reduction_block"),T=a(256,512,"exit_flow/separable_conv"),h={reduction_block:b,separable_conv:T};if(n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{paramMappings:e,params:{entry_flow:f,middle_flow:l,exit_flow:h}}}function qn(o,t){let e=Y(o,t),r=br(e),n=ge(e);function s(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=r(`${i}/expansion_conv`);return{separable_conv0:c,separable_conv1:m,expansion_conv:p}}function a(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=n(`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:s,extractMainBlockParams:a}}function Ao(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:s,extractMainBlockParams:a}=qn(o,e),i=r("entry_flow/conv_in"),c=s("entry_flow/reduction_block_0"),m=s("entry_flow/reduction_block_1"),p={conv_in:i,reduction_block_0:c,reduction_block_1:m},u={};ct(t,0,1).forEach(T=>{u[`main_block_${T}`]=a(`middle_flow/main_block_${T}`)});let f=s("exit_flow/reduction_block"),l=n("exit_flow/separable_conv"),b={reduction_block:f,separable_conv:l};return W(o,e),{params:{entry_flow:p,middle_flow:u,exit_flow:b},paramMappings:e}}function Wo(o,t,e){return N.add(N.conv2d(o,t.filters,e,"same"),t.bias)}function mo(o,t,e=!0){let r=e?N.relu(o):o;return r=O(r,t.separable_conv0,[1,1]),r=O(N.relu(r),t.separable_conv1,[1,1]),r=N.maxPool(r,[3,3],[2,2],"same"),r=N.add(r,Wo(o,t.expansion_conv,[2,2])),r}function Zn(o,t){let e=O(N.relu(o),t.separable_conv0,[1,1]);return e=O(N.relu(e),t.separable_conv1,[1,1]),e=O(N.relu(e),t.separable_conv2,[1,1]),e=N.add(e,o),e}var Tr=class extends A{constructor(t){super("TinyXception"),this._numMainBlocks=t}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyXception - load model before inference");return N.tidy(()=>{let r=N.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=N.relu(Wo(s,e.entry_flow.conv_in,[2,2]));return a=mo(a,e.entry_flow.reduction_block_0,!1),a=mo(a,e.entry_flow.reduction_block_1),ct(this._numMainBlocks,0,1).forEach(i=>{a=Zn(a,e.middle_flow[`main_block_${i}`])}),a=mo(a,e.exit_flow.reduction_block),a=N.relu(O(a,e.exit_flow.separable_conv,[1,1])),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(t){return Ao(t,this._numMainBlocks)}extractParams(t){return So(t,this._numMainBlocks)}};function ko(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),n=dr(e,t),s=n(512,1,"fc/age"),a=n(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:s,gender:a}}}}function Bo(o){let t=[],e=Y(o,t);function r(s){let a=e(`${s}/weights`,2),i=e(`${s}/bias`,1);return{weights:a,bias:i}}let n={fc:{age:r("fc/age"),gender:r("fc/gender")}};return W(o,t),{params:n,paramMappings:t}}var Pr=(e=>(e.FEMALE="female",e.MALE="male",e))(Pr||{});var He=class extends A{constructor(t=new Tr(2)){super("AgeGenderNet"),this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return ft.tidy(()=>{let r=t instanceof ut?this.faceFeatureExtractor.forwardInput(t):t,n=ft.avgPool(r,[7,7],[2,2],"valid").as2D(r.shape[0],-1),s=$e(n,e.fc.age).as1D(),a=$e(n,e.fc.gender);return{age:s,gender:a}})}forwardInput(t){return ft.tidy(()=>{let{age:e,gender:r}=this.runNet(t);return{age:e,gender:ft.softmax(r)}})}async forward(t){return this.forwardInput(await D(t))}async predictAgeAndGender(t){let e=await D(t),r=await this.forwardInput(e),n=ft.unstack(r.age),s=ft.unstack(r.gender),a=n.map((c,m)=>({ageTensor:c,genderTensor:s[m]})),i=await Promise.all(a.map(async({ageTensor:c,genderTensor:m})=>{let p=c.dataSync()[0],u=m.dataSync()[0],f=u>.5,l=f?"male":"female",b=f?u:1-u;return c.dispose(),m.dispose(),{age:p,gender:l,genderProbability:b}}));return r.age.dispose(),r.gender.dispose(),e.isBatchInput?i:i[0]}getDefaultModelName(){return"age_gender_model"}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return ko(t)}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=xr(t);return this.faceFeatureExtractor.loadFromWeightMap(e),Bo(r)}extractParams(t){let r=t.slice(0,t.length-1539),n=t.slice(t.length-1539);return this.faceFeatureExtractor.extractWeights(r),this.extractClassifierParams(n)}};var V=v(x());var we=class extends _e{postProcess(t,e,r){let n=r.map(({width:a,height:i})=>{let c=e/Math.max(i,a);return{width:a*c,height:i*c}}),s=n.length;return V.tidy(()=>{let a=(u,f)=>V.stack([V.fill([68],u,"float32"),V.fill([68],f,"float32")],1).as2D(1,136).as1D(),i=(u,f)=>{let{width:l,height:b}=n[u];return f(l,b)?Math.abs(l-b)/2:0},c=u=>i(u,(f,l)=>fi(u,(f,l)=>la(c(f),m(f))))).div(V.stack(Array.from(Array(s),(u,f)=>a(n[f].width,n[f].height))))})}forwardInput(t){return V.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,n])=>({height:r,width:n})))})}async forward(t){return this.forwardInput(await D(t))}async detectLandmarks(t){let e=await D(t),r=V.tidy(()=>V.unstack(this.forwardInput(e))),n=await Promise.all(r.map(async(s,a)=>{let i=Array.from(s.dataSync()),c=i.filter((p,u)=>or(u)),m=i.filter((p,u)=>!or(u));return new Yt(Array(68).fill(0).map((p,u)=>new _(c[u],m[u])),{height:e.getInputHeight(a),width:e.getInputWidth(a)})}));return r.forEach(s=>s.dispose()),e.isBatchInput?n:n[0]}getClassifierChannelsOut(){return 136}};var Zt=class extends we{constructor(t=new xe){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};var Fe=v(x());function Ro(o){let t=[],{extractDenseBlock3Params:e}=gr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return W(o,t),{params:r,paramMappings:t}}function $o(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractDenseBlock3Params:n}=hr(e,t),s=n(3,32,"dense0",!0),a=n(32,64,"dense1"),i=n(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:a,dense2:i}}}var wr=class extends A{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return Fe.tidy(()=>{let r=Fe.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=ur(s,e.dense0,!0);return a=ur(a,e.dense1),a=ur(a,e.dense2),a=Fe.avgPool(a,[14,14],[2,2],"valid"),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Ro(t)}extractParams(t){return $o(t)}};var ze=class extends we{constructor(t=new wr){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var po=class extends Zt{};var nt=v(x());var De=v(x());var Fr=v(x());function Oo(o,t){return Fr.add(Fr.mul(o,t.weights),t.biases)}function uo(o,t,e,r,n="same"){let{filters:s,bias:a}=t.conv,i=De.conv2d(o,s,e,n);return i=De.add(i,a),i=Oo(i,t.scale),r?De.relu(i):i}function Ho(o,t){return uo(o,t,[1,1],!0)}function fo(o,t){return uo(o,t,[1,1],!1)}function Dr(o,t){return uo(o,t,[2,2],!0,"valid")}var G=v(x());function Kn(o,t){function e(i,c,m){let p=o(i),u=p.length/(c*m*m);if($r(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${p.length}, numFilters: ${c}, filterSize: ${m}`);return G.tidy(()=>G.transpose(G.tensor4d(p,[c,u,m,m]),[2,3,1,0]))}function r(i,c,m,p){let u=e(i,c,m),f=G.tensor1d(o(c));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:u,bias:f}}function n(i,c){let m=G.tensor1d(o(i)),p=G.tensor1d(o(i));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:m,biases:p}}function s(i,c,m,p){let u=r(i,c,m,`${p}/conv`),f=n(c,`${p}/scale`);return{conv:u,scale:f}}function a(i,c,m,p,u=!1){let f=s((u?.5:1)*i,c,m,`${p}/conv1`),l=s(i,c,m,`${p}/conv2`);return{conv1:f,conv2:l}}return{extractConvLayerParams:s,extractResidualLayerParams:a}}function zo(o){let{extractWeights:t,getRemainingWeights:e}=k(o),r=[],{extractConvLayerParams:n,extractResidualLayerParams:s}=Kn(t,r),a=n(4704,32,7,"conv32_down"),i=s(9216,32,3,"conv32_1"),c=s(9216,32,3,"conv32_2"),m=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),u=s(36864,64,3,"conv64_1"),f=s(36864,64,3,"conv64_2"),l=s(36864,64,3,"conv64_3"),b=s(147456,128,3,"conv128_down",!0),T=s(147456,128,3,"conv128_1"),h=s(147456,128,3,"conv128_2"),g=s(589824,256,3,"conv256_down",!0),P=s(589824,256,3,"conv256_1"),y=s(589824,256,3,"conv256_2"),I=s(589824,256,3,"conv256_down_out"),j=G.tidy(()=>G.transpose(G.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:a,conv32_1:i,conv32_2:c,conv32_3:m,conv64_down:p,conv64_1:u,conv64_2:f,conv64_3:l,conv128_down:b,conv128_1:T,conv128_2:h,conv256_down:g,conv256_1:P,conv256_2:y,conv256_down_out:I,fc:j},paramMappings:r}}function Qn(o,t){let e=Y(o,t);function r(a){let i=e(`${a}/scale/weights`,1),c=e(`${a}/scale/biases`,1);return{weights:i,biases:c}}function n(a){let i=e(`${a}/conv/filters`,4),c=e(`${a}/conv/bias`,1),m=r(a);return{conv:{filters:i,bias:c},scale:m}}function s(a){return{conv1:n(`${a}/conv1`),conv2:n(`${a}/conv2`)}}return{extractConvLayerParams:n,extractResidualLayerParams:s}}function Yo(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Qn(o,t),n=e("conv32_down"),s=r("conv32_1"),a=r("conv32_2"),i=r("conv32_3"),c=r("conv64_down"),m=r("conv64_1"),p=r("conv64_2"),u=r("conv64_3"),f=r("conv128_down"),l=r("conv128_1"),b=r("conv128_2"),T=r("conv256_down"),h=r("conv256_1"),g=r("conv256_2"),P=r("conv256_down_out"),{fc:y}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!Rr(y))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${y}`);let I={conv32_down:n,conv32_1:s,conv32_2:a,conv32_3:i,conv64_down:c,conv64_1:m,conv64_2:p,conv64_3:u,conv128_down:f,conv128_1:l,conv128_2:b,conv256_down:T,conv256_1:h,conv256_2:g,conv256_down_out:P,fc:y};return W(o,t),{params:I,paramMappings:t}}var B=v(x());function ot(o,t){let e=Ho(o,t.conv1);return e=fo(e,t.conv2),e=B.add(e,o),e=B.relu(e),e}function Ye(o,t){let e=Dr(o,t.conv1);e=fo(e,t.conv2);let r=B.avgPool(o,2,2,"valid"),n=B.zeros(r.shape),s=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let i=[...e.shape];i[1]=1;let c=B.zeros(i);e=B.concat([e,c],1);let m=[...e.shape];m[2]=1;let p=B.zeros(m);e=B.concat([e,p],2)}return r=s?B.concat([r,n],3):r,e=B.add(r,e),e=B.relu(e),e}var Kt=class extends A{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return nt.tidy(()=>{let r=nt.cast(t.toBatchTensor(150,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=Dr(s,e.conv32_down);a=nt.maxPool(a,3,2,"valid"),a=ot(a,e.conv32_1),a=ot(a,e.conv32_2),a=ot(a,e.conv32_3),a=Ye(a,e.conv64_down),a=ot(a,e.conv64_1),a=ot(a,e.conv64_2),a=ot(a,e.conv64_3),a=Ye(a,e.conv128_down),a=ot(a,e.conv128_1),a=ot(a,e.conv128_2),a=Ye(a,e.conv256_down),a=ot(a,e.conv256_1),a=ot(a,e.conv256_2),a=Ye(a,e.conv256_down_out);let i=a.mean([1,2]);return nt.matMul(i,e.fc)})}async forward(t){return this.forwardInput(await D(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(a=>a<=0))return new Float32Array(128);let e=await D(t),r=nt.tidy(()=>nt.unstack(this.forwardInput(e))),n=await Promise.all(r.map(a=>a.data()));return r.forEach(a=>a.dispose()),e.isBatchInput?n:n[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return Yo(t)}extractParams(t){return zo(t)}};function ta(o){let t=new Kt;return t.extractWeights(o),t}function Er(o,t){return{...o,...{descriptor:t}}}function ea(o){return typeof o.age=="number"}function Mr(o,t){return{...o,...{age:t}}}function ra(o){return(o.gender==="male"||o.gender==="female")&&ce(o.genderProbability)}function Cr(o,t,e){return{...o,...{gender:t,genderProbability:e}}}var Nt=v(x());var at=v(x());function oa(o,t){function e(c,m){let p=at.tensor4d(o(9*c),[3,3,c,1]),u=at.tensor1d(o(c)),f=at.tensor1d(o(c)),l=at.tensor1d(o(c)),b=at.tensor1d(o(c));return t.push({paramPath:`${m}/filters`},{paramPath:`${m}/batch_norm_scale`},{paramPath:`${m}/batch_norm_offset`},{paramPath:`${m}/batch_norm_mean`},{paramPath:`${m}/batch_norm_variance`}),{filters:p,batch_norm_scale:u,batch_norm_offset:f,batch_norm_mean:l,batch_norm_variance:b}}function r(c,m,p,u,f){let l=at.tensor4d(o(c*m*p*p),[p,p,c,m]),b=at.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/${f?"batch_norm_offset":"bias"}`}),{filters:l,bias:b}}function n(c,m,p,u){let{filters:f,bias:l}=r(c,m,p,u,!0);return{filters:f,batch_norm_offset:l}}function s(c,m,p){let u=e(c,`${p}/depthwise_conv`),f=n(c,m,1,`${p}/pointwise_conv`);return{depthwise_conv:u,pointwise_conv:f}}function a(){let c=n(3,32,3,"mobilenetv1/conv_0"),m=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),u=s(128,128,"mobilenetv1/conv_3"),f=s(128,256,"mobilenetv1/conv_4"),l=s(256,256,"mobilenetv1/conv_5"),b=s(256,512,"mobilenetv1/conv_6"),T=s(512,512,"mobilenetv1/conv_7"),h=s(512,512,"mobilenetv1/conv_8"),g=s(512,512,"mobilenetv1/conv_9"),P=s(512,512,"mobilenetv1/conv_10"),y=s(512,512,"mobilenetv1/conv_11"),I=s(512,1024,"mobilenetv1/conv_12"),j=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:b,conv_7:T,conv_8:h,conv_9:g,conv_10:P,conv_11:y,conv_12:I,conv_13:j}}function i(){let c=n(1024,256,1,"prediction_layer/conv_0"),m=n(256,512,3,"prediction_layer/conv_1"),p=n(512,128,1,"prediction_layer/conv_2"),u=n(128,256,3,"prediction_layer/conv_3"),f=n(256,128,1,"prediction_layer/conv_4"),l=n(128,256,3,"prediction_layer/conv_5"),b=n(256,64,1,"prediction_layer/conv_6"),T=n(64,128,3,"prediction_layer/conv_7"),h=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),g=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),P=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),y=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),I=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),j=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),tt=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),it=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),q=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),Pt=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),wt=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),Ft=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:b,conv_7:T,box_predictor_0:{box_encoding_predictor:h,class_predictor:g},box_predictor_1:{box_encoding_predictor:P,class_predictor:y},box_predictor_2:{box_encoding_predictor:I,class_predictor:j},box_predictor_3:{box_encoding_predictor:tt,class_predictor:it},box_predictor_4:{box_encoding_predictor:q,class_predictor:Pt},box_predictor_5:{box_encoding_predictor:wt,class_predictor:Ft}}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:i}}function Vo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractMobilenetV1Params:n,extractPredictionLayerParams:s}=oa(e,t),a=n(),i=s(),m={extra_dim:at.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:a,prediction_layer:i,output_layer:m},paramMappings:t}}function na(o,t){let e=Y(o,t);function r(m,p,u){let f=e(`${m}/Conv2d_${p}_pointwise/weights`,4,`${u}/filters`),l=e(`${m}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${u}/batch_norm_offset`);return{filters:f,batch_norm_offset:l}}function n(m){let p=`mobilenetv1/conv_${m}`,u=`MobilenetV1/Conv2d_${m}_depthwise`,f=`${p}/depthwise_conv`,l=`${p}/pointwise_conv`,b=e(`${u}/depthwise_weights`,4,`${f}/filters`),T=e(`${u}/BatchNorm/gamma`,1,`${f}/batch_norm_scale`),h=e(`${u}/BatchNorm/beta`,1,`${f}/batch_norm_offset`),g=e(`${u}/BatchNorm/moving_mean`,1,`${f}/batch_norm_mean`),P=e(`${u}/BatchNorm/moving_variance`,1,`${f}/batch_norm_variance`);return{depthwise_conv:{filters:b,batch_norm_scale:T,batch_norm_offset:h,batch_norm_mean:g,batch_norm_variance:P},pointwise_conv:r("MobilenetV1",m,l)}}function s(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:n(1),conv_2:n(2),conv_3:n(3),conv_4:n(4),conv_5:n(5),conv_6:n(6),conv_7:n(7),conv_8:n(8),conv_9:n(9),conv_10:n(10),conv_11:n(11),conv_12:n(12),conv_13:n(13)}}function a(m,p){let u=e(`${m}/weights`,4,`${p}/filters`),f=e(`${m}/biases`,1,`${p}/bias`);return{filters:u,bias:f}}function i(m){let p=a(`Prediction/BoxPredictor_${m}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${m}/box_encoding_predictor`),u=a(`Prediction/BoxPredictor_${m}/ClassPredictor`,`prediction_layer/box_predictor_${m}/class_predictor`);return{box_encoding_predictor:p,class_predictor:u}}function c(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:i(0),box_predictor_1:i(1),box_predictor_2:i(2),box_predictor_3:i(3),box_predictor_4:i(4),box_predictor_5:i(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:c}}function Go(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=na(o,t),n=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!dt(n))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${n}`);let s={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:n}};return W(o,t),{params:s,paramMappings:t}}var xt=v(x());var Ct=v(x());function Z(o,t,e){return Ct.tidy(()=>{let r=Ct.conv2d(o,t.filters,e,"same");return r=Ct.add(r,t.batch_norm_offset),Ct.clipByValue(r,0,6)})}var aa=.0010000000474974513;function sa(o,t,e){return xt.tidy(()=>{let r=xt.depthwiseConv2d(o,t.filters,e,"same");return r=xt.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,aa),xt.clipByValue(r,0,6)})}function ia(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function jo(o,t){return xt.tidy(()=>{let e,r=Z(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,a)=>{let i=a+1,c=ia(i);r=sa(r,s.depthwise_conv,c),r=Z(r,s.pointwise_conv,[1,1]),i===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function ca(o,t,e){let r=o.arraySync(),n=Math.min(r[t][0],r[t][2]),s=Math.min(r[t][1],r[t][3]),a=Math.max(r[t][0],r[t][2]),i=Math.max(r[t][1],r[t][3]),c=Math.min(r[e][0],r[e][2]),m=Math.min(r[e][1],r[e][3]),p=Math.max(r[e][0],r[e][2]),u=Math.max(r[e][1],r[e][3]),f=(a-n)*(i-s),l=(p-c)*(u-m);if(f<=0||l<=0)return 0;let b=Math.max(n,c),T=Math.max(s,m),h=Math.min(a,p),g=Math.min(i,u),P=Math.max(h-b,0)*Math.max(g-T,0);return P/(f+l-P)}function Uo(o,t,e,r,n){let s=o.shape[0],a=Math.min(e,s),i=t.map((p,u)=>({score:p,boxIndex:u})).filter(p=>p.score>n).sort((p,u)=>u.score-p.score),c=p=>p<=r?1:0,m=[];return i.forEach(p=>{if(m.length>=a)return;let u=p.score;for(let f=m.length-1;f>=0;--f){let l=ca(o,p.boxIndex,m[f]);if(l!==0&&(p.score*=c(l),p.score<=n))break}u===p.score&&m.push(p.boxIndex)}),m}var d=v(x());function ma(o){let t=d.unstack(d.transpose(o,[1,0])),e=[d.sub(t[2],t[0]),d.sub(t[3],t[1])],r=[d.add(t[0],d.div(e[0],2)),d.add(t[1],d.div(e[1],2))];return{sizes:e,centers:r}}function pa(o,t){let{sizes:e,centers:r}=ma(o),n=d.unstack(d.transpose(t,[1,0])),s=d.div(d.mul(d.exp(d.div(n[2],5)),e[0]),2),a=d.add(d.mul(d.div(n[0],10),e[0]),r[0]),i=d.div(d.mul(d.exp(d.div(n[3],5)),e[1]),2),c=d.add(d.mul(d.div(n[1],10),e[1]),r[1]);return d.transpose(d.stack([d.sub(a,s),d.sub(c,i),d.add(a,s),d.add(c,i)]),[1,0])}function Xo(o,t,e){return d.tidy(()=>{let r=o.shape[0],n=pa(d.reshape(d.tile(e.extra_dim,[r,1,1]),[-1,4]),d.reshape(o,[-1,4]));n=d.reshape(n,[r,n.shape[0]/r,4]);let s=d.sigmoid(d.slice(t,[0,0,1],[-1,-1,-1])),a=d.slice(s,[0,0,0],[-1,-1,1]);a=d.reshape(a,[r,a.shape[1]]);let i=d.unstack(n),c=d.unstack(a);return{boxes:i,scores:c}})}var Ge=v(x());var Ve=v(x());function Qt(o,t){return Ve.tidy(()=>{let e=o.shape[0],r=Ve.reshape(Jt(o,t.box_encoding_predictor),[e,-1,1,4]),n=Ve.reshape(Jt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:n}})}function Jo(o,t,e){return Ge.tidy(()=>{let r=Z(o,e.conv_0,[1,1]),n=Z(r,e.conv_1,[2,2]),s=Z(n,e.conv_2,[1,1]),a=Z(s,e.conv_3,[2,2]),i=Z(a,e.conv_4,[1,1]),c=Z(i,e.conv_5,[2,2]),m=Z(c,e.conv_6,[1,1]),p=Z(m,e.conv_7,[2,2]),u=Qt(t,e.box_predictor_0),f=Qt(o,e.box_predictor_1),l=Qt(n,e.box_predictor_2),b=Qt(a,e.box_predictor_3),T=Qt(c,e.box_predictor_4),h=Qt(p,e.box_predictor_5),g=Ge.concat([u.boxPredictionEncoding,f.boxPredictionEncoding,l.boxPredictionEncoding,b.boxPredictionEncoding,T.boxPredictionEncoding,h.boxPredictionEncoding],1),P=Ge.concat([u.classPrediction,f.classPrediction,l.classPrediction,b.classPrediction,T.classPrediction,h.classPrediction],1);return{boxPredictions:g,classPredictions:P}})}var X=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var It=class extends A{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return Nt.tidy(()=>{let r=Nt.cast(t.toBatchTensor(512,!1),"float32"),n=Nt.sub(Nt.div(r,127.5),1),s=jo(n,e.mobilenetv1),{boxPredictions:a,classPredictions:i}=Jo(s.out,s.conv11,e.prediction_layer);return Xo(a,i,e.output_layer)})}async forward(t){return this.forwardInput(await D(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:n}=new X(e),s=await D(t),{boxes:a,scores:i}=this.forwardInput(s),c=a[0],m=i[0];for(let y=1;y{let[I,j]=[Math.max(0,g[y][0]),Math.min(1,g[y][2])].map(q=>q*h),[tt,it]=[Math.max(0,g[y][1]),Math.min(1,g[y][3])].map(q=>q*T);return new M(p[y],new zt(tt,I,it-tt,j-I),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return c.dispose(),m.dispose(),P}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Go(t)}extractParams(t){return Vo(t)}};function qo(o){let t=new It;return t.extractWeights(o),t}function ua(o){return qo(o)}var lo=class extends It{};var Zo=.4,Ko=[new _(.738768,.874946),new _(2.42204,2.65704),new _(4.30971,7.04493),new _(10.246,4.59428),new _(12.6868,11.8741)],Qo=[new _(1.603231,2.094468),new _(6.041143,7.080126),new _(2.882459,3.518061),new _(4.266906,5.178857),new _(9.041765,10.66308)],tn=[117.001,114.697,97.404],en="tiny_yolov2_model",rn="tiny_yolov2_separable_conv_model";var C=v(x());var Ir=o=>typeof o=="number";function ho(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Ir(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Ir(t.x)&&Ir(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Ir)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}var Q=v(x());var K=v(x());function Ee(o){return K.tidy(()=>{let t=K.mul(o,K.scalar(.10000000149011612));return K.add(K.relu(K.sub(o,t)),t)})}function vt(o,t){return Q.tidy(()=>{let e=Q.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Q.conv2d(e,t.conv.filters,[1,1],"valid"),e=Q.sub(e,t.bn.sub),e=Q.mul(e,t.bn.truediv),e=Q.add(e,t.conv.bias),Ee(e)})}var Lt=v(x());function yt(o,t){return Lt.tidy(()=>{let e=Lt.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Lt.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=Lt.add(e,t.bias),Ee(e)})}var bo=v(x());function fa(o,t){let e=he(o,t);function r(a,i){let c=bo.tensor1d(o(a)),m=bo.tensor1d(o(a));return t.push({paramPath:`${i}/sub`},{paramPath:`${i}/truediv`}),{sub:c,truediv:m}}function n(a,i,c){let m=e(a,i,3,`${c}/conv`),p=r(i,`${c}/bn`);return{conv:m,bn:p}}let s=be(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:n,extractSeparableConvParams:s}}function on(o,t,e,r){let{extractWeights:n,getRemainingWeights:s}=k(o),a=[],{extractConvParams:i,extractConvWithBatchNormParams:c,extractSeparableConvParams:m}=fa(n,a),p;if(t.withSeparableConvs){let[u,f,l,b,T,h,g,P,y]=r,I=t.isFirstLayerConv2d?i(u,f,3,"conv0"):m(u,f,"conv0"),j=m(f,l,"conv1"),tt=m(l,b,"conv2"),it=m(b,T,"conv3"),q=m(T,h,"conv4"),Pt=m(h,g,"conv5"),wt=P?m(g,P,"conv6"):void 0,Ft=y?m(P,y,"conv7"):void 0,ie=i(y||P||g,5*e,1,"conv8");p={conv0:I,conv1:j,conv2:tt,conv3:it,conv4:q,conv5:Pt,conv6:wt,conv7:Ft,conv8:ie}}else{let[u,f,l,b,T,h,g,P,y]=r,I=c(u,f,"conv0"),j=c(f,l,"conv1"),tt=c(l,b,"conv2"),it=c(b,T,"conv3"),q=c(T,h,"conv4"),Pt=c(h,g,"conv5"),wt=c(g,P,"conv6"),Ft=c(P,y,"conv7"),ie=i(y,5*e,1,"conv8");p={conv0:I,conv1:j,conv2:tt,conv3:it,conv4:q,conv5:Pt,conv6:wt,conv7:Ft,conv8:ie}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:a}}function la(o,t){let e=Y(o,t);function r(i){let c=e(`${i}/sub`,1),m=e(`${i}/truediv`,1);return{sub:c,truediv:m}}function n(i){let c=e(`${i}/filters`,4),m=e(`${i}/bias`,1);return{filters:c,bias:m}}function s(i){let c=n(`${i}/conv`),m=r(`${i}/bn`);return{conv:c,bn:m}}let a=ge(e);return{extractConvParams:n,extractConvWithBatchNormParams:s,extractSeparableConvParams:a}}function nn(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:n,extractSeparableConvParams:s}=la(o,e),a;if(t.withSeparableConvs){let i=t.filterSizes&&t.filterSizes.length||9;a={conv0:t.isFirstLayerConv2d?r("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:i>7?s("conv6"):void 0,conv7:i>8?s("conv7"):void 0,conv8:r("conv8")}}else a={conv0:n("conv0"),conv1:n("conv1"),conv2:n("conv2"),conv3:n("conv3"),conv4:n("conv4"),conv5:n("conv5"),conv6:n("conv6"),conv7:n("conv7"),conv8:r("conv8")};return W(o,e),{params:a,paramMappings:e}}var st=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var Nr=class Nr extends A{constructor(t){super("TinyYolov2"),ho(t),this._config=t}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(t,e){let r=vt(t,e.conv0);return r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv1),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv2),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv3),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv4),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv5),r=C.maxPool(r,[2,2],[1,1],"same"),r=vt(r,e.conv6),r=vt(r,e.conv7),Jt(r,e.conv8,"valid",!1)}runMobilenet(t,e){let r=this.config.isFirstLayerConv2d?Ee(Jt(t,e.conv0,"valid",!1)):yt(t,e.conv0);return r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv1),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv2),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv3),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv4),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv5),r=C.maxPool(r,[2,2],[1,1],"same"),r=e.conv6?yt(r,e.conv6):r,r=e.conv7?yt(r,e.conv7):r,Jt(r,e.conv8,"valid",!1)}forwardInput(t,e){let{params:r}=this;if(!r)throw new Error("TinyYolov2 - load model before inference");return C.tidy(()=>{let n=C.cast(t.toBatchTensor(e,!1),"float32");return n=this.config.meanRgb?rt(n,this.config.meanRgb):n,n=n.div(255),this.config.withSeparableConvs?this.runMobilenet(n,r):this.runTinyYolov2(n,r)})}async forward(t,e){return this.forwardInput(await D(t),e)}async detect(t,e={}){let{inputSize:r,scoreThreshold:n}=new st(e),s=await D(t),a=await this.forwardInput(s,r),i=C.tidy(()=>C.unstack(a)[0].expandDims()),c={width:s.getInputWidth(0),height:s.getInputHeight(0)},m=await this.extractBoxes(i,s.getReshapedInputDimensions(0),n);a.dispose(),i.dispose();let p=m.map(h=>h.box),u=m.map(h=>h.score),f=m.map(h=>h.classScore),l=m.map(h=>this.config.classes[h.label]);return Vr(p.map(h=>h.rescale(r)),u,this.config.iouThreshold,!0).map(h=>new Ht(u[h],f[h],l[h],p[h],c))}getDefaultModelName(){return""}extractParamsFromWeightMap(t){return nn(t,this.config)}extractParams(t){let e=this.config.filterSizes||Nr.DEFAULT_FILTER_SIZES,r=e?e.length:void 0;if(r!==7&&r!==8&&r!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${r} filterSizes in config`);return on(t,this.config,this.boxEncodingSize,e)}async extractBoxes(t,e,r){let{width:n,height:s}=e,a=Math.max(n,s),i=a/n,c=a/s,m=t.shape[1],p=this.config.anchors.length,[u,f,l]=C.tidy(()=>{let g=t.reshape([m,m,p,this.boxEncodingSize]),P=g.slice([0,0,0,0],[m,m,p,4]),y=g.slice([0,0,0,4],[m,m,p,1]),I=this.withClassScores?C.softmax(g.slice([0,0,0,5],[m,m,p,this.config.classes.length]),3):C.scalar(0);return[P,y,I]}),b=[],T=await f.array(),h=await u.array();for(let g=0;gr){let j=(P+Ne(h[g][P][y][0]))/m*i,tt=(g+Ne(h[g][P][y][1]))/m*c,it=Math.exp(h[g][P][y][2])*this.config.anchors[y].x/m*i,q=Math.exp(h[g][P][y][3])*this.config.anchors[y].y/m*c,Pt=j-it/2,wt=tt-q/2,Ft={row:g,col:P,anchor:y},{classScore:ie,label:yo}=this.withClassScores?await this.extractPredictedClass(l,Ft):{classScore:1,label:0};b.push({box:new Ot(Pt,wt,Pt+it,wt+q),score:I,classScore:I*ie,label:yo,...Ft})}}return u.dispose(),f.dispose(),l.dispose(),b}async extractPredictedClass(t,e){let{row:r,col:n,anchor:s}=e,a=await t.array();return Array(this.config.classes.length).fill(0).map((i,c)=>a[r][n][s][c]).map((i,c)=>({classScore:i,label:c})).reduce((i,c)=>i.classScore>c.classScore?i:c)}};Nr.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Me=Nr;var te=class extends Me{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:Zo,classes:["face"],...t?{anchors:Qo,meanRgb:tn}:{anchors:Ko,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?rn:en}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function da(o,t=!0){let e=new te(t);return e.extractWeights(o),e}var je=class extends st{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var J=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};var Xe=v(x());var go=v(x());async function ee(o,t,e,r,n=({alignedRect:s})=>s){let s=o.map(c=>qt(c)?n(c):c.detection),a=r||(t instanceof go.Tensor?await le(t,s):await fe(t,s)),i=await e(a);return a.forEach(c=>c instanceof go.Tensor&&c.dispose()),i}async function Ce(o,t,e,r,n){return ee([o],t,async s=>e(s[0]),r,n)}var an=.4,sn=[new _(1.603231,2.094468),new _(6.041143,7.080126),new _(2.882459,3.518061),new _(4.266906,5.178857),new _(9.041765,10.66308)],cn=[117.001,114.697,97.404];var re=class extends Me{constructor(){let t={withSeparableConvs:!0,iouThreshold:an,classes:["face"],anchors:sn,meanRgb:cn,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var F={ssdMobilenetv1:new It,tinyFaceDetector:new re,tinyYolov2:new te,faceLandmark68Net:new Zt,faceLandmark68TinyNet:new ze,faceRecognitionNet:new Kt,faceExpressionNet:new Oe,ageGenderNet:new He},mn=(o,t)=>F.ssdMobilenetv1.locateFaces(o,t),ha=(o,t)=>F.tinyFaceDetector.locateFaces(o,t),ba=(o,t)=>F.tinyYolov2.locateFaces(o,t),pn=o=>F.faceLandmark68Net.detectLandmarks(o),ga=o=>F.faceLandmark68TinyNet.detectLandmarks(o),xa=o=>F.faceRecognitionNet.computeFaceDescriptor(o),va=o=>F.faceExpressionNet.predictExpressions(o),ya=o=>F.ageGenderNet.predictAgeAndGender(o),un=o=>F.ssdMobilenetv1.load(o),_a=o=>F.tinyFaceDetector.load(o),Ta=o=>F.tinyYolov2.load(o),Pa=o=>F.faceLandmark68Net.load(o),wa=o=>F.faceLandmark68TinyNet.load(o),Fa=o=>F.faceRecognitionNet.load(o),Da=o=>F.faceExpressionNet.load(o),Ea=o=>F.ageGenderNet.load(o),Ma=un,Ca=mn,Ia=pn;var Lr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},oe=class extends Lr{async run(){let t=await this.parentTask,e=await ee(t,this.input,async r=>Promise.all(r.map(n=>F.faceExpressionNet.predictExpressions(n))),this.extractedFaces);return t.map((r,n)=>vr(r,e[n]))}withAgeAndGender(){return new ae(this,this.input)}},ne=class extends Lr{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>F.faceExpressionNet.predictExpressions(r),this.extractedFaces);return vr(t,e)}withAgeAndGender(){return new se(this,this.input)}},St=class extends oe{withAgeAndGender(){return new Wt(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},At=class extends ne{withAgeAndGender(){return new kt(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Sr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ae=class extends Sr{async run(){let t=await this.parentTask,e=await ee(t,this.input,async r=>Promise.all(r.map(n=>F.ageGenderNet.predictAgeAndGender(n))),this.extractedFaces);return t.map((r,n)=>{let{age:s,gender:a,genderProbability:i}=e[n];return Mr(Cr(r,a,i),s)})}withFaceExpressions(){return new oe(this,this.input)}},se=class extends Sr{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:n}=await Ce(t,this.input,s=>F.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return Mr(Cr(t,r,n),e)}withFaceExpressions(){return new ne(this,this.input)}},Wt=class extends ae{withFaceExpressions(){return new St(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},kt=class extends se{withFaceExpressions(){return new At(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Ue=class extends J{constructor(e,r){super();this.parentTask=e;this.input=r}},_t=class extends Ue{async run(){let t=await this.parentTask;return(await ee(t,this.input,r=>Promise.all(r.map(n=>F.faceRecognitionNet.computeFaceDescriptor(n))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,n)=>Er(t[n],r))}withFaceExpressions(){return new St(this,this.input)}withAgeAndGender(){return new Wt(this,this.input)}},Tt=class extends Ue{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>F.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return Er(t,e)}withFaceExpressions(){return new At(this,this.input)}withAgeAndGender(){return new kt(this,this.input)}};var Je=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?F.faceLandmark68TinyNet:F.faceLandmark68Net}},qe=class extends Je{async run(){let t=await this.parentTask,e=t.map(a=>a.detection),r=this.input instanceof Xe.Tensor?await le(this.input,e):await fe(this.input,e),n=await Promise.all(r.map(a=>this.landmarkNet.detectLandmarks(a)));return r.forEach(a=>a instanceof Xe.Tensor&&a.dispose()),t.filter((a,i)=>n[i]).map((a,i)=>Pe(a,n[i]))}withFaceExpressions(){return new St(this,this.input)}withAgeAndGender(){return new Wt(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},Ze=class extends Je{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof Xe.Tensor?await le(this.input,[e]):await fe(this.input,[e]),n=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(s=>s instanceof Xe.Tensor&&s.dispose()),Pe(t,n)}withFaceExpressions(){return new At(this,this.input)}withAgeAndGender(){return new kt(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Ke=class extends J{constructor(e,r=new X){super();this.input=e;this.options=r}},Ie=class extends Ke{async run(){let{input:t,options:e}=this,r;if(e instanceof je)r=F.tinyFaceDetector.locateFaces(t,e);else if(e instanceof X)r=F.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof st)r=F.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(n=>Vt({},n)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new qe(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new oe(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new ae(this.runAndExtendWithFaceDetections(),this.input)}},Qe=class extends Ke{async run(){let t=await new Ie(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?Vt({},e):void 0)})}withFaceLandmarks(t=!1){return new Ze(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new ne(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new se(this.runAndExtendWithFaceDetection(),this.input)}};function Na(o,t=new X){return new Qe(o,t)}function Ar(o,t=new X){return new Ie(o,t)}async function fn(o,t){return Ar(o,new X(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function La(o,t={}){return Ar(o,new st(t)).withFaceLandmarks().withFaceDescriptors()}var Sa=fn;function xo(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((n,s)=>n-r[s]).reduce((n,s)=>n+s*s,0))}var vo=class o{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let n=1,s=()=>`person ${n++}`;this._labeledDescriptors=r.map(a=>{if(a instanceof Et)return a;if(a instanceof Float32Array)return new Et(s(),[a]);if(a.descriptor&&a.descriptor instanceof Float32Array)return new Et(s(),[a.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>xo(r,t)).reduce((r,n)=>r+n,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new me(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>Et.fromJSON(r));return new o(e,t.distanceThreshold)}};function Aa(o){let t=new re;return t.extractWeights(o),t}function ln(o,t){let{width:e,height:r}=new R(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(n=>ln(n,{width:e,height:r}));if(qt(o)){let n=o.detection.forSize(e,r),s=o.unshiftedLandmarks.forSize(n.box.width,n.box.height);return Pe(Vt(o,n),s)}return pt(o)?Vt(o,o.detection.forSize(e,r)):o instanceof H||o instanceof M?o.forSize(e,r):o}var ka=Lo;0&&(module.exports={AgeGenderNet,BoundingBox,Box,ComposableTask,ComputeAllFaceDescriptorsTask,ComputeFaceDescriptorsTaskBase,ComputeSingleFaceDescriptorTask,DetectAllFaceLandmarksTask,DetectAllFacesTask,DetectFaceLandmarksTaskBase,DetectFacesTaskBase,DetectSingleFaceLandmarksTask,DetectSingleFaceTask,Dimensions,FACE_EXPRESSION_LABELS,FaceDetection,FaceDetectionNet,FaceExpressionNet,FaceExpressions,FaceLandmark68Net,FaceLandmark68TinyNet,FaceLandmarkNet,FaceLandmarks,FaceLandmarks5,FaceLandmarks68,FaceMatch,FaceMatcher,FaceRecognitionNet,Gender,LabeledBox,LabeledFaceDescriptors,NetInput,NeuralNetwork,ObjectDetection,Point,PredictedBox,Rect,SsdMobilenetv1,SsdMobilenetv1Options,TinyFaceDetector,TinyFaceDetectorOptions,TinyYolov2,TinyYolov2Options,allFaces,allFacesSsdMobilenetv1,allFacesTinyYolov2,awaitMediaLoaded,bufferToImage,computeFaceDescriptor,createCanvas,createCanvasFromMedia,createFaceDetectionNet,createFaceRecognitionNet,createSsdMobilenetv1,createTinyFaceDetector,createTinyYolov2,detectAllFaces,detectFaceLandmarks,detectFaceLandmarksTiny,detectLandmarks,detectSingleFace,draw,env,euclideanDistance,extendWithAge,extendWithFaceDescriptor,extendWithFaceDetection,extendWithFaceExpressions,extendWithFaceLandmarks,extendWithGender,extractFaceTensors,extractFaces,fetchImage,fetchJson,fetchNetWeights,fetchOrThrow,fetchVideo,getContext2dOrThrow,getMediaDimensions,imageTensorToCanvas,imageToSquare,inverseSigmoid,iou,isMediaElement,isMediaLoaded,isWithAge,isWithFaceDetection,isWithFaceExpressions,isWithFaceLandmarks,isWithGender,loadAgeGenderModel,loadFaceDetectionModel,loadFaceExpressionModel,loadFaceLandmarkModel,loadFaceLandmarkTinyModel,loadFaceRecognitionModel,loadSsdMobilenetv1Model,loadTinyFaceDetectorModel,loadTinyYolov2Model,loadWeightMap,locateFaces,matchDimensions,minBbox,nets,nonMaxSuppression,normalize,padToSquare,predictAgeAndGender,recognizeFaceExpressions,resizeResults,resolveInput,shuffleArray,sigmoid,ssdMobilenetv1,tf,tinyFaceDetector,tinyYolov2,toNetInput,utils,validateConfig,version}); +"use strict";var dn=Object.create;var tr=Object.defineProperty;var hn=Object.getOwnPropertyDescriptor;var bn=Object.getOwnPropertyNames;var gn=Object.getPrototypeOf,xn=Object.prototype.hasOwnProperty;var vn=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),Wr=(o,t)=>{for(var e in t)tr(o,e,{get:t[e],enumerable:!0})},_o=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of bn(t))!xn.call(o,n)&&n!==e&&tr(o,n,{get:()=>t[n],enumerable:!(r=hn(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?dn(gn(o)):{},_o(t||!o||!o.__esModule?tr(e,"default",{value:o,enumerable:!0}):e,o)),yn=o=>_o(tr({},"__esModule",{value:!0}),o);var x=vn((Ya,rr)=>{"use strict";var Br=Object.defineProperty,_n=Object.getOwnPropertyDescriptor,Tn=Object.getOwnPropertyNames,Pn=Object.prototype.hasOwnProperty,wn=(o,t)=>{for(var e in t)Br(o,e,{get:t[e],enumerable:!0})},kr=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Tn(t))!Pn.call(o,n)&&n!==e&&Br(o,n,{get:()=>t[n],enumerable:!(r=_n(t,n))||r.enumerable});return o},Po=(o,t,e)=>(kr(o,t,"default"),e&&kr(e,t,"default")),Fn=o=>kr(Br({},"__esModule",{value:!0}),o),er={};wn(er,{version:()=>In});rr.exports=Fn(er);Po(er,require("@tensorflow/tfjs"),rr.exports);Po(er,require("@tensorflow/tfjs-backend-wasm"),rr.exports);var To="4.16.0",Dn="4.16.0",En="4.16.0",Mn="4.16.0",Cn="4.16.0",In={tfjs:To,"tfjs-core":To,"tfjs-converter":Dn,"tfjs-backend-cpu":En,"tfjs-backend-webgl":Mn,"tfjs-backend-wasm":Cn}});var Ba={};Wr(Ba,{AgeGenderNet:()=>He,BoundingBox:()=>Ot,Box:()=>L,ComposableTask:()=>J,ComputeAllFaceDescriptorsTask:()=>_t,ComputeFaceDescriptorsTaskBase:()=>Ue,ComputeSingleFaceDescriptorTask:()=>Tt,DetectAllFaceLandmarksTask:()=>qe,DetectAllFacesTask:()=>Ie,DetectFaceLandmarksTaskBase:()=>Je,DetectFacesTaskBase:()=>Ke,DetectSingleFaceLandmarksTask:()=>Ze,DetectSingleFaceTask:()=>Qe,Dimensions:()=>R,FACE_EXPRESSION_LABELS:()=>so,FaceDetection:()=>M,FaceDetectionNet:()=>lo,FaceExpressionNet:()=>Oe,FaceExpressions:()=>gt,FaceLandmark68Net:()=>Zt,FaceLandmark68TinyNet:()=>ze,FaceLandmarkNet:()=>po,FaceLandmarks:()=>H,FaceLandmarks5:()=>jr,FaceLandmarks68:()=>Yt,FaceMatch:()=>me,FaceMatcher:()=>vo,FaceRecognitionNet:()=>Kt,Gender:()=>Pr,LabeledBox:()=>pe,LabeledFaceDescriptors:()=>Et,NetInput:()=>ut,NeuralNetwork:()=>A,ObjectDetection:()=>Ht,Point:()=>_,PredictedBox:()=>Ur,Rect:()=>zt,SsdMobilenetv1:()=>It,SsdMobilenetv1Options:()=>X,TinyFaceDetector:()=>re,TinyFaceDetectorOptions:()=>je,TinyYolov2:()=>te,TinyYolov2Options:()=>st,allFaces:()=>Sa,allFacesSsdMobilenetv1:()=>fn,allFacesTinyYolov2:()=>La,awaitMediaLoaded:()=>to,bufferToImage:()=>eo,computeFaceDescriptor:()=>xa,createCanvas:()=>Xt,createCanvasFromMedia:()=>We,createFaceDetectionNet:()=>ua,createFaceRecognitionNet:()=>ta,createSsdMobilenetv1:()=>qo,createTinyFaceDetector:()=>Aa,createTinyYolov2:()=>da,detectAllFaces:()=>Ar,detectFaceLandmarks:()=>pn,detectFaceLandmarksTiny:()=>ga,detectLandmarks:()=>Ia,detectSingleFace:()=>Na,draw:()=>co,env:()=>w,euclideanDistance:()=>xo,extendWithAge:()=>Mr,extendWithFaceDescriptor:()=>Er,extendWithFaceDetection:()=>Vt,extendWithFaceExpressions:()=>vr,extendWithFaceLandmarks:()=>Pe,extendWithGender:()=>Cr,extractFaceTensors:()=>le,extractFaces:()=>fe,fetchImage:()=>On,fetchJson:()=>no,fetchNetWeights:()=>Hn,fetchOrThrow:()=>ht,fetchVideo:()=>zn,getContext2dOrThrow:()=>$,getMediaDimensions:()=>Ut,imageTensorToCanvas:()=>ro,imageToSquare:()=>oo,inverseSigmoid:()=>Sn,iou:()=>zr,isMediaElement:()=>cr,isMediaLoaded:()=>Ae,isWithAge:()=>ea,isWithFaceDetection:()=>pt,isWithFaceExpressions:()=>io,isWithFaceLandmarks:()=>qt,isWithGender:()=>ra,loadAgeGenderModel:()=>Ea,loadFaceDetectionModel:()=>Ma,loadFaceExpressionModel:()=>Da,loadFaceLandmarkModel:()=>Pa,loadFaceLandmarkTinyModel:()=>wa,loadFaceRecognitionModel:()=>Fa,loadSsdMobilenetv1Model:()=>un,loadTinyFaceDetectorModel:()=>_a,loadTinyYolov2Model:()=>Ta,loadWeightMap:()=>ao,locateFaces:()=>Ca,matchDimensions:()=>Yn,minBbox:()=>Yr,nets:()=>F,nonMaxSuppression:()=>Vr,normalize:()=>rt,padToSquare:()=>Gr,predictAgeAndGender:()=>ya,recognizeFaceExpressions:()=>va,resizeResults:()=>ln,resolveInput:()=>Gt,shuffleArray:()=>Ln,sigmoid:()=>Ne,ssdMobilenetv1:()=>mn,tf:()=>Wa,tinyFaceDetector:()=>ha,tinyYolov2:()=>ba,toNetInput:()=>D,utils:()=>Hr,validateConfig:()=>ho,version:()=>ka});module.exports=yn(Ba);var Wa=v(x());var co={};Wr(co,{AnchorPosition:()=>Qr,DrawBox:()=>Se,DrawBoxOptions:()=>sr,DrawFaceLandmarks:()=>_r,DrawFaceLandmarksOptions:()=>yr,DrawTextField:()=>jt,DrawTextFieldOptions:()=>ue,drawContour:()=>lt,drawDetections:()=>$n,drawFaceExpressions:()=>Vn,drawFaceLandmarks:()=>jn});function lt(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:n},s)=>{let a=t[s];o.moveTo(a.x,a.y),o.lineTo(r,n)}),e){let r=t[t.length-1],n=t[0];if(!r||!n)return;o.moveTo(r.x,r.y),o.lineTo(n.x,n.y)}o.stroke()}var Hr={};Wr(Hr,{computeReshapedDimensions:()=>Or,getCenterPoint:()=>$t,isDimensions:()=>nr,isEven:()=>or,isFloat:()=>$r,isTensor:()=>Bt,isTensor1D:()=>Nn,isTensor2D:()=>Rr,isTensor3D:()=>dt,isTensor4D:()=>U,isValidNumber:()=>et,isValidProbablitiy:()=>ce,range:()=>ct,round:()=>Rt});var wo=v(x());var R=class o{constructor(t,e){if(!et(t)||!et(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new o(1/this.width,1/this.height)}};function Bt(o,t){return o instanceof wo.Tensor&&o.shape.length===t}function Nn(o){return Bt(o,1)}function Rr(o){return Bt(o,2)}function dt(o){return Bt(o,3)}function U(o){return Bt(o,4)}function $r(o){return o%1!==0}function or(o){return o%2===0}function Rt(o,t=2){let e=10**t;return Math.floor(o*e)/e}function nr(o){return o&&o.width&&o.height}function Or({width:o,height:t},e){let r=e/Math.max(t,o);return new R(Math.round(o*r),Math.round(t*r))}function $t(o){return o.reduce((t,e)=>t.add(e),new _(0,0)).div(new _(o.length,o.length))}function ct(o,t,e){return Array(o).fill(0).map((r,n)=>t+n*e)}function et(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function ce(o){return et(o)&&o>=0&&o<=1}var _=class o{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new o(this.x+t.x,this.y+t.y)}sub(t){return new o(this.x-t.x,this.y-t.y)}mul(t){return new o(this.x*t.x,this.y*t.y)}div(t){return new o(this.x/t.x,this.y/t.y)}abs(){return new o(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new o(Math.floor(this.x),Math.floor(this.y))}};var L=class o{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(et)}static assertIsValidBox(t,e,r=!1){if(!o.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},n=[r.left,r.top,r.right,r.bottom].every(et),s=[r.x,r.y,r.width,r.height].every(et);if(!s&&!n)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[a,i,c,m]=s?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];o.assertIsValidBox({x:a,y:i,width:c,height:m},"Box.constructor",e),this._x=a,this._y=i,this._width=c,this._height=m}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new _(this.left,this.top)}get topRight(){return new _(this.right,this.top)}get bottomLeft(){return new _(this.left,this.bottom)}get bottomRight(){return new _(this.right,this.bottom)}round(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new o({x:t,y:e,width:r,height:n})}floor(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new o({x:t,y:e,width:r,height:n})}toSquare(){let{x:t,y:e,width:r,height:n}=this,s=Math.abs(r-n);return re&&(i=-u+e+r,u=e),f>t&&(c=-f+t+n,f=t),m<1&&(c=2-m,m=1),p<1&&(c=2-p,p=1),{dy:a,edy:c,dx:s,edx:i,y:p,ey:f,x:m,ex:u,w:r,h:n}}calibrate(t){return new o({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Ot=class extends L{constructor(t,e,r,n,s=!1){super({left:t,top:e,right:r,bottom:n},s)}};var Ht=class o{constructor(t,e,r,n,s){this._imageDims=new R(s.width,s.height),this._score=t,this._classScore=e,this._className=r,this._box=new L(n).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new L(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new o(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var M=class o extends Ht{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:n,imageDims:s}=super.forSize(t,e);return new o(r,n,s)}};function zr(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),n=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),s=r*n;return e?s/(o.area+t.area-s):s/Math.min(o.area,t.area)}function Yr(o){let t=o.map(i=>i.x),e=o.map(i=>i.y),r=t.reduce((i,c)=>ccii({score:a,boxIndex:i})).sort((a,i)=>a.score-i.score).map(a=>a.boxIndex),s=[];for(;n.length>0;){let a=n.pop();s.push(a);let i=n,c=[];for(let m=0;mc[p]<=e)}return s}var mt=v(x());function rt(o,t){return mt.tidy(()=>{let[e,r,n]=t,s=mt.fill([...o.shape.slice(0,3),1],e,"float32"),a=mt.fill([...o.shape.slice(0,3),1],r,"float32"),i=mt.fill([...o.shape.slice(0,3),1],n,"float32"),c=mt.concat([s,a,i],3);return mt.sub(o,c)})}var Dt=v(x());function Gr(o,t=!1){return Dt.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let n=Math.abs(e-r),s=Math.round(n*(t?.5:1)),a=e>r?2:1,i=f=>{let l=o.shape.slice();return l[a]=f,Dt.fill(l,0,"float32")},c=i(s),m=n-c.shape[a],u=[t&&m?i(m):null,o,c].filter(f=>!!f).map(f=>Dt.cast(f,"float32"));return Dt.concat(u,a)})}function Ln(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function Ne(o){return 1/(1+Math.exp(-o))}function Sn(o){return Math.log(o/(1-o))}var zt=class extends L{constructor(t,e,r,n,s=!1){super({x:t,y:e,width:r,height:n},s)}};var An=.5,Wn=.43,kn=.45,H=class{constructor(t,e,r=new _(0,0)){let{width:n,height:s}=e;this._imgDims=new R(n,s),this._shift=r,this._positions=t.map(a=>a.mul(new _(n,s)).add(r))}get shift(){return new _(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new _(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new _(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let s=t instanceof M?t.box.floor():new L(t);return this.shiftBy(s.x,s.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:n}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(n)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,n]=t,s=u=>n.sub(u).magnitude(),a=(s(e)+s(r))/2,i=Math.floor(a/kn),c=$t(t),m=Math.floor(Math.max(0,c.x-An*i)),p=Math.floor(Math.max(0,c.y-Wn*i));return new zt(m,p,Math.min(i,this.imageWidth+m),Math.min(i,this.imageHeight+p))}alignMinBbox(t){let e=Yr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var jr=class extends H{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],$t([t[3],t[4]])]}};var Yt=class extends H{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map($t)}};var me=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Rt(this.distance)})`:""}`}};var pe=class extends L{static assertIsValidLabeledBox(t,e){if(L.assertIsValidBox(t,e),!et(t.label))throw new Error(`${e} - expected property label (${t.label}) to be a number`)}constructor(t,e){super(t),this._label=e}get label(){return this._label}};var Et=class o{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new o(t.label,e)}};var Ur=class extends pe{static assertIsValidPredictedBox(t,e){if(pe.assertIsValidLabeledBox(t,e),!ce(t.score)||!ce(t.classScore))throw new Error(`${e} - expected properties score (${t.score}) and (${t.classScore}) to be a number between [0, 1]`)}constructor(t,e,r,n){super(t,e),this._score=r,this._classScore=n}get score(){return this._score}get classScore(){return this._classScore}};function pt(o){return o.detection instanceof M}function Vt(o,t){return{...o,...{detection:t}}}function Xr(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Le(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function ar(o){let t="";if(!o&&Le())try{o=require("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((n,s)=>{o.readFile(r,(a,i)=>a?s(a):n(i))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Jr(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},n=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},a=global.fetch,i=ar();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:n,createVideoElement:s,fetch:a,...i}}function qr(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var S;function Bn(){if(!S)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return S}function Zr(o){S=o}function Kr(){return qr()?Zr(Xr()):Le()?Zr(Jr()):null}function Rn(o){if(S||Kr(),!S)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=S.Canvas,Image:e=S.Image}=o;S.Canvas=t,S.Image=e,S.createCanvasElement=o.createCanvasElement||(()=>new t),S.createImageElement=o.createImageElement||(()=>new e),S.ImageData=o.ImageData||S.ImageData,S.Video=o.Video||S.Video,S.fetch=o.fetch||S.fetch,S.readFile=o.readFile||S.readFile}var w={getEnv:Bn,setEnv:Zr,initialize:Kr,createBrowserEnv:Xr,createFileSystem:ar,createNodejsEnv:Jr,monkeyPatch:Rn,isBrowser:qr,isNodejs:Le};Kr();function Gt(o){return!w.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function $(o){let{Canvas:t,CanvasRenderingContext2D:e}=w.getEnv();if(o instanceof e)return o;let r=Gt(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let n=r.getContext("2d",{willReadFrequently:!0});if(!n)throw new Error("resolveContext2d - canvas 2d context is null");return n}var Qr=(n=>(n.TOP_LEFT="TOP_LEFT",n.TOP_RIGHT="TOP_RIGHT",n.BOTTOM_LEFT="BOTTOM_LEFT",n.BOTTOM_RIGHT="BOTTOM_RIGHT",n))(Qr||{}),ue=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:n,fontSize:s,fontStyle:a,padding:i}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=n||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=a||"Georgia",this.padding=i||4}},jt=class o{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof o?t.text:t,this.anchor=e,this.options=new ue(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,n)=>r{let b=c+u.x,T=c+u.y+(l+1)*a;r.fillText(f,b,T)})}};var sr=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:n,drawLabelOptions:s}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=n;let a={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new ue({...a,...s})}},Se=class{constructor(t,e={}){this.box=new L(t),this.options=new sr(e)}draw(t){let e=$(t),{boxColor:r,lineWidth:n}=this.options,{x:s,y:a,width:i,height:c}=this.box;e.strokeStyle=r,e.lineWidth=n,e.strokeRect(s,a,i,c);let{label:m}=this.options;m&&new jt([m],{x:s-n/2,y:a},this.options.drawLabelOptions).draw(t)}};function $n(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof M?r.score:pt(r)?r.detection.score:void 0,s=r instanceof M?r.box:pt(r)?r.detection.box:new L(r),a=n?`${Rt(n)}`:void 0;new Se(s,{label:a}).draw(o)})}var Te=v(x());function Ae(o){let{Image:t,Video:e}=w.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function to(o){return new Promise((t,e)=>{if(o instanceof w.getEnv().Canvas||Ae(o)){t(null);return}function r(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",n),s.currentTarget.removeEventListener("error",r),e(s))}function n(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",n),s.currentTarget.removeEventListener("error",r),t(s))}o.addEventListener("load",n),o.addEventListener("error",r)})}function eo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let n=w.getEnv().createImageElement();n.onload=()=>t(n),n.onerror=e,n.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Ut(o){let{Image:t,Video:e}=w.getEnv();return o instanceof t?new R(o.naturalWidth,o.naturalHeight):o instanceof e?new R(o.videoWidth,o.videoHeight):new R(o.width,o.height)}function Xt({width:o,height:t}){let{createCanvasElement:e}=w.getEnv(),r=e();return r.width=o,r.height=t,r}function We(o,t){let{ImageData:e}=w.getEnv();if(!(o instanceof e)&&!Ae(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:n}=t||Ut(o),s=Xt({width:r,height:n});return o instanceof e?$(s).putImageData(o,0,0):$(s).drawImage(o,0,0,r,n),s}var ir=v(x());async function ro(o,t){let e=t||w.getEnv().createCanvasElement(),[r,n,s]=o.shape.slice(U(o)?1:0),a=ir.tidy(()=>o.as3D(r,n,s).toInt());return await ir.browser.toPixels(a,e),a.dispose(),e}function cr(o){let{Image:t,Canvas:e,Video:r}=w.getEnv();return o instanceof t||o instanceof e||o instanceof r}var z=v(x());function oo(o,t,e=!1){let{Image:r,Canvas:n}=w.getEnv();if(!(o instanceof r||o instanceof n))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Xt({width:1,height:1});let s=Ut(o),a=t/Math.max(s.height,s.width),i=a*s.width,c=a*s.height,m=Xt({width:t,height:t}),p=o instanceof n?o:We(o),u=Math.abs(i-c)/2,f=e&&i0&&p.height>0&&$(m).drawImage(p,f,l,i,c),m}var ut=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,n)=>{if(dt(r)){this._imageTensors[n]=r,this._inputDimensions[n]=r.shape;return}if(U(r)){let a=r.shape[0];if(a!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${a} passed, but not supported in input array`);this._imageTensors[n]=r,this._inputDimensions[n]=r.shape.slice(1);return}let s=r instanceof w.getEnv().Canvas?r:We(r);this._canvases[n]=s,this._inputDimensions[n]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return ct(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return Or({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,z.tidy(()=>{let r=ct(this.batchSize,0,1).map(s=>{let a=this.getInput(s);if(a instanceof z.Tensor){let i=U(a)?a:z.expandDims(a);return i=Gr(i,e),(i.shape[1]!==t||i.shape[2]!==t)&&(i=z.image.resizeBilinear(i,[t,t],!1,!1)),i.as3D(t,t,3)}if(a instanceof w.getEnv().Canvas){let i=oo(a,t,e),c=z.browser.fromPixels(i);i.width=1,i.height=1;let m=i.getContext("2d");return m&&m.clearRect(0,0,1,1),c}throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${a}`)});return z.stack(r.map(s=>z.cast(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function D(o){if(o instanceof ut)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=n=>Array.isArray(o)?` at input index ${n}:`:"",r=t.map(Gt);return r.forEach((n,s)=>{if(!cr(n)&&!dt(n)&&!U(n))throw typeof t[s]=="string"?new Error(`toNetInput -${e(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${e(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(U(n)){let a=n.shape[0];if(a!==1)throw new Error(`toNetInput -${e(s)} tf.Tensor4D with batchSize ${a} passed, but not supported in input array`)}}),await Promise.all(r.map(n=>cr(n)&&to(n))),new ut(r,Array.isArray(o))}async function fe(o,t){let{Canvas:e}=w.getEnv(),r=o;if(!(o instanceof e)){let a=await D(o);if(a.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let i=a.getInput(0);r=i instanceof e?i:await ro(i)}let n=$(r);return t.map(a=>a instanceof M?a.forSize(r.width,r.height).box.floor():a).map(a=>a.clipAtImageBorders(r.width,r.height)).map(({x:a,y:i,width:c,height:m})=>{let p=Xt({width:c,height:m});return c>0&&m>0&&$(p).putImageData(n.getImageData(a,i,c,m),0,0),p})}var mr=v(x());async function le(o,t){if(!dt(o)&&!U(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(U(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return mr.tidy(()=>{let[e,r,n]=o.shape.slice(U(o)?1:0);return t.map(i=>i instanceof M?i.forSize(r,e).box:i).map(i=>i.clipAtImageBorders(r,e)).filter(i=>i.width>0&&i.height>0).map(({x:i,y:c,width:m,height:p})=>mr.slice3d(o.as3D(e,r,n),[c,i,0],[p,m,n]))})}async function ht(o,t){let{fetch:e}=w.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function On(o){let t=await ht(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return eo(e)}async function no(o){return(await ht(o)).json()}async function Hn(o){return new Float32Array(await(await ht(o)).arrayBuffer())}function Fo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=w.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function zn(o){let t=await ht(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return Fo(e)}var Do=v(x());function pr(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let n=o.split("/").filter(i=>i),s=o.endsWith(".json")?n[n.length-1]:e,a=r+(o.endsWith(".json")?n.slice(0,n.length-1):n).join("/");return a=o.startsWith("/")?`/${a}`:a,{modelBaseUri:a,manifestUri:a==="/"?`/${s}`:`${a}/${s}`}}async function ao(o,t){let{manifestUri:e,modelBaseUri:r}=pr(o,t),n=await no(e);return Do.io.loadWeights(n,r)}function Yn(o,t,e=!1){let{width:r,height:n}=e?Ut(t):t;return o.width=r,o.height=n,{width:r,height:n}}var ve=v(x());var bt=v(x());var A=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:n}=this.traversePropertyPath(t);r[n].dispose(),r[n]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof bt.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof bt.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=bt.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await ao(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=w.getEnv(),{manifestUri:r,modelBaseUri:n}=pr(t,this.getDefaultModelName()),s=m=>Promise.all(m.map(p=>e(p).then(u=>typeof u=="string"?Buffer.from(u):u.buffer))),a=bt.io.weightsLoaderFactory(s),i=JSON.parse((await e(r)).toString()),c=await a(i,n);this.loadFromWeightMap(c)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((s,a)=>{if(!s.nextObj.hasOwnProperty(a))throw new Error(`traversePropertyPath - object does not have property ${a}, for path ${t}`);return{obj:s.nextObj,objProp:a,nextObj:s.nextObj[a]}},{nextObj:this.params}),{obj:r,objProp:n}=e;if(!r||!n||!(r[n]instanceof bt.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:n}}};var E=v(x());var de=v(x());function O(o,t,e){return de.tidy(()=>{let r=de.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=de.add(r,t.bias),r})}function ur(o,t,e=!1){return E.tidy(()=>{let r=E.relu(e?E.add(E.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):O(o,t.conv0,[2,2])),n=O(r,t.conv1,[1,1]),s=E.relu(E.add(r,n)),a=O(s,t.conv2,[1,1]);return E.relu(E.add(r,E.add(n,a)))})}function ke(o,t,e=!1,r=!0){return E.tidy(()=>{let n=E.relu(e?E.add(E.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):O(o,t.conv0,r?[2,2]:[1,1])),s=O(n,t.conv1,[1,1]),a=E.relu(E.add(n,s)),i=O(a,t.conv2,[1,1]),c=E.relu(E.add(n,E.add(s,i))),m=O(c,t.conv3,[1,1]);return E.relu(E.add(n,E.add(s,E.add(i,m))))})}var Mt=v(x());function Jt(o,t,e="same",r=!1){return Mt.tidy(()=>{let n=Mt.add(Mt.conv2d(o,t.filters,[1,1],e),t.bias);return r?Mt.relu(n):n})}function W(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}var fr=v(x());function he(o,t){return(e,r,n,s)=>{let a=fr.tensor4d(o(e*r*n*n),[n,n,e,r]),i=fr.tensor1d(o(r));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:a,bias:i}}}var lr=v(x());function dr(o,t){return(e,r,n)=>{let s=lr.tensor2d(o(e*r),[e,r]),a=lr.tensor1d(o(r));return t.push({paramPath:`${n}/weights`},{paramPath:`${n}/bias`}),{weights:s,bias:a}}}var Re=v(x());var Be=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function be(o,t){return(e,r,n)=>{let s=Re.tensor4d(o(9*e),[3,3,e,1]),a=Re.tensor4d(o(e*r),[1,1,e,r]),i=Re.tensor1d(o(r));return t.push({paramPath:`${n}/depthwise_filter`},{paramPath:`${n}/pointwise_filter`},{paramPath:`${n}/bias`}),new Be(s,a,i)}}function ge(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),n=o(`${t}/bias`,1);return new Be(e,r,n)}}function Y(o,t){return(e,r,n)=>{let s=o[e];if(!Bt(s,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${s}`);return t.push({originalPath:e,paramPath:n||e}),s}}function k(o){let t=o;function e(n){let s=t.slice(0,n);return t=t.slice(n),s}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function hr(o,t){let e=he(o,t),r=be(o,t);function n(a,i,c,m=!1){let p=m?e(a,i,3,`${c}/conv0`):r(a,i,`${c}/conv0`),u=r(i,i,`${c}/conv1`),f=r(i,i,`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function s(a,i,c,m=!1){let{conv0:p,conv1:u,conv2:f}=n(a,i,c,m),l=r(i,i,`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:n,extractDenseBlock4Params:s}}function Eo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractDenseBlock4Params:n}=hr(e,t),s=n(3,32,"dense0",!0),a=n(32,64,"dense1"),i=n(64,128,"dense2"),c=n(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:a,dense2:i,dense3:c}}}function br(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function gr(o,t){let e=Y(o,t),r=br(e),n=ge(e);function s(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`);return{conv0:m,conv1:p,conv2:u}}function a(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`),f=n(`${i}/conv3`);return{conv0:m,conv1:p,conv2:u,conv3:f}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:a}}function Mo(o){let t=[],{extractDenseBlock4Params:e}=gr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return W(o,t),{params:r,paramMappings:t}}var xe=class extends A{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return ve.tidy(()=>{let r=ve.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=ke(s,e.dense0,!0);return a=ke(a,e.dense1),a=ke(a,e.dense2),a=ke(a,e.dense3),a=ve.avgPool(a,[7,7],[2,2],"valid"),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Mo(t)}extractParams(t){return Eo(t)}};var No=v(x());var ye=v(x());function $e(o,t){return ye.tidy(()=>ye.add(ye.matMul(o,t.weights),t.bias))}function Co(o,t,e){let r=[],{extractWeights:n,getRemainingWeights:s}=k(o),i=dr(n,r)(t,e,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:r,params:{fc:i}}}function Io(o){let t=[],e=Y(o,t);function r(s){let a=e(`${s}/weights`,2),i=e(`${s}/bias`,1);return{weights:a,bias:i}}let n={fc:r("fc")};return W(o,t),{params:n,paramMappings:t}}function xr(o){let t={},e={};return Object.keys(o).forEach(r=>{let n=r.startsWith("fc")?e:t;n[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var _e=class extends A{constructor(t,e){super(t),this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return No.tidy(()=>{let r=t instanceof ut?this.faceFeatureExtractor.forwardInput(t):t;return $e(r.as2D(r.shape[0],-1),e.fc)})}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Co(t,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=xr(t);return this.faceFeatureExtractor.loadFromWeightMap(e),Io(r)}extractParams(t){let e=this.getClassifierChannelsIn(),r=this.getClassifierChannelsOut(),n=r*e+r,s=t.slice(0,t.length-n),a=t.slice(t.length-n);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(a)}};var so=["neutral","happy","sad","angry","fearful","disgusted","surprised"],gt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);so.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return so.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var Oe=class extends _e{constructor(t=new xe){super("FaceExpressionNet",t)}forwardInput(t){return Te.tidy(()=>Te.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await D(t))}async predictExpressions(t){let e=await D(t),r=await this.forwardInput(e),n=await Promise.all(Te.unstack(r).map(async a=>{let i=a.dataSync();return a.dispose(),i}));r.dispose();let s=n.map(a=>new gt(a));return e.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function io(o){return o.expressions instanceof gt}function vr(o,t){return{...o,...{expressions:t}}}function Vn(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(s=>{let a=s instanceof gt?s:io(s)?s.expressions:void 0;if(!a)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let c=a.asSortedArray().filter(u=>u.probability>e),m=pt(s)?s.detection.box.bottomLeft:r||new _(0,0);new jt(c.map(u=>`${u.expression} (${Rt(u.probability)})`),m).draw(o)})}function qt(o){return pt(o)&&o.landmarks instanceof H&&o.unshiftedLandmarks instanceof H&&o.alignedRect instanceof M}function Gn(o){let t=c=>c*180/Math.PI,e=(c,m)=>Math.sqrt((c.x-m.x)**2+(c.y-m.y)**2),r={roll:void 0,pitch:void 0,yaw:void 0},n=(c,m,p)=>{let u=Math.floor(c.x-m.x),f=Math.floor(m.x-p.x);return u-f},s=(c,m)=>{let p=Math.hypot(m.x-c.x,m.y-c.y),u=m.y-c.y,f=Math.asin(u/p),l=t(f),b=Math.floor(90-l),T=m.x-c.x<0?-1:1;return b*T},a=(c,m,p)=>{let u=e(c,p),f=new _((c.x+p.x)/2,(c.y+p.y)/2),l=e(m,f),b=Math.atan(l/u),T=Math.floor(t(b)),h=f.y-m.y<0?-1:1;return T*h};if(!o||!o.positions||o.positions.length!==68)return r;let i=o.positions;return r.roll=s(i[27],i[66]),r.pitch=a(i[14],i[30],i[2]),r.yaw=n(i[14],i[33],i[2]),r}function Pe(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),n=r.align(),{imageDims:s}=o.detection,a=new M(o.detection.score,n.rescale(s.reverse()),s),i=Gn(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:a,angle:i}}}var yr=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:n,lineColor:s,pointSize:a,pointColor:i}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=n||1,this.pointSize=a||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=i||"rgba(255, 0, 255, 1)"}},_r=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new yr(e)}draw(t){let e=$(t),{drawLines:r,drawPoints:n,lineWidth:s,lineColor:a,pointSize:i,pointColor:c}=this.options;if(r&&this.faceLandmarks instanceof Yt&&(e.strokeStyle=a,e.lineWidth=s,lt(e,this.faceLandmarks.getJawOutline()),lt(e,this.faceLandmarks.getLeftEyeBrow()),lt(e,this.faceLandmarks.getRightEyeBrow()),lt(e,this.faceLandmarks.getNose()),lt(e,this.faceLandmarks.getLeftEye(),!0),lt(e,this.faceLandmarks.getRightEye(),!0),lt(e,this.faceLandmarks.getMouth(),!0)),n){e.strokeStyle=c,e.fillStyle=c;let m=p=>{e.beginPath(),e.arc(p.x,p.y,i,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(m)}}};function jn(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof H?r:qt(r)?r.landmarks:void 0;if(!n)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new _r(n).draw(o)})}var Lo="1.7.13";var ft=v(x());var N=v(x());function Jn(o,t){let e=he(o,t),r=be(o,t);function n(a,i,c){let m=r(a,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=e(a,i,1,`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function s(a,i){let c=r(a,a,`${i}/separable_conv0`),m=r(a,a,`${i}/separable_conv1`),p=r(a,a,`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:n,extractMainBlockParams:s}}function So(o,t){let e=[],{extractWeights:r,getRemainingWeights:n}=k(o),{extractConvParams:s,extractSeparableConvParams:a,extractReductionBlockParams:i,extractMainBlockParams:c}=Jn(r,e),m=s(3,32,3,"entry_flow/conv_in"),p=i(32,64,"entry_flow/reduction_block_0"),u=i(64,128,"entry_flow/reduction_block_1"),f={conv_in:m,reduction_block_0:p,reduction_block_1:u},l={};ct(t,0,1).forEach(g=>{l[`main_block_${g}`]=c(128,`middle_flow/main_block_${g}`)});let b=i(128,256,"exit_flow/reduction_block"),T=a(256,512,"exit_flow/separable_conv"),h={reduction_block:b,separable_conv:T};if(n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{paramMappings:e,params:{entry_flow:f,middle_flow:l,exit_flow:h}}}function qn(o,t){let e=Y(o,t),r=br(e),n=ge(e);function s(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=r(`${i}/expansion_conv`);return{separable_conv0:c,separable_conv1:m,expansion_conv:p}}function a(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=n(`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:s,extractMainBlockParams:a}}function Ao(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:s,extractMainBlockParams:a}=qn(o,e),i=r("entry_flow/conv_in"),c=s("entry_flow/reduction_block_0"),m=s("entry_flow/reduction_block_1"),p={conv_in:i,reduction_block_0:c,reduction_block_1:m},u={};ct(t,0,1).forEach(T=>{u[`main_block_${T}`]=a(`middle_flow/main_block_${T}`)});let f=s("exit_flow/reduction_block"),l=n("exit_flow/separable_conv"),b={reduction_block:f,separable_conv:l};return W(o,e),{params:{entry_flow:p,middle_flow:u,exit_flow:b},paramMappings:e}}function Wo(o,t,e){return N.add(N.conv2d(o,t.filters,e,"same"),t.bias)}function mo(o,t,e=!0){let r=e?N.relu(o):o;return r=O(r,t.separable_conv0,[1,1]),r=O(N.relu(r),t.separable_conv1,[1,1]),r=N.maxPool(r,[3,3],[2,2],"same"),r=N.add(r,Wo(o,t.expansion_conv,[2,2])),r}function Zn(o,t){let e=O(N.relu(o),t.separable_conv0,[1,1]);return e=O(N.relu(e),t.separable_conv1,[1,1]),e=O(N.relu(e),t.separable_conv2,[1,1]),e=N.add(e,o),e}var Tr=class extends A{constructor(t){super("TinyXception"),this._numMainBlocks=t}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyXception - load model before inference");return N.tidy(()=>{let r=N.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=N.relu(Wo(s,e.entry_flow.conv_in,[2,2]));return a=mo(a,e.entry_flow.reduction_block_0,!1),a=mo(a,e.entry_flow.reduction_block_1),ct(this._numMainBlocks,0,1).forEach(i=>{a=Zn(a,e.middle_flow[`main_block_${i}`])}),a=mo(a,e.exit_flow.reduction_block),a=N.relu(O(a,e.exit_flow.separable_conv,[1,1])),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(t){return Ao(t,this._numMainBlocks)}extractParams(t){return So(t,this._numMainBlocks)}};function ko(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),n=dr(e,t),s=n(512,1,"fc/age"),a=n(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:s,gender:a}}}}function Bo(o){let t=[],e=Y(o,t);function r(s){let a=e(`${s}/weights`,2),i=e(`${s}/bias`,1);return{weights:a,bias:i}}let n={fc:{age:r("fc/age"),gender:r("fc/gender")}};return W(o,t),{params:n,paramMappings:t}}var Pr=(e=>(e.FEMALE="female",e.MALE="male",e))(Pr||{});var He=class extends A{constructor(t=new Tr(2)){super("AgeGenderNet"),this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return ft.tidy(()=>{let r=t instanceof ut?this.faceFeatureExtractor.forwardInput(t):t,n=ft.avgPool(r,[7,7],[2,2],"valid").as2D(r.shape[0],-1),s=$e(n,e.fc.age).as1D(),a=$e(n,e.fc.gender);return{age:s,gender:a}})}forwardInput(t){return ft.tidy(()=>{let{age:e,gender:r}=this.runNet(t);return{age:e,gender:ft.softmax(r)}})}async forward(t){return this.forwardInput(await D(t))}async predictAgeAndGender(t){let e=await D(t),r=await this.forwardInput(e),n=ft.unstack(r.age),s=ft.unstack(r.gender),a=n.map((c,m)=>({ageTensor:c,genderTensor:s[m]})),i=await Promise.all(a.map(async({ageTensor:c,genderTensor:m})=>{let p=c.dataSync()[0],u=m.dataSync()[0],f=u>.5,l=f?"male":"female",b=f?u:1-u;return c.dispose(),m.dispose(),{age:p,gender:l,genderProbability:b}}));return r.age.dispose(),r.gender.dispose(),e.isBatchInput?i:i[0]}getDefaultModelName(){return"age_gender_model"}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return ko(t)}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=xr(t);return this.faceFeatureExtractor.loadFromWeightMap(e),Bo(r)}extractParams(t){let r=t.slice(0,t.length-1539),n=t.slice(t.length-1539);return this.faceFeatureExtractor.extractWeights(r),this.extractClassifierParams(n)}};var V=v(x());var we=class extends _e{postProcess(t,e,r){let n=r.map(({width:a,height:i})=>{let c=e/Math.max(i,a);return{width:a*c,height:i*c}}),s=n.length;return V.tidy(()=>{let a=(u,f)=>V.stack([V.fill([68],u,"float32"),V.fill([68],f,"float32")],1).as2D(1,136).as1D(),i=(u,f)=>{let{width:l,height:b}=n[u];return f(l,b)?Math.abs(l-b)/2:0},c=u=>i(u,(f,l)=>fi(u,(f,l)=>la(c(f),m(f))))).div(V.stack(Array.from(Array(s),(u,f)=>a(n[f].width,n[f].height))))})}forwardInput(t){return V.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,n])=>({height:r,width:n})))})}async forward(t){return this.forwardInput(await D(t))}async detectLandmarks(t){let e=await D(t),r=V.tidy(()=>V.unstack(this.forwardInput(e))),n=await Promise.all(r.map(async(s,a)=>{let i=Array.from(s.dataSync()),c=i.filter((p,u)=>or(u)),m=i.filter((p,u)=>!or(u));return new Yt(Array(68).fill(0).map((p,u)=>new _(c[u],m[u])),{height:e.getInputHeight(a),width:e.getInputWidth(a)})}));return r.forEach(s=>s.dispose()),e.isBatchInput?n:n[0]}getClassifierChannelsOut(){return 136}};var Zt=class extends we{constructor(t=new xe){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};var Fe=v(x());function Ro(o){let t=[],{extractDenseBlock3Params:e}=gr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return W(o,t),{params:r,paramMappings:t}}function $o(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractDenseBlock3Params:n}=hr(e,t),s=n(3,32,"dense0",!0),a=n(32,64,"dense1"),i=n(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:a,dense2:i}}}var wr=class extends A{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return Fe.tidy(()=>{let r=Fe.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=ur(s,e.dense0,!0);return a=ur(a,e.dense1),a=ur(a,e.dense2),a=Fe.avgPool(a,[14,14],[2,2],"valid"),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Ro(t)}extractParams(t){return $o(t)}};var ze=class extends we{constructor(t=new wr){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var po=class extends Zt{};var nt=v(x());var De=v(x());var Fr=v(x());function Oo(o,t){return Fr.add(Fr.mul(o,t.weights),t.biases)}function uo(o,t,e,r,n="same"){let{filters:s,bias:a}=t.conv,i=De.conv2d(o,s,e,n);return i=De.add(i,a),i=Oo(i,t.scale),r?De.relu(i):i}function Ho(o,t){return uo(o,t,[1,1],!0)}function fo(o,t){return uo(o,t,[1,1],!1)}function Dr(o,t){return uo(o,t,[2,2],!0,"valid")}var G=v(x());function Kn(o,t){function e(i,c,m){let p=o(i),u=p.length/(c*m*m);if($r(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${p.length}, numFilters: ${c}, filterSize: ${m}`);return G.tidy(()=>G.transpose(G.tensor4d(p,[c,u,m,m]),[2,3,1,0]))}function r(i,c,m,p){let u=e(i,c,m),f=G.tensor1d(o(c));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:u,bias:f}}function n(i,c){let m=G.tensor1d(o(i)),p=G.tensor1d(o(i));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:m,biases:p}}function s(i,c,m,p){let u=r(i,c,m,`${p}/conv`),f=n(c,`${p}/scale`);return{conv:u,scale:f}}function a(i,c,m,p,u=!1){let f=s((u?.5:1)*i,c,m,`${p}/conv1`),l=s(i,c,m,`${p}/conv2`);return{conv1:f,conv2:l}}return{extractConvLayerParams:s,extractResidualLayerParams:a}}function zo(o){let{extractWeights:t,getRemainingWeights:e}=k(o),r=[],{extractConvLayerParams:n,extractResidualLayerParams:s}=Kn(t,r),a=n(4704,32,7,"conv32_down"),i=s(9216,32,3,"conv32_1"),c=s(9216,32,3,"conv32_2"),m=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),u=s(36864,64,3,"conv64_1"),f=s(36864,64,3,"conv64_2"),l=s(36864,64,3,"conv64_3"),b=s(147456,128,3,"conv128_down",!0),T=s(147456,128,3,"conv128_1"),h=s(147456,128,3,"conv128_2"),g=s(589824,256,3,"conv256_down",!0),P=s(589824,256,3,"conv256_1"),y=s(589824,256,3,"conv256_2"),I=s(589824,256,3,"conv256_down_out"),j=G.tidy(()=>G.transpose(G.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:a,conv32_1:i,conv32_2:c,conv32_3:m,conv64_down:p,conv64_1:u,conv64_2:f,conv64_3:l,conv128_down:b,conv128_1:T,conv128_2:h,conv256_down:g,conv256_1:P,conv256_2:y,conv256_down_out:I,fc:j},paramMappings:r}}function Qn(o,t){let e=Y(o,t);function r(a){let i=e(`${a}/scale/weights`,1),c=e(`${a}/scale/biases`,1);return{weights:i,biases:c}}function n(a){let i=e(`${a}/conv/filters`,4),c=e(`${a}/conv/bias`,1),m=r(a);return{conv:{filters:i,bias:c},scale:m}}function s(a){return{conv1:n(`${a}/conv1`),conv2:n(`${a}/conv2`)}}return{extractConvLayerParams:n,extractResidualLayerParams:s}}function Yo(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Qn(o,t),n=e("conv32_down"),s=r("conv32_1"),a=r("conv32_2"),i=r("conv32_3"),c=r("conv64_down"),m=r("conv64_1"),p=r("conv64_2"),u=r("conv64_3"),f=r("conv128_down"),l=r("conv128_1"),b=r("conv128_2"),T=r("conv256_down"),h=r("conv256_1"),g=r("conv256_2"),P=r("conv256_down_out"),{fc:y}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!Rr(y))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${y}`);let I={conv32_down:n,conv32_1:s,conv32_2:a,conv32_3:i,conv64_down:c,conv64_1:m,conv64_2:p,conv64_3:u,conv128_down:f,conv128_1:l,conv128_2:b,conv256_down:T,conv256_1:h,conv256_2:g,conv256_down_out:P,fc:y};return W(o,t),{params:I,paramMappings:t}}var B=v(x());function ot(o,t){let e=Ho(o,t.conv1);return e=fo(e,t.conv2),e=B.add(e,o),e=B.relu(e),e}function Ye(o,t){let e=Dr(o,t.conv1);e=fo(e,t.conv2);let r=B.avgPool(o,2,2,"valid"),n=B.zeros(r.shape),s=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let i=[...e.shape];i[1]=1;let c=B.zeros(i);e=B.concat([e,c],1);let m=[...e.shape];m[2]=1;let p=B.zeros(m);e=B.concat([e,p],2)}return r=s?B.concat([r,n],3):r,e=B.add(r,e),e=B.relu(e),e}var Kt=class extends A{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return nt.tidy(()=>{let r=nt.cast(t.toBatchTensor(150,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=Dr(s,e.conv32_down);a=nt.maxPool(a,3,2,"valid"),a=ot(a,e.conv32_1),a=ot(a,e.conv32_2),a=ot(a,e.conv32_3),a=Ye(a,e.conv64_down),a=ot(a,e.conv64_1),a=ot(a,e.conv64_2),a=ot(a,e.conv64_3),a=Ye(a,e.conv128_down),a=ot(a,e.conv128_1),a=ot(a,e.conv128_2),a=Ye(a,e.conv256_down),a=ot(a,e.conv256_1),a=ot(a,e.conv256_2),a=Ye(a,e.conv256_down_out);let i=a.mean([1,2]);return nt.matMul(i,e.fc)})}async forward(t){return this.forwardInput(await D(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(a=>a<=0))return new Float32Array(128);let e=await D(t),r=nt.tidy(()=>nt.unstack(this.forwardInput(e))),n=await Promise.all(r.map(a=>a.data()));return r.forEach(a=>a.dispose()),e.isBatchInput?n:n[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return Yo(t)}extractParams(t){return zo(t)}};function ta(o){let t=new Kt;return t.extractWeights(o),t}function Er(o,t){return{...o,...{descriptor:t}}}function ea(o){return typeof o.age=="number"}function Mr(o,t){return{...o,...{age:t}}}function ra(o){return(o.gender==="male"||o.gender==="female")&&ce(o.genderProbability)}function Cr(o,t,e){return{...o,...{gender:t,genderProbability:e}}}var Nt=v(x());var at=v(x());function oa(o,t){function e(c,m){let p=at.tensor4d(o(9*c),[3,3,c,1]),u=at.tensor1d(o(c)),f=at.tensor1d(o(c)),l=at.tensor1d(o(c)),b=at.tensor1d(o(c));return t.push({paramPath:`${m}/filters`},{paramPath:`${m}/batch_norm_scale`},{paramPath:`${m}/batch_norm_offset`},{paramPath:`${m}/batch_norm_mean`},{paramPath:`${m}/batch_norm_variance`}),{filters:p,batch_norm_scale:u,batch_norm_offset:f,batch_norm_mean:l,batch_norm_variance:b}}function r(c,m,p,u,f){let l=at.tensor4d(o(c*m*p*p),[p,p,c,m]),b=at.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/${f?"batch_norm_offset":"bias"}`}),{filters:l,bias:b}}function n(c,m,p,u){let{filters:f,bias:l}=r(c,m,p,u,!0);return{filters:f,batch_norm_offset:l}}function s(c,m,p){let u=e(c,`${p}/depthwise_conv`),f=n(c,m,1,`${p}/pointwise_conv`);return{depthwise_conv:u,pointwise_conv:f}}function a(){let c=n(3,32,3,"mobilenetv1/conv_0"),m=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),u=s(128,128,"mobilenetv1/conv_3"),f=s(128,256,"mobilenetv1/conv_4"),l=s(256,256,"mobilenetv1/conv_5"),b=s(256,512,"mobilenetv1/conv_6"),T=s(512,512,"mobilenetv1/conv_7"),h=s(512,512,"mobilenetv1/conv_8"),g=s(512,512,"mobilenetv1/conv_9"),P=s(512,512,"mobilenetv1/conv_10"),y=s(512,512,"mobilenetv1/conv_11"),I=s(512,1024,"mobilenetv1/conv_12"),j=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:b,conv_7:T,conv_8:h,conv_9:g,conv_10:P,conv_11:y,conv_12:I,conv_13:j}}function i(){let c=n(1024,256,1,"prediction_layer/conv_0"),m=n(256,512,3,"prediction_layer/conv_1"),p=n(512,128,1,"prediction_layer/conv_2"),u=n(128,256,3,"prediction_layer/conv_3"),f=n(256,128,1,"prediction_layer/conv_4"),l=n(128,256,3,"prediction_layer/conv_5"),b=n(256,64,1,"prediction_layer/conv_6"),T=n(64,128,3,"prediction_layer/conv_7"),h=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),g=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),P=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),y=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),I=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),j=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),tt=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),it=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),q=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),Pt=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),wt=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),Ft=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:b,conv_7:T,box_predictor_0:{box_encoding_predictor:h,class_predictor:g},box_predictor_1:{box_encoding_predictor:P,class_predictor:y},box_predictor_2:{box_encoding_predictor:I,class_predictor:j},box_predictor_3:{box_encoding_predictor:tt,class_predictor:it},box_predictor_4:{box_encoding_predictor:q,class_predictor:Pt},box_predictor_5:{box_encoding_predictor:wt,class_predictor:Ft}}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:i}}function Vo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractMobilenetV1Params:n,extractPredictionLayerParams:s}=oa(e,t),a=n(),i=s(),m={extra_dim:at.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:a,prediction_layer:i,output_layer:m},paramMappings:t}}function na(o,t){let e=Y(o,t);function r(m,p,u){let f=e(`${m}/Conv2d_${p}_pointwise/weights`,4,`${u}/filters`),l=e(`${m}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${u}/batch_norm_offset`);return{filters:f,batch_norm_offset:l}}function n(m){let p=`mobilenetv1/conv_${m}`,u=`MobilenetV1/Conv2d_${m}_depthwise`,f=`${p}/depthwise_conv`,l=`${p}/pointwise_conv`,b=e(`${u}/depthwise_weights`,4,`${f}/filters`),T=e(`${u}/BatchNorm/gamma`,1,`${f}/batch_norm_scale`),h=e(`${u}/BatchNorm/beta`,1,`${f}/batch_norm_offset`),g=e(`${u}/BatchNorm/moving_mean`,1,`${f}/batch_norm_mean`),P=e(`${u}/BatchNorm/moving_variance`,1,`${f}/batch_norm_variance`);return{depthwise_conv:{filters:b,batch_norm_scale:T,batch_norm_offset:h,batch_norm_mean:g,batch_norm_variance:P},pointwise_conv:r("MobilenetV1",m,l)}}function s(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:n(1),conv_2:n(2),conv_3:n(3),conv_4:n(4),conv_5:n(5),conv_6:n(6),conv_7:n(7),conv_8:n(8),conv_9:n(9),conv_10:n(10),conv_11:n(11),conv_12:n(12),conv_13:n(13)}}function a(m,p){let u=e(`${m}/weights`,4,`${p}/filters`),f=e(`${m}/biases`,1,`${p}/bias`);return{filters:u,bias:f}}function i(m){let p=a(`Prediction/BoxPredictor_${m}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${m}/box_encoding_predictor`),u=a(`Prediction/BoxPredictor_${m}/ClassPredictor`,`prediction_layer/box_predictor_${m}/class_predictor`);return{box_encoding_predictor:p,class_predictor:u}}function c(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:i(0),box_predictor_1:i(1),box_predictor_2:i(2),box_predictor_3:i(3),box_predictor_4:i(4),box_predictor_5:i(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:c}}function Go(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=na(o,t),n=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!dt(n))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${n}`);let s={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:n}};return W(o,t),{params:s,paramMappings:t}}var xt=v(x());var Ct=v(x());function Z(o,t,e){return Ct.tidy(()=>{let r=Ct.conv2d(o,t.filters,e,"same");return r=Ct.add(r,t.batch_norm_offset),Ct.clipByValue(r,0,6)})}var aa=.0010000000474974513;function sa(o,t,e){return xt.tidy(()=>{let r=xt.depthwiseConv2d(o,t.filters,e,"same");return r=xt.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,aa),xt.clipByValue(r,0,6)})}function ia(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function jo(o,t){return xt.tidy(()=>{let e,r=Z(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,a)=>{let i=a+1,c=ia(i);r=sa(r,s.depthwise_conv,c),r=Z(r,s.pointwise_conv,[1,1]),i===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function ca(o,t,e){let r=o.arraySync(),n=Math.min(r[t][0],r[t][2]),s=Math.min(r[t][1],r[t][3]),a=Math.max(r[t][0],r[t][2]),i=Math.max(r[t][1],r[t][3]),c=Math.min(r[e][0],r[e][2]),m=Math.min(r[e][1],r[e][3]),p=Math.max(r[e][0],r[e][2]),u=Math.max(r[e][1],r[e][3]),f=(a-n)*(i-s),l=(p-c)*(u-m);if(f<=0||l<=0)return 0;let b=Math.max(n,c),T=Math.max(s,m),h=Math.min(a,p),g=Math.min(i,u),P=Math.max(h-b,0)*Math.max(g-T,0);return P/(f+l-P)}function Uo(o,t,e,r,n){let s=o.shape[0],a=Math.min(e,s),i=t.map((p,u)=>({score:p,boxIndex:u})).filter(p=>p.score>n).sort((p,u)=>u.score-p.score),c=p=>p<=r?1:0,m=[];return i.forEach(p=>{if(m.length>=a)return;let u=p.score;for(let f=m.length-1;f>=0;--f){let l=ca(o,p.boxIndex,m[f]);if(l!==0&&(p.score*=c(l),p.score<=n))break}u===p.score&&m.push(p.boxIndex)}),m}var d=v(x());function ma(o){let t=d.unstack(d.transpose(o,[1,0])),e=[d.sub(t[2],t[0]),d.sub(t[3],t[1])],r=[d.add(t[0],d.div(e[0],2)),d.add(t[1],d.div(e[1],2))];return{sizes:e,centers:r}}function pa(o,t){let{sizes:e,centers:r}=ma(o),n=d.unstack(d.transpose(t,[1,0])),s=d.div(d.mul(d.exp(d.div(n[2],5)),e[0]),2),a=d.add(d.mul(d.div(n[0],10),e[0]),r[0]),i=d.div(d.mul(d.exp(d.div(n[3],5)),e[1]),2),c=d.add(d.mul(d.div(n[1],10),e[1]),r[1]);return d.transpose(d.stack([d.sub(a,s),d.sub(c,i),d.add(a,s),d.add(c,i)]),[1,0])}function Xo(o,t,e){return d.tidy(()=>{let r=o.shape[0],n=pa(d.reshape(d.tile(e.extra_dim,[r,1,1]),[-1,4]),d.reshape(o,[-1,4]));n=d.reshape(n,[r,n.shape[0]/r,4]);let s=d.sigmoid(d.slice(t,[0,0,1],[-1,-1,-1])),a=d.slice(s,[0,0,0],[-1,-1,1]);a=d.reshape(a,[r,a.shape[1]]);let i=d.unstack(n),c=d.unstack(a);return{boxes:i,scores:c}})}var Ge=v(x());var Ve=v(x());function Qt(o,t){return Ve.tidy(()=>{let e=o.shape[0],r=Ve.reshape(Jt(o,t.box_encoding_predictor),[e,-1,1,4]),n=Ve.reshape(Jt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:n}})}function Jo(o,t,e){return Ge.tidy(()=>{let r=Z(o,e.conv_0,[1,1]),n=Z(r,e.conv_1,[2,2]),s=Z(n,e.conv_2,[1,1]),a=Z(s,e.conv_3,[2,2]),i=Z(a,e.conv_4,[1,1]),c=Z(i,e.conv_5,[2,2]),m=Z(c,e.conv_6,[1,1]),p=Z(m,e.conv_7,[2,2]),u=Qt(t,e.box_predictor_0),f=Qt(o,e.box_predictor_1),l=Qt(n,e.box_predictor_2),b=Qt(a,e.box_predictor_3),T=Qt(c,e.box_predictor_4),h=Qt(p,e.box_predictor_5),g=Ge.concat([u.boxPredictionEncoding,f.boxPredictionEncoding,l.boxPredictionEncoding,b.boxPredictionEncoding,T.boxPredictionEncoding,h.boxPredictionEncoding],1),P=Ge.concat([u.classPrediction,f.classPrediction,l.classPrediction,b.classPrediction,T.classPrediction,h.classPrediction],1);return{boxPredictions:g,classPredictions:P}})}var X=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var It=class extends A{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return Nt.tidy(()=>{let r=Nt.cast(t.toBatchTensor(512,!1),"float32"),n=Nt.sub(Nt.div(r,127.5),1),s=jo(n,e.mobilenetv1),{boxPredictions:a,classPredictions:i}=Jo(s.out,s.conv11,e.prediction_layer);return Xo(a,i,e.output_layer)})}async forward(t){return this.forwardInput(await D(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:n}=new X(e),s=await D(t),{boxes:a,scores:i}=this.forwardInput(s),c=a[0],m=i[0];for(let y=1;y{let[I,j]=[Math.max(0,g[y][0]),Math.min(1,g[y][2])].map(q=>q*h),[tt,it]=[Math.max(0,g[y][1]),Math.min(1,g[y][3])].map(q=>q*T);return new M(p[y],new zt(tt,I,it-tt,j-I),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return c.dispose(),m.dispose(),P}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Go(t)}extractParams(t){return Vo(t)}};function qo(o){let t=new It;return t.extractWeights(o),t}function ua(o){return qo(o)}var lo=class extends It{};var Zo=.4,Ko=[new _(.738768,.874946),new _(2.42204,2.65704),new _(4.30971,7.04493),new _(10.246,4.59428),new _(12.6868,11.8741)],Qo=[new _(1.603231,2.094468),new _(6.041143,7.080126),new _(2.882459,3.518061),new _(4.266906,5.178857),new _(9.041765,10.66308)],tn=[117.001,114.697,97.404],en="tiny_yolov2_model",rn="tiny_yolov2_separable_conv_model";var C=v(x());var Ir=o=>typeof o=="number";function ho(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Ir(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Ir(t.x)&&Ir(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Ir)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}var Q=v(x());var K=v(x());function Ee(o){return K.tidy(()=>{let t=K.mul(o,K.scalar(.10000000149011612));return K.add(K.relu(K.sub(o,t)),t)})}function vt(o,t){return Q.tidy(()=>{let e=Q.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Q.conv2d(e,t.conv.filters,[1,1],"valid"),e=Q.sub(e,t.bn.sub),e=Q.mul(e,t.bn.truediv),e=Q.add(e,t.conv.bias),Ee(e)})}var Lt=v(x());function yt(o,t){return Lt.tidy(()=>{let e=Lt.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Lt.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=Lt.add(e,t.bias),Ee(e)})}var bo=v(x());function fa(o,t){let e=he(o,t);function r(a,i){let c=bo.tensor1d(o(a)),m=bo.tensor1d(o(a));return t.push({paramPath:`${i}/sub`},{paramPath:`${i}/truediv`}),{sub:c,truediv:m}}function n(a,i,c){let m=e(a,i,3,`${c}/conv`),p=r(i,`${c}/bn`);return{conv:m,bn:p}}let s=be(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:n,extractSeparableConvParams:s}}function on(o,t,e,r){let{extractWeights:n,getRemainingWeights:s}=k(o),a=[],{extractConvParams:i,extractConvWithBatchNormParams:c,extractSeparableConvParams:m}=fa(n,a),p;if(t.withSeparableConvs){let[u,f,l,b,T,h,g,P,y]=r,I=t.isFirstLayerConv2d?i(u,f,3,"conv0"):m(u,f,"conv0"),j=m(f,l,"conv1"),tt=m(l,b,"conv2"),it=m(b,T,"conv3"),q=m(T,h,"conv4"),Pt=m(h,g,"conv5"),wt=P?m(g,P,"conv6"):void 0,Ft=y?m(P,y,"conv7"):void 0,ie=i(y||P||g,5*e,1,"conv8");p={conv0:I,conv1:j,conv2:tt,conv3:it,conv4:q,conv5:Pt,conv6:wt,conv7:Ft,conv8:ie}}else{let[u,f,l,b,T,h,g,P,y]=r,I=c(u,f,"conv0"),j=c(f,l,"conv1"),tt=c(l,b,"conv2"),it=c(b,T,"conv3"),q=c(T,h,"conv4"),Pt=c(h,g,"conv5"),wt=c(g,P,"conv6"),Ft=c(P,y,"conv7"),ie=i(y,5*e,1,"conv8");p={conv0:I,conv1:j,conv2:tt,conv3:it,conv4:q,conv5:Pt,conv6:wt,conv7:Ft,conv8:ie}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:a}}function la(o,t){let e=Y(o,t);function r(i){let c=e(`${i}/sub`,1),m=e(`${i}/truediv`,1);return{sub:c,truediv:m}}function n(i){let c=e(`${i}/filters`,4),m=e(`${i}/bias`,1);return{filters:c,bias:m}}function s(i){let c=n(`${i}/conv`),m=r(`${i}/bn`);return{conv:c,bn:m}}let a=ge(e);return{extractConvParams:n,extractConvWithBatchNormParams:s,extractSeparableConvParams:a}}function nn(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:n,extractSeparableConvParams:s}=la(o,e),a;if(t.withSeparableConvs){let i=t.filterSizes&&t.filterSizes.length||9;a={conv0:t.isFirstLayerConv2d?r("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:i>7?s("conv6"):void 0,conv7:i>8?s("conv7"):void 0,conv8:r("conv8")}}else a={conv0:n("conv0"),conv1:n("conv1"),conv2:n("conv2"),conv3:n("conv3"),conv4:n("conv4"),conv5:n("conv5"),conv6:n("conv6"),conv7:n("conv7"),conv8:r("conv8")};return W(o,e),{params:a,paramMappings:e}}var st=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var Nr=class Nr extends A{constructor(t){super("TinyYolov2"),ho(t),this._config=t}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(t,e){let r=vt(t,e.conv0);return r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv1),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv2),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv3),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv4),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv5),r=C.maxPool(r,[2,2],[1,1],"same"),r=vt(r,e.conv6),r=vt(r,e.conv7),Jt(r,e.conv8,"valid",!1)}runMobilenet(t,e){let r=this.config.isFirstLayerConv2d?Ee(Jt(t,e.conv0,"valid",!1)):yt(t,e.conv0);return r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv1),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv2),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv3),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv4),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv5),r=C.maxPool(r,[2,2],[1,1],"same"),r=e.conv6?yt(r,e.conv6):r,r=e.conv7?yt(r,e.conv7):r,Jt(r,e.conv8,"valid",!1)}forwardInput(t,e){let{params:r}=this;if(!r)throw new Error("TinyYolov2 - load model before inference");return C.tidy(()=>{let n=C.cast(t.toBatchTensor(e,!1),"float32");return n=this.config.meanRgb?rt(n,this.config.meanRgb):n,n=n.div(255),this.config.withSeparableConvs?this.runMobilenet(n,r):this.runTinyYolov2(n,r)})}async forward(t,e){return this.forwardInput(await D(t),e)}async detect(t,e={}){let{inputSize:r,scoreThreshold:n}=new st(e),s=await D(t),a=await this.forwardInput(s,r),i=C.tidy(()=>C.unstack(a)[0].expandDims()),c={width:s.getInputWidth(0),height:s.getInputHeight(0)},m=await this.extractBoxes(i,s.getReshapedInputDimensions(0),n);a.dispose(),i.dispose();let p=m.map(h=>h.box),u=m.map(h=>h.score),f=m.map(h=>h.classScore),l=m.map(h=>this.config.classes[h.label]);return Vr(p.map(h=>h.rescale(r)),u,this.config.iouThreshold,!0).map(h=>new Ht(u[h],f[h],l[h],p[h],c))}getDefaultModelName(){return""}extractParamsFromWeightMap(t){return nn(t,this.config)}extractParams(t){let e=this.config.filterSizes||Nr.DEFAULT_FILTER_SIZES,r=e?e.length:void 0;if(r!==7&&r!==8&&r!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${r} filterSizes in config`);return on(t,this.config,this.boxEncodingSize,e)}async extractBoxes(t,e,r){let{width:n,height:s}=e,a=Math.max(n,s),i=a/n,c=a/s,m=t.shape[1],p=this.config.anchors.length,[u,f,l]=C.tidy(()=>{let g=t.reshape([m,m,p,this.boxEncodingSize]),P=g.slice([0,0,0,0],[m,m,p,4]),y=g.slice([0,0,0,4],[m,m,p,1]),I=this.withClassScores?C.softmax(g.slice([0,0,0,5],[m,m,p,this.config.classes.length]),3):C.scalar(0);return[P,y,I]}),b=[],T=await f.array(),h=await u.array();for(let g=0;gr){let j=(P+Ne(h[g][P][y][0]))/m*i,tt=(g+Ne(h[g][P][y][1]))/m*c,it=Math.exp(h[g][P][y][2])*this.config.anchors[y].x/m*i,q=Math.exp(h[g][P][y][3])*this.config.anchors[y].y/m*c,Pt=j-it/2,wt=tt-q/2,Ft={row:g,col:P,anchor:y},{classScore:ie,label:yo}=this.withClassScores?await this.extractPredictedClass(l,Ft):{classScore:1,label:0};b.push({box:new Ot(Pt,wt,Pt+it,wt+q),score:I,classScore:I*ie,label:yo,...Ft})}}return u.dispose(),f.dispose(),l.dispose(),b}async extractPredictedClass(t,e){let{row:r,col:n,anchor:s}=e,a=await t.array();return Array(this.config.classes.length).fill(0).map((i,c)=>a[r][n][s][c]).map((i,c)=>({classScore:i,label:c})).reduce((i,c)=>i.classScore>c.classScore?i:c)}};Nr.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Me=Nr;var te=class extends Me{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:Zo,classes:["face"],...t?{anchors:Qo,meanRgb:tn}:{anchors:Ko,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?rn:en}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function da(o,t=!0){let e=new te(t);return e.extractWeights(o),e}var je=class extends st{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var J=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};var Xe=v(x());var go=v(x());async function ee(o,t,e,r,n=({alignedRect:s})=>s){let s=o.map(c=>qt(c)?n(c):c.detection),a=r||(t instanceof go.Tensor?await le(t,s):await fe(t,s)),i=await e(a);return a.forEach(c=>c instanceof go.Tensor&&c.dispose()),i}async function Ce(o,t,e,r,n){return ee([o],t,async s=>e(s[0]),r,n)}var an=.4,sn=[new _(1.603231,2.094468),new _(6.041143,7.080126),new _(2.882459,3.518061),new _(4.266906,5.178857),new _(9.041765,10.66308)],cn=[117.001,114.697,97.404];var re=class extends Me{constructor(){let t={withSeparableConvs:!0,iouThreshold:an,classes:["face"],anchors:sn,meanRgb:cn,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var F={ssdMobilenetv1:new It,tinyFaceDetector:new re,tinyYolov2:new te,faceLandmark68Net:new Zt,faceLandmark68TinyNet:new ze,faceRecognitionNet:new Kt,faceExpressionNet:new Oe,ageGenderNet:new He},mn=(o,t)=>F.ssdMobilenetv1.locateFaces(o,t),ha=(o,t)=>F.tinyFaceDetector.locateFaces(o,t),ba=(o,t)=>F.tinyYolov2.locateFaces(o,t),pn=o=>F.faceLandmark68Net.detectLandmarks(o),ga=o=>F.faceLandmark68TinyNet.detectLandmarks(o),xa=o=>F.faceRecognitionNet.computeFaceDescriptor(o),va=o=>F.faceExpressionNet.predictExpressions(o),ya=o=>F.ageGenderNet.predictAgeAndGender(o),un=o=>F.ssdMobilenetv1.load(o),_a=o=>F.tinyFaceDetector.load(o),Ta=o=>F.tinyYolov2.load(o),Pa=o=>F.faceLandmark68Net.load(o),wa=o=>F.faceLandmark68TinyNet.load(o),Fa=o=>F.faceRecognitionNet.load(o),Da=o=>F.faceExpressionNet.load(o),Ea=o=>F.ageGenderNet.load(o),Ma=un,Ca=mn,Ia=pn;var Lr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},oe=class extends Lr{async run(){let t=await this.parentTask,e=await ee(t,this.input,async r=>Promise.all(r.map(n=>F.faceExpressionNet.predictExpressions(n))),this.extractedFaces);return t.map((r,n)=>vr(r,e[n]))}withAgeAndGender(){return new ae(this,this.input)}},ne=class extends Lr{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>F.faceExpressionNet.predictExpressions(r),this.extractedFaces);return vr(t,e)}withAgeAndGender(){return new se(this,this.input)}},St=class extends oe{withAgeAndGender(){return new Wt(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},At=class extends ne{withAgeAndGender(){return new kt(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Sr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ae=class extends Sr{async run(){let t=await this.parentTask,e=await ee(t,this.input,async r=>Promise.all(r.map(n=>F.ageGenderNet.predictAgeAndGender(n))),this.extractedFaces);return t.map((r,n)=>{let{age:s,gender:a,genderProbability:i}=e[n];return Mr(Cr(r,a,i),s)})}withFaceExpressions(){return new oe(this,this.input)}},se=class extends Sr{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:n}=await Ce(t,this.input,s=>F.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return Mr(Cr(t,r,n),e)}withFaceExpressions(){return new ne(this,this.input)}},Wt=class extends ae{withFaceExpressions(){return new St(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},kt=class extends se{withFaceExpressions(){return new At(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Ue=class extends J{constructor(e,r){super();this.parentTask=e;this.input=r}},_t=class extends Ue{async run(){let t=await this.parentTask;return(await ee(t,this.input,r=>Promise.all(r.map(n=>F.faceRecognitionNet.computeFaceDescriptor(n))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,n)=>Er(t[n],r))}withFaceExpressions(){return new St(this,this.input)}withAgeAndGender(){return new Wt(this,this.input)}},Tt=class extends Ue{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>F.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return Er(t,e)}withFaceExpressions(){return new At(this,this.input)}withAgeAndGender(){return new kt(this,this.input)}};var Je=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?F.faceLandmark68TinyNet:F.faceLandmark68Net}},qe=class extends Je{async run(){let t=await this.parentTask,e=t.map(a=>a.detection),r=this.input instanceof Xe.Tensor?await le(this.input,e):await fe(this.input,e),n=await Promise.all(r.map(a=>this.landmarkNet.detectLandmarks(a)));return r.forEach(a=>a instanceof Xe.Tensor&&a.dispose()),t.filter((a,i)=>n[i]).map((a,i)=>Pe(a,n[i]))}withFaceExpressions(){return new St(this,this.input)}withAgeAndGender(){return new Wt(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},Ze=class extends Je{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof Xe.Tensor?await le(this.input,[e]):await fe(this.input,[e]),n=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(s=>s instanceof Xe.Tensor&&s.dispose()),Pe(t,n)}withFaceExpressions(){return new At(this,this.input)}withAgeAndGender(){return new kt(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Ke=class extends J{constructor(e,r=new X){super();this.input=e;this.options=r}},Ie=class extends Ke{async run(){let{input:t,options:e}=this,r;if(e instanceof je)r=F.tinyFaceDetector.locateFaces(t,e);else if(e instanceof X)r=F.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof st)r=F.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(n=>Vt({},n)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new qe(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new oe(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new ae(this.runAndExtendWithFaceDetections(),this.input)}},Qe=class extends Ke{async run(){let t=await new Ie(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?Vt({},e):void 0)})}withFaceLandmarks(t=!1){return new Ze(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new ne(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new se(this.runAndExtendWithFaceDetection(),this.input)}};function Na(o,t=new X){return new Qe(o,t)}function Ar(o,t=new X){return new Ie(o,t)}async function fn(o,t){return Ar(o,new X(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function La(o,t={}){return Ar(o,new st(t)).withFaceLandmarks().withFaceDescriptors()}var Sa=fn;function xo(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((n,s)=>n-r[s]).reduce((n,s)=>n+s*s,0))}var vo=class o{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let n=1,s=()=>`person ${n++}`;this._labeledDescriptors=r.map(a=>{if(a instanceof Et)return a;if(a instanceof Float32Array)return new Et(s(),[a]);if(a.descriptor&&a.descriptor instanceof Float32Array)return new Et(s(),[a.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>xo(r,t)).reduce((r,n)=>r+n,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new me(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>Et.fromJSON(r));return new o(e,t.distanceThreshold)}};function Aa(o){let t=new re;return t.extractWeights(o),t}function ln(o,t){let{width:e,height:r}=new R(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(n=>ln(n,{width:e,height:r}));if(qt(o)){let n=o.detection.forSize(e,r),s=o.unshiftedLandmarks.forSize(n.box.width,n.box.height);return Pe(Vt(o,n),s)}return pt(o)?Vt(o,o.detection.forSize(e,r)):o instanceof H||o instanceof M?o.forSize(e,r):o}var ka=Lo;0&&(module.exports={AgeGenderNet,BoundingBox,Box,ComposableTask,ComputeAllFaceDescriptorsTask,ComputeFaceDescriptorsTaskBase,ComputeSingleFaceDescriptorTask,DetectAllFaceLandmarksTask,DetectAllFacesTask,DetectFaceLandmarksTaskBase,DetectFacesTaskBase,DetectSingleFaceLandmarksTask,DetectSingleFaceTask,Dimensions,FACE_EXPRESSION_LABELS,FaceDetection,FaceDetectionNet,FaceExpressionNet,FaceExpressions,FaceLandmark68Net,FaceLandmark68TinyNet,FaceLandmarkNet,FaceLandmarks,FaceLandmarks5,FaceLandmarks68,FaceMatch,FaceMatcher,FaceRecognitionNet,Gender,LabeledBox,LabeledFaceDescriptors,NetInput,NeuralNetwork,ObjectDetection,Point,PredictedBox,Rect,SsdMobilenetv1,SsdMobilenetv1Options,TinyFaceDetector,TinyFaceDetectorOptions,TinyYolov2,TinyYolov2Options,allFaces,allFacesSsdMobilenetv1,allFacesTinyYolov2,awaitMediaLoaded,bufferToImage,computeFaceDescriptor,createCanvas,createCanvasFromMedia,createFaceDetectionNet,createFaceRecognitionNet,createSsdMobilenetv1,createTinyFaceDetector,createTinyYolov2,detectAllFaces,detectFaceLandmarks,detectFaceLandmarksTiny,detectLandmarks,detectSingleFace,draw,env,euclideanDistance,extendWithAge,extendWithFaceDescriptor,extendWithFaceDetection,extendWithFaceExpressions,extendWithFaceLandmarks,extendWithGender,extractFaceTensors,extractFaces,fetchImage,fetchJson,fetchNetWeights,fetchOrThrow,fetchVideo,getContext2dOrThrow,getMediaDimensions,imageTensorToCanvas,imageToSquare,inverseSigmoid,iou,isMediaElement,isMediaLoaded,isWithAge,isWithFaceDetection,isWithFaceExpressions,isWithFaceLandmarks,isWithGender,loadAgeGenderModel,loadFaceDetectionModel,loadFaceExpressionModel,loadFaceLandmarkModel,loadFaceLandmarkTinyModel,loadFaceRecognitionModel,loadSsdMobilenetv1Model,loadTinyFaceDetectorModel,loadTinyYolov2Model,loadWeightMap,locateFaces,matchDimensions,minBbox,nets,nonMaxSuppression,normalize,padToSquare,predictAgeAndGender,recognizeFaceExpressions,resizeResults,resolveInput,shuffleArray,sigmoid,ssdMobilenetv1,tf,tinyFaceDetector,tinyYolov2,toNetInput,utils,validateConfig,version}); diff --git a/dist/face-api.node.js b/dist/face-api.node.js index 52b0525..c3f0f07 100644 --- a/dist/face-api.node.js +++ b/dist/face-api.node.js @@ -4,4 +4,4 @@ author: ' */ -"use strict";var ln=Object.create;var tr=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var hn=Object.getOwnPropertyNames;var bn=Object.getPrototypeOf,gn=Object.prototype.hasOwnProperty;var xn=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),Sr=(o,t)=>{for(var e in t)tr(o,e,{get:t[e],enumerable:!0})},_o=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of hn(t))!gn.call(o,n)&&n!==e&&tr(o,n,{get:()=>t[n],enumerable:!(r=dn(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?ln(bn(o)):{},_o(t||!o||!o.__esModule?tr(e,"default",{value:o,enumerable:!0}):e,o)),vn=o=>_o(tr({},"__esModule",{value:!0}),o);var x=xn((Ya,Br)=>{"use strict";var Wr=Object.defineProperty,yn=Object.getOwnPropertyDescriptor,_n=Object.getOwnPropertyNames,Tn=Object.prototype.hasOwnProperty,Pn=(o,t)=>{for(var e in t)Wr(o,e,{get:t[e],enumerable:!0})},Ar=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of _n(t))!Tn.call(o,n)&&n!==e&&Wr(o,n,{get:()=>t[n],enumerable:!(r=yn(t,n))||r.enumerable});return o},wn=(o,t,e)=>(Ar(o,t,"default"),e&&Ar(e,t,"default")),Fn=o=>Ar(Wr({},"__esModule",{value:!0}),o),kr={};Pn(kr,{version:()=>In});Br.exports=Fn(kr);wn(kr,require("@tensorflow/tfjs-node"),Br.exports);var To="4.16.0",Dn="4.16.0",En="4.16.0",Mn="4.16.0",Cn="4.16.0",In={tfjs:To,"tfjs-core":To,"tfjs-converter":Dn,"tfjs-backend-cpu":En,"tfjs-backend-webgl":Mn,"tfjs-backend-wasm":Cn}});var Ba={};Sr(Ba,{AgeGenderNet:()=>He,BoundingBox:()=>Ot,Box:()=>L,ComposableTask:()=>J,ComputeAllFaceDescriptorsTask:()=>_t,ComputeFaceDescriptorsTaskBase:()=>Ue,ComputeSingleFaceDescriptorTask:()=>Tt,DetectAllFaceLandmarksTask:()=>qe,DetectAllFacesTask:()=>Ie,DetectFaceLandmarksTaskBase:()=>Je,DetectFacesTaskBase:()=>Ke,DetectSingleFaceLandmarksTask:()=>Ze,DetectSingleFaceTask:()=>Qe,Dimensions:()=>R,FACE_EXPRESSION_LABELS:()=>so,FaceDetection:()=>M,FaceDetectionNet:()=>lo,FaceExpressionNet:()=>Oe,FaceExpressions:()=>gt,FaceLandmark68Net:()=>Zt,FaceLandmark68TinyNet:()=>ze,FaceLandmarkNet:()=>po,FaceLandmarks:()=>H,FaceLandmarks5:()=>jr,FaceLandmarks68:()=>Yt,FaceMatch:()=>me,FaceMatcher:()=>vo,FaceRecognitionNet:()=>Kt,Gender:()=>_r,LabeledBox:()=>pe,LabeledFaceDescriptors:()=>Et,NetInput:()=>ut,NeuralNetwork:()=>A,ObjectDetection:()=>Ht,Point:()=>_,PredictedBox:()=>Ur,Rect:()=>zt,SsdMobilenetv1:()=>It,SsdMobilenetv1Options:()=>X,TinyFaceDetector:()=>re,TinyFaceDetectorOptions:()=>je,TinyYolov2:()=>te,TinyYolov2Options:()=>st,allFaces:()=>Sa,allFacesSsdMobilenetv1:()=>un,allFacesTinyYolov2:()=>La,awaitMediaLoaded:()=>to,bufferToImage:()=>eo,computeFaceDescriptor:()=>xa,createCanvas:()=>Xt,createCanvasFromMedia:()=>We,createFaceDetectionNet:()=>ua,createFaceRecognitionNet:()=>ta,createSsdMobilenetv1:()=>Jo,createTinyFaceDetector:()=>Aa,createTinyYolov2:()=>da,detectAllFaces:()=>Lr,detectFaceLandmarks:()=>mn,detectFaceLandmarksTiny:()=>ga,detectLandmarks:()=>Ia,detectSingleFace:()=>Na,draw:()=>co,env:()=>w,euclideanDistance:()=>xo,extendWithAge:()=>Dr,extendWithFaceDescriptor:()=>Fr,extendWithFaceDetection:()=>Vt,extendWithFaceExpressions:()=>gr,extendWithFaceLandmarks:()=>Pe,extendWithGender:()=>Er,extractFaceTensors:()=>le,extractFaces:()=>fe,fetchImage:()=>On,fetchJson:()=>no,fetchNetWeights:()=>Hn,fetchOrThrow:()=>ht,fetchVideo:()=>zn,getContext2dOrThrow:()=>$,getMediaDimensions:()=>Ut,imageTensorToCanvas:()=>ro,imageToSquare:()=>oo,inverseSigmoid:()=>Sn,iou:()=>zr,isMediaElement:()=>sr,isMediaLoaded:()=>Ae,isWithAge:()=>ea,isWithFaceDetection:()=>pt,isWithFaceExpressions:()=>io,isWithFaceLandmarks:()=>qt,isWithGender:()=>ra,loadAgeGenderModel:()=>Ea,loadFaceDetectionModel:()=>Ma,loadFaceExpressionModel:()=>Da,loadFaceLandmarkModel:()=>Pa,loadFaceLandmarkTinyModel:()=>wa,loadFaceRecognitionModel:()=>Fa,loadSsdMobilenetv1Model:()=>pn,loadTinyFaceDetectorModel:()=>_a,loadTinyYolov2Model:()=>Ta,loadWeightMap:()=>ao,locateFaces:()=>Ca,matchDimensions:()=>Yn,minBbox:()=>Yr,nets:()=>F,nonMaxSuppression:()=>Vr,normalize:()=>rt,padToSquare:()=>Gr,predictAgeAndGender:()=>ya,recognizeFaceExpressions:()=>va,resizeResults:()=>fn,resolveInput:()=>Gt,shuffleArray:()=>Ln,sigmoid:()=>Ne,ssdMobilenetv1:()=>cn,tf:()=>Wa,tinyFaceDetector:()=>ha,tinyYolov2:()=>ba,toNetInput:()=>D,utils:()=>Hr,validateConfig:()=>ho,version:()=>ka});module.exports=vn(Ba);var Wa=v(x());var co={};Sr(co,{AnchorPosition:()=>Qr,DrawBox:()=>Se,DrawBoxOptions:()=>nr,DrawFaceLandmarks:()=>vr,DrawFaceLandmarksOptions:()=>xr,DrawTextField:()=>jt,DrawTextFieldOptions:()=>ue,drawContour:()=>lt,drawDetections:()=>$n,drawFaceExpressions:()=>Vn,drawFaceLandmarks:()=>jn});function lt(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:n},s)=>{let a=t[s];o.moveTo(a.x,a.y),o.lineTo(r,n)}),e){let r=t[t.length-1],n=t[0];if(!r||!n)return;o.moveTo(r.x,r.y),o.lineTo(n.x,n.y)}o.stroke()}var Hr={};Sr(Hr,{computeReshapedDimensions:()=>Or,getCenterPoint:()=>$t,isDimensions:()=>rr,isEven:()=>er,isFloat:()=>$r,isTensor:()=>Bt,isTensor1D:()=>Nn,isTensor2D:()=>Rr,isTensor3D:()=>dt,isTensor4D:()=>U,isValidNumber:()=>et,isValidProbablitiy:()=>ce,range:()=>ct,round:()=>Rt});var Po=v(x());var R=class o{constructor(t,e){if(!et(t)||!et(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new o(1/this.width,1/this.height)}};function Bt(o,t){return o instanceof Po.Tensor&&o.shape.length===t}function Nn(o){return Bt(o,1)}function Rr(o){return Bt(o,2)}function dt(o){return Bt(o,3)}function U(o){return Bt(o,4)}function $r(o){return o%1!==0}function er(o){return o%2===0}function Rt(o,t=2){let e=10**t;return Math.floor(o*e)/e}function rr(o){return o&&o.width&&o.height}function Or({width:o,height:t},e){let r=e/Math.max(t,o);return new R(Math.round(o*r),Math.round(t*r))}function $t(o){return o.reduce((t,e)=>t.add(e),new _(0,0)).div(new _(o.length,o.length))}function ct(o,t,e){return Array(o).fill(0).map((r,n)=>t+n*e)}function et(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function ce(o){return et(o)&&o>=0&&o<=1}var _=class o{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new o(this.x+t.x,this.y+t.y)}sub(t){return new o(this.x-t.x,this.y-t.y)}mul(t){return new o(this.x*t.x,this.y*t.y)}div(t){return new o(this.x/t.x,this.y/t.y)}abs(){return new o(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new o(Math.floor(this.x),Math.floor(this.y))}};var L=class o{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(et)}static assertIsValidBox(t,e,r=!1){if(!o.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},n=[r.left,r.top,r.right,r.bottom].every(et),s=[r.x,r.y,r.width,r.height].every(et);if(!s&&!n)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[a,i,c,m]=s?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];o.assertIsValidBox({x:a,y:i,width:c,height:m},"Box.constructor",e),this._x=a,this._y=i,this._width=c,this._height=m}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new _(this.left,this.top)}get topRight(){return new _(this.right,this.top)}get bottomLeft(){return new _(this.left,this.bottom)}get bottomRight(){return new _(this.right,this.bottom)}round(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new o({x:t,y:e,width:r,height:n})}floor(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new o({x:t,y:e,width:r,height:n})}toSquare(){let{x:t,y:e,width:r,height:n}=this,s=Math.abs(r-n);return re&&(i=-u+e+r,u=e),f>t&&(c=-f+t+n,f=t),m<1&&(c=2-m,m=1),p<1&&(c=2-p,p=1),{dy:a,edy:c,dx:s,edx:i,y:p,ey:f,x:m,ex:u,w:r,h:n}}calibrate(t){return new o({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Ot=class extends L{constructor(t,e,r,n,s=!1){super({left:t,top:e,right:r,bottom:n},s)}};var Ht=class o{constructor(t,e,r,n,s){this._imageDims=new R(s.width,s.height),this._score=t,this._classScore=e,this._className=r,this._box=new L(n).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new L(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new o(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var M=class o extends Ht{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:n,imageDims:s}=super.forSize(t,e);return new o(r,n,s)}};function zr(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),n=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),s=r*n;return e?s/(o.area+t.area-s):s/Math.min(o.area,t.area)}function Yr(o){let t=o.map(i=>i.x),e=o.map(i=>i.y),r=t.reduce((i,c)=>ccii({score:a,boxIndex:i})).sort((a,i)=>a.score-i.score).map(a=>a.boxIndex),s=[];for(;n.length>0;){let a=n.pop();s.push(a);let i=n,c=[];for(let m=0;mc[p]<=e)}return s}var mt=v(x());function rt(o,t){return mt.tidy(()=>{let[e,r,n]=t,s=mt.fill([...o.shape.slice(0,3),1],e,"float32"),a=mt.fill([...o.shape.slice(0,3),1],r,"float32"),i=mt.fill([...o.shape.slice(0,3),1],n,"float32"),c=mt.concat([s,a,i],3);return mt.sub(o,c)})}var Dt=v(x());function Gr(o,t=!1){return Dt.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let n=Math.abs(e-r),s=Math.round(n*(t?.5:1)),a=e>r?2:1,i=f=>{let l=o.shape.slice();return l[a]=f,Dt.fill(l,0,"float32")},c=i(s),m=n-c.shape[a],u=[t&&m?i(m):null,o,c].filter(f=>!!f).map(f=>Dt.cast(f,"float32"));return Dt.concat(u,a)})}function Ln(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function Ne(o){return 1/(1+Math.exp(-o))}function Sn(o){return Math.log(o/(1-o))}var zt=class extends L{constructor(t,e,r,n,s=!1){super({x:t,y:e,width:r,height:n},s)}};var An=.5,Wn=.43,kn=.45,H=class{constructor(t,e,r=new _(0,0)){let{width:n,height:s}=e;this._imgDims=new R(n,s),this._shift=r,this._positions=t.map(a=>a.mul(new _(n,s)).add(r))}get shift(){return new _(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new _(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new _(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let s=t instanceof M?t.box.floor():new L(t);return this.shiftBy(s.x,s.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:n}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(n)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,n]=t,s=u=>n.sub(u).magnitude(),a=(s(e)+s(r))/2,i=Math.floor(a/kn),c=$t(t),m=Math.floor(Math.max(0,c.x-An*i)),p=Math.floor(Math.max(0,c.y-Wn*i));return new zt(m,p,Math.min(i,this.imageWidth+m),Math.min(i,this.imageHeight+p))}alignMinBbox(t){let e=Yr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var jr=class extends H{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],$t([t[3],t[4]])]}};var Yt=class extends H{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map($t)}};var me=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Rt(this.distance)})`:""}`}};var pe=class extends L{static assertIsValidLabeledBox(t,e){if(L.assertIsValidBox(t,e),!et(t.label))throw new Error(`${e} - expected property label (${t.label}) to be a number`)}constructor(t,e){super(t),this._label=e}get label(){return this._label}};var Et=class o{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new o(t.label,e)}};var Ur=class extends pe{static assertIsValidPredictedBox(t,e){if(pe.assertIsValidLabeledBox(t,e),!ce(t.score)||!ce(t.classScore))throw new Error(`${e} - expected properties score (${t.score}) and (${t.classScore}) to be a number between [0, 1]`)}constructor(t,e,r,n){super(t,e),this._score=r,this._classScore=n}get score(){return this._score}get classScore(){return this._classScore}};function pt(o){return o.detection instanceof M}function Vt(o,t){return{...o,...{detection:t}}}function Xr(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Le(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function or(o){let t="";if(!o&&Le())try{o=require("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((n,s)=>{o.readFile(r,(a,i)=>a?s(a):n(i))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Jr(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},n=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},a=global.fetch,i=or();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:n,createVideoElement:s,fetch:a,...i}}function qr(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var S;function Bn(){if(!S)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return S}function Zr(o){S=o}function Kr(){return qr()?Zr(Xr()):Le()?Zr(Jr()):null}function Rn(o){if(S||Kr(),!S)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=S.Canvas,Image:e=S.Image}=o;S.Canvas=t,S.Image=e,S.createCanvasElement=o.createCanvasElement||(()=>new t),S.createImageElement=o.createImageElement||(()=>new e),S.ImageData=o.ImageData||S.ImageData,S.Video=o.Video||S.Video,S.fetch=o.fetch||S.fetch,S.readFile=o.readFile||S.readFile}var w={getEnv:Bn,setEnv:Zr,initialize:Kr,createBrowserEnv:Xr,createFileSystem:or,createNodejsEnv:Jr,monkeyPatch:Rn,isBrowser:qr,isNodejs:Le};Kr();function Gt(o){return!w.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function $(o){let{Canvas:t,CanvasRenderingContext2D:e}=w.getEnv();if(o instanceof e)return o;let r=Gt(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let n=r.getContext("2d",{willReadFrequently:!0});if(!n)throw new Error("resolveContext2d - canvas 2d context is null");return n}var Qr=(n=>(n.TOP_LEFT="TOP_LEFT",n.TOP_RIGHT="TOP_RIGHT",n.BOTTOM_LEFT="BOTTOM_LEFT",n.BOTTOM_RIGHT="BOTTOM_RIGHT",n))(Qr||{}),ue=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:n,fontSize:s,fontStyle:a,padding:i}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=n||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=a||"Georgia",this.padding=i||4}},jt=class o{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof o?t.text:t,this.anchor=e,this.options=new ue(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,n)=>r{let b=c+u.x,T=c+u.y+(l+1)*a;r.fillText(f,b,T)})}};var nr=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:n,drawLabelOptions:s}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=n;let a={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new ue({...a,...s})}},Se=class{constructor(t,e={}){this.box=new L(t),this.options=new nr(e)}draw(t){let e=$(t),{boxColor:r,lineWidth:n}=this.options,{x:s,y:a,width:i,height:c}=this.box;e.strokeStyle=r,e.lineWidth=n,e.strokeRect(s,a,i,c);let{label:m}=this.options;m&&new jt([m],{x:s-n/2,y:a},this.options.drawLabelOptions).draw(t)}};function $n(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof M?r.score:pt(r)?r.detection.score:void 0,s=r instanceof M?r.box:pt(r)?r.detection.box:new L(r),a=n?`${Rt(n)}`:void 0;new Se(s,{label:a}).draw(o)})}var Te=v(x());function Ae(o){let{Image:t,Video:e}=w.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function to(o){return new Promise((t,e)=>{if(o instanceof w.getEnv().Canvas||Ae(o)){t(null);return}function r(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",n),s.currentTarget.removeEventListener("error",r),e(s))}function n(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",n),s.currentTarget.removeEventListener("error",r),t(s))}o.addEventListener("load",n),o.addEventListener("error",r)})}function eo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let n=w.getEnv().createImageElement();n.onload=()=>t(n),n.onerror=e,n.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Ut(o){let{Image:t,Video:e}=w.getEnv();return o instanceof t?new R(o.naturalWidth,o.naturalHeight):o instanceof e?new R(o.videoWidth,o.videoHeight):new R(o.width,o.height)}function Xt({width:o,height:t}){let{createCanvasElement:e}=w.getEnv(),r=e();return r.width=o,r.height=t,r}function We(o,t){let{ImageData:e}=w.getEnv();if(!(o instanceof e)&&!Ae(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:n}=t||Ut(o),s=Xt({width:r,height:n});return o instanceof e?$(s).putImageData(o,0,0):$(s).drawImage(o,0,0,r,n),s}var ar=v(x());async function ro(o,t){let e=t||w.getEnv().createCanvasElement(),[r,n,s]=o.shape.slice(U(o)?1:0),a=ar.tidy(()=>o.as3D(r,n,s).toInt());return await ar.browser.toPixels(a,e),a.dispose(),e}function sr(o){let{Image:t,Canvas:e,Video:r}=w.getEnv();return o instanceof t||o instanceof e||o instanceof r}var z=v(x());function oo(o,t,e=!1){let{Image:r,Canvas:n}=w.getEnv();if(!(o instanceof r||o instanceof n))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Xt({width:1,height:1});let s=Ut(o),a=t/Math.max(s.height,s.width),i=a*s.width,c=a*s.height,m=Xt({width:t,height:t}),p=o instanceof n?o:We(o),u=Math.abs(i-c)/2,f=e&&i0&&p.height>0&&$(m).drawImage(p,f,l,i,c),m}var ut=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,n)=>{if(dt(r)){this._imageTensors[n]=r,this._inputDimensions[n]=r.shape;return}if(U(r)){let a=r.shape[0];if(a!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${a} passed, but not supported in input array`);this._imageTensors[n]=r,this._inputDimensions[n]=r.shape.slice(1);return}let s=r instanceof w.getEnv().Canvas?r:We(r);this._canvases[n]=s,this._inputDimensions[n]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return ct(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return Or({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,z.tidy(()=>{let r=ct(this.batchSize,0,1).map(s=>{let a=this.getInput(s);if(a instanceof z.Tensor){let i=U(a)?a:z.expandDims(a);return i=Gr(i,e),(i.shape[1]!==t||i.shape[2]!==t)&&(i=z.image.resizeBilinear(i,[t,t],!1,!1)),i.as3D(t,t,3)}if(a instanceof w.getEnv().Canvas)return z.browser.fromPixels(oo(a,t,e));throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${a}`)});return z.stack(r.map(s=>z.cast(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function D(o){if(o instanceof ut)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=n=>Array.isArray(o)?` at input index ${n}:`:"",r=t.map(Gt);return r.forEach((n,s)=>{if(!sr(n)&&!dt(n)&&!U(n))throw typeof t[s]=="string"?new Error(`toNetInput -${e(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${e(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(U(n)){let a=n.shape[0];if(a!==1)throw new Error(`toNetInput -${e(s)} tf.Tensor4D with batchSize ${a} passed, but not supported in input array`)}}),await Promise.all(r.map(n=>sr(n)&&to(n))),new ut(r,Array.isArray(o))}async function fe(o,t){let{Canvas:e}=w.getEnv(),r=o;if(!(o instanceof e)){let a=await D(o);if(a.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let i=a.getInput(0);r=i instanceof e?i:await ro(i)}let n=$(r);return t.map(a=>a instanceof M?a.forSize(r.width,r.height).box.floor():a).map(a=>a.clipAtImageBorders(r.width,r.height)).map(({x:a,y:i,width:c,height:m})=>{let p=Xt({width:c,height:m});return c>0&&m>0&&$(p).putImageData(n.getImageData(a,i,c,m),0,0),p})}var ir=v(x());async function le(o,t){if(!dt(o)&&!U(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(U(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return ir.tidy(()=>{let[e,r,n]=o.shape.slice(U(o)?1:0);return t.map(i=>i instanceof M?i.forSize(r,e).box:i).map(i=>i.clipAtImageBorders(r,e)).filter(i=>i.width>0&&i.height>0).map(({x:i,y:c,width:m,height:p})=>ir.slice3d(o.as3D(e,r,n),[c,i,0],[p,m,n]))})}async function ht(o,t){let{fetch:e}=w.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function On(o){let t=await ht(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return eo(e)}async function no(o){return(await ht(o)).json()}async function Hn(o){return new Float32Array(await(await ht(o)).arrayBuffer())}function wo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=w.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function zn(o){let t=await ht(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return wo(e)}var Fo=v(x());function cr(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let n=o.split("/").filter(i=>i),s=o.endsWith(".json")?n[n.length-1]:e,a=r+(o.endsWith(".json")?n.slice(0,n.length-1):n).join("/");return a=o.startsWith("/")?`/${a}`:a,{modelBaseUri:a,manifestUri:a==="/"?`/${s}`:`${a}/${s}`}}async function ao(o,t){let{manifestUri:e,modelBaseUri:r}=cr(o,t),n=await no(e);return Fo.io.loadWeights(n,r)}function Yn(o,t,e=!1){let{width:r,height:n}=e?Ut(t):t;return o.width=r,o.height=n,{width:r,height:n}}var ve=v(x());var bt=v(x());var A=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:n}=this.traversePropertyPath(t);r[n].dispose(),r[n]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof bt.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof bt.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=bt.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await ao(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=w.getEnv(),{manifestUri:r,modelBaseUri:n}=cr(t,this.getDefaultModelName()),s=m=>Promise.all(m.map(p=>e(p).then(u=>typeof u=="string"?Buffer.from(u):u.buffer))),a=bt.io.weightsLoaderFactory(s),i=JSON.parse((await e(r)).toString()),c=await a(i,n);this.loadFromWeightMap(c)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((s,a)=>{if(!s.nextObj.hasOwnProperty(a))throw new Error(`traversePropertyPath - object does not have property ${a}, for path ${t}`);return{obj:s.nextObj,objProp:a,nextObj:s.nextObj[a]}},{nextObj:this.params}),{obj:r,objProp:n}=e;if(!r||!n||!(r[n]instanceof bt.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:n}}};var E=v(x());var de=v(x());function O(o,t,e){return de.tidy(()=>{let r=de.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=de.add(r,t.bias),r})}function mr(o,t,e=!1){return E.tidy(()=>{let r=E.relu(e?E.add(E.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):O(o,t.conv0,[2,2])),n=O(r,t.conv1,[1,1]),s=E.relu(E.add(r,n)),a=O(s,t.conv2,[1,1]);return E.relu(E.add(r,E.add(n,a)))})}function ke(o,t,e=!1,r=!0){return E.tidy(()=>{let n=E.relu(e?E.add(E.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):O(o,t.conv0,r?[2,2]:[1,1])),s=O(n,t.conv1,[1,1]),a=E.relu(E.add(n,s)),i=O(a,t.conv2,[1,1]),c=E.relu(E.add(n,E.add(s,i))),m=O(c,t.conv3,[1,1]);return E.relu(E.add(n,E.add(s,E.add(i,m))))})}var Mt=v(x());function Jt(o,t,e="same",r=!1){return Mt.tidy(()=>{let n=Mt.add(Mt.conv2d(o,t.filters,[1,1],e),t.bias);return r?Mt.relu(n):n})}function W(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}var pr=v(x());function he(o,t){return(e,r,n,s)=>{let a=pr.tensor4d(o(e*r*n*n),[n,n,e,r]),i=pr.tensor1d(o(r));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:a,bias:i}}}var ur=v(x());function fr(o,t){return(e,r,n)=>{let s=ur.tensor2d(o(e*r),[e,r]),a=ur.tensor1d(o(r));return t.push({paramPath:`${n}/weights`},{paramPath:`${n}/bias`}),{weights:s,bias:a}}}var Re=v(x());var Be=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function be(o,t){return(e,r,n)=>{let s=Re.tensor4d(o(9*e),[3,3,e,1]),a=Re.tensor4d(o(e*r),[1,1,e,r]),i=Re.tensor1d(o(r));return t.push({paramPath:`${n}/depthwise_filter`},{paramPath:`${n}/pointwise_filter`},{paramPath:`${n}/bias`}),new Be(s,a,i)}}function ge(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),n=o(`${t}/bias`,1);return new Be(e,r,n)}}function Y(o,t){return(e,r,n)=>{let s=o[e];if(!Bt(s,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${s}`);return t.push({originalPath:e,paramPath:n||e}),s}}function k(o){let t=o;function e(n){let s=t.slice(0,n);return t=t.slice(n),s}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function lr(o,t){let e=he(o,t),r=be(o,t);function n(a,i,c,m=!1){let p=m?e(a,i,3,`${c}/conv0`):r(a,i,`${c}/conv0`),u=r(i,i,`${c}/conv1`),f=r(i,i,`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function s(a,i,c,m=!1){let{conv0:p,conv1:u,conv2:f}=n(a,i,c,m),l=r(i,i,`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:n,extractDenseBlock4Params:s}}function Do(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractDenseBlock4Params:n}=lr(e,t),s=n(3,32,"dense0",!0),a=n(32,64,"dense1"),i=n(64,128,"dense2"),c=n(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:a,dense2:i,dense3:c}}}function dr(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function hr(o,t){let e=Y(o,t),r=dr(e),n=ge(e);function s(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`);return{conv0:m,conv1:p,conv2:u}}function a(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`),f=n(`${i}/conv3`);return{conv0:m,conv1:p,conv2:u,conv3:f}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:a}}function Eo(o){let t=[],{extractDenseBlock4Params:e}=hr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return W(o,t),{params:r,paramMappings:t}}var xe=class extends A{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return ve.tidy(()=>{let r=ve.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=ke(s,e.dense0,!0);return a=ke(a,e.dense1),a=ke(a,e.dense2),a=ke(a,e.dense3),a=ve.avgPool(a,[7,7],[2,2],"valid"),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Eo(t)}extractParams(t){return Do(t)}};var Io=v(x());var ye=v(x());function $e(o,t){return ye.tidy(()=>ye.add(ye.matMul(o,t.weights),t.bias))}function Mo(o,t,e){let r=[],{extractWeights:n,getRemainingWeights:s}=k(o),i=fr(n,r)(t,e,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:r,params:{fc:i}}}function Co(o){let t=[],e=Y(o,t);function r(s){let a=e(`${s}/weights`,2),i=e(`${s}/bias`,1);return{weights:a,bias:i}}let n={fc:r("fc")};return W(o,t),{params:n,paramMappings:t}}function br(o){let t={},e={};return Object.keys(o).forEach(r=>{let n=r.startsWith("fc")?e:t;n[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var _e=class extends A{constructor(t,e){super(t),this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return Io.tidy(()=>{let r=t instanceof ut?this.faceFeatureExtractor.forwardInput(t):t;return $e(r.as2D(r.shape[0],-1),e.fc)})}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Mo(t,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=br(t);return this.faceFeatureExtractor.loadFromWeightMap(e),Co(r)}extractParams(t){let e=this.getClassifierChannelsIn(),r=this.getClassifierChannelsOut(),n=r*e+r,s=t.slice(0,t.length-n),a=t.slice(t.length-n);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(a)}};var so=["neutral","happy","sad","angry","fearful","disgusted","surprised"],gt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);so.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return so.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var Oe=class extends _e{constructor(t=new xe){super("FaceExpressionNet",t)}forwardInput(t){return Te.tidy(()=>Te.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await D(t))}async predictExpressions(t){let e=await D(t),r=await this.forwardInput(e),n=await Promise.all(Te.unstack(r).map(async a=>{let i=a.dataSync();return a.dispose(),i}));r.dispose();let s=n.map(a=>new gt(a));return e.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function io(o){return o.expressions instanceof gt}function gr(o,t){return{...o,...{expressions:t}}}function Vn(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(s=>{let a=s instanceof gt?s:io(s)?s.expressions:void 0;if(!a)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let c=a.asSortedArray().filter(u=>u.probability>e),m=pt(s)?s.detection.box.bottomLeft:r||new _(0,0);new jt(c.map(u=>`${u.expression} (${Rt(u.probability)})`),m).draw(o)})}function qt(o){return pt(o)&&o.landmarks instanceof H&&o.unshiftedLandmarks instanceof H&&o.alignedRect instanceof M}function Gn(o){let t=c=>c*180/Math.PI,e=(c,m)=>Math.sqrt((c.x-m.x)**2+(c.y-m.y)**2),r={roll:void 0,pitch:void 0,yaw:void 0},n=(c,m,p)=>{let u=Math.floor(c.x-m.x),f=Math.floor(m.x-p.x);return u-f},s=(c,m)=>{let p=Math.hypot(m.x-c.x,m.y-c.y),u=m.y-c.y,f=Math.asin(u/p),l=t(f),b=Math.floor(90-l),T=m.x-c.x<0?-1:1;return b*T},a=(c,m,p)=>{let u=e(c,p),f=new _((c.x+p.x)/2,(c.y+p.y)/2),l=e(m,f),b=Math.atan(l/u),T=Math.floor(t(b)),h=f.y-m.y<0?-1:1;return T*h};if(!o||!o.positions||o.positions.length!==68)return r;let i=o.positions;return r.roll=s(i[27],i[66]),r.pitch=a(i[14],i[30],i[2]),r.yaw=n(i[14],i[33],i[2]),r}function Pe(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),n=r.align(),{imageDims:s}=o.detection,a=new M(o.detection.score,n.rescale(s.reverse()),s),i=Gn(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:a,angle:i}}}var xr=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:n,lineColor:s,pointSize:a,pointColor:i}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=n||1,this.pointSize=a||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=i||"rgba(255, 0, 255, 1)"}},vr=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new xr(e)}draw(t){let e=$(t),{drawLines:r,drawPoints:n,lineWidth:s,lineColor:a,pointSize:i,pointColor:c}=this.options;if(r&&this.faceLandmarks instanceof Yt&&(e.strokeStyle=a,e.lineWidth=s,lt(e,this.faceLandmarks.getJawOutline()),lt(e,this.faceLandmarks.getLeftEyeBrow()),lt(e,this.faceLandmarks.getRightEyeBrow()),lt(e,this.faceLandmarks.getNose()),lt(e,this.faceLandmarks.getLeftEye(),!0),lt(e,this.faceLandmarks.getRightEye(),!0),lt(e,this.faceLandmarks.getMouth(),!0)),n){e.strokeStyle=c,e.fillStyle=c;let m=p=>{e.beginPath(),e.arc(p.x,p.y,i,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(m)}}};function jn(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof H?r:qt(r)?r.landmarks:void 0;if(!n)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new vr(n).draw(o)})}var No="1.7.13";var ft=v(x());var N=v(x());function Jn(o,t){let e=he(o,t),r=be(o,t);function n(a,i,c){let m=r(a,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=e(a,i,1,`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function s(a,i){let c=r(a,a,`${i}/separable_conv0`),m=r(a,a,`${i}/separable_conv1`),p=r(a,a,`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:n,extractMainBlockParams:s}}function Lo(o,t){let e=[],{extractWeights:r,getRemainingWeights:n}=k(o),{extractConvParams:s,extractSeparableConvParams:a,extractReductionBlockParams:i,extractMainBlockParams:c}=Jn(r,e),m=s(3,32,3,"entry_flow/conv_in"),p=i(32,64,"entry_flow/reduction_block_0"),u=i(64,128,"entry_flow/reduction_block_1"),f={conv_in:m,reduction_block_0:p,reduction_block_1:u},l={};ct(t,0,1).forEach(g=>{l[`main_block_${g}`]=c(128,`middle_flow/main_block_${g}`)});let b=i(128,256,"exit_flow/reduction_block"),T=a(256,512,"exit_flow/separable_conv"),h={reduction_block:b,separable_conv:T};if(n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{paramMappings:e,params:{entry_flow:f,middle_flow:l,exit_flow:h}}}function qn(o,t){let e=Y(o,t),r=dr(e),n=ge(e);function s(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=r(`${i}/expansion_conv`);return{separable_conv0:c,separable_conv1:m,expansion_conv:p}}function a(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=n(`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:s,extractMainBlockParams:a}}function So(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:s,extractMainBlockParams:a}=qn(o,e),i=r("entry_flow/conv_in"),c=s("entry_flow/reduction_block_0"),m=s("entry_flow/reduction_block_1"),p={conv_in:i,reduction_block_0:c,reduction_block_1:m},u={};ct(t,0,1).forEach(T=>{u[`main_block_${T}`]=a(`middle_flow/main_block_${T}`)});let f=s("exit_flow/reduction_block"),l=n("exit_flow/separable_conv"),b={reduction_block:f,separable_conv:l};return W(o,e),{params:{entry_flow:p,middle_flow:u,exit_flow:b},paramMappings:e}}function Ao(o,t,e){return N.add(N.conv2d(o,t.filters,e,"same"),t.bias)}function mo(o,t,e=!0){let r=e?N.relu(o):o;return r=O(r,t.separable_conv0,[1,1]),r=O(N.relu(r),t.separable_conv1,[1,1]),r=N.maxPool(r,[3,3],[2,2],"same"),r=N.add(r,Ao(o,t.expansion_conv,[2,2])),r}function Zn(o,t){let e=O(N.relu(o),t.separable_conv0,[1,1]);return e=O(N.relu(e),t.separable_conv1,[1,1]),e=O(N.relu(e),t.separable_conv2,[1,1]),e=N.add(e,o),e}var yr=class extends A{constructor(t){super("TinyXception"),this._numMainBlocks=t}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyXception - load model before inference");return N.tidy(()=>{let r=N.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=N.relu(Ao(s,e.entry_flow.conv_in,[2,2]));return a=mo(a,e.entry_flow.reduction_block_0,!1),a=mo(a,e.entry_flow.reduction_block_1),ct(this._numMainBlocks,0,1).forEach(i=>{a=Zn(a,e.middle_flow[`main_block_${i}`])}),a=mo(a,e.exit_flow.reduction_block),a=N.relu(O(a,e.exit_flow.separable_conv,[1,1])),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(t){return So(t,this._numMainBlocks)}extractParams(t){return Lo(t,this._numMainBlocks)}};function Wo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),n=fr(e,t),s=n(512,1,"fc/age"),a=n(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:s,gender:a}}}}function ko(o){let t=[],e=Y(o,t);function r(s){let a=e(`${s}/weights`,2),i=e(`${s}/bias`,1);return{weights:a,bias:i}}let n={fc:{age:r("fc/age"),gender:r("fc/gender")}};return W(o,t),{params:n,paramMappings:t}}var _r=(e=>(e.FEMALE="female",e.MALE="male",e))(_r||{});var He=class extends A{constructor(t=new yr(2)){super("AgeGenderNet"),this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return ft.tidy(()=>{let r=t instanceof ut?this.faceFeatureExtractor.forwardInput(t):t,n=ft.avgPool(r,[7,7],[2,2],"valid").as2D(r.shape[0],-1),s=$e(n,e.fc.age).as1D(),a=$e(n,e.fc.gender);return{age:s,gender:a}})}forwardInput(t){return ft.tidy(()=>{let{age:e,gender:r}=this.runNet(t);return{age:e,gender:ft.softmax(r)}})}async forward(t){return this.forwardInput(await D(t))}async predictAgeAndGender(t){let e=await D(t),r=await this.forwardInput(e),n=ft.unstack(r.age),s=ft.unstack(r.gender),a=n.map((c,m)=>({ageTensor:c,genderTensor:s[m]})),i=await Promise.all(a.map(async({ageTensor:c,genderTensor:m})=>{let p=c.dataSync()[0],u=m.dataSync()[0],f=u>.5,l=f?"male":"female",b=f?u:1-u;return c.dispose(),m.dispose(),{age:p,gender:l,genderProbability:b}}));return r.age.dispose(),r.gender.dispose(),e.isBatchInput?i:i[0]}getDefaultModelName(){return"age_gender_model"}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Wo(t)}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=br(t);return this.faceFeatureExtractor.loadFromWeightMap(e),ko(r)}extractParams(t){let r=t.slice(0,t.length-1539),n=t.slice(t.length-1539);return this.faceFeatureExtractor.extractWeights(r),this.extractClassifierParams(n)}};var V=v(x());var we=class extends _e{postProcess(t,e,r){let n=r.map(({width:a,height:i})=>{let c=e/Math.max(i,a);return{width:a*c,height:i*c}}),s=n.length;return V.tidy(()=>{let a=(u,f)=>V.stack([V.fill([68],u,"float32"),V.fill([68],f,"float32")],1).as2D(1,136).as1D(),i=(u,f)=>{let{width:l,height:b}=n[u];return f(l,b)?Math.abs(l-b)/2:0},c=u=>i(u,(f,l)=>fi(u,(f,l)=>la(c(f),m(f))))).div(V.stack(Array.from(Array(s),(u,f)=>a(n[f].width,n[f].height))))})}forwardInput(t){return V.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,n])=>({height:r,width:n})))})}async forward(t){return this.forwardInput(await D(t))}async detectLandmarks(t){let e=await D(t),r=V.tidy(()=>V.unstack(this.forwardInput(e))),n=await Promise.all(r.map(async(s,a)=>{let i=Array.from(s.dataSync()),c=i.filter((p,u)=>er(u)),m=i.filter((p,u)=>!er(u));return new Yt(Array(68).fill(0).map((p,u)=>new _(c[u],m[u])),{height:e.getInputHeight(a),width:e.getInputWidth(a)})}));return r.forEach(s=>s.dispose()),e.isBatchInput?n:n[0]}getClassifierChannelsOut(){return 136}};var Zt=class extends we{constructor(t=new xe){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};var Fe=v(x());function Bo(o){let t=[],{extractDenseBlock3Params:e}=hr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return W(o,t),{params:r,paramMappings:t}}function Ro(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractDenseBlock3Params:n}=lr(e,t),s=n(3,32,"dense0",!0),a=n(32,64,"dense1"),i=n(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:a,dense2:i}}}var Tr=class extends A{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return Fe.tidy(()=>{let r=Fe.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=mr(s,e.dense0,!0);return a=mr(a,e.dense1),a=mr(a,e.dense2),a=Fe.avgPool(a,[14,14],[2,2],"valid"),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Bo(t)}extractParams(t){return Ro(t)}};var ze=class extends we{constructor(t=new Tr){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var po=class extends Zt{};var nt=v(x());var De=v(x());var Pr=v(x());function $o(o,t){return Pr.add(Pr.mul(o,t.weights),t.biases)}function uo(o,t,e,r,n="same"){let{filters:s,bias:a}=t.conv,i=De.conv2d(o,s,e,n);return i=De.add(i,a),i=$o(i,t.scale),r?De.relu(i):i}function Oo(o,t){return uo(o,t,[1,1],!0)}function fo(o,t){return uo(o,t,[1,1],!1)}function wr(o,t){return uo(o,t,[2,2],!0,"valid")}var G=v(x());function Kn(o,t){function e(i,c,m){let p=o(i),u=p.length/(c*m*m);if($r(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${p.length}, numFilters: ${c}, filterSize: ${m}`);return G.tidy(()=>G.transpose(G.tensor4d(p,[c,u,m,m]),[2,3,1,0]))}function r(i,c,m,p){let u=e(i,c,m),f=G.tensor1d(o(c));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:u,bias:f}}function n(i,c){let m=G.tensor1d(o(i)),p=G.tensor1d(o(i));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:m,biases:p}}function s(i,c,m,p){let u=r(i,c,m,`${p}/conv`),f=n(c,`${p}/scale`);return{conv:u,scale:f}}function a(i,c,m,p,u=!1){let f=s((u?.5:1)*i,c,m,`${p}/conv1`),l=s(i,c,m,`${p}/conv2`);return{conv1:f,conv2:l}}return{extractConvLayerParams:s,extractResidualLayerParams:a}}function Ho(o){let{extractWeights:t,getRemainingWeights:e}=k(o),r=[],{extractConvLayerParams:n,extractResidualLayerParams:s}=Kn(t,r),a=n(4704,32,7,"conv32_down"),i=s(9216,32,3,"conv32_1"),c=s(9216,32,3,"conv32_2"),m=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),u=s(36864,64,3,"conv64_1"),f=s(36864,64,3,"conv64_2"),l=s(36864,64,3,"conv64_3"),b=s(147456,128,3,"conv128_down",!0),T=s(147456,128,3,"conv128_1"),h=s(147456,128,3,"conv128_2"),g=s(589824,256,3,"conv256_down",!0),P=s(589824,256,3,"conv256_1"),y=s(589824,256,3,"conv256_2"),I=s(589824,256,3,"conv256_down_out"),j=G.tidy(()=>G.transpose(G.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:a,conv32_1:i,conv32_2:c,conv32_3:m,conv64_down:p,conv64_1:u,conv64_2:f,conv64_3:l,conv128_down:b,conv128_1:T,conv128_2:h,conv256_down:g,conv256_1:P,conv256_2:y,conv256_down_out:I,fc:j},paramMappings:r}}function Qn(o,t){let e=Y(o,t);function r(a){let i=e(`${a}/scale/weights`,1),c=e(`${a}/scale/biases`,1);return{weights:i,biases:c}}function n(a){let i=e(`${a}/conv/filters`,4),c=e(`${a}/conv/bias`,1),m=r(a);return{conv:{filters:i,bias:c},scale:m}}function s(a){return{conv1:n(`${a}/conv1`),conv2:n(`${a}/conv2`)}}return{extractConvLayerParams:n,extractResidualLayerParams:s}}function zo(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Qn(o,t),n=e("conv32_down"),s=r("conv32_1"),a=r("conv32_2"),i=r("conv32_3"),c=r("conv64_down"),m=r("conv64_1"),p=r("conv64_2"),u=r("conv64_3"),f=r("conv128_down"),l=r("conv128_1"),b=r("conv128_2"),T=r("conv256_down"),h=r("conv256_1"),g=r("conv256_2"),P=r("conv256_down_out"),{fc:y}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!Rr(y))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${y}`);let I={conv32_down:n,conv32_1:s,conv32_2:a,conv32_3:i,conv64_down:c,conv64_1:m,conv64_2:p,conv64_3:u,conv128_down:f,conv128_1:l,conv128_2:b,conv256_down:T,conv256_1:h,conv256_2:g,conv256_down_out:P,fc:y};return W(o,t),{params:I,paramMappings:t}}var B=v(x());function ot(o,t){let e=Oo(o,t.conv1);return e=fo(e,t.conv2),e=B.add(e,o),e=B.relu(e),e}function Ye(o,t){let e=wr(o,t.conv1);e=fo(e,t.conv2);let r=B.avgPool(o,2,2,"valid"),n=B.zeros(r.shape),s=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let i=[...e.shape];i[1]=1;let c=B.zeros(i);e=B.concat([e,c],1);let m=[...e.shape];m[2]=1;let p=B.zeros(m);e=B.concat([e,p],2)}return r=s?B.concat([r,n],3):r,e=B.add(r,e),e=B.relu(e),e}var Kt=class extends A{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return nt.tidy(()=>{let r=nt.cast(t.toBatchTensor(150,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=wr(s,e.conv32_down);a=nt.maxPool(a,3,2,"valid"),a=ot(a,e.conv32_1),a=ot(a,e.conv32_2),a=ot(a,e.conv32_3),a=Ye(a,e.conv64_down),a=ot(a,e.conv64_1),a=ot(a,e.conv64_2),a=ot(a,e.conv64_3),a=Ye(a,e.conv128_down),a=ot(a,e.conv128_1),a=ot(a,e.conv128_2),a=Ye(a,e.conv256_down),a=ot(a,e.conv256_1),a=ot(a,e.conv256_2),a=Ye(a,e.conv256_down_out);let i=a.mean([1,2]);return nt.matMul(i,e.fc)})}async forward(t){return this.forwardInput(await D(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(a=>a<=0))return new Float32Array(128);let e=await D(t),r=nt.tidy(()=>nt.unstack(this.forwardInput(e))),n=await Promise.all(r.map(a=>a.data()));return r.forEach(a=>a.dispose()),e.isBatchInput?n:n[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return zo(t)}extractParams(t){return Ho(t)}};function ta(o){let t=new Kt;return t.extractWeights(o),t}function Fr(o,t){return{...o,...{descriptor:t}}}function ea(o){return typeof o.age=="number"}function Dr(o,t){return{...o,...{age:t}}}function ra(o){return(o.gender==="male"||o.gender==="female")&&ce(o.genderProbability)}function Er(o,t,e){return{...o,...{gender:t,genderProbability:e}}}var Nt=v(x());var at=v(x());function oa(o,t){function e(c,m){let p=at.tensor4d(o(9*c),[3,3,c,1]),u=at.tensor1d(o(c)),f=at.tensor1d(o(c)),l=at.tensor1d(o(c)),b=at.tensor1d(o(c));return t.push({paramPath:`${m}/filters`},{paramPath:`${m}/batch_norm_scale`},{paramPath:`${m}/batch_norm_offset`},{paramPath:`${m}/batch_norm_mean`},{paramPath:`${m}/batch_norm_variance`}),{filters:p,batch_norm_scale:u,batch_norm_offset:f,batch_norm_mean:l,batch_norm_variance:b}}function r(c,m,p,u,f){let l=at.tensor4d(o(c*m*p*p),[p,p,c,m]),b=at.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/${f?"batch_norm_offset":"bias"}`}),{filters:l,bias:b}}function n(c,m,p,u){let{filters:f,bias:l}=r(c,m,p,u,!0);return{filters:f,batch_norm_offset:l}}function s(c,m,p){let u=e(c,`${p}/depthwise_conv`),f=n(c,m,1,`${p}/pointwise_conv`);return{depthwise_conv:u,pointwise_conv:f}}function a(){let c=n(3,32,3,"mobilenetv1/conv_0"),m=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),u=s(128,128,"mobilenetv1/conv_3"),f=s(128,256,"mobilenetv1/conv_4"),l=s(256,256,"mobilenetv1/conv_5"),b=s(256,512,"mobilenetv1/conv_6"),T=s(512,512,"mobilenetv1/conv_7"),h=s(512,512,"mobilenetv1/conv_8"),g=s(512,512,"mobilenetv1/conv_9"),P=s(512,512,"mobilenetv1/conv_10"),y=s(512,512,"mobilenetv1/conv_11"),I=s(512,1024,"mobilenetv1/conv_12"),j=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:b,conv_7:T,conv_8:h,conv_9:g,conv_10:P,conv_11:y,conv_12:I,conv_13:j}}function i(){let c=n(1024,256,1,"prediction_layer/conv_0"),m=n(256,512,3,"prediction_layer/conv_1"),p=n(512,128,1,"prediction_layer/conv_2"),u=n(128,256,3,"prediction_layer/conv_3"),f=n(256,128,1,"prediction_layer/conv_4"),l=n(128,256,3,"prediction_layer/conv_5"),b=n(256,64,1,"prediction_layer/conv_6"),T=n(64,128,3,"prediction_layer/conv_7"),h=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),g=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),P=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),y=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),I=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),j=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),tt=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),it=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),q=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),Pt=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),wt=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),Ft=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:b,conv_7:T,box_predictor_0:{box_encoding_predictor:h,class_predictor:g},box_predictor_1:{box_encoding_predictor:P,class_predictor:y},box_predictor_2:{box_encoding_predictor:I,class_predictor:j},box_predictor_3:{box_encoding_predictor:tt,class_predictor:it},box_predictor_4:{box_encoding_predictor:q,class_predictor:Pt},box_predictor_5:{box_encoding_predictor:wt,class_predictor:Ft}}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:i}}function Yo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractMobilenetV1Params:n,extractPredictionLayerParams:s}=oa(e,t),a=n(),i=s(),m={extra_dim:at.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:a,prediction_layer:i,output_layer:m},paramMappings:t}}function na(o,t){let e=Y(o,t);function r(m,p,u){let f=e(`${m}/Conv2d_${p}_pointwise/weights`,4,`${u}/filters`),l=e(`${m}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${u}/batch_norm_offset`);return{filters:f,batch_norm_offset:l}}function n(m){let p=`mobilenetv1/conv_${m}`,u=`MobilenetV1/Conv2d_${m}_depthwise`,f=`${p}/depthwise_conv`,l=`${p}/pointwise_conv`,b=e(`${u}/depthwise_weights`,4,`${f}/filters`),T=e(`${u}/BatchNorm/gamma`,1,`${f}/batch_norm_scale`),h=e(`${u}/BatchNorm/beta`,1,`${f}/batch_norm_offset`),g=e(`${u}/BatchNorm/moving_mean`,1,`${f}/batch_norm_mean`),P=e(`${u}/BatchNorm/moving_variance`,1,`${f}/batch_norm_variance`);return{depthwise_conv:{filters:b,batch_norm_scale:T,batch_norm_offset:h,batch_norm_mean:g,batch_norm_variance:P},pointwise_conv:r("MobilenetV1",m,l)}}function s(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:n(1),conv_2:n(2),conv_3:n(3),conv_4:n(4),conv_5:n(5),conv_6:n(6),conv_7:n(7),conv_8:n(8),conv_9:n(9),conv_10:n(10),conv_11:n(11),conv_12:n(12),conv_13:n(13)}}function a(m,p){let u=e(`${m}/weights`,4,`${p}/filters`),f=e(`${m}/biases`,1,`${p}/bias`);return{filters:u,bias:f}}function i(m){let p=a(`Prediction/BoxPredictor_${m}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${m}/box_encoding_predictor`),u=a(`Prediction/BoxPredictor_${m}/ClassPredictor`,`prediction_layer/box_predictor_${m}/class_predictor`);return{box_encoding_predictor:p,class_predictor:u}}function c(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:i(0),box_predictor_1:i(1),box_predictor_2:i(2),box_predictor_3:i(3),box_predictor_4:i(4),box_predictor_5:i(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:c}}function Vo(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=na(o,t),n=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!dt(n))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${n}`);let s={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:n}};return W(o,t),{params:s,paramMappings:t}}var xt=v(x());var Ct=v(x());function Z(o,t,e){return Ct.tidy(()=>{let r=Ct.conv2d(o,t.filters,e,"same");return r=Ct.add(r,t.batch_norm_offset),Ct.clipByValue(r,0,6)})}var aa=.0010000000474974513;function sa(o,t,e){return xt.tidy(()=>{let r=xt.depthwiseConv2d(o,t.filters,e,"same");return r=xt.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,aa),xt.clipByValue(r,0,6)})}function ia(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function Go(o,t){return xt.tidy(()=>{let e,r=Z(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,a)=>{let i=a+1,c=ia(i);r=sa(r,s.depthwise_conv,c),r=Z(r,s.pointwise_conv,[1,1]),i===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function ca(o,t,e){let r=o.arraySync(),n=Math.min(r[t][0],r[t][2]),s=Math.min(r[t][1],r[t][3]),a=Math.max(r[t][0],r[t][2]),i=Math.max(r[t][1],r[t][3]),c=Math.min(r[e][0],r[e][2]),m=Math.min(r[e][1],r[e][3]),p=Math.max(r[e][0],r[e][2]),u=Math.max(r[e][1],r[e][3]),f=(a-n)*(i-s),l=(p-c)*(u-m);if(f<=0||l<=0)return 0;let b=Math.max(n,c),T=Math.max(s,m),h=Math.min(a,p),g=Math.min(i,u),P=Math.max(h-b,0)*Math.max(g-T,0);return P/(f+l-P)}function jo(o,t,e,r,n){let s=o.shape[0],a=Math.min(e,s),i=t.map((p,u)=>({score:p,boxIndex:u})).filter(p=>p.score>n).sort((p,u)=>u.score-p.score),c=p=>p<=r?1:0,m=[];return i.forEach(p=>{if(m.length>=a)return;let u=p.score;for(let f=m.length-1;f>=0;--f){let l=ca(o,p.boxIndex,m[f]);if(l!==0&&(p.score*=c(l),p.score<=n))break}u===p.score&&m.push(p.boxIndex)}),m}var d=v(x());function ma(o){let t=d.unstack(d.transpose(o,[1,0])),e=[d.sub(t[2],t[0]),d.sub(t[3],t[1])],r=[d.add(t[0],d.div(e[0],2)),d.add(t[1],d.div(e[1],2))];return{sizes:e,centers:r}}function pa(o,t){let{sizes:e,centers:r}=ma(o),n=d.unstack(d.transpose(t,[1,0])),s=d.div(d.mul(d.exp(d.div(n[2],5)),e[0]),2),a=d.add(d.mul(d.div(n[0],10),e[0]),r[0]),i=d.div(d.mul(d.exp(d.div(n[3],5)),e[1]),2),c=d.add(d.mul(d.div(n[1],10),e[1]),r[1]);return d.transpose(d.stack([d.sub(a,s),d.sub(c,i),d.add(a,s),d.add(c,i)]),[1,0])}function Uo(o,t,e){return d.tidy(()=>{let r=o.shape[0],n=pa(d.reshape(d.tile(e.extra_dim,[r,1,1]),[-1,4]),d.reshape(o,[-1,4]));n=d.reshape(n,[r,n.shape[0]/r,4]);let s=d.sigmoid(d.slice(t,[0,0,1],[-1,-1,-1])),a=d.slice(s,[0,0,0],[-1,-1,1]);a=d.reshape(a,[r,a.shape[1]]);let i=d.unstack(n),c=d.unstack(a);return{boxes:i,scores:c}})}var Ge=v(x());var Ve=v(x());function Qt(o,t){return Ve.tidy(()=>{let e=o.shape[0],r=Ve.reshape(Jt(o,t.box_encoding_predictor),[e,-1,1,4]),n=Ve.reshape(Jt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:n}})}function Xo(o,t,e){return Ge.tidy(()=>{let r=Z(o,e.conv_0,[1,1]),n=Z(r,e.conv_1,[2,2]),s=Z(n,e.conv_2,[1,1]),a=Z(s,e.conv_3,[2,2]),i=Z(a,e.conv_4,[1,1]),c=Z(i,e.conv_5,[2,2]),m=Z(c,e.conv_6,[1,1]),p=Z(m,e.conv_7,[2,2]),u=Qt(t,e.box_predictor_0),f=Qt(o,e.box_predictor_1),l=Qt(n,e.box_predictor_2),b=Qt(a,e.box_predictor_3),T=Qt(c,e.box_predictor_4),h=Qt(p,e.box_predictor_5),g=Ge.concat([u.boxPredictionEncoding,f.boxPredictionEncoding,l.boxPredictionEncoding,b.boxPredictionEncoding,T.boxPredictionEncoding,h.boxPredictionEncoding],1),P=Ge.concat([u.classPrediction,f.classPrediction,l.classPrediction,b.classPrediction,T.classPrediction,h.classPrediction],1);return{boxPredictions:g,classPredictions:P}})}var X=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var It=class extends A{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return Nt.tidy(()=>{let r=Nt.cast(t.toBatchTensor(512,!1),"float32"),n=Nt.sub(Nt.div(r,127.5),1),s=Go(n,e.mobilenetv1),{boxPredictions:a,classPredictions:i}=Xo(s.out,s.conv11,e.prediction_layer);return Uo(a,i,e.output_layer)})}async forward(t){return this.forwardInput(await D(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:n}=new X(e),s=await D(t),{boxes:a,scores:i}=this.forwardInput(s),c=a[0],m=i[0];for(let y=1;y{let[I,j]=[Math.max(0,g[y][0]),Math.min(1,g[y][2])].map(q=>q*h),[tt,it]=[Math.max(0,g[y][1]),Math.min(1,g[y][3])].map(q=>q*T);return new M(p[y],new zt(tt,I,it-tt,j-I),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return c.dispose(),m.dispose(),P}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Vo(t)}extractParams(t){return Yo(t)}};function Jo(o){let t=new It;return t.extractWeights(o),t}function ua(o){return Jo(o)}var lo=class extends It{};var qo=.4,Zo=[new _(.738768,.874946),new _(2.42204,2.65704),new _(4.30971,7.04493),new _(10.246,4.59428),new _(12.6868,11.8741)],Ko=[new _(1.603231,2.094468),new _(6.041143,7.080126),new _(2.882459,3.518061),new _(4.266906,5.178857),new _(9.041765,10.66308)],Qo=[117.001,114.697,97.404],tn="tiny_yolov2_model",en="tiny_yolov2_separable_conv_model";var C=v(x());var Mr=o=>typeof o=="number";function ho(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Mr(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Mr(t.x)&&Mr(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Mr)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}var Q=v(x());var K=v(x());function Ee(o){return K.tidy(()=>{let t=K.mul(o,K.scalar(.10000000149011612));return K.add(K.relu(K.sub(o,t)),t)})}function vt(o,t){return Q.tidy(()=>{let e=Q.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Q.conv2d(e,t.conv.filters,[1,1],"valid"),e=Q.sub(e,t.bn.sub),e=Q.mul(e,t.bn.truediv),e=Q.add(e,t.conv.bias),Ee(e)})}var Lt=v(x());function yt(o,t){return Lt.tidy(()=>{let e=Lt.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Lt.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=Lt.add(e,t.bias),Ee(e)})}var bo=v(x());function fa(o,t){let e=he(o,t);function r(a,i){let c=bo.tensor1d(o(a)),m=bo.tensor1d(o(a));return t.push({paramPath:`${i}/sub`},{paramPath:`${i}/truediv`}),{sub:c,truediv:m}}function n(a,i,c){let m=e(a,i,3,`${c}/conv`),p=r(i,`${c}/bn`);return{conv:m,bn:p}}let s=be(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:n,extractSeparableConvParams:s}}function rn(o,t,e,r){let{extractWeights:n,getRemainingWeights:s}=k(o),a=[],{extractConvParams:i,extractConvWithBatchNormParams:c,extractSeparableConvParams:m}=fa(n,a),p;if(t.withSeparableConvs){let[u,f,l,b,T,h,g,P,y]=r,I=t.isFirstLayerConv2d?i(u,f,3,"conv0"):m(u,f,"conv0"),j=m(f,l,"conv1"),tt=m(l,b,"conv2"),it=m(b,T,"conv3"),q=m(T,h,"conv4"),Pt=m(h,g,"conv5"),wt=P?m(g,P,"conv6"):void 0,Ft=y?m(P,y,"conv7"):void 0,ie=i(y||P||g,5*e,1,"conv8");p={conv0:I,conv1:j,conv2:tt,conv3:it,conv4:q,conv5:Pt,conv6:wt,conv7:Ft,conv8:ie}}else{let[u,f,l,b,T,h,g,P,y]=r,I=c(u,f,"conv0"),j=c(f,l,"conv1"),tt=c(l,b,"conv2"),it=c(b,T,"conv3"),q=c(T,h,"conv4"),Pt=c(h,g,"conv5"),wt=c(g,P,"conv6"),Ft=c(P,y,"conv7"),ie=i(y,5*e,1,"conv8");p={conv0:I,conv1:j,conv2:tt,conv3:it,conv4:q,conv5:Pt,conv6:wt,conv7:Ft,conv8:ie}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:a}}function la(o,t){let e=Y(o,t);function r(i){let c=e(`${i}/sub`,1),m=e(`${i}/truediv`,1);return{sub:c,truediv:m}}function n(i){let c=e(`${i}/filters`,4),m=e(`${i}/bias`,1);return{filters:c,bias:m}}function s(i){let c=n(`${i}/conv`),m=r(`${i}/bn`);return{conv:c,bn:m}}let a=ge(e);return{extractConvParams:n,extractConvWithBatchNormParams:s,extractSeparableConvParams:a}}function on(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:n,extractSeparableConvParams:s}=la(o,e),a;if(t.withSeparableConvs){let i=t.filterSizes&&t.filterSizes.length||9;a={conv0:t.isFirstLayerConv2d?r("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:i>7?s("conv6"):void 0,conv7:i>8?s("conv7"):void 0,conv8:r("conv8")}}else a={conv0:n("conv0"),conv1:n("conv1"),conv2:n("conv2"),conv3:n("conv3"),conv4:n("conv4"),conv5:n("conv5"),conv6:n("conv6"),conv7:n("conv7"),conv8:r("conv8")};return W(o,e),{params:a,paramMappings:e}}var st=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var Cr=class Cr extends A{constructor(t){super("TinyYolov2"),ho(t),this._config=t}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(t,e){let r=vt(t,e.conv0);return r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv1),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv2),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv3),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv4),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv5),r=C.maxPool(r,[2,2],[1,1],"same"),r=vt(r,e.conv6),r=vt(r,e.conv7),Jt(r,e.conv8,"valid",!1)}runMobilenet(t,e){let r=this.config.isFirstLayerConv2d?Ee(Jt(t,e.conv0,"valid",!1)):yt(t,e.conv0);return r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv1),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv2),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv3),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv4),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv5),r=C.maxPool(r,[2,2],[1,1],"same"),r=e.conv6?yt(r,e.conv6):r,r=e.conv7?yt(r,e.conv7):r,Jt(r,e.conv8,"valid",!1)}forwardInput(t,e){let{params:r}=this;if(!r)throw new Error("TinyYolov2 - load model before inference");return C.tidy(()=>{let n=C.cast(t.toBatchTensor(e,!1),"float32");return n=this.config.meanRgb?rt(n,this.config.meanRgb):n,n=n.div(255),this.config.withSeparableConvs?this.runMobilenet(n,r):this.runTinyYolov2(n,r)})}async forward(t,e){return this.forwardInput(await D(t),e)}async detect(t,e={}){let{inputSize:r,scoreThreshold:n}=new st(e),s=await D(t),a=await this.forwardInput(s,r),i=C.tidy(()=>C.unstack(a)[0].expandDims()),c={width:s.getInputWidth(0),height:s.getInputHeight(0)},m=await this.extractBoxes(i,s.getReshapedInputDimensions(0),n);a.dispose(),i.dispose();let p=m.map(h=>h.box),u=m.map(h=>h.score),f=m.map(h=>h.classScore),l=m.map(h=>this.config.classes[h.label]);return Vr(p.map(h=>h.rescale(r)),u,this.config.iouThreshold,!0).map(h=>new Ht(u[h],f[h],l[h],p[h],c))}getDefaultModelName(){return""}extractParamsFromWeightMap(t){return on(t,this.config)}extractParams(t){let e=this.config.filterSizes||Cr.DEFAULT_FILTER_SIZES,r=e?e.length:void 0;if(r!==7&&r!==8&&r!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${r} filterSizes in config`);return rn(t,this.config,this.boxEncodingSize,e)}async extractBoxes(t,e,r){let{width:n,height:s}=e,a=Math.max(n,s),i=a/n,c=a/s,m=t.shape[1],p=this.config.anchors.length,[u,f,l]=C.tidy(()=>{let g=t.reshape([m,m,p,this.boxEncodingSize]),P=g.slice([0,0,0,0],[m,m,p,4]),y=g.slice([0,0,0,4],[m,m,p,1]),I=this.withClassScores?C.softmax(g.slice([0,0,0,5],[m,m,p,this.config.classes.length]),3):C.scalar(0);return[P,y,I]}),b=[],T=await f.array(),h=await u.array();for(let g=0;gr){let j=(P+Ne(h[g][P][y][0]))/m*i,tt=(g+Ne(h[g][P][y][1]))/m*c,it=Math.exp(h[g][P][y][2])*this.config.anchors[y].x/m*i,q=Math.exp(h[g][P][y][3])*this.config.anchors[y].y/m*c,Pt=j-it/2,wt=tt-q/2,Ft={row:g,col:P,anchor:y},{classScore:ie,label:yo}=this.withClassScores?await this.extractPredictedClass(l,Ft):{classScore:1,label:0};b.push({box:new Ot(Pt,wt,Pt+it,wt+q),score:I,classScore:I*ie,label:yo,...Ft})}}return u.dispose(),f.dispose(),l.dispose(),b}async extractPredictedClass(t,e){let{row:r,col:n,anchor:s}=e,a=await t.array();return Array(this.config.classes.length).fill(0).map((i,c)=>a[r][n][s][c]).map((i,c)=>({classScore:i,label:c})).reduce((i,c)=>i.classScore>c.classScore?i:c)}};Cr.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Me=Cr;var te=class extends Me{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:qo,classes:["face"],...t?{anchors:Ko,meanRgb:Qo}:{anchors:Zo,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?en:tn}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function da(o,t=!0){let e=new te(t);return e.extractWeights(o),e}var je=class extends st{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var J=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};var Xe=v(x());var go=v(x());async function ee(o,t,e,r,n=({alignedRect:s})=>s){let s=o.map(c=>qt(c)?n(c):c.detection),a=r||(t instanceof go.Tensor?await le(t,s):await fe(t,s)),i=await e(a);return a.forEach(c=>c instanceof go.Tensor&&c.dispose()),i}async function Ce(o,t,e,r,n){return ee([o],t,async s=>e(s[0]),r,n)}var nn=.4,an=[new _(1.603231,2.094468),new _(6.041143,7.080126),new _(2.882459,3.518061),new _(4.266906,5.178857),new _(9.041765,10.66308)],sn=[117.001,114.697,97.404];var re=class extends Me{constructor(){let t={withSeparableConvs:!0,iouThreshold:nn,classes:["face"],anchors:an,meanRgb:sn,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var F={ssdMobilenetv1:new It,tinyFaceDetector:new re,tinyYolov2:new te,faceLandmark68Net:new Zt,faceLandmark68TinyNet:new ze,faceRecognitionNet:new Kt,faceExpressionNet:new Oe,ageGenderNet:new He},cn=(o,t)=>F.ssdMobilenetv1.locateFaces(o,t),ha=(o,t)=>F.tinyFaceDetector.locateFaces(o,t),ba=(o,t)=>F.tinyYolov2.locateFaces(o,t),mn=o=>F.faceLandmark68Net.detectLandmarks(o),ga=o=>F.faceLandmark68TinyNet.detectLandmarks(o),xa=o=>F.faceRecognitionNet.computeFaceDescriptor(o),va=o=>F.faceExpressionNet.predictExpressions(o),ya=o=>F.ageGenderNet.predictAgeAndGender(o),pn=o=>F.ssdMobilenetv1.load(o),_a=o=>F.tinyFaceDetector.load(o),Ta=o=>F.tinyYolov2.load(o),Pa=o=>F.faceLandmark68Net.load(o),wa=o=>F.faceLandmark68TinyNet.load(o),Fa=o=>F.faceRecognitionNet.load(o),Da=o=>F.faceExpressionNet.load(o),Ea=o=>F.ageGenderNet.load(o),Ma=pn,Ca=cn,Ia=mn;var Ir=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},oe=class extends Ir{async run(){let t=await this.parentTask,e=await ee(t,this.input,async r=>Promise.all(r.map(n=>F.faceExpressionNet.predictExpressions(n))),this.extractedFaces);return t.map((r,n)=>gr(r,e[n]))}withAgeAndGender(){return new ae(this,this.input)}},ne=class extends Ir{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>F.faceExpressionNet.predictExpressions(r),this.extractedFaces);return gr(t,e)}withAgeAndGender(){return new se(this,this.input)}},St=class extends oe{withAgeAndGender(){return new Wt(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},At=class extends ne{withAgeAndGender(){return new kt(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Nr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ae=class extends Nr{async run(){let t=await this.parentTask,e=await ee(t,this.input,async r=>Promise.all(r.map(n=>F.ageGenderNet.predictAgeAndGender(n))),this.extractedFaces);return t.map((r,n)=>{let{age:s,gender:a,genderProbability:i}=e[n];return Dr(Er(r,a,i),s)})}withFaceExpressions(){return new oe(this,this.input)}},se=class extends Nr{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:n}=await Ce(t,this.input,s=>F.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return Dr(Er(t,r,n),e)}withFaceExpressions(){return new ne(this,this.input)}},Wt=class extends ae{withFaceExpressions(){return new St(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},kt=class extends se{withFaceExpressions(){return new At(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Ue=class extends J{constructor(e,r){super();this.parentTask=e;this.input=r}},_t=class extends Ue{async run(){let t=await this.parentTask;return(await ee(t,this.input,r=>Promise.all(r.map(n=>F.faceRecognitionNet.computeFaceDescriptor(n))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,n)=>Fr(t[n],r))}withFaceExpressions(){return new St(this,this.input)}withAgeAndGender(){return new Wt(this,this.input)}},Tt=class extends Ue{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>F.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return Fr(t,e)}withFaceExpressions(){return new At(this,this.input)}withAgeAndGender(){return new kt(this,this.input)}};var Je=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?F.faceLandmark68TinyNet:F.faceLandmark68Net}},qe=class extends Je{async run(){let t=await this.parentTask,e=t.map(a=>a.detection),r=this.input instanceof Xe.Tensor?await le(this.input,e):await fe(this.input,e),n=await Promise.all(r.map(a=>this.landmarkNet.detectLandmarks(a)));return r.forEach(a=>a instanceof Xe.Tensor&&a.dispose()),t.filter((a,i)=>n[i]).map((a,i)=>Pe(a,n[i]))}withFaceExpressions(){return new St(this,this.input)}withAgeAndGender(){return new Wt(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},Ze=class extends Je{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof Xe.Tensor?await le(this.input,[e]):await fe(this.input,[e]),n=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(s=>s instanceof Xe.Tensor&&s.dispose()),Pe(t,n)}withFaceExpressions(){return new At(this,this.input)}withAgeAndGender(){return new kt(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Ke=class extends J{constructor(e,r=new X){super();this.input=e;this.options=r}},Ie=class extends Ke{async run(){let{input:t,options:e}=this,r;if(e instanceof je)r=F.tinyFaceDetector.locateFaces(t,e);else if(e instanceof X)r=F.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof st)r=F.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(n=>Vt({},n)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new qe(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new oe(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new ae(this.runAndExtendWithFaceDetections(),this.input)}},Qe=class extends Ke{async run(){let t=await new Ie(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?Vt({},e):void 0)})}withFaceLandmarks(t=!1){return new Ze(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new ne(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new se(this.runAndExtendWithFaceDetection(),this.input)}};function Na(o,t=new X){return new Qe(o,t)}function Lr(o,t=new X){return new Ie(o,t)}async function un(o,t){return Lr(o,new X(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function La(o,t={}){return Lr(o,new st(t)).withFaceLandmarks().withFaceDescriptors()}var Sa=un;function xo(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((n,s)=>n-r[s]).reduce((n,s)=>n+s*s,0))}var vo=class o{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let n=1,s=()=>`person ${n++}`;this._labeledDescriptors=r.map(a=>{if(a instanceof Et)return a;if(a instanceof Float32Array)return new Et(s(),[a]);if(a.descriptor&&a.descriptor instanceof Float32Array)return new Et(s(),[a.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>xo(r,t)).reduce((r,n)=>r+n,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new me(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>Et.fromJSON(r));return new o(e,t.distanceThreshold)}};function Aa(o){let t=new re;return t.extractWeights(o),t}function fn(o,t){let{width:e,height:r}=new R(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(n=>fn(n,{width:e,height:r}));if(qt(o)){let n=o.detection.forSize(e,r),s=o.unshiftedLandmarks.forSize(n.box.width,n.box.height);return Pe(Vt(o,n),s)}return pt(o)?Vt(o,o.detection.forSize(e,r)):o instanceof H||o instanceof M?o.forSize(e,r):o}var ka=No;0&&(module.exports={AgeGenderNet,BoundingBox,Box,ComposableTask,ComputeAllFaceDescriptorsTask,ComputeFaceDescriptorsTaskBase,ComputeSingleFaceDescriptorTask,DetectAllFaceLandmarksTask,DetectAllFacesTask,DetectFaceLandmarksTaskBase,DetectFacesTaskBase,DetectSingleFaceLandmarksTask,DetectSingleFaceTask,Dimensions,FACE_EXPRESSION_LABELS,FaceDetection,FaceDetectionNet,FaceExpressionNet,FaceExpressions,FaceLandmark68Net,FaceLandmark68TinyNet,FaceLandmarkNet,FaceLandmarks,FaceLandmarks5,FaceLandmarks68,FaceMatch,FaceMatcher,FaceRecognitionNet,Gender,LabeledBox,LabeledFaceDescriptors,NetInput,NeuralNetwork,ObjectDetection,Point,PredictedBox,Rect,SsdMobilenetv1,SsdMobilenetv1Options,TinyFaceDetector,TinyFaceDetectorOptions,TinyYolov2,TinyYolov2Options,allFaces,allFacesSsdMobilenetv1,allFacesTinyYolov2,awaitMediaLoaded,bufferToImage,computeFaceDescriptor,createCanvas,createCanvasFromMedia,createFaceDetectionNet,createFaceRecognitionNet,createSsdMobilenetv1,createTinyFaceDetector,createTinyYolov2,detectAllFaces,detectFaceLandmarks,detectFaceLandmarksTiny,detectLandmarks,detectSingleFace,draw,env,euclideanDistance,extendWithAge,extendWithFaceDescriptor,extendWithFaceDetection,extendWithFaceExpressions,extendWithFaceLandmarks,extendWithGender,extractFaceTensors,extractFaces,fetchImage,fetchJson,fetchNetWeights,fetchOrThrow,fetchVideo,getContext2dOrThrow,getMediaDimensions,imageTensorToCanvas,imageToSquare,inverseSigmoid,iou,isMediaElement,isMediaLoaded,isWithAge,isWithFaceDetection,isWithFaceExpressions,isWithFaceLandmarks,isWithGender,loadAgeGenderModel,loadFaceDetectionModel,loadFaceExpressionModel,loadFaceLandmarkModel,loadFaceLandmarkTinyModel,loadFaceRecognitionModel,loadSsdMobilenetv1Model,loadTinyFaceDetectorModel,loadTinyYolov2Model,loadWeightMap,locateFaces,matchDimensions,minBbox,nets,nonMaxSuppression,normalize,padToSquare,predictAgeAndGender,recognizeFaceExpressions,resizeResults,resolveInput,shuffleArray,sigmoid,ssdMobilenetv1,tf,tinyFaceDetector,tinyYolov2,toNetInput,utils,validateConfig,version}); +"use strict";var ln=Object.create;var tr=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var hn=Object.getOwnPropertyNames;var bn=Object.getPrototypeOf,gn=Object.prototype.hasOwnProperty;var xn=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),Sr=(o,t)=>{for(var e in t)tr(o,e,{get:t[e],enumerable:!0})},_o=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of hn(t))!gn.call(o,n)&&n!==e&&tr(o,n,{get:()=>t[n],enumerable:!(r=dn(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?ln(bn(o)):{},_o(t||!o||!o.__esModule?tr(e,"default",{value:o,enumerable:!0}):e,o)),vn=o=>_o(tr({},"__esModule",{value:!0}),o);var x=xn((Ya,Br)=>{"use strict";var Wr=Object.defineProperty,yn=Object.getOwnPropertyDescriptor,_n=Object.getOwnPropertyNames,Tn=Object.prototype.hasOwnProperty,Pn=(o,t)=>{for(var e in t)Wr(o,e,{get:t[e],enumerable:!0})},Ar=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of _n(t))!Tn.call(o,n)&&n!==e&&Wr(o,n,{get:()=>t[n],enumerable:!(r=yn(t,n))||r.enumerable});return o},wn=(o,t,e)=>(Ar(o,t,"default"),e&&Ar(e,t,"default")),Fn=o=>Ar(Wr({},"__esModule",{value:!0}),o),kr={};Pn(kr,{version:()=>In});Br.exports=Fn(kr);wn(kr,require("@tensorflow/tfjs-node"),Br.exports);var To="4.16.0",Dn="4.16.0",En="4.16.0",Mn="4.16.0",Cn="4.16.0",In={tfjs:To,"tfjs-core":To,"tfjs-converter":Dn,"tfjs-backend-cpu":En,"tfjs-backend-webgl":Mn,"tfjs-backend-wasm":Cn}});var Ba={};Sr(Ba,{AgeGenderNet:()=>He,BoundingBox:()=>Ot,Box:()=>L,ComposableTask:()=>J,ComputeAllFaceDescriptorsTask:()=>_t,ComputeFaceDescriptorsTaskBase:()=>Ue,ComputeSingleFaceDescriptorTask:()=>Tt,DetectAllFaceLandmarksTask:()=>qe,DetectAllFacesTask:()=>Ie,DetectFaceLandmarksTaskBase:()=>Je,DetectFacesTaskBase:()=>Ke,DetectSingleFaceLandmarksTask:()=>Ze,DetectSingleFaceTask:()=>Qe,Dimensions:()=>R,FACE_EXPRESSION_LABELS:()=>so,FaceDetection:()=>M,FaceDetectionNet:()=>lo,FaceExpressionNet:()=>Oe,FaceExpressions:()=>gt,FaceLandmark68Net:()=>Zt,FaceLandmark68TinyNet:()=>ze,FaceLandmarkNet:()=>po,FaceLandmarks:()=>H,FaceLandmarks5:()=>jr,FaceLandmarks68:()=>Yt,FaceMatch:()=>me,FaceMatcher:()=>vo,FaceRecognitionNet:()=>Kt,Gender:()=>_r,LabeledBox:()=>pe,LabeledFaceDescriptors:()=>Et,NetInput:()=>ut,NeuralNetwork:()=>A,ObjectDetection:()=>Ht,Point:()=>_,PredictedBox:()=>Ur,Rect:()=>zt,SsdMobilenetv1:()=>It,SsdMobilenetv1Options:()=>X,TinyFaceDetector:()=>re,TinyFaceDetectorOptions:()=>je,TinyYolov2:()=>te,TinyYolov2Options:()=>st,allFaces:()=>Sa,allFacesSsdMobilenetv1:()=>un,allFacesTinyYolov2:()=>La,awaitMediaLoaded:()=>to,bufferToImage:()=>eo,computeFaceDescriptor:()=>xa,createCanvas:()=>Xt,createCanvasFromMedia:()=>We,createFaceDetectionNet:()=>ua,createFaceRecognitionNet:()=>ta,createSsdMobilenetv1:()=>Jo,createTinyFaceDetector:()=>Aa,createTinyYolov2:()=>da,detectAllFaces:()=>Lr,detectFaceLandmarks:()=>mn,detectFaceLandmarksTiny:()=>ga,detectLandmarks:()=>Ia,detectSingleFace:()=>Na,draw:()=>co,env:()=>w,euclideanDistance:()=>xo,extendWithAge:()=>Dr,extendWithFaceDescriptor:()=>Fr,extendWithFaceDetection:()=>Vt,extendWithFaceExpressions:()=>gr,extendWithFaceLandmarks:()=>Pe,extendWithGender:()=>Er,extractFaceTensors:()=>le,extractFaces:()=>fe,fetchImage:()=>On,fetchJson:()=>no,fetchNetWeights:()=>Hn,fetchOrThrow:()=>ht,fetchVideo:()=>zn,getContext2dOrThrow:()=>$,getMediaDimensions:()=>Ut,imageTensorToCanvas:()=>ro,imageToSquare:()=>oo,inverseSigmoid:()=>Sn,iou:()=>zr,isMediaElement:()=>sr,isMediaLoaded:()=>Ae,isWithAge:()=>ea,isWithFaceDetection:()=>pt,isWithFaceExpressions:()=>io,isWithFaceLandmarks:()=>qt,isWithGender:()=>ra,loadAgeGenderModel:()=>Ea,loadFaceDetectionModel:()=>Ma,loadFaceExpressionModel:()=>Da,loadFaceLandmarkModel:()=>Pa,loadFaceLandmarkTinyModel:()=>wa,loadFaceRecognitionModel:()=>Fa,loadSsdMobilenetv1Model:()=>pn,loadTinyFaceDetectorModel:()=>_a,loadTinyYolov2Model:()=>Ta,loadWeightMap:()=>ao,locateFaces:()=>Ca,matchDimensions:()=>Yn,minBbox:()=>Yr,nets:()=>F,nonMaxSuppression:()=>Vr,normalize:()=>rt,padToSquare:()=>Gr,predictAgeAndGender:()=>ya,recognizeFaceExpressions:()=>va,resizeResults:()=>fn,resolveInput:()=>Gt,shuffleArray:()=>Ln,sigmoid:()=>Ne,ssdMobilenetv1:()=>cn,tf:()=>Wa,tinyFaceDetector:()=>ha,tinyYolov2:()=>ba,toNetInput:()=>D,utils:()=>Hr,validateConfig:()=>ho,version:()=>ka});module.exports=vn(Ba);var Wa=v(x());var co={};Sr(co,{AnchorPosition:()=>Qr,DrawBox:()=>Se,DrawBoxOptions:()=>nr,DrawFaceLandmarks:()=>vr,DrawFaceLandmarksOptions:()=>xr,DrawTextField:()=>jt,DrawTextFieldOptions:()=>ue,drawContour:()=>lt,drawDetections:()=>$n,drawFaceExpressions:()=>Vn,drawFaceLandmarks:()=>jn});function lt(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:n},s)=>{let a=t[s];o.moveTo(a.x,a.y),o.lineTo(r,n)}),e){let r=t[t.length-1],n=t[0];if(!r||!n)return;o.moveTo(r.x,r.y),o.lineTo(n.x,n.y)}o.stroke()}var Hr={};Sr(Hr,{computeReshapedDimensions:()=>Or,getCenterPoint:()=>$t,isDimensions:()=>rr,isEven:()=>er,isFloat:()=>$r,isTensor:()=>Bt,isTensor1D:()=>Nn,isTensor2D:()=>Rr,isTensor3D:()=>dt,isTensor4D:()=>U,isValidNumber:()=>et,isValidProbablitiy:()=>ce,range:()=>ct,round:()=>Rt});var Po=v(x());var R=class o{constructor(t,e){if(!et(t)||!et(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new o(1/this.width,1/this.height)}};function Bt(o,t){return o instanceof Po.Tensor&&o.shape.length===t}function Nn(o){return Bt(o,1)}function Rr(o){return Bt(o,2)}function dt(o){return Bt(o,3)}function U(o){return Bt(o,4)}function $r(o){return o%1!==0}function er(o){return o%2===0}function Rt(o,t=2){let e=10**t;return Math.floor(o*e)/e}function rr(o){return o&&o.width&&o.height}function Or({width:o,height:t},e){let r=e/Math.max(t,o);return new R(Math.round(o*r),Math.round(t*r))}function $t(o){return o.reduce((t,e)=>t.add(e),new _(0,0)).div(new _(o.length,o.length))}function ct(o,t,e){return Array(o).fill(0).map((r,n)=>t+n*e)}function et(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function ce(o){return et(o)&&o>=0&&o<=1}var _=class o{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new o(this.x+t.x,this.y+t.y)}sub(t){return new o(this.x-t.x,this.y-t.y)}mul(t){return new o(this.x*t.x,this.y*t.y)}div(t){return new o(this.x/t.x,this.y/t.y)}abs(){return new o(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new o(Math.floor(this.x),Math.floor(this.y))}};var L=class o{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(et)}static assertIsValidBox(t,e,r=!1){if(!o.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},n=[r.left,r.top,r.right,r.bottom].every(et),s=[r.x,r.y,r.width,r.height].every(et);if(!s&&!n)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[a,i,c,m]=s?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];o.assertIsValidBox({x:a,y:i,width:c,height:m},"Box.constructor",e),this._x=a,this._y=i,this._width=c,this._height=m}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new _(this.left,this.top)}get topRight(){return new _(this.right,this.top)}get bottomLeft(){return new _(this.left,this.bottom)}get bottomRight(){return new _(this.right,this.bottom)}round(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new o({x:t,y:e,width:r,height:n})}floor(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new o({x:t,y:e,width:r,height:n})}toSquare(){let{x:t,y:e,width:r,height:n}=this,s=Math.abs(r-n);return re&&(i=-u+e+r,u=e),f>t&&(c=-f+t+n,f=t),m<1&&(c=2-m,m=1),p<1&&(c=2-p,p=1),{dy:a,edy:c,dx:s,edx:i,y:p,ey:f,x:m,ex:u,w:r,h:n}}calibrate(t){return new o({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Ot=class extends L{constructor(t,e,r,n,s=!1){super({left:t,top:e,right:r,bottom:n},s)}};var Ht=class o{constructor(t,e,r,n,s){this._imageDims=new R(s.width,s.height),this._score=t,this._classScore=e,this._className=r,this._box=new L(n).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new L(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new o(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var M=class o extends Ht{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:n,imageDims:s}=super.forSize(t,e);return new o(r,n,s)}};function zr(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),n=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),s=r*n;return e?s/(o.area+t.area-s):s/Math.min(o.area,t.area)}function Yr(o){let t=o.map(i=>i.x),e=o.map(i=>i.y),r=t.reduce((i,c)=>ccii({score:a,boxIndex:i})).sort((a,i)=>a.score-i.score).map(a=>a.boxIndex),s=[];for(;n.length>0;){let a=n.pop();s.push(a);let i=n,c=[];for(let m=0;mc[p]<=e)}return s}var mt=v(x());function rt(o,t){return mt.tidy(()=>{let[e,r,n]=t,s=mt.fill([...o.shape.slice(0,3),1],e,"float32"),a=mt.fill([...o.shape.slice(0,3),1],r,"float32"),i=mt.fill([...o.shape.slice(0,3),1],n,"float32"),c=mt.concat([s,a,i],3);return mt.sub(o,c)})}var Dt=v(x());function Gr(o,t=!1){return Dt.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let n=Math.abs(e-r),s=Math.round(n*(t?.5:1)),a=e>r?2:1,i=f=>{let l=o.shape.slice();return l[a]=f,Dt.fill(l,0,"float32")},c=i(s),m=n-c.shape[a],u=[t&&m?i(m):null,o,c].filter(f=>!!f).map(f=>Dt.cast(f,"float32"));return Dt.concat(u,a)})}function Ln(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function Ne(o){return 1/(1+Math.exp(-o))}function Sn(o){return Math.log(o/(1-o))}var zt=class extends L{constructor(t,e,r,n,s=!1){super({x:t,y:e,width:r,height:n},s)}};var An=.5,Wn=.43,kn=.45,H=class{constructor(t,e,r=new _(0,0)){let{width:n,height:s}=e;this._imgDims=new R(n,s),this._shift=r,this._positions=t.map(a=>a.mul(new _(n,s)).add(r))}get shift(){return new _(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new _(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new _(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let s=t instanceof M?t.box.floor():new L(t);return this.shiftBy(s.x,s.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:n}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(n)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,n]=t,s=u=>n.sub(u).magnitude(),a=(s(e)+s(r))/2,i=Math.floor(a/kn),c=$t(t),m=Math.floor(Math.max(0,c.x-An*i)),p=Math.floor(Math.max(0,c.y-Wn*i));return new zt(m,p,Math.min(i,this.imageWidth+m),Math.min(i,this.imageHeight+p))}alignMinBbox(t){let e=Yr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var jr=class extends H{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],$t([t[3],t[4]])]}};var Yt=class extends H{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map($t)}};var me=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Rt(this.distance)})`:""}`}};var pe=class extends L{static assertIsValidLabeledBox(t,e){if(L.assertIsValidBox(t,e),!et(t.label))throw new Error(`${e} - expected property label (${t.label}) to be a number`)}constructor(t,e){super(t),this._label=e}get label(){return this._label}};var Et=class o{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new o(t.label,e)}};var Ur=class extends pe{static assertIsValidPredictedBox(t,e){if(pe.assertIsValidLabeledBox(t,e),!ce(t.score)||!ce(t.classScore))throw new Error(`${e} - expected properties score (${t.score}) and (${t.classScore}) to be a number between [0, 1]`)}constructor(t,e,r,n){super(t,e),this._score=r,this._classScore=n}get score(){return this._score}get classScore(){return this._classScore}};function pt(o){return o.detection instanceof M}function Vt(o,t){return{...o,...{detection:t}}}function Xr(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Le(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function or(o){let t="";if(!o&&Le())try{o=require("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((n,s)=>{o.readFile(r,(a,i)=>a?s(a):n(i))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Jr(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},n=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},a=global.fetch,i=or();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:n,createVideoElement:s,fetch:a,...i}}function qr(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var S;function Bn(){if(!S)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return S}function Zr(o){S=o}function Kr(){return qr()?Zr(Xr()):Le()?Zr(Jr()):null}function Rn(o){if(S||Kr(),!S)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=S.Canvas,Image:e=S.Image}=o;S.Canvas=t,S.Image=e,S.createCanvasElement=o.createCanvasElement||(()=>new t),S.createImageElement=o.createImageElement||(()=>new e),S.ImageData=o.ImageData||S.ImageData,S.Video=o.Video||S.Video,S.fetch=o.fetch||S.fetch,S.readFile=o.readFile||S.readFile}var w={getEnv:Bn,setEnv:Zr,initialize:Kr,createBrowserEnv:Xr,createFileSystem:or,createNodejsEnv:Jr,monkeyPatch:Rn,isBrowser:qr,isNodejs:Le};Kr();function Gt(o){return!w.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function $(o){let{Canvas:t,CanvasRenderingContext2D:e}=w.getEnv();if(o instanceof e)return o;let r=Gt(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let n=r.getContext("2d",{willReadFrequently:!0});if(!n)throw new Error("resolveContext2d - canvas 2d context is null");return n}var Qr=(n=>(n.TOP_LEFT="TOP_LEFT",n.TOP_RIGHT="TOP_RIGHT",n.BOTTOM_LEFT="BOTTOM_LEFT",n.BOTTOM_RIGHT="BOTTOM_RIGHT",n))(Qr||{}),ue=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:n,fontSize:s,fontStyle:a,padding:i}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=n||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=a||"Georgia",this.padding=i||4}},jt=class o{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof o?t.text:t,this.anchor=e,this.options=new ue(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,n)=>r{let b=c+u.x,T=c+u.y+(l+1)*a;r.fillText(f,b,T)})}};var nr=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:n,drawLabelOptions:s}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=n;let a={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new ue({...a,...s})}},Se=class{constructor(t,e={}){this.box=new L(t),this.options=new nr(e)}draw(t){let e=$(t),{boxColor:r,lineWidth:n}=this.options,{x:s,y:a,width:i,height:c}=this.box;e.strokeStyle=r,e.lineWidth=n,e.strokeRect(s,a,i,c);let{label:m}=this.options;m&&new jt([m],{x:s-n/2,y:a},this.options.drawLabelOptions).draw(t)}};function $n(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof M?r.score:pt(r)?r.detection.score:void 0,s=r instanceof M?r.box:pt(r)?r.detection.box:new L(r),a=n?`${Rt(n)}`:void 0;new Se(s,{label:a}).draw(o)})}var Te=v(x());function Ae(o){let{Image:t,Video:e}=w.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function to(o){return new Promise((t,e)=>{if(o instanceof w.getEnv().Canvas||Ae(o)){t(null);return}function r(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",n),s.currentTarget.removeEventListener("error",r),e(s))}function n(s){s.currentTarget&&(s.currentTarget.removeEventListener("load",n),s.currentTarget.removeEventListener("error",r),t(s))}o.addEventListener("load",n),o.addEventListener("error",r)})}function eo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let n=w.getEnv().createImageElement();n.onload=()=>t(n),n.onerror=e,n.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Ut(o){let{Image:t,Video:e}=w.getEnv();return o instanceof t?new R(o.naturalWidth,o.naturalHeight):o instanceof e?new R(o.videoWidth,o.videoHeight):new R(o.width,o.height)}function Xt({width:o,height:t}){let{createCanvasElement:e}=w.getEnv(),r=e();return r.width=o,r.height=t,r}function We(o,t){let{ImageData:e}=w.getEnv();if(!(o instanceof e)&&!Ae(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:n}=t||Ut(o),s=Xt({width:r,height:n});return o instanceof e?$(s).putImageData(o,0,0):$(s).drawImage(o,0,0,r,n),s}var ar=v(x());async function ro(o,t){let e=t||w.getEnv().createCanvasElement(),[r,n,s]=o.shape.slice(U(o)?1:0),a=ar.tidy(()=>o.as3D(r,n,s).toInt());return await ar.browser.toPixels(a,e),a.dispose(),e}function sr(o){let{Image:t,Canvas:e,Video:r}=w.getEnv();return o instanceof t||o instanceof e||o instanceof r}var z=v(x());function oo(o,t,e=!1){let{Image:r,Canvas:n}=w.getEnv();if(!(o instanceof r||o instanceof n))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Xt({width:1,height:1});let s=Ut(o),a=t/Math.max(s.height,s.width),i=a*s.width,c=a*s.height,m=Xt({width:t,height:t}),p=o instanceof n?o:We(o),u=Math.abs(i-c)/2,f=e&&i0&&p.height>0&&$(m).drawImage(p,f,l,i,c),m}var ut=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,n)=>{if(dt(r)){this._imageTensors[n]=r,this._inputDimensions[n]=r.shape;return}if(U(r)){let a=r.shape[0];if(a!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${a} passed, but not supported in input array`);this._imageTensors[n]=r,this._inputDimensions[n]=r.shape.slice(1);return}let s=r instanceof w.getEnv().Canvas?r:We(r);this._canvases[n]=s,this._inputDimensions[n]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return ct(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return Or({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,z.tidy(()=>{let r=ct(this.batchSize,0,1).map(s=>{let a=this.getInput(s);if(a instanceof z.Tensor){let i=U(a)?a:z.expandDims(a);return i=Gr(i,e),(i.shape[1]!==t||i.shape[2]!==t)&&(i=z.image.resizeBilinear(i,[t,t],!1,!1)),i.as3D(t,t,3)}if(a instanceof w.getEnv().Canvas){let i=oo(a,t,e),c=z.browser.fromPixels(i);i.width=1,i.height=1;let m=i.getContext("2d");return m&&m.clearRect(0,0,1,1),c}throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${a}`)});return z.stack(r.map(s=>z.cast(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function D(o){if(o instanceof ut)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=n=>Array.isArray(o)?` at input index ${n}:`:"",r=t.map(Gt);return r.forEach((n,s)=>{if(!sr(n)&&!dt(n)&&!U(n))throw typeof t[s]=="string"?new Error(`toNetInput -${e(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${e(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(U(n)){let a=n.shape[0];if(a!==1)throw new Error(`toNetInput -${e(s)} tf.Tensor4D with batchSize ${a} passed, but not supported in input array`)}}),await Promise.all(r.map(n=>sr(n)&&to(n))),new ut(r,Array.isArray(o))}async function fe(o,t){let{Canvas:e}=w.getEnv(),r=o;if(!(o instanceof e)){let a=await D(o);if(a.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let i=a.getInput(0);r=i instanceof e?i:await ro(i)}let n=$(r);return t.map(a=>a instanceof M?a.forSize(r.width,r.height).box.floor():a).map(a=>a.clipAtImageBorders(r.width,r.height)).map(({x:a,y:i,width:c,height:m})=>{let p=Xt({width:c,height:m});return c>0&&m>0&&$(p).putImageData(n.getImageData(a,i,c,m),0,0),p})}var ir=v(x());async function le(o,t){if(!dt(o)&&!U(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(U(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return ir.tidy(()=>{let[e,r,n]=o.shape.slice(U(o)?1:0);return t.map(i=>i instanceof M?i.forSize(r,e).box:i).map(i=>i.clipAtImageBorders(r,e)).filter(i=>i.width>0&&i.height>0).map(({x:i,y:c,width:m,height:p})=>ir.slice3d(o.as3D(e,r,n),[c,i,0],[p,m,n]))})}async function ht(o,t){let{fetch:e}=w.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function On(o){let t=await ht(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return eo(e)}async function no(o){return(await ht(o)).json()}async function Hn(o){return new Float32Array(await(await ht(o)).arrayBuffer())}function wo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=w.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function zn(o){let t=await ht(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return wo(e)}var Fo=v(x());function cr(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let n=o.split("/").filter(i=>i),s=o.endsWith(".json")?n[n.length-1]:e,a=r+(o.endsWith(".json")?n.slice(0,n.length-1):n).join("/");return a=o.startsWith("/")?`/${a}`:a,{modelBaseUri:a,manifestUri:a==="/"?`/${s}`:`${a}/${s}`}}async function ao(o,t){let{manifestUri:e,modelBaseUri:r}=cr(o,t),n=await no(e);return Fo.io.loadWeights(n,r)}function Yn(o,t,e=!1){let{width:r,height:n}=e?Ut(t):t;return o.width=r,o.height=n,{width:r,height:n}}var ve=v(x());var bt=v(x());var A=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:n}=this.traversePropertyPath(t);r[n].dispose(),r[n]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof bt.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof bt.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=bt.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await ao(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=w.getEnv(),{manifestUri:r,modelBaseUri:n}=cr(t,this.getDefaultModelName()),s=m=>Promise.all(m.map(p=>e(p).then(u=>typeof u=="string"?Buffer.from(u):u.buffer))),a=bt.io.weightsLoaderFactory(s),i=JSON.parse((await e(r)).toString()),c=await a(i,n);this.loadFromWeightMap(c)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((s,a)=>{if(!s.nextObj.hasOwnProperty(a))throw new Error(`traversePropertyPath - object does not have property ${a}, for path ${t}`);return{obj:s.nextObj,objProp:a,nextObj:s.nextObj[a]}},{nextObj:this.params}),{obj:r,objProp:n}=e;if(!r||!n||!(r[n]instanceof bt.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:n}}};var E=v(x());var de=v(x());function O(o,t,e){return de.tidy(()=>{let r=de.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=de.add(r,t.bias),r})}function mr(o,t,e=!1){return E.tidy(()=>{let r=E.relu(e?E.add(E.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):O(o,t.conv0,[2,2])),n=O(r,t.conv1,[1,1]),s=E.relu(E.add(r,n)),a=O(s,t.conv2,[1,1]);return E.relu(E.add(r,E.add(n,a)))})}function ke(o,t,e=!1,r=!0){return E.tidy(()=>{let n=E.relu(e?E.add(E.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):O(o,t.conv0,r?[2,2]:[1,1])),s=O(n,t.conv1,[1,1]),a=E.relu(E.add(n,s)),i=O(a,t.conv2,[1,1]),c=E.relu(E.add(n,E.add(s,i))),m=O(c,t.conv3,[1,1]);return E.relu(E.add(n,E.add(s,E.add(i,m))))})}var Mt=v(x());function Jt(o,t,e="same",r=!1){return Mt.tidy(()=>{let n=Mt.add(Mt.conv2d(o,t.filters,[1,1],e),t.bias);return r?Mt.relu(n):n})}function W(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}var pr=v(x());function he(o,t){return(e,r,n,s)=>{let a=pr.tensor4d(o(e*r*n*n),[n,n,e,r]),i=pr.tensor1d(o(r));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:a,bias:i}}}var ur=v(x());function fr(o,t){return(e,r,n)=>{let s=ur.tensor2d(o(e*r),[e,r]),a=ur.tensor1d(o(r));return t.push({paramPath:`${n}/weights`},{paramPath:`${n}/bias`}),{weights:s,bias:a}}}var Re=v(x());var Be=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function be(o,t){return(e,r,n)=>{let s=Re.tensor4d(o(9*e),[3,3,e,1]),a=Re.tensor4d(o(e*r),[1,1,e,r]),i=Re.tensor1d(o(r));return t.push({paramPath:`${n}/depthwise_filter`},{paramPath:`${n}/pointwise_filter`},{paramPath:`${n}/bias`}),new Be(s,a,i)}}function ge(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),n=o(`${t}/bias`,1);return new Be(e,r,n)}}function Y(o,t){return(e,r,n)=>{let s=o[e];if(!Bt(s,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${s}`);return t.push({originalPath:e,paramPath:n||e}),s}}function k(o){let t=o;function e(n){let s=t.slice(0,n);return t=t.slice(n),s}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function lr(o,t){let e=he(o,t),r=be(o,t);function n(a,i,c,m=!1){let p=m?e(a,i,3,`${c}/conv0`):r(a,i,`${c}/conv0`),u=r(i,i,`${c}/conv1`),f=r(i,i,`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function s(a,i,c,m=!1){let{conv0:p,conv1:u,conv2:f}=n(a,i,c,m),l=r(i,i,`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:n,extractDenseBlock4Params:s}}function Do(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractDenseBlock4Params:n}=lr(e,t),s=n(3,32,"dense0",!0),a=n(32,64,"dense1"),i=n(64,128,"dense2"),c=n(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:a,dense2:i,dense3:c}}}function dr(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function hr(o,t){let e=Y(o,t),r=dr(e),n=ge(e);function s(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`);return{conv0:m,conv1:p,conv2:u}}function a(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`),f=n(`${i}/conv3`);return{conv0:m,conv1:p,conv2:u,conv3:f}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:a}}function Eo(o){let t=[],{extractDenseBlock4Params:e}=hr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return W(o,t),{params:r,paramMappings:t}}var xe=class extends A{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return ve.tidy(()=>{let r=ve.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=ke(s,e.dense0,!0);return a=ke(a,e.dense1),a=ke(a,e.dense2),a=ke(a,e.dense3),a=ve.avgPool(a,[7,7],[2,2],"valid"),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Eo(t)}extractParams(t){return Do(t)}};var Io=v(x());var ye=v(x());function $e(o,t){return ye.tidy(()=>ye.add(ye.matMul(o,t.weights),t.bias))}function Mo(o,t,e){let r=[],{extractWeights:n,getRemainingWeights:s}=k(o),i=fr(n,r)(t,e,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:r,params:{fc:i}}}function Co(o){let t=[],e=Y(o,t);function r(s){let a=e(`${s}/weights`,2),i=e(`${s}/bias`,1);return{weights:a,bias:i}}let n={fc:r("fc")};return W(o,t),{params:n,paramMappings:t}}function br(o){let t={},e={};return Object.keys(o).forEach(r=>{let n=r.startsWith("fc")?e:t;n[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var _e=class extends A{constructor(t,e){super(t),this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return Io.tidy(()=>{let r=t instanceof ut?this.faceFeatureExtractor.forwardInput(t):t;return $e(r.as2D(r.shape[0],-1),e.fc)})}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Mo(t,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=br(t);return this.faceFeatureExtractor.loadFromWeightMap(e),Co(r)}extractParams(t){let e=this.getClassifierChannelsIn(),r=this.getClassifierChannelsOut(),n=r*e+r,s=t.slice(0,t.length-n),a=t.slice(t.length-n);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(a)}};var so=["neutral","happy","sad","angry","fearful","disgusted","surprised"],gt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);so.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return so.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var Oe=class extends _e{constructor(t=new xe){super("FaceExpressionNet",t)}forwardInput(t){return Te.tidy(()=>Te.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await D(t))}async predictExpressions(t){let e=await D(t),r=await this.forwardInput(e),n=await Promise.all(Te.unstack(r).map(async a=>{let i=a.dataSync();return a.dispose(),i}));r.dispose();let s=n.map(a=>new gt(a));return e.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function io(o){return o.expressions instanceof gt}function gr(o,t){return{...o,...{expressions:t}}}function Vn(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(s=>{let a=s instanceof gt?s:io(s)?s.expressions:void 0;if(!a)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let c=a.asSortedArray().filter(u=>u.probability>e),m=pt(s)?s.detection.box.bottomLeft:r||new _(0,0);new jt(c.map(u=>`${u.expression} (${Rt(u.probability)})`),m).draw(o)})}function qt(o){return pt(o)&&o.landmarks instanceof H&&o.unshiftedLandmarks instanceof H&&o.alignedRect instanceof M}function Gn(o){let t=c=>c*180/Math.PI,e=(c,m)=>Math.sqrt((c.x-m.x)**2+(c.y-m.y)**2),r={roll:void 0,pitch:void 0,yaw:void 0},n=(c,m,p)=>{let u=Math.floor(c.x-m.x),f=Math.floor(m.x-p.x);return u-f},s=(c,m)=>{let p=Math.hypot(m.x-c.x,m.y-c.y),u=m.y-c.y,f=Math.asin(u/p),l=t(f),b=Math.floor(90-l),T=m.x-c.x<0?-1:1;return b*T},a=(c,m,p)=>{let u=e(c,p),f=new _((c.x+p.x)/2,(c.y+p.y)/2),l=e(m,f),b=Math.atan(l/u),T=Math.floor(t(b)),h=f.y-m.y<0?-1:1;return T*h};if(!o||!o.positions||o.positions.length!==68)return r;let i=o.positions;return r.roll=s(i[27],i[66]),r.pitch=a(i[14],i[30],i[2]),r.yaw=n(i[14],i[33],i[2]),r}function Pe(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),n=r.align(),{imageDims:s}=o.detection,a=new M(o.detection.score,n.rescale(s.reverse()),s),i=Gn(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:a,angle:i}}}var xr=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:n,lineColor:s,pointSize:a,pointColor:i}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=n||1,this.pointSize=a||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=i||"rgba(255, 0, 255, 1)"}},vr=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new xr(e)}draw(t){let e=$(t),{drawLines:r,drawPoints:n,lineWidth:s,lineColor:a,pointSize:i,pointColor:c}=this.options;if(r&&this.faceLandmarks instanceof Yt&&(e.strokeStyle=a,e.lineWidth=s,lt(e,this.faceLandmarks.getJawOutline()),lt(e,this.faceLandmarks.getLeftEyeBrow()),lt(e,this.faceLandmarks.getRightEyeBrow()),lt(e,this.faceLandmarks.getNose()),lt(e,this.faceLandmarks.getLeftEye(),!0),lt(e,this.faceLandmarks.getRightEye(),!0),lt(e,this.faceLandmarks.getMouth(),!0)),n){e.strokeStyle=c,e.fillStyle=c;let m=p=>{e.beginPath(),e.arc(p.x,p.y,i,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(m)}}};function jn(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof H?r:qt(r)?r.landmarks:void 0;if(!n)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new vr(n).draw(o)})}var No="1.7.13";var ft=v(x());var N=v(x());function Jn(o,t){let e=he(o,t),r=be(o,t);function n(a,i,c){let m=r(a,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=e(a,i,1,`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function s(a,i){let c=r(a,a,`${i}/separable_conv0`),m=r(a,a,`${i}/separable_conv1`),p=r(a,a,`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:n,extractMainBlockParams:s}}function Lo(o,t){let e=[],{extractWeights:r,getRemainingWeights:n}=k(o),{extractConvParams:s,extractSeparableConvParams:a,extractReductionBlockParams:i,extractMainBlockParams:c}=Jn(r,e),m=s(3,32,3,"entry_flow/conv_in"),p=i(32,64,"entry_flow/reduction_block_0"),u=i(64,128,"entry_flow/reduction_block_1"),f={conv_in:m,reduction_block_0:p,reduction_block_1:u},l={};ct(t,0,1).forEach(g=>{l[`main_block_${g}`]=c(128,`middle_flow/main_block_${g}`)});let b=i(128,256,"exit_flow/reduction_block"),T=a(256,512,"exit_flow/separable_conv"),h={reduction_block:b,separable_conv:T};if(n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{paramMappings:e,params:{entry_flow:f,middle_flow:l,exit_flow:h}}}function qn(o,t){let e=Y(o,t),r=dr(e),n=ge(e);function s(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=r(`${i}/expansion_conv`);return{separable_conv0:c,separable_conv1:m,expansion_conv:p}}function a(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=n(`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:s,extractMainBlockParams:a}}function So(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:s,extractMainBlockParams:a}=qn(o,e),i=r("entry_flow/conv_in"),c=s("entry_flow/reduction_block_0"),m=s("entry_flow/reduction_block_1"),p={conv_in:i,reduction_block_0:c,reduction_block_1:m},u={};ct(t,0,1).forEach(T=>{u[`main_block_${T}`]=a(`middle_flow/main_block_${T}`)});let f=s("exit_flow/reduction_block"),l=n("exit_flow/separable_conv"),b={reduction_block:f,separable_conv:l};return W(o,e),{params:{entry_flow:p,middle_flow:u,exit_flow:b},paramMappings:e}}function Ao(o,t,e){return N.add(N.conv2d(o,t.filters,e,"same"),t.bias)}function mo(o,t,e=!0){let r=e?N.relu(o):o;return r=O(r,t.separable_conv0,[1,1]),r=O(N.relu(r),t.separable_conv1,[1,1]),r=N.maxPool(r,[3,3],[2,2],"same"),r=N.add(r,Ao(o,t.expansion_conv,[2,2])),r}function Zn(o,t){let e=O(N.relu(o),t.separable_conv0,[1,1]);return e=O(N.relu(e),t.separable_conv1,[1,1]),e=O(N.relu(e),t.separable_conv2,[1,1]),e=N.add(e,o),e}var yr=class extends A{constructor(t){super("TinyXception"),this._numMainBlocks=t}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyXception - load model before inference");return N.tidy(()=>{let r=N.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=N.relu(Ao(s,e.entry_flow.conv_in,[2,2]));return a=mo(a,e.entry_flow.reduction_block_0,!1),a=mo(a,e.entry_flow.reduction_block_1),ct(this._numMainBlocks,0,1).forEach(i=>{a=Zn(a,e.middle_flow[`main_block_${i}`])}),a=mo(a,e.exit_flow.reduction_block),a=N.relu(O(a,e.exit_flow.separable_conv,[1,1])),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(t){return So(t,this._numMainBlocks)}extractParams(t){return Lo(t,this._numMainBlocks)}};function Wo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),n=fr(e,t),s=n(512,1,"fc/age"),a=n(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:s,gender:a}}}}function ko(o){let t=[],e=Y(o,t);function r(s){let a=e(`${s}/weights`,2),i=e(`${s}/bias`,1);return{weights:a,bias:i}}let n={fc:{age:r("fc/age"),gender:r("fc/gender")}};return W(o,t),{params:n,paramMappings:t}}var _r=(e=>(e.FEMALE="female",e.MALE="male",e))(_r||{});var He=class extends A{constructor(t=new yr(2)){super("AgeGenderNet"),this._faceFeatureExtractor=t}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(t){let{params:e}=this;if(!e)throw new Error(`${this._name} - load model before inference`);return ft.tidy(()=>{let r=t instanceof ut?this.faceFeatureExtractor.forwardInput(t):t,n=ft.avgPool(r,[7,7],[2,2],"valid").as2D(r.shape[0],-1),s=$e(n,e.fc.age).as1D(),a=$e(n,e.fc.gender);return{age:s,gender:a}})}forwardInput(t){return ft.tidy(()=>{let{age:e,gender:r}=this.runNet(t);return{age:e,gender:ft.softmax(r)}})}async forward(t){return this.forwardInput(await D(t))}async predictAgeAndGender(t){let e=await D(t),r=await this.forwardInput(e),n=ft.unstack(r.age),s=ft.unstack(r.gender),a=n.map((c,m)=>({ageTensor:c,genderTensor:s[m]})),i=await Promise.all(a.map(async({ageTensor:c,genderTensor:m})=>{let p=c.dataSync()[0],u=m.dataSync()[0],f=u>.5,l=f?"male":"female",b=f?u:1-u;return c.dispose(),m.dispose(),{age:p,gender:l,genderProbability:b}}));return r.age.dispose(),r.gender.dispose(),e.isBatchInput?i:i[0]}getDefaultModelName(){return"age_gender_model"}dispose(t=!0){this.faceFeatureExtractor.dispose(t),super.dispose(t)}loadClassifierParams(t){let{params:e,paramMappings:r}=this.extractClassifierParams(t);this._params=e,this._paramMappings=r}extractClassifierParams(t){return Wo(t)}extractParamsFromWeightMap(t){let{featureExtractorMap:e,classifierMap:r}=br(t);return this.faceFeatureExtractor.loadFromWeightMap(e),ko(r)}extractParams(t){let r=t.slice(0,t.length-1539),n=t.slice(t.length-1539);return this.faceFeatureExtractor.extractWeights(r),this.extractClassifierParams(n)}};var V=v(x());var we=class extends _e{postProcess(t,e,r){let n=r.map(({width:a,height:i})=>{let c=e/Math.max(i,a);return{width:a*c,height:i*c}}),s=n.length;return V.tidy(()=>{let a=(u,f)=>V.stack([V.fill([68],u,"float32"),V.fill([68],f,"float32")],1).as2D(1,136).as1D(),i=(u,f)=>{let{width:l,height:b}=n[u];return f(l,b)?Math.abs(l-b)/2:0},c=u=>i(u,(f,l)=>fi(u,(f,l)=>la(c(f),m(f))))).div(V.stack(Array.from(Array(s),(u,f)=>a(n[f].width,n[f].height))))})}forwardInput(t){return V.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,n])=>({height:r,width:n})))})}async forward(t){return this.forwardInput(await D(t))}async detectLandmarks(t){let e=await D(t),r=V.tidy(()=>V.unstack(this.forwardInput(e))),n=await Promise.all(r.map(async(s,a)=>{let i=Array.from(s.dataSync()),c=i.filter((p,u)=>er(u)),m=i.filter((p,u)=>!er(u));return new Yt(Array(68).fill(0).map((p,u)=>new _(c[u],m[u])),{height:e.getInputHeight(a),width:e.getInputWidth(a)})}));return r.forEach(s=>s.dispose()),e.isBatchInput?n:n[0]}getClassifierChannelsOut(){return 136}};var Zt=class extends we{constructor(t=new xe){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};var Fe=v(x());function Bo(o){let t=[],{extractDenseBlock3Params:e}=hr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return W(o,t),{params:r,paramMappings:t}}function Ro(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractDenseBlock3Params:n}=lr(e,t),s=n(3,32,"dense0",!0),a=n(32,64,"dense1"),i=n(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:a,dense2:i}}}var Tr=class extends A{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return Fe.tidy(()=>{let r=Fe.cast(t.toBatchTensor(112,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=mr(s,e.dense0,!0);return a=mr(a,e.dense1),a=mr(a,e.dense2),a=Fe.avgPool(a,[14,14],[2,2],"valid"),a})}async forward(t){return this.forwardInput(await D(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Bo(t)}extractParams(t){return Ro(t)}};var ze=class extends we{constructor(t=new Tr){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var po=class extends Zt{};var nt=v(x());var De=v(x());var Pr=v(x());function $o(o,t){return Pr.add(Pr.mul(o,t.weights),t.biases)}function uo(o,t,e,r,n="same"){let{filters:s,bias:a}=t.conv,i=De.conv2d(o,s,e,n);return i=De.add(i,a),i=$o(i,t.scale),r?De.relu(i):i}function Oo(o,t){return uo(o,t,[1,1],!0)}function fo(o,t){return uo(o,t,[1,1],!1)}function wr(o,t){return uo(o,t,[2,2],!0,"valid")}var G=v(x());function Kn(o,t){function e(i,c,m){let p=o(i),u=p.length/(c*m*m);if($r(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${p.length}, numFilters: ${c}, filterSize: ${m}`);return G.tidy(()=>G.transpose(G.tensor4d(p,[c,u,m,m]),[2,3,1,0]))}function r(i,c,m,p){let u=e(i,c,m),f=G.tensor1d(o(c));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:u,bias:f}}function n(i,c){let m=G.tensor1d(o(i)),p=G.tensor1d(o(i));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:m,biases:p}}function s(i,c,m,p){let u=r(i,c,m,`${p}/conv`),f=n(c,`${p}/scale`);return{conv:u,scale:f}}function a(i,c,m,p,u=!1){let f=s((u?.5:1)*i,c,m,`${p}/conv1`),l=s(i,c,m,`${p}/conv2`);return{conv1:f,conv2:l}}return{extractConvLayerParams:s,extractResidualLayerParams:a}}function Ho(o){let{extractWeights:t,getRemainingWeights:e}=k(o),r=[],{extractConvLayerParams:n,extractResidualLayerParams:s}=Kn(t,r),a=n(4704,32,7,"conv32_down"),i=s(9216,32,3,"conv32_1"),c=s(9216,32,3,"conv32_2"),m=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),u=s(36864,64,3,"conv64_1"),f=s(36864,64,3,"conv64_2"),l=s(36864,64,3,"conv64_3"),b=s(147456,128,3,"conv128_down",!0),T=s(147456,128,3,"conv128_1"),h=s(147456,128,3,"conv128_2"),g=s(589824,256,3,"conv256_down",!0),P=s(589824,256,3,"conv256_1"),y=s(589824,256,3,"conv256_2"),I=s(589824,256,3,"conv256_down_out"),j=G.tidy(()=>G.transpose(G.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:a,conv32_1:i,conv32_2:c,conv32_3:m,conv64_down:p,conv64_1:u,conv64_2:f,conv64_3:l,conv128_down:b,conv128_1:T,conv128_2:h,conv256_down:g,conv256_1:P,conv256_2:y,conv256_down_out:I,fc:j},paramMappings:r}}function Qn(o,t){let e=Y(o,t);function r(a){let i=e(`${a}/scale/weights`,1),c=e(`${a}/scale/biases`,1);return{weights:i,biases:c}}function n(a){let i=e(`${a}/conv/filters`,4),c=e(`${a}/conv/bias`,1),m=r(a);return{conv:{filters:i,bias:c},scale:m}}function s(a){return{conv1:n(`${a}/conv1`),conv2:n(`${a}/conv2`)}}return{extractConvLayerParams:n,extractResidualLayerParams:s}}function zo(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Qn(o,t),n=e("conv32_down"),s=r("conv32_1"),a=r("conv32_2"),i=r("conv32_3"),c=r("conv64_down"),m=r("conv64_1"),p=r("conv64_2"),u=r("conv64_3"),f=r("conv128_down"),l=r("conv128_1"),b=r("conv128_2"),T=r("conv256_down"),h=r("conv256_1"),g=r("conv256_2"),P=r("conv256_down_out"),{fc:y}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!Rr(y))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${y}`);let I={conv32_down:n,conv32_1:s,conv32_2:a,conv32_3:i,conv64_down:c,conv64_1:m,conv64_2:p,conv64_3:u,conv128_down:f,conv128_1:l,conv128_2:b,conv256_down:T,conv256_1:h,conv256_2:g,conv256_down_out:P,fc:y};return W(o,t),{params:I,paramMappings:t}}var B=v(x());function ot(o,t){let e=Oo(o,t.conv1);return e=fo(e,t.conv2),e=B.add(e,o),e=B.relu(e),e}function Ye(o,t){let e=wr(o,t.conv1);e=fo(e,t.conv2);let r=B.avgPool(o,2,2,"valid"),n=B.zeros(r.shape),s=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let i=[...e.shape];i[1]=1;let c=B.zeros(i);e=B.concat([e,c],1);let m=[...e.shape];m[2]=1;let p=B.zeros(m);e=B.concat([e,p],2)}return r=s?B.concat([r,n],3):r,e=B.add(r,e),e=B.relu(e),e}var Kt=class extends A{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return nt.tidy(()=>{let r=nt.cast(t.toBatchTensor(150,!0),"float32"),s=rt(r,[122.782,117.001,104.298]).div(255),a=wr(s,e.conv32_down);a=nt.maxPool(a,3,2,"valid"),a=ot(a,e.conv32_1),a=ot(a,e.conv32_2),a=ot(a,e.conv32_3),a=Ye(a,e.conv64_down),a=ot(a,e.conv64_1),a=ot(a,e.conv64_2),a=ot(a,e.conv64_3),a=Ye(a,e.conv128_down),a=ot(a,e.conv128_1),a=ot(a,e.conv128_2),a=Ye(a,e.conv256_down),a=ot(a,e.conv256_1),a=ot(a,e.conv256_2),a=Ye(a,e.conv256_down_out);let i=a.mean([1,2]);return nt.matMul(i,e.fc)})}async forward(t){return this.forwardInput(await D(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(a=>a<=0))return new Float32Array(128);let e=await D(t),r=nt.tidy(()=>nt.unstack(this.forwardInput(e))),n=await Promise.all(r.map(a=>a.data()));return r.forEach(a=>a.dispose()),e.isBatchInput?n:n[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return zo(t)}extractParams(t){return Ho(t)}};function ta(o){let t=new Kt;return t.extractWeights(o),t}function Fr(o,t){return{...o,...{descriptor:t}}}function ea(o){return typeof o.age=="number"}function Dr(o,t){return{...o,...{age:t}}}function ra(o){return(o.gender==="male"||o.gender==="female")&&ce(o.genderProbability)}function Er(o,t,e){return{...o,...{gender:t,genderProbability:e}}}var Nt=v(x());var at=v(x());function oa(o,t){function e(c,m){let p=at.tensor4d(o(9*c),[3,3,c,1]),u=at.tensor1d(o(c)),f=at.tensor1d(o(c)),l=at.tensor1d(o(c)),b=at.tensor1d(o(c));return t.push({paramPath:`${m}/filters`},{paramPath:`${m}/batch_norm_scale`},{paramPath:`${m}/batch_norm_offset`},{paramPath:`${m}/batch_norm_mean`},{paramPath:`${m}/batch_norm_variance`}),{filters:p,batch_norm_scale:u,batch_norm_offset:f,batch_norm_mean:l,batch_norm_variance:b}}function r(c,m,p,u,f){let l=at.tensor4d(o(c*m*p*p),[p,p,c,m]),b=at.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/${f?"batch_norm_offset":"bias"}`}),{filters:l,bias:b}}function n(c,m,p,u){let{filters:f,bias:l}=r(c,m,p,u,!0);return{filters:f,batch_norm_offset:l}}function s(c,m,p){let u=e(c,`${p}/depthwise_conv`),f=n(c,m,1,`${p}/pointwise_conv`);return{depthwise_conv:u,pointwise_conv:f}}function a(){let c=n(3,32,3,"mobilenetv1/conv_0"),m=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),u=s(128,128,"mobilenetv1/conv_3"),f=s(128,256,"mobilenetv1/conv_4"),l=s(256,256,"mobilenetv1/conv_5"),b=s(256,512,"mobilenetv1/conv_6"),T=s(512,512,"mobilenetv1/conv_7"),h=s(512,512,"mobilenetv1/conv_8"),g=s(512,512,"mobilenetv1/conv_9"),P=s(512,512,"mobilenetv1/conv_10"),y=s(512,512,"mobilenetv1/conv_11"),I=s(512,1024,"mobilenetv1/conv_12"),j=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:b,conv_7:T,conv_8:h,conv_9:g,conv_10:P,conv_11:y,conv_12:I,conv_13:j}}function i(){let c=n(1024,256,1,"prediction_layer/conv_0"),m=n(256,512,3,"prediction_layer/conv_1"),p=n(512,128,1,"prediction_layer/conv_2"),u=n(128,256,3,"prediction_layer/conv_3"),f=n(256,128,1,"prediction_layer/conv_4"),l=n(128,256,3,"prediction_layer/conv_5"),b=n(256,64,1,"prediction_layer/conv_6"),T=n(64,128,3,"prediction_layer/conv_7"),h=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),g=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),P=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),y=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),I=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),j=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),tt=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),it=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),q=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),Pt=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),wt=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),Ft=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:b,conv_7:T,box_predictor_0:{box_encoding_predictor:h,class_predictor:g},box_predictor_1:{box_encoding_predictor:P,class_predictor:y},box_predictor_2:{box_encoding_predictor:I,class_predictor:j},box_predictor_3:{box_encoding_predictor:tt,class_predictor:it},box_predictor_4:{box_encoding_predictor:q,class_predictor:Pt},box_predictor_5:{box_encoding_predictor:wt,class_predictor:Ft}}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:i}}function Yo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=k(o),{extractMobilenetV1Params:n,extractPredictionLayerParams:s}=oa(e,t),a=n(),i=s(),m={extra_dim:at.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:a,prediction_layer:i,output_layer:m},paramMappings:t}}function na(o,t){let e=Y(o,t);function r(m,p,u){let f=e(`${m}/Conv2d_${p}_pointwise/weights`,4,`${u}/filters`),l=e(`${m}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${u}/batch_norm_offset`);return{filters:f,batch_norm_offset:l}}function n(m){let p=`mobilenetv1/conv_${m}`,u=`MobilenetV1/Conv2d_${m}_depthwise`,f=`${p}/depthwise_conv`,l=`${p}/pointwise_conv`,b=e(`${u}/depthwise_weights`,4,`${f}/filters`),T=e(`${u}/BatchNorm/gamma`,1,`${f}/batch_norm_scale`),h=e(`${u}/BatchNorm/beta`,1,`${f}/batch_norm_offset`),g=e(`${u}/BatchNorm/moving_mean`,1,`${f}/batch_norm_mean`),P=e(`${u}/BatchNorm/moving_variance`,1,`${f}/batch_norm_variance`);return{depthwise_conv:{filters:b,batch_norm_scale:T,batch_norm_offset:h,batch_norm_mean:g,batch_norm_variance:P},pointwise_conv:r("MobilenetV1",m,l)}}function s(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:n(1),conv_2:n(2),conv_3:n(3),conv_4:n(4),conv_5:n(5),conv_6:n(6),conv_7:n(7),conv_8:n(8),conv_9:n(9),conv_10:n(10),conv_11:n(11),conv_12:n(12),conv_13:n(13)}}function a(m,p){let u=e(`${m}/weights`,4,`${p}/filters`),f=e(`${m}/biases`,1,`${p}/bias`);return{filters:u,bias:f}}function i(m){let p=a(`Prediction/BoxPredictor_${m}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${m}/box_encoding_predictor`),u=a(`Prediction/BoxPredictor_${m}/ClassPredictor`,`prediction_layer/box_predictor_${m}/class_predictor`);return{box_encoding_predictor:p,class_predictor:u}}function c(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:i(0),box_predictor_1:i(1),box_predictor_2:i(2),box_predictor_3:i(3),box_predictor_4:i(4),box_predictor_5:i(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:c}}function Vo(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=na(o,t),n=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!dt(n))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${n}`);let s={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:n}};return W(o,t),{params:s,paramMappings:t}}var xt=v(x());var Ct=v(x());function Z(o,t,e){return Ct.tidy(()=>{let r=Ct.conv2d(o,t.filters,e,"same");return r=Ct.add(r,t.batch_norm_offset),Ct.clipByValue(r,0,6)})}var aa=.0010000000474974513;function sa(o,t,e){return xt.tidy(()=>{let r=xt.depthwiseConv2d(o,t.filters,e,"same");return r=xt.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,aa),xt.clipByValue(r,0,6)})}function ia(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function Go(o,t){return xt.tidy(()=>{let e,r=Z(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,a)=>{let i=a+1,c=ia(i);r=sa(r,s.depthwise_conv,c),r=Z(r,s.pointwise_conv,[1,1]),i===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function ca(o,t,e){let r=o.arraySync(),n=Math.min(r[t][0],r[t][2]),s=Math.min(r[t][1],r[t][3]),a=Math.max(r[t][0],r[t][2]),i=Math.max(r[t][1],r[t][3]),c=Math.min(r[e][0],r[e][2]),m=Math.min(r[e][1],r[e][3]),p=Math.max(r[e][0],r[e][2]),u=Math.max(r[e][1],r[e][3]),f=(a-n)*(i-s),l=(p-c)*(u-m);if(f<=0||l<=0)return 0;let b=Math.max(n,c),T=Math.max(s,m),h=Math.min(a,p),g=Math.min(i,u),P=Math.max(h-b,0)*Math.max(g-T,0);return P/(f+l-P)}function jo(o,t,e,r,n){let s=o.shape[0],a=Math.min(e,s),i=t.map((p,u)=>({score:p,boxIndex:u})).filter(p=>p.score>n).sort((p,u)=>u.score-p.score),c=p=>p<=r?1:0,m=[];return i.forEach(p=>{if(m.length>=a)return;let u=p.score;for(let f=m.length-1;f>=0;--f){let l=ca(o,p.boxIndex,m[f]);if(l!==0&&(p.score*=c(l),p.score<=n))break}u===p.score&&m.push(p.boxIndex)}),m}var d=v(x());function ma(o){let t=d.unstack(d.transpose(o,[1,0])),e=[d.sub(t[2],t[0]),d.sub(t[3],t[1])],r=[d.add(t[0],d.div(e[0],2)),d.add(t[1],d.div(e[1],2))];return{sizes:e,centers:r}}function pa(o,t){let{sizes:e,centers:r}=ma(o),n=d.unstack(d.transpose(t,[1,0])),s=d.div(d.mul(d.exp(d.div(n[2],5)),e[0]),2),a=d.add(d.mul(d.div(n[0],10),e[0]),r[0]),i=d.div(d.mul(d.exp(d.div(n[3],5)),e[1]),2),c=d.add(d.mul(d.div(n[1],10),e[1]),r[1]);return d.transpose(d.stack([d.sub(a,s),d.sub(c,i),d.add(a,s),d.add(c,i)]),[1,0])}function Uo(o,t,e){return d.tidy(()=>{let r=o.shape[0],n=pa(d.reshape(d.tile(e.extra_dim,[r,1,1]),[-1,4]),d.reshape(o,[-1,4]));n=d.reshape(n,[r,n.shape[0]/r,4]);let s=d.sigmoid(d.slice(t,[0,0,1],[-1,-1,-1])),a=d.slice(s,[0,0,0],[-1,-1,1]);a=d.reshape(a,[r,a.shape[1]]);let i=d.unstack(n),c=d.unstack(a);return{boxes:i,scores:c}})}var Ge=v(x());var Ve=v(x());function Qt(o,t){return Ve.tidy(()=>{let e=o.shape[0],r=Ve.reshape(Jt(o,t.box_encoding_predictor),[e,-1,1,4]),n=Ve.reshape(Jt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:n}})}function Xo(o,t,e){return Ge.tidy(()=>{let r=Z(o,e.conv_0,[1,1]),n=Z(r,e.conv_1,[2,2]),s=Z(n,e.conv_2,[1,1]),a=Z(s,e.conv_3,[2,2]),i=Z(a,e.conv_4,[1,1]),c=Z(i,e.conv_5,[2,2]),m=Z(c,e.conv_6,[1,1]),p=Z(m,e.conv_7,[2,2]),u=Qt(t,e.box_predictor_0),f=Qt(o,e.box_predictor_1),l=Qt(n,e.box_predictor_2),b=Qt(a,e.box_predictor_3),T=Qt(c,e.box_predictor_4),h=Qt(p,e.box_predictor_5),g=Ge.concat([u.boxPredictionEncoding,f.boxPredictionEncoding,l.boxPredictionEncoding,b.boxPredictionEncoding,T.boxPredictionEncoding,h.boxPredictionEncoding],1),P=Ge.concat([u.classPrediction,f.classPrediction,l.classPrediction,b.classPrediction,T.classPrediction,h.classPrediction],1);return{boxPredictions:g,classPredictions:P}})}var X=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var It=class extends A{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return Nt.tidy(()=>{let r=Nt.cast(t.toBatchTensor(512,!1),"float32"),n=Nt.sub(Nt.div(r,127.5),1),s=Go(n,e.mobilenetv1),{boxPredictions:a,classPredictions:i}=Xo(s.out,s.conv11,e.prediction_layer);return Uo(a,i,e.output_layer)})}async forward(t){return this.forwardInput(await D(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:n}=new X(e),s=await D(t),{boxes:a,scores:i}=this.forwardInput(s),c=a[0],m=i[0];for(let y=1;y{let[I,j]=[Math.max(0,g[y][0]),Math.min(1,g[y][2])].map(q=>q*h),[tt,it]=[Math.max(0,g[y][1]),Math.min(1,g[y][3])].map(q=>q*T);return new M(p[y],new zt(tt,I,it-tt,j-I),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return c.dispose(),m.dispose(),P}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Vo(t)}extractParams(t){return Yo(t)}};function Jo(o){let t=new It;return t.extractWeights(o),t}function ua(o){return Jo(o)}var lo=class extends It{};var qo=.4,Zo=[new _(.738768,.874946),new _(2.42204,2.65704),new _(4.30971,7.04493),new _(10.246,4.59428),new _(12.6868,11.8741)],Ko=[new _(1.603231,2.094468),new _(6.041143,7.080126),new _(2.882459,3.518061),new _(4.266906,5.178857),new _(9.041765,10.66308)],Qo=[117.001,114.697,97.404],tn="tiny_yolov2_model",en="tiny_yolov2_separable_conv_model";var C=v(x());var Mr=o=>typeof o=="number";function ho(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Mr(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Mr(t.x)&&Mr(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Mr)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}var Q=v(x());var K=v(x());function Ee(o){return K.tidy(()=>{let t=K.mul(o,K.scalar(.10000000149011612));return K.add(K.relu(K.sub(o,t)),t)})}function vt(o,t){return Q.tidy(()=>{let e=Q.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Q.conv2d(e,t.conv.filters,[1,1],"valid"),e=Q.sub(e,t.bn.sub),e=Q.mul(e,t.bn.truediv),e=Q.add(e,t.conv.bias),Ee(e)})}var Lt=v(x());function yt(o,t){return Lt.tidy(()=>{let e=Lt.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Lt.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=Lt.add(e,t.bias),Ee(e)})}var bo=v(x());function fa(o,t){let e=he(o,t);function r(a,i){let c=bo.tensor1d(o(a)),m=bo.tensor1d(o(a));return t.push({paramPath:`${i}/sub`},{paramPath:`${i}/truediv`}),{sub:c,truediv:m}}function n(a,i,c){let m=e(a,i,3,`${c}/conv`),p=r(i,`${c}/bn`);return{conv:m,bn:p}}let s=be(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:n,extractSeparableConvParams:s}}function rn(o,t,e,r){let{extractWeights:n,getRemainingWeights:s}=k(o),a=[],{extractConvParams:i,extractConvWithBatchNormParams:c,extractSeparableConvParams:m}=fa(n,a),p;if(t.withSeparableConvs){let[u,f,l,b,T,h,g,P,y]=r,I=t.isFirstLayerConv2d?i(u,f,3,"conv0"):m(u,f,"conv0"),j=m(f,l,"conv1"),tt=m(l,b,"conv2"),it=m(b,T,"conv3"),q=m(T,h,"conv4"),Pt=m(h,g,"conv5"),wt=P?m(g,P,"conv6"):void 0,Ft=y?m(P,y,"conv7"):void 0,ie=i(y||P||g,5*e,1,"conv8");p={conv0:I,conv1:j,conv2:tt,conv3:it,conv4:q,conv5:Pt,conv6:wt,conv7:Ft,conv8:ie}}else{let[u,f,l,b,T,h,g,P,y]=r,I=c(u,f,"conv0"),j=c(f,l,"conv1"),tt=c(l,b,"conv2"),it=c(b,T,"conv3"),q=c(T,h,"conv4"),Pt=c(h,g,"conv5"),wt=c(g,P,"conv6"),Ft=c(P,y,"conv7"),ie=i(y,5*e,1,"conv8");p={conv0:I,conv1:j,conv2:tt,conv3:it,conv4:q,conv5:Pt,conv6:wt,conv7:Ft,conv8:ie}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:a}}function la(o,t){let e=Y(o,t);function r(i){let c=e(`${i}/sub`,1),m=e(`${i}/truediv`,1);return{sub:c,truediv:m}}function n(i){let c=e(`${i}/filters`,4),m=e(`${i}/bias`,1);return{filters:c,bias:m}}function s(i){let c=n(`${i}/conv`),m=r(`${i}/bn`);return{conv:c,bn:m}}let a=ge(e);return{extractConvParams:n,extractConvWithBatchNormParams:s,extractSeparableConvParams:a}}function on(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:n,extractSeparableConvParams:s}=la(o,e),a;if(t.withSeparableConvs){let i=t.filterSizes&&t.filterSizes.length||9;a={conv0:t.isFirstLayerConv2d?r("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:i>7?s("conv6"):void 0,conv7:i>8?s("conv7"):void 0,conv8:r("conv8")}}else a={conv0:n("conv0"),conv1:n("conv1"),conv2:n("conv2"),conv3:n("conv3"),conv4:n("conv4"),conv5:n("conv5"),conv6:n("conv6"),conv7:n("conv7"),conv8:r("conv8")};return W(o,e),{params:a,paramMappings:e}}var st=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var Cr=class Cr extends A{constructor(t){super("TinyYolov2"),ho(t),this._config=t}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(t,e){let r=vt(t,e.conv0);return r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv1),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv2),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv3),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv4),r=C.maxPool(r,[2,2],[2,2],"same"),r=vt(r,e.conv5),r=C.maxPool(r,[2,2],[1,1],"same"),r=vt(r,e.conv6),r=vt(r,e.conv7),Jt(r,e.conv8,"valid",!1)}runMobilenet(t,e){let r=this.config.isFirstLayerConv2d?Ee(Jt(t,e.conv0,"valid",!1)):yt(t,e.conv0);return r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv1),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv2),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv3),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv4),r=C.maxPool(r,[2,2],[2,2],"same"),r=yt(r,e.conv5),r=C.maxPool(r,[2,2],[1,1],"same"),r=e.conv6?yt(r,e.conv6):r,r=e.conv7?yt(r,e.conv7):r,Jt(r,e.conv8,"valid",!1)}forwardInput(t,e){let{params:r}=this;if(!r)throw new Error("TinyYolov2 - load model before inference");return C.tidy(()=>{let n=C.cast(t.toBatchTensor(e,!1),"float32");return n=this.config.meanRgb?rt(n,this.config.meanRgb):n,n=n.div(255),this.config.withSeparableConvs?this.runMobilenet(n,r):this.runTinyYolov2(n,r)})}async forward(t,e){return this.forwardInput(await D(t),e)}async detect(t,e={}){let{inputSize:r,scoreThreshold:n}=new st(e),s=await D(t),a=await this.forwardInput(s,r),i=C.tidy(()=>C.unstack(a)[0].expandDims()),c={width:s.getInputWidth(0),height:s.getInputHeight(0)},m=await this.extractBoxes(i,s.getReshapedInputDimensions(0),n);a.dispose(),i.dispose();let p=m.map(h=>h.box),u=m.map(h=>h.score),f=m.map(h=>h.classScore),l=m.map(h=>this.config.classes[h.label]);return Vr(p.map(h=>h.rescale(r)),u,this.config.iouThreshold,!0).map(h=>new Ht(u[h],f[h],l[h],p[h],c))}getDefaultModelName(){return""}extractParamsFromWeightMap(t){return on(t,this.config)}extractParams(t){let e=this.config.filterSizes||Cr.DEFAULT_FILTER_SIZES,r=e?e.length:void 0;if(r!==7&&r!==8&&r!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${r} filterSizes in config`);return rn(t,this.config,this.boxEncodingSize,e)}async extractBoxes(t,e,r){let{width:n,height:s}=e,a=Math.max(n,s),i=a/n,c=a/s,m=t.shape[1],p=this.config.anchors.length,[u,f,l]=C.tidy(()=>{let g=t.reshape([m,m,p,this.boxEncodingSize]),P=g.slice([0,0,0,0],[m,m,p,4]),y=g.slice([0,0,0,4],[m,m,p,1]),I=this.withClassScores?C.softmax(g.slice([0,0,0,5],[m,m,p,this.config.classes.length]),3):C.scalar(0);return[P,y,I]}),b=[],T=await f.array(),h=await u.array();for(let g=0;gr){let j=(P+Ne(h[g][P][y][0]))/m*i,tt=(g+Ne(h[g][P][y][1]))/m*c,it=Math.exp(h[g][P][y][2])*this.config.anchors[y].x/m*i,q=Math.exp(h[g][P][y][3])*this.config.anchors[y].y/m*c,Pt=j-it/2,wt=tt-q/2,Ft={row:g,col:P,anchor:y},{classScore:ie,label:yo}=this.withClassScores?await this.extractPredictedClass(l,Ft):{classScore:1,label:0};b.push({box:new Ot(Pt,wt,Pt+it,wt+q),score:I,classScore:I*ie,label:yo,...Ft})}}return u.dispose(),f.dispose(),l.dispose(),b}async extractPredictedClass(t,e){let{row:r,col:n,anchor:s}=e,a=await t.array();return Array(this.config.classes.length).fill(0).map((i,c)=>a[r][n][s][c]).map((i,c)=>({classScore:i,label:c})).reduce((i,c)=>i.classScore>c.classScore?i:c)}};Cr.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Me=Cr;var te=class extends Me{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:qo,classes:["face"],...t?{anchors:Ko,meanRgb:Qo}:{anchors:Zo,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?en:tn}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function da(o,t=!0){let e=new te(t);return e.extractWeights(o),e}var je=class extends st{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var J=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};var Xe=v(x());var go=v(x());async function ee(o,t,e,r,n=({alignedRect:s})=>s){let s=o.map(c=>qt(c)?n(c):c.detection),a=r||(t instanceof go.Tensor?await le(t,s):await fe(t,s)),i=await e(a);return a.forEach(c=>c instanceof go.Tensor&&c.dispose()),i}async function Ce(o,t,e,r,n){return ee([o],t,async s=>e(s[0]),r,n)}var nn=.4,an=[new _(1.603231,2.094468),new _(6.041143,7.080126),new _(2.882459,3.518061),new _(4.266906,5.178857),new _(9.041765,10.66308)],sn=[117.001,114.697,97.404];var re=class extends Me{constructor(){let t={withSeparableConvs:!0,iouThreshold:nn,classes:["face"],anchors:an,meanRgb:sn,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var F={ssdMobilenetv1:new It,tinyFaceDetector:new re,tinyYolov2:new te,faceLandmark68Net:new Zt,faceLandmark68TinyNet:new ze,faceRecognitionNet:new Kt,faceExpressionNet:new Oe,ageGenderNet:new He},cn=(o,t)=>F.ssdMobilenetv1.locateFaces(o,t),ha=(o,t)=>F.tinyFaceDetector.locateFaces(o,t),ba=(o,t)=>F.tinyYolov2.locateFaces(o,t),mn=o=>F.faceLandmark68Net.detectLandmarks(o),ga=o=>F.faceLandmark68TinyNet.detectLandmarks(o),xa=o=>F.faceRecognitionNet.computeFaceDescriptor(o),va=o=>F.faceExpressionNet.predictExpressions(o),ya=o=>F.ageGenderNet.predictAgeAndGender(o),pn=o=>F.ssdMobilenetv1.load(o),_a=o=>F.tinyFaceDetector.load(o),Ta=o=>F.tinyYolov2.load(o),Pa=o=>F.faceLandmark68Net.load(o),wa=o=>F.faceLandmark68TinyNet.load(o),Fa=o=>F.faceRecognitionNet.load(o),Da=o=>F.faceExpressionNet.load(o),Ea=o=>F.ageGenderNet.load(o),Ma=pn,Ca=cn,Ia=mn;var Ir=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},oe=class extends Ir{async run(){let t=await this.parentTask,e=await ee(t,this.input,async r=>Promise.all(r.map(n=>F.faceExpressionNet.predictExpressions(n))),this.extractedFaces);return t.map((r,n)=>gr(r,e[n]))}withAgeAndGender(){return new ae(this,this.input)}},ne=class extends Ir{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>F.faceExpressionNet.predictExpressions(r),this.extractedFaces);return gr(t,e)}withAgeAndGender(){return new se(this,this.input)}},St=class extends oe{withAgeAndGender(){return new Wt(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},At=class extends ne{withAgeAndGender(){return new kt(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Nr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ae=class extends Nr{async run(){let t=await this.parentTask,e=await ee(t,this.input,async r=>Promise.all(r.map(n=>F.ageGenderNet.predictAgeAndGender(n))),this.extractedFaces);return t.map((r,n)=>{let{age:s,gender:a,genderProbability:i}=e[n];return Dr(Er(r,a,i),s)})}withFaceExpressions(){return new oe(this,this.input)}},se=class extends Nr{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:n}=await Ce(t,this.input,s=>F.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return Dr(Er(t,r,n),e)}withFaceExpressions(){return new ne(this,this.input)}},Wt=class extends ae{withFaceExpressions(){return new St(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},kt=class extends se{withFaceExpressions(){return new At(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Ue=class extends J{constructor(e,r){super();this.parentTask=e;this.input=r}},_t=class extends Ue{async run(){let t=await this.parentTask;return(await ee(t,this.input,r=>Promise.all(r.map(n=>F.faceRecognitionNet.computeFaceDescriptor(n))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,n)=>Fr(t[n],r))}withFaceExpressions(){return new St(this,this.input)}withAgeAndGender(){return new Wt(this,this.input)}},Tt=class extends Ue{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>F.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return Fr(t,e)}withFaceExpressions(){return new At(this,this.input)}withAgeAndGender(){return new kt(this,this.input)}};var Je=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?F.faceLandmark68TinyNet:F.faceLandmark68Net}},qe=class extends Je{async run(){let t=await this.parentTask,e=t.map(a=>a.detection),r=this.input instanceof Xe.Tensor?await le(this.input,e):await fe(this.input,e),n=await Promise.all(r.map(a=>this.landmarkNet.detectLandmarks(a)));return r.forEach(a=>a instanceof Xe.Tensor&&a.dispose()),t.filter((a,i)=>n[i]).map((a,i)=>Pe(a,n[i]))}withFaceExpressions(){return new St(this,this.input)}withAgeAndGender(){return new Wt(this,this.input)}withFaceDescriptors(){return new _t(this,this.input)}},Ze=class extends Je{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof Xe.Tensor?await le(this.input,[e]):await fe(this.input,[e]),n=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(s=>s instanceof Xe.Tensor&&s.dispose()),Pe(t,n)}withFaceExpressions(){return new At(this,this.input)}withAgeAndGender(){return new kt(this,this.input)}withFaceDescriptor(){return new Tt(this,this.input)}};var Ke=class extends J{constructor(e,r=new X){super();this.input=e;this.options=r}},Ie=class extends Ke{async run(){let{input:t,options:e}=this,r;if(e instanceof je)r=F.tinyFaceDetector.locateFaces(t,e);else if(e instanceof X)r=F.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof st)r=F.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(n=>Vt({},n)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new qe(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new oe(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new ae(this.runAndExtendWithFaceDetections(),this.input)}},Qe=class extends Ke{async run(){let t=await new Ie(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?Vt({},e):void 0)})}withFaceLandmarks(t=!1){return new Ze(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new ne(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new se(this.runAndExtendWithFaceDetection(),this.input)}};function Na(o,t=new X){return new Qe(o,t)}function Lr(o,t=new X){return new Ie(o,t)}async function un(o,t){return Lr(o,new X(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function La(o,t={}){return Lr(o,new st(t)).withFaceLandmarks().withFaceDescriptors()}var Sa=un;function xo(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((n,s)=>n-r[s]).reduce((n,s)=>n+s*s,0))}var vo=class o{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let n=1,s=()=>`person ${n++}`;this._labeledDescriptors=r.map(a=>{if(a instanceof Et)return a;if(a instanceof Float32Array)return new Et(s(),[a]);if(a.descriptor&&a.descriptor instanceof Float32Array)return new Et(s(),[a.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>xo(r,t)).reduce((r,n)=>r+n,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new me(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>Et.fromJSON(r));return new o(e,t.distanceThreshold)}};function Aa(o){let t=new re;return t.extractWeights(o),t}function fn(o,t){let{width:e,height:r}=new R(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(n=>fn(n,{width:e,height:r}));if(qt(o)){let n=o.detection.forSize(e,r),s=o.unshiftedLandmarks.forSize(n.box.width,n.box.height);return Pe(Vt(o,n),s)}return pt(o)?Vt(o,o.detection.forSize(e,r)):o instanceof H||o instanceof M?o.forSize(e,r):o}var ka=No;0&&(module.exports={AgeGenderNet,BoundingBox,Box,ComposableTask,ComputeAllFaceDescriptorsTask,ComputeFaceDescriptorsTaskBase,ComputeSingleFaceDescriptorTask,DetectAllFaceLandmarksTask,DetectAllFacesTask,DetectFaceLandmarksTaskBase,DetectFacesTaskBase,DetectSingleFaceLandmarksTask,DetectSingleFaceTask,Dimensions,FACE_EXPRESSION_LABELS,FaceDetection,FaceDetectionNet,FaceExpressionNet,FaceExpressions,FaceLandmark68Net,FaceLandmark68TinyNet,FaceLandmarkNet,FaceLandmarks,FaceLandmarks5,FaceLandmarks68,FaceMatch,FaceMatcher,FaceRecognitionNet,Gender,LabeledBox,LabeledFaceDescriptors,NetInput,NeuralNetwork,ObjectDetection,Point,PredictedBox,Rect,SsdMobilenetv1,SsdMobilenetv1Options,TinyFaceDetector,TinyFaceDetectorOptions,TinyYolov2,TinyYolov2Options,allFaces,allFacesSsdMobilenetv1,allFacesTinyYolov2,awaitMediaLoaded,bufferToImage,computeFaceDescriptor,createCanvas,createCanvasFromMedia,createFaceDetectionNet,createFaceRecognitionNet,createSsdMobilenetv1,createTinyFaceDetector,createTinyYolov2,detectAllFaces,detectFaceLandmarks,detectFaceLandmarksTiny,detectLandmarks,detectSingleFace,draw,env,euclideanDistance,extendWithAge,extendWithFaceDescriptor,extendWithFaceDetection,extendWithFaceExpressions,extendWithFaceLandmarks,extendWithGender,extractFaceTensors,extractFaces,fetchImage,fetchJson,fetchNetWeights,fetchOrThrow,fetchVideo,getContext2dOrThrow,getMediaDimensions,imageTensorToCanvas,imageToSquare,inverseSigmoid,iou,isMediaElement,isMediaLoaded,isWithAge,isWithFaceDetection,isWithFaceExpressions,isWithFaceLandmarks,isWithGender,loadAgeGenderModel,loadFaceDetectionModel,loadFaceExpressionModel,loadFaceLandmarkModel,loadFaceLandmarkTinyModel,loadFaceRecognitionModel,loadSsdMobilenetv1Model,loadTinyFaceDetectorModel,loadTinyYolov2Model,loadWeightMap,locateFaces,matchDimensions,minBbox,nets,nonMaxSuppression,normalize,padToSquare,predictAgeAndGender,recognizeFaceExpressions,resizeResults,resolveInput,shuffleArray,sigmoid,ssdMobilenetv1,tf,tinyFaceDetector,tinyYolov2,toNetInput,utils,validateConfig,version}); diff --git a/package-lock.json b/package-lock.json index ba999a3..0f8e457 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,37 +9,38 @@ "version": "1.7.13", "license": "MIT", "devDependencies": { - "@canvas/image": "^1.0.1", - "@microsoft/api-extractor": "^7.35.2", - "@tensorflow/tfjs": "^4.7.0", - "@tensorflow/tfjs-backend-cpu": "^4.7.0", - "@tensorflow/tfjs-backend-wasm": "^4.7.0", - "@tensorflow/tfjs-backend-webgl": "^4.7.0", - "@tensorflow/tfjs-backend-webgpu": "4.7.0", - "@tensorflow/tfjs-converter": "^4.7.0", - "@tensorflow/tfjs-core": "^4.7.0", - "@tensorflow/tfjs-data": "^4.7.0", - "@tensorflow/tfjs-layers": "^4.7.0", - "@tensorflow/tfjs-node": "^4.7.0", - "@tensorflow/tfjs-node-gpu": "^4.7.0", - "@types/node": "^20.3.0", - "@types/offscreencanvas": "^2019.7.0", - "@typescript-eslint/eslint-plugin": "^5.59.9", - "@typescript-eslint/parser": "^5.59.9", - "@vladmandic/build": "^0.9.2", - "@vladmandic/pilogger": "^0.4.8", - "esbuild": "^0.18.1", - "eslint": "^8.42.0", + "@canvas/image": "^2.0.0", + "@microsoft/api-extractor": "^7.39.1", + "@tensorflow/tfjs": "^4.16.0", + "@tensorflow/tfjs-backend-cpu": "^4.16.0", + "@tensorflow/tfjs-backend-wasm": "^4.16.0", + "@tensorflow/tfjs-backend-webgl": "^4.16.0", + "@tensorflow/tfjs-backend-webgpu": "4.16.0", + "@tensorflow/tfjs-converter": "^4.16.0", + "@tensorflow/tfjs-core": "^4.16.0", + "@tensorflow/tfjs-data": "^4.16.0", + "@tensorflow/tfjs-layers": "^4.16.0", + "@tensorflow/tfjs-node": "^4.16.0", + "@tensorflow/tfjs-node-gpu": "^4.16.0", + "@types/node": "^20.11.5", + "@types/offscreencanvas": "^2019.7.3", + "@typescript-eslint/eslint-plugin": "^6.19.0", + "@typescript-eslint/parser": "^6.19.0", + "@vladmandic/build": "^0.9.3", + "@vladmandic/pilogger": "^0.4.9", + "esbuild": "^0.19.11", + "eslint": "^8.56.0", "eslint-config-airbnb-base": "^15.0.0", - "eslint-plugin-import": "^2.27.5", + "eslint-plugin-import": "^2.29.1", "eslint-plugin-json": "^3.1.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^6.1.1", - "rimraf": "^5.0.1", + "node-fetch": "^3.3.2", + "rimraf": "^5.0.5", "seedrandom": "^3.0.5", - "tslib": "^2.5.3", - "typedoc": "^0.24.8", - "typescript": "5.1.3" + "tslib": "^2.6.2", + "typedoc": "^0.25.7", + "typescript": "5.3.3" }, "engines": { "node": ">=14.0.0" @@ -55,9 +56,9 @@ } }, "node_modules/@canvas/image": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@canvas/image/-/image-1.0.1.tgz", - "integrity": "sha512-nQ6Qt/marzeQkFikxw32qMep5Rs1U/7DdjqHlCn8ck78IX56CFnXjdfRCXOiM4kx8yvS4SmcPXuJjfpczRjFqA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@canvas/image/-/image-2.0.0.tgz", + "integrity": "sha512-DQKEftZ5M4eM8Rzhv8FFZGdOsO8bVjzPC/9pBF+P//HjQM/Xf+PvQRTv97mVpsHt+Pejs1V7ooK6xf+dYgDNpw==", "dev": true, "dependencies": { "@canvas/image-data": "^1.0.0", @@ -66,13 +67,14 @@ "@cwasm/nsbmp": "^0.1.0", "@cwasm/nsgif": "^0.1.0", "@cwasm/webp": "^0.1.3", + "decode-ico": "^0.4.1", "fast-base64-decode": "^1.0.0", "fast-base64-encode": "^1.0.0", "fast-base64-length": "^1.0.0", - "simple-get": "^3.1.0" + "simple-get": "^4.0.1" }, "engines": { - "node": ">=8.3" + "node": ">=10" } }, "node_modules/@canvas/image-data": { @@ -127,9 +129,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", "cpu": [ "ppc64" ], @@ -143,9 +145,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", "cpu": [ "arm" ], @@ -159,9 +161,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", "cpu": [ "arm64" ], @@ -175,9 +177,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", "cpu": [ "x64" ], @@ -191,9 +193,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", "cpu": [ "arm64" ], @@ -207,9 +209,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", "cpu": [ "x64" ], @@ -223,9 +225,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", "cpu": [ "arm64" ], @@ -239,9 +241,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", "cpu": [ "x64" ], @@ -255,9 +257,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", "cpu": [ "arm" ], @@ -271,9 +273,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", "cpu": [ "arm64" ], @@ -287,9 +289,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", "cpu": [ "ia32" ], @@ -303,9 +305,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", "cpu": [ "loong64" ], @@ -319,9 +321,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", "cpu": [ "mips64el" ], @@ -335,9 +337,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", "cpu": [ "ppc64" ], @@ -351,9 +353,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", "cpu": [ "riscv64" ], @@ -367,9 +369,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", "cpu": [ "s390x" ], @@ -383,9 +385,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", "cpu": [ "x64" ], @@ -399,9 +401,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", "cpu": [ "x64" ], @@ -415,9 +417,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", "cpu": [ "x64" ], @@ -431,9 +433,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", "cpu": [ "x64" ], @@ -447,9 +449,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", "cpu": [ "arm64" ], @@ -463,9 +465,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", "cpu": [ "ia32" ], @@ -479,9 +481,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", "cpu": [ "x64" ], @@ -794,6 +796,26 @@ "node": ">=10" } }, + "node_modules/@mapbox/node-pre-gyp/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/@mapbox/node-pre-gyp/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -866,19 +888,6 @@ "@rushstack/node-core-library": "3.63.0" } }, - "node_modules/@microsoft/api-extractor/node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/@microsoft/tsdoc": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz", @@ -1076,31 +1085,15 @@ "dev": true }, "node_modules/@tensorflow/tfjs-backend-webgpu": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgpu/-/tfjs-backend-webgpu-4.7.0.tgz", - "integrity": "sha512-6CbOn6pHmpltUJgJaZ4S3cpb5XGaEd6zV3c/WZ4kSjQTZuUOZ9xLxSY71JPD2/+csbh+nULxtNymYbPZV0WsTA==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgpu/-/tfjs-backend-webgpu-4.16.0.tgz", + "integrity": "sha512-zAYIz/HU4LrEpo2/3TPxHzmWYGeJfE1MZNj5Vas8JhyPr3J34ijjliKyT0nqYUWVxfybAGMUZhYQ+8jHURJV1Q==", "dev": true, "dependencies": { - "@tensorflow/tfjs-backend-cpu": "4.7.0" + "@tensorflow/tfjs-backend-cpu": "4.16.0" }, "peerDependencies": { - "@tensorflow/tfjs-core": "4.7.0" - } - }, - "node_modules/@tensorflow/tfjs-backend-webgpu/node_modules/@tensorflow/tfjs-backend-cpu": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-4.7.0.tgz", - "integrity": "sha512-jHtDUWTjNGhExbm4OKzSOBrbntlcHKU9VJV+EBcqqWR4fZpD3NhyqXrxFMgtyAJ4c5/z1KvYMwiliyKQPJVK9w==", - "dev": true, - "dependencies": { - "@types/seedrandom": "^2.4.28", - "seedrandom": "^3.0.5" - }, - "engines": { - "yarn": ">= 1.3.2" - }, - "peerDependencies": { - "@tensorflow/tfjs-core": "4.7.0" + "@tensorflow/tfjs-core": "4.16.0" } }, "node_modules/@tensorflow/tfjs-converter": { @@ -1130,6 +1123,26 @@ "yarn": ">= 1.3.2" } }, + "node_modules/@tensorflow/tfjs-core/node_modules/node-fetch": { + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.13.tgz", + "integrity": "sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/@tensorflow/tfjs-data": { "version": "4.16.0", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-4.16.0.tgz", @@ -1145,6 +1158,26 @@ "seedrandom": "^3.0.5" } }, + "node_modules/@tensorflow/tfjs-data/node_modules/node-fetch": { + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.13.tgz", + "integrity": "sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/@tensorflow/tfjs-layers": { "version": "4.16.0", "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-4.16.0.tgz", @@ -1326,32 +1359,33 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", "dev": true, "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1360,25 +1394,26 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1387,16 +1422,16 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1404,25 +1439,25 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", "debug": "^4.3.4", - "tsutils": "^3.21.0" + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1431,12 +1466,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1444,21 +1479,22 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1470,43 +1506,66 @@ } } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1544,644 +1603,6 @@ "node": ">=14.0.0" } }, - "node_modules/@vladmandic/build/node_modules/@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vladmandic/build/node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.0.tgz", - "integrity": "sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/type-utils": "6.19.0", - "@typescript-eslint/utils": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@vladmandic/build/node_modules/@typescript-eslint/parser": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.0.tgz", - "integrity": "sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/typescript-estree": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@vladmandic/build/node_modules/@typescript-eslint/scope-manager": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz", - "integrity": "sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vladmandic/build/node_modules/@typescript-eslint/type-utils": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.0.tgz", - "integrity": "sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "6.19.0", - "@typescript-eslint/utils": "6.19.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@vladmandic/build/node_modules/@typescript-eslint/types": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.0.tgz", - "integrity": "sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vladmandic/build/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz", - "integrity": "sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@vladmandic/build/node_modules/@typescript-eslint/utils": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.0.tgz", - "integrity": "sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/typescript-estree": "6.19.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/@vladmandic/build/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz", - "integrity": "sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vladmandic/build/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@vladmandic/build/node_modules/esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" - } - }, - "node_modules/@vladmandic/build/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@vladmandic/build/node_modules/typedoc": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.7.tgz", - "integrity": "sha512-m6A6JjQRg39p2ZVRIN3NKXgrN8vzlHhOS+r9ymUYtcUP/TIQPvWSq7YgE5ZjASfv5Vd5BW5xrir6Gm2XNNcOow==", - "dev": true, - "dependencies": { - "lunr": "^2.3.9", - "marked": "^4.3.0", - "minimatch": "^9.0.3", - "shiki": "^0.14.7" - }, - "bin": { - "typedoc": "bin/typedoc" - }, - "engines": { - "node": ">= 16" - }, - "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x" - } - }, - "node_modules/@vladmandic/build/node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/@vladmandic/pilogger": { "version": "0.4.9", "resolved": "https://registry.npmjs.org/@vladmandic/pilogger/-/pilogger-0.4.9.tgz", @@ -2656,6 +2077,15 @@ "node": ">= 8" } }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -2673,16 +2103,46 @@ } } }, - "node_modules/decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "node_modules/decode-bmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/decode-bmp/-/decode-bmp-0.2.1.tgz", + "integrity": "sha512-NiOaGe+GN0KJqi2STf24hfMkFitDUaIoUU3eKvP/wAbLe8o6FuW5n/x7MHPR0HKvBokp6MQY/j7w8lewEeVCIA==", "dev": true, "dependencies": { - "mimic-response": "^2.0.0" + "@canvas/image-data": "^1.0.0", + "to-data-view": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=8.6.0" + } + }, + "node_modules/decode-ico": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/decode-ico/-/decode-ico-0.4.1.tgz", + "integrity": "sha512-69NZfbKIzux1vBOd31al3XnMnH+2mqDhEgLdpygErm4d60N+UwA5Sq5WFjmEDQzumgB9fElojGwWG0vybVfFmA==", + "dev": true, + "dependencies": { + "@canvas/image-data": "^1.0.0", + "decode-bmp": "^0.2.0", + "to-data-view": "^1.1.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/deep-is": { @@ -2891,9 +2351,9 @@ } }, "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", "dev": true, "hasInstallScript": true, "bin": { @@ -2903,28 +2363,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" } }, "node_modules/escalade": { @@ -3211,19 +2672,6 @@ "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -3344,15 +2792,6 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -3435,6 +2874,29 @@ "reusify": "^1.0.4" } }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -3581,6 +3043,18 @@ "node": ">= 6" } }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dev": true, + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -4538,12 +4012,12 @@ } }, "node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4622,30 +4096,41 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } }, "node_modules/node-fetch": { - "version": "2.6.13", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.13.tgz", - "integrity": "sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dev": true, "dependencies": { - "whatwg-url": "^5.0.0" + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" }, "engines": { - "node": "4.x || >=6.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" } }, "node_modules/nopt": { @@ -5304,12 +4789,26 @@ ] }, "node_modules/simple-get": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "decompress-response": "^4.2.0", + "decompress-response": "^6.0.0", "once": "^1.3.1", "simple-concat": "^1.0.0" } @@ -5534,6 +5033,12 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "node_modules/to-data-view": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/to-data-view/-/to-data-view-1.1.0.tgz", + "integrity": "sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==", + "dev": true + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -5582,27 +5087,6 @@ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "dev": true }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -5693,24 +5177,24 @@ } }, "node_modules/typedoc": { - "version": "0.24.8", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.8.tgz", - "integrity": "sha512-ahJ6Cpcvxwaxfu4KtjA8qZNqS43wYt6JL27wYiIgl1vd38WW/KWX11YuAeZhuz9v+ttrutSsgK+XO1CjL1kA3w==", + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.7.tgz", + "integrity": "sha512-m6A6JjQRg39p2ZVRIN3NKXgrN8vzlHhOS+r9ymUYtcUP/TIQPvWSq7YgE5ZjASfv5Vd5BW5xrir6Gm2XNNcOow==", "dev": true, "dependencies": { "lunr": "^2.3.9", "marked": "^4.3.0", - "minimatch": "^9.0.0", - "shiki": "^0.14.1" + "minimatch": "^9.0.3", + "shiki": "^0.14.7" }, "bin": { "typedoc": "bin/typedoc" }, "engines": { - "node": ">= 14.14" + "node": ">= 16" }, "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x" + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x" } }, "node_modules/typedoc/node_modules/brace-expansion": { @@ -5738,9 +5222,9 @@ } }, "node_modules/typescript": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", - "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -5853,6 +5337,15 @@ "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", "dev": true }, + "node_modules/web-streams-polyfill": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz", + "integrity": "sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", diff --git a/src/dom/NetInput.ts b/src/dom/NetInput.ts index aadd009..d036f1f 100644 --- a/src/dom/NetInput.ts +++ b/src/dom/NetInput.ts @@ -138,7 +138,15 @@ export class NetInput { } if (input instanceof env.getEnv().Canvas) { - return tf['browser'].fromPixels(imageToSquare(input, inputSize, isCenterInputs)); + const outputCanvas = imageToSquare(input, inputSize, isCenterInputs); + const result = tf['browser'].fromPixels(outputCanvas); + + outputCanvas.width = 1; + outputCanvas.height = 1; + const ctx: CanvasRenderingContext2D | null = outputCanvas.getContext('2d'); + if (ctx) ctx.clearRect(0, 0, 1, 1); + + return result; } throw new Error(`toBatchTensor - at batchIdx ${batchIdx}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${input}`); diff --git a/typedoc/assets/navigation.js b/typedoc/assets/navigation.js index ef33703..110e16a 100644 --- a/typedoc/assets/navigation.js +++ b/typedoc/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/typedoc/assets/search.js b/typedoc/assets/search.js index 245dc16..7e19c09 100644 --- a/typedoc/assets/search.js +++ b/typedoc/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAA8y9bZPbNrL3/V3st86sCIBP+y4Pzm5OJU4q9u5e9711KiWPOGOdzEizksZx9tT93e8impKIP7vBBklnrzdxZdBEN9EgHn5otP73xWH/2/HFn//5vy9+3e42L/5szasXu/Vj8+LPLz42h+N2v3vx6sXz4aH9//Vhu37/0Bz/1JXcfDg9Prx49eL2YX08NscXf37x4v97da7IXeo53V2qeNxvntsKTnfRZ1VGnO5uZDtevXhaH5rdidRfay7y3BaXyn/55fT7UzNe98uLoKTiLN5Tla1Mvw3+5/jF7f6gV3bTPvJL98iY2pvOwJj29+vbX5vd5ovbp+dEI7onf6Enl7Tlt+b9/cNEa87PLmHPZn1aJ5rRPbKE9of1783hmKj/8tASFtzudx+bw6k5JHfP63ML2JGmfZLOq8LtnhuWtvuU0eRa2+3+6fcf9pvm2pvvnne3p+1+d672IjGm4Ga753U8bI8nX8NRVHIVmazlcf+xib/JRWKyjkMzrqUnM1nP+3Z2aw7fbh8auc36QnM1/fXdu59+bv713BxPY/p6omlaM1Nd1H69f3zaH7en5svDYf37V893d71vuKuuU8uJpik2K3fV/D/77S5V08vuoYg69uGeDXlmet/c7ng6PN+e9snv/DJ8doZBwSD2/vdT832zuz99SDYoeHSGPYGTjg/b2ybZlPNTM6wIRsbd7frU7NaBrPw5CvKTv8xNc7vfNP9otvcfTrLWQGoZXW9Ph2b9qNNIspP1NjvNOwZSk3XdHfaPPzSP+8PvoqKryAJa3v6+u1VoasUma7tvTt/v15u/rnebh1jfBLk5+vzE9uXhtL1b356O3+4P//X2xzcxxewDi1sQbe3YQ8tZ8t3ubp/cHr2H5ljydv2x0fSCvtwcffQxvn1qbqPqemKTtX04nZ5EHW1h4mIgv+6jv/uxa4tL/dvdqTncrW8vs81FJHGt059dj+uPjVbDy044NoddzRYUPuzXG7XCTjhVoVnVZZabYVsGX2K7ixnonfDZxfBHXIeCgeBzKj+qtN6keNM/HN9sBo7VWZDiXt6C3re4Pbar/7e3H5rHRvwm+0KpC/WwT/XmLPate+WfqT+hBl1v6tvNjzytxI9PvtXkD7UnNGP0OdBe7bvd9qRX9TJ8auxlz68imLDf/XTY3x+aY8LLvgwemmnAXXO6/fDtc29gGtfffyZdfbSHJSi/UXe48/NXu6Vh7HTY3qb0hcsDM73wm18N/LQ+ffjp0NxtPyWYwDw6t0sc9o/vvv3r8/sUr/SeWaQt/nZ4+HqAMLWtAQ//4X10aEXXWb9wCd2VeRe53zbrR9wsqrpv8NyEhgpn4LH9ak9m+to03CbIrxvKzZgnHtuK3u2f9g/7+9+T9L3ER2MtDO8lUfXDervb7u6/3u/utvdp1gyenW/Ob8x2R2VL+OBShnzTP/ZJsOObkbMftRnXrV3IilS2DB+eZFDa6KUwRDfVQkX4MtJssz88riNzLmfe5Zkl/LVrDutTs/kq8csOH5xvyPngLdmQ8MH5hhy397v16fmQ2GX6j/2Heu3FBO1sC5VcX0Fomudjc/imudvums0PzWm9SR5s+Ar+Q83FGHNuuDyt4bjX+qMsvfnll+1u03w6/6GYbXpX07ni6Kqg3QVu1w/bf8dWqeLCIHz6P9QN0JJzQ9q0hhy8kNBs26vI22kjjVDDf6j5OGvOTWjSmpB9Mc0auEXlWqtb2Rlr4c361LSoPEJRBX0v+4/qW8W/m2Zh/i7BdVejuCo+g3Ff/X5q1AtkwbpzHcuY11t/TzSOqWFJ09ol+SzL+hVMNmzw0QWHWLxF6UdWk7ebF1XpO03/IrNGQkF50ujn6whtX2LjezUtfc8LDcN0zeMP6932rh8RNGbF8LlZZqg2TVft+v1STKl+q3TVnLhLiqnXb5Cu6hP3RjH12m3RVXnSjmjJr3GwD1It5fzzn2ELdLVr4u5nyaaJ7CRUm0Vf0+LbHZ19uNNRbdIkgz/PJgdmhMT9zeIzErOrydImpc+zobmaOXUvs2RTRXYw6sZK3bq8Pe0PzQ/r3fp+tE/1RWdEtzKh1kp9L4NHR9sjeDXBGC5aWmtN+Ox0c8KAgh8vZ8pfrx8e2hsZ7Kn/UOwzhRcIinRRBszLCEHr99vjqTm0Z1s/75/7R43D2HUUnREqT1W1e2Gl1qvo9GOzLjL9m+a03sY+glBuxj5me/xqu1sfIqs1RtXL3lMxF8Pb8K/cNtvYduEqM+NV/Sajvd7y4+4h8r6g6yU+Fnvh3ruIE9Htw/OmaQ9pH+NzNdrBPJlsCg4ovXhK9gPvlX+mIQQ16MaOvt1yr/q5OT4/RDZgV5m5IEAJ+UDhS/bZsffu3koMlzo+7XfHGJBBK/qPzFPeHA77Q4Lmi3yy2r6r3ymZQyg3w+X78yfYXsRLVfmSeTr2+vB2U5eTGkt060moafA6YuxnLHyOM697YlLjhJ9o00aAJWq/PjTfAAJLzeaXSZYwT8836bh+fHpofqG6f2kHojSj2Ofnm9X6vKt0Qm/pPTnJFJwe/zEMV+nPXdfieXHCVM9fDvvnp4geXz55Pdu1TLsybg7frtsLePJFIk54wflfre4lW6Iapdgn2UYY88uFB8P8MvQQSE7fBUB1r3en2AKdk54xu/l/0pW97J6LOYV9L2mA+rCOzWeyHecHlzJkE59YZUM2im6aYsh9MEAkGHJ+cClD/vW83p22/16f+hlCEuyB52eYlbYG0lmkG1/YuoIXk/r17fphKRtvzpXNsnTk0s7jdraTz+Y+jl5Dn2vs5I+VM3ejgtETTO7Py9vTB24XPpgjQ7np64Cwnui9U0Y2Te8gT8NFVS/1R1c0VrN8X/mn7afm4fjlUXyVswYQHn2Xs9Gs5tOeqoqrPEvN07U5rH+L62kl5um4No62ESfo62WY2j6u74W0TL4opT+os0tda9ZwJm+hdLj/sH36vrk7/dx+/EplN/hQXDUzbkx/0VC37sy5ZwSYLq5Q1r/7Kend/ue/fKW1bPDUH9ksoXLdqW2/XcB4mcpt/928adaH5nh6004Y7/dC0qehidLDf2QzsTZcYojiU2S/ufh3ibbaV9uH7a5ZJzZX76k/vp3Oyi/n2XViA12sl1rm/v27/V/OXU9tHD71h7ZMoPzSdfQjEFgvtcz+tD41/9iePvx4d3ds1EMz89wf2jqg/tI++pFo8AZSiNZh//TlbvOz72ha+/ChP7JtAt26EJF+u4SmS9Bjv/th/ent89NTeyAtZr4cGsc9+Ec2zkD/uYFKdQMNX0HbSOGaO9XS89P/0eainUDXZvphWngZbcO1X+lbOS+pwu5+Df/RBrwYcvky9UNW5K2SW3JeXxxU839Hmwa9M5vxScP7aVv3p/Vm07tFkvoel8f/o61JVlxaUT9zSO+T1nrzOmZYx/8F7Rh2Sf3yLfpmUsTOh0Nz/LB/UPfA/gN/ZFtd9F7Wbfpv9WqzHLe0O7a3A9TW9B74Q1vhrPfSCvoJ9WozT9ua3XEv0FEq+8JMI4in7UY4CG1LptV53N+dHtef+Gq7wmk1P++Op37YZ1BzVzit5kPz8MxX25ZMq3O92fBVrjebaTW2d0WMUCmVTax3LWUObkum1fnv5rAXYKovmtwCt2vJVl820Vcf73/a74W80F3hxK9B7rEz+uvd9kEwti2ZOBa0g9DT/iiEKlyKJ9bux6lM6L3n0i+yObVL38a5dF7tNlq7nVm7i9buJtf+uP4k9+yucGrNpx+exYrbson1ipVOrfHYSxQWfoHP7yfWeLt+WAszMpVNq3ez/chXutl+nFbj01roWE/ribNFmN87fPW2aOoMHMa8wCTsC2fYK328XeG0mptPT+vd5pvtozDRXcsn9obm6fTht+2xDWUXJ34QmthGzdP60C5uY5pAaKKm7f3jfitpoMLJ3hDdMHV1/CBNhtuHib3x/fp0++FNfz8THjSfiyeujx62T1/9/vf1w7NgeE8gQUPv5Pr1m7/zO6LXb/6eUGP/9yT+3lVzqbd7vq31XJZQdcKvNQS1a3+e4WLu2E2bcY190cn6gpBFUdVYgCKjJbgPuD62F6/H9VzkJmvabMNVqKjqKji57XoDkahmG/KU03Hzxfb4xXb3oTlsTx7wpWhsbzZ/p9B6kVtMczi/ioqHEaRz9fZP2mS1eLQ2t50DdiM38yAOZqbew3r36zuV6p7kYtp/bZ5O45o7qeU8fLt/ajSd+iq44Bsf1scf1sdfNa99FV3u3U+H7aZ34Ux+94vgHN2mMJkLe5uup83V2x+h34s/+RTqvcgtrDmI2xzR/hbPDmZasG5/HkgxDXZiy+rVvXhfdDH9QRqV6Ky1tNZ3+7/89Ded6rPoovp1jd6TXK63B7nF5I4+yCA2e1zZHr+hxZVmfdSXXezdTx8O+9++u9ObMXxgMVueDtudYlo9iy2m9/Zhv1MsJM5iy7X9/u3psN3dKxr9KrmY9vOuclx7T3K5cfa94osjoeV03u41SklqUa3sTwYO1X5YVO9G8TWT0HI6e8clss6Hh0V17jTrhN3Cq4T7H3pHr5ElQie3qGb+xzmHmuEi1FzNx7chjY+wiYvkgtp1u72L3IKas280er3UglqNSqtZWKtVabULa3UqrW5hrblKa76wVtXXe1z6293uNHNQJ7ac3tNa87YktahWo1NrltaraeVObDm9EFUha74ILrd3ag9S3u3fPq1vmzeK72kgv6wlwYlP3Ig3GLs2V/9hv960gTzv9goLAuHldjL9CCN5I7M+Lrt/araKztdJLbhrG57BRfZufeHlbAjjpGJHXrfrZdt8v/uYKRb4F7lFNZvNu0EUU9SE8IGFbdGasKxmxVZy4Z2kbiO59D7y9vnx6bDXNPJFcEndx2fFgH6RW45ItuEe3TyloJKh9LJWMJEpcUOCB5azZfvgM02ozOjLLmjBxzf7N5oVZU9ySe0qxYvq3CsmFxJaTGc/RFvUSULL6fzX81qxhDiLLaf3cKfQ6oWW0/l8+7DdNOudbq2K4svZ0YvjkrV/elpYJ0byxVRfZZe04DFTKX/MltR7d6f4kkloOZ0P69OpUQyXV8EFde81sWBnsWX1fqMZqnuSi2m/X58+aE7sL3LLaT4061NzeK0bSEF6aSvUBiype6v6xLYLf2Pbg07tYWm9x2/bX1pQrE17kgtq/26nmDnPYgvqfbN+o9FLYovpfWjWv/7+s2pl1BddUP/xqPy0+6KL6tepXlTr/nb98HOXOLxd/rQ/KxImhJRtiT27oIX3byHQPmJRT3ZRC+AiaNSCi+yiFjw/vtasJvuiS+pXaV5YZ6Z732zpd93erh++3On621V2aQveaDamgezSFvyoWGX0RZfW/380y9tAdjEL4EagqP0it6DmT7qTpqvgkrpVehfWuX3UAMir4HK6Gw3p6qSW06o5nsYUu/N1Klv5Irig7vbnQX5aKwbUvuhy+jVk/XFZqv6oGjyWHTl2jWKWJqHldKoA225hrrbbn5RL9Z7kYtr3u+avmrn5Irek5uP3218VO9Ke5GLanzRf8NOy3+6Taip8WngefNr/plH627KR2aq971lsQb2a4XHpU8dDc7t9OrQbSMWdn77sghZomnvp1m7rK3Rqi2X1+suQXyoQQ190af1q7Qvr5tIPx0yQEg8vYomUPnrEoFji6Nl2fWwOmjiTq+ByulVwd2m2e9g/azb4Z7Hl9B7/ddC8bie2mN6jarQ7LjzaSbk4IgbgA8vZooWIx+UJoi7fwCDbwGytKqVL61TETy0dAx3m8ZHVdmLL6dVi4ePyTLit8unhWXNd+yq5nPY2DOvd/isf5auISR7IL2jJw1Yxop7FltOrGsgXH8f/9bw+aLr6WW5hzZtvtu1V9Gan+t6YR5a0p2lU6TgugsvpDjIhypo7sQX1NoojkU5qQa1tuofNW+UgG0ovZ0Uv852s3AstqFMBtxaOilVd51n4No/uUs3Sd2qCnGSy1u2yt6JP+69UTOkit6Dmbx/2mqsMV8EFdX+nufd/FltQ75NioOyk5miN5ruOKr5p//NFpvi5yMuzl8d6BgSpdD62t2AUS7Oh/pvLowlmjPyY4na32d5ONOf67Cx7wk6hv9hy+hxXWp53239pbjRd5P74jkmqb+ifizfiv5ZzqSF4eG4XlSzpOuoUk5bqrqJpXQ3L2AZd57g/nJrN2+b+sdmd3moWCOwzC3Zm5Wr0KriY7t8+NJrNyFlsMb0+7bruIKwvOkd/P8vnu/BHDHq6qSQpwXVCjs+gdm2Oz85Y6VtjgVioCFhYUv1yjshQB5MjMkmPeLoQqhn9TfERLUL+R1Ay8tNqIy0mTRDQYGOLlbiWWG7HUBGb2zFJl5TJMdQzyOSY5hk5byM4h8nbmPg2kSyN+Epclsa095JzMsJ7MTkZxzQpMzAO+0OaluAGv5hvMdTC5FucoEfKd8fpGmS8S9In5lIMVQ1zKaZr0b0UnzkxSZuUJ3E4cs/TIWZFHCoaZkVM1qZrPjYHYloPlDIeQucbZDxMeyM5wzS80HiG6bHxIZ5JEdYMfCbFpHdT5E0MlcbyJiZpFrMkhvqGWRKTtIg5EWGdN8iJmNaKkQyI0HxcBsQkXbF8h6EuNt9h2ljIZzeEUfD9jG9LymUIKjADRbIOFr0OlXyYoYXPUwg6NjO+GCErIWh4iO2JxjTwOQhBw27W7CplHMSpdZBxMFkPfzQ/1LON/v7AiJ6jnE0QNB2ZbIKJunS7CSZ3YKIePlMgaoFMgYk6+LyAqMPM0sFnAUQddpYOPucf6nCzdPAZ/lBHPkuH6mvBSJZkHZpxeBC5kqZFONwDJXi6l6yDzcw3VGLmadG01+DMME2LnHUP9DBZ99JW66M59mDZLufYS9crZSlhVA4ylKRpi+fPA31C/ry0Na6QLQ+WuJgtL02HkBsPdGBuvMS1ejQTHq7Y+Ux4aRrFvHcDDIx571L1CFnuBnowy12ynpGcdkOFUk67CZq1CufoUWwXZu0WdJuFeXuFSC46UMPkokvVJATYDBRhjE0aIxnJMwegRMozl64znlWOUStklUskQrEccgiF2BxyifrkjHGojckYl6pLpWaGBv5iH2jYzxhvhUD8UAPG4adpkK5Ggo7Bvcg0LXxeN9ABed3SNIxlcQNdYha3NK18lg3QBfk1UjVEMrQNFHEZ2lL18fnYBqoeowETcS3CNZ5QB97iSdMg51oDLUyutURNQmY11IOZ1dK1CHnUGEWYRy1Jl5w1LdTEZE1L0zOSIw20STnSpuhUq5uuScp/Bmcfs3q5mO0MlAxuxKVpieQ2w5McJrdZoi4hkxkqwkxmiVqEvGWoBfOWJWmJZikLNfFZyhK1RXKSoTYuJ1myNp2iGTqS8o2BZl2+sUR7YtnFUD+bXSxZn3xpbKiPuTeWrE/MHDZUN8wclqpNpWeWBj4r2EBHNu89IjnABqq4HGBT9AkZv1h9mPFrij4+vxer7scZs2Y8mxerDrN5JemTc3eFupjcXYl6xExdqGiYqStVk0rLLA1SfqiBlkF+qDRNQs4tUIM5t9J0aA6MMMNWqgZlezH5tBI1RbJnoS4ue1aaNg35w1xZaRpUn+ac71LIgxVqwDxYaRpUQGKQ9SpRh5zjCvUwOa6SdMkZrUJNTEarVD1i2P5A0zBqPy2GS/PFYLaqNA2qwX+QmypRB5uJClX8NkODlAgJdAwyISVq0Qws884T4jmlQk1CTqlEfZqGm9duYr6ooZJijpZIdijUxGWHmqJNrWuWppHMTwOFUuanCXoVeZ449bE8T4lWiFmdUO8wq1OaJhWymkesxIxNoGSQsSlNi5TWA7QM8nokaZGyMYVKBtmYEnWM5l5CdXLupTTNWqDCZVpK1aRY6A/yKiXqUKmYp0Fxqj8v8kzMkARKBlk70rRo0RaXDylZk5T9aKhqkP0oTddoriPQKOc6StQrZDZCdZjZKE2LasCbOd6JWYtQyyBr0QQ9IzmKOJVSjqJU7VJGooHOQUaiNE3SjW/QM7jvnaiFzzaESpoZpHUstxDqEnILpenkMwmBKsgklKhBgQdmxTSpAolnxRHrAnznxfdKGYBAB2YAStMh5vsBLcN8P4l6xOw+qGiY3SdRk5DLB/VgLp9ELXzmHlTylDbCaNOhDNXo8/TQs3Oy9IxpV2TpQSOmJz0ZNUaRo2fcmtD5+jBdPkNPUleT8/GEqph8PJ+nu03JvtO18MzcOzo7VLl3OIOW6oTzMu/oLIMuosm7g0ZG8+4kdlHlmovLspOkScypE+oZ5tRJ0hLNoBNq4jPojGm7dqqu6Kzncb95fujr8VoidQevUJdZbqDq4DXaTtSrvC1LUHBtoJ/7yTCa3fOjr7T9a0J12XXo+XkVqe2lLxUb19vC15pFa41+hZFaTbTW6LWxSK02WqudWKuL1uom1ppHa80n1lpEa40CfKiV/xJ6d2PhO8i+mf2ZGbFyM79yK1Zu51fuxMrd/MpzsfJ8TuVv1o/Nhur5Yf00VBGWJyiKrohi1b8cX3iD0dxssDmsfxvMBe0fmVfoGR1W8PV+d9o/X+eUu+fdbRsH2NXUE4k3jDdG1PJNc2qo2piiq1SSrkFn+iao67vd0/MJ3OJVcnJzXvLb9W3z+tPToTkex94URGe97jfD+sRXlmTTDMivnf67tsav9p9+fAq9u92dmsPd+vasGOSS9AXr6vf7T1/vH3qLII2ml72nZJX4qGRCe6T5j+3m9CHNhv5j841oZb9fv28eprT8S+bpBdqlrTCxTbpHpinv5ZEUuuF5JX7p/BO7oDazpKRHlWGSeVj9FYwaoPsCpn4Ao+qVnX9m3x81I63fT+n24y0x3uVTenxU8Wfv49M6d6RXK7SR1HQte0Wn6SLnEjqJRAeCRZqsqhNL0sMsP75f7zaP68Ovo4uPi2CHJibP/UFlqrmIe2L6esB/0dtdM1Xpy34FY9MQ+7IRw37ab3enWZZdaljSNOUCRrYsZSmTYthT+7Zv+5mBEw3rV7B0iymWnfEW065Ak1tslmVBDXNNg/kpOjgMBsPZA0PyDCa3StKUljoshONVglXKsWqBoSrRKM0wNX+USjAqYb05b4BKsEk5OM0fmxLbSbkvmDkspTbUQlbFRiSlbX/gGDR38JH8cTf1tV/ik0tYM7oCZ+xQr8UlCxJW5Yx63fpc1s0ju4vsKLALJZN65PWtv9zdftgfftoft8EtcTpA8epCibRV+XVj8O7Hn375/vW375QaXvbkIw0M1ouaf/7uL39NUn1+YKbur3589+7HH5JePHxkGf1Jrw/PTLFgsCN813w6fbttHjaq3SBKT98Jrvnerdf6clDD2HJ48KoS2Fjf/nrvr1Moluq8bcMqljLubq/aQfBm9R9e0qDxTaBsj3L/l2TO6feH6fZ0Dy9l0NN6s+lnoU8w5/roHGNgTSV+8IOJddbHnryy4psgaXGldYkw9ihNShl3lhh2lGYlDTnzRhylRcrRZtZgk2CKbi83fZxJMWV8jJkzxCgtUQ0vU0cXhTF/0HgyZyCRWvzUfBoGokuqO+G5OmncUWu9iM/VO7r/A8XqvR+nGTOmHJ8PY1gJ1MNDC9nw1/ZSst7l+NRcK+6b09+enprD9w1z31gyAh6aa0N8Fw66dTtwTue14z2ftg/XbncOmfJ/1cZMbY8QhHs9YKN6zgLxsYgsiWroRSBKOsZCERVazLiWsZhEhRY7rmUsOFGhxY1rGYtSjGoJbyUNVfjyGfW//thLyTqsvi2eXHt45x8r96UzLP9m+9jspKi3s/1XocmabvePT8+n5mfKZrFRqBWfmGzDfXP6umm3XP7QQ1Qcik3323p338h+a0tn+O3v64ft5s3z4/smNqD1pObq+umwf79+/7A9bX8fU9gTTdPaX0F+ed/8pdltmsObZjjN9Quj4792qTioULVIDGzsTZXhTwa2G/xvm/Xp+dC8/nQ6rJUGCI+lWRKk9Xjeqdry5UVwuq67/eG39WET0vHIu4bis/XqVc7S9nRoNtvb05f3zZe7DUkrNPNPTbdC+vnLoeax37/UaHvYrzdft09v77bN4af1Yc2kcB+qFh6bbkdD38QEU+Qnk6xR3apUa78R/j5+1zdQkVi7TBHmteXo29yQhi/ka1RzXmvkhqfX/cP66Wm7u//8L3lW9J9511/8v+PveJa7Gng6br7YHr/Y7j40h+3J/5Js4sSn7kVPww9wIe0JXkb5JW3ZHr/frzfMz/cOzeiJzrMAmIHvLd8e9o8/rRmCMrSDeWQ5ew5N24nvd6lGSc8t31Lfb5nfbJNbqRNf1I53h/V21+YiU89s7EOL2vTtYf/vZpdiEDyxnDXi7ywPzWB/aHmu/rsDm+iIWWkeBomO5uo+Nodtm/hf3zWGTyxnTbu2Uy4BF9fbDgJ/O2yV6q/Sy1vxzfY4TI0gm9GJL2/HPzxo7t+XHTem/8xyFnUrFqo8YaF1fWCWLVdDYGtGoTX0xyg96MXofPv6hy+/fy1X8fIiwC/xOhPYukdqTqsXI9b628yfaOfZP+imiDVeKE7Wx69QR2odu0ctWC0dh92nq76hh1LUjyy178Nepjbk8tzithCI2z5sT79PNSusYp6Fg+v9zenH59MwfvLy97kdMKxorM9dzVF3M1ZBtGddn5jQmXh1I/0nopFxCCwoLnq7zeZ8h/QqUjgkjinubjX133ixERXDxpn6Ojd3t+O5slBva2NKr4urHeuBqHpiXxwxYrxfjtsRxKh+1Z51bXf3/cuzvRC6fnl8Wg8uYfSP0WO1vXyInZ0HxkmRIvsnnSYSnK7oEAQoRFUdolEJGmXv96fT/lGn7SKbpq53LMT1gfOCUut/+Mm8n5vb4VZ/YPpFTrcm5d8k0NxWczh9R2dmmvd5yTwxxxrt4djADs3ZmNAAIRdTvPPclwSNv49r/H1Zjb+xIUsDrb8NgpRma/7AByoNVH8YhibN1v3ARSeND6mz9fbHWFEtjq+ztR50DT0cbGdrhtFXVM2MvLN1rw/NWjFokdSyPmaD3zg/DwLeltD+s87dPcnFPa5rgEB2cRuUzRAKLzZ98r+FMvzmBr+FMlMv/7vYA73D38Weqfe0f8v/ggDT794Of0Ngbms3x9s1A9uH7X0RXEw39ytmA734K2Yzdd4+bJ++PH33uL5vvtofNs1hyC+HyyLumcUsOn7Yaj75s9iSrf/lSd0GID3HClWARdSAm/7/jEdS9OsSq5G2QRvFynLctpuNjNlU5o1s5ZuFzGw+s50bxc5A05pywqllWnMZM5vPbOcyPv89EsGySGsu1DU/b89cxuOfPndbLtQxP2+/HN4hmWKkfLlkCRsVW3eFjfL1o4k2houV9cP2/WF9UkyPfdE5k3PI5LjetgSDk9lbaOEcxqZha7I2PUNLYmeJzIxlZeoauXGXZWHqGiXmJbIudc0i05JZlrpugVlp8P8EJqVg/ZOYkwrsT2NKOoo/hRlJrCiljQUkEmFBKbVLsCPGehJbPP4CAstJ1DHyGhKrUQ63EpMRWYyyXom5iKxFWW+EqcRYirY1RGYSYSXKunkmIrAQZZ0q5qFjHUqNEtMQWYa+dWLMYoxVyFqUTGIJFrEUg1iIPSzNHJZiDQszhoXYwtJMYSmWsCxDWIodLMwMFmIFyzKCpdjAwkxgIRawLANYZu+/7J5/mb3+59njR/f2kSkzSAA4vJHfD+WJXr+XXCtlKsfaRjaEfdskjzViyBPqGtkhCsr6uY2GLXV2hbKVtNAATdewA9Z81fY8zSkaPcJmPdEjvKZwof2xOTA3oFHRVS5FU/8raTO6+h+eEhJVBgL6L+V4u+9tQqL1vTzLCt03sFAM2eMDKIfKYj/ZIarqfSsXETa7XlC6yBczrFH10YRmSpvQ/YHNN8fovIom6gu/n7BbRPQN+0SM6Cq1+8reak0IpJe3o/1VPbUZnfCiVnA/ccPoxw9mAc3bdpP9zZa55sfo7wsvbwWffk0yY5h3bSk7hBRskiFM7rUFLDk0D+vT9mPDHSswloTiMy3BOWmYIh7H9VhSfGGaeOrymmorfdl/IDJnjKaZD7HQiNI4JJIVwiwlJ9nXt17KLDXhlwPEJPUwa7BQLbnllNpGxgVQKYwLU/VGxgFO8UgORqXm4WcR0Tv+SSi1noePn1K0cw8lWqFdAeGvTyhWQKP6fAf9aoh4pL78lYxzUvSF6eHGlZ7lZ2heP2zv+fUxqDwLpukSB7s8rjNffrjL4+Pd2GzYs3zOAJhPCZbU6tcOifmstZLaEs0gmc9bLWlsUQ6beWzcXMKOxIE014yk0+xKHlpzeWydb4FqsM3l0XYxCxTDbz4y/s63RTEg59KIPEm7OEQXVdyMolp+kO7qnD9KF5XUwPfN6b/Wv/34fGp/yExnDT6imAOj+ttYite/N18d9sNDCMmA8Jm5FvhAi1QT4KG5NrzhckdKut/E0kcmt3xqqy/Y4smtvYDuH/bPY0uCnuKzdLLW5MXQWemM1VDMAu1y6GzG3PXQqC2aBVFgzJwVUcwa5ZLobMvMNVHMksRF0dmihVZF8lejWhadrZm1LpJtUC2Mgm9o6spo1AbF0ggMmbE2kq1RLI7OZsxYHYX6kXj+sD7d8ofLl1I96XxYv28eFJW9PAtGYCMZJsUcbY+n9e5WPuvr6erJpqiDdWTYTn1fjbdRytqxZ7iWZaLpGI4dOEXQFXeIQsvAI4KiUW+wuiDY9HTgfpsJNPXk9Jr6bv++bZOGve5wLdLfzlj3b0bo634pP8e/Vk8k7Z4IKk5M1TKudz12iyT66ikHPqwt2s8QrdB8h/zLaz5E1Bb/EjV6xtt1ZkOO3ntBffp5XKOPD7tBnWmJYDR6hTAcVJyYBkbVc7gbDYOOk5KeQqOVu2+DSlNSwGh08rdxUGtaAhiNXuGuDipOTP+i0cze5BkMhCnJX5S+Za/JMP5NSnui1M1fn2GUp6U70Xta9fIT0r7oLdA1wZSkL+MTMX+/aPCVJaV8GdfK3z5CrWkJX8a1ineThr0tMd2Lop2Fm0uDlk5M9jKumbvXhFpTUr2Ma1TcehosrKYnehm3hwd2aEIaq1O1u3xjinFAepIX1gbVfaqY+sRrVb2qlrhdlW5Z7JKVxrgJd60mGBm7crWAlcwVpyktqdlKLnoPa1JLflYrF/F27HLWEi25TJf8rD1yEV/HLm4t0Y7LdMjP2h+Hp5gTTJRPNRewcHwDPuuK1zQLlTe9BuuQ5GQu7CTMsEMKPD7eHrZPp728IgAxPVO8O+wf/+vtj29SKn7Zeyja+Gj8ZJLGWpFA1WRDUggba4WKtqn1b6a5+mX43FRbwl1Pcre4PDJRf7/7//j+f5rbk3xjCcoXOT3h6lT1MjQ28R4Rqzd+u0yt0T/O3x3iX/eBvT00XTd7X0hWPbgxNEkzd0eI1Rm7VqfWJt8LYnXyN4Oma+YjOmTV8aj/NN1CBIesfCTyX609dueH1S7d+lFq18RCsHrH4u8jOvsn7WHAQf+wWvpx9NEFNl9JJHdZZ8ToDkioWN43DCvuzQR8qMX4W2tH/Z6FmrEeTR09OlM17Uitw42bql0HtQZnqZsh4OvVSsUT6j0+v4/VS8UT6n18Hi7MevVS8YR6N9uPsXqpeEr7vh/OB/32fS+P//F2WN/vtqfnzXD86bdGT2iCDh609+qPJ/qKfs70u2R85EK/cGJcRFr9L2PPCi/XF5oZqTFijxCrEdtXaqwTojeGxiTGbyS3zIQmWaAt1BPDwBLV/CA0gmYjMNQY3wXodEW2AMwrjq//dVr5nfRQ4XD/PKWLjU7CA73zP6nRKXqgUx/FotPJx7EM9aZFsuh0C7EsQ+WJ0SzK3sWdvjOdK+XkXaeZi2kZKk6JatHp5eNahprTIlt0uoXYlqHyxOgWnXY2voWZJlIiXNS+ZsM8WH8nRXmo9fNBHqwBaTEeKZ5XNsKEaJcUK7RNMSXiRbN04WNemC8wKepFo1lYjg80p0W+aDSLsS9cD0yMflG1uRD/wrR6YgSMRjsXAzPUnBIFo9GqiIPh1m2TI2E0NvGxMMx6NSkaRukDOR6GdUZ6RIxghyomJm5CYlRMUNkScTFTrItFxugMnBAbM8nQWHTMIpYyoSfTWlSHExaNkZnYop/Z0oU8H4uUWaZFl+qin7mHLuT3WMTMMu25VAf9zP1zGDczyUw5cmYRKzWb/lnRM1OtVMbPMOuX5AgaafHQPzULOGf/WKotmHtmdqkjdmTmLUg6MbtWGzkwi1UrZ3u+Vj2S5zlWfSTD87X+sdzOqKB3QMCy6VF/aQD31bxEsA3WpgHtq9bJIBv0awH2VbMGXONLjiFVqfunNOQYQpW+hek6eGQa+zCm6xIQafQrma6NRaJXXUkoNK6JQ6BXRSnoM66HR55XTWmoM65LQJxXZYloM66NRZq9gSIFZY76iqV3gb+SkN2oPp7TBQrT4JzGcyMvOQFNarSOveoUFBmbbHgE2fsiktBjTBOPHK+a0lBjTJOIGPs9JhEtRttQQIq9VkxEiTFtHEK8akpBhzEtCmTYWwxMR4UxG3hEeFWbhgZH2lRGgkHjpqNA0KtCgLzKRPTnK1kC+aVYE0N9cYMmIL4kw2Job5ZlDClLazF5szezxWYaFkN3syyb6ckYqpvXYnO72GfqYTP9GENx89prbgf7TP1riNySzJJR2yyrYpvEWWgt1SolUuvN78koDSe93kblt/X29EOz2a6/3683zXUtc/e88/Hqxz+hSBTT9Kp+/3x31xze7f1ChKk3KNdWento1qfm6/Xu4/rI1NkvnlLlt4f9o3/VkbovclolzafTYX17au9GcXb3iydU+a7ZHfs3ytiKOyFt9XfN6faD5LtrYVJ1/3Xs3fSC2tqypMreNKd/eL7CvTdIJFX84+Hdh36aYKi1K06q8u/bTbOXKvSF2urum9PX+92p+XQyG9lQRipBge/ZzI/vBfWDkLZ6f0mIuuK7vfgdM1JpCnDPiVV35epKj/51Xz80j03vskqv1kAgsVpx6A3KtZU+7Ncb6vY/rJ+YSoNybaWPbRbEaJcAiXjFsV1XvMqX+MeRbReK44uozlgmmXQTP4MZMWxs9RKi52kGjhzipFvYO+V505y+2z09D4HBuWCRu11BZapTkItd8XuPOKPyCkF0qsZbP8A1Y9p6YpPf7fhV60SFZ16C6FSN79tK2NuUobq+3OS3a4sjPxoLLziQnqVX8Y59uam6Ds3xw/qp2XyX9K7yU3o7IMe+pg/1xObpUb8o+8A83cIVaF7vyPVnrU7+yjevMn7dW6Hx50ldKvrgNFtOez/k0IA6oh5l1RqL4FvaP3xswp58nUr7xdp10mk/mPiuFV4LR0Id6jLLrxPgO3bt2c69xz+9Uy87B7X+TK+3GRjc1YzlabVLtapqs9eKmt319u7H9WG7fv/QHP/U7D5OX2AOq3k5sohsjRAWYvfN6XXUxK7um4ugqGK4oJr2Gp2qrrovSoXOs3XCSx61L3n8417yGLxkpnrLY/Qtt7vtabt+6M/jsvpA+PO/7VXd+Y1rzQv3rBRemqhW+wtHx+agczLzyOdvAFR6cbymGQYWRxvj2+1D8/b346l5VNsVPPJHNcZV6bkxrL4xehZHG+PNftP8zzGlY/Sf+KOa4qLz3BK5viWu9goN8bjf/dr8/lPw8x6yQaH052+Anr7LN6F6+76h0oh47L4ZzQjVk/0DxsOztss7qwaCq5HiG1N3UJlwEf0j3peUXV5X9alfTJQXasxgRyu13ugyeaXF1jS22BofmQ7NetNKqfTc9KTHFCa6S6V2fKIa6L+aLPvt9e7j9rDfMVuCXkk8Ah5+v+j1p6dDc2x3cG8a/qevAolF+B1fq/p3jUKTpUi3/eG39WHD8wrBAHhmGQsSlc/X+0Q3KK6y/I/NMSawT06wJmRX7S2Cb5v16fnQvKZzSX2XEJ7VnX+rW+zwnND5X16kF7Zisz0+Sb8VyphxFV/Yjvak6Ou2yu3dtjn8tD6smRSIglHCswtb2B1vTzVSfny+narIwjS7boS/jwcfDvUkqpCm4qcl2nv0vW5ITSRwavYLjpy3eQN+WD89bXf3f9DrnrX9B9/6F/+v8m3Pwgt84vDjrUl97GnBoYaxI7UP4EOLW7U9QvjAiEE9+YUH4/vm5HtVGxz101r4EWLGIua5paf1pu3297tJ5kkPf6bW+357VC9A4JnlLXp3WG937Y40bV5ln1zeum8P+383u2TT4LGF7Trv4bUG9eQXtuTu0DTCLzpzC+yz9MJWHJsDEeg0Pw0f+wyL25TF7OexoB1P/nbYphhyfeQz2fPN9vhrqkHdM5/JomE4m9Ks/oOfZ+uBIai6JeH1qflW9Q5Lv/3y69e/vP4/P/38+u3b735888v3X371+vu3DF7kBSfiorGXj8cCTkNFCT8RgsYKa91d83w6rPmfwR7ovQrP0vlh/fTE/9z9QONZdJa+4+iQ12k7rrX4SdS13t0flO92Fp2l765ZH+6YFOKsxqvwLJ2b7fH++XgaXXwfL6DmIj7Pj8+Hp8P2qNXbF0/VC7kw3u4Pp2bz5eGw1voWHkl+bxh2vl/vNo/rw68SpuuVLzbsYJ3isDM2hPeNl5jt/nj66bC/bY78sDqwJXxgUVtGyfnAGJGbL2dNkiFL27DxP+NxFlR6aPjQbJsmcvVhM82l6oo2izD1gT0TiLrGaxGePvTWBJqusEHN0gcGzSbpCutSOPrAwCUoOm+jmqFrbZpH0PtaPj8/X+yddPR8xsvNZucLv6qSnH++N5a5+eBN06m5akpI6VcTiLnehjS/T6flKouirHxgzCRSrhhsVZx8YM0sSq6ZptWMfDhrzybkCa0m8nGxxZLpuM4aDRvnbJpDxnWWjXJxzqzJVFxhU5SJD4yZRMQ1GwiZhw8Xxuk0XGGBhoUPTJlDwpULU/1C9HNojzFw1ogpBDzBFpF/i8Yk0+8Ea+LsWzRpGvnWbxVi3Ftazk2h3rxFEhUqqrGtppdYnAxda1Uj6dDkmTSop38uD4raoyZCPYNmMyGNRYnGLG9HChnq2bMEGxrYNZMO9ZtrKT4UbTsFIerZNIMRxT2ooER9z83gRFE7kklRz6jFWFHUwim0qGfkkrwI7UwmRuN2LcOMSM8fR40WeK80bjTpBRcjR4u9biI7+hxvPU6Pem87nR+NTBtpfWwGQ9LYkdoH5nOkEatUJKln0CyWFB2Mk2hSz6JFeFJ8Wk8mSv1ZfjGmpGq9UarEtNxkrjRmUQpZCu1agi2NWaemS6Fps/lS1C4VYeoZNIsxxTck45Spv8CezpmiVqSQpp45S7Cm0cVtymL281igIU5gyBzmpLJnlDoxBk3mTiqLdOSJMWsee9JsPTT0abgknMOf0CqZQL3b7n4f3852Up+BRPVrnkCjzubPJlKBHfOp1IhdCWQqMGwBOqWzbIJRn8eeNFIV2LUMrWLsm02swuZbjlqNtKWKXAW2zaJXY55VEazQo7Mo1og9E0hWYNyCNGvE0mlEKzB2Wao1tHcC2dLYtxTdOuv6IwnXIu+XSrkmvuiCpGvB106mXZ/n7TXEK3jrOdRrdPpJ73uz6JfOnil9YwkKNmqdkoQFhs2kYSODeSIRCyxbiIqNLRsmkLFwFbEgHVO2poKQsS05g5KNW5ZGytC+ZWjZuJUJxAxNXICajdinJGeBYTPp2diGSUPQwgX/HIo2Yk0aSQvMWoamKRbZqYvqz2eJjqwNDJpH15R2KQgba9gMyqa0TEvaWPPm0jbd1khH3Lil6TzqxmyEBvla17fNz83t/r5Ndhtmr8NfbxqKJt15FrT02yKh9hS8x1SrZntg9VSAxpmgzpOXZEOq+gU03+4fn56pf3zTHG8P26c0T/BPT7BKuS/irEjfFMlto94RcYZM2A4lWRLdC4kGTdoIae2K7oI4kyZtgXR9WbX/4WyatfnR2abf+XAGzt/2pLWguOeJtV7yhkdtk2a3I1g2Z6ujtm90nyMYN3mTo7MsusPhTJq0vVHOcPLehp3g0jc2OjtiRwWcIVPOCXSWaPZXnEVzNlc6y8SdFWdO8rZKb0NsTyWZMmVDlWaRuJuKmZS8lUqzKb6Pihk2bROls06xg+JMm7F9Eu0Kfz622W3+sT19EBa9wY/IsqLR3Q0mLI9oorzlifUHP6N5fbY9oN6yvzLLSGkVYAPISgTJiS2FerChEl/j2gJc8i6upbRJvMS2iisSZSe1F6crbLEJr3Nti2HEBNdiF6lp7RVTIkhOaquhnrClkl+DWuBL9teiL2XpbcJXGJQnv3+/zutbJ5hH7/OXZrdpuOGyX5z+xmK1KJL83lDz9dXTTF0/PLQ95Pj2uPlh/3770Oya08eMMZgXTFXTAsD/Z/+w/2giKq5CqdVHKlWjwa/3j0/7Y7tjeLdmFkVh8SJIkKlShQPBUmHBcvrQ7FQqO8E5ug7POlUkl6gJnTRgdMf2ga/WzEYoLr6YE0dUqJ0aebNUJ4+ZNHB6bDU6zTapU4yZhp1kEcuYTvQljRDwnGQyL71kF4pomJSrMP6a6U6L2Tf2YSfb8VtkOZhgF1/NwnZ+ed98udvAxJxoJNSxoIWxISJm1ZQRYtQy5jN8u93dP8AXHPsQJfklP8Wojjkfo/iy6Z9j3EbFB5lqS8InGbdtwkc5xVbNZzluaMqHmWpl7NOMWzbl41RY11ta0y2B6zPMEhtFtKt2eu5Lee0eCqhX8IRSaCshrQgZmUUGDqle1dqPMzyly4jKk7pJghXcsCQakbKei9swdPa5j7ATxlBkQVcPqp00LTBvkdzkQ0tig79e428iZRrTzz25lDWx2WfMHs2Ek2ZRdI6JmaOaVvS2RIaFof4Jo4Jgw/CDvM4GkU8yFFrwo2QqnvFZwrskf5icNeOfpk6r9uPkbEj9PNMsGv9AYzbpP1G9VYqPVDIp4TPV2RP5UDkbJnyqoh38UunSCRRLpoHswksnvv7EJdTwhaYtpQRjJi6p1FbFl1aCUdOWWDGbxKVW8FB8yglEl196DaufvwQL327qUoyxTL0kU1mQvBhiLJq8KFJbqF8cCealL5KSWq+HqSa3XljHUhaOL+cYk6Yv6ySbYss7zTggSH+WBd+io4H0mjOWgJPGhEQ7pizBFhkZJtiZtCibPz5MbMnINYKEhlRcJ5hkpWoxucxIMW4ZXrP5YX26/cD4tlc2EvwQRNzuH//r7Y9vRmt72ZPkW7pv27RrPIE+7f2doUq4fPCwft88NJvYpDRQzj4zw4bN9nha726bdx8OzfHD/oGPnA1M4B5JsoC5wPNDs95909Wr8QD30GQbHtviketDgf7hA5N13213m6+a48mLKfo6iE/We9rrPq6LXIqm3k+b7ppe6Oz1h0zbP8cPD2JpU5h6Xo5kPfF2CNe1jnxElKzlZvCErHQkhcZpu/v920tQaK/zRbQzz8zSD2FaI5ov0pN13g3ysylUcw8tZAFmflNbcX1wliXC9dQRMwZPzbIh/JVipQn40GQL1vcNremUykE+RW8x+t1fTyVDgS/UMZDiR32tGkXSKhcDK6+F+go3QzwkntAGUjMUtF+OTkkrqVUUvw3cu1TOyWmVHOi7+3cj7buueiRRraqnQ7PZ3p7YjdNVCyOlVdBeownDfH/Yb5oHRokgmaLoHXT5mCpWNlUZfQhjanpSKQr6nTSmYiA3VUlrq1bRRTZVWW9SGdOFoqmqrt/DmCaQTFH05XmiiOkIhVLf43KdZ+w1QkG9mtsuAQY3wvRK00bj8aF+2kWV4EV/fDoxt3o4kek6vu3Mjik5y0zfcYxVOrb94E3mVyXb+8f9dsMtR6hEfd1l97E5HJu3Yn2hgLra/TNX1/5ZW8HjdvfV+/0nppKuRFvRbr/7Yf3p7fPTeXhgqhzI6Cs/PPp7ymylXZl6Il9v3u3f/ut5feCq65VqKzx+eL67e2i+PBzW3DqqX6xePPlMO6O3gzixNBXBtzCW9acvqA4LFDX0MYe65hRQOKh00pHEwH4JHo3l/hmaMzlvtmCPOr1t3JSb/v/octgGFYp1STvO9/tPDY9bpxh6c65urrkj++Tj7f6wpNmX+pa3W50gSjR88c+FW0rFLQmfmG2NMknU0I70FFFSe6gTRA2NmJAeKsGKaHIowZhJqaF0NkUTQw3NmZQWStNnVUmhhvbMSgmlsUufEGpo3Px0UCktJyaDklstORWU0h5NIijWqjlpoJS2jSaBYg2bnAJKY1U0AdTQnEnpn1TLLDn5EzN5pad+0tgQS/w0NGJK2ieNFZqkT0Nr5qR80s3rQsInbkJPTPek1R9L9sSbMSXVU4o1YqIn2ZzkNE8p9sSTPMlGTUvxpLFMkeBpaNaM9E7SqrC3cxW232eTErbd2l0rU6UqwgUsnbJD5VSrMtOKulW70TG1iXtRqG6hneg0I0f2oVpTp+1CJ5o8sgedbrNqBxoxembXj+02Oa3SXlOlWbGz5HSm7Svl91btKjkDEveUSRaIO0rRkOT9pNYecTfJmZK8l9T1x9GdJGfL5H2kzibdLpIzbN4eMq3F2B1krLWS9o9qW8Z2j4JFU/eOaruiO0fBqEn7Rp1F4q6RMyV5z6hc9vA7RnaySdsv6vRLu0XOgNS9os6CsZ0iZ8nUfaJ2PmZ2ifxEnLBH1OuWdoiSCan7wzRL2N1hzJSkvWGaLfLOMGZQ+r5QZ9XIrpAzaeKeULYnv25ivgulMKRiuzs1hzYW8/gnXjJ+aNpfNj5ud1/vd3fbTdMPwtcpeIkP8+tX4WUkg9affm6Ozw+n1Nd9GTw51RRxW44+4LuGpv2nbdKDV03fqw9fFVarfEdQ2KLrBKnWDHuBxpTxHjBmxyBwAYMSxcAFFFQHLogazm+cVnP/Y/rm9bdf/u37d798+933717//Mvb7/7f12911b8UHtUNcoNXSu/9vFWajh9RDr1svbv9wF3A4nVfpdP1ahkBr1lDCfRvfdt+rff6Bifh2Y4HK9pLk/6XZ9/yYIk3Z/jU0na93396vbvdb7a7+7dbZjnP2zV8ar5dcPWYya0ctwmfWdyiy0CqN6j/yLL2RKEzb8+ksKhEe9JMWdwKiupVGnERnm2DgkzyJqSxSf1XLdBJ3ohEPplohUgoI8YkM0q9TSKl5M1J5pTanjpKKnl7JrNK9TinopXCgDeLV6a2HEss462WxCwT7BmjlqJVU7llgm1RcikaNoldaq0S6SVvTjK/VM9ZPMEUpqw0hqmesQSKKUxZiRxTa8UYyeStmcoy9TsHhmZKW4YEnpmiXyKashmpTDPVGpZqxs1J4pqp9shkM25UOtvUWjZCN3mzJvLNqE3hla7vUJa/OiaJTQYsEsqbomcqzlDhvJR2HkVq23abo9rSBrb1H/tMlvlgEDkXTdS8wbNL2ciCQPEKPook9c3Irl5T2yTg16t4PurrXmDaV9G3RIv3BgoZuPS2abdO7x+ar/e7j/zH3lfNPjLdghha7KvVQMWhrhSc2NemBYljbxdBiODOVHio8ewYNkS3TgWGY7ZoUGHfljmQMN4HxvFg347pYHDUijgSBCOmwcC4DaMYsG/DZACoskGrfkHNEdzXVzwB9A30KhFfX2063Bv7AiNYr694AtBTaY6ivIEBkyDemB1RfNc3YRK4i/c2FbLr2zAL1o2MPWpMFwxCswGdroVENMe1TjKUG7VBg+PAkjkgbtSeUQQHxkyGb3FLotitb8Ik4DYyR8ioLZgi0iHbyAwRwWvBFDEBrMU1a5Ba34I5MG1sxSxgtHCpnAjQxnXG0BmqngLNdBaIuIwzIRmU6WyIIzLOkGlwLG6NAov1TZkBxIZ29IP9rhKxQL+BlJ4KDNHPeMUC+Ami6YaGxy4PDQmPwooI39GbwvKWGAXUt3M66UgO5Iu9WhLjm+TkBO0KjjfdwzE7eqzu4/phu1mfmq9DQnEldaFA1LfIq68mQO3EqbE4Wrci8Rhb31jOsYGNwhcZIWTj2m8mwbKunvg1w+3+ediDFBbBc4vYggxPYYYe56ksOFeSYMH1kUUseGzWu5/v36dYcH1kEQsk4qfsphL8m2HR3fbh1BzaUTPJmvCxZb6W47fbw/H0/fr35tB+hibtm+GenmoXDpZftQni3+wPj2DR5e9zh8eworFx8WqOtER5xk7OKrghuRElY/nXD8/NZvtRpe8qm6wTXdL6+B/b0wfJNYPyuS7iKxxz1dBMaXTc77ANoxpvugeUakec+B6zj8Z1v4/9UPeoZnTlBZ3DZposgdK5buSqG3MiGhhx4Uqv7uYsr1I6Nrnud71sGzrd8s8+pOs2ibrln19I120TddsFdbtE3W5B3Xmi7nxB3UWi7mJB3WWi7nJB3VWi7mq6bhwmv2nu1s8Pp+vq5Y0wYsqCcwfPkZrHxtHIGyQMqTojRkbXSCXpA22CRfKYO8siHH4TLJJH4lkW4aCcYJE8Ps+yCIfqBIvkUXuWRTiAJ1gkj+WzLMJhPcEieYSfZREO9gkWyeP+LItwCkiwSJ4NUiySUZ40I6ROBbKG13Ru8FWbpYuuJ4uqhqLLQUShbj1QZN5D2hr1Ev2nmXFDj6abosleNtWm88OLW3V7YVNTTQtqWNw+/7uTU007P7y4VYf9b1NtokeX9+N+civRo4tbRBx6qlGXp5ewq3c40zzfPmw33K9+Xs9nBjLqUOo3zfNh/fCmOf22PwxPuIPSRY70hjWqjvNCM5MC6hiNw5g6jS5dGB2jjomkm6pPDJ6T1LLxcxO0iyFzjGI2ak6lMylQjtEcjZVLtkAXHseYMR4hN7k12KC4SEsM4uKmaB4LheP1x6LhplgRDYDjTRBj4JL1i2FvjGI28i1ZoxDsxuhj4t2StUkhbow6LsotWd9YYBujNxbblqyfDWdjlA4i2iZpkoLYBIVcHNtkvWzoWkTxIHptsmY5YC2ino9ZS7ZhJEyNMSASqabRHvzu6XH77wZTcfV/7LRXzq2q/vvVi+1u03x68ef/fdH+8Fz7g21/fmFu7E394tWLu23zsDm++PM/X5yXMfvHx9a4/+7K/u5v57USJPKn1YtX/1y9KtxNkdv//u9X/zw/4Qv8H7xY9uLVP7NXRX1TliYQywIxI9VmAjH74tU/zStT31RFWJsNxNyLV/+0r2x1k63sK/fK1Td5XgfyLpDPvbypb3LnXuWvbH5TrMpXRVuDM0XwYB48WLAPltyDRfBg2beweuXsTW6qQL4M5Ku+fM29URXI1335bMU9UId+WvkncntTuDx0FDjUe5R3aejTrPVdZljJ0K1Z677Mcv7PQs9mreMyx9YZ+jRrPZXlbJ2hE7PWNVnB1hl6LWudkpWsZOivrHVHVrGSoaey1g9ZzUqGLjKtI8zqlXU3uQ19ZEIfmdYRhvWRge+udYQxr/Lqpizgywt9ZPy3Z9k6Qx+Z1hGG9ZEJfWRaR5iclQx9ZFpHGNZHJvSRaR1hWB+Z0EemdYRhfWRCH5nWEYb1kQl9ZP1ntOIkbegj2zrCsj6yoY9s6wjLfkcWhsfWEZb1kQ19ZP0QyfrIhj6yfnBkfWRDH1k/GrI+sqGPrB/+Su7btKGPrB/4qleuvCnzsM/b0EfWD3msj2zoI7eSZhEXushlopkudJEzopkudJFr/eDYDuJgEmv94NgO4kIXuVx8odBDrnWDY3uSCz3kWjc4tie50EOudYNje5ILPeRaNzi2J7nQQ7nooTz0UN66wbFdLg89lLducOywkIceyr2H2GEhDz2Uew+xXS6HBYbooTz0UN66IWe7Rx56KG/dkLPdIw89lLduyFmv56GH8tYNOTsP56GHitYPuXtVZDemCussQhcVrR9y1utF6KKi9UNecNqL0EVF64ecdWYRuqhwUsMXoYeK1g95xSqHNZ93Uc1Khi4qWj8U7LK2CF1UtH4oMlYydFFRiy8Ueqhs3VAYrsoy9FCZSVWWoYNKIwqG/ilbJxRsPypD/5Sif8rQP2XrhMKxVYb+KQuxSliDe/ewK8QydE/p3cMOM2XonrJ1QsH2zDL0T+X9ww4zVeifqvVCwQ4zVeigqnVDyY4eVeihqnVDyY4eVeihyoljQhW6qBIHuSr0UFWIg0cVuqhq/VCyQ1cFG6RK/H6r0EVVLX6/VeiieiV+v3XoojoTv986dFEtfkN16KHait9vHXqoFr+hOnRQLTqoDh1UF+L3W4cOqkuxytA/dSV+vzVsXcURrsYta+uEkl2kUFlfNpO3mCvYt66MvHVcwc515T8kfkO6gr3rSnQUFfVFW4eU7KxJZX3Z1iUlv39dwQZ25T8ofge7gi3sqvVLye9hV7CJXbWuKfld7Arc5oFCxY5S2QA2tK6pBNoAbvNQoeJ5AwKHTCRJGRIHzxUqvpchc/BkgZ9SMqQOni1UfM9B7uDpQsV3ByQPni/wo2uG7METhorvOkAfMiMuyjPAD5mHDBXfywxCIu81vpcBgsg8aKj4XgYQIvOooeZ7GWCIzMOGmu9lACIyjxv4VWoGKCLzwKEWCBi4zSOHmu9mgCMyIw6RGfCIzFOHmu9lQCQyzx1qvpcBk8g8eaj5ZrBI91rX1CXbI4FLZJ4+1BUHpDIgE5nnDzXfHYBNZJ5AZCu+PwCeyKw4q2XAJzJPIbIV33cAUWQeRGQrw7cEeM7DCKElAFRkHke0qJflouA6TySylQBRwXceSmQrvlM4hLOezq748QSgRebZRLbiRwkAF5kj91Wv8uKmxP4G7CLzhCJb8R0D8EXmIUWW8R0DCEbm5A8PEEbmSUUmgHLAGFkubsEy4BiZpxWZgNUBZWS5PM0By8g8scjaFRLTN3Nk6+JKMgOgkXlskWX8fARMI8vlDw+gRpaT3/iOCVwjy2W/AdjICvKbcBwAfitkvwHcyAryG9/dgW9khew3ABxZQX5jdz4ZQI6skP1W4KEI+Y3/iAB0ZIXsNyAdmecZmeG/N4AdmUw7MsAdmYcaGX/okQHxyGTkkQHzyEo6xeK/N+AeWSn7DcBH5vlGxh+oZAA/slL2G9CPzEOOjD9+yUo8z5L9BggkK8lv/PcGFCQrZb8BBskq8lvBjg9AQjLPOzL+dCcDGJJV5LmKrxk856lH1p7xcMLgOw8+svaYhxMG33n4kdmMnciBjGSef2SWXyEAHMk8AsksP2QDH8k8Bcn4I58MEEnmQUjWnvpwNYMHPQvJLO9BACVZTftwfjEIrCTzSCSz/OYAeElW0yEy70FAJllN58gs28kAm2SejmSOxTsZoJPMA5LMseAmA3qSeUiSOR5LAEHJPCdp4yfZF8RTZe9Bx3sQQIrxsCRzBXsMDCTFEElxJbcUM4BSDKEU/jTFAEsxnpdkrubNgENmT0yyfPUqNze2Blk4ZvbERDjlBppiPDHJ2oOVYcMZwCnGI5OMP1sxwFOMZyZZzn6uBoCK8dAk47fxBoiK8dQky1lnG0AqhgI4ct7ZwFQMxXDk7OdqAKoYCuPI2QHXAFYxFMmR884GrmIomKNgB1wDYMV08Rzs52qArBgK6ShMe3S7wn4EaMV4fCJEYABaMRTXUfABExjZ4QEKv5s2GNvhAUpW8PEVg/AO778i506mDUZ4eISSFYIZ4D/PULKCPR03GOdBgIXvRRjpYch97ILWYLAHERZ2k2ww3MNTlKxgyb/BiA/PUbKSj0kDyGI8SMlKvscBZTGepGQlO0EYwCzGo5SsZCcIA5zFeJaSlfyYAaDFeJiSlSyrNEBajKcpWcn3DEAthlBLyfcMQC3GUkgV722ALcbzFH54AdRiCLWUvLMBtRiPU7KKdzawFkOspeKdDazFEGupeGcDazHEWire2cBaDLGWij1RMcBaDLGWinc2sBZDrKVi13MGWItxsfETWIsh1lLx4wCwFuOBSlbxPQNoiyHaUvHuBtpi8kxekRvgLYZ4S833DeAtxkOVrOb7BhAXQ8Sl5vsGEBfjsUpW830DmIsh5lLzfQOYi/FgJav5vgHUxRB1EWYqoC4mp9BGfiAA7mKIu9S8u4G7GA9Xspp3N5AX4+GKWfEeBPJiiLyseA8CezEUXbLiPQjsxRB7WfEeBPpiPGAxK96DQF8M0ZcV70HgL4b4C79bM8BfDPGXFe9uIDCGCIywogMCY4jArPi+AQzGEIPhN7oGGIwhBrPiOxJQGEMURlhYAoUxZS7vig1wGENhKCu+iwKHMcRhMr6LAokxRGJ4RmCAxBgiMRnfn4HFGI9bTMb3Z2AxpqIgY74/A4sxHreYjO/PwGKMxy2GP4A3wGIMsRhhowQsxlCISsb3Z2AxxuMWk/FdFFiMIRYj7F2BxRiPWwzPbA2wGFORB/mOBCzGeNxiDN+RgMUYj1uM4fsGsBhDgSuG7xvAYgyxGGHbCCzGEIsR9sXAYgzFsBi+1wGLMR63GMP3OmAxhkJZDN/rgMUYj1uMKTj6ACjGUECL4fsRoBi7IgeyXcMCirErciDbNSygGOtpi7Fs17CAYuyKov3ZrmEBxViKa7Fs17DAYiyxGMs60AKMsZ63GMs60AKMsZ63GMs60AKMsZ63GMuOBBZgjPW8xQgB6wBjrOctxvIeBBhjPW8xlvcgwBjreYvhoaUFGGMpwoWHlhZgjM3oygbvQYAx1vMWw0NLCzDGet5iHO9BgDHW8xbjeA8CjLEEYxzvQaAx1gMX43gPAo2xFOnieA8CjrGEY3jQagHHWMIxPMK1gGMs3bhxfN8AHGPp0k3O9w3AMba7d8P3DeAxlngMH7RggcdYun2T8x0JgIylCzh8bKkFIGMp5iXnOxLewrERoG3xIo5nLibnex3exfHMxfDxP3ZwHcd7MOd7Hd7IseRBvtfhpRxLHuT7Bt7LISDDonKLN3Mo9IUPerV4OcdDF8OTVov3czx0MXxEqwUiY+mODh+CaoHIWA9dDB9caoHIWCIy/NmdBSJjPXQxfECfBSJjPXQxPD61QGQsERn+mMECkbEuEkNhgchYIjJ8IIcFImMdeZBdqFkgMpaiX3gya4HIWLrDU9RcpwMgYyn8hYetFoCM9czF8LDVApCxBGT4kxELQMYSkOFPRiwAGUshMDzGtQBkrGcuhse4FoCMpSCYku/OAGRsXolHWxZ4jCUewx+IW+Ax1iMXw/NhCzzGUhwMz4ct8BhLPIbnwxZ4jCUew/NhCzzGEo/hoa8FHmOJx/DQ1wKPscRjeOhrgcfYopTPuC3wGFvQLVS+HwGPscRjeEJsgcdY4jH8Qa0FHmOJx/A42QKPsXQRiMfJFniMJR5T8X0DeIwlHsMfIVrgMZaiYirhHil4kHgMj5Mt8BhLPIbHyRZ4jPXIxfCE2AKPsXJkjAUaY4nG1CymtkBjLNGYmh8IgMZYiozhQyUs0BhLNIYnzxZojK3EKw4WWIwlFiO9HniPWIz0euA9j1sMj78tsBhLcTF84I8FFmOJxfCs3AKLscRieFZugcVYiovhw6AssBhLLIY9h7aAYmwdOdS1gGJsHTnUtYBibC0f6logMbaOHOpaIDG2lg91LYAYW0cOdS2QGFtHDnUtkBi3ihzqOiAxbhU51HVAYtwqcqjrgMS4VeRQ1wGJcavIoa4DEuNWkUNdByTGrSKHug5IjFtFDnUdkBi3Eg91HXAYt4oc6jrgMC6LHOo64DAuixzqOuAwLosEVTjgMI6CYvj53QGHcRQUw8/vDjiMo6AYfsp2wGEcBcXwU7YDDuMoKIY/AXbAYRylOuFPgB1wGEdRMfwJsAMO48xKPgF2wGEccRh+ynbAYRxxGP4E2AGHcRQWw8/vDjiMo7AY/gTYAYdxJpdPgB1wGEcchp+HHXAYZ0r5BNgBh3EUGMPPag44jKPAGH5Wc8BhHHEY/gTYAYdxFBjDnwA74DCOAmP4E2AHHMYRh+FPgB1wGEcchj8BdsBhHHEY/gTYAYdxtpBPgB2AGEcghj8BdgBiHIEY/gTYAYhxFBrDnwA7zJVCIIY/AXaYL4VCY/gTYIcpU5yRT4AdZk2h0Bj+BNgNEqc4+QTYYe4UFwktdJg/hUAMfwLsMIWKK+UTYIdZVAjE8CfADhOpUGgMfwLsAMQ4AjH8CbADEuOIxPAnwA5IjCMSw58AOyAxjq4i8SfADkiM87BFOAF2QGIchcbwJ8AOSIwjEsOfADsgMY5IDH8C7IDEOAqN4U+AHaAYRxeS+BNgByjGEYrhT4AdoBhHKIY/AXaAYhyhGP4E2AGKcYRi+BNgByjG0bUk/gTYAYpxRS6fADtAMY5QDH8C7ADFOAqN4U+AHaAYRyiGPwF2gGIcoRj2BNgBiXHlSj4BdkBiHJEY/gTYAYlxRGL4E2AHJMYRieFPgB2QGEeZWfgTYAckxhGJ4U+AHZAYRySGPwF2QGIckRj+BNgBiXFEYvgTYAckxhGJ4U+AHbAYRyxGyAUGLMYRi+FPgB2wGEeRMfwJsAMW44jF8CfADliMIxbDnwA7oDGOaAx/AuyAxjiiMfwJsAMa44jG8CfADmiMo8gY/gTYAY1xRGP4E2AHNMYRjeFPgB3QGEeRMfwJsAMa4+iWEn8C7ADHOMIx/AmwAxzjKLMLfwLsAMc4iozhT4Ad8BhHkTH8CbADHuPolhJ/AuwAyDiKjOFPgB0AGUehMfwJsAMgk1NoDH8CnAOQybtbSuxZTg5AJqfQGP4EOAcgk1NoDH8CnAOQySk0hj8BzgHI5BQaw58A5wBkcgqN4U+AcwAyeXdPiTsBzoHH5BQZw58A50BkcoqM4U+AcyAyOUXG8CfAORCZnCJj+BPgHIhMTpEx/AlwDkQm77LNsiv+HIhMTpEx/AlwDkQmp8gYnrXmQGTyLHLRLAcikxOR4U+AcyAyOREZ/gQ4ByKTU2QMfwKcA5HJKTKGx7g5EJmcstCyJ8A5AJmc8tDyZDYHIJNTYAxPZnMAMjkBGf4EOAcgkxOQ4U+AcwAyOeWk5ZlvDkAm79LS8t0ZgExOgTH8CXAOQCanwBj2ZCQHHpMTj+FPgHPgMTnFxfAwOQcek1NcDA+Tc+AxOfEYHibnwGNy4jE8TM6Bx+TEY3hCnAOPyYnH8IQ4Bx6TE4/hCXEOPCanrDD8CXAOPCanwBieEOfAY3LiMTwhzoHH5C5yVTcHHpMTj+Fxcg48JqfAGB4n58BjcuIx/AlwDjwm7wJj+C4KPCZ3hXwCnAOPyYnH8Dg5Bx6TE4/hcXIOPCanwBieEOeY2zaS3Baz2xKN4Y9Ic0xwSzSGPyLNMcdtHrksn2OaW6IxPHnOB5luI6luwXvEYqTXA+8Ri5FeD7xHUTE8/s4x6W0XFiO0BXiPWAzPynNgMTmxGJ6V58BickoQw58A58BicmIxNZ/PGFhMTiyGP0LMgcXkFBZT8/mPgcXkxGL4FFw5sJjc4xbLp+DKgcXkHrdYPq9WDiwm97zFrvgUxwBj8pJStLMXs3OAMbnnLZbPlZUDjMnpmhK/O88BxuQlbQT5+QRgTE5hMfzuPAcYk9M1JX53ngOMyT1vsXx+rxxgTF6SB/l82wBjcoIx7EAAKCYvKS8am90rBxSTV+Q/vusDiskr8h/fmwHF5J62WD5vWA4oJve0xfJ5w3JAMbmnLZZPBpYDisk9bbF8hq8cUEzuaYvlGXwOKCb3tMVmjh1DAcXknrZYnsHngGJyT1tsxtHQHEhM7mGL5TNh5UBiciIxbKhLDiAm96xFagsAMXltI20BICavXaQtAMTkdS63BXCYvCb38f0TOExON5SEtgDv1eS9+lWe36xKtALTvnvvGX5HDBimoLgY/mMtAMMUnrRY/oChAAxTrOiHLtiOXwCGKTxpsfwxQAEYpvCkxfLHAAVgmGKVyz2jAAxTeNJi+TODAjBM4VGLNXyKe+AwhUctlj80KIDDFCvyINuPCuAwRSb/kEwBGKbIskgzA4YpMhNpZsAwRRb5AAvAMEXmIs0MGKbwpEVqZsAwRVZEmhkwTJGVke4MGKaIZIspgMIUGfmP/1UBoDCFBy3C51oAhSkoLkb4XAHDFJ60WP73awrAMIWhX5thAVYBGKbwpMXyv2JTAIYpPGmx/A/ZFIBhCk9aLJ/YrAAMU3jSYvmfsykAwxSetFj+F20KwDCFRy1ia4AH6WeC+OOkAjhMQb8UxB8nFcBhCvqxIP44qQAOU9DvBfEL1gI4TNH9ZBDf94HDFPSrQfxPzRTAYYouLob9UADDFPTTQUIzA4Yp6NeDpGYGB9IPCEnNDA50q0gzA4Yp6HeEhGYGDFPQTwkJzQwYpnDkQP5DAQxTdGExbDMDhSkc+Y//qIDCFB60WP7QrgAKU7gyMngBhSk8aLH8D/wUQGEKD1os/xs/BVCYwqMWyyemK4DDFHlsDAUOU+TkQHYXUQCHKTxqsfwP/hTAYQqPWiz/mz8FcJgip9/t4r9AIDGFhy025/sRkJjCwxab830DSEzhYYsVfv8HSEzhYYvNeXfjLxAV8gWzAn+DyLMWK/xiEP4MkWctNue7Bv4SUUEO5L2NP0bkWYsteG/jDxJ51mIL3tuD3ySi317jvY0/S0Qghj9aK/CXiYrIKgZ/m4g4TOHY7wQ4TEEcpshZYeAwBXGYoniVr25MicLgQI9abFHywuBAj1osf6RVAIcpunQxbOR3ARymKMmBNf+C4EDiMOWKF8bflRLT9hZAYQqPWmyZvXL5TekcCIP/PGqxpeGFwX/EYUrb/raoLbJQGDhMQRxGMAM4TEEcRjADOExBHKZ0vBngP+IwZc4Lg/+Iw5QFLwz+Iw5Tlrww+I84TFnxwvjTYOTBmhcGD1LiXj4YvwAQUxCIqVZszQBiCg9bbJXxwuBBIjHs7yEWAGIKAjGV4SsGBxKIqfhOByCmIBBT8V0DSExBJKbiuwaQmMLTFlux58QFoJiCUAz/cygFoJiCUAz/eygFoJhyRQ5kJ58SUEy5kn/mDUBMSSCmZtdoJYCYkkAM3xYlgJiSQAz/UyslgJiSQAz/+yklgJhyJf/sG2CYkjCM9Hrw02+EYaTXg19/IwzD/4pLCRimzMSDwBIoTEkUhv8ZlxIoTJnJP9MHDKYkBiO0BDCYkhiM0BLAYEpiMPyPyZTAYEpiMHXBwcoSGExJDKYueWHwnucstr1LyAmD9wjC1CwzLQHClJ6zOP40qwQIU3rO4lYZN7uXAGFKz1ncyvDC4EGKhWGXZyUwmNJjFtf+JPpwWC6BwZQes7iV44XBgR6zuFX+Ks9uTFmAMDjQYxa3KnhhcCAxGKFrAIMpicEIXQMYTEkMRugawGBKYjBC1wAGU1pyIBt2UQKDKT1mcfzesgQGU1ryILukLIHBlB6zuIxdUpbAYErPWVzG91CAMGWXJIbbepXAYEorZ0orAcGUnrK4jO/5gGBKT1lcZllhQDBldzOJC4AsgcCUHrK4jN3FlEBgSvo954zv+UBgyu4nnQu+ZnCf/KvOJQCYkn7XOeM7HACYkn7aOeM7HACYkn7dOeM7HACYkn7g2fAdDgBMma8i4wsAmJJ+59nwvRMATEk/9SwMcwBgSvq1Z8N3OQAwJf3gs+G7HACY0jMWZ/huBACm9IzFGXYzXAKAKQnA8Gd7JQCY0jMWaeoBAFN6xiJNPQBgykI+RioBwJRFFvEJAJiyMJGuAQCmLGxk6gEAUxYuMvUAgCkJwAhTDwCYkgCMMPUAgCkJwAhTDwCYkiJhhKkHCExZ1JGpB38hulxFph78kegyi0w9+EPRpYlMPfhj0aWNTD34e9F0LYmfevAno+lWEj/14I9Gl0Vk6hn8cHQZmXrwt6MpXS8/9eCvR5d1ZOoBAFNWq8jUAwCm9IxFmnoAwJSVvIMA/FJWNjL1AH4pKxeZegC/lFUemXoAv5RVEZl6AL+UVRkZXwC/lJ6wSFMP4JeyqiPDHOCX0hMWaeoB/FLWWWTqAfxSesQiTT3AX8raRqYe4C9lTTMg/1PowF/KOo8MzcBfyrqIDM3AX0qPWBz/O2Al8Jeylgl2CfilrOuYyaEDq9VKNrkC/FIRfuHvWVQAYKoVOVD4dXgDwuRA9kOpAMBUBGD4tUMFAKbyjMXx4QAVAJhqJZ/iVkBgKg9ZnGU/qgoITLWqYu9XgbB3oGXDhCsgMJXHLI6/iVoBg6mIwQgtBwym8qDF8ddWK6AwlQctzrJfYAUUpvKgxVl2IK+AwlQZOZA9AK+AwlQetDj+19YqoDBVRh5kb7tXQGGqrJJnqgooTBULhamAwlRGXoNWAGEqgjCCFQBhKoIwgk8AwlTGRnwCFKYiCiO0HFCYiiiMYwFdBRSmIgojfFVAYSqiMI4NpKiAwlQetDjH3gCtgMJUHrQ4x14/q4DCVB60OD7QoAIKU1k5GLQCCFMRhBG8DRCmsrEvECBMZWNfIECYiiCM4G2AMBVBGMHbAGEqGxtDgcJUtop4GzBMRRhG8DZgmIowjOBtwDCVRy3OsVS4Ag5TOTnLXQUYpiIMwweKVIBhKsIwfKBIBRimcvQF8qMigJiKQAwf+1EBiKkIxPCxHxWAmIpADB/7UQGIqQjE8LEfFYCYKo9sIyoAMRWBGOFDARBTEYgRPhQAMRWBGOFDARBTEYgRPhQAMRWBGOFDARBTEYgRPhQAMVVeRj4UADEVgRjhQwEQUxGI4QNyKgAxVbESA84rADEVgRj+En0FIKYiEMMH71QAYqpCPomogMNUFAgjWAzu86RFtBjcV0R+u6wCDFMV9AHygwZgmKqgD5BfSgGGqToMw3c5wDBVh2HYfWAFGKYqI1MgUJiK4mD4VgYIUxGE4XeuFUCYqnTyBroCClOVkV1gBRimKiO7wAowTEXXkXhAVwGGqSgQhgd0FXCYigJheEBXAYepKBCGB3QVcJiKOAwP6CrgMFVlZEBXAYmpiMTwgK4CElN1JIblJRWQmKojMXxvBhJTUW4YFtBVAGIqSg3DAroKOExFHIYHdBVwmIo4DA/oKuAwFf1+NQvoKsAwFWEYHtBVgGGqOrYEBQxTEYbhAV0FGKaqxTTLFUCYiiAMD+gqgDAVQRge0FUAYSqCMDygqwDCVHUlA7oKKEzVURh+fAEKUxOF4QFdDRSmXkXOIWqgMHVHYdguVwOFqTsKw3a5GihMvXIyoKuBwtREYXhAVwOFqT1pcXzwag0YpiYMw+eQqQHD1CsZo9VAYeqVfB2wBghTE4Thg2JrgDC15yyOzzdTA4SpCcLwQbE1QJg6k5cvNTCYmhgMT6RqYDB1x2BYIlUDg6k7BsMSqRoYTJ1FzgFrYDA1MRieSNXAYOqslpf5NTCYmiJh+GV+DRCmJgjDE6kaIEzdQRj+0wYIUxOE4X9wuwYIU8dCYWqAMHUsFKYGCFMThOF/nrsGCFMb+UZnDQymJgYjmQwONJERtAYGU1NWGD4bcg0MpraRnCI1QJiasvTyWbhqgDA1/Xw1n0CzBghT089X84mka4AwNUGYgt3H1ABharqNxC5KamAwNTGYgt1B1MBgamIwBYsdamAwNTEYfrtRA4OpicHw240aGExNDIbfbtTAYOoIg6mBwdQucg5RA4OpicEIoyIwmNrJN6prQDA1IRjhMwEEU7vISWANCKYmBMNvZGpAMDUhGH4jUwOCqekyEr+RqQHB1Hkmb2RqQDA1XUbiNzI1IJiaLiPxG5kaEExNCIbfyNSAYGpCMPxGpgYEUxOC4TcyNSCYmhAMv5GpAcHUhGD4jUwNCKamFL3sRqYGAlNTKAw/ZgCBqYnA8BuZGghMTQSG38jUQGDqwoobmRoITE2RMPxGpgYEUxOC4TcyNSCYuijkjUwNCKYuxJssNQCYmgAMv5GpAcDUBGD4jUwNAKYmAMNvZGoAMDXFwfAbmRoITF1GIplqQDA1IRhhIwMIpi5jCxhAMDUhGGEjAwimJgQjbGQAwdQUCSNsZADB1GUV2cgAgqkpFKbgNzKAYGoKhRFaAxBM3SEY3imAYOoOwfBdHxBM3SEYftAHBFMTginYs4IaEExNCEaY4QHB1BQMI8zwwGDqKrIEBQZTV7ElKDCYuootQYHB1BQLIzQzQJiaIIzQzABharqKJMytAGFquoskzK0AYWq6iyTMrYBharqLJMytgGHqLhaGH+oAw9SEYYS5FTBMTRhGmFsBw9SEYYS5FTBMtiIOw0+uXWkgLmcH7QoDaSNOsF1hIG3lKbYrDcSdPMl2pYF4Lk6zXWEgXcgTbVcaiJfyVNuVBuKVPNl2pYG4+OtzXVlfmMAMP+F2pYF4Jk+5XWkgbuRJtysNxK087XalgXjkhKIrDcRzeertSgPxyB6jKw3ES3n67UoD8UqegLvSQLyWp+CutC9OtIafhLvSQNx7tWTpXFcaiHuvluwxdVcaiHuvliyh60oDce/VkkU8XWkg7r1asiimKw3EvVdLlhJ0pYG492rJ7v270kDce7Vkd/9daSDuvVqyy5+utC9OYTQlu5joSgNx79VK8KpFr1IsTSV41aJXKZqmErxq0asUT1MJXrXoVYI5leBVi16lmJpK8KpFrxLRqQSvWvQqMR3+bm9XGoh7r/K3e7vSvrgTb4h2ZYFwJi+hutJA3MiLqK40ECefCh3MoU8juWa6wkDau7QWuqNDlxLi4S8Rd6WBuHcpf424Kw3EvUv5O7xdaSDuXcpfze1K++IUbVPnHPfqSgNx79Ra6I45OpUibvi0sF1pIO6dyud67UoDcf+h8tleu9JAvPVbzt+Q7UoD8cKLC17N0aue7eR8zteuNBCvvLjg1Ry96gFPzud97Ur74p7x5HwW1a40EM+8uODVAr3qOU/OZzztSgNxj4H4M7KuNBAXz5K7skCYfCr0mAJ9WoiX8ruyQJg8KnSvAj1aiPllu7JA2PuTz9balfbFy8jAW6I3PfTJ+eSuXWkgLl6u6coCYevrFnp5ib4sI74s0Zce/OSZ8EmU6Msy4ssSfenRT54J30+JvpRzBXdlgTD5UvjYSvRlFfFlhb6syJfCl1mhL+WLUl1ZIEy+FD7jCn0p/5R2VxYIky+F77JCX1YRX1boy4p8KXyXFfrSc6Cc/wG6rjQQryMrhQqdSSlr+DxQXWkgnsmZoLrSQNwPtEb4kmt0KNEiPt1VVxqIOznhVVcaiOdyrqmuNBAv5GxTXWkgXsr5prrSQDzygdboUsphwyd76kp74hllseHTPXWlgXgm553qSgNxEzEmQ3SUUTYb0RiL4k7OPtWVBuK5nH+qKw3ECzkDVVcaiJdyDqquNBCv5CxUXWkgXst5qLrSvjj9/DafiaorDcQzORdVVxqIGzkbVVcaiFsxH1VXGEg7OSNVVxqI53JOqq40EC/krFRdaSBeynmputJAnEZffsGQITzKPB7KDb8GyBAeZZHrVl1hIO0nU8MvAjJkR5mh0Zef1zNkR5mnQzl/FbUrDcSdF+dn3wzZUebpUM7fwOxKA3G/eTH8HJkhO8o8Hcr5i5VdaSDunWr5eSlDdpR5OpTzuZa70r64jTkV0VHm4VDO/xJzVxqIm8iEnSE6yigjsTBhZ4iOMg+HcsvmEO9KA/E8MmFniI4yW0Qm7AzRUebhkDRhZ4iOMkpOLEzYGaKjjNITCxN2hugoi6CjDNFR5iLZGbvSQDySn7ErDcRtbMJGdJQ5FzUGfUqxQaIx6FPKVSxN2MiOMspWLE3YyI4yylcsTdjIjjLKWCxN2MiOMgoTkiZsZEcZBQpJEzayo8zTIXHCRnaUUbCQNGEjO8ood7E0YSM7yih7sTBhIzrKKH2xNGEjOsoof440YSM6yiiFsTRhIzrKKImxNGEjOsoIHfG/WdyVBuLy/Z+uMJA2scEayVFGyYylwRrJUdalMxYGa2RHGbEjabBGdpR1KY2FwRrpUdYlNRYGa6RHmSdE4mCN/CjrMhsLgzXyo4xyG0uDNRKkrBRTc3ZlgXB0Q4MEKSujGxokSFnpYoM1MqSMchyLxqBPuyzHkjHoU7rgJQ3WSJGyLtex8OUhR8q6bMfCYI0cKevyHQuDNZKkrMt4LAzWSJKyLuexMFgjS8oqGxuskSVllPdYGqyRJmWU+VgarJEmZZT7WBisESdllPxYGqwRJ2WU/lgarBEnZfRDVNJgjTwp61IgC10GeVJW0+KX/WWZrjQQl6Onu8JA2sYGa8RJWYeThMEacVJGAUjSYI04KfPASBysESdlhJOkwRpxUkYpkaXBGoFSVtexwRqBkiGgJAzWBoGS6YASP1gbBEpmJTNfgzjJdDiJHx8N4iTT4SR+fDSIk0yHk/hvwyBOMh1OkowpULyMGlOieBUZrA3iJNPhJP7LM4iTTLaKDNYGcZIhnCQM1gZxkiGcJAzWBnGSIZwkDNYGeZLJXGSwNsiTTMeT+MHaIE8yHU/iB2uDPMl0PIn9lAziJEP5k4XB2iBOMpS7RxisDeIkQz9kJQzWBnmSMVlksDbIkwzxJMsTH4M8yRBP4n//pysNxCMRDgZxkqFftBIGa4M4ydBvWgmDtUGcZDqcxN7j7EoD8So2bCBOMiaG8w3iJGNjON8gTzKUWVkaNpAnGeJJ0rCBPMkQT5KGDeRJhn7jSho2kCcZ4knSsIE8yRBPkoYN5Emm40nCsIE8yRBPkoYN5EnGxuZUgzzJ0A9eSaMMEiVDREkYZRAoGQJK0iiDQMkQUJJGGQRKhoCSNMogUDIElKRRBoGS8cgodzzKNQiUjEdGOf/zXl1pIO7JL/87al1pIO7JL/97YF1pX9wjo5xPvtWVBuJ+9ctnb+pKA3E//vI5mbrSQNyPv+3FUntTOOwzCJSMR0Y5n5epKw3EPXzgMzN1pYG492rOJhjqSgNx71U+O1NXGoh7r/L5mbrSQNx7lU8G1JX2xYko8b/P1ZUG4t6rfJKfrjQQ917lk+Z0pYG49yr/y1tdaSDuvcqnL+hKA3HvVf7Xt7rSQNx7lU810JUG4vLVmK4wkPZOLTJ+zkaiZCgiqTCCODrVM6Ocv93elQbiEUxoECkZD41E0xEpGQpKkkxHpGQ8NMr5G/FdaSCex0xHl5ZF1BZ0KcUlSYMMEiVTkk9z7tZOVxqI19F2RJ9W5FPhU0KiZKqYTxEomcrEGgaBkqmioy8CJVO5WMMgUDIUniQ1DAIlU5FThUEDiZKhACX+qmBXGoiTU4VBA4mSiQUoGQRKpl7F3hSBkiGgJHkJgZKhACXhNoZBomRqOadJVxhIu6gt6NM6j02RCJQMASWpgyFQMnUZ62AIlEwdHXwRKBmPjHLhmopBoGRXkRNyizzJrmI+tciT7MpE2tEiUbKr2IdqkSjZVexDtUiU7Cr2oVokStYzo1y4v2ORKNlVZEK1CJTsKuZTi0DJrmITqkWgZD0yyoW7RBaBks0ig69FnmSz2OBrkSfZLOpT5Ek2i/oUeZL1xCgXrkFZ5Ek2K2LNjjzJemSUC7emLAIlG/lR9K4wkI76FHmSNatYOyJPshSfJLUj8iRLPEnYulnkSZZ4ktSOyJMsxScJ18ksAiVLd9v41F1daSAuJ2fvCgNp8ik//1rkSZbCk4S7ahZ5kqXwJOGumkWeZD0xyoW7ahZ5kqX4JOGumkWeZOlqm3BZwiJPsp4Y5cLVNos8yVo5htsiTbKeF+UVf/5jkSZZz4vy9h4cK44+9bwob+/BseLoU1tFwhIs0iRr68jBmEWaZN0qwlot0iTrskhIuUWcZAkn8b9v3JUG4jbW7oiTrAdGYrsjTrIuj7U74iRLOEm4f2gRJ1nCScL9Q4s4yRJOEkCxRZxkCScJ1xUt4iRL8Un8Tyl3pYE4fanCOIA4yRJOEi4JWsRJlnCScEnQIk6yhJOES4IWcZIlnCRcErSIkyzhJOGSoEWcZAkn8T+e2ZUG4t6rwiVBizjJEk4SLglaxEmWcFLN3+u3iJMs4STh4NgiTrKEk4Q7hRZxkvXAqBDuFFrESTZyt80iTLIF5XVgk9V1pYF44U0ROhjCJOt5USHcV7RIk6znRYVwX9EiTbKeF2WZ8OkhTbKeFxXC9UaLNMl6YFQI1xst4iTrgVEhXG+0iJNsST4V+iPiJOuBUSFcQbSIk6wnRoVwq9AiT7JlbKGEOMlSgJJwrGcRJ9nINTeLMMl6XFRkwqSHMMl6XFRkwkIGYZKtYjejLNIkSzRJGgSQJtkqFvJrkSbZKhbya5Em2SoW8muRJtkqFvJrkSbZKhbya5Em2SoW8muRJtkqFvJrESfZOhbyaxEn2ToW8msRJ9k6FvJrESfZOhbya5En2dpFThgt8iRbx4LOLPIkW0eCziziJFvHgs4s4iRbx4LOLOIkW8eCziziJLeKBZ055EmOeJKwPnXIk9wqEnTmECe5VSzk1yFOcit5QnUIk5zHRdII5hAmOY+LpBHMIUxyFJ4kjGAOaZIjmiSMYA5pkuvCk/ge4JAmuS48iR/BHNIk14Un8SOYQ5zkuvAkvn85xEmuC08S+hfiJEfX3YQRzCFOchSeJIxgDnGSo/AkYQRziJMchScJI5hDnOSyKjKCOeRJrotP4kcwhzzJmVVkBHPIk1wXn8SPYA55kjNGHsEc4iRnbGQEc4iTnHGREcwhTnIUnySMYA5xkqP4JGkEQ57kPDEqhCwGDnmS88SoyPj9u0Oe5AwtlNjM5l1pX9zSQolfzDrkSS7ym2NdYSBtYqYjTnIeGImmI05yHhkVQnYCh0DJdUCJJxUOgZKzNP6yKae70kA8AvMd8iRnyaeVYAv6lHiSNFojT3KOfMpzDYc8yXliVBj+yMUhT3KeGBVGmJiQJzlPjIr2Ci4rjk71xKgwQpdBnuRcLJLQIU9yLhZJ6JAnOU+MCiN0SORJzsUiCR3yJOdikYQOeZLLY5GEDnmSy2ORhA55kstjkYQOeZLLY5GEDnmSy2ORhA55kstjkYQOeZLLY5GEDnmSy2ORhA55kstjkYQOeZLLY5GEDnmSK2KRhA55kisikYQOcZIrYpGEDnGSK2KRhA5xkitikYQOgZIrYpGEDoGSI6Ak3H93CJQcASXh/rtDoOSKyMGbQ57kKH+2kKbMIU9yxJMM+2sMXWkgTuMvj3Ac8iRH4UkCQnfIkxzxJGkeQ57kykggt0Oc5Agn8b9O25UG4kVs2kOe5Cg8SZr2kCe5sopNe0iUHBEladpDouSIKEnTHhIlV2WxaQ+JkqtMbNpDouSq6D4ViZKrYldTHRIlV+WxaQ+JkuuIkjBsIFFyHVESpj0kSq4jSsK0h0TJdURJGJSQKLmOKAmDEhIl1xElYdpDouQo27Y07SFRckSUpGkPiZKjK2/StIdEyXUZlIRpD4mS64iSMO0hUnJ1LN2DQ6TkOqQkTHuIlFyHlITKwal5R5T4aS9HopTTjTdh2suRKOWUQkmY9nJESjkhJWHayxEp5R4bFUIulByhUk6/hibMTDlCpZygkjAz5QiVco+NCiHTSo5QKY/8JlpXGEjHJtUcmVKexSbVHJlS7qnR/9/YtS05iivbf+nnebCQxGX+4HzDjh0dlC27mLbBA7i6anbMv58QkEmmYNH9VNVdVloIKS8rV6Zy0PXFp5iSn1Cj3O4nmHyKKfn5erRd4M+niJI37sBI+hRR8hNmlNv9bJRPESVvjmyqTxElb+ZXuu9W+RRR8hNmlNt9t8qniJI3RzbVp4iSnzCjHNSk+RRR8tn8TvcdJZ8iSn4CjYzfvUFr+av6+ME7TQElP0FG4N6v5a/q4/M73U+7+RRQ8hNklIMqGp8CSj6D18Ysf1Mfnt6oA2c6hZP8DCeBkhufwkl+hpNAyY1P4SRvcasHn6JJfkaT3L5b4lM0yc9oktvn7PgUTfIzmuT2OTs+RZP8hBflbt+t9ima5Gc0ye1npH2KJvkJMModUBkpnORnOMnvpxZ8Cif5CTDK/b4r61M4yc9wkt93ZX0KJ/kZTgL1OT6Fk7zDBeQ+BZP8DCahLZCCSX4Gk9AWSMEk7/zRFkjBJO/yoy2Qgkl+BpPQFkjBJO/Koy2QgkneVUdbIAWTvD8dbYEUTPLeHG2BFEzyE1yUg5orn4JJfoKLclBz5VMwyXucdfMplORnKGn/VtDlr+rjOb61b/mr+niB7+1b/qo+Pnm9uzf3LX9Un55fKbC9KZLk8/mVAmOaIkl+RpLQ2UihJJ/PrxTY3hRK8jMzCZSi+RRK8vkB6uBTJMnnR40efIok+fyo0YNPkSSfHzV68CmS5POjRg8+hZJ8ftTowadQki+OGj34FEryxVGjB59CSb44avTgUyjJF0eNHnwKJfniqNGDT7EkXxw1evApluQntAgFnD7FkvzMTQIBp0+xJD83T9oPOH0KJfm5dxIKOFMoyc+9k1DAmUJJfiYnoYAzhZL83DsJBZwplOQnsCgHVaB+gZL++8e3pv0I/Rgu/9dewue3P//zn2/fv49fz/Dtj/99+97M/5n9MUn99uf/vtlvf/7v3z++udPy088//fJvv/w7d8vPav5ZmOVntvxc/l7k889yGVctf6+Wv1f0/8Xyc5EXmw7Pv5hlRrEx6/ILfcYug2KPwfkXb+gXGkUTjg3xll/owzl9OKcP5/ThnD5Mz2foAWOvseUX+nBBHy6WD1v+pXS0bLx+tKBFuawgDS9OtIannBb1RL/wsi7Di3L5n5JXkucc78CiRaQ1O9ELm24soN9K+q3gz9ELnDrt0288ouARJY8oeUTJI0oeUdEIw3NZ1zJ2GlpepaWxlmdq+dsc7wbP2yHGdvQbv1rL79+R5Oha/Pm/f//9g07H9K94Wr5Pe14cg2ia+CDk/ISGXszU5pOewfEz0D6IPUeWmZeWZ07vIuYRl994dfy84XbmVr8NcmbximieWUaSItVjfvcWPWN97hJBpRS0jHfz2QLj37WASgigbR1pIUDA5aKGW7MON6QVMjq3kTCyPBGc0U2/s+q0CixoPxUnOlTzftmXU7eXW2gvoX/24dKcx6ZrlWj5qMXpYEKzlDaMangudxOfTjvvzD1B9+amJuCckFCS2ivpIJW+hJLuatHlGsWWFctaw6W536/1OaiNE9sTrC8uwxt3GTsMl0f31txDG8YPoyUVStKvZjE27ddXd+8+Mi2lVFLgAWjP712v3ovz4r249SzCLTyJeHZDs9khcjfnpJByelP5bKCgSLXAEQpcHyhySRZtwdo3goJI3K3/UquTyTWOfcHRwC+9UYzcKOQL4OF9qNWGPYmvLSwdRjKiZbkc88qT0argI/W3R/2pJ5fJyTmaHNyJ/e3RtFqClRI8ScBz6Gu9PoVUw3Z5Me50KGD4as9aiFTB5MO4E9wrg9EqtMrlU5AtmDfd7vgsGS8fgrwhhxXuYJPxcv45WQALj8/gkvHSgpAT5ixUi4NX47OT1GY5aTML9cigd0F2kpucfD+HTejQtO9agNyI5K5EJhoSMJzre93rRXDyJdBOyvAmGEI/NsNHfW8ub92nPnViPgVZ0ILebEnOXeXo+JVww8qvuddv4R423ybVd0kuZGXx9hMiF0O7FZoLoZWFdm0YEhNpcrmO2AsZhi4GQZsT7ZU/YjL8zWnMZCov3yAdYyxhrJNtKJURRR7Owlcz1m2mBchHJ6/eYZsz1uk+lk9ADorDq/9xe3ad9iys0EWx0ezsztGucHhX/Kyb8REuTX3v6ktQBzze07oKPcGX+laff4RWDRUPRIHqweBb373ay7m7Jw6CFZsxtycy5mhd3urx/N52/UOtjPSXYnfMeWXoLDrHkUqGFN8kd2j+UdvOSRs2XeR4MHjshmd9TtYoO0n7QbbZOaT/39S2jSml9fs9tDpv3Th2akWs1PsFhS4FhWwFbZqSAq+KHJCqQqp1/pbv93DVrrcVRyOH9n0Z3Te392S49BChTp6Hp98dbxoXPhDF6xRXlyUjHwx5HK/hZnrxdnLxDQQWEDBRMtbiOVqHwctbPAFNe9uYFPkQMDpMRkW4fj1/FPkX9KAlRfGlIUNkOHL3+BV/bk+oEYfAUzjtK3iSus/Qnrv4oOl5isww4XYzbODKg4cOiecu9RWDP1NtEBDRd/XlXA/j2OmTKT0zQkkcDBjf+u7nELRfIXX6Alfgkdfmrh/FSHUOj808+H0cn334+xUGtTuNjDzg0Xldr8nEC2mMCA1agB8oYetbS91Gh+/gRUxSxq55JLBCvPxb2iD4Cr7GcA/tbdSWVXqY0Hx9jcnil3IYGQhnkIBzfW/e+nrUE8/EOhbkWBYVqdITA66sHODxPtftRz3oSbpKLYxDmyTubu0pSLtVFmQPyX2HW/Ucmrs+JDL8IKUXKwzA+Hv0QPWBlfp9Is8cDE1BQicfpCSEtoKnZRIynLs+kSLMaEkgYWXo7TgGPD2eXfOsx2nnvnX9JWg4wRlhAgtSawUpp7IiFbwCwzCMjd/09vVR31/aA85lIEZTzwgZdQ6duvO9a7WkUh5+wrgdXlPtheYKUfI53M/d49kN9ds9jPXwQ/mN8lHM4kxDCc0YpkBiR4tJDAe5ZlHIawwLvnUJw7lvnmPXD9tZOTmrAm7xWaCWpqMcBd5lKxb5iznuTPCtHoKepFWTPFr81xgeEXVthrFuz1pMIadooV+5iOnD8F4/w+XSPEI7NF2rNr+V4GCeI+W9yBqa9nZPHnX7KqRlzKBzcO7ac50oPqlsyopOCW1yrEEnUaGt1W5Tz5nJEBIq0K69NjftsFTK56FEhyvwdmiHsX+dk32VSQVAwZ9ZDIulXJ8nXeMpy5eT2szpwzm5sTlpvpzigYJw1YKwpoJcy5IyZSV9e0nhREkqrySEpySHqjoRaEHJpIpOREWjqpKzaW7NapFnt+YijeXfOJ1o6MGnDvrLb4z/Z2v2izOIWcn/x9+RkcmeejPSb3xyyYWe2s0tv2WEFFvGjB1n2BznxtyaN81XlJkNDq3OROCA2+FDB4XSKfAQA4njTnqg1HDectIOuwNdq9MJuVPG3HJWEHsEUUQSEstgnRYvFgpiCZmeRK4mwYuJbWAUkaTGZGRNQU1GfppzWCVGUWNft8Oz08o5k6FJRplmd6D22w+rH0yZVsvZ9CO19eG0iFKJ4HTG4fJ6LaJSIjhqPHyQXPsIJyWCN/nhshZahNrllkkH/sAafJRahEJPWPN6D538buFvvCncUvorpFqqo2lEGUmkKBDXg4E/m/F9F+GKPGd56PGGeH49ukvQwKFcB2yfE6d5HYPPtjaQEirJyPl1By9sSAI5CfUTMOXw23q+1BIlcOTeiD7UY1hC6qDVqjcq1irgt04y5mhNB7FylU/YQxDjr33846XReb1CgY4wHzgLmj2pMUwJ9SQpnsvobepz9StJfTh3t7bZkeWtSiTDGH2RFbGOr2EMD73EaomK4yVqu0v4a9i8JbU4xfGbxnnxXKI/U8ewIzkxK74utHbLcgXj4MzWKmmbX491rULGwd7rnnV76UMKrBkFBGEf/PV49p22xnJB2TVy/kDE8HpoCTI1QgQl59GSXupR7Xfx6ARUkMFwJ2RyopBGW3SZ1WJf0FbofUQJG0SrlBacaXkGabAoY+xuWg8ZGVxlZLgWbtK+kDDUHzotIyMgGChcwrm7hJ8hYtZaE8s3AhdAjh7GPtT6taqMG5RxrV/38fu1uY+h/x63ZYLWFupwsKcMD9wicT0nbRifdV8/tFxvlWlHB+YSniMlZvSelU9HBDIH2WuTnJ/NEHY8SS8Xm8CljDIPDmLtItTX2VnpK+CtN6kirUSke7/40xO4jmcQZSzQyL1uL4+6/7EFRpQ9sr+Y0S6dKVf0oRK5olrCdh4KNoL5h1mKeiQlppT62kLXekfMLiKjzL6FsN6euEYTgnypbBL02FdRACNS+FOJtUcUs79GMqVnDEdYK2fXVBz+QirX/AUr4KMnqdwJyJFIZRzsUq926fHirQK3cozaZVBrN/c6uklZYk1lSoRyg87Dx9tF1JwklBUVfJRmuL2GURsOn8m3b2CgcGk28WusExAWlAw50aHzlaNc8Tbg6NAwumGYVs7Gz1giThvHaI5jbrirOMYsDua7gTGdVL0lQUIlpEuSjPE9IprdXS9coZxlCKtcGuWQGhktx9tZF/VP0T+lhStImbo0H23XJnwVaTczgiccTE9culEPl2mbkrwpDzdzX//U4aryRynlSyFdThhZni1rnsMgLYreZK6FdA9JicvI7jluEGe5Oh5G4lHAuWvH7qXz2dL19xBcjqM5sNJfL1fHl0dPHjVM+Hz2YdjC5hIT8CXcHVspTft8aQqFDF19CZ2YRdSuyrcyjZoTCT/HejQVtp2VlbAJDBg3gvZeuIyPcuxJ9/XPiUe3u2ckXYmOhMfhQZTVtCGZh2SZ02HPYdI4Cnl2TTsmUiRhhngaOURmopQxfI7XJmiVZSVlPYcorhq/tzSSZZRDZuUlJeVVSmGygqfUBMH8FhswTYORiZKCyi4KMqIlVy2t9TN4yb60ZGlPSZ0V5PaXXBe11uhALzckk5ZZmYJKPArS2CUlTypORJxgkURIZy0jY3LnCwosSvLAKi6bOsGNGO4vbR+k0aIsiIO53InPsxtoKnYbHK0tZq4IG2uBFFyX9qPpu3b6PwUFSU/nBKOK8Per1qQGlUkjHqWDfmzor3q4nD+l2xwEXULfJyGeTMAbqGHD63xvLiCDm6uKDI+/nISkgHKWSbCVkmgOv4Rk20sWNFEHC1rLihJhFWfdTvg5P586npauDzmfnKBzME8WPiM2dmk0UmAkUpBRui0jf9RBZzF8Ph9Gr5iURDrDQfpC+BxDe4mIfkJ38iovkcHColXAAdlA5QUyGM2msha/RotS3AKYqtGigHfjVY4ug3CiFrYfjKp8VAbxlFXUXCGml1weuQwf9c+xr8/jRCNqrk3ot9CTLVQ2aK295EiIox7Dlio7/eIbN5iJK2QIfoIInBg/hnZIwSQVFZ+wip6l7Gh4K5VVzlG/YTLpWuLLlHSTZZxiJ37R1KSeQkCGARlP8CdOJZdwr2jzKNVwQTWNBXl2FX1dxTXEJ4MWMa7e93Unf5+cSL0JpcIzBtKN4Oly0hsuIUdSjb++2o2c/KT4r1BfH+eFFP0HJlGUjB3H0VdKDjRCWk+kiaVMFSCUTLCAoO6R2pE62hiDdFgUcQ31+OrDsvUTzrMkg+Wrg8U0EcPJecMl3gY6ulK35eUms6bcgZz5J7AGQouLMOJGpNS+pmL6CiwRkSI3wtTWh2Sxg9BSbJOcahHKw5fDghQ1wUkGSwmL6JSAvNQSxGKXh1vsEfPwGm6SYw93+zQ2MUGFwp1hWuZXaVgFpXNZvoUVJVeV4bKyFK6A8cI11P31dddHq1TbACqN8Kjvumpc4tp5BXd1GM/vUeXpNRc0BLhh4sgdVnmubB88nHH0X0OirmXxqTlBNHAa3IY9y+kUoHjC5yaK6Prxve9+6vEqvsG7PY7/aC5BlTe4UqlVWDB61QU1mUodkrl3OVw8kOhXqwfBrWuT1M6r3Q0zPHO2cZtsVBQFD5n216a9vIVh3BxwL2sCpos/gYB7PY5BA7YqXUq+4EL52xXRPGMx06beyCgaCuTOXO9dwg5VoTjBDo5bxlBKvaCIrCSIurIMJDCwcoJLH783gcAzma7ICP13kJx87dpxpw5QQnxEn8yxweraMWVBWMm8zonfmGPVGGWMX4m2khFVTgzHHJuKrn9oErLiQ/Nq4+GbqkNZJlsSC7Ukr7mknEtJRfUVBFevXf+z7jVoKDNv+dqBhp0Ew6xOw+UKhjM+2cp7ZR6tY6as4w4PDsLQy5y2eLHkPOQrXsZRhWHG6tpEyHBiKctoipZ7BDmOKtwah2Bt1IeQbCipRPN1IswHXlsfGe7Hw8UZhnks001ny9cbznpxxaDjsMpjX7zvHhsjJcteq5WujG3zxDd7dLp/hTq+UNHz0JQ0k6lc08HwZ/OZRFVGBSIw4b0O3jJ2Top9Bfdc3z3G6/vrTZtIkRFAm+JWj4kjl8kHZro4Jm1t0QgrKQg5GYuCNmtBKFVh0PNQJ53urX5r7s2o3qeVVWMFLOq7hTbEgraE7Cr3VM4wNpQxnkM7hn7KcqhJaDlwecMYU3Thc8wuez6Qssgn2LbiFsEPTRRUKcwThPluYbz23T+h3UN65CNwYGq4y9TaAc1wX65sbaHGbCfLutUxbOI8a0pWYR6yom6ROJjoS1cpJwtCbDQWcA1UFueEz8Ei5T1sKqQVCnCCHCqS8LO56AJOryCNEwT4bmH8q/7ZvcaYl9NBnThPJcyD3cIYXa7wlZAIJDADddA6+C3do5K1X0IVFAV09eW9bi/3tLJIZmMOjtpEFQavsVTUWkg2iFIiPbzux+Zan8fh2vWpWZFIFYw6kKBUQUtfBjrUG2FNe+32ZiZ7Jx7s90f3GpPQXVaAwkDyFsY2IcU4iT6XEF+/LSzFyVTV+sutBGFz9hMM97IzzNUzXCjMTEKTsdtjuU7KsZZx1GFsuohj0SP5wQNO07w3umDYynA355Z5hn2Kteuj4VZ9GbtB2dpQkEuqHLtBznNumIu1/IG5HKne8EBt+ZMyDJBgFaVFhbU59NLFhoUtYvT21JdSwoHOitzevVMvS5uPzuvY100b62j3LJQMNXh3GK4qM5591rXqzbCtYhDT8t5xnJB13M3Tsffqi4NT93o+Q7/pDuJUNHSgThYI5RnOCTtBLNOBcl2Gb3jMXvWXQeP7+iv2jQpj19+Uk2iMbsECBUR2v/YTtR6lDCu28bOInXR1JeVQvhm/ib57qYyqRunRTtX6UsJABW2EghvKEmml4lDrBOHc9/r5TPrlKcAbBq87rob09gsimBQUphYUR5XklZeUn6tIf1XE+qjYKTvBnh+x64Z2asWbQAvZgDYvVvawKmAuKq1qkLAOwb1LOLk7GjBK5cJB0lNzxLkT58BDSnnze3QuSTiCWFPzS+KSTHPkMPZsOI+V5uRkJFfiecDMhpOgVQk7KDQgnSB7W0BuZpMitMqjopjRweKuDS5uVAcdaPumcSmbwkltXJIhqWA6dBKyc47liyupX1dJ27skd6Ik56aCYO70DXuZ70oFFdBAi/Fjt1PVV6p6M2iAZjHd8PerTsooS5XHx1ojCtiERk5qnJKcvpK42SVBdSVFohVUw017vr8uIR6jR/OPNlUqyoZJoaa9NAlLIZNtQhkQtNwkit4fbqzSxDRXfU8gUK/26An6s+voPjYrnBK6KiWgzBhZACjsIEpWbxEGEJOIbRc5RcJgl4zB+ekOMvoNi/4I/RCG5vbotI3IlS9sISGp6bQakO8cDlk8Vw3UineOv4x83jQglN4MfNhOl/aeVJENzEY1Me7b4fbnqp7FY9u7gbGcbLhSwaLepk+KsZwseaoK+Jz9RrvLA0VuloOwcDNM5eI74JDCAyCs0QxvTVtrPFjnLeFpGXY6onmjtjp+7gH1kpHeOqRpxeFT+Yr2lSQGklFzEQf5ts0QPnQWz3rpUGCTPFyj4tEVhSqco/PsYD1LlNEP473+Cv22qDBXiVAP25o1w/Xe1QnwKtEGSC5shujcDuf3kHTcEooXImlNBGj008sojRrFuAJvu20nUisZbzk39ReXU3Byab0FghmdJuOWK2x+DNcuGcdQrWOEwsPsbDNMUFu4h+m/lTlXGxyrvwH1W1XlhyfYQLYZ0pIgFXwQMIO7CDXDXECvj6f6cli60gwbfSZtTEH0voJSWCWZsoro/xUOEXRV/o5fn6uYG/dpbobZcdPbX6bsIJxNQ3VrGithoRwi2TQ4SwbLqAai2DTYJoNlKQeEs2iwSwbLk4NdrbktdPt6vKUGXT42TJVwW+mYdbo3Y6OzTrl8fOyEDLuMaFV0efAEv2AwK2I1Dm2GX7KXFV0YFretggBzWZG1DvYTYi2rlnSwPKNJ+1PsnSkFumDWerNW3u9JsaoNDcwt/tWllwFIXg8Y9CM8k+amsk6D7nmwsCT3R+jr4ZHU8xpZn802wkE+9kT91cCHbCxDxsMTIaIk0kxJKFRZMErGSpHde2iPUf93GShDv3cZDDoKeMVls1CdLlKSNoR6OtKrhbXuk1OjBsocChoU6h9ffVqopGINsvUO+pUb9Fle31AQtF3Q3UEF03PIoagoOqsg++wehqQvoOQDULM9B41rHL8FeSV3zdLGwX2RYwp0y6GSKF9OLkIOw50oZAM5WNnOxVNOwVMKICfXNod+dUwuTek8zfVQXSS+EWqMZHS1NnFyjfkWjmUmnFVa7y9bryLj5m4m4+Q79/s1lqk3fBuScdxc0HEpu4d+Vpwp30q0ab3lK8X6xcc/9qg+qjqRTR3ytapqLchgrtF6jVoGO5HHr1NmdGfiSmnAWIgkrZZ0R5RqzQCtO4kiW7ojSMEA0J6mgqJJ2xGmNiT010iY4GTvyHJKFlSMUVbfPS6NNlJWoow580EMp1DXC/UM81AyZpJlfFOa5RvgHHfDdEyW83y3Gi57pym++kbPUHp3axmE4bkyn4X7TRvuTmo4GjeW66Qck9ddzmlhLhLyWMcvM5wTfo9aZ2gk3JqvfSo4q2mYdWfW7p/rbYfcf9Ty0XdMLHTMh/Tc6RPX/wu2h7KhwtWFZJE4dsf9kv4tpCLEsTrE2u7XUqcEjx4h9S13Nr+qSIIpUhI2O5c7YhSKCSO3KGb31TvVPucEq2dWAUlsLMweVlHn+t6H4dm1Q4gltRF7rtM4JFMYJ7EkHCxsi1Ln/ntJeZUqsF8Lg5hs5hj9cFx0iEGXe6caE2ey3tOSqnGwFc+9u5mnFiBBHzphDhZi37tbE+9mSm5IkbGWJRPtIGF6kdImHU8kBYy79DpIXFykJBx6yeSypF4dbDCyCPlMpUhfhVSLq/Ahu+2A+pkE4izhWJi8HKV01zG5xi1zin5FyULIzY5SXo+kIjuTaseSxsdtxe6ddpDVuYRQZhz1fedcVhoaAKMfdbTNr4vGMmVDowqm3rb1SpKyAsPNKaELqrJV8Y2FJLpZBCD0KRQeZkoe9fjQhVpGgRdkxixhdg4GNpu9I7UYGWsHyQOP+rN5JK0hJRhnySNx8IahR/25ufRKNa0m98ZydyrIhHjUn30YXvcxgRZVkzy+3RjfaBd76OtnkkeKfAMH2xjF8QmnKFflmR5mzx+hHl79Tv7cSkWVw2zkMn4b4kllmUOY7BHZb5qMVerqQzQwAX909o43JBkMWDb7aNq3BBDJT8prhwj+o2mnVvyXkDbOUHGoy1YDevA0232tiKhks2Bm+dHEHiBPHdJmEvK1NBGH9Q05dDvtMFXrBo/1TdL7VeKLls6Ch1Gj5ugqhafIQb81PFJ81TNIdtTaXOBIlsj+6+MlJBHbCx7PKCjlGcsegNDizhDH2PXhUbf1Tc9B93A+XNCxe3b37pbclCjWk68i/h0pm4uOcsVx+h0RaZ+nXHUjhBLaH+HruSmpVPr2BH3TR/cRtn3Lla5GI1PrJwlzFE5aujmCQ+AKnvdpsHRAdN32PDyDhKT40cucpUljU8le9HAp2qDddJnPtQRge8hWa/dKRVS8d4J53TaM3WtM6/Ik6lLAzhW7islKkKWA3JY2JOpEVTNYaJvb8Orreyy/7vofWpmoOwwg77cNr7Gvkzp31fsU+qtt1z7qz+H1JNxLk2ukoWTYwEIi00battJN5VBg/mYj6FlfkhS0Ub1MII8YSNpOTPXcgDzEjbiY89pc1WVUNxBo3rGwnenJAAIWJW/6Y8nMi6Vjv7SpAeM3NLb8pHDBgy8ftxkBSYWxRPTDKbfu7a9wHvd7z8jUbAWb5nVteE+iapnvscTK9FAHdG0Y7s0PTYyRR9FSxYGHyaOuffbdrU+SLDIKgA7rOvRc3+/x0lllkjURE8kgfuT37VVOpe6qciBhQ3iWvT4pJMsJG8ghPStxGY2MpzIixlgqNPSU8ikov1FQPVHJrdkYDT7B1/isL/W4e82dzKYRVFoQ7bPkew+5Jc4J0seiMmlatbxWghU57bYcsvOf9WWPcZurWzktLDSarNWjfj7jRaWaiCSxbm56y6ibYZDacH25YYDbcLLXcOcpw23C+KWZjGurMrsieww1c22VW/miDP17mAneqxGSq0r7IedyoBMD3ea0PgMXtjIgbrhVgFmv0uLnz078hBxTWy51c4afgevIHKcJPDRmO3RMcYgr2M5sGreTHpVRM0GnOaTtz51b0x4TkkeR01Pn0D1N8YxMtve31MrB43MSb0DcgEMSYC4JMy0JYClJy5YQRX92w/jsu3OiZr26ONQwpc5whsZAwOWpC+QySSqylJ3E/Obltvr6Fjte7tTMyzgm55NlYUXZIm9LqZAVNRXk39Fw1GdMlR9CSO25ITRIU2wJC/Gw3eyzT06AkQkuTlc5GChv7nuR0bEltp6HDPC/X3U77uQ4TNKHDgzv1Q10mcxoeEg063XfTVm/hnVFr27UsXJ6WF32Vg+SOSDofPZOD5LYB3Twe68HyQAf+oV9rgdJZga0a33danadVfeXwf6pfd0mzCm508gB5ZYq+MLCKCjFEIzkL2QEdlmImPWhvsTeUhpL0MR0uH1C5FHc2oOCbIl/ss01bMOM4yQxXzCesQ3jtTCWLbLjRLjjljCOKwwP3nA4N1EPJ75/ropeKeaHnvvCTfgnHHEaFXZrIWi8rWSQTWYgCNWHWySn9jG72nevpBZWtyHFL26WESumd2Qo7jJUAyHey/ERUq0v+VUl3/wMo3sSs29+ZW6upBRASW54CYkpqTUwik5J7pIlX9JDilUUlOsdI1Ei4oN46Jb0YR9xU9d7koeIt910If0ljHWjyV66ex7UvvP4COPqdyViPTx2qtfW4YkEm8i0FQQml8T3qNiZOcFoemlBoNdG9v0mXWHJ3ffQj1xk6cLCTLohluw4Lk36jZ4ITiGVJ8jqmK+Pi32D2lDrayoV4ur5ESm+hD28Z5FRXBjGNuar3rpEsr6wiyST/wtzYLPkvUyeukUcX6DRh6G7f4QNJupVJukEsxbE9tB5MIUR4hc/lezp1y5RHTIznpuiQkLkplBM+sOWoirc9LC/vY0dtznQr0YdergOmySkdOYKolwUFMwWdFNqSSa04mpemEPuu7EeQwTzuut1CElnRLm9IRm+j9X3eqUkAEXRtOera/iiawrGCrroqCTqaMU9rk/4BenwJ/cqxwv5k/3wd69frGS9Wypb8jDZ2r90DUSuaiBWLiiHTNkKRqxdq9hV4c74hltNGOYjGyaiGAvxr/7VcqpSrYjCiR0DC5gX1b/S9rdWmrl8vQhkpUxy0y3Dl4Ab7GW+WnQhp6pAYn4lZnUPdXINl8IKYeHoUD+e97DwXr5He6xST7q5P5Txof19qWIoN43n/RG2SKduPYvetOhso5Sj7hd9MHhW62qswh/gE0cambYvknSVQY9lq/x07TTaKMO5e4akM4fE1RjCczDXu0l1ONnXpaSwqiRcqqKIouLd5yGxeBKeEF30gzEABz3nScZ++bQEzozjY+c5YMIAxpACIHLZLPcHwAdkanv0dt+9eVP23KXwzFL85fGBCf1MG9hBS2UrhHzticp6j30XYzhwXC+x4TtjjWXusePLEBxTOB3ztHEeeNjpaaiOJUQ1Nq6r5vLTHXUUuFjIxxreG+11OOkrFLQxC9pdJXkBJT1zSZmzkgxvyU2E+PKHE4wQpgno/pROZglK4t6UBDCW+IzMsraYsqQ3lgRNlITNlZAMPLy/rtd7qPu+Tq6LV4wBmGDdYX0a6TVwfzVLe86vPW4heBaRD33gJOJIZTH4Bvn9PhryVLCCghKSCUjEkYIKD8vQhqbV18JLHMpSIYSH7X42d2NLT5nbF1vICBruTXJZsKwgJP4HlUFZqifwsHPjJNAm71nKxNt/y+g1qg0/OXCWHFTM/YqynveXDkIlLsMEcw/7NE73KI/d1HIicbIL1RSEvFZIshme9yZxe6XXQhG6h9SPrdss4yFKcnrYsGebN8yk02OJs+EhbXiWcLk012voU5phJhnAljSdhzj58PcrbT6dSVNkKaXqYcYCX3bvlVdl165/q18Lw5rfKNZXhcV4/41JPt6odv1kai257R47Y2PQ/HTpcFpSTx5SpucegXslICpngEc3KUIqhsF1HPvmEi5b5SLfjaVwzcOe9bMcXVkpFSx3C3XYCdZtsI0kE2cU9Fny8jzBzxVnAw88q4QnK3ESSy3dPczoD6/+2TdJWxevQFID7caY8LRlpw5LyWsPuW9jnZgdyfawFD17WLI16gtjt+3tpfOGL7nadrQwKpQkV4t7SuO7//Y6XBh1XxyFzbit516jCyM9ML4ZADev3ut3YVSrBqpi9ZA9ttf2wijWM9UV4hb6swyv64olWQTfPj0P3VCbpF+NSYaxhaHmucgaRdiZblQdduSSwwG624uE0Ze1mX9QGfzi4C7HezncSPGM7yEBmlRhDl+dmjFPJFtzZ2uotN4RxyEQd0syXOFvuJzMWBga7saqRtE38QuNneab634bKalOyUQ6CEaMjb631ahoGQJGY5LdNJJrx13kLWGRHu+TpEBTW35FQFw70q/oG/RvfqupiLp9AQak+yCbV72UmAtj7HpXB9ZLLHELXuWKxIKzpquM5Q64t+4zDFtMKleXR3rIqVnl7RdpqG4uHtbJ/qIBi74eCK44amDlFTvuBGH0cY9H7k8qr4ctzxwibG2ZV6VAJxhaj91bypsqFapJRgdWQY/dpjNaJjPgllBwD1OMY4oUZJJGz7fMeMhHHbvNjS1SaVbM8bMwThq7/feguKwwuTB2ugBB2quCaGMFEfYKvu6DWIIVtxWFrK+xe37fdF2RTQxz6CzGoduskjy8Oaz3HLu922QUTHkw9Ie24jJUo0f3kCAxds/0gZ28bKQggK0gF7qkML3iG5tgzdvYPTdr4qTrWBAxtiB/uuSW1gSuVDDjsduiVrZbKwj3KuiAlHylKvdFOUH69NjFAEXzeo30pDNKJvNVKCWkdHHnew3nSPMMs1A8tmvvyjyr0lzs7cThTXvbWhfVa417P30jTBjLa+MVGQ/tKUhdDDvMTGOfyb0UxqqWWuQu0E47sFJLQvyyr1g0yQY6L/0rJLfA5WpCHp7cV9v8/UrcaBkC02b2kEXzmpo1h8sQbvH/05hT9mLhGzNw461Xu0UmZGbGlLy2pBqgvn0Nob+Ea9OGyyOMkUVfa3dJnDPi46P39BoTTo2V9dg5dB+mHn31uJPUy9VFrpjy+VHfX2mbZwlFcQhKXr3nLDVETT7qvtmeZAmCkjrIHKcsmavODHXm4Bm+9oTfj8mYg5etviT3hmJxxnEzHcdJGhx5RgpHwn0VGmSZD3oZ+soQmQAvCNMvKJCvKAVYrZeKQ33yM7zdlH8kqe1wTDQs6aZULW85dPu1jE2haaFIcYfjw+X7XnG5uucdnYtZwvaSC0V7QNZ1Hhz5oM8+XBtNEZTB/PH85+61/XW6N1pZF9VUCqYoFimPum2uQd/EI7M1sJNKMn571HU/KmTkEjGhHZOHUfEZUhfg3hbVhvg3xm4Ll1WNw6GAV3+P6eHQJ5RRqTGhOfn5HpJEgHxuvtDIw1Bp27VfxlgFZZwKSkoUpHUKKr0puTc9McIqdhkZMDlBDsduR1W1EaHFWobullz4XHVBXa+mWq+65GZe3KrccIMYYyG7Nn7r1O1uh7egCkAdFyI5BpM89PnW5rC7TVkUbMlmxlhIrdrKS/pqqlMGqZu/6FmrerzCcpZfdqxVTXaYg56tnbJXO8lNA/n6EMO9gYyFFMLjXrdecZW4G1xWreDe0Trvdb+VvmgGwYap9HefiWQUx/Pw/MhbujZ3jOqeMUdSJFsl2df6qlN2PCCuqI2TfJKCCr0K8oIKCs2KklUKeRPc8YBGVcRxqCgWqwhlrMi3q7iy4QTprZqWIRepIJ5CQayPglyLgjzyklmWpAUrGlURIlHRIa24py7VLVbsFJ7gCv4T+i7pQSrfJGwxNo3bgv0yH0Ra2e+btv/+8e3ZPMN0UeWf//nvv//+PzYIhuBS2gQA"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/typedoc/classes/AgeGenderNet.html b/typedoc/classes/AgeGenderNet.html index 2c7460d..dd6b797 100644 --- a/typedoc/classes/AgeGenderNet.html +++ b/typedoc/classes/AgeGenderNet.html @@ -1,4 +1,4 @@ -AgeGenderNet | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +AgeGenderNet | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

Properties

Accessors

Constructors

Properties

_name: any

Accessors

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

\ No newline at end of file +

Constructors

Properties

_name: any

Accessors

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

\ No newline at end of file diff --git a/typedoc/classes/BoundingBox.html b/typedoc/classes/BoundingBox.html index 65058ad..2eabe41 100644 --- a/typedoc/classes/BoundingBox.html +++ b/typedoc/classes/BoundingBox.html @@ -1,4 +1,4 @@ -BoundingBox | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Implements

Constructors

constructor +BoundingBox | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Implements

Constructors

Accessors

Constructors

Accessors

Methods

  • Parameters

    • imageHeight: number
    • imageWidth: number

    Returns {
        dx: number;
        dy: number;
        edx: number;
        edy: number;
        ex: number;
        ey: number;
        h: number;
        w: number;
        x: number;
        y: number;
    }

    • dx: number
    • dy: number
    • edx: number
    • edy: number
    • ex: number
    • ey: number
    • h: number
    • w: number
    • x: number
    • y: number
  • Parameters

    • box: any
    • callee: string
    • allowNegativeDimensions: boolean = false

    Returns void

\ No newline at end of file +

Constructors

Accessors

Methods

  • Parameters

    • imageHeight: number
    • imageWidth: number

    Returns {
        dx: number;
        dy: number;
        edx: number;
        edy: number;
        ex: number;
        ey: number;
        h: number;
        w: number;
        x: number;
        y: number;
    }

    • dx: number
    • dy: number
    • edx: number
    • edy: number
    • ex: number
    • ey: number
    • h: number
    • w: number
    • x: number
    • y: number
  • Parameters

    • box: any
    • callee: string
    • allowNegativeDimensions: boolean = false

    Returns void

\ No newline at end of file diff --git a/typedoc/classes/Box.html b/typedoc/classes/Box.html index a9a3ddb..c36431f 100644 --- a/typedoc/classes/Box.html +++ b/typedoc/classes/Box.html @@ -1,4 +1,4 @@ -Box | @vladmandic/face-api - v1.7.13

Class Box<BoxType>

Type Parameters

  • BoxType = any

Hierarchy (view full)

Implements

Constructors

constructor +Box | @vladmandic/face-api - v1.7.13

Class Box<BoxType>

Type Parameters

  • BoxType = any

Hierarchy (view full)

Implements

Constructors

Accessors

Constructors

Accessors

Methods

  • Parameters

    • imageHeight: number
    • imageWidth: number

    Returns {
        dx: number;
        dy: number;
        edx: number;
        edy: number;
        ex: number;
        ey: number;
        h: number;
        w: number;
        x: number;
        y: number;
    }

    • dx: number
    • dy: number
    • edx: number
    • edy: number
    • ex: number
    • ey: number
    • h: number
    • w: number
    • x: number
    • y: number
  • Parameters

    • box: any
    • callee: string
    • allowNegativeDimensions: boolean = false

    Returns void

\ No newline at end of file +

Constructors

Accessors

Methods

  • Parameters

    • imageHeight: number
    • imageWidth: number

    Returns {
        dx: number;
        dy: number;
        edx: number;
        edy: number;
        ex: number;
        ey: number;
        h: number;
        w: number;
        x: number;
        y: number;
    }

    • dx: number
    • dy: number
    • edx: number
    • edy: number
    • ex: number
    • ey: number
    • h: number
    • w: number
    • x: number
    • y: number
  • Parameters

    • box: any
    • callee: string
    • allowNegativeDimensions: boolean = false

    Returns void

\ No newline at end of file diff --git a/typedoc/classes/ComposableTask.html b/typedoc/classes/ComposableTask.html index 0e9128d..599e9da 100644 --- a/typedoc/classes/ComposableTask.html +++ b/typedoc/classes/ComposableTask.html @@ -1,4 +1,4 @@ -ComposableTask | @vladmandic/face-api - v1.7.13

Class ComposableTask<T>

Type Parameters

  • T

Hierarchy (view full)

Constructors

constructor +ComposableTask | @vladmandic/face-api - v1.7.13

Class ComposableTask<T>

Type Parameters

  • T

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Parameters

    • onfulfilled: ((value) => T | PromiseLike<T>)
        • (value): T | PromiseLike<T>
        • Parameters

          • value: T

          Returns T | PromiseLike<T>

    Returns Promise<T>

\ No newline at end of file +

Constructors

Methods

  • Parameters

    • onfulfilled: ((value) => T | PromiseLike<T>)
        • (value): T | PromiseLike<T>
        • Parameters

          • value: T

          Returns T | PromiseLike<T>

    Returns Promise<T>

\ No newline at end of file diff --git a/typedoc/classes/ComputeAllFaceDescriptorsTask.html b/typedoc/classes/ComputeAllFaceDescriptorsTask.html index 85d4d1d..cdf00b6 100644 --- a/typedoc/classes/ComputeAllFaceDescriptorsTask.html +++ b/typedoc/classes/ComputeAllFaceDescriptorsTask.html @@ -1,6 +1,6 @@ -ComputeAllFaceDescriptorsTask | @vladmandic/face-api - v1.7.13

Class ComputeAllFaceDescriptorsTask<TSource>

Type Parameters

Hierarchy (view full)

Constructors

constructor +ComputeAllFaceDescriptorsTask | @vladmandic/face-api - v1.7.13

Class ComputeAllFaceDescriptorsTask<TSource>

Type Parameters

Hierarchy (view full)

Constructors

Methods

\ No newline at end of file +

Constructors

Methods

\ No newline at end of file diff --git a/typedoc/classes/ComputeFaceDescriptorsTaskBase.html b/typedoc/classes/ComputeFaceDescriptorsTaskBase.html index 3171c85..58b3074 100644 --- a/typedoc/classes/ComputeFaceDescriptorsTaskBase.html +++ b/typedoc/classes/ComputeFaceDescriptorsTaskBase.html @@ -1,4 +1,4 @@ -ComputeFaceDescriptorsTaskBase | @vladmandic/face-api - v1.7.13

Class ComputeFaceDescriptorsTaskBase<TReturn, TParentReturn>

Type Parameters

  • TReturn

  • TParentReturn

Hierarchy (view full)

Constructors

constructor +ComputeFaceDescriptorsTaskBase | @vladmandic/face-api - v1.7.13

Class ComputeFaceDescriptorsTaskBase<TReturn, TParentReturn>

Type Parameters

  • TReturn

  • TParentReturn

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

\ No newline at end of file +

Constructors

Methods

\ No newline at end of file diff --git a/typedoc/classes/ComputeSingleFaceDescriptorTask.html b/typedoc/classes/ComputeSingleFaceDescriptorTask.html index fd68993..b13c770 100644 --- a/typedoc/classes/ComputeSingleFaceDescriptorTask.html +++ b/typedoc/classes/ComputeSingleFaceDescriptorTask.html @@ -1,6 +1,6 @@ -ComputeSingleFaceDescriptorTask | @vladmandic/face-api - v1.7.13

Class ComputeSingleFaceDescriptorTask<TSource>

Type Parameters

Hierarchy (view full)

Constructors

constructor +ComputeSingleFaceDescriptorTask | @vladmandic/face-api - v1.7.13

Class ComputeSingleFaceDescriptorTask<TSource>

Type Parameters

Hierarchy (view full)

Constructors

Methods

\ No newline at end of file +

Constructors

Methods

\ No newline at end of file diff --git a/typedoc/classes/DetectAllFaceLandmarksTask.html b/typedoc/classes/DetectAllFaceLandmarksTask.html index 2351088..d8d572b 100644 --- a/typedoc/classes/DetectAllFaceLandmarksTask.html +++ b/typedoc/classes/DetectAllFaceLandmarksTask.html @@ -1,7 +1,7 @@ -DetectAllFaceLandmarksTask | @vladmandic/face-api - v1.7.13

Class DetectAllFaceLandmarksTask<TSource>

Type Parameters

Hierarchy (view full)

Constructors

constructor +DetectAllFaceLandmarksTask | @vladmandic/face-api - v1.7.13

Class DetectAllFaceLandmarksTask<TSource>

Type Parameters

Hierarchy (view full)

Constructors

Methods

\ No newline at end of file +

Constructors

Methods

\ No newline at end of file diff --git a/typedoc/classes/DetectAllFacesTask.html b/typedoc/classes/DetectAllFacesTask.html index 55e70cb..6ce12fc 100644 --- a/typedoc/classes/DetectAllFacesTask.html +++ b/typedoc/classes/DetectAllFacesTask.html @@ -1,7 +1,7 @@ -DetectAllFacesTask | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +DetectAllFacesTask | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

Methods

\ No newline at end of file +

Constructors

Methods

\ No newline at end of file diff --git a/typedoc/classes/DetectFaceLandmarksTaskBase.html b/typedoc/classes/DetectFaceLandmarksTaskBase.html index 7ff0202..8c4c2be 100644 --- a/typedoc/classes/DetectFaceLandmarksTaskBase.html +++ b/typedoc/classes/DetectFaceLandmarksTaskBase.html @@ -1,4 +1,4 @@ -DetectFaceLandmarksTaskBase | @vladmandic/face-api - v1.7.13

Class DetectFaceLandmarksTaskBase<TReturn, TParentReturn>

Type Parameters

  • TReturn

  • TParentReturn

Hierarchy (view full)

Constructors

constructor +DetectFaceLandmarksTaskBase | @vladmandic/face-api - v1.7.13

Class DetectFaceLandmarksTaskBase<TReturn, TParentReturn>

Type Parameters

  • TReturn

  • TParentReturn

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

\ No newline at end of file +

Constructors

Methods

\ No newline at end of file diff --git a/typedoc/classes/DetectFacesTaskBase.html b/typedoc/classes/DetectFacesTaskBase.html index 005c567..e0f0ef8 100644 --- a/typedoc/classes/DetectFacesTaskBase.html +++ b/typedoc/classes/DetectFacesTaskBase.html @@ -1,4 +1,4 @@ -DetectFacesTaskBase | @vladmandic/face-api - v1.7.13

Class DetectFacesTaskBase<TReturn>

Type Parameters

  • TReturn

Hierarchy (view full)

Constructors

constructor +DetectFacesTaskBase | @vladmandic/face-api - v1.7.13

Class DetectFacesTaskBase<TReturn>

Type Parameters

  • TReturn

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

\ No newline at end of file +

Constructors

Methods

\ No newline at end of file diff --git a/typedoc/classes/DetectSingleFaceLandmarksTask.html b/typedoc/classes/DetectSingleFaceLandmarksTask.html index 0e460f0..6dec3f6 100644 --- a/typedoc/classes/DetectSingleFaceLandmarksTask.html +++ b/typedoc/classes/DetectSingleFaceLandmarksTask.html @@ -1,7 +1,7 @@ -DetectSingleFaceLandmarksTask | @vladmandic/face-api - v1.7.13

Class DetectSingleFaceLandmarksTask<TSource>

Type Parameters

Hierarchy (view full)

Constructors

constructor +DetectSingleFaceLandmarksTask | @vladmandic/face-api - v1.7.13

Class DetectSingleFaceLandmarksTask<TSource>

Type Parameters

Hierarchy (view full)

Constructors

Methods

\ No newline at end of file +

Constructors

Methods

\ No newline at end of file diff --git a/typedoc/classes/DetectSingleFaceTask.html b/typedoc/classes/DetectSingleFaceTask.html index 7f5560a..ec5b9b4 100644 --- a/typedoc/classes/DetectSingleFaceTask.html +++ b/typedoc/classes/DetectSingleFaceTask.html @@ -1,7 +1,7 @@ -DetectSingleFaceTask | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +DetectSingleFaceTask | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

Methods

\ No newline at end of file +

Constructors

Methods

\ No newline at end of file diff --git a/typedoc/classes/Dimensions.html b/typedoc/classes/Dimensions.html index 9b8051e..529266f 100644 --- a/typedoc/classes/Dimensions.html +++ b/typedoc/classes/Dimensions.html @@ -1,5 +1,5 @@ -Dimensions | @vladmandic/face-api - v1.7.13

Implements

Constructors

constructor +Dimensions | @vladmandic/face-api - v1.7.13
\ No newline at end of file +

Constructors

Accessors

Methods

\ No newline at end of file diff --git a/typedoc/classes/FaceDetection.html b/typedoc/classes/FaceDetection.html index 15f28d4..fd0e07f 100644 --- a/typedoc/classes/FaceDetection.html +++ b/typedoc/classes/FaceDetection.html @@ -1,4 +1,4 @@ -FaceDetection | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Implements

Constructors

constructor +FaceDetection | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Implements

Constructors

Accessors

Methods

Constructors

Accessors

Methods

\ No newline at end of file +

Constructors

Accessors

Methods

\ No newline at end of file diff --git a/typedoc/classes/FaceDetectionNet.html b/typedoc/classes/FaceDetectionNet.html index fcabf9c..4014bb6 100644 --- a/typedoc/classes/FaceDetectionNet.html +++ b/typedoc/classes/FaceDetectionNet.html @@ -1,4 +1,4 @@ -FaceDetectionNet | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +FaceDetectionNet | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

Properties

Accessors

Constructors

Properties

_name: any

Accessors

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

\ No newline at end of file +

Constructors

Properties

_name: any

Accessors

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

\ No newline at end of file diff --git a/typedoc/classes/FaceExpressionNet.html b/typedoc/classes/FaceExpressionNet.html index 7d8ea56..5594f74 100644 --- a/typedoc/classes/FaceExpressionNet.html +++ b/typedoc/classes/FaceExpressionNet.html @@ -1,4 +1,4 @@ -FaceExpressionNet | @vladmandic/face-api - v1.7.13

Hierarchy

  • FaceProcessor<FaceFeatureExtractorParams>
    • FaceExpressionNet

Constructors

constructor +FaceExpressionNet | @vladmandic/face-api - v1.7.13

Hierarchy

  • FaceProcessor<FaceFeatureExtractorParams>
    • FaceExpressionNet

Constructors

Properties

Accessors

Constructors

Properties

_name: any

Accessors

  • get faceFeatureExtractor(): IFaceFeatureExtractor<TExtractorParams>
  • Returns IFaceFeatureExtractor<TExtractorParams>

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

  • Parameters

    • weights: Float32Array

    Returns {
        paramMappings: ParamMapping[];
        params: NetParams;
    }

    • paramMappings: ParamMapping[]
    • params: NetParams
  • Parameters

    • weights: Float32Array

    Returns void

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Parameters

    • weightsOrUrl: undefined | string | Float32Array

    Returns Promise<void>

  • Parameters

    • filePath: undefined | string

    Returns Promise<void>

  • Parameters

    • uri: undefined | string

    Returns Promise<void>

  • Parameters

    Returns void

  • Returns Float32Array

\ No newline at end of file +

Constructors

Properties

_name: any

Accessors

  • get faceFeatureExtractor(): IFaceFeatureExtractor<TExtractorParams>
  • Returns IFaceFeatureExtractor<TExtractorParams>

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

  • Parameters

    • weights: Float32Array

    Returns {
        paramMappings: ParamMapping[];
        params: NetParams;
    }

    • paramMappings: ParamMapping[]
    • params: NetParams
  • Parameters

    • weights: Float32Array

    Returns void

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Parameters

    • weightsOrUrl: undefined | string | Float32Array

    Returns Promise<void>

  • Parameters

    • filePath: undefined | string

    Returns Promise<void>

  • Parameters

    • uri: undefined | string

    Returns Promise<void>

  • Parameters

    Returns void

  • Returns Float32Array

\ No newline at end of file diff --git a/typedoc/classes/FaceExpressions.html b/typedoc/classes/FaceExpressions.html index d767396..aac0f13 100644 --- a/typedoc/classes/FaceExpressions.html +++ b/typedoc/classes/FaceExpressions.html @@ -1,4 +1,4 @@ -FaceExpressions | @vladmandic/face-api - v1.7.13

Constructors

constructor +FaceExpressions | @vladmandic/face-api - v1.7.13

Constructors

Properties

Methods

Constructors

Properties

angry: number = 0
disgusted: number = 0
fearful: number = 0
happy: number = 0
neutral: number = 0
sad: number = 0
surprised: number = 0

Methods

  • Returns {
        expression: "neutral" | "happy" | "sad" | "angry" | "fearful" | "disgusted" | "surprised";
        probability: number;
    }[]

\ No newline at end of file +

Constructors

Properties

angry: number = 0
disgusted: number = 0
fearful: number = 0
happy: number = 0
neutral: number = 0
sad: number = 0
surprised: number = 0

Methods

  • Returns {
        expression: "neutral" | "happy" | "sad" | "angry" | "fearful" | "disgusted" | "surprised";
        probability: number;
    }[]

\ No newline at end of file diff --git a/typedoc/classes/FaceLandmark68Net.html b/typedoc/classes/FaceLandmark68Net.html index c60cffc..cbe0e03 100644 --- a/typedoc/classes/FaceLandmark68Net.html +++ b/typedoc/classes/FaceLandmark68Net.html @@ -1,4 +1,4 @@ -FaceLandmark68Net | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

  • FaceLandmark68NetBase<FaceFeatureExtractorParams>

Constructors

constructor +FaceLandmark68Net | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

  • FaceLandmark68NetBase<FaceFeatureExtractorParams>

Constructors

Properties

Accessors

Constructors

Properties

_name: any

Accessors

  • get faceFeatureExtractor(): IFaceFeatureExtractor<TExtractorParams>
  • Returns IFaceFeatureExtractor<TExtractorParams>

  • get isLoaded(): boolean
  • Returns boolean

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

  • Parameters

    • weights: Float32Array

    Returns {
        paramMappings: ParamMapping[];
        params: NetParams;
    }

    • paramMappings: ParamMapping[]
    • params: NetParams
  • Parameters

    • weights: Float32Array

    Returns void

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Parameters

    • weightsOrUrl: undefined | string | Float32Array

    Returns Promise<void>

  • Parameters

    • filePath: undefined | string

    Returns Promise<void>

  • Parameters

    • uri: undefined | string

    Returns Promise<void>

  • Parameters

    Returns void

  • Returns Float32Array

\ No newline at end of file +

Constructors

Properties

_name: any

Accessors

  • get faceFeatureExtractor(): IFaceFeatureExtractor<TExtractorParams>
  • Returns IFaceFeatureExtractor<TExtractorParams>

  • get isLoaded(): boolean
  • Returns boolean

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

  • Parameters

    • weights: Float32Array

    Returns {
        paramMappings: ParamMapping[];
        params: NetParams;
    }

    • paramMappings: ParamMapping[]
    • params: NetParams
  • Parameters

    • weights: Float32Array

    Returns void

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Parameters

    • weightsOrUrl: undefined | string | Float32Array

    Returns Promise<void>

  • Parameters

    • filePath: undefined | string

    Returns Promise<void>

  • Parameters

    • uri: undefined | string

    Returns Promise<void>

  • Parameters

    Returns void

  • Returns Float32Array

\ No newline at end of file diff --git a/typedoc/classes/FaceLandmark68TinyNet.html b/typedoc/classes/FaceLandmark68TinyNet.html index 203d142..dac8e6d 100644 --- a/typedoc/classes/FaceLandmark68TinyNet.html +++ b/typedoc/classes/FaceLandmark68TinyNet.html @@ -1,4 +1,4 @@ -FaceLandmark68TinyNet | @vladmandic/face-api - v1.7.13

Hierarchy

  • FaceLandmark68NetBase<TinyFaceFeatureExtractorParams>
    • FaceLandmark68TinyNet

Constructors

constructor +FaceLandmark68TinyNet | @vladmandic/face-api - v1.7.13

Hierarchy

  • FaceLandmark68NetBase<TinyFaceFeatureExtractorParams>
    • FaceLandmark68TinyNet

Constructors

Properties

Accessors

Constructors

Properties

_name: any

Accessors

  • get faceFeatureExtractor(): IFaceFeatureExtractor<TExtractorParams>
  • Returns IFaceFeatureExtractor<TExtractorParams>

  • get isLoaded(): boolean
  • Returns boolean

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

  • Parameters

    • weights: Float32Array

    Returns {
        paramMappings: ParamMapping[];
        params: NetParams;
    }

    • paramMappings: ParamMapping[]
    • params: NetParams
  • Parameters

    • weights: Float32Array

    Returns void

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Parameters

    • weightsOrUrl: undefined | string | Float32Array

    Returns Promise<void>

  • Parameters

    • filePath: undefined | string

    Returns Promise<void>

  • Parameters

    • uri: undefined | string

    Returns Promise<void>

  • Parameters

    Returns void

  • Returns Float32Array

\ No newline at end of file +

Constructors

Properties

_name: any

Accessors

  • get faceFeatureExtractor(): IFaceFeatureExtractor<TExtractorParams>
  • Returns IFaceFeatureExtractor<TExtractorParams>

  • get isLoaded(): boolean
  • Returns boolean

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

  • Parameters

    • weights: Float32Array

    Returns {
        paramMappings: ParamMapping[];
        params: NetParams;
    }

    • paramMappings: ParamMapping[]
    • params: NetParams
  • Parameters

    • weights: Float32Array

    Returns void

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Parameters

    • weightsOrUrl: undefined | string | Float32Array

    Returns Promise<void>

  • Parameters

    • filePath: undefined | string

    Returns Promise<void>

  • Parameters

    • uri: undefined | string

    Returns Promise<void>

  • Parameters

    Returns void

  • Returns Float32Array

\ No newline at end of file diff --git a/typedoc/classes/FaceLandmarkNet.html b/typedoc/classes/FaceLandmarkNet.html index e21ea8c..4c79ecc 100644 --- a/typedoc/classes/FaceLandmarkNet.html +++ b/typedoc/classes/FaceLandmarkNet.html @@ -1,4 +1,4 @@ -FaceLandmarkNet | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +FaceLandmarkNet | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

Properties

Accessors

Constructors

Properties

_name: any

Accessors

  • get faceFeatureExtractor(): IFaceFeatureExtractor<TExtractorParams>
  • Returns IFaceFeatureExtractor<TExtractorParams>

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

\ No newline at end of file +

Constructors

Properties

_name: any

Accessors

  • get faceFeatureExtractor(): IFaceFeatureExtractor<TExtractorParams>
  • Returns IFaceFeatureExtractor<TExtractorParams>

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

\ No newline at end of file diff --git a/typedoc/classes/FaceLandmarks.html b/typedoc/classes/FaceLandmarks.html index d1ca666..652ad10 100644 --- a/typedoc/classes/FaceLandmarks.html +++ b/typedoc/classes/FaceLandmarks.html @@ -1,4 +1,4 @@ -FaceLandmarks | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Implements

Constructors

constructor +FaceLandmarks | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Implements

Constructors

Accessors

Constructors

Accessors

Methods

  • Aligns the face landmarks after face detection from the relative positions of the faces +

Constructors

Accessors

Methods

  • Aligns the face landmarks after face detection from the relative positions of the faces bounding box, or it's current shift. This function should be used to align the face images after face detection has been performed, before they are passed to the face recognition net. This will make the computed face descriptor more accurate.

    @@ -16,4 +16,4 @@ This will make the computed face descriptor more accurate.

    no argument was passed the position of the face landmarks are assumed to be relative to it's current shift.

  • options: {
        minBoxPadding?: number;
        useDlibAlignment?: boolean;
    } = {}
    • Optional minBoxPadding?: number
    • Optional useDlibAlignment?: boolean

Returns Box<any>

The bounding box of the aligned face.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/typedoc/classes/FaceLandmarks5.html b/typedoc/classes/FaceLandmarks5.html index 0e31467..3d0e6d7 100644 --- a/typedoc/classes/FaceLandmarks5.html +++ b/typedoc/classes/FaceLandmarks5.html @@ -1,4 +1,4 @@ -FaceLandmarks5 | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +FaceLandmarks5 | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

Accessors

Constructors

Accessors

Methods

  • Aligns the face landmarks after face detection from the relative positions of the faces +

Constructors

Accessors

Methods

  • Aligns the face landmarks after face detection from the relative positions of the faces bounding box, or it's current shift. This function should be used to align the face images after face detection has been performed, before they are passed to the face recognition net. This will make the computed face descriptor more accurate.

    @@ -16,4 +16,4 @@ This will make the computed face descriptor more accurate.

    no argument was passed the position of the face landmarks are assumed to be relative to it's current shift.

  • options: {
        minBoxPadding?: number;
        useDlibAlignment?: boolean;
    } = {}
    • Optional minBoxPadding?: number
    • Optional useDlibAlignment?: boolean

Returns Box<any>

The bounding box of the aligned face.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/typedoc/classes/FaceLandmarks68.html b/typedoc/classes/FaceLandmarks68.html index 77f61da..14867bf 100644 --- a/typedoc/classes/FaceLandmarks68.html +++ b/typedoc/classes/FaceLandmarks68.html @@ -1,4 +1,4 @@ -FaceLandmarks68 | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +FaceLandmarks68 | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

Accessors

Methods

  • Aligns the face landmarks after face detection from the relative positions of the faces +

Constructors

Accessors

Methods

  • Aligns the face landmarks after face detection from the relative positions of the faces bounding box, or it's current shift. This function should be used to align the face images after face detection has been performed, before they are passed to the face recognition net. This will make the computed face descriptor more accurate.

    @@ -23,4 +23,4 @@ This will make the computed face descriptor more accurate.

    no argument was passed the position of the face landmarks are assumed to be relative to it's current shift.

  • options: {
        minBoxPadding?: number;
        useDlibAlignment?: boolean;
    } = {}
    • Optional minBoxPadding?: number
    • Optional useDlibAlignment?: boolean

Returns Box<any>

The bounding box of the aligned face.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/typedoc/classes/FaceMatch.html b/typedoc/classes/FaceMatch.html index d1f14d3..898dec1 100644 --- a/typedoc/classes/FaceMatch.html +++ b/typedoc/classes/FaceMatch.html @@ -1,5 +1,5 @@ -FaceMatch | @vladmandic/face-api - v1.7.13

Implements

Constructors

constructor +FaceMatch | @vladmandic/face-api - v1.7.13

Implements

Constructors

Accessors

Methods

Constructors

Accessors

Methods

\ No newline at end of file +

Constructors

Accessors

Methods

\ No newline at end of file diff --git a/typedoc/classes/FaceMatcher.html b/typedoc/classes/FaceMatcher.html index 8304069..1c8f542 100644 --- a/typedoc/classes/FaceMatcher.html +++ b/typedoc/classes/FaceMatcher.html @@ -1,4 +1,4 @@ -FaceMatcher | @vladmandic/face-api - v1.7.13

Constructors

constructor +FaceMatcher | @vladmandic/face-api - v1.7.13

Constructors

Accessors

Methods

  • Parameters

    • queryDescriptor: Float32Array
    • descriptors: Float32Array[]

    Returns number

\ No newline at end of file +

Constructors

Accessors

Methods

  • Parameters

    • queryDescriptor: Float32Array
    • descriptors: Float32Array[]

    Returns number

\ No newline at end of file diff --git a/typedoc/classes/FaceRecognitionNet.html b/typedoc/classes/FaceRecognitionNet.html index be407a1..8891df5 100644 --- a/typedoc/classes/FaceRecognitionNet.html +++ b/typedoc/classes/FaceRecognitionNet.html @@ -1,4 +1,4 @@ -FaceRecognitionNet | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +FaceRecognitionNet | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

Properties

Accessors

Constructors

Properties

_name: any

Accessors

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

\ No newline at end of file +

Constructors

Properties

_name: any

Accessors

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

\ No newline at end of file diff --git a/typedoc/classes/LabeledBox.html b/typedoc/classes/LabeledBox.html index 91a1b49..d3ac545 100644 --- a/typedoc/classes/LabeledBox.html +++ b/typedoc/classes/LabeledBox.html @@ -1,4 +1,4 @@ -LabeledBox | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +LabeledBox | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

Accessors

Methods

  • Parameters

    • imageHeight: number
    • imageWidth: number

    Returns {
        dx: number;
        dy: number;
        edx: number;
        edy: number;
        ex: number;
        ey: number;
        h: number;
        w: number;
        x: number;
        y: number;
    }

    • dx: number
    • dy: number
    • edx: number
    • edy: number
    • ex: number
    • ey: number
    • h: number
    • w: number
    • x: number
    • y: number
  • Parameters

    • box: any
    • callee: string
    • allowNegativeDimensions: boolean = false

    Returns void

\ No newline at end of file +

Constructors

Accessors

Methods

  • Parameters

    • imageHeight: number
    • imageWidth: number

    Returns {
        dx: number;
        dy: number;
        edx: number;
        edy: number;
        ex: number;
        ey: number;
        h: number;
        w: number;
        x: number;
        y: number;
    }

    • dx: number
    • dy: number
    • edx: number
    • edy: number
    • ex: number
    • ey: number
    • h: number
    • w: number
    • x: number
    • y: number
  • Parameters

    • box: any
    • callee: string
    • allowNegativeDimensions: boolean = false

    Returns void

\ No newline at end of file diff --git a/typedoc/classes/LabeledFaceDescriptors.html b/typedoc/classes/LabeledFaceDescriptors.html index cee9fc2..1aa92c6 100644 --- a/typedoc/classes/LabeledFaceDescriptors.html +++ b/typedoc/classes/LabeledFaceDescriptors.html @@ -1,6 +1,6 @@ -LabeledFaceDescriptors | @vladmandic/face-api - v1.7.13

Class LabeledFaceDescriptors

Constructors

constructor +LabeledFaceDescriptors | @vladmandic/face-api - v1.7.13
\ No newline at end of file +

Constructors

Accessors

Methods

\ No newline at end of file diff --git a/typedoc/classes/NetInput.html b/typedoc/classes/NetInput.html index 8e5bd95..152fce5 100644 --- a/typedoc/classes/NetInput.html +++ b/typedoc/classes/NetInput.html @@ -1,4 +1,4 @@ -NetInput | @vladmandic/face-api - v1.7.13

Constructors

constructor +NetInput | @vladmandic/face-api - v1.7.13

Constructors

Accessors

Methods

  • Parameters

    • batchIdx: number

    Returns number[]

  • Create a batch tensor from all input canvases and tensors +

Constructors

Accessors

Methods

  • Parameters

    • batchIdx: number

    Returns number[]

  • Create a batch tensor from all input canvases and tensors with size [batchSize, inputSize, inputSize, 3].

    Parameters

    • inputSize: number

      Height and width of the tensor.

    • isCenterInputs: boolean = true

    Returns Tensor4D

    The batch tensor.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/typedoc/classes/NeuralNetwork.html b/typedoc/classes/NeuralNetwork.html index a08cefa..7fd1b55 100644 --- a/typedoc/classes/NeuralNetwork.html +++ b/typedoc/classes/NeuralNetwork.html @@ -1,4 +1,4 @@ -NeuralNetwork | @vladmandic/face-api - v1.7.13

Class NeuralNetwork<TNetParams>Abstract

Type Parameters

  • TNetParams

Hierarchy (view full)

Constructors

constructor +NeuralNetwork | @vladmandic/face-api - v1.7.13

Class NeuralNetwork<TNetParams>Abstract

Type Parameters

  • TNetParams

Hierarchy (view full)

Constructors

Properties

Accessors

Constructors

Properties

_name: any

Accessors

Methods

  • Parameters

    • throwOnRedispose: boolean = true

    Returns void

  • Parameters

    • weightsOrUrl: undefined | string | Float32Array

    Returns Promise<void>

  • Parameters

    • filePath: undefined | string

    Returns Promise<void>

  • Parameters

    • uri: undefined | string

    Returns Promise<void>

\ No newline at end of file +

Constructors

Properties

_name: any

Accessors

Methods

  • Parameters

    • throwOnRedispose: boolean = true

    Returns void

  • Parameters

    • weightsOrUrl: undefined | string | Float32Array

    Returns Promise<void>

  • Parameters

    • filePath: undefined | string

    Returns Promise<void>

  • Parameters

    • uri: undefined | string

    Returns Promise<void>

\ No newline at end of file diff --git a/typedoc/classes/ObjectDetection.html b/typedoc/classes/ObjectDetection.html index 9c51fc5..6310a83 100644 --- a/typedoc/classes/ObjectDetection.html +++ b/typedoc/classes/ObjectDetection.html @@ -1,4 +1,4 @@ -ObjectDetection | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +ObjectDetection | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

Accessors

Methods

Constructors

Accessors

Methods

\ No newline at end of file +

Constructors

Accessors

Methods

\ No newline at end of file diff --git a/typedoc/classes/Point.html b/typedoc/classes/Point.html index d2e38f2..59fb52d 100644 --- a/typedoc/classes/Point.html +++ b/typedoc/classes/Point.html @@ -1,4 +1,4 @@ -Point | @vladmandic/face-api - v1.7.13

Implements

Constructors

constructor +Point | @vladmandic/face-api - v1.7.13

Implements

Constructors

Accessors

x y

Methods

abs @@ -8,4 +8,4 @@ magnitude mul sub -

Constructors

Accessors

Methods

\ No newline at end of file +

Constructors

Accessors

Methods

\ No newline at end of file diff --git a/typedoc/classes/PredictedBox.html b/typedoc/classes/PredictedBox.html index 365a5bc..8158458 100644 --- a/typedoc/classes/PredictedBox.html +++ b/typedoc/classes/PredictedBox.html @@ -1,4 +1,4 @@ -PredictedBox | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +PredictedBox | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

Accessors

Methods

  • Parameters

    • imageHeight: number
    • imageWidth: number

    Returns {
        dx: number;
        dy: number;
        edx: number;
        edy: number;
        ex: number;
        ey: number;
        h: number;
        w: number;
        x: number;
        y: number;
    }

    • dx: number
    • dy: number
    • edx: number
    • edy: number
    • ex: number
    • ey: number
    • h: number
    • w: number
    • x: number
    • y: number
\ No newline at end of file +

Constructors

Accessors

Methods

  • Parameters

    • imageHeight: number
    • imageWidth: number

    Returns {
        dx: number;
        dy: number;
        edx: number;
        edy: number;
        ex: number;
        ey: number;
        h: number;
        w: number;
        x: number;
        y: number;
    }

    • dx: number
    • dy: number
    • edx: number
    • edy: number
    • ex: number
    • ey: number
    • h: number
    • w: number
    • x: number
    • y: number
\ No newline at end of file diff --git a/typedoc/classes/Rect.html b/typedoc/classes/Rect.html index abe66c9..9b6bcdb 100644 --- a/typedoc/classes/Rect.html +++ b/typedoc/classes/Rect.html @@ -1,4 +1,4 @@ -Rect | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Implements

Constructors

constructor +Rect | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Implements

Constructors

Accessors

Constructors

  • Parameters

    • x: number
    • y: number
    • width: number
    • height: number
    • allowNegativeDimensions: boolean = false

    Returns Rect

Accessors

Methods

  • Parameters

    • imageHeight: number
    • imageWidth: number

    Returns {
        dx: number;
        dy: number;
        edx: number;
        edy: number;
        ex: number;
        ey: number;
        h: number;
        w: number;
        x: number;
        y: number;
    }

    • dx: number
    • dy: number
    • edx: number
    • edy: number
    • ex: number
    • ey: number
    • h: number
    • w: number
    • x: number
    • y: number
  • Parameters

    • box: any
    • callee: string
    • allowNegativeDimensions: boolean = false

    Returns void

\ No newline at end of file +

Constructors

  • Parameters

    • x: number
    • y: number
    • width: number
    • height: number
    • allowNegativeDimensions: boolean = false

    Returns Rect

Accessors

Methods

  • Parameters

    • imageHeight: number
    • imageWidth: number

    Returns {
        dx: number;
        dy: number;
        edx: number;
        edy: number;
        ex: number;
        ey: number;
        h: number;
        w: number;
        x: number;
        y: number;
    }

    • dx: number
    • dy: number
    • edx: number
    • edy: number
    • ex: number
    • ey: number
    • h: number
    • w: number
    • x: number
    • y: number
  • Parameters

    • box: any
    • callee: string
    • allowNegativeDimensions: boolean = false

    Returns void

\ No newline at end of file diff --git a/typedoc/classes/SsdMobilenetv1.html b/typedoc/classes/SsdMobilenetv1.html index 9aaae83..ee4f10c 100644 --- a/typedoc/classes/SsdMobilenetv1.html +++ b/typedoc/classes/SsdMobilenetv1.html @@ -1,4 +1,4 @@ -SsdMobilenetv1 | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +SsdMobilenetv1 | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

Properties

Accessors

Constructors

Properties

_name: any

Accessors

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

\ No newline at end of file +

Constructors

Properties

_name: any

Accessors

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

\ No newline at end of file diff --git a/typedoc/classes/SsdMobilenetv1Options.html b/typedoc/classes/SsdMobilenetv1Options.html index 6d37964..2f5005d 100644 --- a/typedoc/classes/SsdMobilenetv1Options.html +++ b/typedoc/classes/SsdMobilenetv1Options.html @@ -1,4 +1,4 @@ -SsdMobilenetv1Options | @vladmandic/face-api - v1.7.13

Constructors

constructor +SsdMobilenetv1Options | @vladmandic/face-api - v1.7.13
\ No newline at end of file +

Constructors

Accessors

\ No newline at end of file diff --git a/typedoc/classes/TinyFaceDetector.html b/typedoc/classes/TinyFaceDetector.html index 4a65cef..1c8d5f9 100644 --- a/typedoc/classes/TinyFaceDetector.html +++ b/typedoc/classes/TinyFaceDetector.html @@ -1,4 +1,4 @@ -TinyFaceDetector | @vladmandic/face-api - v1.7.13

Hierarchy

  • TinyYolov2Base
    • TinyFaceDetector

Constructors

constructor +TinyFaceDetector | @vladmandic/face-api - v1.7.13

Hierarchy

  • TinyYolov2Base
    • TinyFaceDetector

Constructors

Properties

Accessors

Constructors

Properties

_name: any
DEFAULT_FILTER_SIZES: number[] = ...

Accessors

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

  • Parameters

    • throwOnRedispose: boolean = true

    Returns void

  • Parameters

    • weights: Float32Array

    Returns void

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Parameters

    • weightsOrUrl: undefined | string | Float32Array

    Returns Promise<void>

  • Parameters

    • filePath: undefined | string

    Returns Promise<void>

  • Parameters

    • uri: undefined | string

    Returns Promise<void>

  • Parameters

    Returns void

  • Returns Float32Array

\ No newline at end of file +

Constructors

Properties

_name: any
DEFAULT_FILTER_SIZES: number[] = ...

Accessors

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

  • Parameters

    • throwOnRedispose: boolean = true

    Returns void

  • Parameters

    • weights: Float32Array

    Returns void

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Parameters

    • weightsOrUrl: undefined | string | Float32Array

    Returns Promise<void>

  • Parameters

    • filePath: undefined | string

    Returns Promise<void>

  • Parameters

    • uri: undefined | string

    Returns Promise<void>

  • Parameters

    Returns void

  • Returns Float32Array

\ No newline at end of file diff --git a/typedoc/classes/TinyFaceDetectorOptions.html b/typedoc/classes/TinyFaceDetectorOptions.html index 6b320b5..65e681a 100644 --- a/typedoc/classes/TinyFaceDetectorOptions.html +++ b/typedoc/classes/TinyFaceDetectorOptions.html @@ -1,4 +1,4 @@ -TinyFaceDetectorOptions | @vladmandic/face-api - v1.7.13

Class TinyFaceDetectorOptions

Hierarchy (view full)

Constructors

constructor +TinyFaceDetectorOptions | @vladmandic/face-api - v1.7.13

Class TinyFaceDetectorOptions

Hierarchy (view full)

Constructors

Accessors

Constructors

Accessors

\ No newline at end of file +

Constructors

Accessors

\ No newline at end of file diff --git a/typedoc/classes/TinyYolov2.html b/typedoc/classes/TinyYolov2.html index b727992..2e7fd99 100644 --- a/typedoc/classes/TinyYolov2.html +++ b/typedoc/classes/TinyYolov2.html @@ -1,4 +1,4 @@ -TinyYolov2 | @vladmandic/face-api - v1.7.13

Hierarchy

  • TinyYolov2Base
    • TinyYolov2

Constructors

constructor +TinyYolov2 | @vladmandic/face-api - v1.7.13

Hierarchy

  • TinyYolov2Base
    • TinyYolov2

Constructors

Properties

Accessors

Constructors

Properties

_name: any
DEFAULT_FILTER_SIZES: number[] = ...

Accessors

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

  • Parameters

    • throwOnRedispose: boolean = true

    Returns void

  • Parameters

    • weights: Float32Array

    Returns void

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Parameters

    • weightsOrUrl: undefined | string | Float32Array

    Returns Promise<void>

  • Parameters

    • filePath: undefined | string

    Returns Promise<void>

  • Parameters

    • uri: undefined | string

    Returns Promise<void>

  • Parameters

    Returns void

  • Returns Float32Array

\ No newline at end of file +

Constructors

Properties

_name: any
DEFAULT_FILTER_SIZES: number[] = ...

Accessors

  • get paramMappings(): ParamMapping[]
  • Returns ParamMapping[]

Methods

  • Parameters

    • throwOnRedispose: boolean = true

    Returns void

  • Parameters

    • weights: Float32Array

    Returns void

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Returns {
        path: string;
        tensor: Tensor<Rank>;
    }[]

  • Parameters

    • weightsOrUrl: undefined | string | Float32Array

    Returns Promise<void>

  • Parameters

    • filePath: undefined | string

    Returns Promise<void>

  • Parameters

    • uri: undefined | string

    Returns Promise<void>

  • Parameters

    Returns void

  • Returns Float32Array

\ No newline at end of file diff --git a/typedoc/classes/TinyYolov2Options.html b/typedoc/classes/TinyYolov2Options.html index 4f229ea..58cda17 100644 --- a/typedoc/classes/TinyYolov2Options.html +++ b/typedoc/classes/TinyYolov2Options.html @@ -1,4 +1,4 @@ -TinyYolov2Options | @vladmandic/face-api - v1.7.13

Hierarchy (view full)

Constructors

constructor +TinyYolov2Options | @vladmandic/face-api - v1.7.13
\ No newline at end of file +

Constructors

Accessors

\ No newline at end of file diff --git a/typedoc/classes/draw.DrawBox.html b/typedoc/classes/draw.DrawBox.html index 7551301..f94c703 100644 --- a/typedoc/classes/draw.DrawBox.html +++ b/typedoc/classes/draw.DrawBox.html @@ -1,5 +1,5 @@ -DrawBox | @vladmandic/face-api - v1.7.13

Constructors

constructor +DrawBox | @vladmandic/face-api - v1.7.13

Constructors

Properties

Methods

Constructors

Properties

box: Box<any>

Methods

  • Parameters

    • canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D

    Returns void

\ No newline at end of file +

Constructors

Properties

box: Box<any>

Methods

  • Parameters

    • canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D

    Returns void

\ No newline at end of file diff --git a/typedoc/classes/draw.DrawBoxOptions.html b/typedoc/classes/draw.DrawBoxOptions.html index 38fc0bd..160f056 100644 --- a/typedoc/classes/draw.DrawBoxOptions.html +++ b/typedoc/classes/draw.DrawBoxOptions.html @@ -1,6 +1,6 @@ -DrawBoxOptions | @vladmandic/face-api - v1.7.13

Constructors

constructor +DrawBoxOptions | @vladmandic/face-api - v1.7.13
\ No newline at end of file +

Constructors

Properties

boxColor: string
drawLabelOptions: DrawTextFieldOptions
label?: string
lineWidth: number
\ No newline at end of file diff --git a/typedoc/classes/draw.DrawFaceLandmarks.html b/typedoc/classes/draw.DrawFaceLandmarks.html index 080cb62..6289d92 100644 --- a/typedoc/classes/draw.DrawFaceLandmarks.html +++ b/typedoc/classes/draw.DrawFaceLandmarks.html @@ -1,5 +1,5 @@ -DrawFaceLandmarks | @vladmandic/face-api - v1.7.13

Constructors

constructor +DrawFaceLandmarks | @vladmandic/face-api - v1.7.13
\ No newline at end of file +

Constructors

Properties

faceLandmarks: FaceLandmarks

Methods

\ No newline at end of file diff --git a/typedoc/classes/draw.DrawFaceLandmarksOptions.html b/typedoc/classes/draw.DrawFaceLandmarksOptions.html index 1a63df6..379d4b5 100644 --- a/typedoc/classes/draw.DrawFaceLandmarksOptions.html +++ b/typedoc/classes/draw.DrawFaceLandmarksOptions.html @@ -1,8 +1,8 @@ -DrawFaceLandmarksOptions | @vladmandic/face-api - v1.7.13

Constructors

constructor +DrawFaceLandmarksOptions | @vladmandic/face-api - v1.7.13
\ No newline at end of file +

Constructors

Properties

drawLines: boolean
drawPoints: boolean
lineColor: string
lineWidth: number
pointColor: string
pointSize: number
\ No newline at end of file diff --git a/typedoc/classes/draw.DrawTextField.html b/typedoc/classes/draw.DrawTextField.html index 9f7a7ee..98c0580 100644 --- a/typedoc/classes/draw.DrawTextField.html +++ b/typedoc/classes/draw.DrawTextField.html @@ -1,4 +1,4 @@ -DrawTextField | @vladmandic/face-api - v1.7.13

Constructors

constructor +DrawTextField | @vladmandic/face-api - v1.7.13

Constructors

Properties

Constructors

Properties

anchor: IPoint
text: string[]

Methods

  • Parameters

    • canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D

    Returns void

\ No newline at end of file +

Constructors

Properties

anchor: IPoint
text: string[]

Methods

  • Parameters

    • canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D

    Returns void

\ No newline at end of file diff --git a/typedoc/classes/draw.DrawTextFieldOptions.html b/typedoc/classes/draw.DrawTextFieldOptions.html index 731edfe..29a8ee9 100644 --- a/typedoc/classes/draw.DrawTextFieldOptions.html +++ b/typedoc/classes/draw.DrawTextFieldOptions.html @@ -1,8 +1,8 @@ -DrawTextFieldOptions | @vladmandic/face-api - v1.7.13

Implements

Constructors

constructor +DrawTextFieldOptions | @vladmandic/face-api - v1.7.13

Implements

Constructors

Properties

anchorPosition: AnchorPosition
backgroundColor: string
fontColor: string
fontSize: number
fontStyle: string
padding: number
\ No newline at end of file +

Constructors

Properties

anchorPosition: AnchorPosition
backgroundColor: string
fontColor: string
fontSize: number
fontStyle: string
padding: number
\ No newline at end of file diff --git a/typedoc/classes/tf.Tensor-1.html b/typedoc/classes/tf.Tensor-1.html index 8218dca..76db015 100644 --- a/typedoc/classes/tf.Tensor-1.html +++ b/typedoc/classes/tf.Tensor-1.html @@ -6,7 +6,7 @@ perform a copy of the data passed to them (e.g. if the data is passed as a a feature and is not supported. To avoid this behavior, use the tensor before changing the input data or create a copy with copy = tf.add(yourTensor, 0).

See tf.tensor for details on how to create a tf.Tensor.

-

Doc

Type Parameters

Hierarchy (view full)

Implements

  • TensorInfo

Constructors

Doc

Type Parameters

Hierarchy (view full)

Implements

  • TensorInfo

Constructors

Properties

dataId dtype id @@ -170,32 +170,32 @@ changing the input data or create a copy with copy = tf.add(yourTensor, 0) variable where zerosLike -

Constructors

  • Type Parameters

    Parameters

    • shape: ShapeMap[R]
    • dtype: keyof DataTypeMap
    • dataId: object
    • id: number

    Returns Tensor<R>

Properties

dataId: object

Id of the bucket holding the data for this tensor. Multiple arrays can +

Constructors

  • Type Parameters

    Parameters

    • shape: ShapeMap[R]
    • dtype: keyof DataTypeMap
    • dataId: object
    • id: number

    Returns Tensor<R>

Properties

dataId: object

Id of the bucket holding the data for this tensor. Multiple arrays can point to the same bucket (e.g. when calling array.reshape()).

-
dtype: keyof DataTypeMap

The data type for the array.

-
id: number

Unique id of this tensor.

-
kept: boolean

Whether this tensor has been globally kept.

-
kerasMask?: Tensor<Rank>

The keras mask that some keras layers attach to the tensor

-
rankType: R

The rank type for the array (see Rank enum).

-
scopeId: number

The id of the scope this tensor is being tracked in.

-
shape: ShapeMap[R]

The shape of the tensor.

-
size: number

Number of elements in the tensor.

-
strides: number[]

Number of elements to skip in each dimension when indexing. See +

dtype: keyof DataTypeMap

The data type for the array.

+
id: number

Unique id of this tensor.

+
kept: boolean

Whether this tensor has been globally kept.

+
kerasMask?: Tensor<Rank>

The keras mask that some keras layers attach to the tensor

+
rankType: R

The rank type for the array (see Rank enum).

+
scopeId: number

The id of the scope this tensor is being tracked in.

+
shape: ShapeMap[R]

The shape of the tensor.

+
size: number

Number of elements in the tensor.

+
strides: number[]

Number of elements to skip in each dimension when indexing. See https://docs.scipy.org/doc/numpy/reference/generated/\ numpy.ndarray.strides.html

-

Accessors

  • get isDisposed(): boolean
  • Returns boolean

  • get rank(): number
  • Returns number

Methods

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T

  • Returns the tensor data as a nested array. The transfer of data is done +

Accessors

  • get isDisposed(): boolean
  • Returns boolean

  • get rank(): number
  • Returns number

Methods

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T

  • Returns the tensor data as a nested array. The transfer of data is done asynchronously.

    -

    Returns Promise<ArrayMap[R]>

    Doc

  • Returns the tensor data as a nested array. The transfer of data is done +

    Returns Promise<ArrayMap[R]>

    Doc

  • Returns the tensor data as a nested array. The transfer of data is done synchronously.

    -

    Returns ArrayMap[R]

    Doc

  • Type Parameters

    Returns Tensor1D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number

    Returns Tensor2D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number
    • depth: number

    Returns Tensor3D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number
    • depth: number
    • depth2: number

    Returns Tensor4D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number
    • depth: number
    • depth2: number
    • depth3: number

    Returns Tensor5D

  • Type Parameters

    Returns Scalar

  • Type Parameters

    Parameters

    • this: T
    • dtype: keyof DataTypeMap

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • filterSize: number | [number, number]
    • strides: number | [number, number]
    • pad: number | "valid" | "same" | ExplicitPadding
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • blockShape: number[]
    • crops: number[][]

    Returns Tensor<R>

  • Type Parameters

    Parameters

    • shape: ShapeMap[R]

    Returns Tensor<R>

  • Returns a promise of tf.TensorBuffer that holds the underlying data.

    -

    Type Parameters

    • D extends keyof DataTypeMap = "float32"

    Returns Promise<TensorBuffer<R, D>>

    Doc

  • Returns a tf.TensorBuffer that holds the underlying data.

    -

    Type Parameters

    • D extends keyof DataTypeMap = "float32"

    Returns TensorBuffer<R, D>

    Doc

  • Returns the underlying bytes of the tensor's data.

    -

    Returns Promise<Uint8Array | Uint8Array[]>

  • Type Parameters

    Parameters

    • dtype: keyof DataTypeMap

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • min: number
    • max: number

    Returns Tensor<Rank>

  • Returns a copy of the tensor. See tf.clone for details.

    -

    Type Parameters

    Parameters

    • this: T

    Returns T

    Doc

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor3D | TensorLike3D
    • stride: number
    • pad: number | "valid" | "same" | ExplicitPadding
    • Optional dataFormat: "NWC" | "NCW"
    • Optional dilation: number
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor4D | TensorLike4D
    • strides: number | [number, number]
    • pad: number | "valid" | "same"
    • Optional dataFormat: "NHWC" | "NCHW"
    • Optional dilations: number | [number, number]
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor4D | TensorLike4D
    • outputShape: [number, number, number, number] | [number, number, number]
    • strides: number | [number, number]
    • pad: number | "valid" | "same"
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number
    • Optional exclusive: boolean
    • Optional reverse: boolean

    Returns Tensor<R>

  • Type Parameters

    Parameters

    • Optional axis: number
    • Optional exclusive: boolean
    • Optional reverse: boolean

    Returns Tensor<R>

  • Asynchronously downloads the values from the tf.Tensor. Returns a +

    Returns ArrayMap[R]

    Doc

  • Type Parameters

    Returns Tensor1D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number

    Returns Tensor2D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number
    • depth: number

    Returns Tensor3D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number
    • depth: number
    • depth2: number

    Returns Tensor4D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number
    • depth: number
    • depth2: number
    • depth3: number

    Returns Tensor5D

  • Type Parameters

    Returns Scalar

  • Type Parameters

    Parameters

    • this: T
    • dtype: keyof DataTypeMap

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • filterSize: number | [number, number]
    • strides: number | [number, number]
    • pad: number | "valid" | "same" | ExplicitPadding
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • blockShape: number[]
    • crops: number[][]

    Returns Tensor<R>

  • Type Parameters

    Parameters

    • shape: ShapeMap[R]

    Returns Tensor<R>

  • Returns a promise of tf.TensorBuffer that holds the underlying data.

    +

    Type Parameters

    • D extends keyof DataTypeMap = "float32"

    Returns Promise<TensorBuffer<R, D>>

    Doc

  • Returns a tf.TensorBuffer that holds the underlying data.

    +

    Type Parameters

    • D extends keyof DataTypeMap = "float32"

    Returns TensorBuffer<R, D>

    Doc

  • Returns the underlying bytes of the tensor's data.

    +

    Returns Promise<Uint8Array | Uint8Array[]>

  • Type Parameters

    Parameters

    • dtype: keyof DataTypeMap

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • min: number
    • max: number

    Returns Tensor<Rank>

  • Returns a copy of the tensor. See tf.clone for details.

    +

    Type Parameters

    Parameters

    • this: T

    Returns T

    Doc

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor3D | TensorLike3D
    • stride: number
    • pad: number | "valid" | "same" | ExplicitPadding
    • Optional dataFormat: "NWC" | "NCW"
    • Optional dilation: number
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor4D | TensorLike4D
    • strides: number | [number, number]
    • pad: number | "valid" | "same"
    • Optional dataFormat: "NHWC" | "NCHW"
    • Optional dilations: number | [number, number]
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor4D | TensorLike4D
    • outputShape: [number, number, number, number] | [number, number, number]
    • strides: number | [number, number]
    • pad: number | "valid" | "same"
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number
    • Optional exclusive: boolean
    • Optional reverse: boolean

    Returns Tensor<R>

  • Type Parameters

    Parameters

    • Optional axis: number
    • Optional exclusive: boolean
    • Optional reverse: boolean

    Returns Tensor<R>

  • Asynchronously downloads the values from the tf.Tensor. Returns a promise of TypedArray that resolves when the computation has finished.

    -

    Type Parameters

    • D extends keyof DataTypeMap = NumericDataType

    Returns Promise<DataTypeMap[D]>

    Doc

  • Synchronously downloads the values from the tf.Tensor. This blocks the +

    Type Parameters

    • D extends keyof DataTypeMap = NumericDataType

    Returns Promise<DataTypeMap[D]>

    Doc

  • Synchronously downloads the values from the tf.Tensor. This blocks the UI thread until the values are ready, which can cause performance issues.

    -

    Type Parameters

    • D extends keyof DataTypeMap = NumericDataType

    Returns DataTypeMap[D]

    Doc

  • Copy the tensor's data to a new GPU resource. Comparing to the dataSync() +

    Type Parameters

    • D extends keyof DataTypeMap = NumericDataType

    Returns DataTypeMap[D]

    Doc

  • Copy the tensor's data to a new GPU resource. Comparing to the dataSync() and data(), this method prevents data from being downloaded to CPU.

    For WebGL backend, the data will be stored on a densely packed texture. This means that the texture will use the RGBA channels to store value.

    @@ -210,9 +210,9 @@ parameter, so can not use a user-defined size to create the buffer.

    }

    For WebGPU backend, a GPUData contains the new buffer.
    {
    tensorRef: The tensor that is associated with this buffer,
    buffer: GPUBuffer,
    }

    Remember to dispose the GPUData after it is used by
    `res.tensorRef.dispose()`.
    -

    Doc

  • Type Parameters

    Parameters

    • blockSize: number
    • dataFormat: "NHWC" | "NCHW"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor4D | TensorLike4D
    • strides: number | [number, number]
    • pad: number | "valid" | "same"
    • Optional dataFormat: "NHWC" | "NCHW"
    • Optional dilations: number | [number, number]
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor3D | TensorLike3D
    • strides: number | [number, number]
    • pad: "valid" | "same"
    • Optional dilations: number | [number, number]
    • Optional dataFormat: "NHWC"

    Returns T

  • Disposes tf.Tensor from memory.

    -

    Returns void

    Doc

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns Tensor<Rank>

  • Type Parameters

    Returns Tensor1D

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • alpha: number

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • Optional depthRadius: number
    • Optional bias: number
    • Optional alpha: number
    • Optional beta: number

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • filterSize: number | [number, number]
    • strides: number | [number, number]
    • pad: number | "valid" | "same" | ExplicitPadding
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • paddings: [number, number][]
    • mode: "reflect" | "symmetric"

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional ord: number | "euclidean" | "fro"
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    Returns T

  • Parameters

    • depth: number
    • onValue: number
    • offValue: number

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • paddings: [number, number][]
    • Optional constantValue: number

    Returns T

  • Type Parameters

    Parameters

    • windowShape: number | [number, number]
    • poolingType: "avg" | "max"
    • padding: number | "valid" | "same" | ExplicitPadding
    • Optional diationRate: number | [number, number]
    • Optional strides: number | [number, number]
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Prints the tf.Tensor. See tf.print for details.

    +

    Doc

  • Type Parameters

    Parameters

    • blockSize: number
    • dataFormat: "NHWC" | "NCHW"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor4D | TensorLike4D
    • strides: number | [number, number]
    • pad: number | "valid" | "same"
    • Optional dataFormat: "NHWC" | "NCHW"
    • Optional dilations: number | [number, number]
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor3D | TensorLike3D
    • strides: number | [number, number]
    • pad: "valid" | "same"
    • Optional dilations: number | [number, number]
    • Optional dataFormat: "NHWC"

    Returns T

  • Disposes tf.Tensor from memory.

    +

    Returns void

    Doc

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Returns Tensor1D

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • alpha: number

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • Optional depthRadius: number
    • Optional bias: number
    • Optional alpha: number
    • Optional beta: number

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • filterSize: number | [number, number]
    • strides: number | [number, number]
    • pad: number | "valid" | "same" | ExplicitPadding
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • paddings: [number, number][]
    • mode: "reflect" | "symmetric"

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional ord: number | "euclidean" | "fro"
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    Returns T

  • Parameters

    • depth: number
    • onValue: number
    • offValue: number

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • paddings: [number, number][]
    • Optional constantValue: number

    Returns T

  • Type Parameters

    Parameters

    • windowShape: number | [number, number]
    • poolingType: "avg" | "max"
    • padding: number | "valid" | "same" | ExplicitPadding
    • Optional diationRate: number | [number, number]
    • Optional strides: number | [number, number]
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Prints the tf.Tensor. See tf.print for details.

    Parameters

    • Optional verbose: boolean

      Whether to print verbose information about the tensor, including dtype and size.

      -

    Returns void

    Doc

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    • shape: number[]

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • newShape2D: [number, number]
    • Optional alignCorners: boolean
    • Optional halfPixelCenters: boolean

    Returns T

  • Type Parameters

    Parameters

    • newShape2D: [number, number]
    • Optional alignCorners: boolean
    • Optional halfFloatCenters: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]

    Returns T

  • Type Parameters

    Parameters

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    • depthwiseFilter: Tensor4D | TensorLike4D
    • pointwiseFilter: Tensor4D | TensorLike
    • strides: number | [number, number]
    • pad: "valid" | "same"
    • Optional dilation: number | [number, number]
    • Optional dataFormat: "NHWC" | "NCHW"

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • begin: number | number[]
    • Optional size: number | number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional dim: number

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • blockShape: number[]
    • paddings: number[][]

    Returns Tensor<R>

  • Type Parameters

    Parameters

    • numOrSizeSplits: number | number[]
    • Optional axis: number

    Returns T[]

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number[]

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional alpha: number

    Returns T

  • Type Parameters

    Parameters

    • this: Tensor<Rank>
    • begin: number[]
    • end: number[]
    • strides: number[]
    • Optional beginMask: number
    • Optional endMask: number
    • Optional ellipsisMask: number
    • Optional newAxisMask: number
    • Optional shrinkAxisMask: number

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Returns void

  • Type Parameters

    Parameters

    • b: number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Returns a human-readable description of the tensor. Useful for logging.

    -

    Parameters

    • Optional verbose: boolean

    Returns string

    Doc

  • Type Parameters

    Parameters

    • this: T
    • Optional k: number
    • Optional sorted: boolean

    Returns {
        indices: T;
        values: T;
    }

    • indices: T
    • values: T
  • Type Parameters

    Parameters

    • Optional perm: number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number

    Returns {
        indices: T;
        values: T;
    }

    • indices: T
    • values: T
  • Type Parameters

    Parameters

    • this: T
    • segmentIds: Tensor1D | TensorLike1D
    • numSegments: number

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T[]

  • Parameters

    • Optional trainable: boolean
    • Optional name: string
    • Optional dtype: keyof DataTypeMap

    Returns Variable<R>

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

\ No newline at end of file +

Returns void

Doc

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    • shape: number[]

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • newShape2D: [number, number]
    • Optional alignCorners: boolean
    • Optional halfPixelCenters: boolean

    Returns T

  • Type Parameters

    Parameters

    • newShape2D: [number, number]
    • Optional alignCorners: boolean
    • Optional halfFloatCenters: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    • depthwiseFilter: Tensor4D | TensorLike4D
    • pointwiseFilter: Tensor4D | TensorLike
    • strides: number | [number, number]
    • pad: "valid" | "same"
    • Optional dilation: number | [number, number]
    • Optional dataFormat: "NHWC" | "NCHW"

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • begin: number | number[]
    • Optional size: number | number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional dim: number

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • blockShape: number[]
    • paddings: number[][]

    Returns Tensor<R>

  • Type Parameters

    Parameters

    • numOrSizeSplits: number | number[]
    • Optional axis: number

    Returns T[]

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number[]

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional alpha: number

    Returns T

  • Type Parameters

    Parameters

    • this: Tensor<Rank>
    • begin: number[]
    • end: number[]
    • strides: number[]
    • Optional beginMask: number
    • Optional endMask: number
    • Optional ellipsisMask: number
    • Optional newAxisMask: number
    • Optional shrinkAxisMask: number

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Returns void

  • Type Parameters

    Parameters

    • b: number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Returns a human-readable description of the tensor. Useful for logging.

    +

    Parameters

    • Optional verbose: boolean

    Returns string

    Doc

  • Type Parameters

    Parameters

    • this: T
    • Optional k: number
    • Optional sorted: boolean

    Returns {
        indices: T;
        values: T;
    }

    • indices: T
    • values: T
  • Type Parameters

    Parameters

    • Optional perm: number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number

    Returns {
        indices: T;
        values: T;
    }

    • indices: T
    • values: T
  • Type Parameters

    Parameters

    • this: T
    • segmentIds: Tensor1D | TensorLike1D
    • numSegments: number

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T[]

  • Parameters

    • Optional trainable: boolean
    • Optional name: string
    • Optional dtype: keyof DataTypeMap

    Returns Variable<R>

  • Type Parameters

    Parameters

    • this: T

    Returns T

\ No newline at end of file diff --git a/typedoc/classes/tf.Variable.html b/typedoc/classes/tf.Variable.html index 4c30d82..d3f38a7 100644 --- a/typedoc/classes/tf.Variable.html +++ b/typedoc/classes/tf.Variable.html @@ -1,5 +1,5 @@ Variable | @vladmandic/face-api - v1.7.13

A mutable tf.Tensor, useful for persisting state, e.g. for training.

-

Doc

Type Parameters

Hierarchy (view full)

Constructors

Doc

Type Parameters

Hierarchy (view full)

Constructors

Properties

dataId dtype id @@ -166,35 +166,35 @@ variable where zerosLike -

Constructors

  • Type Parameters

    Parameters

    • initialValue: Tensor<R>
    • trainable: boolean
    • name: string
    • tensorId: number

    Returns Variable<R>

Properties

dataId: object

Id of the bucket holding the data for this tensor. Multiple arrays can +

Constructors

  • Type Parameters

    Parameters

    • initialValue: Tensor<R>
    • trainable: boolean
    • name: string
    • tensorId: number

    Returns Variable<R>

Properties

dataId: object

Id of the bucket holding the data for this tensor. Multiple arrays can point to the same bucket (e.g. when calling array.reshape()).

-
dtype: keyof DataTypeMap

The data type for the array.

-
id: number

Unique id of this tensor.

-
kept: boolean

Whether this tensor has been globally kept.

-
kerasMask?: Tensor<Rank>

The keras mask that some keras layers attach to the tensor

-
name: string
rankType: R

The rank type for the array (see Rank enum).

-
scopeId: number

The id of the scope this tensor is being tracked in.

-
shape: ShapeMap[R]

The shape of the tensor.

-
size: number

Number of elements in the tensor.

-
strides: number[]

Number of elements to skip in each dimension when indexing. See +

dtype: keyof DataTypeMap

The data type for the array.

+
id: number

Unique id of this tensor.

+
kept: boolean

Whether this tensor has been globally kept.

+
kerasMask?: Tensor<Rank>

The keras mask that some keras layers attach to the tensor

+
name: string
rankType: R

The rank type for the array (see Rank enum).

+
scopeId: number

The id of the scope this tensor is being tracked in.

+
shape: ShapeMap[R]

The shape of the tensor.

+
size: number

Number of elements in the tensor.

+
strides: number[]

Number of elements to skip in each dimension when indexing. See https://docs.scipy.org/doc/numpy/reference/generated/\ numpy.ndarray.strides.html

-
trainable: boolean

Accessors

  • get isDisposed(): boolean
  • Returns boolean

  • get rank(): number
  • Returns number

Methods

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T

  • Returns the tensor data as a nested array. The transfer of data is done +

trainable: boolean

Accessors

  • get isDisposed(): boolean
  • Returns boolean

  • get rank(): number
  • Returns number

Methods

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T

  • Returns the tensor data as a nested array. The transfer of data is done asynchronously.

    -

    Returns Promise<ArrayMap[R]>

    Doc

  • Returns the tensor data as a nested array. The transfer of data is done +

    Returns Promise<ArrayMap[R]>

    Doc

  • Returns the tensor data as a nested array. The transfer of data is done synchronously.

    -

    Returns ArrayMap[R]

    Doc

  • Type Parameters

    Returns Tensor1D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number

    Returns Tensor2D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number
    • depth: number

    Returns Tensor3D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number
    • depth: number
    • depth2: number

    Returns Tensor4D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number
    • depth: number
    • depth2: number
    • depth3: number

    Returns Tensor5D

  • Type Parameters

    Returns Scalar

  • Type Parameters

    Parameters

    • this: T
    • dtype: keyof DataTypeMap

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Assign a new tf.Tensor to this variable. The new tf.Tensor must have +

    Returns ArrayMap[R]

    Doc

  • Type Parameters

    Parameters

    • rows: number
    • columns: number

    Returns Tensor2D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number
    • depth: number

    Returns Tensor3D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number
    • depth: number
    • depth2: number

    Returns Tensor4D

  • Type Parameters

    Parameters

    • rows: number
    • columns: number
    • depth: number
    • depth2: number
    • depth3: number

    Returns Tensor5D

  • Type Parameters

    Returns Scalar

  • Type Parameters

    Parameters

    • this: T
    • dtype: keyof DataTypeMap

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Assign a new tf.Tensor to this variable. The new tf.Tensor must have the same shape and dtype as the old tf.Tensor.

    Parameters

    • newValue: Tensor<R>

      New tensor to be assigned to this variable.

      -

    Returns void

    Doc

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • filterSize: number | [number, number]
    • strides: number | [number, number]
    • pad: number | "valid" | "same" | ExplicitPadding
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • blockShape: number[]
    • crops: number[][]

    Returns Tensor<R>

  • Type Parameters

    Parameters

    • shape: ShapeMap[R]

    Returns Tensor<R>

  • Returns a promise of tf.TensorBuffer that holds the underlying data.

    -

    Type Parameters

    • D extends keyof DataTypeMap = "float32"

    Returns Promise<TensorBuffer<R, D>>

    Doc

  • Returns a tf.TensorBuffer that holds the underlying data.

    -

    Type Parameters

    • D extends keyof DataTypeMap = "float32"

    Returns TensorBuffer<R, D>

    Doc

  • Returns the underlying bytes of the tensor's data.

    -

    Returns Promise<Uint8Array | Uint8Array[]>

  • Type Parameters

    Parameters

    • dtype: keyof DataTypeMap

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • min: number
    • max: number

    Returns Tensor<Rank>

  • Returns a copy of the tensor. See tf.clone for details.

    -

    Type Parameters

    Parameters

    • this: T

    Returns T

    Doc

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor3D | TensorLike3D
    • stride: number
    • pad: number | "valid" | "same" | ExplicitPadding
    • Optional dataFormat: "NWC" | "NCW"
    • Optional dilation: number
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor4D | TensorLike4D
    • strides: number | [number, number]
    • pad: number | "valid" | "same"
    • Optional dataFormat: "NHWC" | "NCHW"
    • Optional dilations: number | [number, number]
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor4D | TensorLike4D
    • outputShape: [number, number, number, number] | [number, number, number]
    • strides: number | [number, number]
    • pad: number | "valid" | "same"
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number
    • Optional exclusive: boolean
    • Optional reverse: boolean

    Returns Tensor<R>

  • Type Parameters

    Parameters

    • Optional axis: number
    • Optional exclusive: boolean
    • Optional reverse: boolean

    Returns Tensor<R>

  • Asynchronously downloads the values from the tf.Tensor. Returns a +

Returns void

Doc

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • filterSize: number | [number, number]
    • strides: number | [number, number]
    • pad: number | "valid" | "same" | ExplicitPadding
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • blockShape: number[]
    • crops: number[][]

    Returns Tensor<R>

  • Type Parameters

    Parameters

    • shape: ShapeMap[R]

    Returns Tensor<R>

  • Returns a promise of tf.TensorBuffer that holds the underlying data.

    +

    Type Parameters

    • D extends keyof DataTypeMap = "float32"

    Returns Promise<TensorBuffer<R, D>>

    Doc

  • Returns a tf.TensorBuffer that holds the underlying data.

    +

    Type Parameters

    • D extends keyof DataTypeMap = "float32"

    Returns TensorBuffer<R, D>

    Doc

  • Returns the underlying bytes of the tensor's data.

    +

    Returns Promise<Uint8Array | Uint8Array[]>

  • Type Parameters

    Parameters

    • dtype: keyof DataTypeMap

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • min: number
    • max: number

    Returns Tensor<Rank>

  • Returns a copy of the tensor. See tf.clone for details.

    +

    Type Parameters

    Parameters

    • this: T

    Returns T

    Doc

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor3D | TensorLike3D
    • stride: number
    • pad: number | "valid" | "same" | ExplicitPadding
    • Optional dataFormat: "NWC" | "NCW"
    • Optional dilation: number
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor4D | TensorLike4D
    • strides: number | [number, number]
    • pad: number | "valid" | "same"
    • Optional dataFormat: "NHWC" | "NCHW"
    • Optional dilations: number | [number, number]
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor4D | TensorLike4D
    • outputShape: [number, number, number, number] | [number, number, number]
    • strides: number | [number, number]
    • pad: number | "valid" | "same"
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number
    • Optional exclusive: boolean
    • Optional reverse: boolean

    Returns Tensor<R>

  • Type Parameters

    Parameters

    • Optional axis: number
    • Optional exclusive: boolean
    • Optional reverse: boolean

    Returns Tensor<R>

  • Asynchronously downloads the values from the tf.Tensor. Returns a promise of TypedArray that resolves when the computation has finished.

    -

    Type Parameters

    • D extends keyof DataTypeMap = NumericDataType

    Returns Promise<DataTypeMap[D]>

    Doc

  • Synchronously downloads the values from the tf.Tensor. This blocks the +

    Type Parameters

    • D extends keyof DataTypeMap = NumericDataType

    Returns Promise<DataTypeMap[D]>

    Doc

  • Synchronously downloads the values from the tf.Tensor. This blocks the UI thread until the values are ready, which can cause performance issues.

    -

    Type Parameters

    • D extends keyof DataTypeMap = NumericDataType

    Returns DataTypeMap[D]

    Doc

  • Copy the tensor's data to a new GPU resource. Comparing to the dataSync() +

    Type Parameters

    • D extends keyof DataTypeMap = NumericDataType

    Returns DataTypeMap[D]

    Doc

  • Copy the tensor's data to a new GPU resource. Comparing to the dataSync() and data(), this method prevents data from being downloaded to CPU.

    For WebGL backend, the data will be stored on a densely packed texture. This means that the texture will use the RGBA channels to store value.

    @@ -209,9 +209,9 @@ parameter, so can not use a user-defined size to create the buffer.

    }

    For WebGPU backend, a GPUData contains the new buffer.
    {
    tensorRef: The tensor that is associated with this buffer,
    buffer: GPUBuffer,
    }

    Remember to dispose the GPUData after it is used by
    `res.tensorRef.dispose()`.
    -

    Doc

  • Type Parameters

    Parameters

    • blockSize: number
    • dataFormat: "NHWC" | "NCHW"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor4D | TensorLike4D
    • strides: number | [number, number]
    • pad: number | "valid" | "same"
    • Optional dataFormat: "NHWC" | "NCHW"
    • Optional dilations: number | [number, number]
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor3D | TensorLike3D
    • strides: number | [number, number]
    • pad: "valid" | "same"
    • Optional dilations: number | [number, number]
    • Optional dataFormat: "NHWC"

    Returns T

  • Disposes tf.Tensor from memory.

    -

    Returns void

    Doc

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns Tensor<Rank>

  • Type Parameters

    Returns Tensor1D

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • alpha: number

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • Optional depthRadius: number
    • Optional bias: number
    • Optional alpha: number
    • Optional beta: number

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • filterSize: number | [number, number]
    • strides: number | [number, number]
    • pad: number | "valid" | "same" | ExplicitPadding
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • paddings: [number, number][]
    • mode: "reflect" | "symmetric"

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional ord: number | "euclidean" | "fro"
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    Returns T

  • Parameters

    • depth: number
    • onValue: number
    • offValue: number

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • paddings: [number, number][]
    • Optional constantValue: number

    Returns T

  • Type Parameters

    Parameters

    • windowShape: number | [number, number]
    • poolingType: "avg" | "max"
    • padding: number | "valid" | "same" | ExplicitPadding
    • Optional diationRate: number | [number, number]
    • Optional strides: number | [number, number]
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Prints the tf.Tensor. See tf.print for details.

    +

    Doc

  • Type Parameters

    Parameters

    • blockSize: number
    • dataFormat: "NHWC" | "NCHW"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor4D | TensorLike4D
    • strides: number | [number, number]
    • pad: number | "valid" | "same"
    • Optional dataFormat: "NHWC" | "NCHW"
    • Optional dilations: number | [number, number]
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • filter: Tensor3D | TensorLike3D
    • strides: number | [number, number]
    • pad: "valid" | "same"
    • Optional dilations: number | [number, number]
    • Optional dataFormat: "NHWC"

    Returns T

  • Disposes tf.Tensor from memory.

    +

    Returns void

    Doc

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • alpha: number

    Returns T

  • Type Parameters

    Parameters

    • Optional depthRadius: number
    • Optional bias: number
    • Optional alpha: number
    • Optional beta: number

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • filterSize: number | [number, number]
    • strides: number | [number, number]
    • pad: number | "valid" | "same" | ExplicitPadding
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • paddings: [number, number][]
    • mode: "reflect" | "symmetric"

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional ord: number | "euclidean" | "fro"
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns Tensor<Rank>

  • Parameters

    • depth: number
    • onValue: number
    • offValue: number

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • paddings: [number, number][]
    • Optional constantValue: number

    Returns T

  • Type Parameters

    Parameters

    • windowShape: number | [number, number]
    • poolingType: "avg" | "max"
    • padding: number | "valid" | "same" | ExplicitPadding
    • Optional diationRate: number | [number, number]
    • Optional strides: number | [number, number]
    • Optional dimRoundingMode: "floor" | "round" | "ceil"

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Prints the tf.Tensor. See tf.print for details.

    Parameters

    • Optional verbose: boolean

      Whether to print verbose information about the tensor, including dtype and size.

      -

    Returns void

    Doc

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    • shape: number[]

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • newShape2D: [number, number]
    • Optional alignCorners: boolean
    • Optional halfPixelCenters: boolean

    Returns T

  • Type Parameters

    Parameters

    • newShape2D: [number, number]
    • Optional alignCorners: boolean
    • Optional halfFloatCenters: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]

    Returns T

  • Type Parameters

    Parameters

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    • depthwiseFilter: Tensor4D | TensorLike4D
    • pointwiseFilter: Tensor4D | TensorLike
    • strides: number | [number, number]
    • pad: "valid" | "same"
    • Optional dilation: number | [number, number]
    • Optional dataFormat: "NHWC" | "NCHW"

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • begin: number | number[]
    • Optional size: number | number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional dim: number

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • blockShape: number[]
    • paddings: number[][]

    Returns Tensor<R>

  • Type Parameters

    Parameters

    • numOrSizeSplits: number | number[]
    • Optional axis: number

    Returns T[]

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number[]

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional alpha: number

    Returns T

  • Type Parameters

    Parameters

    • this: Tensor<Rank>
    • begin: number[]
    • end: number[]
    • strides: number[]
    • Optional beginMask: number
    • Optional endMask: number
    • Optional ellipsisMask: number
    • Optional newAxisMask: number
    • Optional shrinkAxisMask: number

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Returns void

  • Type Parameters

    Parameters

    • b: number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Returns a human-readable description of the tensor. Useful for logging.

    -

    Parameters

    • Optional verbose: boolean

    Returns string

    Doc

  • Type Parameters

    Parameters

    • this: T
    • Optional k: number
    • Optional sorted: boolean

    Returns {
        indices: T;
        values: T;
    }

    • indices: T
    • values: T
  • Type Parameters

    Parameters

    • Optional perm: number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number

    Returns {
        indices: T;
        values: T;
    }

    • indices: T
    • values: T
  • Type Parameters

    Parameters

    • this: T
    • segmentIds: Tensor1D | TensorLike1D
    • numSegments: number

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T[]

  • Parameters

    • Optional trainable: boolean
    • Optional name: string
    • Optional dtype: keyof DataTypeMap

    Returns Variable<R>

  • Type Parameters

    Parameters

    • this: T

    Returns T

\ No newline at end of file +

Returns void

Doc

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    • shape: number[]

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • newShape2D: [number, number]
    • Optional alignCorners: boolean
    • Optional halfPixelCenters: boolean

    Returns T

  • Type Parameters

    Parameters

    • newShape2D: [number, number]
    • Optional alignCorners: boolean
    • Optional halfFloatCenters: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number | number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Returns T

  • Type Parameters

    Parameters

    • depthwiseFilter: Tensor4D | TensorLike4D
    • pointwiseFilter: Tensor4D | TensorLike
    • strides: number | [number, number]
    • pad: "valid" | "same"
    • Optional dilation: number | [number, number]
    • Optional dataFormat: "NHWC" | "NCHW"

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • begin: number | number[]
    • Optional size: number | number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional dim: number

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • blockShape: number[]
    • paddings: number[][]

    Returns Tensor<R>

  • Type Parameters

    Parameters

    • numOrSizeSplits: number | number[]
    • Optional axis: number

    Returns T[]

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number[]

    Returns T

  • Type Parameters

    Parameters

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional alpha: number

    Returns T

  • Type Parameters

    Parameters

    • this: Tensor<Rank>
    • begin: number[]
    • end: number[]
    • strides: number[]
    • Optional beginMask: number
    • Optional endMask: number
    • Optional ellipsisMask: number
    • Optional newAxisMask: number
    • Optional shrinkAxisMask: number

    Returns Tensor<Rank>

  • Type Parameters

    Parameters

    • Optional axis: number | number[]
    • Optional keepDims: boolean

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Returns void

  • Type Parameters

    Parameters

    • b: number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Type Parameters

    Parameters

    • this: T

    Returns T

  • Returns a human-readable description of the tensor. Useful for logging.

    +

    Parameters

    • Optional verbose: boolean

    Returns string

    Doc

  • Type Parameters

    Parameters

    • this: T
    • Optional k: number
    • Optional sorted: boolean

    Returns {
        indices: T;
        values: T;
    }

    • indices: T
    • values: T
  • Type Parameters

    Parameters

    • Optional perm: number[]

    Returns T

  • Type Parameters

    Parameters

    • this: T
    • Optional axis: number

    Returns {
        indices: T;
        values: T;
    }

    • indices: T
    • values: T
  • Type Parameters

    Parameters

    • this: T
    • segmentIds: Tensor1D | TensorLike1D
    • numSegments: number

    Returns T

  • Type Parameters

    Parameters

    • Optional axis: number

    Returns T[]

  • Parameters

    • Optional trainable: boolean
    • Optional name: string
    • Optional dtype: keyof DataTypeMap

    Returns Variable<R>

  • Type Parameters

    Parameters

    • this: T

    Returns T

\ No newline at end of file diff --git a/typedoc/classes/tf.io.CompositeArrayBuffer.html b/typedoc/classes/tf.io.CompositeArrayBuffer.html index 5677e4f..3f594c6 100644 --- a/typedoc/classes/tf.io.CompositeArrayBuffer.html +++ b/typedoc/classes/tf.io.CompositeArrayBuffer.html @@ -5,12 +5,12 @@ its weights as a list of (usually) 4MB ArrayBuffers and then slices the weight tensors out of them. For small models, it's safe to concatenate all the weight buffers into a single ArrayBuffer and then slice the weight tensors out of it, but for large models, a different approach is needed.

-

Constructors

Constructors

Properties

Methods

Constructors

  • Parameters

    • Optional buffers: TypedArray | ArrayBuffer | ArrayBuffer[] | TypedArray[]

    Returns CompositeArrayBuffer

Properties

byteLength: number

Methods

  • Parameters

    • Optional start: number
    • Optional end: number

    Returns ArrayBuffer

  • Concatenate a number of ArrayBuffers into one.

    +

Constructors

  • Parameters

    • Optional buffers: TypedArray | ArrayBuffer | ArrayBuffer[] | TypedArray[]

    Returns CompositeArrayBuffer

Properties

byteLength: number

Methods

  • Parameters

    • Optional start: number
    • Optional end: number

    Returns ArrayBuffer

  • Concatenate a number of ArrayBuffers into one.

    Parameters

    • Optional buffers: ArrayBuffer | ArrayBuffer[]

      An array of ArrayBuffers to concatenate, or a single ArrayBuffer.

    Returns ArrayBuffer

    Result of concatenating buffers in order.

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/typedoc/enums/Gender.html b/typedoc/enums/Gender.html index f138fbc..1582d0c 100644 --- a/typedoc/enums/Gender.html +++ b/typedoc/enums/Gender.html @@ -1,3 +1,3 @@ -Gender | @vladmandic/face-api - v1.7.13

Enumeration Gender

Enumeration Members

FEMALE +Gender | @vladmandic/face-api - v1.7.13
\ No newline at end of file +

Enumeration Members

FEMALE: "female"
MALE: "male"
\ No newline at end of file diff --git a/typedoc/enums/draw.AnchorPosition.html b/typedoc/enums/draw.AnchorPosition.html index 3d1b068..53c9c17 100644 --- a/typedoc/enums/draw.AnchorPosition.html +++ b/typedoc/enums/draw.AnchorPosition.html @@ -1,5 +1,5 @@ -AnchorPosition | @vladmandic/face-api - v1.7.13

Enumeration AnchorPosition

Enumeration Members

BOTTOM_LEFT +AnchorPosition | @vladmandic/face-api - v1.7.13
\ No newline at end of file +

Enumeration Members

BOTTOM_LEFT: "BOTTOM_LEFT"
BOTTOM_RIGHT: "BOTTOM_RIGHT"
TOP_LEFT: "TOP_LEFT"
TOP_RIGHT: "TOP_RIGHT"
\ No newline at end of file diff --git a/typedoc/enums/tf.Rank.html b/typedoc/enums/tf.Rank.html index dad7736..82565ea 100644 --- a/typedoc/enums/tf.Rank.html +++ b/typedoc/enums/tf.Rank.html @@ -1,8 +1,8 @@ -Rank | @vladmandic/face-api - v1.7.13

Enumeration Members

R0 +Rank | @vladmandic/face-api - v1.7.13

Enumeration Members

Enumeration Members

R0: "R0"
R1: "R1"
R2: "R2"
R3: "R3"
R4: "R4"
R5: "R5"
R6: "R6"
\ No newline at end of file +

Enumeration Members

R0: "R0"
R1: "R1"
R2: "R2"
R3: "R3"
R4: "R4"
R5: "R5"
R6: "R6"
\ No newline at end of file diff --git a/typedoc/functions/allFaces.html b/typedoc/functions/allFaces.html index ff9e218..bb25a59 100644 --- a/typedoc/functions/allFaces.html +++ b/typedoc/functions/allFaces.html @@ -1 +1 @@ -allFaces | @vladmandic/face-api - v1.7.13
\ No newline at end of file +allFaces | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/allFacesSsdMobilenetv1.html b/typedoc/functions/allFacesSsdMobilenetv1.html index 1c9ae40..5afd520 100644 --- a/typedoc/functions/allFacesSsdMobilenetv1.html +++ b/typedoc/functions/allFacesSsdMobilenetv1.html @@ -1 +1 @@ -allFacesSsdMobilenetv1 | @vladmandic/face-api - v1.7.13
\ No newline at end of file +allFacesSsdMobilenetv1 | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/allFacesTinyYolov2.html b/typedoc/functions/allFacesTinyYolov2.html index 404fce1..ae0f7ba 100644 --- a/typedoc/functions/allFacesTinyYolov2.html +++ b/typedoc/functions/allFacesTinyYolov2.html @@ -1 +1 @@ -allFacesTinyYolov2 | @vladmandic/face-api - v1.7.13
\ No newline at end of file +allFacesTinyYolov2 | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/awaitMediaLoaded.html b/typedoc/functions/awaitMediaLoaded.html index 7bb1e3e..8a6ea97 100644 --- a/typedoc/functions/awaitMediaLoaded.html +++ b/typedoc/functions/awaitMediaLoaded.html @@ -1 +1 @@ -awaitMediaLoaded | @vladmandic/face-api - v1.7.13
\ No newline at end of file +awaitMediaLoaded | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/bufferToImage.html b/typedoc/functions/bufferToImage.html index 0a0554f..334d0d9 100644 --- a/typedoc/functions/bufferToImage.html +++ b/typedoc/functions/bufferToImage.html @@ -1 +1 @@ -bufferToImage | @vladmandic/face-api - v1.7.13
\ No newline at end of file +bufferToImage | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/computeFaceDescriptor.html b/typedoc/functions/computeFaceDescriptor.html index 770864a..16431cf 100644 --- a/typedoc/functions/computeFaceDescriptor.html +++ b/typedoc/functions/computeFaceDescriptor.html @@ -3,4 +3,4 @@ which uniquely represents the features of that persons face. The computed face d be used to measure the similarity between faces, by computing the euclidean distance of two face descriptors.

Parameters

Returns Promise<Float32Array | Float32Array[]>

Face descriptor with 128 entries or array thereof in case of batch input.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/typedoc/functions/createCanvas.html b/typedoc/functions/createCanvas.html index 98a0f0a..894a078 100644 --- a/typedoc/functions/createCanvas.html +++ b/typedoc/functions/createCanvas.html @@ -1 +1 @@ -createCanvas | @vladmandic/face-api - v1.7.13
\ No newline at end of file +createCanvas | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/createCanvasFromMedia.html b/typedoc/functions/createCanvasFromMedia.html index c67fdc0..66e1088 100644 --- a/typedoc/functions/createCanvasFromMedia.html +++ b/typedoc/functions/createCanvasFromMedia.html @@ -1 +1 @@ -createCanvasFromMedia | @vladmandic/face-api - v1.7.13
\ No newline at end of file +createCanvasFromMedia | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/createFaceDetectionNet.html b/typedoc/functions/createFaceDetectionNet.html index fba078f..229a457 100644 --- a/typedoc/functions/createFaceDetectionNet.html +++ b/typedoc/functions/createFaceDetectionNet.html @@ -1 +1 @@ -createFaceDetectionNet | @vladmandic/face-api - v1.7.13
\ No newline at end of file +createFaceDetectionNet | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/createFaceRecognitionNet.html b/typedoc/functions/createFaceRecognitionNet.html index 97c6a0f..1ea06e3 100644 --- a/typedoc/functions/createFaceRecognitionNet.html +++ b/typedoc/functions/createFaceRecognitionNet.html @@ -1 +1 @@ -createFaceRecognitionNet | @vladmandic/face-api - v1.7.13
\ No newline at end of file +createFaceRecognitionNet | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/createSsdMobilenetv1.html b/typedoc/functions/createSsdMobilenetv1.html index bc7af7c..9862142 100644 --- a/typedoc/functions/createSsdMobilenetv1.html +++ b/typedoc/functions/createSsdMobilenetv1.html @@ -1 +1 @@ -createSsdMobilenetv1 | @vladmandic/face-api - v1.7.13
\ No newline at end of file +createSsdMobilenetv1 | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/createTinyFaceDetector.html b/typedoc/functions/createTinyFaceDetector.html index 686e8c5..983c690 100644 --- a/typedoc/functions/createTinyFaceDetector.html +++ b/typedoc/functions/createTinyFaceDetector.html @@ -1 +1 @@ -createTinyFaceDetector | @vladmandic/face-api - v1.7.13
\ No newline at end of file +createTinyFaceDetector | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/createTinyYolov2.html b/typedoc/functions/createTinyYolov2.html index 39136c4..d6c54ca 100644 --- a/typedoc/functions/createTinyYolov2.html +++ b/typedoc/functions/createTinyYolov2.html @@ -1 +1 @@ -createTinyYolov2 | @vladmandic/face-api - v1.7.13
\ No newline at end of file +createTinyYolov2 | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/detectAllFaces.html b/typedoc/functions/detectAllFaces.html index c5f55f8..fdf1c9d 100644 --- a/typedoc/functions/detectAllFaces.html +++ b/typedoc/functions/detectAllFaces.html @@ -1 +1 @@ -detectAllFaces | @vladmandic/face-api - v1.7.13
\ No newline at end of file +detectAllFaces | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/detectFaceLandmarks.html b/typedoc/functions/detectFaceLandmarks.html index 655a864..32eb7ea 100644 --- a/typedoc/functions/detectFaceLandmarks.html +++ b/typedoc/functions/detectFaceLandmarks.html @@ -1,3 +1,3 @@ detectFaceLandmarks | @vladmandic/face-api - v1.7.13
\ No newline at end of file +
\ No newline at end of file diff --git a/typedoc/functions/detectFaceLandmarksTiny.html b/typedoc/functions/detectFaceLandmarksTiny.html index b48f13d..842b58d 100644 --- a/typedoc/functions/detectFaceLandmarksTiny.html +++ b/typedoc/functions/detectFaceLandmarksTiny.html @@ -2,4 +2,4 @@ using a tinier version of the 68 point face landmark model, which is slightly faster at inference, but also slightly less accurate.

Parameters

Returns Promise<FaceLandmarks68 | FaceLandmarks68[]>

68 point face landmarks or array thereof in case of batch input.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/typedoc/functions/detectLandmarks.html b/typedoc/functions/detectLandmarks.html index 7b13db8..f23054c 100644 --- a/typedoc/functions/detectLandmarks.html +++ b/typedoc/functions/detectLandmarks.html @@ -1,3 +1,3 @@ detectLandmarks | @vladmandic/face-api - v1.7.13
\ No newline at end of file +
\ No newline at end of file diff --git a/typedoc/functions/detectSingleFace.html b/typedoc/functions/detectSingleFace.html index 5ace810..96a14d4 100644 --- a/typedoc/functions/detectSingleFace.html +++ b/typedoc/functions/detectSingleFace.html @@ -1 +1 @@ -detectSingleFace | @vladmandic/face-api - v1.7.13
\ No newline at end of file +detectSingleFace | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/draw.drawContour.html b/typedoc/functions/draw.drawContour.html index 1515245..d1edc20 100644 --- a/typedoc/functions/draw.drawContour.html +++ b/typedoc/functions/draw.drawContour.html @@ -1 +1 @@ -drawContour | @vladmandic/face-api - v1.7.13
\ No newline at end of file +drawContour | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/draw.drawDetections.html b/typedoc/functions/draw.drawDetections.html index b0cfa69..0b092ac 100644 --- a/typedoc/functions/draw.drawDetections.html +++ b/typedoc/functions/draw.drawDetections.html @@ -1 +1 @@ -drawDetections | @vladmandic/face-api - v1.7.13
\ No newline at end of file +drawDetections | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/draw.drawFaceExpressions.html b/typedoc/functions/draw.drawFaceExpressions.html index 63480c2..832def2 100644 --- a/typedoc/functions/draw.drawFaceExpressions.html +++ b/typedoc/functions/draw.drawFaceExpressions.html @@ -1 +1 @@ -drawFaceExpressions | @vladmandic/face-api - v1.7.13
\ No newline at end of file +drawFaceExpressions | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/draw.drawFaceLandmarks-1.html b/typedoc/functions/draw.drawFaceLandmarks-1.html index 312741a..474df04 100644 --- a/typedoc/functions/draw.drawFaceLandmarks-1.html +++ b/typedoc/functions/draw.drawFaceLandmarks-1.html @@ -1 +1 @@ -drawFaceLandmarks | @vladmandic/face-api - v1.7.13
\ No newline at end of file +drawFaceLandmarks | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/euclideanDistance.html b/typedoc/functions/euclideanDistance.html index 659bade..219c474 100644 --- a/typedoc/functions/euclideanDistance.html +++ b/typedoc/functions/euclideanDistance.html @@ -1 +1 @@ -euclideanDistance | @vladmandic/face-api - v1.7.13
\ No newline at end of file +euclideanDistance | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/extendWithAge.html b/typedoc/functions/extendWithAge.html index 1e8afb8..b8a2506 100644 --- a/typedoc/functions/extendWithAge.html +++ b/typedoc/functions/extendWithAge.html @@ -1 +1 @@ -extendWithAge | @vladmandic/face-api - v1.7.13
\ No newline at end of file +extendWithAge | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/extendWithFaceDescriptor.html b/typedoc/functions/extendWithFaceDescriptor.html index 87d13cf..46c872f 100644 --- a/typedoc/functions/extendWithFaceDescriptor.html +++ b/typedoc/functions/extendWithFaceDescriptor.html @@ -1 +1 @@ -extendWithFaceDescriptor | @vladmandic/face-api - v1.7.13
\ No newline at end of file +extendWithFaceDescriptor | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/extendWithFaceDetection.html b/typedoc/functions/extendWithFaceDetection.html index 3933386..307fd67 100644 --- a/typedoc/functions/extendWithFaceDetection.html +++ b/typedoc/functions/extendWithFaceDetection.html @@ -1 +1 @@ -extendWithFaceDetection | @vladmandic/face-api - v1.7.13
\ No newline at end of file +extendWithFaceDetection | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/extendWithFaceExpressions.html b/typedoc/functions/extendWithFaceExpressions.html index b171347..83d458e 100644 --- a/typedoc/functions/extendWithFaceExpressions.html +++ b/typedoc/functions/extendWithFaceExpressions.html @@ -1 +1 @@ -extendWithFaceExpressions | @vladmandic/face-api - v1.7.13
\ No newline at end of file +extendWithFaceExpressions | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/extendWithFaceLandmarks.html b/typedoc/functions/extendWithFaceLandmarks.html index a729c5b..a8bf649 100644 --- a/typedoc/functions/extendWithFaceLandmarks.html +++ b/typedoc/functions/extendWithFaceLandmarks.html @@ -1 +1 @@ -extendWithFaceLandmarks | @vladmandic/face-api - v1.7.13
\ No newline at end of file +extendWithFaceLandmarks | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/extendWithGender.html b/typedoc/functions/extendWithGender.html index d456118..48d0009 100644 --- a/typedoc/functions/extendWithGender.html +++ b/typedoc/functions/extendWithGender.html @@ -1 +1 @@ -extendWithGender | @vladmandic/face-api - v1.7.13
\ No newline at end of file +extendWithGender | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/extractFaceTensors.html b/typedoc/functions/extractFaceTensors.html index 651aead..3f58b4c 100644 --- a/typedoc/functions/extractFaceTensors.html +++ b/typedoc/functions/extractFaceTensors.html @@ -5,4 +5,4 @@ converting them to tensors individually.

Parameters

  • imageTensor: Tensor4D | Tensor3D

    The image tensor that face detection has been performed on.

  • detections: (Rect | FaceDetection)[]

    The face detection results or face bounding boxes for that image.

Returns Promise<Tensor3D[]>

Tensors of the corresponding image region for each detected face.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/typedoc/functions/extractFaces.html b/typedoc/functions/extractFaces.html index be988ad..ee0301f 100644 --- a/typedoc/functions/extractFaces.html +++ b/typedoc/functions/extractFaces.html @@ -2,4 +2,4 @@

Parameters

  • input: TNetInput

    The image that face detection has been performed on.

  • detections: (Rect | FaceDetection)[]

    The face detection results or face bounding boxes for that image.

Returns Promise<HTMLCanvasElement[]>

The Canvases of the corresponding image region for each detected face.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/typedoc/functions/fetchImage.html b/typedoc/functions/fetchImage.html index 792305b..f5ae04c 100644 --- a/typedoc/functions/fetchImage.html +++ b/typedoc/functions/fetchImage.html @@ -1 +1 @@ -fetchImage | @vladmandic/face-api - v1.7.13
\ No newline at end of file +fetchImage | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/fetchJson.html b/typedoc/functions/fetchJson.html index c8e6081..ff5b2b8 100644 --- a/typedoc/functions/fetchJson.html +++ b/typedoc/functions/fetchJson.html @@ -1 +1 @@ -fetchJson | @vladmandic/face-api - v1.7.13
\ No newline at end of file +fetchJson | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/fetchNetWeights.html b/typedoc/functions/fetchNetWeights.html index 9bb3752..c91c784 100644 --- a/typedoc/functions/fetchNetWeights.html +++ b/typedoc/functions/fetchNetWeights.html @@ -1 +1 @@ -fetchNetWeights | @vladmandic/face-api - v1.7.13
\ No newline at end of file +fetchNetWeights | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/fetchOrThrow.html b/typedoc/functions/fetchOrThrow.html index b0ac197..da0ba13 100644 --- a/typedoc/functions/fetchOrThrow.html +++ b/typedoc/functions/fetchOrThrow.html @@ -1 +1 @@ -fetchOrThrow | @vladmandic/face-api - v1.7.13
\ No newline at end of file +fetchOrThrow | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/fetchVideo.html b/typedoc/functions/fetchVideo.html index 1a58fb9..1e359f1 100644 --- a/typedoc/functions/fetchVideo.html +++ b/typedoc/functions/fetchVideo.html @@ -1 +1 @@ -fetchVideo | @vladmandic/face-api - v1.7.13
\ No newline at end of file +fetchVideo | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/getContext2dOrThrow.html b/typedoc/functions/getContext2dOrThrow.html index fa1f7c8..7ecd290 100644 --- a/typedoc/functions/getContext2dOrThrow.html +++ b/typedoc/functions/getContext2dOrThrow.html @@ -1 +1 @@ -getContext2dOrThrow | @vladmandic/face-api - v1.7.13
\ No newline at end of file +getContext2dOrThrow | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/getMediaDimensions.html b/typedoc/functions/getMediaDimensions.html index 349b489..8d229f3 100644 --- a/typedoc/functions/getMediaDimensions.html +++ b/typedoc/functions/getMediaDimensions.html @@ -1 +1 @@ -getMediaDimensions | @vladmandic/face-api - v1.7.13
\ No newline at end of file +getMediaDimensions | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/imageTensorToCanvas.html b/typedoc/functions/imageTensorToCanvas.html index eec6491..862ea21 100644 --- a/typedoc/functions/imageTensorToCanvas.html +++ b/typedoc/functions/imageTensorToCanvas.html @@ -1 +1 @@ -imageTensorToCanvas | @vladmandic/face-api - v1.7.13
\ No newline at end of file +imageTensorToCanvas | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/imageToSquare.html b/typedoc/functions/imageToSquare.html index 871783f..8e31ca6 100644 --- a/typedoc/functions/imageToSquare.html +++ b/typedoc/functions/imageToSquare.html @@ -1 +1 @@ -imageToSquare | @vladmandic/face-api - v1.7.13
\ No newline at end of file +imageToSquare | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/inverseSigmoid.html b/typedoc/functions/inverseSigmoid.html index 651cd36..20dcb38 100644 --- a/typedoc/functions/inverseSigmoid.html +++ b/typedoc/functions/inverseSigmoid.html @@ -1 +1 @@ -inverseSigmoid | @vladmandic/face-api - v1.7.13
\ No newline at end of file +inverseSigmoid | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/iou.html b/typedoc/functions/iou.html index eaedb38..57334ec 100644 --- a/typedoc/functions/iou.html +++ b/typedoc/functions/iou.html @@ -1 +1 @@ -iou | @vladmandic/face-api - v1.7.13
\ No newline at end of file +iou | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/isMediaElement.html b/typedoc/functions/isMediaElement.html index 252d08d..0a87e80 100644 --- a/typedoc/functions/isMediaElement.html +++ b/typedoc/functions/isMediaElement.html @@ -1 +1 @@ -isMediaElement | @vladmandic/face-api - v1.7.13
\ No newline at end of file +isMediaElement | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/isMediaLoaded.html b/typedoc/functions/isMediaLoaded.html index 42e7bca..420b5e0 100644 --- a/typedoc/functions/isMediaLoaded.html +++ b/typedoc/functions/isMediaLoaded.html @@ -1 +1 @@ -isMediaLoaded | @vladmandic/face-api - v1.7.13
\ No newline at end of file +isMediaLoaded | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/isWithAge.html b/typedoc/functions/isWithAge.html index ff83b8e..661bbf4 100644 --- a/typedoc/functions/isWithAge.html +++ b/typedoc/functions/isWithAge.html @@ -1 +1 @@ -isWithAge | @vladmandic/face-api - v1.7.13
\ No newline at end of file +isWithAge | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/isWithFaceDetection.html b/typedoc/functions/isWithFaceDetection.html index 6ad2167..492135a 100644 --- a/typedoc/functions/isWithFaceDetection.html +++ b/typedoc/functions/isWithFaceDetection.html @@ -1 +1 @@ -isWithFaceDetection | @vladmandic/face-api - v1.7.13
\ No newline at end of file +isWithFaceDetection | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/isWithFaceExpressions.html b/typedoc/functions/isWithFaceExpressions.html index eeb4fc5..c8e6410 100644 --- a/typedoc/functions/isWithFaceExpressions.html +++ b/typedoc/functions/isWithFaceExpressions.html @@ -1 +1 @@ -isWithFaceExpressions | @vladmandic/face-api - v1.7.13
\ No newline at end of file +isWithFaceExpressions | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/isWithFaceLandmarks.html b/typedoc/functions/isWithFaceLandmarks.html index 63063e2..9af0b21 100644 --- a/typedoc/functions/isWithFaceLandmarks.html +++ b/typedoc/functions/isWithFaceLandmarks.html @@ -1 +1 @@ -isWithFaceLandmarks | @vladmandic/face-api - v1.7.13
\ No newline at end of file +isWithFaceLandmarks | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/isWithGender.html b/typedoc/functions/isWithGender.html index 61aa125..668ff4d 100644 --- a/typedoc/functions/isWithGender.html +++ b/typedoc/functions/isWithGender.html @@ -1 +1 @@ -isWithGender | @vladmandic/face-api - v1.7.13
\ No newline at end of file +isWithGender | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/loadAgeGenderModel.html b/typedoc/functions/loadAgeGenderModel.html index ee0bf29..5f31b97 100644 --- a/typedoc/functions/loadAgeGenderModel.html +++ b/typedoc/functions/loadAgeGenderModel.html @@ -1 +1 @@ -loadAgeGenderModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file +loadAgeGenderModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/loadFaceDetectionModel.html b/typedoc/functions/loadFaceDetectionModel.html index e10563b..78fa53b 100644 --- a/typedoc/functions/loadFaceDetectionModel.html +++ b/typedoc/functions/loadFaceDetectionModel.html @@ -1 +1 @@ -loadFaceDetectionModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file +loadFaceDetectionModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/loadFaceExpressionModel.html b/typedoc/functions/loadFaceExpressionModel.html index 2c651fa..d777a43 100644 --- a/typedoc/functions/loadFaceExpressionModel.html +++ b/typedoc/functions/loadFaceExpressionModel.html @@ -1 +1 @@ -loadFaceExpressionModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file +loadFaceExpressionModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/loadFaceLandmarkModel.html b/typedoc/functions/loadFaceLandmarkModel.html index 891aa74..31d9a6b 100644 --- a/typedoc/functions/loadFaceLandmarkModel.html +++ b/typedoc/functions/loadFaceLandmarkModel.html @@ -1 +1 @@ -loadFaceLandmarkModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file +loadFaceLandmarkModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/loadFaceLandmarkTinyModel.html b/typedoc/functions/loadFaceLandmarkTinyModel.html index ca8ac71..a27f2e9 100644 --- a/typedoc/functions/loadFaceLandmarkTinyModel.html +++ b/typedoc/functions/loadFaceLandmarkTinyModel.html @@ -1 +1 @@ -loadFaceLandmarkTinyModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file +loadFaceLandmarkTinyModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/loadFaceRecognitionModel.html b/typedoc/functions/loadFaceRecognitionModel.html index 79d3b2c..17e9b67 100644 --- a/typedoc/functions/loadFaceRecognitionModel.html +++ b/typedoc/functions/loadFaceRecognitionModel.html @@ -1 +1 @@ -loadFaceRecognitionModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file +loadFaceRecognitionModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/loadSsdMobilenetv1Model.html b/typedoc/functions/loadSsdMobilenetv1Model.html index 5fb5c53..a87d759 100644 --- a/typedoc/functions/loadSsdMobilenetv1Model.html +++ b/typedoc/functions/loadSsdMobilenetv1Model.html @@ -1 +1 @@ -loadSsdMobilenetv1Model | @vladmandic/face-api - v1.7.13
\ No newline at end of file +loadSsdMobilenetv1Model | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/loadTinyFaceDetectorModel.html b/typedoc/functions/loadTinyFaceDetectorModel.html index 15ffcd2..846bff3 100644 --- a/typedoc/functions/loadTinyFaceDetectorModel.html +++ b/typedoc/functions/loadTinyFaceDetectorModel.html @@ -1 +1 @@ -loadTinyFaceDetectorModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file +loadTinyFaceDetectorModel | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/loadTinyYolov2Model.html b/typedoc/functions/loadTinyYolov2Model.html index 6379ebd..47cd7a7 100644 --- a/typedoc/functions/loadTinyYolov2Model.html +++ b/typedoc/functions/loadTinyYolov2Model.html @@ -1 +1 @@ -loadTinyYolov2Model | @vladmandic/face-api - v1.7.13
\ No newline at end of file +loadTinyYolov2Model | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/loadWeightMap.html b/typedoc/functions/loadWeightMap.html index cba085c..e0a098c 100644 --- a/typedoc/functions/loadWeightMap.html +++ b/typedoc/functions/loadWeightMap.html @@ -1 +1 @@ -loadWeightMap | @vladmandic/face-api - v1.7.13
\ No newline at end of file +loadWeightMap | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/locateFaces.html b/typedoc/functions/locateFaces.html index becf8fc..4fd4e7e 100644 --- a/typedoc/functions/locateFaces.html +++ b/typedoc/functions/locateFaces.html @@ -2,4 +2,4 @@

Parameters

Returns Promise<FaceDetection[]>

Bounding box of each face with score.

-
\ No newline at end of file +
\ No newline at end of file diff --git a/typedoc/functions/matchDimensions.html b/typedoc/functions/matchDimensions.html index d5fdde2..6644b4a 100644 --- a/typedoc/functions/matchDimensions.html +++ b/typedoc/functions/matchDimensions.html @@ -1 +1 @@ -matchDimensions | @vladmandic/face-api - v1.7.13

Function matchDimensions

  • Parameters

    Returns {
        height: number;
        width: number;
    }

    • height: number
    • width: number
\ No newline at end of file +matchDimensions | @vladmandic/face-api - v1.7.13

Function matchDimensions

  • Parameters

    Returns {
        height: number;
        width: number;
    }

    • height: number
    • width: number
\ No newline at end of file diff --git a/typedoc/functions/minBbox.html b/typedoc/functions/minBbox.html index 574b22d..248385a 100644 --- a/typedoc/functions/minBbox.html +++ b/typedoc/functions/minBbox.html @@ -1 +1 @@ -minBbox | @vladmandic/face-api - v1.7.13
\ No newline at end of file +minBbox | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/nonMaxSuppression.html b/typedoc/functions/nonMaxSuppression.html index 857e5c0..14e3fb1 100644 --- a/typedoc/functions/nonMaxSuppression.html +++ b/typedoc/functions/nonMaxSuppression.html @@ -1 +1 @@ -nonMaxSuppression | @vladmandic/face-api - v1.7.13
\ No newline at end of file +nonMaxSuppression | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/normalize.html b/typedoc/functions/normalize.html index 3662ea6..e772fbf 100644 --- a/typedoc/functions/normalize.html +++ b/typedoc/functions/normalize.html @@ -1 +1 @@ -normalize | @vladmandic/face-api - v1.7.13
\ No newline at end of file +normalize | @vladmandic/face-api - v1.7.13
\ No newline at end of file diff --git a/typedoc/functions/padToSquare.html b/typedoc/functions/padToSquare.html index 8d37933..c95c848 100644 --- a/typedoc/functions/padToSquare.html +++ b/typedoc/functions/padToSquare.html @@ -3,4 +3,4 @@
  • isCenterImage: boolean = false

    (optional, default: false) If true, add an equal amount of padding on both sides of the minor dimension oof the image.

  • Returns Tensor4D

    The padded tensor with width === height.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/predictAgeAndGender.html b/typedoc/functions/predictAgeAndGender.html index 4023992..cb4a782 100644 --- a/typedoc/functions/predictAgeAndGender.html +++ b/typedoc/functions/predictAgeAndGender.html @@ -1,3 +1,3 @@ predictAgeAndGender | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/recognizeFaceExpressions.html b/typedoc/functions/recognizeFaceExpressions.html index c9ecb95..a7ff391 100644 --- a/typedoc/functions/recognizeFaceExpressions.html +++ b/typedoc/functions/recognizeFaceExpressions.html @@ -1,3 +1,3 @@ recognizeFaceExpressions | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/resizeResults.html b/typedoc/functions/resizeResults.html index 475a843..9849b86 100644 --- a/typedoc/functions/resizeResults.html +++ b/typedoc/functions/resizeResults.html @@ -1 +1 @@ -resizeResults | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +resizeResults | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/resolveInput.html b/typedoc/functions/resolveInput.html index c60ec72..bf169f1 100644 --- a/typedoc/functions/resolveInput.html +++ b/typedoc/functions/resolveInput.html @@ -1 +1 @@ -resolveInput | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +resolveInput | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/shuffleArray.html b/typedoc/functions/shuffleArray.html index 5cb63ca..cbd91f4 100644 --- a/typedoc/functions/shuffleArray.html +++ b/typedoc/functions/shuffleArray.html @@ -1 +1 @@ -shuffleArray | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +shuffleArray | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/sigmoid.html b/typedoc/functions/sigmoid.html index 7909ea0..f385c81 100644 --- a/typedoc/functions/sigmoid.html +++ b/typedoc/functions/sigmoid.html @@ -1 +1 @@ -sigmoid | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +sigmoid | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/ssdMobilenetv1-1.html b/typedoc/functions/ssdMobilenetv1-1.html index 96f6a16..8206d6b 100644 --- a/typedoc/functions/ssdMobilenetv1-1.html +++ b/typedoc/functions/ssdMobilenetv1-1.html @@ -2,4 +2,4 @@

    Parameters

    Returns Promise<FaceDetection[]>

    Bounding box of each face with score.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/tf.add.html b/typedoc/functions/tf.add.html index 3889348..3ca6def 100644 --- a/typedoc/functions/tf.add.html +++ b/typedoc/functions/tf.add.html @@ -5,4 +5,4 @@

    Type Parameters

    Parameters

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.avgPool.html b/typedoc/functions/tf.avgPool.html index 990bf25..69da78b 100644 --- a/typedoc/functions/tf.avgPool.html +++ b/typedoc/functions/tf.avgPool.html @@ -16,4 +16,4 @@
  • Optional dimRoundingMode: "floor" | "round" | "ceil"

    A string from: 'ceil', 'round', 'floor'. If none is provided, it will default to truncate.

    -
  • Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.batchNorm.html b/typedoc/functions/tf.batchNorm.html index 8e0a963..689ca2a 100644 --- a/typedoc/functions/tf.batchNorm.html +++ b/typedoc/functions/tf.batchNorm.html @@ -20,4 +20,4 @@ as this method that assert that parameters passed are of given rank

  • Optional offset: Tensor1D | TensorLike | Tensor<R>

    An offset Tensor.

  • Optional scale: Tensor1D | TensorLike | Tensor<R>

    A scale Tensor.

  • Optional varianceEpsilon: number

    A small float number to avoid dividing by 0.

    -
  • Returns Tensor<R>

    Doc

    \ No newline at end of file +

    Returns Tensor<R>

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.browser.draw.html b/typedoc/functions/tf.browser.draw.html index bab0b56..08b536d 100644 --- a/typedoc/functions/tf.browser.draw.html +++ b/typedoc/functions/tf.browser.draw.html @@ -14,4 +14,4 @@ these shapes:

  • canvas: HTMLCanvasElement

    The canvas to draw to.

  • Optional options: DrawOptions

    The configuration arguments for image to be drawn and the canvas to draw to.

    -
  • Returns void

    Doc

    \ No newline at end of file +

    Returns void

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.browser.fromPixels.html b/typedoc/functions/tf.browser.fromPixels.html index 5ed293e..2953a2c 100644 --- a/typedoc/functions/tf.browser.fromPixels.html +++ b/typedoc/functions/tf.browser.fromPixels.html @@ -15,4 +15,4 @@ engines. This means that results from different browsers, or even same browser with CPU and GPU rendering engines can be different. See discussion in details: https://github.com/tensorflow/tfjs/issues/5482

    -

    Doc

    \ No newline at end of file +

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.browser.fromPixelsAsync.html b/typedoc/functions/tf.browser.fromPixelsAsync.html index b7009ab..02b0578 100644 --- a/typedoc/functions/tf.browser.fromPixelsAsync.html +++ b/typedoc/functions/tf.browser.fromPixelsAsync.html @@ -11,4 +11,4 @@ object with following attributes:
  • Optional numChannels: number

    The number of channels of the output tensor. A numChannels value less than 4 allows you to ignore channels. Defaults to 3 (ignores alpha channel of input image).

    -
  • Returns Promise<Tensor3D>

    Doc

    \ No newline at end of file +

    Returns Promise<Tensor3D>

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.browser.toPixels.html b/typedoc/functions/tf.browser.toPixels.html index 018a246..5b80dad 100644 --- a/typedoc/functions/tf.browser.toPixels.html +++ b/typedoc/functions/tf.browser.toPixels.html @@ -11,4 +11,4 @@ grayscale. When depth of 3, we draw with the first three components of the depth dimension corresponding to r, g, b and alpha = 1. When depth of 4, all four components of the depth dimension correspond to r, g, b, a.

  • Optional canvas: HTMLCanvasElement

    The canvas to draw to.

    -
  • Returns Promise<Uint8ClampedArray>

    Doc

    \ No newline at end of file +

    Returns Promise<Uint8ClampedArray>

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.cast.html b/typedoc/functions/tf.cast.html index d5292f3..61c1c2e 100644 --- a/typedoc/functions/tf.cast.html +++ b/typedoc/functions/tf.cast.html @@ -3,4 +3,4 @@

    Type Parameters

    Parameters

    • x: TensorLike | T

      The input tensor to be casted.

    • dtype: keyof DataTypeMap

      The dtype to cast the input tensor to.

      -

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.clipByValue.html b/typedoc/functions/tf.clipByValue.html index 371fef2..01bd450 100644 --- a/typedoc/functions/tf.clipByValue.html +++ b/typedoc/functions/tf.clipByValue.html @@ -4,4 +4,4 @@

    Type Parameters

    Parameters

    • x: TensorLike | T

      The input tensor.

    • clipValueMin: number

      Lower bound of range to be clipped to.

    • clipValueMax: number

      Upper bound of range to be clipped to.

      -

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.concat.html b/typedoc/functions/tf.concat.html index 937fab3..9477cb9 100644 --- a/typedoc/functions/tf.concat.html +++ b/typedoc/functions/tf.concat.html @@ -19,4 +19,4 @@ same signature as this method.

    Type Parameters

    Parameters

    • tensors: (TensorLike | T)[]

      A list of tensors to concatenate.

    • Optional axis: number

      The axis to concatenate along. Defaults to 0 (the first dim).

      -

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.conv2d.html b/typedoc/functions/tf.conv2d.html index ea543b4..9c02f1a 100644 --- a/typedoc/functions/tf.conv2d.html +++ b/typedoc/functions/tf.conv2d.html @@ -21,4 +21,4 @@ assumed.

    1, then all values of strides must be 1.

  • Optional dimRoundingMode: "floor" | "round" | "ceil"

    A string from: 'ceil', 'round', 'floor'. If none is provided, it will default to truncate.

    -
  • Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.depthwiseConv2d.html b/typedoc/functions/tf.depthwiseConv2d.html index d45d46a..a223d6b 100644 --- a/typedoc/functions/tf.depthwiseConv2d.html +++ b/typedoc/functions/tf.depthwiseConv2d.html @@ -30,4 +30,4 @@ assumed.

    1, then all values of strides must be 1.

  • Optional dimRoundingMode: "floor" | "round" | "ceil"

    A string from: 'ceil', 'round', 'floor'. If none is provided, it will default to truncate.

    -
  • Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.div.html b/typedoc/functions/tf.div.html index c485006..90b3564 100644 --- a/typedoc/functions/tf.div.html +++ b/typedoc/functions/tf.div.html @@ -6,4 +6,4 @@

    Type Parameters

    Parameters

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.exp.html b/typedoc/functions/tf.exp.html index 542b1a2..d44ead3 100644 --- a/typedoc/functions/tf.exp.html +++ b/typedoc/functions/tf.exp.html @@ -2,4 +2,4 @@
    const x = tf.tensor1d([1, 2, -3]);

    x.exp().print(); // or tf.exp(x)

    Type Parameters

    Parameters

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.expandDims.html b/typedoc/functions/tf.expandDims.html index e94be51..b80c56f 100644 --- a/typedoc/functions/tf.expandDims.html +++ b/typedoc/functions/tf.expandDims.html @@ -5,4 +5,4 @@ into the tensor's shape.

    Type Parameters

    Parameters

    • x: TensorLike | Tensor<Rank>

      The input tensor whose dimensions are to be expanded.

    • Optional axis: number

      The dimension index at which to insert shape of 1. Defaults to 0 (the first dimension).

      -

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.fill.html b/typedoc/functions/tf.fill.html index b36476c..44bbf71 100644 --- a/typedoc/functions/tf.fill.html +++ b/typedoc/functions/tf.fill.html @@ -5,4 +5,4 @@
  • value: string | number

    The scalar value to fill the tensor with.

  • Optional dtype: keyof DataTypeMap

    The type of an element in the resulting tensor. Defaults to 'float32' if the given param value is a number, otherwise 'string'.

    -
  • Returns Tensor<R>

    Doc

    \ No newline at end of file +

    Returns Tensor<R>

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.io.browserFiles.html b/typedoc/functions/tf.io.browserFiles.html index c9e78ff..c12f06b 100644 --- a/typedoc/functions/tf.io.browserFiles.html +++ b/typedoc/functions/tf.io.browserFiles.html @@ -19,4 +19,4 @@ Python PIP package. If no weights files are provided, only the model topology will be loaded from the JSON file above.

    Returns IOHandler

    An instance of Files IOHandler.

    -

    Doc

    \ No newline at end of file +

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.io.browserHTTPRequest.html b/typedoc/functions/tf.io.browserHTTPRequest.html index e1e9bd0..c9c6ff3 100644 --- a/typedoc/functions/tf.io.browserHTTPRequest.html +++ b/typedoc/functions/tf.io.browserHTTPRequest.html @@ -1,2 +1,2 @@ browserHTTPRequest | @vladmandic/face-api - v1.7.13
    • Deprecated. Use tf.io.http.

      -

      Parameters

      Returns IOHandler

    \ No newline at end of file +

    Parameters

    Returns IOHandler

    \ No newline at end of file diff --git a/typedoc/functions/tf.io.concatenateArrayBuffers.html b/typedoc/functions/tf.io.concatenateArrayBuffers.html index 9d182c4..ebd2188 100644 --- a/typedoc/functions/tf.io.concatenateArrayBuffers.html +++ b/typedoc/functions/tf.io.concatenateArrayBuffers.html @@ -3,4 +3,4 @@ ArrayBuffer.

    Returns ArrayBuffer

    Result of concatenating buffers in order.

    Deprecated

    Use tf.io.CompositeArrayBuffer.join() instead.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.copyModel.html b/typedoc/functions/tf.io.copyModel.html index ff46396..97eaf4f 100644 --- a/typedoc/functions/tf.io.copyModel.html +++ b/typedoc/functions/tf.io.copyModel.html @@ -14,4 +14,4 @@ is successful).

    Throws

    Error if copying fails, e.g., if no model exists at sourceURL, or if oldPath and newPath are identical.

    -

    Doc

    \ No newline at end of file +

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.io.decodeWeights.html b/typedoc/functions/tf.io.decodeWeights.html index ba16d73..f81d5d2 100644 --- a/typedoc/functions/tf.io.decodeWeights.html +++ b/typedoc/functions/tf.io.decodeWeights.html @@ -9,4 +9,4 @@

    Returns NamedTensorMap

    A map from tensor name to tensor value, with the names corresponding to names in specs.

    Throws

    Error, if any of the tensors has unsupported dtype.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.decodeWeightsStream.html b/typedoc/functions/tf.io.decodeWeightsStream.html index 863a359..2f2203a 100644 --- a/typedoc/functions/tf.io.decodeWeightsStream.html +++ b/typedoc/functions/tf.io.decodeWeightsStream.html @@ -1 +1 @@ -decodeWeightsStream | @vladmandic/face-api - v1.7.13
    • Parameters

      Returns Promise<NamedTensorMap>

    \ No newline at end of file +decodeWeightsStream | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.encodeWeights.html b/typedoc/functions/tf.io.encodeWeights.html index e120979..0fc89a8 100644 --- a/typedoc/functions/tf.io.encodeWeights.html +++ b/typedoc/functions/tf.io.encodeWeights.html @@ -12,4 +12,4 @@ concatenated. tensor names, dtypes and shapes.

    Throws

    Error: on unsupported tensor dtype.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.fromMemory.html b/typedoc/functions/tf.io.fromMemory.html index 8dc0d23..3553bd4 100644 --- a/typedoc/functions/tf.io.fromMemory.html +++ b/typedoc/functions/tf.io.fromMemory.html @@ -11,4 +11,4 @@ concatenated in the order described by the weightSpecs. Optional.

  • Optional trainingConfig: TrainingConfig

    Model training configuration. Optional.

  • Returns IOHandler

    A passthrough IOHandler that simply loads the provided data.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.fromMemorySync.html b/typedoc/functions/tf.io.fromMemorySync.html index c2fd46c..62650e3 100644 --- a/typedoc/functions/tf.io.fromMemorySync.html +++ b/typedoc/functions/tf.io.fromMemorySync.html @@ -11,4 +11,4 @@ concatenated in the order described by the weightSpecs. Optional.

  • Optional trainingConfig: TrainingConfig

    Model training configuration. Optional.

  • Returns IOHandlerSync

    A passthrough IOHandlerSync that simply loads the provided data.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.getLoadHandlers.html b/typedoc/functions/tf.io.getLoadHandlers.html index 5a4404b..bd152db 100644 --- a/typedoc/functions/tf.io.getLoadHandlers.html +++ b/typedoc/functions/tf.io.getLoadHandlers.html @@ -1 +1 @@ -getLoadHandlers | @vladmandic/face-api - v1.7.13
    • Parameters

      • url: string | string[]
      • Optional loadOptions: LoadOptions

      Returns IOHandler[]

    \ No newline at end of file +getLoadHandlers | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.getModelArtifactsForJSON.html b/typedoc/functions/tf.io.getModelArtifactsForJSON.html index 262d6c0..98fe3c7 100644 --- a/typedoc/functions/tf.io.getModelArtifactsForJSON.html +++ b/typedoc/functions/tf.io.getModelArtifactsForJSON.html @@ -4,4 +4,4 @@ reads weights from the listed path(s), and returns a Promise of the weight manifest entries along with the weights data.

    Returns Promise<ModelArtifacts>

    A Promise of the ModelArtifacts, as described by the JSON file.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.getModelArtifactsForJSONSync.html b/typedoc/functions/tf.io.getModelArtifactsForJSONSync.html index 613f54a..dd0e54d 100644 --- a/typedoc/functions/tf.io.getModelArtifactsForJSONSync.html +++ b/typedoc/functions/tf.io.getModelArtifactsForJSONSync.html @@ -6,4 +6,4 @@ the model corresponding to the weights in weightSpecs. Must be passed if the modelJSON has a weightsManifest.

    Returns ModelArtifacts

    A Promise of the ModelArtifacts, as described by the JSON file.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.getModelArtifactsInfoForJSON.html b/typedoc/functions/tf.io.getModelArtifactsInfoForJSON.html index 434f5c9..cc6ea6b 100644 --- a/typedoc/functions/tf.io.getModelArtifactsInfoForJSON.html +++ b/typedoc/functions/tf.io.getModelArtifactsInfoForJSON.html @@ -1,3 +1,3 @@ getModelArtifactsInfoForJSON | @vladmandic/face-api - v1.7.13

    Function getModelArtifactsInfoForJSON

    • Populate ModelArtifactsInfo fields for a model with JSON topology.

      Parameters

      Returns ModelArtifactsInfo

      A ModelArtifactsInfo object.

      -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.getSaveHandlers.html b/typedoc/functions/tf.io.getSaveHandlers.html index 582aab6..e434cbe 100644 --- a/typedoc/functions/tf.io.getSaveHandlers.html +++ b/typedoc/functions/tf.io.getSaveHandlers.html @@ -1 +1 @@ -getSaveHandlers | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +getSaveHandlers | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.getWeightSpecs.html b/typedoc/functions/tf.io.getWeightSpecs.html index f93fff9..fe3426b 100644 --- a/typedoc/functions/tf.io.getWeightSpecs.html +++ b/typedoc/functions/tf.io.getWeightSpecs.html @@ -2,4 +2,4 @@ WeightsManifestEntry

    Parameters

    Returns WeightsManifestEntry[]

    A list of WeightsManifestEntry of the weights in the weightsManifest

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.http.html b/typedoc/functions/tf.io.http.html index cc52f65..d9e5167 100644 --- a/typedoc/functions/tf.io.http.html +++ b/typedoc/functions/tf.io.http.html @@ -38,4 +38,4 @@ the fetch from node-fetch can be used here. before the load is completed.

    Returns IOHandler

    An instance of IOHandler.

    -

    Doc

    \ No newline at end of file +

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.io.isHTTPScheme.html b/typedoc/functions/tf.io.isHTTPScheme.html index b6d79ec..a6fd983 100644 --- a/typedoc/functions/tf.io.isHTTPScheme.html +++ b/typedoc/functions/tf.io.isHTTPScheme.html @@ -1 +1 @@ -isHTTPScheme | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +isHTTPScheme | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.listModels.html b/typedoc/functions/tf.io.listModels.html index 7118577..a114b6f 100644 --- a/typedoc/functions/tf.io.listModels.html +++ b/typedoc/functions/tf.io.listModels.html @@ -7,4 +7,4 @@ IndexedDB.

    their model artifacts info. URLs include medium-specific schemes, e.g., 'indexeddb://my/model/1'. Model artifacts info include type of the model's topology, byte sizes of the topology, weights, etc.

    -

    Doc

    \ No newline at end of file +

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.io.loadWeights.html b/typedoc/functions/tf.io.loadWeights.html index b6b059b..01bc0c2 100644 --- a/typedoc/functions/tf.io.loadWeights.html +++ b/typedoc/functions/tf.io.loadWeights.html @@ -4,4 +4,4 @@ returns them as Tensors.

  • Optional filePathPrefix: string

    The path prefix for filenames given in the manifest. Defaults to the empty string.

  • Optional weightNames: string[]

    The names of the weights to be fetched.

    -
  • Optional requestInit: RequestInit
  • Returns Promise<NamedTensorMap>

    \ No newline at end of file +
  • Optional requestInit: RequestInit
  • Returns Promise<NamedTensorMap>

    \ No newline at end of file diff --git a/typedoc/functions/tf.io.moveModel.html b/typedoc/functions/tf.io.moveModel.html index 78dff7b..1ba76af 100644 --- a/typedoc/functions/tf.io.moveModel.html +++ b/typedoc/functions/tf.io.moveModel.html @@ -14,4 +14,4 @@ is successful).

    Throws

    Error if moving fails, e.g., if no model exists at sourceURL, or if oldPath and newPath are identical.

    -

    Doc

    \ No newline at end of file +

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.io.registerLoadRouter.html b/typedoc/functions/tf.io.registerLoadRouter.html index 137338f..7ecc031 100644 --- a/typedoc/functions/tf.io.registerLoadRouter.html +++ b/typedoc/functions/tf.io.registerLoadRouter.html @@ -1 +1 @@ -registerLoadRouter | @vladmandic/face-api - v1.7.13
    • Parameters

      • loudRouter: IORouter

      Returns void

    \ No newline at end of file +registerLoadRouter | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.registerSaveRouter.html b/typedoc/functions/tf.io.registerSaveRouter.html index c9152be..5a2bff8 100644 --- a/typedoc/functions/tf.io.registerSaveRouter.html +++ b/typedoc/functions/tf.io.registerSaveRouter.html @@ -1 +1 @@ -registerSaveRouter | @vladmandic/face-api - v1.7.13
    • Parameters

      • loudRouter: IORouter

      Returns void

    \ No newline at end of file +registerSaveRouter | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.removeModel.html b/typedoc/functions/tf.io.removeModel.html index 3379c9d..50735d8 100644 --- a/typedoc/functions/tf.io.removeModel.html +++ b/typedoc/functions/tf.io.removeModel.html @@ -6,4 +6,4 @@

    Returns Promise<ModelArtifactsInfo>

    ModelArtifactsInfo of the deleted model (if and only if deletion is successful).

    Throws

    Error if deletion fails, e.g., if no model exists at path.

    -

    Doc

    \ No newline at end of file +

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.io.weightsLoaderFactory.html b/typedoc/functions/tf.io.weightsLoaderFactory.html index 00a333d..614408d 100644 --- a/typedoc/functions/tf.io.weightsLoaderFactory.html +++ b/typedoc/functions/tf.io.weightsLoaderFactory.html @@ -5,4 +5,4 @@ fetches the weight files using the specified function and returns them as

    Parameters

    • fetchWeightsFunction: ((fetchUrls) => Promise<ArrayBuffer[]>)

      The function used for fetching the weight files.

        • (fetchUrls): Promise<ArrayBuffer[]>
        • Parameters

          • fetchUrls: string[]

          Returns Promise<ArrayBuffer[]>

    Returns ((manifest, filePathPrefix?, weightNames?) => Promise<NamedTensorMap>)

    Weight loading function.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/tf.io.withSaveHandler.html b/typedoc/functions/tf.io.withSaveHandler.html index f829761..5935792 100644 --- a/typedoc/functions/tf.io.withSaveHandler.html +++ b/typedoc/functions/tf.io.withSaveHandler.html @@ -3,4 +3,4 @@

    Parameters

    • saveHandler: ((artifacts) => Promise<SaveResult>)

      A function that accepts a ModelArtifacts and returns a promise that resolves to a SaveResult.

      -

    Returns IOHandler

    \ No newline at end of file +

    Returns IOHandler

    \ No newline at end of file diff --git a/typedoc/functions/tf.io.withSaveHandlerSync.html b/typedoc/functions/tf.io.withSaveHandlerSync.html index 74be6ac..ea67e3e 100644 --- a/typedoc/functions/tf.io.withSaveHandlerSync.html +++ b/typedoc/functions/tf.io.withSaveHandlerSync.html @@ -3,4 +3,4 @@

    Parameters

    Returns IOHandlerSync

    \ No newline at end of file +

    Returns IOHandlerSync

    \ No newline at end of file diff --git a/typedoc/functions/tf.matMul.html b/typedoc/functions/tf.matMul.html index a6af8fa..0d952d1 100644 --- a/typedoc/functions/tf.matMul.html +++ b/typedoc/functions/tf.matMul.html @@ -5,4 +5,4 @@
  • b: TensorLike | Tensor<Rank>

    Second matrix in dot product operation.

  • Optional transposeA: boolean

    If true, a is transposed before multiplication.

  • Optional transposeB: boolean

    If true, b is transposed before multiplication.

    -
  • Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.maxPool.html b/typedoc/functions/tf.maxPool.html index 8f619f8..dea5ba8 100644 --- a/typedoc/functions/tf.maxPool.html +++ b/typedoc/functions/tf.maxPool.html @@ -16,4 +16,4 @@
  • Optional dimRoundingMode: "floor" | "round" | "ceil"

    A string from: 'ceil', 'round', 'floor'. If none is provided, it will default to truncate.

    -
  • Returns T

    \ No newline at end of file +

    Returns T

    \ No newline at end of file diff --git a/typedoc/functions/tf.mul.html b/typedoc/functions/tf.mul.html index aba7c3a..c41209b 100644 --- a/typedoc/functions/tf.mul.html +++ b/typedoc/functions/tf.mul.html @@ -7,4 +7,4 @@ asserts that a and b are the same shape (does not broa

    Type Parameters

    Parameters

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.pad.html b/typedoc/functions/tf.pad.html index 81b12ae..432f1f8 100644 --- a/typedoc/functions/tf.pad.html +++ b/typedoc/functions/tf.pad.html @@ -16,4 +16,4 @@ as this method that assert that paddings is of given length.

    each element is a length-2 tuple of ints [padBefore, padAfter], specifying how much to pad along each dimension of the tensor.

  • Optional constantValue: number

    The pad value to use. Defaults to 0.

    -
  • Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.relu.html b/typedoc/functions/tf.relu.html index 0adc7ed..f1b565f 100644 --- a/typedoc/functions/tf.relu.html +++ b/typedoc/functions/tf.relu.html @@ -3,4 +3,4 @@

    Type Parameters

    Parameters

    • x: T | TensorLike

      The input tensor. If the dtype is bool, the output dtype will be int32.

      -

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.reshape.html b/typedoc/functions/tf.reshape.html index 329c579..6bf5792 100644 --- a/typedoc/functions/tf.reshape.html +++ b/typedoc/functions/tf.reshape.html @@ -13,4 +13,4 @@ tensor.

    Type Parameters

    Parameters

    • x: TensorLike | Tensor<Rank>

      The input tensor to be reshaped.

    • shape: ShapeMap[R]

      An array of integers defining the output tensor shape.

      -

    Returns Tensor<R>

    Doc

    \ No newline at end of file +

    Returns Tensor<R>

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.scalar.html b/typedoc/functions/tf.scalar.html index 92df54a..5b6f506 100644 --- a/typedoc/functions/tf.scalar.html +++ b/typedoc/functions/tf.scalar.html @@ -5,4 +5,4 @@ we recommend using tf.scalar as it makes the code more readable.

    Parameters

    • value: string | number | boolean | Uint8Array

      The value of the scalar.

    • Optional dtype: keyof DataTypeMap

      The data type.

      -

    Returns Scalar

    Doc

    \ No newline at end of file +

    Returns Scalar

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.separableConv2d.html b/typedoc/functions/tf.separableConv2d.html index c021f1b..f8b5abc 100644 --- a/typedoc/functions/tf.separableConv2d.html +++ b/typedoc/functions/tf.separableConv2d.html @@ -25,4 +25,4 @@ assumed.

  • For more info, see this guide: https://www.tensorflow.org/api_docs/python/tf/nn/convolution
  • -
  • Optional dilation: number | [number, number]
  • Optional dataFormat: "NHWC" | "NCHW"
  • Returns T

    Doc

    \ No newline at end of file +
  • Optional dilation: number | [number, number]
  • Optional dataFormat: "NHWC" | "NCHW"
  • Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.sigmoid.html b/typedoc/functions/tf.sigmoid.html index 6dd392c..d3885b5 100644 --- a/typedoc/functions/tf.sigmoid.html +++ b/typedoc/functions/tf.sigmoid.html @@ -2,4 +2,4 @@
    const x = tf.tensor1d([0, -1, 2, -3]);

    x.sigmoid().print(); // or tf.sigmoid(x)

    Type Parameters

    Parameters

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.slice.html b/typedoc/functions/tf.slice.html index a8edfe2..046c8a3 100644 --- a/typedoc/functions/tf.slice.html +++ b/typedoc/functions/tf.slice.html @@ -21,4 +21,4 @@ as this method that assert that x is of the given rank:

    x - the rest of the axes will have implicit -1. A value of -1 requests the rest of the dimensions in the axis. Can also be a single number, in which case it specifies the size of the first axis.

    -

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.slice3d.html b/typedoc/functions/tf.slice3d.html index a22b9c5..36f28fe 100644 --- a/typedoc/functions/tf.slice3d.html +++ b/typedoc/functions/tf.slice3d.html @@ -1,3 +1,3 @@ slice3d | @vladmandic/face-api - v1.7.13
    • Extracts a 3D slice from a 3D array starting at coordinates begin and is of size size. See slice for details.

      -

      Parameters

      Returns Tensor3D

    \ No newline at end of file +

    Parameters

    Returns Tensor3D

    \ No newline at end of file diff --git a/typedoc/functions/tf.softmax.html b/typedoc/functions/tf.softmax.html index 3231842..e6b9b81 100644 --- a/typedoc/functions/tf.softmax.html +++ b/typedoc/functions/tf.softmax.html @@ -6,4 +6,4 @@

    Type Parameters

    Parameters

    • logits: TensorLike | T

      The logits array.

    • Optional dim: number

      The dimension softmax would be performed on. Defaults to -1 which indicates the last dimension.

      -

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.stack.html b/typedoc/functions/tf.stack.html index f0746e9..c4ad08a 100644 --- a/typedoc/functions/tf.stack.html +++ b/typedoc/functions/tf.stack.html @@ -3,4 +3,4 @@

    Type Parameters

    Parameters

    • tensors: (TensorLike | T)[]

      A list of tensor objects with the same shape and dtype.

    • Optional axis: number

      The axis to stack along. Defaults to 0 (the first dim).

      -

    Returns Tensor

    Doc

    \ No newline at end of file +

    Returns Tensor

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.sub.html b/typedoc/functions/tf.sub.html index 0d8509d..75c8058 100644 --- a/typedoc/functions/tf.sub.html +++ b/typedoc/functions/tf.sub.html @@ -6,4 +6,4 @@

    Type Parameters

    Parameters

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.tensor-2.html b/typedoc/functions/tf.tensor-2.html index 1d2f092..7533087 100644 --- a/typedoc/functions/tf.tensor-2.html +++ b/typedoc/functions/tf.tensor-2.html @@ -35,4 +35,4 @@ destroy this GPUBuffer until all access is done.

  • Optional shape: ShapeMap[R]

    The shape of the tensor. Optional. If not provided, it is inferred from values.

  • Optional dtype: keyof DataTypeMap

    The data type.

    -
  • Returns Tensor<R>

    Doc

    \ No newline at end of file +

    Returns Tensor<R>

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.tensor1d-1.html b/typedoc/functions/tf.tensor1d-1.html index f3f4ada..5639fe8 100644 --- a/typedoc/functions/tf.tensor1d-1.html +++ b/typedoc/functions/tf.tensor1d-1.html @@ -6,4 +6,4 @@ we recommend using tf.tensor1d as it makes the code more readable.<

    Parameters

    • values: TensorLike1D

      The values of the tensor. Can be array of numbers, or a TypedArray.

    • Optional dtype: keyof DataTypeMap

      The data type.

      -

    Returns Tensor1D

    Doc

    \ No newline at end of file +

    Returns Tensor1D

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.tensor2d-1.html b/typedoc/functions/tf.tensor2d-1.html index 49e493c..65d6cd8 100644 --- a/typedoc/functions/tf.tensor2d-1.html +++ b/typedoc/functions/tf.tensor2d-1.html @@ -10,4 +10,4 @@ we recommend using tf.tensor2d as it makes the code more readable.<
  • Optional shape: [number, number]

    The shape of the tensor. If not provided, it is inferred from values.

  • Optional dtype: keyof DataTypeMap

    The data type.

    -
  • Returns Tensor2D

    Doc

    \ No newline at end of file +

    Returns Tensor2D

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.tensor3d-1.html b/typedoc/functions/tf.tensor3d-1.html index fa9d68a..a32d9e3 100644 --- a/typedoc/functions/tf.tensor3d-1.html +++ b/typedoc/functions/tf.tensor3d-1.html @@ -10,4 +10,4 @@ we recommend using tf.tensor3d as it makes the code more readable.<
  • Optional shape: [number, number, number]

    The shape of the tensor. If not provided, it is inferred from values.

  • Optional dtype: keyof DataTypeMap

    The data type.

    -
  • Returns Tensor3D

    Doc

    \ No newline at end of file +

    Returns Tensor3D

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.tensor4d-1.html b/typedoc/functions/tf.tensor4d-1.html index 8dc9c7d..dfce8fd 100644 --- a/typedoc/functions/tf.tensor4d-1.html +++ b/typedoc/functions/tf.tensor4d-1.html @@ -10,4 +10,4 @@ we recommend using tf.tensor4d as it makes the code more readable.<
  • Optional shape: [number, number, number, number]

    The shape of the tensor. Optional. If not provided, it is inferred from values.

  • Optional dtype: keyof DataTypeMap

    The data type.

    -
  • Returns Tensor4D

    Doc

    \ No newline at end of file +

    Returns Tensor4D

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.tidy.html b/typedoc/functions/tf.tidy.html index 30979ff..b838475 100644 --- a/typedoc/functions/tf.tidy.html +++ b/typedoc/functions/tf.tidy.html @@ -14,4 +14,4 @@ directly on variables.

    If debug mode is on, the timing and the memory usage of the function will be tracked and displayed on the console using the provided name.

  • Optional fn: ScopeFn<T>

    The function to execute.

    -
  • Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.tile.html b/typedoc/functions/tf.tile.html index 09c91d9..bee1f1a 100644 --- a/typedoc/functions/tf.tile.html +++ b/typedoc/functions/tf.tile.html @@ -9,4 +9,4 @@ times. The output tensor's ith dimension has input.shape[

    Type Parameters

    Parameters

    • x: TensorLike | T

      The tensor to tile.

    • reps: number[]

      Determines the number of replications per dimension.

      -

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.transpose.html b/typedoc/functions/tf.transpose.html index cf2784e..492da90 100644 --- a/typedoc/functions/tf.transpose.html +++ b/typedoc/functions/tf.transpose.html @@ -8,4 +8,4 @@ operation performs a regular matrix transpose on 2-D input tf.Tensor

    Type Parameters

    Parameters

    • x: TensorLike | T

      The tensor to transpose.

    • Optional perm: number[]

      The permutation of the dimensions of a.

    • Optional conjugate: boolean

      Will conjugate complex input if true.

      -

    Returns T

    Doc

    \ No newline at end of file +

    Returns T

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.unstack.html b/typedoc/functions/tf.unstack.html index 668ff9f..cce07e5 100644 --- a/typedoc/functions/tf.unstack.html +++ b/typedoc/functions/tf.unstack.html @@ -3,4 +3,4 @@

    Parameters

    • x: TensorLike | Tensor<Rank>

      A tensor object.

    • Optional axis: number

      The axis to unstack along. Defaults to 0 (the first dim).

      -

    Returns Tensor[]

    Doc

    \ No newline at end of file +

    Returns Tensor[]

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tf.zeros.html b/typedoc/functions/tf.zeros.html index a43b88a..6537d85 100644 --- a/typedoc/functions/tf.zeros.html +++ b/typedoc/functions/tf.zeros.html @@ -4,4 +4,4 @@

    Type Parameters

    Parameters

    • shape: ShapeMap[R]

      An array of integers defining the output tensor shape.

    • Optional dtype: keyof DataTypeMap

      The type of an element in the resulting tensor. Can be 'float32', 'int32' or 'bool'. Defaults to 'float'.

      -

    Returns Tensor<R>

    Doc

    \ No newline at end of file +

    Returns Tensor<R>

    Doc

    \ No newline at end of file diff --git a/typedoc/functions/tinyFaceDetector-1.html b/typedoc/functions/tinyFaceDetector-1.html index 78b2fcd..786a8e1 100644 --- a/typedoc/functions/tinyFaceDetector-1.html +++ b/typedoc/functions/tinyFaceDetector-1.html @@ -2,4 +2,4 @@

    Parameters

    Returns Promise<FaceDetection[]>

    Bounding box of each face with score.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/tinyYolov2-1.html b/typedoc/functions/tinyYolov2-1.html index 73c3e40..3077c4f 100644 --- a/typedoc/functions/tinyYolov2-1.html +++ b/typedoc/functions/tinyYolov2-1.html @@ -2,4 +2,4 @@

    Parameters

    • input: TNetInput

      The input image.

    • options: ITinyYolov2Options

      (optional, default: see TinyYolov2Options constructor for default parameters).

    Returns Promise<FaceDetection[]>

    Bounding box of each face with score.

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/toNetInput.html b/typedoc/functions/toNetInput.html index 5ba1728..7e7bce5 100644 --- a/typedoc/functions/toNetInput.html +++ b/typedoc/functions/toNetInput.html @@ -1,4 +1,4 @@ toNetInput | @vladmandic/face-api - v1.7.13
    • Validates the input to make sure, they are valid net inputs and awaits all media elements to be finished loading.

      Parameters

      Returns Promise<NetInput>

      A NetInput instance, which can be passed into one of the neural networks.

      -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/typedoc/functions/utils.computeReshapedDimensions.html b/typedoc/functions/utils.computeReshapedDimensions.html index ff0d027..b6f2047 100644 --- a/typedoc/functions/utils.computeReshapedDimensions.html +++ b/typedoc/functions/utils.computeReshapedDimensions.html @@ -1 +1 @@ -computeReshapedDimensions | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +computeReshapedDimensions | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.getCenterPoint.html b/typedoc/functions/utils.getCenterPoint.html index 30ac2e2..f632a1e 100644 --- a/typedoc/functions/utils.getCenterPoint.html +++ b/typedoc/functions/utils.getCenterPoint.html @@ -1 +1 @@ -getCenterPoint | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +getCenterPoint | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.isDimensions.html b/typedoc/functions/utils.isDimensions.html index cc80c72..2c83edd 100644 --- a/typedoc/functions/utils.isDimensions.html +++ b/typedoc/functions/utils.isDimensions.html @@ -1 +1 @@ -isDimensions | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +isDimensions | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.isEven.html b/typedoc/functions/utils.isEven.html index 488f12f..26072c5 100644 --- a/typedoc/functions/utils.isEven.html +++ b/typedoc/functions/utils.isEven.html @@ -1 +1 @@ -isEven | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +isEven | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.isFloat.html b/typedoc/functions/utils.isFloat.html index 452fe35..a1b0e61 100644 --- a/typedoc/functions/utils.isFloat.html +++ b/typedoc/functions/utils.isFloat.html @@ -1 +1 @@ -isFloat | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +isFloat | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.isTensor.html b/typedoc/functions/utils.isTensor.html index d0d1557..257a322 100644 --- a/typedoc/functions/utils.isTensor.html +++ b/typedoc/functions/utils.isTensor.html @@ -1 +1 @@ -isTensor | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +isTensor | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.isTensor1D.html b/typedoc/functions/utils.isTensor1D.html index 8243bc1..b439bce 100644 --- a/typedoc/functions/utils.isTensor1D.html +++ b/typedoc/functions/utils.isTensor1D.html @@ -1 +1 @@ -isTensor1D | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +isTensor1D | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.isTensor2D.html b/typedoc/functions/utils.isTensor2D.html index 76c9f83..ff7f37d 100644 --- a/typedoc/functions/utils.isTensor2D.html +++ b/typedoc/functions/utils.isTensor2D.html @@ -1 +1 @@ -isTensor2D | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +isTensor2D | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.isTensor3D.html b/typedoc/functions/utils.isTensor3D.html index 11a0d14..91d561d 100644 --- a/typedoc/functions/utils.isTensor3D.html +++ b/typedoc/functions/utils.isTensor3D.html @@ -1 +1 @@ -isTensor3D | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +isTensor3D | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.isTensor4D.html b/typedoc/functions/utils.isTensor4D.html index 3e303e4..442dcef 100644 --- a/typedoc/functions/utils.isTensor4D.html +++ b/typedoc/functions/utils.isTensor4D.html @@ -1 +1 @@ -isTensor4D | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +isTensor4D | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.isValidNumber.html b/typedoc/functions/utils.isValidNumber.html index 8b6cbfc..c7978be 100644 --- a/typedoc/functions/utils.isValidNumber.html +++ b/typedoc/functions/utils.isValidNumber.html @@ -1 +1 @@ -isValidNumber | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +isValidNumber | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.isValidProbablitiy.html b/typedoc/functions/utils.isValidProbablitiy.html index d795349..7782733 100644 --- a/typedoc/functions/utils.isValidProbablitiy.html +++ b/typedoc/functions/utils.isValidProbablitiy.html @@ -1 +1 @@ -isValidProbablitiy | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +isValidProbablitiy | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.range.html b/typedoc/functions/utils.range.html index 85e96b7..39e8a7b 100644 --- a/typedoc/functions/utils.range.html +++ b/typedoc/functions/utils.range.html @@ -1 +1 @@ -range | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +range | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/utils.round.html b/typedoc/functions/utils.round.html index 16ab455..bf5dcb6 100644 --- a/typedoc/functions/utils.round.html +++ b/typedoc/functions/utils.round.html @@ -1 +1 @@ -round | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +round | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/functions/validateConfig.html b/typedoc/functions/validateConfig.html index 13b0f7f..94e3ad6 100644 --- a/typedoc/functions/validateConfig.html +++ b/typedoc/functions/validateConfig.html @@ -1 +1 @@ -validateConfig | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +validateConfig | @vladmandic/face-api - v1.7.13
    \ No newline at end of file diff --git a/typedoc/interfaces/IBoundingBox.html b/typedoc/interfaces/IBoundingBox.html index 0772cd2..f6383dd 100644 --- a/typedoc/interfaces/IBoundingBox.html +++ b/typedoc/interfaces/IBoundingBox.html @@ -1,5 +1,5 @@ -IBoundingBox | @vladmandic/face-api - v1.7.13

    Interface IBoundingBox

    interface IBoundingBox {
        bottom: number;
        left: number;
        right: number;
        top: number;
    }

    Implemented by

    Properties

    bottom +IBoundingBox | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +

    Properties

    bottom: number
    left: number
    right: number
    top: number
    \ No newline at end of file diff --git a/typedoc/interfaces/IDimensions.html b/typedoc/interfaces/IDimensions.html index 7be945e..97d1e7f 100644 --- a/typedoc/interfaces/IDimensions.html +++ b/typedoc/interfaces/IDimensions.html @@ -1,3 +1,3 @@ -IDimensions | @vladmandic/face-api - v1.7.13

    Interface IDimensions

    interface IDimensions {
        height: number;
        width: number;
    }

    Implemented by

    Properties

    height +IDimensions | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +

    Properties

    height: number
    width: number
    \ No newline at end of file diff --git a/typedoc/interfaces/IFaceDetecion.html b/typedoc/interfaces/IFaceDetecion.html index e9649b4..0a01dc6 100644 --- a/typedoc/interfaces/IFaceDetecion.html +++ b/typedoc/interfaces/IFaceDetecion.html @@ -1,3 +1,3 @@ -IFaceDetecion | @vladmandic/face-api - v1.7.13

    Interface IFaceDetecion

    interface IFaceDetecion {
        box: Box<any>;
        score: number;
    }

    Implemented by

    Properties

    box +IFaceDetecion | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +

    Properties

    box: Box<any>
    score: number
    \ No newline at end of file diff --git a/typedoc/interfaces/IFaceLandmarks.html b/typedoc/interfaces/IFaceLandmarks.html index bbf3403..956c17a 100644 --- a/typedoc/interfaces/IFaceLandmarks.html +++ b/typedoc/interfaces/IFaceLandmarks.html @@ -1,3 +1,3 @@ -IFaceLandmarks | @vladmandic/face-api - v1.7.13

    Interface IFaceLandmarks

    interface IFaceLandmarks {
        positions: Point[];
        shift: Point;
    }

    Implemented by

    Properties

    positions +IFaceLandmarks | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +

    Properties

    positions: Point[]
    shift: Point
    \ No newline at end of file diff --git a/typedoc/interfaces/IFaceMatch.html b/typedoc/interfaces/IFaceMatch.html index 5c10bbf..9ecd685 100644 --- a/typedoc/interfaces/IFaceMatch.html +++ b/typedoc/interfaces/IFaceMatch.html @@ -1,3 +1,3 @@ -IFaceMatch | @vladmandic/face-api - v1.7.13

    Interface IFaceMatch

    interface IFaceMatch {
        distance: number;
        label: string;
    }

    Implemented by

    Properties

    distance +IFaceMatch | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +

    Properties

    distance: number
    label: string
    \ No newline at end of file diff --git a/typedoc/interfaces/IPoint.html b/typedoc/interfaces/IPoint.html index 773f259..f09fda3 100644 --- a/typedoc/interfaces/IPoint.html +++ b/typedoc/interfaces/IPoint.html @@ -1,3 +1,3 @@ -IPoint | @vladmandic/face-api - v1.7.13
    interface IPoint {
        x: number;
        y: number;
    }

    Implemented by

    Properties

    x +IPoint | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +

    Properties

    x: number
    y: number
    \ No newline at end of file diff --git a/typedoc/interfaces/IRect.html b/typedoc/interfaces/IRect.html index df90712..46a6393 100644 --- a/typedoc/interfaces/IRect.html +++ b/typedoc/interfaces/IRect.html @@ -1,5 +1,5 @@ -IRect | @vladmandic/face-api - v1.7.13
    interface IRect {
        height: number;
        width: number;
        x: number;
        y: number;
    }

    Implemented by

    Properties

    height +IRect | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +

    Properties

    height: number
    width: number
    x: number
    y: number
    \ No newline at end of file diff --git a/typedoc/interfaces/ISsdMobilenetv1Options.html b/typedoc/interfaces/ISsdMobilenetv1Options.html index 27b124b..01c6356 100644 --- a/typedoc/interfaces/ISsdMobilenetv1Options.html +++ b/typedoc/interfaces/ISsdMobilenetv1Options.html @@ -1,3 +1,3 @@ -ISsdMobilenetv1Options | @vladmandic/face-api - v1.7.13

    Interface ISsdMobilenetv1Options

    interface ISsdMobilenetv1Options {
        maxResults?: number;
        minConfidence?: number;
    }

    Properties

    maxResults? +ISsdMobilenetv1Options | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +

    Properties

    maxResults?: number
    minConfidence?: number
    \ No newline at end of file diff --git a/typedoc/interfaces/ITinyYolov2Options.html b/typedoc/interfaces/ITinyYolov2Options.html index 4a81771..22424cc 100644 --- a/typedoc/interfaces/ITinyYolov2Options.html +++ b/typedoc/interfaces/ITinyYolov2Options.html @@ -1,3 +1,3 @@ -ITinyYolov2Options | @vladmandic/face-api - v1.7.13

    Interface ITinyYolov2Options

    interface ITinyYolov2Options {
        inputSize?: number;
        scoreThreshold?: number;
    }

    Properties

    inputSize? +ITinyYolov2Options | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +

    Properties

    inputSize?: number
    scoreThreshold?: number
    \ No newline at end of file diff --git a/typedoc/interfaces/draw.IDrawBoxOptions.html b/typedoc/interfaces/draw.IDrawBoxOptions.html index 1f5ef2c..9b06342 100644 --- a/typedoc/interfaces/draw.IDrawBoxOptions.html +++ b/typedoc/interfaces/draw.IDrawBoxOptions.html @@ -1,5 +1,5 @@ -IDrawBoxOptions | @vladmandic/face-api - v1.7.13
    interface IDrawBoxOptions {
        boxColor?: string;
        drawLabelOptions?: IDrawTextFieldOptions;
        label?: string;
        lineWidth?: number;
    }

    Properties

    boxColor? +IDrawBoxOptions | @vladmandic/face-api - v1.7.13
    \ No newline at end of file +

    Properties

    boxColor?: string
    drawLabelOptions?: IDrawTextFieldOptions
    label?: string
    lineWidth?: number
    \ No newline at end of file diff --git a/typedoc/interfaces/draw.IDrawFaceLandmarksOptions.html b/typedoc/interfaces/draw.IDrawFaceLandmarksOptions.html index d8c2b4a..5d67eea 100644 --- a/typedoc/interfaces/draw.IDrawFaceLandmarksOptions.html +++ b/typedoc/interfaces/draw.IDrawFaceLandmarksOptions.html @@ -1,7 +1,7 @@ -IDrawFaceLandmarksOptions | @vladmandic/face-api - v1.7.13

    Interface IDrawFaceLandmarksOptions

    interface IDrawFaceLandmarksOptions {
        drawLines?: boolean;
        drawPoints?: boolean;
        lineColor?: string;
        lineWidth?: number;
        pointColor?: string;
        pointSize?: number;
    }

    Properties

    drawLines? +IDrawFaceLandmarksOptions | @vladmandic/face-api - v1.7.13

    Interface IDrawFaceLandmarksOptions

    interface IDrawFaceLandmarksOptions {
        drawLines?: boolean;
        drawPoints?: boolean;
        lineColor?: string;
        lineWidth?: number;
        pointColor?: string;
        pointSize?: number;
    }

    Properties

    drawLines?: boolean
    drawPoints?: boolean
    lineColor?: string
    lineWidth?: number
    pointColor?: string
    pointSize?: number
    \ No newline at end of file +

    Properties

    drawLines?: boolean
    drawPoints?: boolean
    lineColor?: string
    lineWidth?: number
    pointColor?: string
    pointSize?: number
    \ No newline at end of file diff --git a/typedoc/interfaces/draw.IDrawTextFieldOptions.html b/typedoc/interfaces/draw.IDrawTextFieldOptions.html index 3256343..2ef08d7 100644 --- a/typedoc/interfaces/draw.IDrawTextFieldOptions.html +++ b/typedoc/interfaces/draw.IDrawTextFieldOptions.html @@ -1,7 +1,7 @@ -IDrawTextFieldOptions | @vladmandic/face-api - v1.7.13

    Interface IDrawTextFieldOptions

    interface IDrawTextFieldOptions {
        anchorPosition?: AnchorPosition;
        backgroundColor?: string;
        fontColor?: string;
        fontSize?: number;
        fontStyle?: string;
        padding?: number;
    }

    Implemented by

    Properties

    anchorPosition? +IDrawTextFieldOptions | @vladmandic/face-api - v1.7.13

    Interface IDrawTextFieldOptions

    interface IDrawTextFieldOptions {
        anchorPosition?: AnchorPosition;
        backgroundColor?: string;
        fontColor?: string;
        fontSize?: number;
        fontStyle?: string;
        padding?: number;
    }

    Implemented by

    Properties

    anchorPosition?: AnchorPosition
    backgroundColor?: string
    fontColor?: string
    fontSize?: number
    fontStyle?: string
    padding?: number
    \ No newline at end of file +

    Properties

    anchorPosition?: AnchorPosition
    backgroundColor?: string
    fontColor?: string
    fontSize?: number
    fontStyle?: string
    padding?: number
    \ No newline at end of file diff --git a/typedoc/interfaces/tf.io.IOHandler.html b/typedoc/interfaces/tf.io.IOHandler.html index 68c2aa5..2b855bf 100644 --- a/typedoc/interfaces/tf.io.IOHandler.html +++ b/typedoc/interfaces/tf.io.IOHandler.html @@ -1,6 +1,6 @@ IOHandler | @vladmandic/face-api - v1.7.13

    Interface for a model import/export handler.

    The save and load handlers are both optional, in order to allow handlers that support only saving or loading.

    -
    interface IOHandler {
        load?: LoadHandler;
        save?: SaveHandler;
    }

    Properties

    interface IOHandler {
        load?: LoadHandler;
        save?: SaveHandler;
    }

    Properties

    Properties

    \ No newline at end of file +

    Properties

    \ No newline at end of file diff --git a/typedoc/interfaces/tf.io.LoadOptions.html b/typedoc/interfaces/tf.io.LoadOptions.html index 08ff8c1..da91498 100644 --- a/typedoc/interfaces/tf.io.LoadOptions.html +++ b/typedoc/interfaces/tf.io.LoadOptions.html @@ -1,5 +1,5 @@ LoadOptions | @vladmandic/face-api - v1.7.13

    Innamespace

    io

    -
    interface LoadOptions {
        fetchFunc?: {
            (input, init?): Promise<Response>;
            (input, init?): Promise<Response>;
            (input, init?): Promise<Response>;
        };
        fromTFHub?: boolean;
        onProgress?: OnProgressCallback;
        requestInit?: RequestInit;
        streamWeights?: boolean;
        strict?: boolean;
        weightPathPrefix?: string;
        weightUrlConverter?: ((weightFileName) => Promise<string>);
    }

    Properties

    interface LoadOptions {
        fetchFunc?: {
            (input, init?): Promise<Response>;
            (input, init?): Promise<Response>;
            (input, init?): Promise<Response>;
        };
        fromTFHub?: boolean;
        onProgress?: OnProgressCallback;
        requestInit?: RequestInit;
        streamWeights?: boolean;
        strict?: boolean;
        weightPathPrefix?: string;
        weightUrlConverter?: ((weightFileName) => Promise<string>);
    }

    Properties

    Type declaration

      • (input, init?): Promise<Response>
      • A function used to override the window.fetch function.

        Parameters

        • input: RequestInfo | URL
        • Optional init: RequestInit

        Returns Promise<Response>

      • (input, init?): Promise<Response>
      • A function used to override the window.fetch function.

        Parameters

        • input: RequestInfo | URL
        • Optional init: RequestInit

        Returns Promise<Response>

      • (input, init?): Promise<Response>
      • A function used to override the window.fetch function.

        -

        Parameters

        • input: string | Request | URL
        • Optional init: RequestInit

        Returns Promise<Response>

    fromTFHub?: boolean

    Whether the module or model is to be loaded from TF Hub.

    +

    Parameters

    • input: string | Request | URL
    • Optional init: RequestInit

    Returns Promise<Response>

    fromTFHub?: boolean

    Whether the module or model is to be loaded from TF Hub.

    Setting this to true allows passing a TF-Hub module URL, omitting the standard model file name and the query parameters.

    Default: false.

    -
    onProgress?: OnProgressCallback

    Progress callback.

    -
    requestInit?: RequestInit

    RequestInit (options) for HTTP requests.

    +
    onProgress?: OnProgressCallback

    Progress callback.

    +
    requestInit?: RequestInit

    RequestInit (options) for HTTP requests.

    For detailed information on the supported fields, see https://developer.mozilla.org/en-US/docs/Web/API/Request/Request

    -
    streamWeights?: boolean

    Whether to stream the model directly to the backend or cache all its +

    streamWeights?: boolean

    Whether to stream the model directly to the backend or cache all its weights on CPU first. Useful for large models.

    -
    strict?: boolean

    Strict loading model: whether extraneous weights or missing +

    strict?: boolean

    Strict loading model: whether extraneous weights or missing weights should trigger an Error.

    If true, require that the provided weights exactly match those required by the layers. false means that both extra weights and missing weights will be silently ignored.

    Default: true.

    -
    weightPathPrefix?: string

    Path prefix for weight files, by default this is calculated from the +

    weightPathPrefix?: string

    Path prefix for weight files, by default this is calculated from the path of the model JSON file.

    For instance, if the path to the model JSON file is http://localhost/foo/model.json, then the default path prefix will be @@ -37,7 +37,7 @@ loaded from http://localhost/foo/group1-shard1of2 by default. Howev if you provide a weightPathPrefix value of http://localhost/foo/alt-weights, then the weight file will be loaded from the path http://localhost/foo/alt-weights/group1-shard1of2 instead.

    -
    weightUrlConverter?: ((weightFileName) => Promise<string>)

    An async function to convert weight file name to URL. The weight file +

    weightUrlConverter?: ((weightFileName) => Promise<string>)

    An async function to convert weight file name to URL. The weight file names are stored in model.json's weightsManifest.paths field. By default we consider weight files are colocated with the model.json file. For example: model.json URL: https://www.google.com/models/1/model.json @@ -51,4 +51,4 @@ consider weight files are colocated with the model.json file. For example: group1-shard1of1.bin url: https://www.google.com/models/1/group1-shard1of1.bin

    With this func you can convert the weight file name to any URL.

    -

    Parameters

    • weightFileName: string

    Returns Promise<string>

    \ No newline at end of file +

    Parameters

    • weightFileName: string

    Returns Promise<string>

    \ No newline at end of file diff --git a/typedoc/interfaces/tf.io.ModelArtifacts.html b/typedoc/interfaces/tf.io.ModelArtifacts.html index e4ce9aa..bf38755 100644 --- a/typedoc/interfaces/tf.io.ModelArtifacts.html +++ b/typedoc/interfaces/tf.io.ModelArtifacts.html @@ -4,7 +4,7 @@ of this interface are optional, in order to support topology- or weights-only saving and loading.

    Note this interface is used internally in IOHandlers. For the file format written to disk as model.json, see ModelJSON.

    -
    interface ModelArtifacts {
        convertedBy?: null | string;
        format?: string;
        generatedBy?: string;
        getWeightStream?: (() => ReadableStream<ArrayBuffer>);
        initializerSignature?: {};
        modelInitializer?: {};
        modelTopology?: {} | ArrayBuffer;
        signature?: {};
        trainingConfig?: TrainingConfig;
        userDefinedMetadata?: {
            [key: string]: {};
        };
        weightData?: WeightData;
        weightSpecs?: WeightsManifestEntry[];
    }

    Properties

    interface ModelArtifacts {
        convertedBy?: null | string;
        format?: string;
        generatedBy?: string;
        getWeightStream?: (() => ReadableStream<ArrayBuffer>);
        initializerSignature?: {};
        modelInitializer?: {};
        modelTopology?: {} | ArrayBuffer;
        signature?: {};
        trainingConfig?: TrainingConfig;
        userDefinedMetadata?: {
            [key: string]: {};
        };
        weightData?: WeightData;
        weightSpecs?: WeightsManifestEntry[];
    }

    Properties

    convertedBy? format? generatedBy? getWeightStream? @@ -22,29 +22,29 @@ to this format, applicable only if the model is output by a converter.

    A value of null means the model artifacts are generated without any conversion process (e.g., saved directly from a TensorFlow.js tf.LayersModel instance.)

    -
    format?: string

    Hard-coded format name for models saved from TensorFlow.js or converted +

    format?: string

    Hard-coded format name for models saved from TensorFlow.js or converted by TensorFlow.js Converter.

    -
    generatedBy?: string

    What library is responsible for originally generating this artifact.

    +
    generatedBy?: string

    What library is responsible for originally generating this artifact.

    Used for debugging purposes. E.g., 'TensorFlow.js v1.0.0'.

    -
    getWeightStream?: (() => ReadableStream<ArrayBuffer>)

    Returns a stream of the weights. Some models are too large to fit in +

    getWeightStream?: (() => ReadableStream<ArrayBuffer>)

    Returns a stream of the weights. Some models are too large to fit in V8's memory heap, and getWeightStream loads their weights without storing them all in memory at the same time.

    Type declaration

      • (): ReadableStream<ArrayBuffer>
      • Returns a stream of the weights. Some models are too large to fit in V8's memory heap, and getWeightStream loads their weights without storing them all in memory at the same time.

        -

        Returns ReadableStream<ArrayBuffer>

    initializerSignature?: {}

    Inputs and outputs signature for model initializer.

    -

    Type declaration

      modelInitializer?: {}

      Initializer for the model.

      -

      Type declaration

        modelTopology?: {} | ArrayBuffer

        Model topology.

        +

        Returns ReadableStream<ArrayBuffer>

        initializerSignature?: {}

        Inputs and outputs signature for model initializer.

        +

        Type declaration

          modelInitializer?: {}

          Initializer for the model.

          +

          Type declaration

            modelTopology?: {} | ArrayBuffer

            Model topology.

            For Keras-style tf.Models, this is a JSON object. For TensorFlow-style models (e.g., SavedModel), this is the JSON encoding of the GraphDef protocol buffer.

            -

            Type declaration

              signature?: {}

              Inputs and outputs signature for saved model.

              -

              Type declaration

                trainingConfig?: TrainingConfig

                Serialized configuration for the model's training.

                -
                userDefinedMetadata?: {
                    [key: string]: {};
                }

                User-defined metadata about the model.

                -

                Type declaration

                • [key: string]: {}
                  weightData?: WeightData

                  Binary buffer(s) for all weight values in the order specified by +

                  Type declaration

                    signature?: {}

                    Inputs and outputs signature for saved model.

                    +

                    Type declaration

                      trainingConfig?: TrainingConfig

                      Serialized configuration for the model's training.

                      +
                      userDefinedMetadata?: {
                          [key: string]: {};
                      }

                      User-defined metadata about the model.

                      +

                      Type declaration

                      • [key: string]: {}
                        weightData?: WeightData

                        Binary buffer(s) for all weight values in the order specified by weightSpecs. This may be a single ArrayBuffer of all the weights concatenated together or an Array of ArrayBuffers containing the weights (weights may be sharded across multiple ArrayBuffers).

                        -
                        weightSpecs?: WeightsManifestEntry[]

                        Weight specifications.

                        +
                        weightSpecs?: WeightsManifestEntry[]

                        Weight specifications.

                        This corresponds to the weightsData below.

                        -
                        \ No newline at end of file +
                        \ No newline at end of file diff --git a/typedoc/interfaces/tf.io.ModelArtifactsInfo.html b/typedoc/interfaces/tf.io.ModelArtifactsInfo.html index 723ea4d..cbf4dae 100644 --- a/typedoc/interfaces/tf.io.ModelArtifactsInfo.html +++ b/typedoc/interfaces/tf.io.ModelArtifactsInfo.html @@ -1,11 +1,11 @@ -ModelArtifactsInfo | @vladmandic/face-api - v1.7.13

                        Interface ModelArtifactsInfo

                        interface ModelArtifactsInfo {
                            dateSaved: Date;
                            modelTopologyBytes?: number;
                            modelTopologyType: "JSON" | "GraphDef";
                            weightDataBytes?: number;
                            weightSpecsBytes?: number;
                        }

                        Properties

                        dateSaved +ModelArtifactsInfo | @vladmandic/face-api - v1.7.13

                        Interface ModelArtifactsInfo

                        interface ModelArtifactsInfo {
                            dateSaved: Date;
                            modelTopologyBytes?: number;
                            modelTopologyType: "JSON" | "GraphDef";
                            weightDataBytes?: number;
                            weightSpecsBytes?: number;
                        }

                        Properties

                        dateSaved: Date

                        Timestamp for when the model is saved.

                        -
                        modelTopologyBytes?: number

                        Size of model topology (Keras JSON or GraphDef), in bytes.

                        -
                        modelTopologyType: "JSON" | "GraphDef"

                        TODO (cais,yassogba) consider removing GraphDef as GraphDefs now +

                        modelTopologyBytes?: number

                        Size of model topology (Keras JSON or GraphDef), in bytes.

                        +
                        modelTopologyType: "JSON" | "GraphDef"

                        TODO (cais,yassogba) consider removing GraphDef as GraphDefs now come in a JSON format and none of our IOHandlers support a non json format. We could conder replacing this with 'Binary' if we want to allow future handlers to save to non json formats (though they will @@ -19,6 +19,6 @@ Type of the model topology

                        GraphDef protocol buffer (binary). -
                        weightDataBytes?: number

                        Size of weight value data, in bytes.

                        -
                        weightSpecsBytes?: number

                        Size of weight specification or manifest, in bytes.

                        -
                        \ No newline at end of file +
                        weightDataBytes?: number

                        Size of weight value data, in bytes.

                        +
                        weightSpecsBytes?: number

                        Size of weight specification or manifest, in bytes.

                        +
                        \ No newline at end of file diff --git a/typedoc/interfaces/tf.io.ModelJSON.html b/typedoc/interfaces/tf.io.ModelJSON.html index 3941bd5..501447d 100644 --- a/typedoc/interfaces/tf.io.ModelJSON.html +++ b/typedoc/interfaces/tf.io.ModelJSON.html @@ -1,7 +1,7 @@ ModelJSON | @vladmandic/face-api - v1.7.13

                        The on-disk format of the model.json file.

                        TF.js 1.0 always populates the optional fields when writing model.json. Prior versions did not provide those fields.

                        -
                        interface ModelJSON {
                            convertedBy?: null | string;
                            format?: string;
                            generatedBy?: string;
                            initializerSignature?: {};
                            modelInitializer?: {};
                            modelTopology: {};
                            signature?: {};
                            trainingConfig?: TrainingConfig;
                            userDefinedMetadata?: {
                                [key: string]: {};
                            };
                            weightsManifest: WeightsManifestConfig;
                        }

                        Properties

                        interface ModelJSON {
                            convertedBy?: null | string;
                            format?: string;
                            generatedBy?: string;
                            initializerSignature?: {};
                            modelInitializer?: {};
                            modelTopology: {};
                            signature?: {};
                            trainingConfig?: TrainingConfig;
                            userDefinedMetadata?: {
                                [key: string]: {};
                            };
                            weightsManifest: WeightsManifestConfig;
                        }

                        Properties

                        convertedBy? format? generatedBy? initializerSignature? @@ -17,22 +17,22 @@ to this format, applicable only if the model is output by a converter.

                        A value of null means the model artifacts are generated without any conversion process (e.g., saved directly from a TensorFlow.js tf.LayersModel instance.)

                        -
                        format?: string

                        Hard-coded format name for models saved from TensorFlow.js or converted +

                        format?: string

                        Hard-coded format name for models saved from TensorFlow.js or converted by TensorFlow.js Converter.

                        -
                        generatedBy?: string

                        What library is responsible for originally generating this artifact.

                        +
                        generatedBy?: string

                        What library is responsible for originally generating this artifact.

                        Used for debugging purposes. E.g., 'TensorFlow.js v1.0.0'.

                        -
                        initializerSignature?: {}

                        Inputs and outputs signature for model initializer.

                        -

                        Type declaration

                          modelInitializer?: {}

                          Initializer for the model.

                          -

                          Type declaration

                            modelTopology: {}

                            Model topology.

                            +
                            initializerSignature?: {}

                            Inputs and outputs signature for model initializer.

                            +

                            Type declaration

                              modelInitializer?: {}

                              Initializer for the model.

                              +

                              Type declaration

                                modelTopology: {}

                                Model topology.

                                For Keras-style tf.Models, this is a JSON object. For TensorFlow-style models (e.g., SavedModel), this is the JSON encoding of the GraphDef protocol buffer.

                                -

                                Type declaration

                                  signature?: {}

                                  Inputs and outputs signature for saved model.

                                  -

                                  Type declaration

                                    trainingConfig?: TrainingConfig

                                    Model training configuration.

                                    -
                                    userDefinedMetadata?: {
                                        [key: string]: {};
                                    }

                                    User-defined metadata about the model.

                                    -

                                    Type declaration

                                    • [key: string]: {}
                                      weightsManifest: WeightsManifestConfig

                                      Weights manifest.

                                      +

                                      Type declaration

                                        signature?: {}

                                        Inputs and outputs signature for saved model.

                                        +

                                        Type declaration

                                          trainingConfig?: TrainingConfig

                                          Model training configuration.

                                          +
                                          userDefinedMetadata?: {
                                              [key: string]: {};
                                          }

                                          User-defined metadata about the model.

                                          +

                                          Type declaration

                                          • [key: string]: {}
                                            weightsManifest: WeightsManifestConfig

                                            Weights manifest.

                                            The weights manifest consists of an ordered list of weight-manifest groups. Each weight-manifest group consists of a number of weight values stored in a number of paths. See the documentation of WeightsManifestConfig for more details.

                                            -
                                            \ No newline at end of file +
                                            \ No newline at end of file diff --git a/typedoc/interfaces/tf.io.ModelStoreManager.html b/typedoc/interfaces/tf.io.ModelStoreManager.html index 2b6bc6a..8f5cd40 100644 --- a/typedoc/interfaces/tf.io.ModelStoreManager.html +++ b/typedoc/interfaces/tf.io.ModelStoreManager.html @@ -6,14 +6,14 @@ A ModelStoreManager for the store allows actions including

                                          • Listing the models stored in the store.
                                          • Deleting a model from the store.
                                          • -
                                            interface ModelStoreManager {
                                                listModels(): Promise<{
                                                    [path: string]: ModelArtifactsInfo;
                                                }>;
                                                removeModel(path): Promise<ModelArtifactsInfo>;
                                            }

                                            Methods

                                            interface ModelStoreManager {
                                                listModels(): Promise<{
                                                    [path: string]: ModelArtifactsInfo;
                                                }>;
                                                removeModel(path): Promise<ModelArtifactsInfo>;
                                            }

                                            Methods

                                            • List all models in the model store.

                                              Returns Promise<{
                                                  [path: string]: ModelArtifactsInfo;
                                              }>

                                              A dictionary mapping paths of existing models to their model artifacts info. Model artifacts info include type of the model's topology, byte sizes of the topology, weights, etc.

                                              -
                                            • Remove a model specified by path.

                                              +
                                            • Remove a model specified by path.

                                              Parameters

                                              • path: string

                                              Returns Promise<ModelArtifactsInfo>

                                              ModelArtifactsInfo of the deleted model (if and only if deletion is successful).

                                              Throws

                                              Error if deletion fails, e.g., if no model exists at path.

                                              -
                                            \ No newline at end of file +
                                            \ No newline at end of file diff --git a/typedoc/interfaces/tf.io.RequestDetails.html b/typedoc/interfaces/tf.io.RequestDetails.html index 8ff23d2..807f7f7 100644 --- a/typedoc/interfaces/tf.io.RequestDetails.html +++ b/typedoc/interfaces/tf.io.RequestDetails.html @@ -1,4 +1,4 @@ RequestDetails | @vladmandic/face-api - v1.7.13

                                            Additional options for Platform.fetch

                                            -
                                            interface RequestDetails {
                                                isBinary?: boolean;
                                            }

                                            Properties

                                            interface RequestDetails {
                                                isBinary?: boolean;
                                            }

                                            Properties

                                            Properties

                                            isBinary?: boolean

                                            Is this request for a binary file (as opposed to a json file)

                                            -
                                            \ No newline at end of file +
                                            \ No newline at end of file diff --git a/typedoc/interfaces/tf.io.SaveConfig.html b/typedoc/interfaces/tf.io.SaveConfig.html index a5cb904..5c45e06 100644 --- a/typedoc/interfaces/tf.io.SaveConfig.html +++ b/typedoc/interfaces/tf.io.SaveConfig.html @@ -1,9 +1,9 @@ SaveConfig | @vladmandic/face-api - v1.7.13

                                            Options for saving a model.

                                            Innamespace

                                            io

                                            -
                                            interface SaveConfig {
                                                includeOptimizer?: boolean;
                                                trainableOnly?: boolean;
                                            }

                                            Properties

                                            interface SaveConfig {
                                                includeOptimizer?: boolean;
                                                trainableOnly?: boolean;
                                            }

                                            Properties

                                            includeOptimizer?: boolean

                                            Whether the optimizer will be saved (if exists).

                                            Default: false.

                                            -
                                            trainableOnly?: boolean

                                            Whether to save only the trainable weights of the model, ignoring the +

                                            trainableOnly?: boolean

                                            Whether to save only the trainable weights of the model, ignoring the non-trainable ones.

                                            -
                                            \ No newline at end of file +
                                            \ No newline at end of file diff --git a/typedoc/interfaces/tf.io.SaveResult.html b/typedoc/interfaces/tf.io.SaveResult.html index 4da6f58..9530fed 100644 --- a/typedoc/interfaces/tf.io.SaveResult.html +++ b/typedoc/interfaces/tf.io.SaveResult.html @@ -1,9 +1,9 @@ SaveResult | @vladmandic/face-api - v1.7.13

                                            Result of a saving operation.

                                            -
                                            interface SaveResult {
                                                errors?: (string | {})[];
                                                modelArtifactsInfo: ModelArtifactsInfo;
                                                responses?: Response[];
                                            }

                                            Properties

                                            interface SaveResult {
                                                errors?: (string | {})[];
                                                modelArtifactsInfo: ModelArtifactsInfo;
                                                responses?: Response[];
                                            }

                                            Properties

                                            errors?: (string | {})[]

                                            Error messages and related data (if any).

                                            -
                                            modelArtifactsInfo: ModelArtifactsInfo

                                            Information about the model artifacts saved.

                                            -
                                            responses?: Response[]

                                            HTTP responses from the server that handled the model-saving request (if +

                                            modelArtifactsInfo: ModelArtifactsInfo

                                            Information about the model artifacts saved.

                                            +
                                            responses?: Response[]

                                            HTTP responses from the server that handled the model-saving request (if any). This is applicable only to server-based saving routes.

                                            -
                                            \ No newline at end of file +
                                            \ No newline at end of file diff --git a/typedoc/interfaces/tf.io.TrainingConfig.html b/typedoc/interfaces/tf.io.TrainingConfig.html index facb840..cb6d121 100644 --- a/typedoc/interfaces/tf.io.TrainingConfig.html +++ b/typedoc/interfaces/tf.io.TrainingConfig.html @@ -1,11 +1,11 @@ TrainingConfig | @vladmandic/face-api - v1.7.13

                                            Model training configuration.

                                            -
                                            interface TrainingConfig {
                                                loss: string | string[] | {
                                                    [key: string]: string;
                                                };
                                                loss_weights?: number[] | {
                                                    [key: string]: number;
                                                };
                                                metrics?: string[] | {
                                                    [key: string]: string;
                                                };
                                                optimizer_config: {};
                                                sample_weight_mode?: string;
                                                weighted_metrics?: string[];
                                            }

                                            Properties

                                            interface TrainingConfig {
                                                loss: string | string[] | {
                                                    [key: string]: string;
                                                };
                                                loss_weights?: number[] | {
                                                    [key: string]: number;
                                                };
                                                metrics?: string[] | {
                                                    [key: string]: string;
                                                };
                                                optimizer_config: {};
                                                sample_weight_mode?: string;
                                                weighted_metrics?: string[];
                                            }

                                            Properties

                                            loss: string | string[] | {
                                                [key: string]: string;
                                            }

                                            Loss function(s) for the model's output(s).

                                            -

                                            Type declaration

                                            • [key: string]: string
                                            loss_weights?: number[] | {
                                                [key: string]: number;
                                            }

                                            Type declaration

                                            • [key: string]: number
                                            metrics?: string[] | {
                                                [key: string]: string;
                                            }

                                            Metric function(s) for the model's output(s).

                                            -

                                            Type declaration

                                            • [key: string]: string
                                            optimizer_config: {}

                                            Optimizer used for the model training.

                                            -

                                            Type declaration

                                              sample_weight_mode?: string
                                              weighted_metrics?: string[]
                                              \ No newline at end of file +

                                              Type declaration

                                              • [key: string]: string
                                              loss_weights?: number[] | {
                                                  [key: string]: number;
                                              }

                                              Type declaration

                                              • [key: string]: number
                                              metrics?: string[] | {
                                                  [key: string]: string;
                                              }

                                              Metric function(s) for the model's output(s).

                                              +

                                              Type declaration

                                              • [key: string]: string
                                              optimizer_config: {}

                                              Optimizer used for the model training.

                                              +

                                              Type declaration

                                                sample_weight_mode?: string
                                                weighted_metrics?: string[]
                                                \ No newline at end of file diff --git a/typedoc/interfaces/tf.io.WeightsManifestEntry.html b/typedoc/interfaces/tf.io.WeightsManifestEntry.html index 0cd44dc..aed64cd 100644 --- a/typedoc/interfaces/tf.io.WeightsManifestEntry.html +++ b/typedoc/interfaces/tf.io.WeightsManifestEntry.html @@ -1,16 +1,16 @@ WeightsManifestEntry | @vladmandic/face-api - v1.7.13

                                                Interface WeightsManifestEntry

                                                An entry in the weight manifest.

                                                The entry contains specification of a weight.

                                                -
                                                interface WeightsManifestEntry {
                                                    dtype: "string" | "float32" | "int32" | "bool" | "complex64";
                                                    group?: WeightGroup;
                                                    name: string;
                                                    quantization?: {
                                                        dtype: "uint16" | "uint8" | "float16";
                                                        min?: number;
                                                        scale?: number;
                                                    };
                                                    shape: number[];
                                                }

                                                Properties

                                                interface WeightsManifestEntry {
                                                    dtype: "string" | "float32" | "int32" | "bool" | "complex64";
                                                    group?: WeightGroup;
                                                    name: string;
                                                    quantization?: {
                                                        dtype: "uint16" | "uint8" | "float16";
                                                        min?: number;
                                                        scale?: number;
                                                    };
                                                    shape: number[];
                                                }

                                                Properties

                                                dtype: "string" | "float32" | "int32" | "bool" | "complex64"

                                                Data type of the weight.

                                                -
                                                group?: WeightGroup

                                                Type of the weight.

                                                +
                                                group?: WeightGroup

                                                Type of the weight.

                                                Optional.

                                                The value 'optimizer' indicates the weight belongs to an optimizer (i.e., used only during model training and not during inference).

                                                -
                                                name: string

                                                Name of the weight, e.g., 'Dense_1/bias'

                                                -
                                                quantization?: {
                                                    dtype: "uint16" | "uint8" | "float16";
                                                    min?: number;
                                                    scale?: number;
                                                }

                                                Information for dequantization of the weight.

                                                -

                                                Type declaration

                                                • dtype: "uint16" | "uint8" | "float16"
                                                • Optional min?: number
                                                • Optional scale?: number
                                                shape: number[]

                                                Shape of the weight.

                                                -
                                                \ No newline at end of file +
                                                name: string

                                                Name of the weight, e.g., 'Dense_1/bias'

                                                +
                                                quantization?: {
                                                    dtype: "uint16" | "uint8" | "float16";
                                                    min?: number;
                                                    scale?: number;
                                                }

                                                Information for dequantization of the weight.

                                                +

                                                Type declaration

                                                • dtype: "uint16" | "uint8" | "float16"
                                                • Optional min?: number
                                                • Optional scale?: number
                                                shape: number[]

                                                Shape of the weight.

                                                +
                                                \ No newline at end of file diff --git a/typedoc/modules/draw.html b/typedoc/modules/draw.html index 93597ba..5eeaf66 100644 --- a/typedoc/modules/draw.html +++ b/typedoc/modules/draw.html @@ -1,4 +1,4 @@ -draw | @vladmandic/face-api - v1.7.13

                                                Index

                                                Enumerations

                                                AnchorPosition +draw | @vladmandic/face-api - v1.7.13

                                                Index

                                                Enumerations

                                                Classes

                                                DrawBox DrawBoxOptions DrawFaceLandmarks diff --git a/typedoc/modules/tf.Tensor.html b/typedoc/modules/tf.Tensor.html index e43367b..e0e4a35 100644 --- a/typedoc/modules/tf.Tensor.html +++ b/typedoc/modules/tf.Tensor.html @@ -1 +1 @@ -Tensor | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +Tensor | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/modules/tf.browser.html b/typedoc/modules/tf.browser.html index 4c40fcb..30b9c88 100644 --- a/typedoc/modules/tf.browser.html +++ b/typedoc/modules/tf.browser.html @@ -1,4 +1,4 @@ -browser | @vladmandic/face-api - v1.7.13

                                                Index

                                                Functions

                                                draw +browser | @vladmandic/face-api - v1.7.13

                                                Index

                                                Functions

                                                draw fromPixels fromPixelsAsync toPixels diff --git a/typedoc/modules/tf.html b/typedoc/modules/tf.html index 7f8b7e7..1eff787 100644 --- a/typedoc/modules/tf.html +++ b/typedoc/modules/tf.html @@ -1,4 +1,4 @@ -tf | @vladmandic/face-api - v1.7.13

                                                Index

                                                Namespaces

                                                Tensor +tf | @vladmandic/face-api - v1.7.13

                                                Index

                                                Namespaces

                                                Enumerations

                                                Rank diff --git a/typedoc/modules/tf.io.html b/typedoc/modules/tf.io.html index 62bb3e4..b78919b 100644 --- a/typedoc/modules/tf.io.html +++ b/typedoc/modules/tf.io.html @@ -1,4 +1,4 @@ -io | @vladmandic/face-api - v1.7.13

                                                Index

                                                Classes

                                                CompositeArrayBuffer +io | @vladmandic/face-api - v1.7.13

                                                Index

                                                Classes

                                                Interfaces

                                                IOHandler LoadOptions ModelArtifacts diff --git a/typedoc/modules/utils.html b/typedoc/modules/utils.html index b908712..c8811b4 100644 --- a/typedoc/modules/utils.html +++ b/typedoc/modules/utils.html @@ -1,4 +1,4 @@ -utils | @vladmandic/face-api - v1.7.13

                                                Index

                                                Functions

                                                computeReshapedDimensions +utils | @vladmandic/face-api - v1.7.13

                                                Index

                                                Functions

                                                computeReshapedDimensions getCenterPoint isDimensions isEven diff --git a/typedoc/types/AgeAndGenderPrediction.html b/typedoc/types/AgeAndGenderPrediction.html index 10ec8b8..c4f612c 100644 --- a/typedoc/types/AgeAndGenderPrediction.html +++ b/typedoc/types/AgeAndGenderPrediction.html @@ -1 +1 @@ -AgeAndGenderPrediction | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +AgeAndGenderPrediction | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/BatchNorm.html b/typedoc/types/BatchNorm.html index 87374db..aa4e72d 100644 --- a/typedoc/types/BatchNorm.html +++ b/typedoc/types/BatchNorm.html @@ -1 +1 @@ -BatchNorm | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +BatchNorm | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/ConvWithBatchNorm.html b/typedoc/types/ConvWithBatchNorm.html index ee6ea4a..2ca5c86 100644 --- a/typedoc/types/ConvWithBatchNorm.html +++ b/typedoc/types/ConvWithBatchNorm.html @@ -1 +1 @@ -ConvWithBatchNorm | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +ConvWithBatchNorm | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/DefaultTinyYolov2NetParams.html b/typedoc/types/DefaultTinyYolov2NetParams.html index d87df83..527c742 100644 --- a/typedoc/types/DefaultTinyYolov2NetParams.html +++ b/typedoc/types/DefaultTinyYolov2NetParams.html @@ -1 +1 @@ -DefaultTinyYolov2NetParams | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +DefaultTinyYolov2NetParams | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/Environment.html b/typedoc/types/Environment.html index c42eea9..017ad27 100644 --- a/typedoc/types/Environment.html +++ b/typedoc/types/Environment.html @@ -1 +1 @@ -Environment | @vladmandic/face-api - v1.7.13

                                                Type alias Environment

                                                Environment: FileSystem & {
                                                    Canvas: typeof HTMLCanvasElement;
                                                    CanvasRenderingContext2D: typeof CanvasRenderingContext2D;
                                                    Image: typeof HTMLImageElement;
                                                    ImageData: typeof ImageData;
                                                    Video: typeof HTMLVideoElement;
                                                    createCanvasElement: (() => HTMLCanvasElement);
                                                    createImageElement: (() => HTMLImageElement);
                                                    createVideoElement: (() => HTMLVideoElement);
                                                    fetch: ((url, init?) => Promise<Response>);
                                                }

                                                Type declaration

                                                • Canvas: typeof HTMLCanvasElement
                                                • CanvasRenderingContext2D: typeof CanvasRenderingContext2D
                                                • Image: typeof HTMLImageElement
                                                • ImageData: typeof ImageData
                                                • Video: typeof HTMLVideoElement
                                                • createCanvasElement: (() => HTMLCanvasElement)
                                                    • (): HTMLCanvasElement
                                                    • Returns HTMLCanvasElement

                                                • createImageElement: (() => HTMLImageElement)
                                                    • (): HTMLImageElement
                                                    • Returns HTMLImageElement

                                                • createVideoElement: (() => HTMLVideoElement)
                                                    • (): HTMLVideoElement
                                                    • Returns HTMLVideoElement

                                                • fetch: ((url, init?) => Promise<Response>)
                                                    • (url, init?): Promise<Response>
                                                    • Parameters

                                                      • url: string
                                                      • Optional init: RequestInit

                                                      Returns Promise<Response>

                                                \ No newline at end of file +Environment | @vladmandic/face-api - v1.7.13

                                                Type alias Environment

                                                Environment: FileSystem & {
                                                    Canvas: typeof HTMLCanvasElement;
                                                    CanvasRenderingContext2D: typeof CanvasRenderingContext2D;
                                                    Image: typeof HTMLImageElement;
                                                    ImageData: typeof ImageData;
                                                    Video: typeof HTMLVideoElement;
                                                    createCanvasElement: (() => HTMLCanvasElement);
                                                    createImageElement: (() => HTMLImageElement);
                                                    createVideoElement: (() => HTMLVideoElement);
                                                    fetch: ((url, init?) => Promise<Response>);
                                                }

                                                Type declaration

                                                • Canvas: typeof HTMLCanvasElement
                                                • CanvasRenderingContext2D: typeof CanvasRenderingContext2D
                                                • Image: typeof HTMLImageElement
                                                • ImageData: typeof ImageData
                                                • Video: typeof HTMLVideoElement
                                                • createCanvasElement: (() => HTMLCanvasElement)
                                                    • (): HTMLCanvasElement
                                                    • Returns HTMLCanvasElement

                                                • createImageElement: (() => HTMLImageElement)
                                                    • (): HTMLImageElement
                                                    • Returns HTMLImageElement

                                                • createVideoElement: (() => HTMLVideoElement)
                                                    • (): HTMLVideoElement
                                                    • Returns HTMLVideoElement

                                                • fetch: ((url, init?) => Promise<Response>)
                                                    • (url, init?): Promise<Response>
                                                    • Parameters

                                                      • url: string
                                                      • Optional init: RequestInit

                                                      Returns Promise<Response>

                                                \ No newline at end of file diff --git a/typedoc/types/FaceDetectionFunction.html b/typedoc/types/FaceDetectionFunction.html index 5c712cd..52bafd7 100644 --- a/typedoc/types/FaceDetectionFunction.html +++ b/typedoc/types/FaceDetectionFunction.html @@ -1 +1 @@ -FaceDetectionFunction | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +FaceDetectionFunction | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/FaceDetectionOptions.html b/typedoc/types/FaceDetectionOptions.html index 06fcc0c..5c315f0 100644 --- a/typedoc/types/FaceDetectionOptions.html +++ b/typedoc/types/FaceDetectionOptions.html @@ -1 +1 @@ -FaceDetectionOptions | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +FaceDetectionOptions | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/FileSystem.html b/typedoc/types/FileSystem.html index 677e3af..cf55e80 100644 --- a/typedoc/types/FileSystem.html +++ b/typedoc/types/FileSystem.html @@ -1 +1 @@ -FileSystem | @vladmandic/face-api - v1.7.13

                                                Type alias FileSystem

                                                FileSystem: {
                                                    readFile: ((filePath) => Promise<string | Buffer>);
                                                }

                                                Type declaration

                                                • readFile: ((filePath) => Promise<string | Buffer>)
                                                    • (filePath): Promise<string | Buffer>
                                                    • Parameters

                                                      • filePath: string

                                                      Returns Promise<string | Buffer>

                                                \ No newline at end of file +FileSystem | @vladmandic/face-api - v1.7.13

                                                Type alias FileSystem

                                                FileSystem: {
                                                    readFile: ((filePath) => Promise<string | Buffer>);
                                                }

                                                Type declaration

                                                • readFile: ((filePath) => Promise<string | Buffer>)
                                                    • (filePath): Promise<string | Buffer>
                                                    • Parameters

                                                      • filePath: string

                                                      Returns Promise<string | Buffer>

                                                \ No newline at end of file diff --git a/typedoc/types/ITinyFaceDetectorOptions.html b/typedoc/types/ITinyFaceDetectorOptions.html index cc12252..b5f8512 100644 --- a/typedoc/types/ITinyFaceDetectorOptions.html +++ b/typedoc/types/ITinyFaceDetectorOptions.html @@ -1 +1 @@ -ITinyFaceDetectorOptions | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +ITinyFaceDetectorOptions | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/MobilenetParams.html b/typedoc/types/MobilenetParams.html index eccb1ce..0f98220 100644 --- a/typedoc/types/MobilenetParams.html +++ b/typedoc/types/MobilenetParams.html @@ -1 +1 @@ -MobilenetParams | @vladmandic/face-api - v1.7.13

                                                Type alias MobilenetParams

                                                MobilenetParams: {
                                                    conv0: SeparableConvParams | ConvParams;
                                                    conv1: SeparableConvParams;
                                                    conv2: SeparableConvParams;
                                                    conv3: SeparableConvParams;
                                                    conv4: SeparableConvParams;
                                                    conv5: SeparableConvParams;
                                                    conv6?: SeparableConvParams;
                                                    conv7?: SeparableConvParams;
                                                    conv8: ConvParams;
                                                }

                                                Type declaration

                                                • conv0: SeparableConvParams | ConvParams
                                                • conv1: SeparableConvParams
                                                • conv2: SeparableConvParams
                                                • conv3: SeparableConvParams
                                                • conv4: SeparableConvParams
                                                • conv5: SeparableConvParams
                                                • Optional conv6?: SeparableConvParams
                                                • Optional conv7?: SeparableConvParams
                                                • conv8: ConvParams
                                                \ No newline at end of file +MobilenetParams | @vladmandic/face-api - v1.7.13

                                                Type alias MobilenetParams

                                                MobilenetParams: {
                                                    conv0: SeparableConvParams | ConvParams;
                                                    conv1: SeparableConvParams;
                                                    conv2: SeparableConvParams;
                                                    conv3: SeparableConvParams;
                                                    conv4: SeparableConvParams;
                                                    conv5: SeparableConvParams;
                                                    conv6?: SeparableConvParams;
                                                    conv7?: SeparableConvParams;
                                                    conv8: ConvParams;
                                                }

                                                Type declaration

                                                • conv0: SeparableConvParams | ConvParams
                                                • conv1: SeparableConvParams
                                                • conv2: SeparableConvParams
                                                • conv3: SeparableConvParams
                                                • conv4: SeparableConvParams
                                                • conv5: SeparableConvParams
                                                • Optional conv6?: SeparableConvParams
                                                • Optional conv7?: SeparableConvParams
                                                • conv8: ConvParams
                                                \ No newline at end of file diff --git a/typedoc/types/NetOutput.html b/typedoc/types/NetOutput.html index e913115..35e96f9 100644 --- a/typedoc/types/NetOutput.html +++ b/typedoc/types/NetOutput.html @@ -1 +1 @@ -NetOutput | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +NetOutput | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/NetParams.html b/typedoc/types/NetParams.html index fc73deb..68ceaee 100644 --- a/typedoc/types/NetParams.html +++ b/typedoc/types/NetParams.html @@ -1 +1 @@ -NetParams | @vladmandic/face-api - v1.7.13

                                                Type alias NetParams

                                                NetParams: {
                                                    fc: {
                                                        age: FCParams;
                                                        gender: FCParams;
                                                    };
                                                }

                                                Type declaration

                                                • fc: {
                                                      age: FCParams;
                                                      gender: FCParams;
                                                  }
                                                  • age: FCParams
                                                  • gender: FCParams
                                                \ No newline at end of file +NetParams | @vladmandic/face-api - v1.7.13

                                                Type alias NetParams

                                                NetParams: {
                                                    fc: {
                                                        age: FCParams;
                                                        gender: FCParams;
                                                    };
                                                }

                                                Type declaration

                                                • fc: {
                                                      age: FCParams;
                                                      gender: FCParams;
                                                  }
                                                  • age: FCParams
                                                  • gender: FCParams
                                                \ No newline at end of file diff --git a/typedoc/types/TMediaElement.html b/typedoc/types/TMediaElement.html index a586e4c..ed4ebd8 100644 --- a/typedoc/types/TMediaElement.html +++ b/typedoc/types/TMediaElement.html @@ -1 +1 @@ -TMediaElement | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +TMediaElement | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/TNetInput.html b/typedoc/types/TNetInput.html index 855d1e0..be84860 100644 --- a/typedoc/types/TNetInput.html +++ b/typedoc/types/TNetInput.html @@ -1 +1 @@ -TNetInput | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +TNetInput | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/TResolvedNetInput.html b/typedoc/types/TResolvedNetInput.html index 99a09e2..05140d3 100644 --- a/typedoc/types/TResolvedNetInput.html +++ b/typedoc/types/TResolvedNetInput.html @@ -1 +1 @@ -TResolvedNetInput | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +TResolvedNetInput | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/TinyYolov2Config.html b/typedoc/types/TinyYolov2Config.html index b1b6e6c..73a417c 100644 --- a/typedoc/types/TinyYolov2Config.html +++ b/typedoc/types/TinyYolov2Config.html @@ -1 +1 @@ -TinyYolov2Config | @vladmandic/face-api - v1.7.13

                                                Type alias TinyYolov2Config

                                                TinyYolov2Config: {
                                                    anchors: Point[];
                                                    classes: string[];
                                                    filterSizes?: number[];
                                                    iouThreshold: number;
                                                    isFirstLayerConv2d?: boolean;
                                                    meanRgb?: [number, number, number];
                                                    withClassScores?: boolean;
                                                    withSeparableConvs: boolean;
                                                }

                                                Type declaration

                                                • anchors: Point[]
                                                • classes: string[]
                                                • Optional filterSizes?: number[]
                                                • iouThreshold: number
                                                • Optional isFirstLayerConv2d?: boolean
                                                • Optional meanRgb?: [number, number, number]
                                                • Optional withClassScores?: boolean
                                                • withSeparableConvs: boolean
                                                \ No newline at end of file +TinyYolov2Config | @vladmandic/face-api - v1.7.13

                                                Type alias TinyYolov2Config

                                                TinyYolov2Config: {
                                                    anchors: Point[];
                                                    classes: string[];
                                                    filterSizes?: number[];
                                                    iouThreshold: number;
                                                    isFirstLayerConv2d?: boolean;
                                                    meanRgb?: [number, number, number];
                                                    withClassScores?: boolean;
                                                    withSeparableConvs: boolean;
                                                }

                                                Type declaration

                                                • anchors: Point[]
                                                • classes: string[]
                                                • Optional filterSizes?: number[]
                                                • iouThreshold: number
                                                • Optional isFirstLayerConv2d?: boolean
                                                • Optional meanRgb?: [number, number, number]
                                                • Optional withClassScores?: boolean
                                                • withSeparableConvs: boolean
                                                \ No newline at end of file diff --git a/typedoc/types/TinyYolov2ExtractBoxesResult.html b/typedoc/types/TinyYolov2ExtractBoxesResult.html index a4c6cc2..da4714e 100644 --- a/typedoc/types/TinyYolov2ExtractBoxesResult.html +++ b/typedoc/types/TinyYolov2ExtractBoxesResult.html @@ -1 +1 @@ -TinyYolov2ExtractBoxesResult | @vladmandic/face-api - v1.7.13

                                                Type alias TinyYolov2ExtractBoxesResult

                                                TinyYolov2ExtractBoxesResult: {
                                                    anchor: number;
                                                    box: BoundingBox;
                                                    classScore: number;
                                                    col: number;
                                                    label: number;
                                                    row: number;
                                                    score: number;
                                                }

                                                Type declaration

                                                • anchor: number
                                                • box: BoundingBox
                                                • classScore: number
                                                • col: number
                                                • label: number
                                                • row: number
                                                • score: number
                                                \ No newline at end of file +TinyYolov2ExtractBoxesResult | @vladmandic/face-api - v1.7.13

                                                Type alias TinyYolov2ExtractBoxesResult

                                                TinyYolov2ExtractBoxesResult: {
                                                    anchor: number;
                                                    box: BoundingBox;
                                                    classScore: number;
                                                    col: number;
                                                    label: number;
                                                    row: number;
                                                    score: number;
                                                }

                                                Type declaration

                                                • anchor: number
                                                • box: BoundingBox
                                                • classScore: number
                                                • col: number
                                                • label: number
                                                • row: number
                                                • score: number
                                                \ No newline at end of file diff --git a/typedoc/types/TinyYolov2NetParams.html b/typedoc/types/TinyYolov2NetParams.html index 21de7c6..14c3ffe 100644 --- a/typedoc/types/TinyYolov2NetParams.html +++ b/typedoc/types/TinyYolov2NetParams.html @@ -1 +1 @@ -TinyYolov2NetParams | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +TinyYolov2NetParams | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/WithAge.html b/typedoc/types/WithAge.html index 3e580d1..8196df7 100644 --- a/typedoc/types/WithAge.html +++ b/typedoc/types/WithAge.html @@ -1 +1 @@ -WithAge | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +WithAge | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/WithFaceDescriptor.html b/typedoc/types/WithFaceDescriptor.html index 6b54ef5..e2c26c5 100644 --- a/typedoc/types/WithFaceDescriptor.html +++ b/typedoc/types/WithFaceDescriptor.html @@ -1 +1 @@ -WithFaceDescriptor | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +WithFaceDescriptor | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/WithFaceDetection.html b/typedoc/types/WithFaceDetection.html index 5f976a8..bd91f50 100644 --- a/typedoc/types/WithFaceDetection.html +++ b/typedoc/types/WithFaceDetection.html @@ -1 +1 @@ -WithFaceDetection | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +WithFaceDetection | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/WithFaceExpressions.html b/typedoc/types/WithFaceExpressions.html index bdfd2f9..a1c4e20 100644 --- a/typedoc/types/WithFaceExpressions.html +++ b/typedoc/types/WithFaceExpressions.html @@ -1 +1 @@ -WithFaceExpressions | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +WithFaceExpressions | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/WithFaceLandmarks.html b/typedoc/types/WithFaceLandmarks.html index 5133068..d471b41 100644 --- a/typedoc/types/WithFaceLandmarks.html +++ b/typedoc/types/WithFaceLandmarks.html @@ -1 +1 @@ -WithFaceLandmarks | @vladmandic/face-api - v1.7.13

                                                Type alias WithFaceLandmarks<TSource, TFaceLandmarks>

                                                WithFaceLandmarks<TSource, TFaceLandmarks>: TSource & {
                                                    alignedRect: FaceDetection;
                                                    angle: {
                                                        pitch: number | undefined;
                                                        roll: number | undefined;
                                                        yaw: number | undefined;
                                                    };
                                                    landmarks: TFaceLandmarks;
                                                    unshiftedLandmarks: TFaceLandmarks;
                                                }

                                                Type Parameters

                                                Type declaration

                                                • alignedRect: FaceDetection
                                                • angle: {
                                                      pitch: number | undefined;
                                                      roll: number | undefined;
                                                      yaw: number | undefined;
                                                  }
                                                  • pitch: number | undefined
                                                  • roll: number | undefined
                                                  • yaw: number | undefined
                                                • landmarks: TFaceLandmarks
                                                • unshiftedLandmarks: TFaceLandmarks
                                                \ No newline at end of file +WithFaceLandmarks | @vladmandic/face-api - v1.7.13

                                                Type alias WithFaceLandmarks<TSource, TFaceLandmarks>

                                                WithFaceLandmarks<TSource, TFaceLandmarks>: TSource & {
                                                    alignedRect: FaceDetection;
                                                    angle: {
                                                        pitch: number | undefined;
                                                        roll: number | undefined;
                                                        yaw: number | undefined;
                                                    };
                                                    landmarks: TFaceLandmarks;
                                                    unshiftedLandmarks: TFaceLandmarks;
                                                }

                                                Type Parameters

                                                Type declaration

                                                • alignedRect: FaceDetection
                                                • angle: {
                                                      pitch: number | undefined;
                                                      roll: number | undefined;
                                                      yaw: number | undefined;
                                                  }
                                                  • pitch: number | undefined
                                                  • roll: number | undefined
                                                  • yaw: number | undefined
                                                • landmarks: TFaceLandmarks
                                                • unshiftedLandmarks: TFaceLandmarks
                                                \ No newline at end of file diff --git a/typedoc/types/WithGender.html b/typedoc/types/WithGender.html index ae7d53f..b53c2e5 100644 --- a/typedoc/types/WithGender.html +++ b/typedoc/types/WithGender.html @@ -1 +1 @@ -WithGender | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +WithGender | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/draw.DrawFaceExpressionsInput.html b/typedoc/types/draw.DrawFaceExpressionsInput.html index 8ccf05a..6451388 100644 --- a/typedoc/types/draw.DrawFaceExpressionsInput.html +++ b/typedoc/types/draw.DrawFaceExpressionsInput.html @@ -1 +1 @@ -DrawFaceExpressionsInput | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +DrawFaceExpressionsInput | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/draw.DrawFaceLandmarksInput.html b/typedoc/types/draw.DrawFaceLandmarksInput.html index 01c6f67..1006bd4 100644 --- a/typedoc/types/draw.DrawFaceLandmarksInput.html +++ b/typedoc/types/draw.DrawFaceLandmarksInput.html @@ -1 +1 @@ -DrawFaceLandmarksInput | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +DrawFaceLandmarksInput | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/draw.TDrawDetectionsInput.html b/typedoc/types/draw.TDrawDetectionsInput.html index 0fc6ef8..01932be 100644 --- a/typedoc/types/draw.TDrawDetectionsInput.html +++ b/typedoc/types/draw.TDrawDetectionsInput.html @@ -1 +1 @@ -TDrawDetectionsInput | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +TDrawDetectionsInput | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/tf.NamedTensorMap.html b/typedoc/types/tf.NamedTensorMap.html index dbf2678..d35e6c3 100644 --- a/typedoc/types/tf.NamedTensorMap.html +++ b/typedoc/types/tf.NamedTensorMap.html @@ -1 +1 @@ -NamedTensorMap | @vladmandic/face-api - v1.7.13

                                                Type alias NamedTensorMap

                                                NamedTensorMap: {
                                                    [name: string]: Tensor;
                                                }

                                                Type declaration

                                                Docalias

                                                \ No newline at end of file +NamedTensorMap | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/tf.Tensor1D.html b/typedoc/types/tf.Tensor1D.html index 95c6451..177b95d 100644 --- a/typedoc/types/tf.Tensor1D.html +++ b/typedoc/types/tf.Tensor1D.html @@ -1,2 +1,2 @@ Tensor1D | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +
                                                \ No newline at end of file diff --git a/typedoc/types/tf.Tensor2D.html b/typedoc/types/tf.Tensor2D.html index 569e000..47c7dd1 100644 --- a/typedoc/types/tf.Tensor2D.html +++ b/typedoc/types/tf.Tensor2D.html @@ -1,2 +1,2 @@ Tensor2D | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +
                                                \ No newline at end of file diff --git a/typedoc/types/tf.Tensor3D.html b/typedoc/types/tf.Tensor3D.html index 9aabb0f..18ab9cb 100644 --- a/typedoc/types/tf.Tensor3D.html +++ b/typedoc/types/tf.Tensor3D.html @@ -1,2 +1,2 @@ Tensor3D | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +
                                                \ No newline at end of file diff --git a/typedoc/types/tf.Tensor4D.html b/typedoc/types/tf.Tensor4D.html index 67af2bd..fd15007 100644 --- a/typedoc/types/tf.Tensor4D.html +++ b/typedoc/types/tf.Tensor4D.html @@ -1,2 +1,2 @@ Tensor4D | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +
                                                \ No newline at end of file diff --git a/typedoc/types/tf.Tensor5D.html b/typedoc/types/tf.Tensor5D.html index a6adbcf..305080a 100644 --- a/typedoc/types/tf.Tensor5D.html +++ b/typedoc/types/tf.Tensor5D.html @@ -1,2 +1,2 @@ Tensor5D | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +
                                                \ No newline at end of file diff --git a/typedoc/types/tf.TensorLike.html b/typedoc/types/tf.TensorLike.html index fb69f42..71ec979 100644 --- a/typedoc/types/tf.TensorLike.html +++ b/typedoc/types/tf.TensorLike.html @@ -1,2 +1,2 @@ TensorLike | @vladmandic/face-api - v1.7.13
                                                TensorLike: TypedArray | number | boolean | string | RecursiveArray<number | number[] | TypedArray> | RecursiveArray<boolean> | RecursiveArray<string> | Uint8Array[]

                                                Docalias

                                                TypedArray|Array

                                                -
                                                \ No newline at end of file +
                                                \ No newline at end of file diff --git a/typedoc/types/tf.io.IOHandlerSync.html b/typedoc/types/tf.io.IOHandlerSync.html index 9da62a8..e80c890 100644 --- a/typedoc/types/tf.io.IOHandlerSync.html +++ b/typedoc/types/tf.io.IOHandlerSync.html @@ -1,4 +1,4 @@ IOHandlerSync | @vladmandic/face-api - v1.7.13
                                                IOHandlerSync: {
                                                    load?: LoadHandlerSync;
                                                    save?: SaveHandlerSync;
                                                }

                                                Interface for a synchronous model import/export handler.

                                                The save and load handlers are both optional, in order to allow handlers that support only saving or loading.

                                                -

                                                Type declaration

                                                • Optional load?: LoadHandlerSync
                                                • Optional save?: SaveHandlerSync
                                                \ No newline at end of file +

                                                Type declaration

                                                • Optional load?: LoadHandlerSync
                                                • Optional save?: SaveHandlerSync
                                                \ No newline at end of file diff --git a/typedoc/types/tf.io.LoadHandler.html b/typedoc/types/tf.io.LoadHandler.html index 4efaacc..db8d796 100644 --- a/typedoc/types/tf.io.LoadHandler.html +++ b/typedoc/types/tf.io.LoadHandler.html @@ -1,2 +1,2 @@ LoadHandler | @vladmandic/face-api - v1.7.13
                                                LoadHandler: (() => Promise<ModelArtifacts>)

                                                Type definition for handlers of loading operations.

                                                -

                                                Type declaration

                                                \ No newline at end of file +

                                                Type declaration

                                                \ No newline at end of file diff --git a/typedoc/types/tf.io.OnProgressCallback.html b/typedoc/types/tf.io.OnProgressCallback.html index 8bb27ad..266d724 100644 --- a/typedoc/types/tf.io.OnProgressCallback.html +++ b/typedoc/types/tf.io.OnProgressCallback.html @@ -2,4 +2,4 @@ request for a large binary object.

                                                fraction should be a number in the [0, 1] interval, indicating how much of the action has completed.

                                                -

                                                Type declaration

                                                  • (fraction): void
                                                  • Parameters

                                                    • fraction: number

                                                    Returns void

                                                \ No newline at end of file +

                                                Type declaration

                                                  • (fraction): void
                                                  • Parameters

                                                    • fraction: number

                                                    Returns void

                                                \ No newline at end of file diff --git a/typedoc/types/tf.io.SaveHandler.html b/typedoc/types/tf.io.SaveHandler.html index 57461c5..0411c12 100644 --- a/typedoc/types/tf.io.SaveHandler.html +++ b/typedoc/types/tf.io.SaveHandler.html @@ -1,2 +1,2 @@ SaveHandler | @vladmandic/face-api - v1.7.13
                                                SaveHandler: ((modelArtifact) => Promise<SaveResult>)

                                                Type definition for handlers of saving operations.

                                                -

                                                Type declaration

                                                \ No newline at end of file +

                                                Type declaration

                                                \ No newline at end of file diff --git a/typedoc/types/tf.io.WeightData.html b/typedoc/types/tf.io.WeightData.html index 2a6eca4..208202c 100644 --- a/typedoc/types/tf.io.WeightData.html +++ b/typedoc/types/tf.io.WeightData.html @@ -1 +1 @@ -WeightData | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +WeightData | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/types/tf.io.WeightGroup.html b/typedoc/types/tf.io.WeightGroup.html index 5f8d208..f19ae56 100644 --- a/typedoc/types/tf.io.WeightGroup.html +++ b/typedoc/types/tf.io.WeightGroup.html @@ -2,4 +2,4 @@
                                                • 'optimizer': Weight from a stateful optimizer.
                                                -
                                                \ No newline at end of file +
                                                \ No newline at end of file diff --git a/typedoc/types/tf.io.WeightsManifestConfig.html b/typedoc/types/tf.io.WeightsManifestConfig.html index 9903b40..6559b94 100644 --- a/typedoc/types/tf.io.WeightsManifestConfig.html +++ b/typedoc/types/tf.io.WeightsManifestConfig.html @@ -3,4 +3,4 @@ Each weight-manifest group ("group" for short hereafter) consists of a number of weight values stored in a number of paths. See the documentation of WeightManifestGroupConfig below for more details.

                                                -
                                                \ No newline at end of file +
                                                \ No newline at end of file diff --git a/typedoc/variables/FACE_EXPRESSION_LABELS.html b/typedoc/variables/FACE_EXPRESSION_LABELS.html index 6b82f36..b00a807 100644 --- a/typedoc/variables/FACE_EXPRESSION_LABELS.html +++ b/typedoc/variables/FACE_EXPRESSION_LABELS.html @@ -1 +1 @@ -FACE_EXPRESSION_LABELS | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +FACE_EXPRESSION_LABELS | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/variables/env.html b/typedoc/variables/env.html index 5be28c5..d538fe8 100644 --- a/typedoc/variables/env.html +++ b/typedoc/variables/env.html @@ -1 +1 @@ -env | @vladmandic/face-api - v1.7.13

                                                Variable envConst

                                                env: {
                                                    createBrowserEnv: (() => Environment);
                                                    createFileSystem: ((fs?) => FileSystem);
                                                    createNodejsEnv: (() => Environment);
                                                    getEnv: (() => Environment);
                                                    initialize: (() => null | void);
                                                    isBrowser: (() => boolean);
                                                    isNodejs: (() => boolean);
                                                    monkeyPatch: ((env) => void);
                                                    setEnv: ((env) => void);
                                                } = ...

                                                Type declaration

                                                \ No newline at end of file +env | @vladmandic/face-api - v1.7.13

                                                Variable envConst

                                                env: {
                                                    createBrowserEnv: (() => Environment);
                                                    createFileSystem: ((fs?) => FileSystem);
                                                    createNodejsEnv: (() => Environment);
                                                    getEnv: (() => Environment);
                                                    initialize: (() => null | void);
                                                    isBrowser: (() => boolean);
                                                    isNodejs: (() => boolean);
                                                    monkeyPatch: ((env) => void);
                                                    setEnv: ((env) => void);
                                                } = ...

                                                Type declaration

                                                \ No newline at end of file diff --git a/typedoc/variables/nets.html b/typedoc/variables/nets.html index 5801677..4ee56b2 100644 --- a/typedoc/variables/nets.html +++ b/typedoc/variables/nets.html @@ -1 +1 @@ -nets | @vladmandic/face-api - v1.7.13

                                                Variable netsConst

                                                nets: {
                                                    ageGenderNet: AgeGenderNet;
                                                    faceExpressionNet: FaceExpressionNet;
                                                    faceLandmark68Net: FaceLandmark68Net;
                                                    faceLandmark68TinyNet: FaceLandmark68TinyNet;
                                                    faceRecognitionNet: FaceRecognitionNet;
                                                    ssdMobilenetv1: SsdMobilenetv1;
                                                    tinyFaceDetector: TinyFaceDetector;
                                                    tinyYolov2: TinyYolov2;
                                                } = ...

                                                Type declaration

                                                \ No newline at end of file +nets | @vladmandic/face-api - v1.7.13

                                                Variable netsConst

                                                nets: {
                                                    ageGenderNet: AgeGenderNet;
                                                    faceExpressionNet: FaceExpressionNet;
                                                    faceLandmark68Net: FaceLandmark68Net;
                                                    faceLandmark68TinyNet: FaceLandmark68TinyNet;
                                                    faceRecognitionNet: FaceRecognitionNet;
                                                    ssdMobilenetv1: SsdMobilenetv1;
                                                    tinyFaceDetector: TinyFaceDetector;
                                                    tinyYolov2: TinyYolov2;
                                                } = ...

                                                Type declaration

                                                \ No newline at end of file diff --git a/typedoc/variables/tf.ENV.html b/typedoc/variables/tf.ENV.html index b84aefa..704d884 100644 --- a/typedoc/variables/tf.ENV.html +++ b/typedoc/variables/tf.ENV.html @@ -1 +1 @@ -ENV | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +ENV | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file diff --git a/typedoc/variables/tf.image.html b/typedoc/variables/tf.image.html index f99d1e2..2969877 100644 --- a/typedoc/variables/tf.image.html +++ b/typedoc/variables/tf.image.html @@ -1 +1 @@ -image | @vladmandic/face-api - v1.7.13

                                                Variable imageConst

                                                image: {
                                                    cropAndResize: ((image, boxes, boxInd, cropSize, method?, extrapolationValue?) => Tensor4D);
                                                    flipLeftRight: ((image) => Tensor4D);
                                                    grayscaleToRGB: (<T>(image) => T);
                                                    nonMaxSuppression: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?) => Tensor1D);
                                                    nonMaxSuppressionAsync: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?) => Promise<Tensor1D>);
                                                    nonMaxSuppressionPadded: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, padToMaxOutputSize?) => NamedTensorMap);
                                                    nonMaxSuppressionPaddedAsync: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, padToMaxOutputSize?) => Promise<NamedTensorMap>);
                                                    nonMaxSuppressionWithScore: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?) => NamedTensorMap);
                                                    nonMaxSuppressionWithScoreAsync: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?) => Promise<NamedTensorMap>);
                                                    resizeBilinear: (<T_2>(images, size, alignCorners?, halfPixelCenters?) => T_2);
                                                    resizeNearestNeighbor: (<T_1>(images, size, alignCorners?, halfPixelCenters?) => T_1);
                                                    rgbToGrayscale: (<T_3>(image) => T_3);
                                                    rotateWithOffset: ((image, radians, fillValue?, center?) => Tensor4D);
                                                    threshold: ((image, method?, inverted?, threshValue?) => Tensor3D);
                                                    transform: ((image, transforms, interpolation?, fillMode?, fillValue?, outputShape?) => Tensor4D);
                                                }

                                                Type declaration

                                                • cropAndResize: ((image, boxes, boxInd, cropSize, method?, extrapolationValue?) => Tensor4D)
                                                    • (image, boxes, boxInd, cropSize, method?, extrapolationValue?): Tensor4D
                                                    • Parameters

                                                      • image: TensorLike | Tensor4D
                                                      • boxes: TensorLike | Tensor2D
                                                      • boxInd: TensorLike | Tensor1D
                                                      • cropSize: [number, number]
                                                      • Optional method: "bilinear" | "nearest"
                                                      • Optional extrapolationValue: number

                                                      Returns Tensor4D

                                                • flipLeftRight: ((image) => Tensor4D)
                                                    • (image): Tensor4D
                                                    • Parameters

                                                      • image: TensorLike | Tensor4D

                                                      Returns Tensor4D

                                                • grayscaleToRGB: (<T>(image) => T)
                                                    • <T>(image): T
                                                    • Type Parameters

                                                      • T extends Tensor2D | Tensor3D | Tensor4D | Tensor5D | Tensor6D

                                                      Parameters

                                                      • image: TensorLike | T

                                                      Returns T

                                                • nonMaxSuppression: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?) => Tensor1D)
                                                    • (boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?): Tensor1D
                                                    • Parameters

                                                      • boxes: TensorLike | Tensor2D
                                                      • scores: TensorLike | Tensor1D
                                                      • maxOutputSize: number
                                                      • Optional iouThreshold: number
                                                      • Optional scoreThreshold: number

                                                      Returns Tensor1D

                                                • nonMaxSuppressionAsync: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?) => Promise<Tensor1D>)
                                                    • (boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?): Promise<Tensor1D>
                                                    • Parameters

                                                      • boxes: TensorLike | Tensor2D
                                                      • scores: TensorLike | Tensor1D
                                                      • maxOutputSize: number
                                                      • Optional iouThreshold: number
                                                      • Optional scoreThreshold: number

                                                      Returns Promise<Tensor1D>

                                                • nonMaxSuppressionPadded: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, padToMaxOutputSize?) => NamedTensorMap)
                                                    • (boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, padToMaxOutputSize?): NamedTensorMap
                                                    • Parameters

                                                      • boxes: TensorLike | Tensor2D
                                                      • scores: TensorLike | Tensor1D
                                                      • maxOutputSize: number
                                                      • Optional iouThreshold: number
                                                      • Optional scoreThreshold: number
                                                      • Optional padToMaxOutputSize: boolean

                                                      Returns NamedTensorMap

                                                • nonMaxSuppressionPaddedAsync: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, padToMaxOutputSize?) => Promise<NamedTensorMap>)
                                                    • (boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, padToMaxOutputSize?): Promise<NamedTensorMap>
                                                    • Parameters

                                                      • boxes: TensorLike | Tensor2D
                                                      • scores: TensorLike | Tensor1D
                                                      • maxOutputSize: number
                                                      • Optional iouThreshold: number
                                                      • Optional scoreThreshold: number
                                                      • Optional padToMaxOutputSize: boolean

                                                      Returns Promise<NamedTensorMap>

                                                • nonMaxSuppressionWithScore: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?) => NamedTensorMap)
                                                    • (boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?): NamedTensorMap
                                                    • Parameters

                                                      • boxes: TensorLike | Tensor2D
                                                      • scores: TensorLike | Tensor1D
                                                      • maxOutputSize: number
                                                      • Optional iouThreshold: number
                                                      • Optional scoreThreshold: number
                                                      • Optional softNmsSigma: number

                                                      Returns NamedTensorMap

                                                • nonMaxSuppressionWithScoreAsync: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?) => Promise<NamedTensorMap>)
                                                    • (boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?): Promise<NamedTensorMap>
                                                    • Parameters

                                                      • boxes: TensorLike | Tensor2D
                                                      • scores: TensorLike | Tensor1D
                                                      • maxOutputSize: number
                                                      • Optional iouThreshold: number
                                                      • Optional scoreThreshold: number
                                                      • Optional softNmsSigma: number

                                                      Returns Promise<NamedTensorMap>

                                                • resizeBilinear: (<T_2>(images, size, alignCorners?, halfPixelCenters?) => T_2)
                                                    • <T_2>(images, size, alignCorners?, halfPixelCenters?): T_2
                                                    • Type Parameters

                                                      • T_2 extends Tensor3D | Tensor4D

                                                      Parameters

                                                      • images: TensorLike | T_2
                                                      • size: [number, number]
                                                      • Optional alignCorners: boolean
                                                      • Optional halfPixelCenters: boolean

                                                      Returns T_2

                                                • resizeNearestNeighbor: (<T_1>(images, size, alignCorners?, halfPixelCenters?) => T_1)
                                                    • <T_1>(images, size, alignCorners?, halfPixelCenters?): T_1
                                                    • Type Parameters

                                                      • T_1 extends Tensor3D | Tensor4D

                                                      Parameters

                                                      • images: TensorLike | T_1
                                                      • size: [number, number]
                                                      • Optional alignCorners: boolean
                                                      • Optional halfPixelCenters: boolean

                                                      Returns T_1

                                                • rgbToGrayscale: (<T_3>(image) => T_3)
                                                    • <T_3>(image): T_3
                                                    • Type Parameters

                                                      • T_3 extends Tensor2D | Tensor3D | Tensor4D | Tensor5D | Tensor6D

                                                      Parameters

                                                      • image: TensorLike | T_3

                                                      Returns T_3

                                                • rotateWithOffset: ((image, radians, fillValue?, center?) => Tensor4D)
                                                    • (image, radians, fillValue?, center?): Tensor4D
                                                    • Parameters

                                                      • image: TensorLike | Tensor4D
                                                      • radians: number
                                                      • Optional fillValue: number | [number, number, number]
                                                      • Optional center: number | [number, number]

                                                      Returns Tensor4D

                                                • threshold: ((image, method?, inverted?, threshValue?) => Tensor3D)
                                                    • (image, method?, inverted?, threshValue?): Tensor3D
                                                    • Parameters

                                                      • image: TensorLike | Tensor3D
                                                      • Optional method: string
                                                      • Optional inverted: boolean
                                                      • Optional threshValue: number

                                                      Returns Tensor3D

                                                • transform: ((image, transforms, interpolation?, fillMode?, fillValue?, outputShape?) => Tensor4D)
                                                    • (image, transforms, interpolation?, fillMode?, fillValue?, outputShape?): Tensor4D
                                                    • Parameters

                                                      • image: TensorLike | Tensor4D
                                                      • transforms: TensorLike | Tensor2D
                                                      • Optional interpolation: "bilinear" | "nearest"
                                                      • Optional fillMode: "reflect" | "nearest" | "constant" | "wrap"
                                                      • Optional fillValue: number
                                                      • Optional outputShape: [number, number]

                                                      Returns Tensor4D

                                                \ No newline at end of file +image | @vladmandic/face-api - v1.7.13

                                                Variable imageConst

                                                image: {
                                                    cropAndResize: ((image, boxes, boxInd, cropSize, method?, extrapolationValue?) => Tensor4D);
                                                    flipLeftRight: ((image) => Tensor4D);
                                                    grayscaleToRGB: (<T>(image) => T);
                                                    nonMaxSuppression: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?) => Tensor1D);
                                                    nonMaxSuppressionAsync: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?) => Promise<Tensor1D>);
                                                    nonMaxSuppressionPadded: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, padToMaxOutputSize?) => NamedTensorMap);
                                                    nonMaxSuppressionPaddedAsync: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, padToMaxOutputSize?) => Promise<NamedTensorMap>);
                                                    nonMaxSuppressionWithScore: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?) => NamedTensorMap);
                                                    nonMaxSuppressionWithScoreAsync: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?) => Promise<NamedTensorMap>);
                                                    resizeBilinear: (<T_2>(images, size, alignCorners?, halfPixelCenters?) => T_2);
                                                    resizeNearestNeighbor: (<T_1>(images, size, alignCorners?, halfPixelCenters?) => T_1);
                                                    rgbToGrayscale: (<T_3>(image) => T_3);
                                                    rotateWithOffset: ((image, radians, fillValue?, center?) => Tensor4D);
                                                    threshold: ((image, method?, inverted?, threshValue?) => Tensor3D);
                                                    transform: ((image, transforms, interpolation?, fillMode?, fillValue?, outputShape?) => Tensor4D);
                                                }

                                                Type declaration

                                                • cropAndResize: ((image, boxes, boxInd, cropSize, method?, extrapolationValue?) => Tensor4D)
                                                    • (image, boxes, boxInd, cropSize, method?, extrapolationValue?): Tensor4D
                                                    • Parameters

                                                      • image: TensorLike | Tensor4D
                                                      • boxes: TensorLike | Tensor2D
                                                      • boxInd: TensorLike | Tensor1D
                                                      • cropSize: [number, number]
                                                      • Optional method: "bilinear" | "nearest"
                                                      • Optional extrapolationValue: number

                                                      Returns Tensor4D

                                                • flipLeftRight: ((image) => Tensor4D)
                                                    • (image): Tensor4D
                                                    • Parameters

                                                      • image: TensorLike | Tensor4D

                                                      Returns Tensor4D

                                                • grayscaleToRGB: (<T>(image) => T)
                                                    • <T>(image): T
                                                    • Type Parameters

                                                      • T extends Tensor2D | Tensor3D | Tensor4D | Tensor5D | Tensor6D

                                                      Parameters

                                                      • image: TensorLike | T

                                                      Returns T

                                                • nonMaxSuppression: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?) => Tensor1D)
                                                    • (boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?): Tensor1D
                                                    • Parameters

                                                      • boxes: TensorLike | Tensor2D
                                                      • scores: TensorLike | Tensor1D
                                                      • maxOutputSize: number
                                                      • Optional iouThreshold: number
                                                      • Optional scoreThreshold: number

                                                      Returns Tensor1D

                                                • nonMaxSuppressionAsync: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?) => Promise<Tensor1D>)
                                                    • (boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?): Promise<Tensor1D>
                                                    • Parameters

                                                      • boxes: TensorLike | Tensor2D
                                                      • scores: TensorLike | Tensor1D
                                                      • maxOutputSize: number
                                                      • Optional iouThreshold: number
                                                      • Optional scoreThreshold: number

                                                      Returns Promise<Tensor1D>

                                                • nonMaxSuppressionPadded: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, padToMaxOutputSize?) => NamedTensorMap)
                                                    • (boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, padToMaxOutputSize?): NamedTensorMap
                                                    • Parameters

                                                      • boxes: TensorLike | Tensor2D
                                                      • scores: TensorLike | Tensor1D
                                                      • maxOutputSize: number
                                                      • Optional iouThreshold: number
                                                      • Optional scoreThreshold: number
                                                      • Optional padToMaxOutputSize: boolean

                                                      Returns NamedTensorMap

                                                • nonMaxSuppressionPaddedAsync: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, padToMaxOutputSize?) => Promise<NamedTensorMap>)
                                                    • (boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, padToMaxOutputSize?): Promise<NamedTensorMap>
                                                    • Parameters

                                                      • boxes: TensorLike | Tensor2D
                                                      • scores: TensorLike | Tensor1D
                                                      • maxOutputSize: number
                                                      • Optional iouThreshold: number
                                                      • Optional scoreThreshold: number
                                                      • Optional padToMaxOutputSize: boolean

                                                      Returns Promise<NamedTensorMap>

                                                • nonMaxSuppressionWithScore: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?) => NamedTensorMap)
                                                    • (boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?): NamedTensorMap
                                                    • Parameters

                                                      • boxes: TensorLike | Tensor2D
                                                      • scores: TensorLike | Tensor1D
                                                      • maxOutputSize: number
                                                      • Optional iouThreshold: number
                                                      • Optional scoreThreshold: number
                                                      • Optional softNmsSigma: number

                                                      Returns NamedTensorMap

                                                • nonMaxSuppressionWithScoreAsync: ((boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?) => Promise<NamedTensorMap>)
                                                    • (boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?): Promise<NamedTensorMap>
                                                    • Parameters

                                                      • boxes: TensorLike | Tensor2D
                                                      • scores: TensorLike | Tensor1D
                                                      • maxOutputSize: number
                                                      • Optional iouThreshold: number
                                                      • Optional scoreThreshold: number
                                                      • Optional softNmsSigma: number

                                                      Returns Promise<NamedTensorMap>

                                                • resizeBilinear: (<T_2>(images, size, alignCorners?, halfPixelCenters?) => T_2)
                                                    • <T_2>(images, size, alignCorners?, halfPixelCenters?): T_2
                                                    • Type Parameters

                                                      • T_2 extends Tensor3D | Tensor4D

                                                      Parameters

                                                      • images: TensorLike | T_2
                                                      • size: [number, number]
                                                      • Optional alignCorners: boolean
                                                      • Optional halfPixelCenters: boolean

                                                      Returns T_2

                                                • resizeNearestNeighbor: (<T_1>(images, size, alignCorners?, halfPixelCenters?) => T_1)
                                                    • <T_1>(images, size, alignCorners?, halfPixelCenters?): T_1
                                                    • Type Parameters

                                                      • T_1 extends Tensor3D | Tensor4D

                                                      Parameters

                                                      • images: TensorLike | T_1
                                                      • size: [number, number]
                                                      • Optional alignCorners: boolean
                                                      • Optional halfPixelCenters: boolean

                                                      Returns T_1

                                                • rgbToGrayscale: (<T_3>(image) => T_3)
                                                    • <T_3>(image): T_3
                                                    • Type Parameters

                                                      • T_3 extends Tensor2D | Tensor3D | Tensor4D | Tensor5D | Tensor6D

                                                      Parameters

                                                      • image: TensorLike | T_3

                                                      Returns T_3

                                                • rotateWithOffset: ((image, radians, fillValue?, center?) => Tensor4D)
                                                    • (image, radians, fillValue?, center?): Tensor4D
                                                    • Parameters

                                                      • image: TensorLike | Tensor4D
                                                      • radians: number
                                                      • Optional fillValue: number | [number, number, number]
                                                      • Optional center: number | [number, number]

                                                      Returns Tensor4D

                                                • threshold: ((image, method?, inverted?, threshValue?) => Tensor3D)
                                                    • (image, method?, inverted?, threshValue?): Tensor3D
                                                    • Parameters

                                                      • image: TensorLike | Tensor3D
                                                      • Optional method: string
                                                      • Optional inverted: boolean
                                                      • Optional threshValue: number

                                                      Returns Tensor3D

                                                • transform: ((image, transforms, interpolation?, fillMode?, fillValue?, outputShape?) => Tensor4D)
                                                    • (image, transforms, interpolation?, fillMode?, fillValue?, outputShape?): Tensor4D
                                                    • Parameters

                                                      • image: TensorLike | Tensor4D
                                                      • transforms: TensorLike | Tensor2D
                                                      • Optional interpolation: "bilinear" | "nearest"
                                                      • Optional fillMode: "reflect" | "nearest" | "constant" | "wrap"
                                                      • Optional fillValue: number
                                                      • Optional outputShape: [number, number]

                                                      Returns Tensor4D

                                                \ No newline at end of file diff --git a/typedoc/variables/tf.version.html b/typedoc/variables/tf.version.html index 42955d7..6c25d28 100644 --- a/typedoc/variables/tf.version.html +++ b/typedoc/variables/tf.version.html @@ -1 +1 @@ -version | @vladmandic/face-api - v1.7.13

                                                Variable versionConst

                                                version: {
                                                    tfjs: string;
                                                    tfjs-backend-cpu: string;
                                                    tfjs-backend-webgl: string;
                                                    tfjs-converter: string;
                                                    tfjs-core: string;
                                                    tfjs-data: string;
                                                    tfjs-layers: string;
                                                }

                                                Type declaration

                                                • tfjs: string
                                                • tfjs-backend-cpu: string
                                                • tfjs-backend-webgl: string
                                                • tfjs-converter: string
                                                • tfjs-core: string
                                                • tfjs-data: string
                                                • tfjs-layers: string
                                                \ No newline at end of file +version | @vladmandic/face-api - v1.7.13

                                                Variable versionConst

                                                version: {
                                                    tfjs: string;
                                                    tfjs-backend-cpu: string;
                                                    tfjs-backend-webgl: string;
                                                    tfjs-converter: string;
                                                    tfjs-core: string;
                                                    tfjs-data: string;
                                                    tfjs-layers: string;
                                                }

                                                Type declaration

                                                • tfjs: string
                                                • tfjs-backend-cpu: string
                                                • tfjs-backend-webgl: string
                                                • tfjs-converter: string
                                                • tfjs-core: string
                                                • tfjs-data: string
                                                • tfjs-layers: string
                                                \ No newline at end of file diff --git a/typedoc/variables/version.html b/typedoc/variables/version.html index 3238d9a..71cd605 100644 --- a/typedoc/variables/version.html +++ b/typedoc/variables/version.html @@ -1 +1 @@ -version | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file +version | @vladmandic/face-api - v1.7.13
                                                \ No newline at end of file